diff --git a/embeddings/ModuleEmbeddings.py b/embeddings/ModuleEmbeddings.py index f8dec771806909e1df4f4c35382b076ee1e991ec..53918f853a2df9522b677e4f3a3b2a9c57787003 100644 --- a/embeddings/ModuleEmbeddings.py +++ b/embeddings/ModuleEmbeddings.py @@ -101,7 +101,7 @@ class ModuleEmbeddingTrainer: model.load_state_dict(torch.load(model_path, map_location=torch.device('cpu'))) # unpickle the module_to_ix - with open(model_path.replace('mod-emb', 'mod_to_ix_mod-emb'), 'rb') as f: + with open(model_path.replace('module-emb', 'mod_to_ix_module-emb'), 'rb') as f: model.module_to_ix = pickle.load(f) return model @@ -128,9 +128,10 @@ class ModuleEmbedding(nn.Module): log_probs = F.log_softmax(out, dim=1) return log_probs - def get_tag_embedding(self, module: str): - assert module in self.module_to_ix, "Tag not in vocabulary!" - assert self.module_to_ix is not None, "Tag to index mapping not set!" + def get_module_embedding(self, module: str): + assert self.module_to_ix is not None, "Module to index mapping not set!" + if module not in self.module_to_ix: + return torch.zeros(self.embedding.weight.shape[1]) return self.embedding.weight[self.module_to_ix[module]] diff --git a/embeddings/Visualize.py b/embeddings/Visualize.py new file mode 100644 index 0000000000000000000000000000000000000000..1678fbcb4d0eb5df6aaebe67afeac6cebd4ab07a --- /dev/null +++ b/embeddings/Visualize.py @@ -0,0 +1,222 @@ +# Original version: https://gist.github.com/mogproject/50668d3ca60188c50e6ef3f5f3ace101 + +from collections import defaultdict +import networkx as nx +import plotly.graph_objects as go +from typing import Any, List, Dict, Tuple, Union, Callable + +Vertex = Any +Edge = Tuple[Vertex, Vertex] +Num = Union[int, float] + + +class GraphVisualization: + def __init__( + self, + G: nx.Graph, + pos: Dict[Vertex, Union[Tuple[Num, Num], Tuple[Num, Num, Num]]], + node_text: Union[Dict[Vertex, str], Callable] = None, + node_text_position: Union[Dict[Vertex, str], Callable, str] = None, + node_text_font_color: Union[Dict[Vertex, str], Callable, str] = None, + node_text_font_family: Union[Dict[Vertex, str], Callable, str] = None, + node_text_font_size: Union[Dict[Vertex, Num], Callable, str] = None, + node_size: Union[Dict[Vertex, Num], Callable, Num] = None, + node_color: Union[Dict[Vertex, Union[str, Num]], Callable, Union[str, Num]] = None, + node_border_width: Union[Dict[Vertex, Num], Callable, Num] = None, + node_border_color: Union[Dict[Vertex, str], Callable, str] = None, + node_opacity: Num = None, + edge_width: Union[Dict[Edge, Num], Callable, Num] = None, + edge_color: Union[Dict[Edge, str], Callable, str] = None, + edge_opacity: Num = None, + ): + # check dimensions + if all(len(pos.get(v, [])) == 2 for v in G): + self.is_3d = False + elif all(len(pos.get(v, [])) == 3 for v in G): + self.is_3d = True + else: + raise ValueError + + # default settings + self.default_settings = dict( + node_text=str, # show node label + node_text_position="middle center", + node_text_font_color='#000000', + node_text_font_family='Arial', + node_text_font_size=14, + node_size=10 if self.is_3d else 18, + node_color='#fcfcfc', + node_border_width=2, + node_border_color='#333333', + node_opacity=0.8, + edge_width=4 if self.is_3d else 2, + edge_color='#808080', + edge_opacity=0.8, + ) + + # save settings + self.G = G + self.pos = pos + self.node_text = node_text + self.node_text_position = node_text_position + self.node_text_font_color = node_text_font_color + self.node_text_font_family = node_text_font_family + self.node_text_font_size = node_text_font_size + self.node_size = node_size + self.node_color = node_color + self.node_border_width = node_border_width + self.node_border_color = node_border_color + self.node_opacity = node_opacity + self.edge_width = edge_width + self.edge_color = edge_color + self.edge_opacity = edge_opacity + + def _get_edge_traces(self) -> List[Union[go.Scatter, go.Scatter3d]]: + # group all edges by (color, width) + groups = defaultdict(list) + + for edge in self.G.edges(): + color = self._get_setting('edge_color', edge) + width = self._get_setting('edge_width', edge) + groups[(color, width)] += [edge] + + # process each group + traces = [] + for (color, width), edges in groups.items(): + x, y, z = [], [], [] + for v, u in edges: + x += [self.pos[v][0], self.pos[u][0], None] + y += [self.pos[v][1], self.pos[u][1], None] + if self.is_3d: + z += [self.pos[v][2], self.pos[u][2], None] + + params = dict( + x=x, + y=y, + mode='lines', + hoverinfo='none', + line=dict(color=color, width=width), + opacity=self._get_setting('edge_opacity'), + ) + + traces += [go.Scatter3d(z=z, **params) if self.is_3d else go.Scatter(**params)] + + return traces + + def _get_node_trace(self, showlabel, colorscale, showscale, colorbar_title, reversescale) -> Union[go.Scatter, go.Scatter3d]: + x, y, z = [], [], [] + for v in self.G.nodes(): + x += [self.pos[v][0]] + y += [self.pos[v][1]] + if self.is_3d: + z += [self.pos[v][2]] + + params = dict( + x=x, + y=y, + mode='markers' + ('+text' if showlabel else ''), + hoverinfo='text', + marker=dict( + showscale=showscale, + colorscale=colorscale, + reversescale=reversescale, + color=self._get_setting('node_color'), + size=self._get_setting('node_size'), + line_width=self._get_setting('node_border_width'), + line_color=self._get_setting('node_border_color'), + colorbar=dict( + thickness=15, + title=colorbar_title, + xanchor='left', + titleside='right' + ), + ), + text=self._get_setting('node_text'), + textfont=dict( + color=self._get_setting('node_text_font_color'), + family=self._get_setting('node_text_font_family'), + size=self._get_setting('node_text_font_size') + ), + textposition=self._get_setting('node_text_position'), + opacity=self._get_setting('node_opacity'), + ) + + trace = go.Scatter3d(z=z, **params) if self.is_3d else go.Scatter(**params) + return trace + + def _get_setting(self, setting_name, edge=None): + default_setting = self.default_settings.get(setting_name) + def_func = default_setting if callable(default_setting) else lambda x: default_setting + setting = self.__dict__.get(setting_name) + + if edge is None: # vertex-specific + if setting is None: # default is used + if callable(default_setting): # default is a function + return [def_func(v) for v in self.G.nodes()] + else: # default is a constant + return default_setting + elif callable(setting): # setting is a function + return [setting(v) for v in self.G.nodes()] + elif isinstance(setting, dict): # setting is a dict + return [setting.get(v, def_func(v)) for v in self.G.nodes()] + else: # setting is a constant + return setting + else: # edge-specific + if setting is None: # default is used + return def_func(edge) + elif callable(setting): # setting is a function + return setting(edge) + elif isinstance(setting, dict): # setting is a dict + return setting.get(edge, def_func(edge)) + else: # setting is a constant + return setting + + def create_figure( + self, + showlabel=True, + colorscale='YlGnBu', + showscale=False, + colorbar_title='', + reversescale=False, + **params + ) -> go.Figure: + axis_settings = dict( + autorange=True, + showgrid=False, + zeroline=False, + showline=False, + visible=False, + ticks='', + showticklabels=False, + ) + scene = dict( + xaxis=axis_settings, + yaxis=axis_settings, + zaxis=axis_settings, + ) + + layout_params = dict( + paper_bgcolor='rgba(255,255,255,255)', # white + plot_bgcolor='rgba(0,0,0,0)', # transparent + autosize=False, + height=400, + width=450 if showscale else 375, + title='', + titlefont_size=16, + showlegend=False, + hovermode='closest', + margin=dict(b=5, l=0, r=0, t=20), + annotations=[], + xaxis=axis_settings, + yaxis=axis_settings, + scene=scene, + ) + + # override with the given parameters + layout_params.update(params) + + # create figure + fig = go.Figure(layout=go.Layout(**layout_params)) + fig.add_traces(self._get_edge_traces()) + fig.add_trace(self._get_node_trace(showlabel, colorscale, showscale, colorbar_title, reversescale)) + return fig diff --git a/embeddings/__pycache__/ModuleEmbeddings.cpython-38.pyc b/embeddings/__pycache__/ModuleEmbeddings.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..91b931008672a282f177d8ab34106df91f7ce73e Binary files /dev/null and b/embeddings/__pycache__/ModuleEmbeddings.cpython-38.pyc differ diff --git a/embeddings/__pycache__/Visualize.cpython-38.pyc b/embeddings/__pycache__/Visualize.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..6bb283018781805357e628992f5b9886cac816f0 Binary files /dev/null and b/embeddings/__pycache__/Visualize.cpython-38.pyc differ diff --git a/embeddings/__pycache__/dataset.cpython-38.pyc b/embeddings/__pycache__/dataset.cpython-38.pyc index a6459c8c7b7eddb6d7c7d41d4c0fe8c1c770aece..05d3eee3ff36256b85b90bfb9541b5349d0b6872 100644 Binary files a/embeddings/__pycache__/dataset.cpython-38.pyc and b/embeddings/__pycache__/dataset.cpython-38.pyc differ diff --git a/embeddings/__pycache__/static_graph_construction.cpython-38.pyc b/embeddings/__pycache__/static_graph_construction.cpython-38.pyc index bec59c5069360c27e86c82750a2ff8b3ffcb8fa4..25ddf94535803d6606156bd35f630605d2bf1fbe 100644 Binary files a/embeddings/__pycache__/static_graph_construction.cpython-38.pyc and b/embeddings/__pycache__/static_graph_construction.cpython-38.pyc differ diff --git a/embeddings/dataset.py b/embeddings/dataset.py index 8d6a3cccf18e1c417ef48502195f30cb3a88a8f2..319af3ea3f12a3cae30ee59ca39c13bcb09c910b 100644 --- a/embeddings/dataset.py +++ b/embeddings/dataset.py @@ -3,13 +3,14 @@ import os.path import pickle import re import sqlite3 -from typing import List +from typing import List, Any, Optional import time import pandas as pd import torch from bs4 import MarkupResemblesLocatorWarning from torch_geometric.data import Dataset, download_url, Data, HeteroData +from torch_geometric.data.hetero_data import NodeOrEdgeStorage from tqdm import tqdm import warnings warnings.filterwarnings('ignore', category=MarkupResemblesLocatorWarning) @@ -18,7 +19,7 @@ from post_embedding_builder import PostEmbedding from static_graph_construction import StaticGraphConstruction logging.basicConfig() -logging.getLogger().setLevel(logging.DEBUG) +logging.getLogger().setLevel(logging.INFO) log = logging.getLogger("dataset") @@ -148,6 +149,7 @@ class UserGraphDataset(Dataset): file_name = [filename for filename in os.listdir('../data/processed/') if filename.startswith(f"data_{idx}")] if len(file_name): data = torch.load(os.path.join(self.processed_dir, file_name[0])) + return data else: raise Exception(f"Data with index {idx} not found.") @@ -230,10 +232,12 @@ if __name__ == '__main__': ''' - ds = UserGraphDataset('../data/', db_address='../stackoverflow.db', skip_processing=True) + ds = UserGraphDataset('../data/', db_address='../stackoverflow.db', skip_processing=False) data = ds.get(1078) print("Question ndim:", data.x_dict['question'].shape) print("Answer ndim:", data.x_dict['answer'].shape) print("Comment ndim:", data.x_dict['comment'].shape) print("Tag ndim:", data.x_dict['tag'].shape) print("Module ndim:", data.x_dict['module'].shape) + print("Question:", data.question_emb.shape) + print("Answer:", data.answer_emb.shape) diff --git a/embeddings/hetero_GAT.py b/embeddings/hetero_GAT.py index f1b87be62741286e0ddeb1b96a276236b2bb7526..55047e8ee77d4a9a9ece90f090c172a6c1cad733 100644 --- a/embeddings/hetero_GAT.py +++ b/embeddings/hetero_GAT.py @@ -1,11 +1,19 @@ +import json import logging +import string +import time +import networkx as nx +import plotly import torch from sklearn.metrics import f1_score, accuracy_score from torch_geometric.loader import DataLoader from torch_geometric.nn import HeteroConv, GATConv, Linear, global_mean_pool +import wandb +from torch_geometric.utils import to_networkx from dataset import UserGraphDataset +from Visualize import GraphVisualization logging.basicConfig() logging.getLogger().setLevel(logging.INFO) @@ -35,7 +43,8 @@ class HeteroGNN(torch.nn.Module): self.softmax = torch.nn.Softmax(dim=-1) - def forward(self, x_dict, edge_index_dict, batch_dict, post_emb=2): + def forward(self, x_dict, edge_index_dict, batch_dict, post_emb): + #print("IN", post_emb.shape) for conv in self.convs: x_dict = conv(x_dict, edge_index_dict) x_dict = {key: x.relu() for key, x in x_dict.items()} @@ -43,11 +52,17 @@ class HeteroGNN(torch.nn.Module): outs = [] for x, batch in zip(x_dict.values(), batch_dict.values()): if len(x): - outs.append(global_mean_pool(x, batch)) + outs.append(global_mean_pool(x, batch=batch, size=len(post_emb))) else: + #print("EMPTY") outs.append(torch.zeros(1, x.size(-1))) - out = torch.cat(outs, dim=-1) - out = torch.cat([torch.squeeze(out), post_emb], dim=-1) + + #print([x.shape for x in outs]) + out = torch.cat(outs, dim=1) + + out = torch.cat([out, post_emb], dim=1) + + #print("B4 LINEAR", out.shape) out = self.lin(out) out = out.relu() out = self.softmax(out) @@ -56,40 +71,122 @@ class HeteroGNN(torch.nn.Module): def train(model, train_loader): - model.train() + running_loss = 0.0 - for data in train_loader: # Iterate in batches over the training dataset. - print(data) + model.train() + for i, data in enumerate(train_loader): # Iterate in batches over the training dataset. + #print(data) data = data.to(device) - out = model(data.x_dict, data.edge_index_dict, data.batch_dict, torch.concat([data.question_emb, data.answer_emb])) # Perform a single forward pass. - loss = criterion(torch.unsqueeze(out,0), data.label) # Compute the loss. + + optimizer.zero_grad() # Clear gradients. + #print("DATA IN", data.question_emb.shape, data.answer_emb.shape) + post_emb = torch.cat([data.question_emb, data.answer_emb], dim=1) + out = model(data.x_dict, data.edge_index_dict, data.batch_dict, post_emb) # Perform a single forward pass. + + loss = criterion(out, torch.squeeze(data.label, -1)) # Compute the loss. loss.backward() # Derive gradients. optimizer.step() # Update parameters based on gradients. - optimizer.zero_grad() # Clear gradients. + + running_loss += loss.item() + if i % 5 == 0: + log.info(f"[{i+1}] Loss: {running_loss / 2000}") + running_loss = 0.0 + def test(loader): + table = wandb.Table(columns=["graph", "ground_truth", "prediction"]) if use_wandb else None + model.eval() + predictions = [] true_labels = [] - model.eval() + loss_ = 0 + for data in loader: # Iterate in batches over the training/test dataset. data = data.to(device) - out = model(data.x_dict, data.edge_index_dict, data.batch_dict, torch.concat([data.question_emb, data.answer_emb])) - pred = torch.unsqueeze(out,0).argmax(dim=1) # Use the class with highest probability. - predictions.append(pred.item()) - true_labels.append(data.label.item()) - return accuracy_score(true_labels, predictions), f1_score(true_labels, predictions) # Derive ratio of correct predictions. + post_emb = torch.cat([data.question_emb, data.answer_emb], dim=1).to(device) + out = model(data.x_dict, data.edge_index_dict, data.batch_dict, post_emb) # Perform a single forward pass. + + loss = criterion(out, torch.squeeze(data.label, -1)) # Compute the loss. + loss_ += loss.item() + pred = out.argmax(dim=1) # Use the class with highest probability. + predictions += list([x.item() for x in pred]) + true_labels += list([x.item() for x in data.label]) + + if use_wandb: + print("PRED", pred, data.label) + for pred, label in zip(pred, torch.squeeze(data.label, -1)): + table.add_data(wandb.Html(plotly.io.to_html(create_graph_vis(data))), label, pred) + + #print("PRED", predictions, true_labels) + return accuracy_score(true_labels, predictions), f1_score(true_labels, predictions), loss_ / len(loader), table + +def create_graph_vis(graph): + g = to_networkx(graph.to_homogeneous()) + pos = nx.spring_layout(g) + vis = GraphVisualization( + g, pos, node_text_position='top left', node_size=20, + ) + fig = vis.create_figure() + return fig + +def init_wandb(project_name: str, run_name: str, dataset): + wandb.init(project=project_name, name=run_name) + # Log all the details about the data to W&B. + wandb.log(data_details) + + # Log exploratory visualizations for each data point to W&B + table = wandb.Table(columns=["Graph", "Number of Nodes", "Number of Edges", "Label"]) + for graph in dataset: + fig = create_graph_vis(graph) + n_nodes = graph.num_nodes + n_edges = graph.num_edges + label = graph.label.item() + + graph_vis = plotly.io.to_html(fig, full_html=False) + + table.add_data(graph_vis, n_nodes, n_edges, label) + wandb.log({"data": table}) + + # Log the dataset to W&B as an artifact. + dataset_artifact = wandb.Artifact(name="static-graphs", type="dataset", metadata=data_details) + dataset_artifact.add_dir("../data/") + wandb.log_artifact(dataset_artifact) + + # End the W&B run + wandb.finish() + +def start_wandb_for_training(wandb_project_name: str): + wandb.init(project=wandb_project_name) + wandb.use_artifact("static-graphs:latest") if __name__ == '__main__': device = torch.device("cuda" if torch.cuda.is_available() else "cpu") log.info(f"Proceeding with {device} . .") + # Datasets dataset = UserGraphDataset(root="../data", skip_processing=True) train_dataset, val_dataset, test_dataset = torch.utils.data.random_split(dataset, [0.6, 0.1, 0.3]) + # Weights&Biases dashboard + data_details = { + "num_node_features": dataset.num_node_features, + "num_classes": 2 + } + log.info(f"Data Details:\n{data_details}") + + setup_wandb = False + wandb_project_name = "heterogeneous-GAT-model" + wandb_run_name = f"run@{time.strftime('%Y%m%d-%H%M%S')}" + if setup_wandb: + init_wandb(wandb_project_name, wandb_run_name, dataset) + use_wandb = True + if use_wandb: + start_wandb_for_training(wandb_project_name) + # Class weights train_labels = [x.label for x in train_dataset] counts = [train_labels.count(x) for x in [0,1]] @@ -97,7 +194,7 @@ if __name__ == '__main__': sampler = torch.utils.data.WeightedRandomSampler([class_weights[x] for x in train_labels], len(train_labels)) # Dataloaders - train_loader = DataLoader(train_dataset, sampler=sampler, batch_size=1) + train_loader = DataLoader(train_dataset, sampler=None, batch_size=16) val_loader = DataLoader(val_dataset, batch_size=1) test_loader = DataLoader(test_dataset, batch_size=1) @@ -105,12 +202,39 @@ if __name__ == '__main__': model = HeteroGNN(hidden_channels=64, out_channels=2, num_layers=3) model.to(device) - - optimizer = torch.optim.Adam(model.parameters(), lr=0.01) + optimizer = torch.optim.Adam(model.parameters(), lr=0.001) criterion = torch.nn.CrossEntropyLoss() for epoch in range(1, 10): train(model, train_loader) - train_acc, train_f1 = test(train_loader) - val_acc, val_f1 = test(val_loader) + train_acc, train_f1, train_loss, train_table = test(train_loader) + val_acc, val_f1, val_loss, val_table = test(val_loader) + test_acc, test_f1, test_loss, test_table = test(test_loader) + print(f'Epoch: {epoch:03d}, Train F1: {train_f1:.4f}, Validation F1: {val_f1:.4f}') + if use_wandb: + wandb.log({ + "train/loss": train_loss, + "train/accuracy": train_acc, + "train/f1": train_f1, + "train/table": train_table, + "val/loss": val_loss, + "val/accuracy": val_acc, + "val/f1": val_f1, + "val/table": val_table, + "test/loss": test_loss, + "test/accuracy": test_acc, + "test/f1": test_f1, + "test/table": test_table, + }) + # Log model checkpoint as an artifact to W&B + artifact = wandb.Artifact(name="heterogenous-GAT-static-graphs", type="model") + checkpoint_file_name = f"../models/model-{epoch}.pt" + torch.save(model.state_dict(), checkpoint_file_name) + artifact.add_file(checkpoint_file_name) + wandb.log_artifact(artifact) + + print(f'Test F1: {test_f1:.4f}') + + if use_wandb: + wandb.finish() diff --git a/embeddings/static_graph_construction.py b/embeddings/static_graph_construction.py index e8c37fa134d15b1761ffbf8ae7a8f825ce330845..e8e9f3baf6e6b3ef13b6154a7956e6b9fcbfd958 100644 --- a/embeddings/static_graph_construction.py +++ b/embeddings/static_graph_construction.py @@ -1,6 +1,9 @@ -from typing import List +from typing import List, Any, Optional import logging +from torch_geometric.data.hetero_data import NodeOrEdgeStorage + +from ModuleEmbeddings import ModuleEmbeddingTrainer from NextTagEmbedding import NextTagEmbeddingTrainer logging.basicConfig() @@ -15,16 +18,27 @@ from post_embedding_builder import Import, PostEmbedding import torch_geometric.transforms as T +class BatchedHeteroData(HeteroData): + + def __cat_dim__(self, key: str, value: Any, + store: Optional[NodeOrEdgeStorage] = None, *args, + **kwargs): + + if key in ['question_emb', 'answer_emb', 'label']: + return None + return super().__cat_dim__(key, value) + class StaticGraphConstruction: # PostEmbedding is costly to instantiate in each StaticGraphConstruction instance. post_embedding_builder = PostEmbedding() tag_embedding_model = NextTagEmbeddingTrainer.load_model("../models/tag-emb-7_5mil-50d-63653-3.pt", embedding_dim=50, vocab_size=63654, context_length=3) + module_embedding_model = ModuleEmbeddingTrainer.load_model("../models/module-emb-1milx5-30d-49911.pt", embedding_dim=30, vocab_size=49911) def __init__(self): self._known_tags = {} # tag_name -> index self._known_modules = {} # module_name -> index - self._data = HeteroData() + self._data = BatchedHeteroData() self._first_n_tags = 3 self._tag_to_question_edges = [] @@ -116,13 +130,13 @@ class StaticGraphConstruction: if not len(self._known_tags): return None for tag in self._known_tags: - yield self.tag_embedding_model.get_tag_embedding(tag) + yield StaticGraphConstruction.tag_embedding_model.get_tag_embedding(tag) def process_modules(self): if not len(self._known_modules): return None for module in self._known_modules: # TODO: Map module name to its embedding - yield torch.rand(110) + yield StaticGraphConstruction.module_embedding_model.get_module_embedding(module) """ Utility functions @@ -163,9 +177,9 @@ class StaticGraphConstruction: self._data['comment'].x = torch.stack(comment_nodes) if len(comment_nodes) else torch.empty(0, 768) - self._data['tag'].x = torch.stack(tag_nodes) if len(tag_nodes) else torch.empty(0, 90) + self._data['tag'].x = torch.stack(tag_nodes) if len(tag_nodes) else torch.empty(0, 50) - self._data['module'].x = torch.stack(module_nodes) if len(module_nodes) else torch.empty(0, 110) + self._data['module'].x = torch.stack(module_nodes) if len(module_nodes) else torch.empty(0, 30) # Assign edge indexes self._data['tag', 'describes', 'question'].edge_index = torch.tensor(self._tag_to_question_edges).t().contiguous() if len(self._tag_to_question_edges) else torch.empty(2,0, dtype=torch.long) diff --git a/embeddings/training_set_builder.ipynb b/embeddings/training_set_builder.ipynb index b9c124f4e460415d706d436371f9941712edd4d5..79dc96d4958dd987ba1f269142205027dbef2481 100644 --- a/embeddings/training_set_builder.ipynb +++ b/embeddings/training_set_builder.ipynb @@ -25,7 +25,7 @@ "execution_count": 2, "outputs": [], "source": [ - "QUESTIONS_RETREIVED = 200" + "QUESTIONS_RETREIVED = 10000" ], "metadata": { "collapsed": false @@ -37,8 +37,8 @@ "outputs": [ { "data": { - "text/plain": " post_id question_body \\\n0 337 <p>I am about to build a piece of a project th... \n1 469 <p>I am using the Photoshop's javascript API t... \n2 502 <p>I have a cross-platform (Python) applicatio... \n3 535 <p>I am starting to work on a hobby project wi... \n4 594 <p>There are several ways to iterate over a re... \n.. ... ... \n195 68774 <p>I want to open a TCP client socket in Pytho... \n196 69645 <p>I want to take a screenshot via a python sc... \n197 70528 <p>Python gives us the ability to create 'priv... \n198 70577 <p>I am new to any scripting language. But, St... \n199 70797 <p>How do I have a Python script that a) can a... \n\n question_title question_user_id \n0 XML Processing in Python 111.0 \n1 How can I find the full path to a font from it... 147.0 \n2 Get a preview JPEG of a PDF on Windows? 147.0 \n3 Continuous Integration System for a Python Cod... 154.0 \n4 cx_Oracle: How do I iterate over a result set? 116.0 \n.. ... ... \n195 Best way to open a socket in Python 5324.0 \n196 Take a screenshot via a Python script on Linux 1724701.0 \n197 Why are Python's 'private' methods not actuall... 1943957.0 \n198 Best online resource to learn Python? 11372.0 \n199 How to prompt for user input and read command-... 1384652.0 \n\n[200 rows x 4 columns]", - "text/html": "<div>\n<style scoped>\n .dataframe tbody tr th:only-of-type {\n vertical-align: middle;\n }\n\n .dataframe tbody tr th {\n vertical-align: top;\n }\n\n .dataframe thead th {\n text-align: right;\n }\n</style>\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>post_id</th>\n <th>question_body</th>\n <th>question_title</th>\n <th>question_user_id</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>0</th>\n <td>337</td>\n <td><p>I am about to build a piece of a project th...</td>\n <td>XML Processing in Python</td>\n <td>111.0</td>\n </tr>\n <tr>\n <th>1</th>\n <td>469</td>\n <td><p>I am using the Photoshop's javascript API t...</td>\n <td>How can I find the full path to a font from it...</td>\n <td>147.0</td>\n </tr>\n <tr>\n <th>2</th>\n <td>502</td>\n <td><p>I have a cross-platform (Python) applicatio...</td>\n <td>Get a preview JPEG of a PDF on Windows?</td>\n <td>147.0</td>\n </tr>\n <tr>\n <th>3</th>\n <td>535</td>\n <td><p>I am starting to work on a hobby project wi...</td>\n <td>Continuous Integration System for a Python Cod...</td>\n <td>154.0</td>\n </tr>\n <tr>\n <th>4</th>\n <td>594</td>\n <td><p>There are several ways to iterate over a re...</td>\n <td>cx_Oracle: How do I iterate over a result set?</td>\n <td>116.0</td>\n </tr>\n <tr>\n <th>...</th>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n </tr>\n <tr>\n <th>195</th>\n <td>68774</td>\n <td><p>I want to open a TCP client socket in Pytho...</td>\n <td>Best way to open a socket in Python</td>\n <td>5324.0</td>\n </tr>\n <tr>\n <th>196</th>\n <td>69645</td>\n <td><p>I want to take a screenshot via a python sc...</td>\n <td>Take a screenshot via a Python script on Linux</td>\n <td>1724701.0</td>\n </tr>\n <tr>\n <th>197</th>\n <td>70528</td>\n <td><p>Python gives us the ability to create 'priv...</td>\n <td>Why are Python's 'private' methods not actuall...</td>\n <td>1943957.0</td>\n </tr>\n <tr>\n <th>198</th>\n <td>70577</td>\n <td><p>I am new to any scripting language. But, St...</td>\n <td>Best online resource to learn Python?</td>\n <td>11372.0</td>\n </tr>\n <tr>\n <th>199</th>\n <td>70797</td>\n <td><p>How do I have a Python script that a) can a...</td>\n <td>How to prompt for user input and read command-...</td>\n <td>1384652.0</td>\n </tr>\n </tbody>\n</table>\n<p>200 rows × 4 columns</p>\n</div>" + "text/plain": " post_id question_body \\\n0 337 <p>I am about to build a piece of a project th... \n1 469 <p>I am using the Photoshop's javascript API t... \n2 502 <p>I have a cross-platform (Python) applicatio... \n3 535 <p>I am starting to work on a hobby project wi... \n4 594 <p>There are several ways to iterate over a re... \n... ... ... \n9995 3483718 <p>Today I have come across a surprising defin... \n9996 3483723 <p>I was wondering if anyone can explain why a... \n9997 3484019 <p>Given a python class <code>class Student():... \n9998 3484149 <p>I am trying to output the first 255 charact... \n9999 3484293 <p>I've been trying to make a <code>dict</code... \n\n question_title question_user_id \n0 XML Processing in Python 111.0 \n1 How can I find the full path to a font from it... 147.0 \n2 Get a preview JPEG of a PDF on Windows? 147.0 \n3 Continuous Integration System for a Python Cod... 154.0 \n4 cx_Oracle: How do I iterate over a result set? 116.0 \n... ... ... \n9995 When to inline definitions of metaclass in Pyt... 336455.0 \n9996 Python interactive mode history and arrow keys 71809.0 \n9997 Python list to store class instance? 413897.0 \n9998 Limit number of characters with Django Templat... 206506.0 \n9999 Is there a description of how __cmp__ works fo... 420501.0 \n\n[10000 rows x 4 columns]", + "text/html": "<div>\n<style scoped>\n .dataframe tbody tr th:only-of-type {\n vertical-align: middle;\n }\n\n .dataframe tbody tr th {\n vertical-align: top;\n }\n\n .dataframe thead th {\n text-align: right;\n }\n</style>\n<table border=\"1\" class=\"dataframe\">\n <thead>\n <tr style=\"text-align: right;\">\n <th></th>\n <th>post_id</th>\n <th>question_body</th>\n <th>question_title</th>\n <th>question_user_id</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>0</th>\n <td>337</td>\n <td><p>I am about to build a piece of a project th...</td>\n <td>XML Processing in Python</td>\n <td>111.0</td>\n </tr>\n <tr>\n <th>1</th>\n <td>469</td>\n <td><p>I am using the Photoshop's javascript API t...</td>\n <td>How can I find the full path to a font from it...</td>\n <td>147.0</td>\n </tr>\n <tr>\n <th>2</th>\n <td>502</td>\n <td><p>I have a cross-platform (Python) applicatio...</td>\n <td>Get a preview JPEG of a PDF on Windows?</td>\n <td>147.0</td>\n </tr>\n <tr>\n <th>3</th>\n <td>535</td>\n <td><p>I am starting to work on a hobby project wi...</td>\n <td>Continuous Integration System for a Python Cod...</td>\n <td>154.0</td>\n </tr>\n <tr>\n <th>4</th>\n <td>594</td>\n <td><p>There are several ways to iterate over a re...</td>\n <td>cx_Oracle: How do I iterate over a result set?</td>\n <td>116.0</td>\n </tr>\n <tr>\n <th>...</th>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n <td>...</td>\n </tr>\n <tr>\n <th>9995</th>\n <td>3483718</td>\n <td><p>Today I have come across a surprising defin...</td>\n <td>When to inline definitions of metaclass in Pyt...</td>\n <td>336455.0</td>\n </tr>\n <tr>\n <th>9996</th>\n <td>3483723</td>\n <td><p>I was wondering if anyone can explain why a...</td>\n <td>Python interactive mode history and arrow keys</td>\n <td>71809.0</td>\n </tr>\n <tr>\n <th>9997</th>\n <td>3484019</td>\n <td><p>Given a python class <code>class Student():...</td>\n <td>Python list to store class instance?</td>\n <td>413897.0</td>\n </tr>\n <tr>\n <th>9998</th>\n <td>3484149</td>\n <td><p>I am trying to output the first 255 charact...</td>\n <td>Limit number of characters with Django Templat...</td>\n <td>206506.0</td>\n </tr>\n <tr>\n <th>9999</th>\n <td>3484293</td>\n <td><p>I've been trying to make a <code>dict</code...</td>\n <td>Is there a description of how __cmp__ works fo...</td>\n <td>420501.0</td>\n </tr>\n </tbody>\n</table>\n<p>10000 rows × 4 columns</p>\n</div>" }, "execution_count": 3, "metadata": {}, diff --git a/embeddings/wandb/debug-cli.liamb.log b/embeddings/wandb/debug-cli.liamb.log new file mode 100644 index 0000000000000000000000000000000000000000..32fa24fc15ebbf2e9c4c3de0d7db6829ce29c63d --- /dev/null +++ b/embeddings/wandb/debug-cli.liamb.log @@ -0,0 +1,170 @@ +2023-02-24 12:26:07 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:26:07 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:26:07 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:26:07 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:26:07 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:26:07 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:26:07 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:26:07 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:26:07 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:26:07 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:26:08 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:26:08 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:26:08 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:26:08 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:26:08 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:26:08 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:26:08 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:26:08 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:26:08 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:26:08 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:26:08 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:26:08 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:26:08 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:26:08 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:26:08 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:26:09 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:26:09 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:26:09 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:26:09 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:26:09 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:26:09 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:26:10 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:35:29 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:35:29 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:35:29 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:35:29 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:35:29 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:35:29 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:35:29 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:35:29 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:35:29 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:35:29 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:35:29 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:35:29 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:35:29 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:35:29 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:35:29 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:35:29 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:35:29 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:35:29 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:35:29 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:35:29 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:35:29 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:35:29 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:35:29 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:35:29 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:35:29 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:35:29 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:35:29 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:35:29 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:35:30 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:35:30 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:35:30 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:35:30 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:35:30 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:35:30 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:35:30 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:35:30 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:35:33 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:35:33 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:35:33 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:35:33 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:35:33 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:35:33 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:35:33 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:35:33 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:35:33 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:35:33 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:35:33 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:35:33 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:35:33 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:35:33 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:35:33 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:35:33 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:35:33 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:35:33 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:35:33 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:35:33 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:35:33 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:35:33 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:35:33 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:35:33 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:35:33 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:35:33 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:35:33 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:35:33 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:35:33 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:35:33 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:35:33 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:35:33 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:35:41 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:36:52 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:36:52 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:36:52 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:36:52 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:36:52 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:36:53 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:36:53 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:36:53 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:36:53 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:36:53 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:36:53 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:36:53 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:36:53 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:36:53 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:36:53 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:36:53 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:36:53 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:36:53 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:36:53 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:36:53 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:36:53 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:36:53 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:36:53 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:36:53 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:36:53 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:36:53 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:36:53 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:36:53 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:36:53 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:36:53 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:36:53 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:36:53 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:36:54 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:36:54 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:36:54 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 12:36:54 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 16:37:32 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 16:37:32 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 16:37:32 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 16:37:32 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 16:37:32 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 16:37:32 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 16:37:32 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 16:37:32 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 16:37:32 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 16:37:32 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 16:37:32 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 16:37:32 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 16:37:32 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 16:37:32 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 16:37:32 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 16:37:32 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 16:37:32 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 16:37:32 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 16:37:32 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 16:37:32 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 16:37:32 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 16:37:32 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 16:37:32 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 16:37:32 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 16:37:32 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 16:37:32 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 16:37:32 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 16:37:32 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 16:37:32 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 16:37:32 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 16:37:32 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 16:37:32 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 +2023-02-24 16:37:40 WARNING Connection pool is full, discarding connection: storage.googleapis.com. Connection pool size: 10 diff --git a/embeddings/wandb/run-20230224_113041-0mj5jj8w/files/config.yaml b/embeddings/wandb/run-20230224_113041-0mj5jj8w/files/config.yaml new file mode 100644 index 0000000000000000000000000000000000000000..4dd72c16bd1cba17aaec63d249c1d4f8c5895702 --- /dev/null +++ b/embeddings/wandb/run-20230224_113041-0mj5jj8w/files/config.yaml @@ -0,0 +1,40 @@ +wandb_version: 1 + +_wandb: + desc: null + value: + cli_version: 0.13.10 + framework: huggingface + huggingface_version: 4.24.0 + is_jupyter_run: false + is_kaggle_kernel: false + python_version: 3.8.1 + start_time: 1677238241.509167 + t: + 1: + - 1 + - 5 + - 11 + - 33 + - 49 + - 53 + - 55 + - 77 + 2: + - 1 + - 5 + - 11 + - 33 + - 49 + - 53 + - 55 + - 77 + 3: + - 13 + - 23 + 4: 3.8.1 + 5: 0.13.10 + 6: 4.24.0 + 8: + - 3 + - 5 diff --git a/embeddings/wandb/run-20230224_113041-0mj5jj8w/files/output.log b/embeddings/wandb/run-20230224_113041-0mj5jj8w/files/output.log new file mode 100644 index 0000000000000000000000000000000000000000..4bb3f930ff0385a117f51804f3fb3961466b8793 --- /dev/null +++ b/embeddings/wandb/run-20230224_113041-0mj5jj8w/files/output.log @@ -0,0 +1,24 @@ +Traceback (most recent call last): + File "C:\Users\liamb\Documents\graph4stackoverflow\embeddings\hetero_GAT.py", line 138, in <module> + wandb.log(data_details) # 🪄🐝 + File "C:\Users\liamb\Documents\graph4stackoverflow\venv\lib\site-packages\wandb\sdk\wandb_run.py", line 371, in wrapper + return func(self, *args, **kwargs) + File "C:\Users\liamb\Documents\graph4stackoverflow\venv\lib\site-packages\wandb\sdk\wandb_run.py", line 334, in wrapper + return func(self, *args, **kwargs) + File "C:\Users\liamb\Documents\graph4stackoverflow\venv\lib\site-packages\wandb\sdk\wandb_run.py", line 1713, in log + self._log(data=data, step=step, commit=commit) + File "C:\Users\liamb\Documents\graph4stackoverflow\venv\lib\site-packages\wandb\sdk\wandb_run.py", line 1495, in _log + self._partial_history_callback(data, step, commit) + File "C:\Users\liamb\Documents\graph4stackoverflow\venv\lib\site-packages\wandb\sdk\wandb_run.py", line 1365, in _partial_history_callback + self._backend.interface.publish_partial_history( + File "C:\Users\liamb\Documents\graph4stackoverflow\venv\lib\site-packages\wandb\sdk\interface\interface.py", line 580, in publish_partial_history + item.value_json = json_dumps_safer_history(v) + File "C:\Users\liamb\Documents\graph4stackoverflow\venv\lib\site-packages\wandb\util.py", line 953, in json_dumps_safer_history + return json.dumps(obj, cls=WandBHistoryJSONEncoder, **kwargs) + File "C:\Users\liamb\AppData\Local\Programs\Python\Python38\lib\json\__init__.py", line 234, in dumps + return cls( + File "C:\Users\liamb\AppData\Local\Programs\Python\Python38\lib\json\encoder.py", line 199, in encode + chunks = self.iterencode(o, _one_shot=True) + File "C:\Users\liamb\AppData\Local\Programs\Python\Python38\lib\json\encoder.py", line 257, in iterencode + return _iterencode(o, 0) +TypeError: keys must be str, int, float, bool or None, not tuple \ No newline at end of file diff --git a/embeddings/wandb/run-20230224_113041-0mj5jj8w/files/requirements.txt b/embeddings/wandb/run-20230224_113041-0mj5jj8w/files/requirements.txt new file mode 100644 index 0000000000000000000000000000000000000000..d7de821539624662109e252a91c4907a963ad5fb --- /dev/null +++ b/embeddings/wandb/run-20230224_113041-0mj5jj8w/files/requirements.txt @@ -0,0 +1,170 @@ +absl-py==1.3.0 +anyio==3.6.2 +appdirs==1.4.4 +argon2-cffi-bindings==21.2.0 +argon2-cffi==21.3.0 +asttokens==2.1.0 +astunparse==1.6.3 +attrs==22.1.0 +backcall==0.2.0 +beautifulsoup4==4.11.1 +bleach==5.0.1 +blis==0.7.9 +bs4==0.0.1 +cachetools==5.2.0 +catalogue==2.0.8 +certifi==2022.9.24 +cffi==1.15.1 +charset-normalizer==2.1.1 +click==8.1.3 +colorama==0.4.6 +confection==0.0.3 +contourpy==1.0.6 +cycler==0.11.0 +cymem==2.0.7 +debugpy==1.6.3 +decorator==5.1.1 +defusedxml==0.7.1 +dgl==0.9.1 +docker-pycreds==0.4.0 +en-core-web-sm==3.4.1 +entrypoints==0.4 +executing==1.2.0 +fastjsonschema==2.16.2 +filelock==3.8.0 +fonttools==4.38.0 +gitdb==4.0.10 +gitpython==3.1.31 +google-auth-oauthlib==0.4.6 +google-auth==2.14.0 +graph4nlp==0.5.5 +grpcio==1.50.0 +huggingface-hub==0.10.1 +idna==3.4 +importlib-metadata==5.0.0 +importlib-resources==5.10.0 +ipykernel==6.16.2 +ipython-genutils==0.2.0 +ipython==8.6.0 +ipywidgets==8.0.2 +jedi==0.18.1 +jinja2==3.1.2 +joblib==1.2.0 +jsonschema==4.16.0 +jupyter-client==7.4.4 +jupyter-console==6.4.4 +jupyter-core==4.11.2 +jupyter-server==1.21.0 +jupyter==1.0.0 +jupyterlab-pygments==0.2.2 +jupyterlab-widgets==3.0.3 +kiwisolver==1.4.4 +langcodes==3.3.0 +littleutils==0.2.2 +lxml==4.9.1 +markdown==3.4.1 +markupsafe==2.1.1 +matplotlib-inline==0.1.6 +matplotlib==3.6.2 +mistune==2.0.4 +murmurhash==1.0.9 +nbclassic==0.4.7 +nbclient==0.7.0 +nbconvert==7.2.3 +nbformat==5.7.0 +nest-asyncio==1.5.6 +networkx==2.8.8 +nltk==3.7 +notebook-shim==0.2.0 +notebook==6.5.2 +numpy==1.23.5 +oauthlib==3.2.2 +ogb==1.3.5 +outdated==0.2.2 +packaging==21.3 +pandas==1.5.1 +pandocfilters==1.5.0 +parso==0.8.3 +pathtools==0.1.2 +pathy==0.6.2 +pickleshare==0.7.5 +pillow==9.3.0 +pip==21.3.1 +pkgutil-resolve-name==1.3.10 +plotly==5.13.0 +preshed==3.0.8 +prometheus-client==0.15.0 +prompt-toolkit==3.0.31 +protobuf==3.19.6 +psutil==5.9.3 +pure-eval==0.2.2 +pyasn1-modules==0.2.8 +pyasn1==0.4.8 +pycparser==2.21 +pydantic==1.10.2 +pygments==2.13.0 +pyparsing==3.0.9 +pyrsistent==0.18.1 +python-dateutil==2.8.2 +pythonds==1.2.1 +pytz==2022.5 +pywin32==304 +pywinpty==2.0.9 +pyyaml==6.0 +pyzmq==24.0.1 +qtconsole==5.3.2 +qtpy==2.2.1 +regex==2022.10.31 +requests-oauthlib==1.3.1 +requests==2.28.1 +rsa==4.9 +scikit-learn==1.1.3 +scipy==1.9.3 +send2trash==1.8.0 +sentry-sdk==1.15.0 +setproctitle==1.3.2 +setuptools==60.2.0 +six==1.16.0 +smart-open==5.2.1 +smmap==5.0.0 +sniffio==1.3.0 +soupsieve==2.3.2.post1 +spacy-legacy==3.0.10 +spacy-loggers==1.0.3 +spacy==3.4.2 +srsly==2.4.5 +stack-data==0.6.0 +stanfordcorenlp==3.9.1.1 +tenacity==8.2.1 +tensorboard-data-server==0.6.1 +tensorboard-plugin-wit==1.8.1 +tensorboard==2.10.1 +terminado==0.17.0 +thinc==8.1.5 +threadpoolctl==3.1.0 +tinycss2==1.2.1 +tokenizers==0.13.2 +torch-cluster==1.6.0+pt113cpu +torch-geometric==2.2.0 +torch-scatter==2.1.0+pt113cpu +torch-sparse==0.6.16+pt113cpu +torch-spline-conv==1.2.1+pt113cpu +torch==1.13.0 +torchsummary==1.5.1 +torchtext==0.14.0 +tornado==6.2 +tqdm==4.64.1 +traitlets==5.5.0 +transformers==4.24.0 +typer==0.4.2 +typing-extensions==4.4.0 +urllib3==1.26.12 +wandb==0.13.10 +wasabi==0.10.1 +wcwidth==0.2.5 +webencodings==0.5.1 +websocket-client==1.4.1 +werkzeug==2.2.2 +wheel==0.37.1 +widgetsnbextension==4.0.3 +zipp==3.10.0 \ No newline at end of file diff --git a/embeddings/wandb/run-20230224_113041-0mj5jj8w/files/wandb-metadata.json b/embeddings/wandb/run-20230224_113041-0mj5jj8w/files/wandb-metadata.json new file mode 100644 index 0000000000000000000000000000000000000000..940fff33f5b19d644f3d20beadcc38258a4864fe --- /dev/null +++ b/embeddings/wandb/run-20230224_113041-0mj5jj8w/files/wandb-metadata.json @@ -0,0 +1,42 @@ +{ + "os": "Windows-10-10.0.19041-SP0", + "python": "3.8.1", + "heartbeatAt": "2023-02-24T11:30:42.081633", + "startedAt": "2023-02-24T11:30:41.495164", + "docker": null, + "cuda": null, + "args": [], + "state": "running", + "program": "C:\\Users\\liamb\\Documents\\graph4stackoverflow\\embeddings\\hetero_GAT.py", + "codePath": "embeddings\\hetero_GAT.py", + "git": { + "remote": "https://git.soton.ac.uk/lhb1g20/graph4stackoverflow.git", + "commit": "ced992d661984f7b87d1a3e76768e4ff7af78245" + }, + "email": "liambyrneh@gmail.com", + "root": "C:/Users/liamb/Documents/graph4stackoverflow", + "host": "DESKTOP-P7BETFF", + "username": "liamb", + "executable": "C:\\Users\\liamb\\Documents\\graph4stackoverflow\\venv\\Scripts\\python.exe", + "cpu_count": 2, + "cpu_count_logical": 4, + "cpu_freq": { + "current": 3504.0, + "min": 0.0, + "max": 3504.0 + }, + "cpu_freq_per_core": [ + { + "current": 3504.0, + "min": 0.0, + "max": 3504.0 + } + ], + "disk": { + "total": 475.71581649780273, + "used": 352.297119140625 + }, + "memory": { + "total": 31.89160919189453 + } +} diff --git a/embeddings/wandb/run-20230224_113041-0mj5jj8w/files/wandb-summary.json b/embeddings/wandb/run-20230224_113041-0mj5jj8w/files/wandb-summary.json new file mode 100644 index 0000000000000000000000000000000000000000..fe9e22cf416d08fa3b43b9f0c278f2270e8d86cd --- /dev/null +++ b/embeddings/wandb/run-20230224_113041-0mj5jj8w/files/wandb-summary.json @@ -0,0 +1 @@ +{"_wandb": {"runtime": 0}} \ No newline at end of file diff --git a/embeddings/wandb/run-20230224_113041-0mj5jj8w/logs/debug-internal.log b/embeddings/wandb/run-20230224_113041-0mj5jj8w/logs/debug-internal.log new file mode 100644 index 0000000000000000000000000000000000000000..c1275bd2e6605a2e9b55e59dfd4248e661cd23b6 --- /dev/null +++ b/embeddings/wandb/run-20230224_113041-0mj5jj8w/logs/debug-internal.log @@ -0,0 +1,170 @@ +2023-02-24 11:30:41,509 INFO StreamThr :3444 [internal.py:wandb_internal():87] W&B internal server running at pid: 3444, started at: 2023-02-24 11:30:41.508166 +2023-02-24 11:30:41,511 DEBUG HandlerThread:3444 [handler.py:handle_request():144] handle_request: status +2023-02-24 11:30:41,512 INFO WriterThread:3444 [datastore.py:open_for_write():85] open: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_113041-0mj5jj8w\run-0mj5jj8w.wandb +2023-02-24 11:30:41,516 DEBUG SenderThread:3444 [sender.py:send():336] send: header +2023-02-24 11:30:41,561 DEBUG SenderThread:3444 [sender.py:send():336] send: run +2023-02-24 11:30:41,984 INFO SenderThread:3444 [dir_watcher.py:__init__():216] watching files in: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_113041-0mj5jj8w\files +2023-02-24 11:30:41,984 INFO SenderThread:3444 [sender.py:_start_run_threads():1067] run started: 0mj5jj8w with start time 1677238241.509167 +2023-02-24 11:30:41,984 DEBUG SenderThread:3444 [sender.py:send_request():363] send_request: summary_record +2023-02-24 11:30:41,985 DEBUG HandlerThread:3444 [handler.py:handle_request():144] handle_request: check_version +2023-02-24 11:30:41,985 INFO SenderThread:3444 [sender.py:_save_file():1321] saving file wandb-summary.json with policy end +2023-02-24 11:30:41,986 DEBUG SenderThread:3444 [sender.py:send_request():363] send_request: check_version +2023-02-24 11:30:42,059 DEBUG HandlerThread:3444 [handler.py:handle_request():144] handle_request: run_start +2023-02-24 11:30:42,076 DEBUG HandlerThread:3444 [system_info.py:__init__():31] System info init +2023-02-24 11:30:42,076 DEBUG HandlerThread:3444 [system_info.py:__init__():46] System info init done +2023-02-24 11:30:42,077 INFO HandlerThread:3444 [system_monitor.py:start():151] Starting system monitor +2023-02-24 11:30:42,077 INFO SystemMonitor:3444 [system_monitor.py:_start():116] Starting system asset monitoring threads +2023-02-24 11:30:42,077 INFO HandlerThread:3444 [system_monitor.py:probe():172] Collecting system info +2023-02-24 11:30:42,080 INFO SystemMonitor:3444 [interfaces.py:start():168] Started cpu +2023-02-24 11:30:42,081 DEBUG HandlerThread:3444 [system_info.py:probe():195] Probing system +2023-02-24 11:30:42,081 INFO SystemMonitor:3444 [interfaces.py:start():168] Started disk +2023-02-24 11:30:42,081 INFO SystemMonitor:3444 [interfaces.py:start():168] Started memory +2023-02-24 11:30:42,090 INFO SystemMonitor:3444 [interfaces.py:start():168] Started network +2023-02-24 11:30:42,101 DEBUG HandlerThread:3444 [system_info.py:_probe_git():180] Probing git +2023-02-24 11:30:42,206 DEBUG HandlerThread:3444 [system_info.py:_probe_git():188] Probing git done +2023-02-24 11:30:42,206 DEBUG HandlerThread:3444 [system_info.py:probe():241] Probing system done +2023-02-24 11:30:42,206 DEBUG HandlerThread:3444 [system_monitor.py:probe():181] {'os': 'Windows-10-10.0.19041-SP0', 'python': '3.8.1', 'heartbeatAt': '2023-02-24T11:30:42.081633', 'startedAt': '2023-02-24T11:30:41.495164', 'docker': None, 'cuda': None, 'args': (), 'state': 'running', 'program': 'C:\\Users\\liamb\\Documents\\graph4stackoverflow\\embeddings\\hetero_GAT.py', 'codePath': 'embeddings\\hetero_GAT.py', 'git': {'remote': 'https://git.soton.ac.uk/lhb1g20/graph4stackoverflow.git', 'commit': 'ced992d661984f7b87d1a3e76768e4ff7af78245'}, 'email': 'liambyrneh@gmail.com', 'root': 'C:/Users/liamb/Documents/graph4stackoverflow', 'host': 'DESKTOP-P7BETFF', 'username': 'liamb', 'executable': 'C:\\Users\\liamb\\Documents\\graph4stackoverflow\\venv\\Scripts\\python.exe', 'cpu_count': 2, 'cpu_count_logical': 4, 'cpu_freq': {'current': 3504.0, 'min': 0.0, 'max': 3504.0}, 'cpu_freq_per_core': [{'current': 3504.0, 'min': 0.0, 'max': 3504.0}], 'disk': {'total': 475.71581649780273, 'used': 352.297119140625}, 'memory': {'total': 31.89160919189453}} +2023-02-24 11:30:42,206 INFO HandlerThread:3444 [system_monitor.py:probe():182] Finished collecting system info +2023-02-24 11:30:42,206 INFO HandlerThread:3444 [system_monitor.py:probe():185] Publishing system info +2023-02-24 11:30:42,206 DEBUG HandlerThread:3444 [system_info.py:_save_pip():51] Saving list of pip packages installed into the current environment +2023-02-24 11:30:42,207 DEBUG HandlerThread:3444 [system_info.py:_save_pip():67] Saving pip packages done +2023-02-24 11:30:42,210 INFO HandlerThread:3444 [system_monitor.py:probe():187] Finished publishing system info +2023-02-24 11:30:42,220 DEBUG SenderThread:3444 [sender.py:send():336] send: files +2023-02-24 11:30:42,220 INFO SenderThread:3444 [sender.py:_save_file():1321] saving file wandb-metadata.json with policy now +2023-02-24 11:30:42,228 DEBUG HandlerThread:3444 [handler.py:handle_request():144] handle_request: stop_status +2023-02-24 11:30:42,228 DEBUG SenderThread:3444 [sender.py:send_request():363] send_request: stop_status +2023-02-24 11:30:42,389 DEBUG SenderThread:3444 [sender.py:send():336] send: telemetry +2023-02-24 11:30:42,391 DEBUG SenderThread:3444 [sender.py:send():336] send: exit +2023-02-24 11:30:42,392 INFO SenderThread:3444 [sender.py:send_exit():559] handling exit code: 1 +2023-02-24 11:30:42,392 INFO SenderThread:3444 [sender.py:send_exit():561] handling runtime: 0 +2023-02-24 11:30:42,392 INFO SenderThread:3444 [sender.py:_save_file():1321] saving file wandb-summary.json with policy end +2023-02-24 11:30:42,393 INFO SenderThread:3444 [sender.py:send_exit():567] send defer +2023-02-24 11:30:42,393 DEBUG HandlerThread:3444 [handler.py:handle_request():144] handle_request: defer +2023-02-24 11:30:42,393 INFO HandlerThread:3444 [handler.py:handle_request_defer():170] handle defer: 0 +2023-02-24 11:30:42,393 DEBUG SenderThread:3444 [sender.py:send_request():363] send_request: defer +2023-02-24 11:30:42,393 INFO SenderThread:3444 [sender.py:send_request_defer():583] handle sender defer: 0 +2023-02-24 11:30:42,393 INFO SenderThread:3444 [sender.py:transition_state():587] send defer: 1 +2023-02-24 11:30:42,394 DEBUG HandlerThread:3444 [handler.py:handle_request():144] handle_request: defer +2023-02-24 11:30:42,394 INFO HandlerThread:3444 [handler.py:handle_request_defer():170] handle defer: 1 +2023-02-24 11:30:42,394 DEBUG SenderThread:3444 [sender.py:send_request():363] send_request: defer +2023-02-24 11:30:42,394 INFO SenderThread:3444 [sender.py:send_request_defer():583] handle sender defer: 1 +2023-02-24 11:30:42,394 INFO SenderThread:3444 [sender.py:transition_state():587] send defer: 2 +2023-02-24 11:30:42,394 DEBUG HandlerThread:3444 [handler.py:handle_request():144] handle_request: defer +2023-02-24 11:30:42,394 INFO HandlerThread:3444 [handler.py:handle_request_defer():170] handle defer: 2 +2023-02-24 11:30:42,394 INFO HandlerThread:3444 [system_monitor.py:finish():161] Stopping system monitor +2023-02-24 11:30:42,395 DEBUG SystemMonitor:3444 [system_monitor.py:_start():130] Starting system metrics aggregation loop +2023-02-24 11:30:42,395 DEBUG SystemMonitor:3444 [system_monitor.py:_start():137] Finished system metrics aggregation loop +2023-02-24 11:30:42,395 DEBUG SystemMonitor:3444 [system_monitor.py:_start():141] Publishing last batch of metrics +2023-02-24 11:30:42,396 INFO HandlerThread:3444 [interfaces.py:finish():175] Joined cpu +2023-02-24 11:30:42,396 INFO HandlerThread:3444 [interfaces.py:finish():175] Joined disk +2023-02-24 11:30:42,396 INFO HandlerThread:3444 [interfaces.py:finish():175] Joined memory +2023-02-24 11:30:42,396 INFO HandlerThread:3444 [interfaces.py:finish():175] Joined network +2023-02-24 11:30:42,397 DEBUG SenderThread:3444 [sender.py:send_request():363] send_request: defer +2023-02-24 11:30:42,397 INFO SenderThread:3444 [sender.py:send_request_defer():583] handle sender defer: 2 +2023-02-24 11:30:42,397 INFO SenderThread:3444 [sender.py:transition_state():587] send defer: 3 +2023-02-24 11:30:42,398 DEBUG SenderThread:3444 [sender.py:send():336] send: stats +2023-02-24 11:30:42,398 DEBUG HandlerThread:3444 [handler.py:handle_request():144] handle_request: defer +2023-02-24 11:30:42,399 INFO HandlerThread:3444 [handler.py:handle_request_defer():170] handle defer: 3 +2023-02-24 11:30:42,400 DEBUG SenderThread:3444 [sender.py:send_request():363] send_request: defer +2023-02-24 11:30:42,400 INFO SenderThread:3444 [sender.py:send_request_defer():583] handle sender defer: 3 +2023-02-24 11:30:42,400 INFO SenderThread:3444 [sender.py:transition_state():587] send defer: 4 +2023-02-24 11:30:42,400 DEBUG HandlerThread:3444 [handler.py:handle_request():144] handle_request: defer +2023-02-24 11:30:42,400 INFO HandlerThread:3444 [handler.py:handle_request_defer():170] handle defer: 4 +2023-02-24 11:30:42,400 DEBUG SenderThread:3444 [sender.py:send_request():363] send_request: defer +2023-02-24 11:30:42,401 INFO SenderThread:3444 [sender.py:send_request_defer():583] handle sender defer: 4 +2023-02-24 11:30:42,401 INFO SenderThread:3444 [sender.py:transition_state():587] send defer: 5 +2023-02-24 11:30:42,401 DEBUG HandlerThread:3444 [handler.py:handle_request():144] handle_request: defer +2023-02-24 11:30:42,401 INFO HandlerThread:3444 [handler.py:handle_request_defer():170] handle defer: 5 +2023-02-24 11:30:42,401 DEBUG SenderThread:3444 [sender.py:send():336] send: summary +2023-02-24 11:30:42,402 INFO SenderThread:3444 [sender.py:_save_file():1321] saving file wandb-summary.json with policy end +2023-02-24 11:30:42,402 DEBUG SenderThread:3444 [sender.py:send_request():363] send_request: defer +2023-02-24 11:30:42,403 INFO SenderThread:3444 [sender.py:send_request_defer():583] handle sender defer: 5 +2023-02-24 11:30:42,403 INFO SenderThread:3444 [sender.py:transition_state():587] send defer: 6 +2023-02-24 11:30:42,403 DEBUG HandlerThread:3444 [handler.py:handle_request():144] handle_request: defer +2023-02-24 11:30:42,403 INFO HandlerThread:3444 [handler.py:handle_request_defer():170] handle defer: 6 +2023-02-24 11:30:42,403 DEBUG SenderThread:3444 [sender.py:send_request():363] send_request: defer +2023-02-24 11:30:42,403 INFO SenderThread:3444 [sender.py:send_request_defer():583] handle sender defer: 6 +2023-02-24 11:30:42,407 DEBUG HandlerThread:3444 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 11:30:42,593 INFO SenderThread:3444 [sender.py:transition_state():587] send defer: 7 +2023-02-24 11:30:42,593 DEBUG HandlerThread:3444 [handler.py:handle_request():144] handle_request: defer +2023-02-24 11:30:42,593 INFO HandlerThread:3444 [handler.py:handle_request_defer():170] handle defer: 7 +2023-02-24 11:30:42,594 DEBUG SenderThread:3444 [sender.py:send_request():363] send_request: defer +2023-02-24 11:30:42,594 INFO SenderThread:3444 [sender.py:send_request_defer():583] handle sender defer: 7 +2023-02-24 11:30:42,760 INFO wandb-upload_0:3444 [upload_job.py:push():138] Uploaded file C:\Users\liamb\AppData\Local\Temp\tmp5ugh02wtwandb\2ue29pmz-wandb-metadata.json +2023-02-24 11:30:42,997 INFO Thread-17 :3444 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_113041-0mj5jj8w\files\config.yaml +2023-02-24 11:30:42,997 INFO Thread-17 :3444 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_113041-0mj5jj8w\files\wandb-summary.json +2023-02-24 11:30:42,998 INFO Thread-17 :3444 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_113041-0mj5jj8w\files\wandb-metadata.json +2023-02-24 11:30:42,998 INFO Thread-17 :3444 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_113041-0mj5jj8w\files\requirements.txt +2023-02-24 11:30:42,998 INFO Thread-17 :3444 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_113041-0mj5jj8w\files\output.log +2023-02-24 11:30:43,259 DEBUG HandlerThread:3444 [handler.py:handle_request():144] handle_request: poll_exit +2023-02-24 11:30:44,399 INFO SenderThread:3444 [sender.py:transition_state():587] send defer: 8 +2023-02-24 11:30:44,399 DEBUG SenderThread:3444 [sender.py:send_request():363] send_request: poll_exit +2023-02-24 11:30:44,400 DEBUG HandlerThread:3444 [handler.py:handle_request():144] handle_request: defer +2023-02-24 11:30:44,400 INFO HandlerThread:3444 [handler.py:handle_request_defer():170] handle defer: 8 +2023-02-24 11:30:44,401 DEBUG SenderThread:3444 [sender.py:send_request():363] send_request: defer +2023-02-24 11:30:44,401 INFO SenderThread:3444 [sender.py:send_request_defer():583] handle sender defer: 8 +2023-02-24 11:30:44,423 INFO SenderThread:3444 [sender.py:transition_state():587] send defer: 9 +2023-02-24 11:30:44,424 DEBUG HandlerThread:3444 [handler.py:handle_request():144] handle_request: defer +2023-02-24 11:30:44,424 DEBUG SenderThread:3444 [sender.py:send():336] send: artifact +2023-02-24 11:30:44,424 INFO HandlerThread:3444 [handler.py:handle_request_defer():170] handle defer: 9 +2023-02-24 11:30:45,019 INFO Thread-17 :3444 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_113041-0mj5jj8w\files\output.log +2023-02-24 11:30:45,674 INFO wandb-upload_0:3444 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpdcfhpo7n +2023-02-24 11:30:45,675 INFO wandb-upload_1:3444 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpims1clb7 +2023-02-24 11:30:46,926 INFO SenderThread:3444 [sender.py:send_artifact():1417] sent artifact job-https___git.soton.ac.uk_lhb1g20_graph4stackoverflow.git_embeddings_hetero_GAT.py - {'id': 'QXJ0aWZhY3Q6MzgwMzY3ODUz', 'digest': 'dbe34f6e8b990dacc5d7c5e1ab1d02a4', 'state': 'PENDING', 'aliases': [], 'artifactSequence': {'id': 'QXJ0aWZhY3RDb2xsZWN0aW9uOjU0NTg3MzU0', 'latestArtifact': None}, 'version': 'latest'} +2023-02-24 11:30:46,926 DEBUG SenderThread:3444 [sender.py:send_request():363] send_request: defer +2023-02-24 11:30:46,926 INFO SenderThread:3444 [sender.py:send_request_defer():583] handle sender defer: 9 +2023-02-24 11:30:46,926 INFO SenderThread:3444 [dir_watcher.py:finish():362] shutting down directory watcher +2023-02-24 11:30:47,040 INFO SenderThread:3444 [dir_watcher.py:finish():392] scan: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_113041-0mj5jj8w\files +2023-02-24 11:30:47,041 INFO SenderThread:3444 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_113041-0mj5jj8w\files\config.yaml config.yaml +2023-02-24 11:30:47,041 INFO SenderThread:3444 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_113041-0mj5jj8w\files\output.log output.log +2023-02-24 11:30:47,042 INFO SenderThread:3444 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_113041-0mj5jj8w\files\requirements.txt requirements.txt +2023-02-24 11:30:47,045 INFO SenderThread:3444 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_113041-0mj5jj8w\files\wandb-metadata.json wandb-metadata.json +2023-02-24 11:30:47,045 INFO SenderThread:3444 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_113041-0mj5jj8w\files\wandb-summary.json wandb-summary.json +2023-02-24 11:30:47,048 INFO SenderThread:3444 [sender.py:transition_state():587] send defer: 10 +2023-02-24 11:30:47,051 DEBUG HandlerThread:3444 [handler.py:handle_request():144] handle_request: defer +2023-02-24 11:30:47,052 INFO HandlerThread:3444 [handler.py:handle_request_defer():170] handle defer: 10 +2023-02-24 11:30:47,055 DEBUG SenderThread:3444 [sender.py:send_request():363] send_request: defer +2023-02-24 11:30:47,056 INFO SenderThread:3444 [sender.py:send_request_defer():583] handle sender defer: 10 +2023-02-24 11:30:47,056 INFO SenderThread:3444 [file_pusher.py:finish():162] shutting down file pusher +2023-02-24 11:30:47,538 INFO wandb-upload_0:3444 [upload_job.py:push():138] Uploaded file C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_113041-0mj5jj8w\files\config.yaml +2023-02-24 11:30:47,583 INFO wandb-upload_1:3444 [upload_job.py:push():138] Uploaded file C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_113041-0mj5jj8w\files\output.log +2023-02-24 11:30:47,586 INFO wandb-upload_2:3444 [upload_job.py:push():138] Uploaded file C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_113041-0mj5jj8w\files\requirements.txt +2023-02-24 11:30:47,612 INFO wandb-upload_3:3444 [upload_job.py:push():138] Uploaded file C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_113041-0mj5jj8w\files\wandb-summary.json +2023-02-24 11:30:47,822 INFO Thread-16 :3444 [sender.py:transition_state():587] send defer: 11 +2023-02-24 11:30:47,822 DEBUG HandlerThread:3444 [handler.py:handle_request():144] handle_request: defer +2023-02-24 11:30:47,822 INFO HandlerThread:3444 [handler.py:handle_request_defer():170] handle defer: 11 +2023-02-24 11:30:47,822 DEBUG SenderThread:3444 [sender.py:send_request():363] send_request: defer +2023-02-24 11:30:47,823 INFO SenderThread:3444 [sender.py:send_request_defer():583] handle sender defer: 11 +2023-02-24 11:30:47,823 INFO SenderThread:3444 [file_pusher.py:join():167] waiting for file pusher +2023-02-24 11:30:47,823 INFO SenderThread:3444 [sender.py:transition_state():587] send defer: 12 +2023-02-24 11:30:47,823 DEBUG HandlerThread:3444 [handler.py:handle_request():144] handle_request: defer +2023-02-24 11:30:47,823 INFO HandlerThread:3444 [handler.py:handle_request_defer():170] handle defer: 12 +2023-02-24 11:30:47,823 DEBUG SenderThread:3444 [sender.py:send_request():363] send_request: defer +2023-02-24 11:30:47,823 INFO SenderThread:3444 [sender.py:send_request_defer():583] handle sender defer: 12 +2023-02-24 11:30:47,971 INFO SenderThread:3444 [sender.py:transition_state():587] send defer: 13 +2023-02-24 11:30:47,971 DEBUG HandlerThread:3444 [handler.py:handle_request():144] handle_request: defer +2023-02-24 11:30:47,971 INFO HandlerThread:3444 [handler.py:handle_request_defer():170] handle defer: 13 +2023-02-24 11:30:47,972 DEBUG SenderThread:3444 [sender.py:send_request():363] send_request: defer +2023-02-24 11:30:47,972 INFO SenderThread:3444 [sender.py:send_request_defer():583] handle sender defer: 13 +2023-02-24 11:30:47,972 INFO SenderThread:3444 [sender.py:transition_state():587] send defer: 14 +2023-02-24 11:30:47,972 DEBUG HandlerThread:3444 [handler.py:handle_request():144] handle_request: defer +2023-02-24 11:30:47,972 DEBUG SenderThread:3444 [sender.py:send():336] send: final +2023-02-24 11:30:47,973 INFO HandlerThread:3444 [handler.py:handle_request_defer():170] handle defer: 14 +2023-02-24 11:30:47,973 DEBUG SenderThread:3444 [sender.py:send():336] send: footer +2023-02-24 11:30:47,973 DEBUG SenderThread:3444 [sender.py:send_request():363] send_request: defer +2023-02-24 11:30:47,973 INFO SenderThread:3444 [sender.py:send_request_defer():583] handle sender defer: 14 +2023-02-24 11:30:47,974 DEBUG HandlerThread:3444 [handler.py:handle_request():144] handle_request: poll_exit +2023-02-24 11:30:47,974 DEBUG HandlerThread:3444 [handler.py:handle_request():144] handle_request: server_info +2023-02-24 11:30:47,974 DEBUG HandlerThread:3444 [handler.py:handle_request():144] handle_request: get_summary +2023-02-24 11:30:47,975 DEBUG HandlerThread:3444 [handler.py:handle_request():144] handle_request: sampled_history +2023-02-24 11:30:47,975 DEBUG SenderThread:3444 [sender.py:send_request():363] send_request: poll_exit +2023-02-24 11:30:47,975 DEBUG SenderThread:3444 [sender.py:send_request():363] send_request: server_info +2023-02-24 11:30:48,160 INFO MainThread:3444 [wandb_run.py:_footer_history_summary_info():3442] rendering history +2023-02-24 11:30:48,161 INFO MainThread:3444 [wandb_run.py:_footer_history_summary_info():3474] rendering summary +2023-02-24 11:30:48,161 INFO MainThread:3444 [wandb_run.py:_footer_sync_info():3398] logging synced files +2023-02-24 11:30:48,161 DEBUG HandlerThread:3444 [handler.py:handle_request():144] handle_request: shutdown +2023-02-24 11:30:48,161 INFO HandlerThread:3444 [handler.py:finish():841] shutting down handler +2023-02-24 11:30:48,979 INFO WriterThread:3444 [datastore.py:close():299] close: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_113041-0mj5jj8w\run-0mj5jj8w.wandb +2023-02-24 11:30:49,166 INFO SenderThread:3444 [sender.py:finish():1493] shutting down sender +2023-02-24 11:30:49,166 INFO SenderThread:3444 [file_pusher.py:finish():162] shutting down file pusher +2023-02-24 11:30:49,166 INFO SenderThread:3444 [file_pusher.py:join():167] waiting for file pusher diff --git a/embeddings/wandb/run-20230224_113041-0mj5jj8w/logs/debug.log b/embeddings/wandb/run-20230224_113041-0mj5jj8w/logs/debug.log new file mode 100644 index 0000000000000000000000000000000000000000..6a7beb126a37331b26ccbcb40045986e3dcce935 --- /dev/null +++ b/embeddings/wandb/run-20230224_113041-0mj5jj8w/logs/debug.log @@ -0,0 +1,25 @@ +2023-02-24 11:30:41,498 INFO MainThread:14884 [wandb_setup.py:_flush():68] Configure stats pid to 14884 +2023-02-24 11:30:41,499 INFO MainThread:14884 [wandb_setup.py:_flush():68] Loading settings from C:\Users\liamb\.config\wandb\settings +2023-02-24 11:30:41,499 INFO MainThread:14884 [wandb_setup.py:_flush():68] Loading settings from C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\settings +2023-02-24 11:30:41,499 INFO MainThread:14884 [wandb_setup.py:_flush():68] Loading settings from environment variables: {'_require_service': 'True'} +2023-02-24 11:30:41,499 INFO MainThread:14884 [wandb_setup.py:_flush():68] Inferring run settings from compute environment: {'program_relpath': 'embeddings\\hetero_GAT.py', 'program': 'C:\\Users\\liamb\\Documents\\graph4stackoverflow\\embeddings\\hetero_GAT.py'} +2023-02-24 11:30:41,500 INFO MainThread:14884 [wandb_init.py:_log_setup():492] Logging user logs to C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_113041-0mj5jj8w\logs\debug.log +2023-02-24 11:30:41,500 INFO MainThread:14884 [wandb_init.py:_log_setup():493] Logging internal logs to C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_113041-0mj5jj8w\logs\debug-internal.log +2023-02-24 11:30:41,500 INFO MainThread:14884 [wandb_init.py:init():532] calling init triggers +2023-02-24 11:30:41,500 INFO MainThread:14884 [wandb_init.py:init():538] wandb.init called with sweep_config: {} +config: {} +2023-02-24 11:30:41,501 INFO MainThread:14884 [wandb_init.py:init():588] starting backend +2023-02-24 11:30:41,501 INFO MainThread:14884 [wandb_init.py:init():592] setting up manager +2023-02-24 11:30:41,504 INFO MainThread:14884 [backend.py:_multiprocessing_setup():106] multiprocessing start_methods=spawn, using: spawn +2023-02-24 11:30:41,508 INFO MainThread:14884 [wandb_init.py:init():599] backend started and connected +2023-02-24 11:30:41,511 INFO MainThread:14884 [wandb_init.py:init():687] updated telemetry +2023-02-24 11:30:41,560 INFO MainThread:14884 [wandb_init.py:init():727] communicating run to backend with 60.0 second timeout +2023-02-24 11:30:41,984 INFO MainThread:14884 [wandb_run.py:_on_init():2134] communicating current version +2023-02-24 11:30:42,052 INFO MainThread:14884 [wandb_run.py:_on_init():2143] got version response +2023-02-24 11:30:42,052 INFO MainThread:14884 [wandb_init.py:init():775] starting run threads in backend +2023-02-24 11:30:42,228 INFO MainThread:14884 [wandb_run.py:_console_start():2114] atexit reg +2023-02-24 11:30:42,229 INFO MainThread:14884 [wandb_run.py:_redirect():1969] redirect: SettingsConsole.WRAP_RAW +2023-02-24 11:30:42,229 INFO MainThread:14884 [wandb_run.py:_redirect():2034] Wrapping output streams. +2023-02-24 11:30:42,229 INFO MainThread:14884 [wandb_run.py:_redirect():2059] Redirects installed. +2023-02-24 11:30:42,230 INFO MainThread:14884 [wandb_init.py:init():817] run started, returning control to user process +2023-02-24 11:30:49,244 WARNING MsgRouterThr:14884 [router.py:message_loop():77] message_loop has been closed diff --git a/embeddings/wandb/run-20230224_113041-0mj5jj8w/run-0mj5jj8w.wandb b/embeddings/wandb/run-20230224_113041-0mj5jj8w/run-0mj5jj8w.wandb new file mode 100644 index 0000000000000000000000000000000000000000..74f93e0d2c49b66f18b98da902935de1d784bec2 Binary files /dev/null and b/embeddings/wandb/run-20230224_113041-0mj5jj8w/run-0mj5jj8w.wandb differ diff --git a/embeddings/wandb/run-20230224_114452-o512xqpv/files/config.yaml b/embeddings/wandb/run-20230224_114452-o512xqpv/files/config.yaml new file mode 100644 index 0000000000000000000000000000000000000000..e07c16dfa74300bd0ff2f12bdcda533dd939221a --- /dev/null +++ b/embeddings/wandb/run-20230224_114452-o512xqpv/files/config.yaml @@ -0,0 +1,40 @@ +wandb_version: 1 + +_wandb: + desc: null + value: + cli_version: 0.13.10 + framework: huggingface + huggingface_version: 4.24.0 + is_jupyter_run: false + is_kaggle_kernel: false + python_version: 3.8.1 + start_time: 1677239093.006892 + t: + 1: + - 1 + - 5 + - 11 + - 33 + - 49 + - 53 + - 55 + - 77 + 2: + - 1 + - 5 + - 11 + - 33 + - 49 + - 53 + - 55 + - 77 + 3: + - 13 + - 23 + 4: 3.8.1 + 5: 0.13.10 + 6: 4.24.0 + 8: + - 3 + - 5 diff --git a/embeddings/wandb/run-20230224_114452-o512xqpv/files/output.log b/embeddings/wandb/run-20230224_114452-o512xqpv/files/output.log new file mode 100644 index 0000000000000000000000000000000000000000..5905b833b1956a8c7832f64785cc93533d1f6699 --- /dev/null +++ b/embeddings/wandb/run-20230224_114452-o512xqpv/files/output.log @@ -0,0 +1,24 @@ +Traceback (most recent call last): + File "C:\Users\liamb\Documents\graph4stackoverflow\embeddings\hetero_GAT.py", line 138, in <module> + wandb.log(data_details) + File "C:\Users\liamb\Documents\graph4stackoverflow\venv\lib\site-packages\wandb\sdk\wandb_run.py", line 371, in wrapper + return func(self, *args, **kwargs) + File "C:\Users\liamb\Documents\graph4stackoverflow\venv\lib\site-packages\wandb\sdk\wandb_run.py", line 334, in wrapper + return func(self, *args, **kwargs) + File "C:\Users\liamb\Documents\graph4stackoverflow\venv\lib\site-packages\wandb\sdk\wandb_run.py", line 1713, in log + self._log(data=data, step=step, commit=commit) + File "C:\Users\liamb\Documents\graph4stackoverflow\venv\lib\site-packages\wandb\sdk\wandb_run.py", line 1495, in _log + self._partial_history_callback(data, step, commit) + File "C:\Users\liamb\Documents\graph4stackoverflow\venv\lib\site-packages\wandb\sdk\wandb_run.py", line 1365, in _partial_history_callback + self._backend.interface.publish_partial_history( + File "C:\Users\liamb\Documents\graph4stackoverflow\venv\lib\site-packages\wandb\sdk\interface\interface.py", line 580, in publish_partial_history + item.value_json = json_dumps_safer_history(v) + File "C:\Users\liamb\Documents\graph4stackoverflow\venv\lib\site-packages\wandb\util.py", line 953, in json_dumps_safer_history + return json.dumps(obj, cls=WandBHistoryJSONEncoder, **kwargs) + File "C:\Users\liamb\AppData\Local\Programs\Python\Python38\lib\json\__init__.py", line 234, in dumps + return cls( + File "C:\Users\liamb\AppData\Local\Programs\Python\Python38\lib\json\encoder.py", line 199, in encode + chunks = self.iterencode(o, _one_shot=True) + File "C:\Users\liamb\AppData\Local\Programs\Python\Python38\lib\json\encoder.py", line 257, in iterencode + return _iterencode(o, 0) +TypeError: keys must be str, int, float, bool or None, not tuple \ No newline at end of file diff --git a/embeddings/wandb/run-20230224_114452-o512xqpv/files/requirements.txt b/embeddings/wandb/run-20230224_114452-o512xqpv/files/requirements.txt new file mode 100644 index 0000000000000000000000000000000000000000..d7de821539624662109e252a91c4907a963ad5fb --- /dev/null +++ b/embeddings/wandb/run-20230224_114452-o512xqpv/files/requirements.txt @@ -0,0 +1,170 @@ +absl-py==1.3.0 +anyio==3.6.2 +appdirs==1.4.4 +argon2-cffi-bindings==21.2.0 +argon2-cffi==21.3.0 +asttokens==2.1.0 +astunparse==1.6.3 +attrs==22.1.0 +backcall==0.2.0 +beautifulsoup4==4.11.1 +bleach==5.0.1 +blis==0.7.9 +bs4==0.0.1 +cachetools==5.2.0 +catalogue==2.0.8 +certifi==2022.9.24 +cffi==1.15.1 +charset-normalizer==2.1.1 +click==8.1.3 +colorama==0.4.6 +confection==0.0.3 +contourpy==1.0.6 +cycler==0.11.0 +cymem==2.0.7 +debugpy==1.6.3 +decorator==5.1.1 +defusedxml==0.7.1 +dgl==0.9.1 +docker-pycreds==0.4.0 +en-core-web-sm==3.4.1 +entrypoints==0.4 +executing==1.2.0 +fastjsonschema==2.16.2 +filelock==3.8.0 +fonttools==4.38.0 +gitdb==4.0.10 +gitpython==3.1.31 +google-auth-oauthlib==0.4.6 +google-auth==2.14.0 +graph4nlp==0.5.5 +grpcio==1.50.0 +huggingface-hub==0.10.1 +idna==3.4 +importlib-metadata==5.0.0 +importlib-resources==5.10.0 +ipykernel==6.16.2 +ipython-genutils==0.2.0 +ipython==8.6.0 +ipywidgets==8.0.2 +jedi==0.18.1 +jinja2==3.1.2 +joblib==1.2.0 +jsonschema==4.16.0 +jupyter-client==7.4.4 +jupyter-console==6.4.4 +jupyter-core==4.11.2 +jupyter-server==1.21.0 +jupyter==1.0.0 +jupyterlab-pygments==0.2.2 +jupyterlab-widgets==3.0.3 +kiwisolver==1.4.4 +langcodes==3.3.0 +littleutils==0.2.2 +lxml==4.9.1 +markdown==3.4.1 +markupsafe==2.1.1 +matplotlib-inline==0.1.6 +matplotlib==3.6.2 +mistune==2.0.4 +murmurhash==1.0.9 +nbclassic==0.4.7 +nbclient==0.7.0 +nbconvert==7.2.3 +nbformat==5.7.0 +nest-asyncio==1.5.6 +networkx==2.8.8 +nltk==3.7 +notebook-shim==0.2.0 +notebook==6.5.2 +numpy==1.23.5 +oauthlib==3.2.2 +ogb==1.3.5 +outdated==0.2.2 +packaging==21.3 +pandas==1.5.1 +pandocfilters==1.5.0 +parso==0.8.3 +pathtools==0.1.2 +pathy==0.6.2 +pickleshare==0.7.5 +pillow==9.3.0 +pip==21.3.1 +pkgutil-resolve-name==1.3.10 +plotly==5.13.0 +preshed==3.0.8 +prometheus-client==0.15.0 +prompt-toolkit==3.0.31 +protobuf==3.19.6 +psutil==5.9.3 +pure-eval==0.2.2 +pyasn1-modules==0.2.8 +pyasn1==0.4.8 +pycparser==2.21 +pydantic==1.10.2 +pygments==2.13.0 +pyparsing==3.0.9 +pyrsistent==0.18.1 +python-dateutil==2.8.2 +pythonds==1.2.1 +pytz==2022.5 +pywin32==304 +pywinpty==2.0.9 +pyyaml==6.0 +pyzmq==24.0.1 +qtconsole==5.3.2 +qtpy==2.2.1 +regex==2022.10.31 +requests-oauthlib==1.3.1 +requests==2.28.1 +rsa==4.9 +scikit-learn==1.1.3 +scipy==1.9.3 +send2trash==1.8.0 +sentry-sdk==1.15.0 +setproctitle==1.3.2 +setuptools==60.2.0 +six==1.16.0 +smart-open==5.2.1 +smmap==5.0.0 +sniffio==1.3.0 +soupsieve==2.3.2.post1 +spacy-legacy==3.0.10 +spacy-loggers==1.0.3 +spacy==3.4.2 +srsly==2.4.5 +stack-data==0.6.0 +stanfordcorenlp==3.9.1.1 +tenacity==8.2.1 +tensorboard-data-server==0.6.1 +tensorboard-plugin-wit==1.8.1 +tensorboard==2.10.1 +terminado==0.17.0 +thinc==8.1.5 +threadpoolctl==3.1.0 +tinycss2==1.2.1 +tokenizers==0.13.2 +torch-cluster==1.6.0+pt113cpu +torch-geometric==2.2.0 +torch-scatter==2.1.0+pt113cpu +torch-sparse==0.6.16+pt113cpu +torch-spline-conv==1.2.1+pt113cpu +torch==1.13.0 +torchsummary==1.5.1 +torchtext==0.14.0 +tornado==6.2 +tqdm==4.64.1 +traitlets==5.5.0 +transformers==4.24.0 +typer==0.4.2 +typing-extensions==4.4.0 +urllib3==1.26.12 +wandb==0.13.10 +wasabi==0.10.1 +wcwidth==0.2.5 +webencodings==0.5.1 +websocket-client==1.4.1 +werkzeug==2.2.2 +wheel==0.37.1 +widgetsnbextension==4.0.3 +zipp==3.10.0 \ No newline at end of file diff --git a/embeddings/wandb/run-20230224_114452-o512xqpv/files/wandb-metadata.json b/embeddings/wandb/run-20230224_114452-o512xqpv/files/wandb-metadata.json new file mode 100644 index 0000000000000000000000000000000000000000..9efdf5c93889dfada05c228eca65ce99055f9534 --- /dev/null +++ b/embeddings/wandb/run-20230224_114452-o512xqpv/files/wandb-metadata.json @@ -0,0 +1,42 @@ +{ + "os": "Windows-10-10.0.19041-SP0", + "python": "3.8.1", + "heartbeatAt": "2023-02-24T11:44:55.955178", + "startedAt": "2023-02-24T11:44:52.992893", + "docker": null, + "cuda": null, + "args": [], + "state": "running", + "program": "C:\\Users\\liamb\\Documents\\graph4stackoverflow\\embeddings\\hetero_GAT.py", + "codePath": "embeddings\\hetero_GAT.py", + "git": { + "remote": "https://git.soton.ac.uk/lhb1g20/graph4stackoverflow.git", + "commit": "ced992d661984f7b87d1a3e76768e4ff7af78245" + }, + "email": "liambyrneh@gmail.com", + "root": "C:/Users/liamb/Documents/graph4stackoverflow", + "host": "DESKTOP-P7BETFF", + "username": "liamb", + "executable": "C:\\Users\\liamb\\Documents\\graph4stackoverflow\\venv\\Scripts\\python.exe", + "cpu_count": 2, + "cpu_count_logical": 4, + "cpu_freq": { + "current": 3504.0, + "min": 0.0, + "max": 3504.0 + }, + "cpu_freq_per_core": [ + { + "current": 3504.0, + "min": 0.0, + "max": 3504.0 + } + ], + "disk": { + "total": 475.71581649780273, + "used": 352.3754081726074 + }, + "memory": { + "total": 31.89160919189453 + } +} diff --git a/embeddings/wandb/run-20230224_114452-o512xqpv/files/wandb-summary.json b/embeddings/wandb/run-20230224_114452-o512xqpv/files/wandb-summary.json new file mode 100644 index 0000000000000000000000000000000000000000..fe9e22cf416d08fa3b43b9f0c278f2270e8d86cd --- /dev/null +++ b/embeddings/wandb/run-20230224_114452-o512xqpv/files/wandb-summary.json @@ -0,0 +1 @@ +{"_wandb": {"runtime": 0}} \ No newline at end of file diff --git a/embeddings/wandb/run-20230224_114452-o512xqpv/logs/debug-internal.log b/embeddings/wandb/run-20230224_114452-o512xqpv/logs/debug-internal.log new file mode 100644 index 0000000000000000000000000000000000000000..74427c4d66dde00e28cc8b0de18674e9a174b881 --- /dev/null +++ b/embeddings/wandb/run-20230224_114452-o512xqpv/logs/debug-internal.log @@ -0,0 +1,170 @@ +2023-02-24 11:44:53,006 INFO StreamThr :10900 [internal.py:wandb_internal():87] W&B internal server running at pid: 10900, started at: 2023-02-24 11:44:53.005896 +2023-02-24 11:44:53,008 DEBUG HandlerThread:10900 [handler.py:handle_request():144] handle_request: status +2023-02-24 11:44:53,009 INFO WriterThread:10900 [datastore.py:open_for_write():85] open: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_114452-o512xqpv\run-o512xqpv.wandb +2023-02-24 11:44:53,013 DEBUG SenderThread:10900 [sender.py:send():336] send: header +2023-02-24 11:44:53,058 DEBUG SenderThread:10900 [sender.py:send():336] send: run +2023-02-24 11:44:55,331 INFO SenderThread:10900 [dir_watcher.py:__init__():216] watching files in: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_114452-o512xqpv\files +2023-02-24 11:44:55,331 INFO SenderThread:10900 [sender.py:_start_run_threads():1067] run started: o512xqpv with start time 1677239093.006892 +2023-02-24 11:44:55,331 DEBUG SenderThread:10900 [sender.py:send_request():363] send_request: summary_record +2023-02-24 11:44:55,331 DEBUG HandlerThread:10900 [handler.py:handle_request():144] handle_request: check_version +2023-02-24 11:44:55,332 INFO SenderThread:10900 [sender.py:_save_file():1321] saving file wandb-summary.json with policy end +2023-02-24 11:44:55,332 DEBUG SenderThread:10900 [sender.py:send_request():363] send_request: check_version +2023-02-24 11:44:55,935 DEBUG HandlerThread:10900 [handler.py:handle_request():144] handle_request: run_start +2023-02-24 11:44:55,953 DEBUG HandlerThread:10900 [system_info.py:__init__():31] System info init +2023-02-24 11:44:55,954 DEBUG HandlerThread:10900 [system_info.py:__init__():46] System info init done +2023-02-24 11:44:55,954 INFO HandlerThread:10900 [system_monitor.py:start():151] Starting system monitor +2023-02-24 11:44:55,954 INFO SystemMonitor:10900 [system_monitor.py:_start():116] Starting system asset monitoring threads +2023-02-24 11:44:55,954 INFO HandlerThread:10900 [system_monitor.py:probe():172] Collecting system info +2023-02-24 11:44:55,955 DEBUG HandlerThread:10900 [system_info.py:probe():195] Probing system +2023-02-24 11:44:55,958 INFO SystemMonitor:10900 [interfaces.py:start():168] Started cpu +2023-02-24 11:44:55,958 INFO SystemMonitor:10900 [interfaces.py:start():168] Started disk +2023-02-24 11:44:55,959 INFO SystemMonitor:10900 [interfaces.py:start():168] Started memory +2023-02-24 11:44:55,975 INFO SystemMonitor:10900 [interfaces.py:start():168] Started network +2023-02-24 11:44:55,976 DEBUG HandlerThread:10900 [system_info.py:_probe_git():180] Probing git +2023-02-24 11:44:56,072 DEBUG HandlerThread:10900 [system_info.py:_probe_git():188] Probing git done +2023-02-24 11:44:56,072 DEBUG HandlerThread:10900 [system_info.py:probe():241] Probing system done +2023-02-24 11:44:56,072 DEBUG HandlerThread:10900 [system_monitor.py:probe():181] {'os': 'Windows-10-10.0.19041-SP0', 'python': '3.8.1', 'heartbeatAt': '2023-02-24T11:44:55.955178', 'startedAt': '2023-02-24T11:44:52.992893', 'docker': None, 'cuda': None, 'args': (), 'state': 'running', 'program': 'C:\\Users\\liamb\\Documents\\graph4stackoverflow\\embeddings\\hetero_GAT.py', 'codePath': 'embeddings\\hetero_GAT.py', 'git': {'remote': 'https://git.soton.ac.uk/lhb1g20/graph4stackoverflow.git', 'commit': 'ced992d661984f7b87d1a3e76768e4ff7af78245'}, 'email': 'liambyrneh@gmail.com', 'root': 'C:/Users/liamb/Documents/graph4stackoverflow', 'host': 'DESKTOP-P7BETFF', 'username': 'liamb', 'executable': 'C:\\Users\\liamb\\Documents\\graph4stackoverflow\\venv\\Scripts\\python.exe', 'cpu_count': 2, 'cpu_count_logical': 4, 'cpu_freq': {'current': 3504.0, 'min': 0.0, 'max': 3504.0}, 'cpu_freq_per_core': [{'current': 3504.0, 'min': 0.0, 'max': 3504.0}], 'disk': {'total': 475.71581649780273, 'used': 352.3754081726074}, 'memory': {'total': 31.89160919189453}} +2023-02-24 11:44:56,072 INFO HandlerThread:10900 [system_monitor.py:probe():182] Finished collecting system info +2023-02-24 11:44:56,072 INFO HandlerThread:10900 [system_monitor.py:probe():185] Publishing system info +2023-02-24 11:44:56,073 DEBUG HandlerThread:10900 [system_info.py:_save_pip():51] Saving list of pip packages installed into the current environment +2023-02-24 11:44:56,073 DEBUG HandlerThread:10900 [system_info.py:_save_pip():67] Saving pip packages done +2023-02-24 11:44:56,075 INFO HandlerThread:10900 [system_monitor.py:probe():187] Finished publishing system info +2023-02-24 11:44:56,083 DEBUG SenderThread:10900 [sender.py:send():336] send: files +2023-02-24 11:44:56,083 INFO SenderThread:10900 [sender.py:_save_file():1321] saving file wandb-metadata.json with policy now +2023-02-24 11:44:56,092 DEBUG HandlerThread:10900 [handler.py:handle_request():144] handle_request: stop_status +2023-02-24 11:44:56,092 DEBUG SenderThread:10900 [sender.py:send_request():363] send_request: stop_status +2023-02-24 11:44:56,344 INFO Thread-17 :10900 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_114452-o512xqpv\files\requirements.txt +2023-02-24 11:44:56,345 INFO Thread-17 :10900 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_114452-o512xqpv\files\wandb-summary.json +2023-02-24 11:44:56,345 INFO Thread-17 :10900 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_114452-o512xqpv\files\wandb-metadata.json +2023-02-24 11:44:56,934 DEBUG SenderThread:10900 [sender.py:send():336] send: telemetry +2023-02-24 11:44:56,936 DEBUG SenderThread:10900 [sender.py:send():336] send: exit +2023-02-24 11:44:56,936 INFO SenderThread:10900 [sender.py:send_exit():559] handling exit code: 1 +2023-02-24 11:44:56,936 INFO SenderThread:10900 [sender.py:send_exit():561] handling runtime: 0 +2023-02-24 11:44:56,937 INFO SenderThread:10900 [sender.py:_save_file():1321] saving file wandb-summary.json with policy end +2023-02-24 11:44:56,937 INFO SenderThread:10900 [sender.py:send_exit():567] send defer +2023-02-24 11:44:56,937 DEBUG HandlerThread:10900 [handler.py:handle_request():144] handle_request: defer +2023-02-24 11:44:56,937 INFO HandlerThread:10900 [handler.py:handle_request_defer():170] handle defer: 0 +2023-02-24 11:44:56,938 DEBUG SenderThread:10900 [sender.py:send_request():363] send_request: defer +2023-02-24 11:44:56,938 INFO SenderThread:10900 [sender.py:send_request_defer():583] handle sender defer: 0 +2023-02-24 11:44:56,938 INFO SenderThread:10900 [sender.py:transition_state():587] send defer: 1 +2023-02-24 11:44:56,938 DEBUG HandlerThread:10900 [handler.py:handle_request():144] handle_request: defer +2023-02-24 11:44:56,938 INFO HandlerThread:10900 [handler.py:handle_request_defer():170] handle defer: 1 +2023-02-24 11:44:56,939 DEBUG SenderThread:10900 [sender.py:send_request():363] send_request: defer +2023-02-24 11:44:56,939 INFO SenderThread:10900 [sender.py:send_request_defer():583] handle sender defer: 1 +2023-02-24 11:44:56,939 INFO SenderThread:10900 [sender.py:transition_state():587] send defer: 2 +2023-02-24 11:44:56,939 DEBUG HandlerThread:10900 [handler.py:handle_request():144] handle_request: defer +2023-02-24 11:44:56,939 INFO HandlerThread:10900 [handler.py:handle_request_defer():170] handle defer: 2 +2023-02-24 11:44:56,939 INFO HandlerThread:10900 [system_monitor.py:finish():161] Stopping system monitor +2023-02-24 11:44:56,939 DEBUG SystemMonitor:10900 [system_monitor.py:_start():130] Starting system metrics aggregation loop +2023-02-24 11:44:56,940 DEBUG SystemMonitor:10900 [system_monitor.py:_start():137] Finished system metrics aggregation loop +2023-02-24 11:44:56,940 DEBUG SystemMonitor:10900 [system_monitor.py:_start():141] Publishing last batch of metrics +2023-02-24 11:44:56,940 INFO HandlerThread:10900 [interfaces.py:finish():175] Joined cpu +2023-02-24 11:44:56,941 INFO HandlerThread:10900 [interfaces.py:finish():175] Joined disk +2023-02-24 11:44:56,941 INFO HandlerThread:10900 [interfaces.py:finish():175] Joined memory +2023-02-24 11:44:56,941 INFO HandlerThread:10900 [interfaces.py:finish():175] Joined network +2023-02-24 11:44:56,941 DEBUG SenderThread:10900 [sender.py:send_request():363] send_request: defer +2023-02-24 11:44:56,941 INFO SenderThread:10900 [sender.py:send_request_defer():583] handle sender defer: 2 +2023-02-24 11:44:56,941 INFO SenderThread:10900 [sender.py:transition_state():587] send defer: 3 +2023-02-24 11:44:56,941 DEBUG HandlerThread:10900 [handler.py:handle_request():144] handle_request: defer +2023-02-24 11:44:56,942 INFO HandlerThread:10900 [handler.py:handle_request_defer():170] handle defer: 3 +2023-02-24 11:44:56,942 DEBUG SenderThread:10900 [sender.py:send_request():363] send_request: defer +2023-02-24 11:44:56,942 INFO SenderThread:10900 [sender.py:send_request_defer():583] handle sender defer: 3 +2023-02-24 11:44:56,942 INFO SenderThread:10900 [sender.py:transition_state():587] send defer: 4 +2023-02-24 11:44:56,942 DEBUG HandlerThread:10900 [handler.py:handle_request():144] handle_request: defer +2023-02-24 11:44:56,942 INFO HandlerThread:10900 [handler.py:handle_request_defer():170] handle defer: 4 +2023-02-24 11:44:56,942 DEBUG SenderThread:10900 [sender.py:send_request():363] send_request: defer +2023-02-24 11:44:56,943 INFO SenderThread:10900 [sender.py:send_request_defer():583] handle sender defer: 4 +2023-02-24 11:44:56,943 INFO SenderThread:10900 [sender.py:transition_state():587] send defer: 5 +2023-02-24 11:44:56,943 DEBUG HandlerThread:10900 [handler.py:handle_request():144] handle_request: defer +2023-02-24 11:44:56,943 INFO HandlerThread:10900 [handler.py:handle_request_defer():170] handle defer: 5 +2023-02-24 11:44:56,943 DEBUG SenderThread:10900 [sender.py:send():336] send: summary +2023-02-24 11:44:56,944 INFO SenderThread:10900 [sender.py:_save_file():1321] saving file wandb-summary.json with policy end +2023-02-24 11:44:56,944 DEBUG SenderThread:10900 [sender.py:send_request():363] send_request: defer +2023-02-24 11:44:56,944 INFO SenderThread:10900 [sender.py:send_request_defer():583] handle sender defer: 5 +2023-02-24 11:44:56,944 INFO SenderThread:10900 [sender.py:transition_state():587] send defer: 6 +2023-02-24 11:44:56,944 DEBUG HandlerThread:10900 [handler.py:handle_request():144] handle_request: defer +2023-02-24 11:44:56,944 INFO HandlerThread:10900 [handler.py:handle_request_defer():170] handle defer: 6 +2023-02-24 11:44:56,945 DEBUG SenderThread:10900 [sender.py:send_request():363] send_request: defer +2023-02-24 11:44:56,945 INFO SenderThread:10900 [sender.py:send_request_defer():583] handle sender defer: 6 +2023-02-24 11:44:56,949 DEBUG HandlerThread:10900 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 11:44:57,102 DEBUG HandlerThread:10900 [handler.py:handle_request():144] handle_request: poll_exit +2023-02-24 11:44:57,351 INFO Thread-17 :10900 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_114452-o512xqpv\files\wandb-summary.json +2023-02-24 11:44:57,351 INFO Thread-17 :10900 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_114452-o512xqpv\files\output.log +2023-02-24 11:44:58,809 INFO SenderThread:10900 [sender.py:transition_state():587] send defer: 7 +2023-02-24 11:44:58,809 DEBUG SenderThread:10900 [sender.py:send_request():363] send_request: poll_exit +2023-02-24 11:44:58,810 DEBUG HandlerThread:10900 [handler.py:handle_request():144] handle_request: defer +2023-02-24 11:44:58,810 INFO HandlerThread:10900 [handler.py:handle_request_defer():170] handle defer: 7 +2023-02-24 11:44:58,810 DEBUG SenderThread:10900 [sender.py:send_request():363] send_request: defer +2023-02-24 11:44:58,810 INFO SenderThread:10900 [sender.py:send_request_defer():583] handle sender defer: 7 +2023-02-24 11:44:58,983 INFO SenderThread:10900 [sender.py:transition_state():587] send defer: 8 +2023-02-24 11:44:58,983 DEBUG HandlerThread:10900 [handler.py:handle_request():144] handle_request: defer +2023-02-24 11:44:58,983 INFO HandlerThread:10900 [handler.py:handle_request_defer():170] handle defer: 8 +2023-02-24 11:44:58,983 DEBUG SenderThread:10900 [sender.py:send_request():363] send_request: defer +2023-02-24 11:44:58,983 INFO SenderThread:10900 [sender.py:send_request_defer():583] handle sender defer: 8 +2023-02-24 11:44:58,997 INFO SenderThread:10900 [sender.py:transition_state():587] send defer: 9 +2023-02-24 11:44:58,997 DEBUG HandlerThread:10900 [handler.py:handle_request():144] handle_request: defer +2023-02-24 11:44:58,997 DEBUG SenderThread:10900 [sender.py:send():336] send: artifact +2023-02-24 11:44:58,997 INFO HandlerThread:10900 [handler.py:handle_request_defer():170] handle defer: 9 +2023-02-24 11:44:59,318 INFO wandb-upload_0:10900 [upload_job.py:push():138] Uploaded file C:\Users\liamb\AppData\Local\Temp\tmpzhiodajpwandb\u28acvtu-wandb-metadata.json +2023-02-24 11:44:59,368 INFO Thread-17 :10900 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_114452-o512xqpv\files\config.yaml +2023-02-24 11:44:59,369 INFO Thread-17 :10900 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_114452-o512xqpv\files\output.log +2023-02-24 11:45:02,150 DEBUG HandlerThread:10900 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 11:45:03,447 INFO SenderThread:10900 [sender.py:send_artifact():1417] sent artifact job-https___git.soton.ac.uk_lhb1g20_graph4stackoverflow.git_embeddings_hetero_GAT.py - {'id': 'QXJ0aWZhY3Q6MzgwMzY3ODUz', 'digest': 'dbe34f6e8b990dacc5d7c5e1ab1d02a4', 'state': 'COMMITTED', 'aliases': [{'artifactCollectionName': 'job-https___git.soton.ac.uk_lhb1g20_graph4stackoverflow.git_embeddings_hetero_GAT.py', 'alias': 'latest'}, {'artifactCollectionName': 'job-https___git.soton.ac.uk_lhb1g20_graph4stackoverflow.git_embeddings_hetero_GAT.py', 'alias': 'v0'}], 'artifactSequence': {'id': 'QXJ0aWZhY3RDb2xsZWN0aW9uOjU0NTg3MzU0', 'latestArtifact': {'id': 'QXJ0aWZhY3Q6MzgwMzY3ODUz', 'versionIndex': 0}}, 'version': 'v0'} +2023-02-24 11:45:03,447 DEBUG SenderThread:10900 [sender.py:send_request():363] send_request: defer +2023-02-24 11:45:03,447 INFO SenderThread:10900 [sender.py:send_request_defer():583] handle sender defer: 9 +2023-02-24 11:45:03,447 INFO SenderThread:10900 [dir_watcher.py:finish():362] shutting down directory watcher +2023-02-24 11:45:04,414 INFO SenderThread:10900 [dir_watcher.py:finish():392] scan: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_114452-o512xqpv\files +2023-02-24 11:45:04,415 INFO SenderThread:10900 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_114452-o512xqpv\files\config.yaml config.yaml +2023-02-24 11:45:04,415 INFO SenderThread:10900 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_114452-o512xqpv\files\output.log output.log +2023-02-24 11:45:04,418 INFO SenderThread:10900 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_114452-o512xqpv\files\requirements.txt requirements.txt +2023-02-24 11:45:04,422 INFO SenderThread:10900 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_114452-o512xqpv\files\wandb-metadata.json wandb-metadata.json +2023-02-24 11:45:04,422 INFO SenderThread:10900 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_114452-o512xqpv\files\wandb-summary.json wandb-summary.json +2023-02-24 11:45:04,423 INFO SenderThread:10900 [sender.py:transition_state():587] send defer: 10 +2023-02-24 11:45:04,429 DEBUG HandlerThread:10900 [handler.py:handle_request():144] handle_request: defer +2023-02-24 11:45:04,429 INFO HandlerThread:10900 [handler.py:handle_request_defer():170] handle defer: 10 +2023-02-24 11:45:04,429 DEBUG HandlerThread:10900 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 11:45:04,430 DEBUG SenderThread:10900 [sender.py:send_request():363] send_request: defer +2023-02-24 11:45:04,430 INFO SenderThread:10900 [sender.py:send_request_defer():583] handle sender defer: 10 +2023-02-24 11:45:04,430 INFO SenderThread:10900 [file_pusher.py:finish():162] shutting down file pusher +2023-02-24 11:45:05,181 INFO wandb-upload_2:10900 [upload_job.py:push():138] Uploaded file C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_114452-o512xqpv\files\requirements.txt +2023-02-24 11:45:05,187 INFO wandb-upload_1:10900 [upload_job.py:push():138] Uploaded file C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_114452-o512xqpv\files\output.log +2023-02-24 11:45:05,202 INFO wandb-upload_3:10900 [upload_job.py:push():138] Uploaded file C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_114452-o512xqpv\files\wandb-summary.json +2023-02-24 11:45:05,231 INFO wandb-upload_0:10900 [upload_job.py:push():138] Uploaded file C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_114452-o512xqpv\files\config.yaml +2023-02-24 11:45:05,441 INFO Thread-16 :10900 [sender.py:transition_state():587] send defer: 11 +2023-02-24 11:45:05,442 DEBUG HandlerThread:10900 [handler.py:handle_request():144] handle_request: defer +2023-02-24 11:45:05,442 INFO HandlerThread:10900 [handler.py:handle_request_defer():170] handle defer: 11 +2023-02-24 11:45:05,442 DEBUG SenderThread:10900 [sender.py:send_request():363] send_request: defer +2023-02-24 11:45:05,442 INFO SenderThread:10900 [sender.py:send_request_defer():583] handle sender defer: 11 +2023-02-24 11:45:05,442 INFO SenderThread:10900 [file_pusher.py:join():167] waiting for file pusher +2023-02-24 11:45:05,442 INFO SenderThread:10900 [sender.py:transition_state():587] send defer: 12 +2023-02-24 11:45:05,443 DEBUG HandlerThread:10900 [handler.py:handle_request():144] handle_request: defer +2023-02-24 11:45:05,443 INFO HandlerThread:10900 [handler.py:handle_request_defer():170] handle defer: 12 +2023-02-24 11:45:05,443 DEBUG SenderThread:10900 [sender.py:send_request():363] send_request: defer +2023-02-24 11:45:05,443 INFO SenderThread:10900 [sender.py:send_request_defer():583] handle sender defer: 12 +2023-02-24 11:45:05,650 INFO SenderThread:10900 [sender.py:transition_state():587] send defer: 13 +2023-02-24 11:45:05,650 DEBUG HandlerThread:10900 [handler.py:handle_request():144] handle_request: defer +2023-02-24 11:45:05,650 INFO HandlerThread:10900 [handler.py:handle_request_defer():170] handle defer: 13 +2023-02-24 11:45:05,651 DEBUG SenderThread:10900 [sender.py:send_request():363] send_request: defer +2023-02-24 11:45:05,651 INFO SenderThread:10900 [sender.py:send_request_defer():583] handle sender defer: 13 +2023-02-24 11:45:05,651 INFO SenderThread:10900 [sender.py:transition_state():587] send defer: 14 +2023-02-24 11:45:05,651 DEBUG HandlerThread:10900 [handler.py:handle_request():144] handle_request: defer +2023-02-24 11:45:05,651 INFO HandlerThread:10900 [handler.py:handle_request_defer():170] handle defer: 14 +2023-02-24 11:45:05,652 DEBUG SenderThread:10900 [sender.py:send():336] send: final +2023-02-24 11:45:05,652 DEBUG SenderThread:10900 [sender.py:send():336] send: footer +2023-02-24 11:45:05,652 DEBUG SenderThread:10900 [sender.py:send_request():363] send_request: defer +2023-02-24 11:45:05,652 INFO SenderThread:10900 [sender.py:send_request_defer():583] handle sender defer: 14 +2023-02-24 11:45:05,653 DEBUG HandlerThread:10900 [handler.py:handle_request():144] handle_request: poll_exit +2023-02-24 11:45:05,653 DEBUG HandlerThread:10900 [handler.py:handle_request():144] handle_request: server_info +2023-02-24 11:45:05,653 DEBUG HandlerThread:10900 [handler.py:handle_request():144] handle_request: get_summary +2023-02-24 11:45:05,653 DEBUG SenderThread:10900 [sender.py:send_request():363] send_request: poll_exit +2023-02-24 11:45:05,653 DEBUG HandlerThread:10900 [handler.py:handle_request():144] handle_request: sampled_history +2023-02-24 11:45:05,654 DEBUG SenderThread:10900 [sender.py:send_request():363] send_request: server_info +2023-02-24 11:45:05,855 INFO MainThread:10900 [wandb_run.py:_footer_history_summary_info():3442] rendering history +2023-02-24 11:45:05,855 INFO MainThread:10900 [wandb_run.py:_footer_history_summary_info():3474] rendering summary +2023-02-24 11:45:05,855 INFO MainThread:10900 [wandb_run.py:_footer_sync_info():3398] logging synced files +2023-02-24 11:45:05,855 DEBUG HandlerThread:10900 [handler.py:handle_request():144] handle_request: shutdown +2023-02-24 11:45:05,855 INFO HandlerThread:10900 [handler.py:finish():841] shutting down handler +2023-02-24 11:45:06,655 INFO WriterThread:10900 [datastore.py:close():299] close: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_114452-o512xqpv\run-o512xqpv.wandb +2023-02-24 11:45:06,858 INFO SenderThread:10900 [sender.py:finish():1493] shutting down sender +2023-02-24 11:45:06,858 INFO SenderThread:10900 [file_pusher.py:finish():162] shutting down file pusher +2023-02-24 11:45:06,858 INFO SenderThread:10900 [file_pusher.py:join():167] waiting for file pusher diff --git a/embeddings/wandb/run-20230224_114452-o512xqpv/logs/debug.log b/embeddings/wandb/run-20230224_114452-o512xqpv/logs/debug.log new file mode 100644 index 0000000000000000000000000000000000000000..67d35d2fb51d148688c5b8fe11c6451c18296372 --- /dev/null +++ b/embeddings/wandb/run-20230224_114452-o512xqpv/logs/debug.log @@ -0,0 +1,25 @@ +2023-02-24 11:44:52,996 INFO MainThread:15960 [wandb_setup.py:_flush():68] Configure stats pid to 15960 +2023-02-24 11:44:52,996 INFO MainThread:15960 [wandb_setup.py:_flush():68] Loading settings from C:\Users\liamb\.config\wandb\settings +2023-02-24 11:44:52,996 INFO MainThread:15960 [wandb_setup.py:_flush():68] Loading settings from C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\settings +2023-02-24 11:44:52,996 INFO MainThread:15960 [wandb_setup.py:_flush():68] Loading settings from environment variables: {'_require_service': 'True'} +2023-02-24 11:44:52,996 INFO MainThread:15960 [wandb_setup.py:_flush():68] Inferring run settings from compute environment: {'program_relpath': 'embeddings\\hetero_GAT.py', 'program': 'C:\\Users\\liamb\\Documents\\graph4stackoverflow\\embeddings\\hetero_GAT.py'} +2023-02-24 11:44:52,996 INFO MainThread:15960 [wandb_init.py:_log_setup():492] Logging user logs to C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_114452-o512xqpv\logs\debug.log +2023-02-24 11:44:52,997 INFO MainThread:15960 [wandb_init.py:_log_setup():493] Logging internal logs to C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_114452-o512xqpv\logs\debug-internal.log +2023-02-24 11:44:52,997 INFO MainThread:15960 [wandb_init.py:init():532] calling init triggers +2023-02-24 11:44:52,997 INFO MainThread:15960 [wandb_init.py:init():538] wandb.init called with sweep_config: {} +config: {} +2023-02-24 11:44:52,997 INFO MainThread:15960 [wandb_init.py:init():588] starting backend +2023-02-24 11:44:52,997 INFO MainThread:15960 [wandb_init.py:init():592] setting up manager +2023-02-24 11:44:53,000 INFO MainThread:15960 [backend.py:_multiprocessing_setup():106] multiprocessing start_methods=spawn, using: spawn +2023-02-24 11:44:53,005 INFO MainThread:15960 [wandb_init.py:init():599] backend started and connected +2023-02-24 11:44:53,008 INFO MainThread:15960 [wandb_init.py:init():687] updated telemetry +2023-02-24 11:44:53,057 INFO MainThread:15960 [wandb_init.py:init():727] communicating run to backend with 60.0 second timeout +2023-02-24 11:44:55,330 INFO MainThread:15960 [wandb_run.py:_on_init():2134] communicating current version +2023-02-24 11:44:55,927 INFO MainThread:15960 [wandb_run.py:_on_init():2143] got version response +2023-02-24 11:44:55,928 INFO MainThread:15960 [wandb_init.py:init():775] starting run threads in backend +2023-02-24 11:44:56,092 INFO MainThread:15960 [wandb_run.py:_console_start():2114] atexit reg +2023-02-24 11:44:56,093 INFO MainThread:15960 [wandb_run.py:_redirect():1969] redirect: SettingsConsole.WRAP_RAW +2023-02-24 11:44:56,093 INFO MainThread:15960 [wandb_run.py:_redirect():2034] Wrapping output streams. +2023-02-24 11:44:56,093 INFO MainThread:15960 [wandb_run.py:_redirect():2059] Redirects installed. +2023-02-24 11:44:56,094 INFO MainThread:15960 [wandb_init.py:init():817] run started, returning control to user process +2023-02-24 11:45:06,925 WARNING MsgRouterThr:15960 [router.py:message_loop():77] message_loop has been closed diff --git a/embeddings/wandb/run-20230224_114452-o512xqpv/run-o512xqpv.wandb b/embeddings/wandb/run-20230224_114452-o512xqpv/run-o512xqpv.wandb new file mode 100644 index 0000000000000000000000000000000000000000..82913f75ce076c13489a3f3dea9f417f2c7b1249 Binary files /dev/null and b/embeddings/wandb/run-20230224_114452-o512xqpv/run-o512xqpv.wandb differ diff --git a/embeddings/wandb/run-20230224_115923-vm4jp14g/files/config.yaml b/embeddings/wandb/run-20230224_115923-vm4jp14g/files/config.yaml new file mode 100644 index 0000000000000000000000000000000000000000..1604618937550eef1210ee70f53e271aeb1be2d9 --- /dev/null +++ b/embeddings/wandb/run-20230224_115923-vm4jp14g/files/config.yaml @@ -0,0 +1,40 @@ +wandb_version: 1 + +_wandb: + desc: null + value: + cli_version: 0.13.10 + framework: huggingface + huggingface_version: 4.24.0 + is_jupyter_run: false + is_kaggle_kernel: false + python_version: 3.8.1 + start_time: 1677239963.287443 + t: + 1: + - 1 + - 5 + - 11 + - 33 + - 49 + - 53 + - 55 + - 77 + 2: + - 1 + - 5 + - 11 + - 33 + - 49 + - 53 + - 55 + - 77 + 3: + - 13 + - 23 + 4: 3.8.1 + 5: 0.13.10 + 6: 4.24.0 + 8: + - 3 + - 5 diff --git a/embeddings/wandb/run-20230224_115923-vm4jp14g/files/output.log b/embeddings/wandb/run-20230224_115923-vm4jp14g/files/output.log new file mode 100644 index 0000000000000000000000000000000000000000..8dd8ac4a27fceb2b4c6a88f355480eaf4bc3b759 --- /dev/null +++ b/embeddings/wandb/run-20230224_115923-vm4jp14g/files/output.log @@ -0,0 +1,24 @@ +Traceback (most recent call last): + File "C:\Users\liamb\Documents\graph4stackoverflow\embeddings\hetero_GAT.py", line 140, in <module> + wandb.log(data_details) + File "C:\Users\liamb\Documents\graph4stackoverflow\venv\lib\site-packages\wandb\sdk\wandb_run.py", line 371, in wrapper + return func(self, *args, **kwargs) + File "C:\Users\liamb\Documents\graph4stackoverflow\venv\lib\site-packages\wandb\sdk\wandb_run.py", line 334, in wrapper + return func(self, *args, **kwargs) + File "C:\Users\liamb\Documents\graph4stackoverflow\venv\lib\site-packages\wandb\sdk\wandb_run.py", line 1713, in log + self._log(data=data, step=step, commit=commit) + File "C:\Users\liamb\Documents\graph4stackoverflow\venv\lib\site-packages\wandb\sdk\wandb_run.py", line 1495, in _log + self._partial_history_callback(data, step, commit) + File "C:\Users\liamb\Documents\graph4stackoverflow\venv\lib\site-packages\wandb\sdk\wandb_run.py", line 1365, in _partial_history_callback + self._backend.interface.publish_partial_history( + File "C:\Users\liamb\Documents\graph4stackoverflow\venv\lib\site-packages\wandb\sdk\interface\interface.py", line 580, in publish_partial_history + item.value_json = json_dumps_safer_history(v) + File "C:\Users\liamb\Documents\graph4stackoverflow\venv\lib\site-packages\wandb\util.py", line 953, in json_dumps_safer_history + return json.dumps(obj, cls=WandBHistoryJSONEncoder, **kwargs) + File "C:\Users\liamb\AppData\Local\Programs\Python\Python38\lib\json\__init__.py", line 234, in dumps + return cls( + File "C:\Users\liamb\AppData\Local\Programs\Python\Python38\lib\json\encoder.py", line 199, in encode + chunks = self.iterencode(o, _one_shot=True) + File "C:\Users\liamb\AppData\Local\Programs\Python\Python38\lib\json\encoder.py", line 257, in iterencode + return _iterencode(o, 0) +TypeError: keys must be str, int, float, bool or None, not tuple \ No newline at end of file diff --git a/embeddings/wandb/run-20230224_115923-vm4jp14g/files/requirements.txt b/embeddings/wandb/run-20230224_115923-vm4jp14g/files/requirements.txt new file mode 100644 index 0000000000000000000000000000000000000000..d7de821539624662109e252a91c4907a963ad5fb --- /dev/null +++ b/embeddings/wandb/run-20230224_115923-vm4jp14g/files/requirements.txt @@ -0,0 +1,170 @@ +absl-py==1.3.0 +anyio==3.6.2 +appdirs==1.4.4 +argon2-cffi-bindings==21.2.0 +argon2-cffi==21.3.0 +asttokens==2.1.0 +astunparse==1.6.3 +attrs==22.1.0 +backcall==0.2.0 +beautifulsoup4==4.11.1 +bleach==5.0.1 +blis==0.7.9 +bs4==0.0.1 +cachetools==5.2.0 +catalogue==2.0.8 +certifi==2022.9.24 +cffi==1.15.1 +charset-normalizer==2.1.1 +click==8.1.3 +colorama==0.4.6 +confection==0.0.3 +contourpy==1.0.6 +cycler==0.11.0 +cymem==2.0.7 +debugpy==1.6.3 +decorator==5.1.1 +defusedxml==0.7.1 +dgl==0.9.1 +docker-pycreds==0.4.0 +en-core-web-sm==3.4.1 +entrypoints==0.4 +executing==1.2.0 +fastjsonschema==2.16.2 +filelock==3.8.0 +fonttools==4.38.0 +gitdb==4.0.10 +gitpython==3.1.31 +google-auth-oauthlib==0.4.6 +google-auth==2.14.0 +graph4nlp==0.5.5 +grpcio==1.50.0 +huggingface-hub==0.10.1 +idna==3.4 +importlib-metadata==5.0.0 +importlib-resources==5.10.0 +ipykernel==6.16.2 +ipython-genutils==0.2.0 +ipython==8.6.0 +ipywidgets==8.0.2 +jedi==0.18.1 +jinja2==3.1.2 +joblib==1.2.0 +jsonschema==4.16.0 +jupyter-client==7.4.4 +jupyter-console==6.4.4 +jupyter-core==4.11.2 +jupyter-server==1.21.0 +jupyter==1.0.0 +jupyterlab-pygments==0.2.2 +jupyterlab-widgets==3.0.3 +kiwisolver==1.4.4 +langcodes==3.3.0 +littleutils==0.2.2 +lxml==4.9.1 +markdown==3.4.1 +markupsafe==2.1.1 +matplotlib-inline==0.1.6 +matplotlib==3.6.2 +mistune==2.0.4 +murmurhash==1.0.9 +nbclassic==0.4.7 +nbclient==0.7.0 +nbconvert==7.2.3 +nbformat==5.7.0 +nest-asyncio==1.5.6 +networkx==2.8.8 +nltk==3.7 +notebook-shim==0.2.0 +notebook==6.5.2 +numpy==1.23.5 +oauthlib==3.2.2 +ogb==1.3.5 +outdated==0.2.2 +packaging==21.3 +pandas==1.5.1 +pandocfilters==1.5.0 +parso==0.8.3 +pathtools==0.1.2 +pathy==0.6.2 +pickleshare==0.7.5 +pillow==9.3.0 +pip==21.3.1 +pkgutil-resolve-name==1.3.10 +plotly==5.13.0 +preshed==3.0.8 +prometheus-client==0.15.0 +prompt-toolkit==3.0.31 +protobuf==3.19.6 +psutil==5.9.3 +pure-eval==0.2.2 +pyasn1-modules==0.2.8 +pyasn1==0.4.8 +pycparser==2.21 +pydantic==1.10.2 +pygments==2.13.0 +pyparsing==3.0.9 +pyrsistent==0.18.1 +python-dateutil==2.8.2 +pythonds==1.2.1 +pytz==2022.5 +pywin32==304 +pywinpty==2.0.9 +pyyaml==6.0 +pyzmq==24.0.1 +qtconsole==5.3.2 +qtpy==2.2.1 +regex==2022.10.31 +requests-oauthlib==1.3.1 +requests==2.28.1 +rsa==4.9 +scikit-learn==1.1.3 +scipy==1.9.3 +send2trash==1.8.0 +sentry-sdk==1.15.0 +setproctitle==1.3.2 +setuptools==60.2.0 +six==1.16.0 +smart-open==5.2.1 +smmap==5.0.0 +sniffio==1.3.0 +soupsieve==2.3.2.post1 +spacy-legacy==3.0.10 +spacy-loggers==1.0.3 +spacy==3.4.2 +srsly==2.4.5 +stack-data==0.6.0 +stanfordcorenlp==3.9.1.1 +tenacity==8.2.1 +tensorboard-data-server==0.6.1 +tensorboard-plugin-wit==1.8.1 +tensorboard==2.10.1 +terminado==0.17.0 +thinc==8.1.5 +threadpoolctl==3.1.0 +tinycss2==1.2.1 +tokenizers==0.13.2 +torch-cluster==1.6.0+pt113cpu +torch-geometric==2.2.0 +torch-scatter==2.1.0+pt113cpu +torch-sparse==0.6.16+pt113cpu +torch-spline-conv==1.2.1+pt113cpu +torch==1.13.0 +torchsummary==1.5.1 +torchtext==0.14.0 +tornado==6.2 +tqdm==4.64.1 +traitlets==5.5.0 +transformers==4.24.0 +typer==0.4.2 +typing-extensions==4.4.0 +urllib3==1.26.12 +wandb==0.13.10 +wasabi==0.10.1 +wcwidth==0.2.5 +webencodings==0.5.1 +websocket-client==1.4.1 +werkzeug==2.2.2 +wheel==0.37.1 +widgetsnbextension==4.0.3 +zipp==3.10.0 \ No newline at end of file diff --git a/embeddings/wandb/run-20230224_115923-vm4jp14g/files/wandb-metadata.json b/embeddings/wandb/run-20230224_115923-vm4jp14g/files/wandb-metadata.json new file mode 100644 index 0000000000000000000000000000000000000000..caa7e91bf298b25428cdb372d0113678b6d04c9d --- /dev/null +++ b/embeddings/wandb/run-20230224_115923-vm4jp14g/files/wandb-metadata.json @@ -0,0 +1,42 @@ +{ + "os": "Windows-10-10.0.19041-SP0", + "python": "3.8.1", + "heartbeatAt": "2023-02-24T11:59:23.870010", + "startedAt": "2023-02-24T11:59:23.274441", + "docker": null, + "cuda": null, + "args": [], + "state": "running", + "program": "C:\\Users\\liamb\\Documents\\graph4stackoverflow\\embeddings\\hetero_GAT.py", + "codePath": "embeddings\\hetero_GAT.py", + "git": { + "remote": "https://git.soton.ac.uk/lhb1g20/graph4stackoverflow.git", + "commit": "ced992d661984f7b87d1a3e76768e4ff7af78245" + }, + "email": "liambyrneh@gmail.com", + "root": "C:/Users/liamb/Documents/graph4stackoverflow", + "host": "DESKTOP-P7BETFF", + "username": "liamb", + "executable": "C:\\Users\\liamb\\Documents\\graph4stackoverflow\\venv\\Scripts\\python.exe", + "cpu_count": 2, + "cpu_count_logical": 4, + "cpu_freq": { + "current": 3504.0, + "min": 0.0, + "max": 3504.0 + }, + "cpu_freq_per_core": [ + { + "current": 3504.0, + "min": 0.0, + "max": 3504.0 + } + ], + "disk": { + "total": 475.71581649780273, + "used": 352.37733459472656 + }, + "memory": { + "total": 31.89160919189453 + } +} diff --git a/embeddings/wandb/run-20230224_115923-vm4jp14g/files/wandb-summary.json b/embeddings/wandb/run-20230224_115923-vm4jp14g/files/wandb-summary.json new file mode 100644 index 0000000000000000000000000000000000000000..fe9e22cf416d08fa3b43b9f0c278f2270e8d86cd --- /dev/null +++ b/embeddings/wandb/run-20230224_115923-vm4jp14g/files/wandb-summary.json @@ -0,0 +1 @@ +{"_wandb": {"runtime": 0}} \ No newline at end of file diff --git a/embeddings/wandb/run-20230224_115923-vm4jp14g/logs/debug-internal.log b/embeddings/wandb/run-20230224_115923-vm4jp14g/logs/debug-internal.log new file mode 100644 index 0000000000000000000000000000000000000000..8cc21d65d1dad22086cc50a9fea65c631ff51dba --- /dev/null +++ b/embeddings/wandb/run-20230224_115923-vm4jp14g/logs/debug-internal.log @@ -0,0 +1,168 @@ +2023-02-24 11:59:23,287 INFO StreamThr :14952 [internal.py:wandb_internal():87] W&B internal server running at pid: 14952, started at: 2023-02-24 11:59:23.287443 +2023-02-24 11:59:23,289 DEBUG HandlerThread:14952 [handler.py:handle_request():144] handle_request: status +2023-02-24 11:59:23,291 INFO WriterThread:14952 [datastore.py:open_for_write():85] open: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_115923-vm4jp14g\run-vm4jp14g.wandb +2023-02-24 11:59:23,294 DEBUG SenderThread:14952 [sender.py:send():336] send: header +2023-02-24 11:59:23,339 DEBUG SenderThread:14952 [sender.py:send():336] send: run +2023-02-24 11:59:23,771 INFO SenderThread:14952 [dir_watcher.py:__init__():216] watching files in: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_115923-vm4jp14g\files +2023-02-24 11:59:23,771 INFO SenderThread:14952 [sender.py:_start_run_threads():1067] run started: vm4jp14g with start time 1677239963.287443 +2023-02-24 11:59:23,772 DEBUG SenderThread:14952 [sender.py:send_request():363] send_request: summary_record +2023-02-24 11:59:23,772 DEBUG HandlerThread:14952 [handler.py:handle_request():144] handle_request: check_version +2023-02-24 11:59:23,773 INFO SenderThread:14952 [sender.py:_save_file():1321] saving file wandb-summary.json with policy end +2023-02-24 11:59:23,773 DEBUG SenderThread:14952 [sender.py:send_request():363] send_request: check_version +2023-02-24 11:59:23,849 DEBUG HandlerThread:14952 [handler.py:handle_request():144] handle_request: run_start +2023-02-24 11:59:23,866 DEBUG HandlerThread:14952 [system_info.py:__init__():31] System info init +2023-02-24 11:59:23,866 DEBUG HandlerThread:14952 [system_info.py:__init__():46] System info init done +2023-02-24 11:59:23,866 INFO HandlerThread:14952 [system_monitor.py:start():151] Starting system monitor +2023-02-24 11:59:23,867 INFO SystemMonitor:14952 [system_monitor.py:_start():116] Starting system asset monitoring threads +2023-02-24 11:59:23,867 INFO HandlerThread:14952 [system_monitor.py:probe():172] Collecting system info +2023-02-24 11:59:23,870 DEBUG HandlerThread:14952 [system_info.py:probe():195] Probing system +2023-02-24 11:59:23,870 INFO SystemMonitor:14952 [interfaces.py:start():168] Started cpu +2023-02-24 11:59:23,871 INFO SystemMonitor:14952 [interfaces.py:start():168] Started disk +2023-02-24 11:59:23,872 INFO SystemMonitor:14952 [interfaces.py:start():168] Started memory +2023-02-24 11:59:23,881 INFO SystemMonitor:14952 [interfaces.py:start():168] Started network +2023-02-24 11:59:23,890 DEBUG HandlerThread:14952 [system_info.py:_probe_git():180] Probing git +2023-02-24 11:59:23,981 DEBUG HandlerThread:14952 [system_info.py:_probe_git():188] Probing git done +2023-02-24 11:59:23,981 DEBUG HandlerThread:14952 [system_info.py:probe():241] Probing system done +2023-02-24 11:59:23,981 DEBUG HandlerThread:14952 [system_monitor.py:probe():181] {'os': 'Windows-10-10.0.19041-SP0', 'python': '3.8.1', 'heartbeatAt': '2023-02-24T11:59:23.870010', 'startedAt': '2023-02-24T11:59:23.274441', 'docker': None, 'cuda': None, 'args': (), 'state': 'running', 'program': 'C:\\Users\\liamb\\Documents\\graph4stackoverflow\\embeddings\\hetero_GAT.py', 'codePath': 'embeddings\\hetero_GAT.py', 'git': {'remote': 'https://git.soton.ac.uk/lhb1g20/graph4stackoverflow.git', 'commit': 'ced992d661984f7b87d1a3e76768e4ff7af78245'}, 'email': 'liambyrneh@gmail.com', 'root': 'C:/Users/liamb/Documents/graph4stackoverflow', 'host': 'DESKTOP-P7BETFF', 'username': 'liamb', 'executable': 'C:\\Users\\liamb\\Documents\\graph4stackoverflow\\venv\\Scripts\\python.exe', 'cpu_count': 2, 'cpu_count_logical': 4, 'cpu_freq': {'current': 3504.0, 'min': 0.0, 'max': 3504.0}, 'cpu_freq_per_core': [{'current': 3504.0, 'min': 0.0, 'max': 3504.0}], 'disk': {'total': 475.71581649780273, 'used': 352.37733459472656}, 'memory': {'total': 31.89160919189453}} +2023-02-24 11:59:23,981 INFO HandlerThread:14952 [system_monitor.py:probe():182] Finished collecting system info +2023-02-24 11:59:23,981 INFO HandlerThread:14952 [system_monitor.py:probe():185] Publishing system info +2023-02-24 11:59:23,981 DEBUG HandlerThread:14952 [system_info.py:_save_pip():51] Saving list of pip packages installed into the current environment +2023-02-24 11:59:23,982 DEBUG HandlerThread:14952 [system_info.py:_save_pip():67] Saving pip packages done +2023-02-24 11:59:23,983 INFO HandlerThread:14952 [system_monitor.py:probe():187] Finished publishing system info +2023-02-24 11:59:23,992 DEBUG SenderThread:14952 [sender.py:send():336] send: files +2023-02-24 11:59:23,992 INFO SenderThread:14952 [sender.py:_save_file():1321] saving file wandb-metadata.json with policy now +2023-02-24 11:59:23,999 DEBUG HandlerThread:14952 [handler.py:handle_request():144] handle_request: stop_status +2023-02-24 11:59:23,999 DEBUG SenderThread:14952 [sender.py:send_request():363] send_request: stop_status +2023-02-24 11:59:24,151 DEBUG SenderThread:14952 [sender.py:send():336] send: telemetry +2023-02-24 11:59:24,153 DEBUG SenderThread:14952 [sender.py:send():336] send: exit +2023-02-24 11:59:24,153 INFO SenderThread:14952 [sender.py:send_exit():559] handling exit code: 1 +2023-02-24 11:59:24,153 INFO SenderThread:14952 [sender.py:send_exit():561] handling runtime: 0 +2023-02-24 11:59:24,154 INFO SenderThread:14952 [sender.py:_save_file():1321] saving file wandb-summary.json with policy end +2023-02-24 11:59:24,154 INFO SenderThread:14952 [sender.py:send_exit():567] send defer +2023-02-24 11:59:24,154 DEBUG HandlerThread:14952 [handler.py:handle_request():144] handle_request: defer +2023-02-24 11:59:24,155 INFO HandlerThread:14952 [handler.py:handle_request_defer():170] handle defer: 0 +2023-02-24 11:59:24,155 DEBUG SenderThread:14952 [sender.py:send_request():363] send_request: defer +2023-02-24 11:59:24,155 INFO SenderThread:14952 [sender.py:send_request_defer():583] handle sender defer: 0 +2023-02-24 11:59:24,155 INFO SenderThread:14952 [sender.py:transition_state():587] send defer: 1 +2023-02-24 11:59:24,155 DEBUG HandlerThread:14952 [handler.py:handle_request():144] handle_request: defer +2023-02-24 11:59:24,155 INFO HandlerThread:14952 [handler.py:handle_request_defer():170] handle defer: 1 +2023-02-24 11:59:24,156 DEBUG SenderThread:14952 [sender.py:send_request():363] send_request: defer +2023-02-24 11:59:24,156 INFO SenderThread:14952 [sender.py:send_request_defer():583] handle sender defer: 1 +2023-02-24 11:59:24,156 INFO SenderThread:14952 [sender.py:transition_state():587] send defer: 2 +2023-02-24 11:59:24,157 DEBUG HandlerThread:14952 [handler.py:handle_request():144] handle_request: defer +2023-02-24 11:59:24,157 INFO HandlerThread:14952 [handler.py:handle_request_defer():170] handle defer: 2 +2023-02-24 11:59:24,157 INFO HandlerThread:14952 [system_monitor.py:finish():161] Stopping system monitor +2023-02-24 11:59:24,157 DEBUG SystemMonitor:14952 [system_monitor.py:_start():130] Starting system metrics aggregation loop +2023-02-24 11:59:24,157 DEBUG SystemMonitor:14952 [system_monitor.py:_start():137] Finished system metrics aggregation loop +2023-02-24 11:59:24,157 DEBUG SystemMonitor:14952 [system_monitor.py:_start():141] Publishing last batch of metrics +2023-02-24 11:59:24,158 INFO HandlerThread:14952 [interfaces.py:finish():175] Joined cpu +2023-02-24 11:59:24,158 INFO HandlerThread:14952 [interfaces.py:finish():175] Joined disk +2023-02-24 11:59:24,158 INFO HandlerThread:14952 [interfaces.py:finish():175] Joined memory +2023-02-24 11:59:24,158 INFO HandlerThread:14952 [interfaces.py:finish():175] Joined network +2023-02-24 11:59:24,160 DEBUG SenderThread:14952 [sender.py:send_request():363] send_request: defer +2023-02-24 11:59:24,160 INFO SenderThread:14952 [sender.py:send_request_defer():583] handle sender defer: 2 +2023-02-24 11:59:24,160 INFO SenderThread:14952 [sender.py:transition_state():587] send defer: 3 +2023-02-24 11:59:24,160 DEBUG SenderThread:14952 [sender.py:send():336] send: stats +2023-02-24 11:59:24,160 DEBUG HandlerThread:14952 [handler.py:handle_request():144] handle_request: defer +2023-02-24 11:59:24,160 INFO HandlerThread:14952 [handler.py:handle_request_defer():170] handle defer: 3 +2023-02-24 11:59:24,162 DEBUG SenderThread:14952 [sender.py:send_request():363] send_request: defer +2023-02-24 11:59:24,163 INFO SenderThread:14952 [sender.py:send_request_defer():583] handle sender defer: 3 +2023-02-24 11:59:24,163 INFO SenderThread:14952 [sender.py:transition_state():587] send defer: 4 +2023-02-24 11:59:24,163 DEBUG HandlerThread:14952 [handler.py:handle_request():144] handle_request: defer +2023-02-24 11:59:24,163 INFO HandlerThread:14952 [handler.py:handle_request_defer():170] handle defer: 4 +2023-02-24 11:59:24,163 DEBUG SenderThread:14952 [sender.py:send_request():363] send_request: defer +2023-02-24 11:59:24,163 INFO SenderThread:14952 [sender.py:send_request_defer():583] handle sender defer: 4 +2023-02-24 11:59:24,163 INFO SenderThread:14952 [sender.py:transition_state():587] send defer: 5 +2023-02-24 11:59:24,163 DEBUG HandlerThread:14952 [handler.py:handle_request():144] handle_request: defer +2023-02-24 11:59:24,163 INFO HandlerThread:14952 [handler.py:handle_request_defer():170] handle defer: 5 +2023-02-24 11:59:24,164 DEBUG SenderThread:14952 [sender.py:send():336] send: summary +2023-02-24 11:59:24,164 INFO SenderThread:14952 [sender.py:_save_file():1321] saving file wandb-summary.json with policy end +2023-02-24 11:59:24,165 DEBUG SenderThread:14952 [sender.py:send_request():363] send_request: defer +2023-02-24 11:59:24,165 INFO SenderThread:14952 [sender.py:send_request_defer():583] handle sender defer: 5 +2023-02-24 11:59:24,165 INFO SenderThread:14952 [sender.py:transition_state():587] send defer: 6 +2023-02-24 11:59:24,165 DEBUG HandlerThread:14952 [handler.py:handle_request():144] handle_request: defer +2023-02-24 11:59:24,165 INFO HandlerThread:14952 [handler.py:handle_request_defer():170] handle defer: 6 +2023-02-24 11:59:24,165 DEBUG SenderThread:14952 [sender.py:send_request():363] send_request: defer +2023-02-24 11:59:24,165 INFO SenderThread:14952 [sender.py:send_request_defer():583] handle sender defer: 6 +2023-02-24 11:59:24,170 DEBUG HandlerThread:14952 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 11:59:24,350 INFO SenderThread:14952 [sender.py:transition_state():587] send defer: 7 +2023-02-24 11:59:24,350 DEBUG HandlerThread:14952 [handler.py:handle_request():144] handle_request: defer +2023-02-24 11:59:24,350 INFO HandlerThread:14952 [handler.py:handle_request_defer():170] handle defer: 7 +2023-02-24 11:59:24,351 DEBUG SenderThread:14952 [sender.py:send_request():363] send_request: defer +2023-02-24 11:59:24,351 INFO SenderThread:14952 [sender.py:send_request_defer():583] handle sender defer: 7 +2023-02-24 11:59:24,590 INFO wandb-upload_0:14952 [upload_job.py:push():138] Uploaded file C:\Users\liamb\AppData\Local\Temp\tmp6u00l1sxwandb\srbfekf4-wandb-metadata.json +2023-02-24 11:59:24,782 INFO Thread-17 :14952 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_115923-vm4jp14g\files\config.yaml +2023-02-24 11:59:24,782 INFO Thread-17 :14952 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_115923-vm4jp14g\files\output.log +2023-02-24 11:59:24,782 INFO Thread-17 :14952 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_115923-vm4jp14g\files\wandb-metadata.json +2023-02-24 11:59:24,783 INFO Thread-17 :14952 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_115923-vm4jp14g\files\wandb-summary.json +2023-02-24 11:59:24,783 INFO Thread-17 :14952 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_115923-vm4jp14g\files\requirements.txt +2023-02-24 11:59:25,014 DEBUG HandlerThread:14952 [handler.py:handle_request():144] handle_request: poll_exit +2023-02-24 11:59:26,165 INFO SenderThread:14952 [sender.py:transition_state():587] send defer: 8 +2023-02-24 11:59:26,166 DEBUG SenderThread:14952 [sender.py:send_request():363] send_request: poll_exit +2023-02-24 11:59:26,166 DEBUG HandlerThread:14952 [handler.py:handle_request():144] handle_request: defer +2023-02-24 11:59:26,166 INFO HandlerThread:14952 [handler.py:handle_request_defer():170] handle defer: 8 +2023-02-24 11:59:26,167 DEBUG SenderThread:14952 [sender.py:send_request():363] send_request: defer +2023-02-24 11:59:26,167 INFO SenderThread:14952 [sender.py:send_request_defer():583] handle sender defer: 8 +2023-02-24 11:59:26,181 INFO SenderThread:14952 [sender.py:transition_state():587] send defer: 9 +2023-02-24 11:59:26,181 DEBUG HandlerThread:14952 [handler.py:handle_request():144] handle_request: defer +2023-02-24 11:59:26,181 DEBUG SenderThread:14952 [sender.py:send():336] send: artifact +2023-02-24 11:59:26,181 INFO HandlerThread:14952 [handler.py:handle_request_defer():170] handle defer: 9 +2023-02-24 11:59:26,797 INFO Thread-17 :14952 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_115923-vm4jp14g\files\output.log +2023-02-24 11:59:27,104 INFO SenderThread:14952 [sender.py:send_artifact():1417] sent artifact job-https___git.soton.ac.uk_lhb1g20_graph4stackoverflow.git_embeddings_hetero_GAT.py - {'id': 'QXJ0aWZhY3Q6MzgwMzY3ODUz', 'digest': 'dbe34f6e8b990dacc5d7c5e1ab1d02a4', 'state': 'COMMITTED', 'aliases': [{'artifactCollectionName': 'job-https___git.soton.ac.uk_lhb1g20_graph4stackoverflow.git_embeddings_hetero_GAT.py', 'alias': 'latest'}, {'artifactCollectionName': 'job-https___git.soton.ac.uk_lhb1g20_graph4stackoverflow.git_embeddings_hetero_GAT.py', 'alias': 'v0'}], 'artifactSequence': {'id': 'QXJ0aWZhY3RDb2xsZWN0aW9uOjU0NTg3MzU0', 'latestArtifact': {'id': 'QXJ0aWZhY3Q6MzgwMzY3ODUz', 'versionIndex': 0}}, 'version': 'v0'} +2023-02-24 11:59:27,105 DEBUG SenderThread:14952 [sender.py:send_request():363] send_request: defer +2023-02-24 11:59:27,105 INFO SenderThread:14952 [sender.py:send_request_defer():583] handle sender defer: 9 +2023-02-24 11:59:27,105 INFO SenderThread:14952 [dir_watcher.py:finish():362] shutting down directory watcher +2023-02-24 11:59:27,810 INFO SenderThread:14952 [dir_watcher.py:finish():392] scan: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_115923-vm4jp14g\files +2023-02-24 11:59:27,811 INFO SenderThread:14952 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_115923-vm4jp14g\files\config.yaml config.yaml +2023-02-24 11:59:27,811 INFO SenderThread:14952 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_115923-vm4jp14g\files\output.log output.log +2023-02-24 11:59:27,814 INFO SenderThread:14952 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_115923-vm4jp14g\files\requirements.txt requirements.txt +2023-02-24 11:59:27,818 INFO SenderThread:14952 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_115923-vm4jp14g\files\wandb-metadata.json wandb-metadata.json +2023-02-24 11:59:27,818 INFO SenderThread:14952 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_115923-vm4jp14g\files\wandb-summary.json wandb-summary.json +2023-02-24 11:59:27,821 INFO SenderThread:14952 [sender.py:transition_state():587] send defer: 10 +2023-02-24 11:59:27,822 DEBUG HandlerThread:14952 [handler.py:handle_request():144] handle_request: defer +2023-02-24 11:59:27,822 INFO HandlerThread:14952 [handler.py:handle_request_defer():170] handle defer: 10 +2023-02-24 11:59:27,826 DEBUG SenderThread:14952 [sender.py:send_request():363] send_request: defer +2023-02-24 11:59:27,826 INFO SenderThread:14952 [sender.py:send_request_defer():583] handle sender defer: 10 +2023-02-24 11:59:27,826 INFO SenderThread:14952 [file_pusher.py:finish():162] shutting down file pusher +2023-02-24 11:59:28,462 INFO wandb-upload_3:14952 [upload_job.py:push():138] Uploaded file C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_115923-vm4jp14g\files\wandb-summary.json +2023-02-24 11:59:28,578 INFO wandb-upload_0:14952 [upload_job.py:push():138] Uploaded file C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_115923-vm4jp14g\files\config.yaml +2023-02-24 11:59:28,664 INFO wandb-upload_2:14952 [upload_job.py:push():138] Uploaded file C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_115923-vm4jp14g\files\requirements.txt +2023-02-24 11:59:28,922 INFO wandb-upload_1:14952 [upload_job.py:push():138] Uploaded file C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_115923-vm4jp14g\files\output.log +2023-02-24 11:59:29,130 INFO Thread-16 :14952 [sender.py:transition_state():587] send defer: 11 +2023-02-24 11:59:29,130 DEBUG HandlerThread:14952 [handler.py:handle_request():144] handle_request: defer +2023-02-24 11:59:29,130 INFO HandlerThread:14952 [handler.py:handle_request_defer():170] handle defer: 11 +2023-02-24 11:59:29,130 DEBUG SenderThread:14952 [sender.py:send_request():363] send_request: defer +2023-02-24 11:59:29,130 INFO SenderThread:14952 [sender.py:send_request_defer():583] handle sender defer: 11 +2023-02-24 11:59:29,130 INFO SenderThread:14952 [file_pusher.py:join():167] waiting for file pusher +2023-02-24 11:59:29,130 INFO SenderThread:14952 [sender.py:transition_state():587] send defer: 12 +2023-02-24 11:59:29,130 DEBUG HandlerThread:14952 [handler.py:handle_request():144] handle_request: defer +2023-02-24 11:59:29,131 INFO HandlerThread:14952 [handler.py:handle_request_defer():170] handle defer: 12 +2023-02-24 11:59:29,131 DEBUG SenderThread:14952 [sender.py:send_request():363] send_request: defer +2023-02-24 11:59:29,131 INFO SenderThread:14952 [sender.py:send_request_defer():583] handle sender defer: 12 +2023-02-24 11:59:29,279 INFO SenderThread:14952 [sender.py:transition_state():587] send defer: 13 +2023-02-24 11:59:29,279 DEBUG HandlerThread:14952 [handler.py:handle_request():144] handle_request: defer +2023-02-24 11:59:29,279 INFO HandlerThread:14952 [handler.py:handle_request_defer():170] handle defer: 13 +2023-02-24 11:59:29,279 DEBUG SenderThread:14952 [sender.py:send_request():363] send_request: defer +2023-02-24 11:59:29,279 INFO SenderThread:14952 [sender.py:send_request_defer():583] handle sender defer: 13 +2023-02-24 11:59:29,280 INFO SenderThread:14952 [sender.py:transition_state():587] send defer: 14 +2023-02-24 11:59:29,280 DEBUG SenderThread:14952 [sender.py:send():336] send: final +2023-02-24 11:59:29,280 DEBUG SenderThread:14952 [sender.py:send():336] send: footer +2023-02-24 11:59:29,280 DEBUG HandlerThread:14952 [handler.py:handle_request():144] handle_request: defer +2023-02-24 11:59:29,280 INFO HandlerThread:14952 [handler.py:handle_request_defer():170] handle defer: 14 +2023-02-24 11:59:29,281 DEBUG SenderThread:14952 [sender.py:send_request():363] send_request: defer +2023-02-24 11:59:29,281 INFO SenderThread:14952 [sender.py:send_request_defer():583] handle sender defer: 14 +2023-02-24 11:59:29,281 DEBUG HandlerThread:14952 [handler.py:handle_request():144] handle_request: poll_exit +2023-02-24 11:59:29,282 DEBUG HandlerThread:14952 [handler.py:handle_request():144] handle_request: server_info +2023-02-24 11:59:29,282 DEBUG HandlerThread:14952 [handler.py:handle_request():144] handle_request: get_summary +2023-02-24 11:59:29,282 DEBUG HandlerThread:14952 [handler.py:handle_request():144] handle_request: sampled_history +2023-02-24 11:59:29,282 DEBUG SenderThread:14952 [sender.py:send_request():363] send_request: poll_exit +2023-02-24 11:59:29,283 DEBUG SenderThread:14952 [sender.py:send_request():363] send_request: server_info +2023-02-24 11:59:29,444 INFO MainThread:14952 [wandb_run.py:_footer_history_summary_info():3442] rendering history +2023-02-24 11:59:29,444 INFO MainThread:14952 [wandb_run.py:_footer_history_summary_info():3474] rendering summary +2023-02-24 11:59:29,444 INFO MainThread:14952 [wandb_run.py:_footer_sync_info():3398] logging synced files +2023-02-24 11:59:29,445 DEBUG HandlerThread:14952 [handler.py:handle_request():144] handle_request: shutdown +2023-02-24 11:59:29,445 INFO HandlerThread:14952 [handler.py:finish():841] shutting down handler +2023-02-24 11:59:30,294 INFO WriterThread:14952 [datastore.py:close():299] close: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_115923-vm4jp14g\run-vm4jp14g.wandb +2023-02-24 11:59:30,449 INFO SenderThread:14952 [sender.py:finish():1493] shutting down sender +2023-02-24 11:59:30,449 INFO SenderThread:14952 [file_pusher.py:finish():162] shutting down file pusher +2023-02-24 11:59:30,449 INFO SenderThread:14952 [file_pusher.py:join():167] waiting for file pusher diff --git a/embeddings/wandb/run-20230224_115923-vm4jp14g/logs/debug.log b/embeddings/wandb/run-20230224_115923-vm4jp14g/logs/debug.log new file mode 100644 index 0000000000000000000000000000000000000000..a674f60958d67fc4eaf51611bd5dad4637021bce --- /dev/null +++ b/embeddings/wandb/run-20230224_115923-vm4jp14g/logs/debug.log @@ -0,0 +1,25 @@ +2023-02-24 11:59:23,277 INFO MainThread:14384 [wandb_setup.py:_flush():68] Configure stats pid to 14384 +2023-02-24 11:59:23,278 INFO MainThread:14384 [wandb_setup.py:_flush():68] Loading settings from C:\Users\liamb\.config\wandb\settings +2023-02-24 11:59:23,278 INFO MainThread:14384 [wandb_setup.py:_flush():68] Loading settings from C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\settings +2023-02-24 11:59:23,278 INFO MainThread:14384 [wandb_setup.py:_flush():68] Loading settings from environment variables: {'_require_service': 'True'} +2023-02-24 11:59:23,278 INFO MainThread:14384 [wandb_setup.py:_flush():68] Inferring run settings from compute environment: {'program_relpath': 'embeddings\\hetero_GAT.py', 'program': 'C:\\Users\\liamb\\Documents\\graph4stackoverflow\\embeddings\\hetero_GAT.py'} +2023-02-24 11:59:23,279 INFO MainThread:14384 [wandb_init.py:_log_setup():492] Logging user logs to C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_115923-vm4jp14g\logs\debug.log +2023-02-24 11:59:23,279 INFO MainThread:14384 [wandb_init.py:_log_setup():493] Logging internal logs to C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_115923-vm4jp14g\logs\debug-internal.log +2023-02-24 11:59:23,279 INFO MainThread:14384 [wandb_init.py:init():532] calling init triggers +2023-02-24 11:59:23,279 INFO MainThread:14384 [wandb_init.py:init():538] wandb.init called with sweep_config: {} +config: {} +2023-02-24 11:59:23,280 INFO MainThread:14384 [wandb_init.py:init():588] starting backend +2023-02-24 11:59:23,280 INFO MainThread:14384 [wandb_init.py:init():592] setting up manager +2023-02-24 11:59:23,282 INFO MainThread:14384 [backend.py:_multiprocessing_setup():106] multiprocessing start_methods=spawn, using: spawn +2023-02-24 11:59:23,286 INFO MainThread:14384 [wandb_init.py:init():599] backend started and connected +2023-02-24 11:59:23,288 INFO MainThread:14384 [wandb_init.py:init():687] updated telemetry +2023-02-24 11:59:23,338 INFO MainThread:14384 [wandb_init.py:init():727] communicating run to backend with 60.0 second timeout +2023-02-24 11:59:23,771 INFO MainThread:14384 [wandb_run.py:_on_init():2134] communicating current version +2023-02-24 11:59:23,841 INFO MainThread:14384 [wandb_run.py:_on_init():2143] got version response +2023-02-24 11:59:23,842 INFO MainThread:14384 [wandb_init.py:init():775] starting run threads in backend +2023-02-24 11:59:23,999 INFO MainThread:14384 [wandb_run.py:_console_start():2114] atexit reg +2023-02-24 11:59:24,000 INFO MainThread:14384 [wandb_run.py:_redirect():1969] redirect: SettingsConsole.WRAP_RAW +2023-02-24 11:59:24,000 INFO MainThread:14384 [wandb_run.py:_redirect():2034] Wrapping output streams. +2023-02-24 11:59:24,000 INFO MainThread:14384 [wandb_run.py:_redirect():2059] Redirects installed. +2023-02-24 11:59:24,001 INFO MainThread:14384 [wandb_init.py:init():817] run started, returning control to user process +2023-02-24 11:59:30,517 WARNING MsgRouterThr:14384 [router.py:message_loop():77] message_loop has been closed diff --git a/embeddings/wandb/run-20230224_115923-vm4jp14g/run-vm4jp14g.wandb b/embeddings/wandb/run-20230224_115923-vm4jp14g/run-vm4jp14g.wandb new file mode 100644 index 0000000000000000000000000000000000000000..cdc1f6b443db31e9382806b0d28f979d635670c3 Binary files /dev/null and b/embeddings/wandb/run-20230224_115923-vm4jp14g/run-vm4jp14g.wandb differ diff --git a/embeddings/wandb/run-20230224_120117-qfekmmpk/files/config.yaml b/embeddings/wandb/run-20230224_120117-qfekmmpk/files/config.yaml new file mode 100644 index 0000000000000000000000000000000000000000..38eb0ccfb7edc676da9ebff2b601b11f72e5a767 --- /dev/null +++ b/embeddings/wandb/run-20230224_120117-qfekmmpk/files/config.yaml @@ -0,0 +1,40 @@ +wandb_version: 1 + +_wandb: + desc: null + value: + cli_version: 0.13.10 + framework: huggingface + huggingface_version: 4.24.0 + is_jupyter_run: false + is_kaggle_kernel: false + python_version: 3.8.1 + start_time: 1677240077.507399 + t: + 1: + - 1 + - 5 + - 11 + - 33 + - 49 + - 53 + - 55 + - 77 + 2: + - 1 + - 5 + - 11 + - 33 + - 49 + - 53 + - 55 + - 77 + 3: + - 13 + - 23 + 4: 3.8.1 + 5: 0.13.10 + 6: 4.24.0 + 8: + - 3 + - 5 diff --git a/embeddings/wandb/run-20230224_120117-qfekmmpk/files/output.log b/embeddings/wandb/run-20230224_120117-qfekmmpk/files/output.log new file mode 100644 index 0000000000000000000000000000000000000000..f14dd4347cf0ee05dfad399a8895314d04ebe6bd --- /dev/null +++ b/embeddings/wandb/run-20230224_120117-qfekmmpk/files/output.log @@ -0,0 +1,8 @@ +Traceback (most recent call last): + File "C:\Users\liamb\Documents\graph4stackoverflow\embeddings\hetero_GAT.py", line 143, in <module> + fig = create_graph(dataset[0]) + File "C:\Users\liamb\Documents\graph4stackoverflow\embeddings\hetero_GAT.py", line 113, in create_graph + g = to_networkx(graph) + File "C:\Users\liamb\Documents\graph4stackoverflow\venv\lib\site-packages\torch_geometric\utils\convert.py", line 133, in to_networkx + for key, value in data(*(node_attrs + edge_attrs + graph_attrs)): +TypeError: 'BatchedHeteroData' object is not callable \ No newline at end of file diff --git a/embeddings/wandb/run-20230224_120117-qfekmmpk/files/requirements.txt b/embeddings/wandb/run-20230224_120117-qfekmmpk/files/requirements.txt new file mode 100644 index 0000000000000000000000000000000000000000..d7de821539624662109e252a91c4907a963ad5fb --- /dev/null +++ b/embeddings/wandb/run-20230224_120117-qfekmmpk/files/requirements.txt @@ -0,0 +1,170 @@ +absl-py==1.3.0 +anyio==3.6.2 +appdirs==1.4.4 +argon2-cffi-bindings==21.2.0 +argon2-cffi==21.3.0 +asttokens==2.1.0 +astunparse==1.6.3 +attrs==22.1.0 +backcall==0.2.0 +beautifulsoup4==4.11.1 +bleach==5.0.1 +blis==0.7.9 +bs4==0.0.1 +cachetools==5.2.0 +catalogue==2.0.8 +certifi==2022.9.24 +cffi==1.15.1 +charset-normalizer==2.1.1 +click==8.1.3 +colorama==0.4.6 +confection==0.0.3 +contourpy==1.0.6 +cycler==0.11.0 +cymem==2.0.7 +debugpy==1.6.3 +decorator==5.1.1 +defusedxml==0.7.1 +dgl==0.9.1 +docker-pycreds==0.4.0 +en-core-web-sm==3.4.1 +entrypoints==0.4 +executing==1.2.0 +fastjsonschema==2.16.2 +filelock==3.8.0 +fonttools==4.38.0 +gitdb==4.0.10 +gitpython==3.1.31 +google-auth-oauthlib==0.4.6 +google-auth==2.14.0 +graph4nlp==0.5.5 +grpcio==1.50.0 +huggingface-hub==0.10.1 +idna==3.4 +importlib-metadata==5.0.0 +importlib-resources==5.10.0 +ipykernel==6.16.2 +ipython-genutils==0.2.0 +ipython==8.6.0 +ipywidgets==8.0.2 +jedi==0.18.1 +jinja2==3.1.2 +joblib==1.2.0 +jsonschema==4.16.0 +jupyter-client==7.4.4 +jupyter-console==6.4.4 +jupyter-core==4.11.2 +jupyter-server==1.21.0 +jupyter==1.0.0 +jupyterlab-pygments==0.2.2 +jupyterlab-widgets==3.0.3 +kiwisolver==1.4.4 +langcodes==3.3.0 +littleutils==0.2.2 +lxml==4.9.1 +markdown==3.4.1 +markupsafe==2.1.1 +matplotlib-inline==0.1.6 +matplotlib==3.6.2 +mistune==2.0.4 +murmurhash==1.0.9 +nbclassic==0.4.7 +nbclient==0.7.0 +nbconvert==7.2.3 +nbformat==5.7.0 +nest-asyncio==1.5.6 +networkx==2.8.8 +nltk==3.7 +notebook-shim==0.2.0 +notebook==6.5.2 +numpy==1.23.5 +oauthlib==3.2.2 +ogb==1.3.5 +outdated==0.2.2 +packaging==21.3 +pandas==1.5.1 +pandocfilters==1.5.0 +parso==0.8.3 +pathtools==0.1.2 +pathy==0.6.2 +pickleshare==0.7.5 +pillow==9.3.0 +pip==21.3.1 +pkgutil-resolve-name==1.3.10 +plotly==5.13.0 +preshed==3.0.8 +prometheus-client==0.15.0 +prompt-toolkit==3.0.31 +protobuf==3.19.6 +psutil==5.9.3 +pure-eval==0.2.2 +pyasn1-modules==0.2.8 +pyasn1==0.4.8 +pycparser==2.21 +pydantic==1.10.2 +pygments==2.13.0 +pyparsing==3.0.9 +pyrsistent==0.18.1 +python-dateutil==2.8.2 +pythonds==1.2.1 +pytz==2022.5 +pywin32==304 +pywinpty==2.0.9 +pyyaml==6.0 +pyzmq==24.0.1 +qtconsole==5.3.2 +qtpy==2.2.1 +regex==2022.10.31 +requests-oauthlib==1.3.1 +requests==2.28.1 +rsa==4.9 +scikit-learn==1.1.3 +scipy==1.9.3 +send2trash==1.8.0 +sentry-sdk==1.15.0 +setproctitle==1.3.2 +setuptools==60.2.0 +six==1.16.0 +smart-open==5.2.1 +smmap==5.0.0 +sniffio==1.3.0 +soupsieve==2.3.2.post1 +spacy-legacy==3.0.10 +spacy-loggers==1.0.3 +spacy==3.4.2 +srsly==2.4.5 +stack-data==0.6.0 +stanfordcorenlp==3.9.1.1 +tenacity==8.2.1 +tensorboard-data-server==0.6.1 +tensorboard-plugin-wit==1.8.1 +tensorboard==2.10.1 +terminado==0.17.0 +thinc==8.1.5 +threadpoolctl==3.1.0 +tinycss2==1.2.1 +tokenizers==0.13.2 +torch-cluster==1.6.0+pt113cpu +torch-geometric==2.2.0 +torch-scatter==2.1.0+pt113cpu +torch-sparse==0.6.16+pt113cpu +torch-spline-conv==1.2.1+pt113cpu +torch==1.13.0 +torchsummary==1.5.1 +torchtext==0.14.0 +tornado==6.2 +tqdm==4.64.1 +traitlets==5.5.0 +transformers==4.24.0 +typer==0.4.2 +typing-extensions==4.4.0 +urllib3==1.26.12 +wandb==0.13.10 +wasabi==0.10.1 +wcwidth==0.2.5 +webencodings==0.5.1 +websocket-client==1.4.1 +werkzeug==2.2.2 +wheel==0.37.1 +widgetsnbextension==4.0.3 +zipp==3.10.0 \ No newline at end of file diff --git a/embeddings/wandb/run-20230224_120117-qfekmmpk/files/wandb-metadata.json b/embeddings/wandb/run-20230224_120117-qfekmmpk/files/wandb-metadata.json new file mode 100644 index 0000000000000000000000000000000000000000..b0917d21d019ce104f495c9f7479b2e164895af8 --- /dev/null +++ b/embeddings/wandb/run-20230224_120117-qfekmmpk/files/wandb-metadata.json @@ -0,0 +1,42 @@ +{ + "os": "Windows-10-10.0.19041-SP0", + "python": "3.8.1", + "heartbeatAt": "2023-02-24T12:01:18.174900", + "startedAt": "2023-02-24T12:01:17.495398", + "docker": null, + "cuda": null, + "args": [], + "state": "running", + "program": "C:\\Users\\liamb\\Documents\\graph4stackoverflow\\embeddings\\hetero_GAT.py", + "codePath": "embeddings\\hetero_GAT.py", + "git": { + "remote": "https://git.soton.ac.uk/lhb1g20/graph4stackoverflow.git", + "commit": "ced992d661984f7b87d1a3e76768e4ff7af78245" + }, + "email": "liambyrneh@gmail.com", + "root": "C:/Users/liamb/Documents/graph4stackoverflow", + "host": "DESKTOP-P7BETFF", + "username": "liamb", + "executable": "C:\\Users\\liamb\\Documents\\graph4stackoverflow\\venv\\Scripts\\python.exe", + "cpu_count": 2, + "cpu_count_logical": 4, + "cpu_freq": { + "current": 3504.0, + "min": 0.0, + "max": 3504.0 + }, + "cpu_freq_per_core": [ + { + "current": 3504.0, + "min": 0.0, + "max": 3504.0 + } + ], + "disk": { + "total": 475.71581649780273, + "used": 352.37308502197266 + }, + "memory": { + "total": 31.89160919189453 + } +} diff --git a/embeddings/wandb/run-20230224_120117-qfekmmpk/files/wandb-summary.json b/embeddings/wandb/run-20230224_120117-qfekmmpk/files/wandb-summary.json new file mode 100644 index 0000000000000000000000000000000000000000..95f05789d50499a0aca287c647e6d8b9ebe6b8f9 --- /dev/null +++ b/embeddings/wandb/run-20230224_120117-qfekmmpk/files/wandb-summary.json @@ -0,0 +1 @@ +{"num_node_features": {"question": 1536, "answer": 1536, "comment": 768, "tag": 50, "module": 30}, "num_classes": 2, "_timestamp": 1677240078.310901, "_runtime": 0.8035018444061279, "_step": 0, "_wandb": {"runtime": 0}} \ No newline at end of file diff --git a/embeddings/wandb/run-20230224_120117-qfekmmpk/logs/debug-internal.log b/embeddings/wandb/run-20230224_120117-qfekmmpk/logs/debug-internal.log new file mode 100644 index 0000000000000000000000000000000000000000..91f8a7eef38da7825dd90e0538636df77fa2d2bd --- /dev/null +++ b/embeddings/wandb/run-20230224_120117-qfekmmpk/logs/debug-internal.log @@ -0,0 +1,175 @@ +2023-02-24 12:01:17,508 INFO StreamThr :14680 [internal.py:wandb_internal():87] W&B internal server running at pid: 14680, started at: 2023-02-24 12:01:17.507400 +2023-02-24 12:01:17,509 DEBUG HandlerThread:14680 [handler.py:handle_request():144] handle_request: status +2023-02-24 12:01:17,511 INFO WriterThread:14680 [datastore.py:open_for_write():85] open: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_120117-qfekmmpk\run-qfekmmpk.wandb +2023-02-24 12:01:17,514 DEBUG SenderThread:14680 [sender.py:send():336] send: header +2023-02-24 12:01:17,558 DEBUG SenderThread:14680 [sender.py:send():336] send: run +2023-02-24 12:01:18,029 INFO SenderThread:14680 [dir_watcher.py:__init__():216] watching files in: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_120117-qfekmmpk\files +2023-02-24 12:01:18,029 INFO SenderThread:14680 [sender.py:_start_run_threads():1067] run started: qfekmmpk with start time 1677240077.507399 +2023-02-24 12:01:18,029 DEBUG SenderThread:14680 [sender.py:send_request():363] send_request: summary_record +2023-02-24 12:01:18,029 DEBUG HandlerThread:14680 [handler.py:handle_request():144] handle_request: check_version +2023-02-24 12:01:18,030 INFO SenderThread:14680 [sender.py:_save_file():1321] saving file wandb-summary.json with policy end +2023-02-24 12:01:18,031 DEBUG SenderThread:14680 [sender.py:send_request():363] send_request: check_version +2023-02-24 12:01:18,152 DEBUG HandlerThread:14680 [handler.py:handle_request():144] handle_request: run_start +2023-02-24 12:01:18,169 DEBUG HandlerThread:14680 [system_info.py:__init__():31] System info init +2023-02-24 12:01:18,170 DEBUG HandlerThread:14680 [system_info.py:__init__():46] System info init done +2023-02-24 12:01:18,170 INFO HandlerThread:14680 [system_monitor.py:start():151] Starting system monitor +2023-02-24 12:01:18,170 INFO SystemMonitor:14680 [system_monitor.py:_start():116] Starting system asset monitoring threads +2023-02-24 12:01:18,170 INFO HandlerThread:14680 [system_monitor.py:probe():172] Collecting system info +2023-02-24 12:01:18,173 INFO SystemMonitor:14680 [interfaces.py:start():168] Started cpu +2023-02-24 12:01:18,174 DEBUG HandlerThread:14680 [system_info.py:probe():195] Probing system +2023-02-24 12:01:18,174 INFO SystemMonitor:14680 [interfaces.py:start():168] Started disk +2023-02-24 12:01:18,175 INFO SystemMonitor:14680 [interfaces.py:start():168] Started memory +2023-02-24 12:01:18,191 INFO SystemMonitor:14680 [interfaces.py:start():168] Started network +2023-02-24 12:01:18,192 DEBUG HandlerThread:14680 [system_info.py:_probe_git():180] Probing git +2023-02-24 12:01:18,287 DEBUG HandlerThread:14680 [system_info.py:_probe_git():188] Probing git done +2023-02-24 12:01:18,287 DEBUG HandlerThread:14680 [system_info.py:probe():241] Probing system done +2023-02-24 12:01:18,287 DEBUG HandlerThread:14680 [system_monitor.py:probe():181] {'os': 'Windows-10-10.0.19041-SP0', 'python': '3.8.1', 'heartbeatAt': '2023-02-24T12:01:18.174900', 'startedAt': '2023-02-24T12:01:17.495398', 'docker': None, 'cuda': None, 'args': (), 'state': 'running', 'program': 'C:\\Users\\liamb\\Documents\\graph4stackoverflow\\embeddings\\hetero_GAT.py', 'codePath': 'embeddings\\hetero_GAT.py', 'git': {'remote': 'https://git.soton.ac.uk/lhb1g20/graph4stackoverflow.git', 'commit': 'ced992d661984f7b87d1a3e76768e4ff7af78245'}, 'email': 'liambyrneh@gmail.com', 'root': 'C:/Users/liamb/Documents/graph4stackoverflow', 'host': 'DESKTOP-P7BETFF', 'username': 'liamb', 'executable': 'C:\\Users\\liamb\\Documents\\graph4stackoverflow\\venv\\Scripts\\python.exe', 'cpu_count': 2, 'cpu_count_logical': 4, 'cpu_freq': {'current': 3504.0, 'min': 0.0, 'max': 3504.0}, 'cpu_freq_per_core': [{'current': 3504.0, 'min': 0.0, 'max': 3504.0}], 'disk': {'total': 475.71581649780273, 'used': 352.37308502197266}, 'memory': {'total': 31.89160919189453}} +2023-02-24 12:01:18,287 INFO HandlerThread:14680 [system_monitor.py:probe():182] Finished collecting system info +2023-02-24 12:01:18,287 INFO HandlerThread:14680 [system_monitor.py:probe():185] Publishing system info +2023-02-24 12:01:18,287 DEBUG HandlerThread:14680 [system_info.py:_save_pip():51] Saving list of pip packages installed into the current environment +2023-02-24 12:01:18,288 DEBUG HandlerThread:14680 [system_info.py:_save_pip():67] Saving pip packages done +2023-02-24 12:01:18,290 INFO HandlerThread:14680 [system_monitor.py:probe():187] Finished publishing system info +2023-02-24 12:01:18,300 DEBUG SenderThread:14680 [sender.py:send():336] send: files +2023-02-24 12:01:18,300 INFO SenderThread:14680 [sender.py:_save_file():1321] saving file wandb-metadata.json with policy now +2023-02-24 12:01:18,308 DEBUG HandlerThread:14680 [handler.py:handle_request():144] handle_request: stop_status +2023-02-24 12:01:18,309 DEBUG SenderThread:14680 [sender.py:send_request():363] send_request: stop_status +2023-02-24 12:01:18,312 DEBUG HandlerThread:14680 [handler.py:handle_request():144] handle_request: partial_history +2023-02-24 12:01:18,477 DEBUG SenderThread:14680 [sender.py:send():336] send: telemetry +2023-02-24 12:01:18,477 DEBUG SenderThread:14680 [sender.py:send():336] send: history +2023-02-24 12:01:18,478 DEBUG SenderThread:14680 [sender.py:send_request():363] send_request: summary_record +2023-02-24 12:01:18,479 INFO SenderThread:14680 [sender.py:_save_file():1321] saving file wandb-summary.json with policy end +2023-02-24 12:01:18,482 DEBUG SenderThread:14680 [sender.py:send():336] send: exit +2023-02-24 12:01:18,483 INFO SenderThread:14680 [sender.py:send_exit():559] handling exit code: 1 +2023-02-24 12:01:18,483 INFO SenderThread:14680 [sender.py:send_exit():561] handling runtime: 0 +2023-02-24 12:01:18,483 INFO SenderThread:14680 [sender.py:_save_file():1321] saving file wandb-summary.json with policy end +2023-02-24 12:01:18,484 INFO SenderThread:14680 [sender.py:send_exit():567] send defer +2023-02-24 12:01:18,484 DEBUG HandlerThread:14680 [handler.py:handle_request():144] handle_request: defer +2023-02-24 12:01:18,484 INFO HandlerThread:14680 [handler.py:handle_request_defer():170] handle defer: 0 +2023-02-24 12:01:18,484 DEBUG SenderThread:14680 [sender.py:send_request():363] send_request: defer +2023-02-24 12:01:18,485 INFO SenderThread:14680 [sender.py:send_request_defer():583] handle sender defer: 0 +2023-02-24 12:01:18,485 INFO SenderThread:14680 [sender.py:transition_state():587] send defer: 1 +2023-02-24 12:01:18,485 DEBUG HandlerThread:14680 [handler.py:handle_request():144] handle_request: defer +2023-02-24 12:01:18,485 INFO HandlerThread:14680 [handler.py:handle_request_defer():170] handle defer: 1 +2023-02-24 12:01:18,485 DEBUG SenderThread:14680 [sender.py:send_request():363] send_request: defer +2023-02-24 12:01:18,485 INFO SenderThread:14680 [sender.py:send_request_defer():583] handle sender defer: 1 +2023-02-24 12:01:18,485 INFO SenderThread:14680 [sender.py:transition_state():587] send defer: 2 +2023-02-24 12:01:18,485 DEBUG HandlerThread:14680 [handler.py:handle_request():144] handle_request: defer +2023-02-24 12:01:18,486 INFO HandlerThread:14680 [handler.py:handle_request_defer():170] handle defer: 2 +2023-02-24 12:01:18,486 INFO HandlerThread:14680 [system_monitor.py:finish():161] Stopping system monitor +2023-02-24 12:01:18,486 DEBUG SystemMonitor:14680 [system_monitor.py:_start():130] Starting system metrics aggregation loop +2023-02-24 12:01:18,487 DEBUG SystemMonitor:14680 [system_monitor.py:_start():137] Finished system metrics aggregation loop +2023-02-24 12:01:18,487 DEBUG SystemMonitor:14680 [system_monitor.py:_start():141] Publishing last batch of metrics +2023-02-24 12:01:18,487 INFO HandlerThread:14680 [interfaces.py:finish():175] Joined cpu +2023-02-24 12:01:18,488 INFO HandlerThread:14680 [interfaces.py:finish():175] Joined disk +2023-02-24 12:01:18,488 INFO HandlerThread:14680 [interfaces.py:finish():175] Joined memory +2023-02-24 12:01:18,488 INFO HandlerThread:14680 [interfaces.py:finish():175] Joined network +2023-02-24 12:01:18,488 DEBUG SenderThread:14680 [sender.py:send_request():363] send_request: defer +2023-02-24 12:01:18,488 INFO SenderThread:14680 [sender.py:send_request_defer():583] handle sender defer: 2 +2023-02-24 12:01:18,489 INFO SenderThread:14680 [sender.py:transition_state():587] send defer: 3 +2023-02-24 12:01:18,489 DEBUG SenderThread:14680 [sender.py:send():336] send: stats +2023-02-24 12:01:18,489 DEBUG HandlerThread:14680 [handler.py:handle_request():144] handle_request: defer +2023-02-24 12:01:18,489 INFO HandlerThread:14680 [handler.py:handle_request_defer():170] handle defer: 3 +2023-02-24 12:01:18,490 DEBUG SenderThread:14680 [sender.py:send_request():363] send_request: defer +2023-02-24 12:01:18,490 INFO SenderThread:14680 [sender.py:send_request_defer():583] handle sender defer: 3 +2023-02-24 12:01:18,490 INFO SenderThread:14680 [sender.py:transition_state():587] send defer: 4 +2023-02-24 12:01:18,490 DEBUG HandlerThread:14680 [handler.py:handle_request():144] handle_request: defer +2023-02-24 12:01:18,490 INFO HandlerThread:14680 [handler.py:handle_request_defer():170] handle defer: 4 +2023-02-24 12:01:18,491 DEBUG SenderThread:14680 [sender.py:send_request():363] send_request: defer +2023-02-24 12:01:18,491 INFO SenderThread:14680 [sender.py:send_request_defer():583] handle sender defer: 4 +2023-02-24 12:01:18,491 INFO SenderThread:14680 [sender.py:transition_state():587] send defer: 5 +2023-02-24 12:01:18,491 DEBUG HandlerThread:14680 [handler.py:handle_request():144] handle_request: defer +2023-02-24 12:01:18,491 INFO HandlerThread:14680 [handler.py:handle_request_defer():170] handle defer: 5 +2023-02-24 12:01:18,491 DEBUG SenderThread:14680 [sender.py:send():336] send: summary +2023-02-24 12:01:18,492 INFO SenderThread:14680 [sender.py:_save_file():1321] saving file wandb-summary.json with policy end +2023-02-24 12:01:18,492 DEBUG SenderThread:14680 [sender.py:send_request():363] send_request: defer +2023-02-24 12:01:18,492 INFO SenderThread:14680 [sender.py:send_request_defer():583] handle sender defer: 5 +2023-02-24 12:01:18,492 INFO SenderThread:14680 [sender.py:transition_state():587] send defer: 6 +2023-02-24 12:01:18,493 DEBUG HandlerThread:14680 [handler.py:handle_request():144] handle_request: defer +2023-02-24 12:01:18,493 INFO HandlerThread:14680 [handler.py:handle_request_defer():170] handle defer: 6 +2023-02-24 12:01:18,493 DEBUG SenderThread:14680 [sender.py:send_request():363] send_request: defer +2023-02-24 12:01:18,493 INFO SenderThread:14680 [sender.py:send_request_defer():583] handle sender defer: 6 +2023-02-24 12:01:18,497 DEBUG HandlerThread:14680 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 12:01:18,684 INFO SenderThread:14680 [sender.py:transition_state():587] send defer: 7 +2023-02-24 12:01:18,684 DEBUG HandlerThread:14680 [handler.py:handle_request():144] handle_request: defer +2023-02-24 12:01:18,684 INFO HandlerThread:14680 [handler.py:handle_request_defer():170] handle defer: 7 +2023-02-24 12:01:18,685 DEBUG SenderThread:14680 [sender.py:send_request():363] send_request: defer +2023-02-24 12:01:18,685 INFO SenderThread:14680 [sender.py:send_request_defer():583] handle sender defer: 7 +2023-02-24 12:01:18,865 INFO wandb-upload_0:14680 [upload_job.py:push():138] Uploaded file C:\Users\liamb\AppData\Local\Temp\tmp3dh4_7fvwandb\6f6dz6r1-wandb-metadata.json +2023-02-24 12:01:19,039 INFO Thread-17 :14680 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_120117-qfekmmpk\files\config.yaml +2023-02-24 12:01:19,039 INFO Thread-17 :14680 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_120117-qfekmmpk\files\output.log +2023-02-24 12:01:19,039 INFO Thread-17 :14680 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_120117-qfekmmpk\files\wandb-summary.json +2023-02-24 12:01:19,039 INFO Thread-17 :14680 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_120117-qfekmmpk\files\wandb-metadata.json +2023-02-24 12:01:19,039 INFO Thread-17 :14680 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_120117-qfekmmpk\files\requirements.txt +2023-02-24 12:01:19,318 DEBUG HandlerThread:14680 [handler.py:handle_request():144] handle_request: poll_exit +2023-02-24 12:01:20,489 INFO SenderThread:14680 [sender.py:transition_state():587] send defer: 8 +2023-02-24 12:01:20,489 DEBUG SenderThread:14680 [sender.py:send_request():363] send_request: poll_exit +2023-02-24 12:01:20,490 DEBUG HandlerThread:14680 [handler.py:handle_request():144] handle_request: defer +2023-02-24 12:01:20,490 INFO HandlerThread:14680 [handler.py:handle_request_defer():170] handle defer: 8 +2023-02-24 12:01:20,491 DEBUG SenderThread:14680 [sender.py:send_request():363] send_request: defer +2023-02-24 12:01:20,491 INFO SenderThread:14680 [sender.py:send_request_defer():583] handle sender defer: 8 +2023-02-24 12:01:20,520 INFO SenderThread:14680 [sender.py:transition_state():587] send defer: 9 +2023-02-24 12:01:20,520 DEBUG HandlerThread:14680 [handler.py:handle_request():144] handle_request: defer +2023-02-24 12:01:20,521 INFO HandlerThread:14680 [handler.py:handle_request_defer():170] handle defer: 9 +2023-02-24 12:01:20,521 DEBUG SenderThread:14680 [sender.py:send():336] send: artifact +2023-02-24 12:01:21,051 INFO Thread-17 :14680 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_120117-qfekmmpk\files\output.log +2023-02-24 12:01:21,563 INFO wandb-upload_0:14680 [upload_job.py:push():93] Skipped uploading C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpmwp_igwd +2023-02-24 12:01:21,851 INFO wandb-upload_1:14680 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpb_z9q5rh +2023-02-24 12:01:23,150 INFO SenderThread:14680 [sender.py:send_artifact():1417] sent artifact job-https___git.soton.ac.uk_lhb1g20_graph4stackoverflow.git_embeddings_hetero_GAT.py - {'id': 'QXJ0aWZhY3Q6MzgwMzgzODYx', 'digest': '52054f0b23df9b668b4724b52e59ad5e', 'state': 'PENDING', 'aliases': [], 'artifactSequence': {'id': 'QXJ0aWZhY3RDb2xsZWN0aW9uOjU0NTg3MzU0', 'latestArtifact': {'id': 'QXJ0aWZhY3Q6MzgwMzY3ODUz', 'versionIndex': 0}}, 'version': 'latest'} +2023-02-24 12:01:23,150 DEBUG SenderThread:14680 [sender.py:send_request():363] send_request: defer +2023-02-24 12:01:23,150 INFO SenderThread:14680 [sender.py:send_request_defer():583] handle sender defer: 9 +2023-02-24 12:01:23,150 INFO SenderThread:14680 [dir_watcher.py:finish():362] shutting down directory watcher +2023-02-24 12:01:24,069 INFO SenderThread:14680 [dir_watcher.py:finish():392] scan: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_120117-qfekmmpk\files +2023-02-24 12:01:24,070 INFO SenderThread:14680 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_120117-qfekmmpk\files\config.yaml config.yaml +2023-02-24 12:01:24,070 INFO SenderThread:14680 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_120117-qfekmmpk\files\output.log output.log +2023-02-24 12:01:24,071 INFO SenderThread:14680 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_120117-qfekmmpk\files\requirements.txt requirements.txt +2023-02-24 12:01:24,074 INFO SenderThread:14680 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_120117-qfekmmpk\files\wandb-metadata.json wandb-metadata.json +2023-02-24 12:01:24,074 INFO SenderThread:14680 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_120117-qfekmmpk\files\wandb-summary.json wandb-summary.json +2023-02-24 12:01:24,079 INFO SenderThread:14680 [sender.py:transition_state():587] send defer: 10 +2023-02-24 12:01:24,080 DEBUG HandlerThread:14680 [handler.py:handle_request():144] handle_request: defer +2023-02-24 12:01:24,080 INFO HandlerThread:14680 [handler.py:handle_request_defer():170] handle defer: 10 +2023-02-24 12:01:24,081 DEBUG SenderThread:14680 [sender.py:send_request():363] send_request: defer +2023-02-24 12:01:24,084 INFO SenderThread:14680 [sender.py:send_request_defer():583] handle sender defer: 10 +2023-02-24 12:01:24,084 INFO SenderThread:14680 [file_pusher.py:finish():162] shutting down file pusher +2023-02-24 12:01:24,364 DEBUG HandlerThread:14680 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 12:01:24,686 INFO wandb-upload_3:14680 [upload_job.py:push():138] Uploaded file C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_120117-qfekmmpk\files\wandb-summary.json +2023-02-24 12:01:24,783 INFO wandb-upload_2:14680 [upload_job.py:push():138] Uploaded file C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_120117-qfekmmpk\files\requirements.txt +2023-02-24 12:01:24,933 INFO wandb-upload_1:14680 [upload_job.py:push():138] Uploaded file C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_120117-qfekmmpk\files\output.log +2023-02-24 12:01:25,014 INFO wandb-upload_0:14680 [upload_job.py:push():138] Uploaded file C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_120117-qfekmmpk\files\config.yaml +2023-02-24 12:01:25,221 INFO Thread-16 :14680 [sender.py:transition_state():587] send defer: 11 +2023-02-24 12:01:25,221 DEBUG HandlerThread:14680 [handler.py:handle_request():144] handle_request: defer +2023-02-24 12:01:25,222 INFO HandlerThread:14680 [handler.py:handle_request_defer():170] handle defer: 11 +2023-02-24 12:01:25,222 DEBUG SenderThread:14680 [sender.py:send_request():363] send_request: defer +2023-02-24 12:01:25,222 INFO SenderThread:14680 [sender.py:send_request_defer():583] handle sender defer: 11 +2023-02-24 12:01:25,222 INFO SenderThread:14680 [file_pusher.py:join():167] waiting for file pusher +2023-02-24 12:01:25,222 INFO SenderThread:14680 [sender.py:transition_state():587] send defer: 12 +2023-02-24 12:01:25,223 DEBUG HandlerThread:14680 [handler.py:handle_request():144] handle_request: defer +2023-02-24 12:01:25,223 INFO HandlerThread:14680 [handler.py:handle_request_defer():170] handle defer: 12 +2023-02-24 12:01:25,223 DEBUG SenderThread:14680 [sender.py:send_request():363] send_request: defer +2023-02-24 12:01:25,223 INFO SenderThread:14680 [sender.py:send_request_defer():583] handle sender defer: 12 +2023-02-24 12:01:25,371 INFO SenderThread:14680 [sender.py:transition_state():587] send defer: 13 +2023-02-24 12:01:25,371 DEBUG HandlerThread:14680 [handler.py:handle_request():144] handle_request: defer +2023-02-24 12:01:25,372 INFO HandlerThread:14680 [handler.py:handle_request_defer():170] handle defer: 13 +2023-02-24 12:01:25,372 DEBUG SenderThread:14680 [sender.py:send_request():363] send_request: defer +2023-02-24 12:01:25,372 INFO SenderThread:14680 [sender.py:send_request_defer():583] handle sender defer: 13 +2023-02-24 12:01:25,372 INFO SenderThread:14680 [sender.py:transition_state():587] send defer: 14 +2023-02-24 12:01:25,372 DEBUG HandlerThread:14680 [handler.py:handle_request():144] handle_request: defer +2023-02-24 12:01:25,373 INFO HandlerThread:14680 [handler.py:handle_request_defer():170] handle defer: 14 +2023-02-24 12:01:25,373 DEBUG SenderThread:14680 [sender.py:send():336] send: final +2023-02-24 12:01:25,373 DEBUG SenderThread:14680 [sender.py:send():336] send: footer +2023-02-24 12:01:25,373 DEBUG SenderThread:14680 [sender.py:send_request():363] send_request: defer +2023-02-24 12:01:25,373 INFO SenderThread:14680 [sender.py:send_request_defer():583] handle sender defer: 14 +2023-02-24 12:01:25,374 DEBUG HandlerThread:14680 [handler.py:handle_request():144] handle_request: poll_exit +2023-02-24 12:01:25,374 DEBUG HandlerThread:14680 [handler.py:handle_request():144] handle_request: server_info +2023-02-24 12:01:25,374 DEBUG HandlerThread:14680 [handler.py:handle_request():144] handle_request: get_summary +2023-02-24 12:01:25,374 DEBUG HandlerThread:14680 [handler.py:handle_request():144] handle_request: sampled_history +2023-02-24 12:01:25,375 DEBUG SenderThread:14680 [sender.py:send_request():363] send_request: poll_exit +2023-02-24 12:01:25,375 DEBUG SenderThread:14680 [sender.py:send_request():363] send_request: server_info +2023-02-24 12:01:25,565 INFO MainThread:14680 [wandb_run.py:_footer_history_summary_info():3442] rendering history +2023-02-24 12:01:25,565 INFO MainThread:14680 [wandb_run.py:_footer_history_summary_info():3474] rendering summary +2023-02-24 12:01:25,565 INFO MainThread:14680 [wandb_run.py:_footer_sync_info():3398] logging synced files +2023-02-24 12:01:25,566 DEBUG HandlerThread:14680 [handler.py:handle_request():144] handle_request: shutdown +2023-02-24 12:01:25,566 INFO HandlerThread:14680 [handler.py:finish():841] shutting down handler +2023-02-24 12:01:26,388 INFO WriterThread:14680 [datastore.py:close():299] close: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_120117-qfekmmpk\run-qfekmmpk.wandb +2023-02-24 12:01:26,576 INFO SenderThread:14680 [sender.py:finish():1493] shutting down sender +2023-02-24 12:01:26,576 INFO SenderThread:14680 [file_pusher.py:finish():162] shutting down file pusher +2023-02-24 12:01:26,577 INFO SenderThread:14680 [file_pusher.py:join():167] waiting for file pusher diff --git a/embeddings/wandb/run-20230224_120117-qfekmmpk/logs/debug.log b/embeddings/wandb/run-20230224_120117-qfekmmpk/logs/debug.log new file mode 100644 index 0000000000000000000000000000000000000000..22be02012fddc599dd358e32b233f678dd256199 --- /dev/null +++ b/embeddings/wandb/run-20230224_120117-qfekmmpk/logs/debug.log @@ -0,0 +1,25 @@ +2023-02-24 12:01:17,498 INFO MainThread:11368 [wandb_setup.py:_flush():68] Configure stats pid to 11368 +2023-02-24 12:01:17,498 INFO MainThread:11368 [wandb_setup.py:_flush():68] Loading settings from C:\Users\liamb\.config\wandb\settings +2023-02-24 12:01:17,498 INFO MainThread:11368 [wandb_setup.py:_flush():68] Loading settings from C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\settings +2023-02-24 12:01:17,498 INFO MainThread:11368 [wandb_setup.py:_flush():68] Loading settings from environment variables: {'_require_service': 'True'} +2023-02-24 12:01:17,498 INFO MainThread:11368 [wandb_setup.py:_flush():68] Inferring run settings from compute environment: {'program_relpath': 'embeddings\\hetero_GAT.py', 'program': 'C:\\Users\\liamb\\Documents\\graph4stackoverflow\\embeddings\\hetero_GAT.py'} +2023-02-24 12:01:17,499 INFO MainThread:11368 [wandb_init.py:_log_setup():492] Logging user logs to C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_120117-qfekmmpk\logs\debug.log +2023-02-24 12:01:17,499 INFO MainThread:11368 [wandb_init.py:_log_setup():493] Logging internal logs to C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_120117-qfekmmpk\logs\debug-internal.log +2023-02-24 12:01:17,499 INFO MainThread:11368 [wandb_init.py:init():532] calling init triggers +2023-02-24 12:01:17,499 INFO MainThread:11368 [wandb_init.py:init():538] wandb.init called with sweep_config: {} +config: {} +2023-02-24 12:01:17,499 INFO MainThread:11368 [wandb_init.py:init():588] starting backend +2023-02-24 12:01:17,500 INFO MainThread:11368 [wandb_init.py:init():592] setting up manager +2023-02-24 12:01:17,503 INFO MainThread:11368 [backend.py:_multiprocessing_setup():106] multiprocessing start_methods=spawn, using: spawn +2023-02-24 12:01:17,507 INFO MainThread:11368 [wandb_init.py:init():599] backend started and connected +2023-02-24 12:01:17,508 INFO MainThread:11368 [wandb_init.py:init():687] updated telemetry +2023-02-24 12:01:17,557 INFO MainThread:11368 [wandb_init.py:init():727] communicating run to backend with 60.0 second timeout +2023-02-24 12:01:18,028 INFO MainThread:11368 [wandb_run.py:_on_init():2134] communicating current version +2023-02-24 12:01:18,144 INFO MainThread:11368 [wandb_run.py:_on_init():2143] got version response +2023-02-24 12:01:18,145 INFO MainThread:11368 [wandb_init.py:init():775] starting run threads in backend +2023-02-24 12:01:18,309 INFO MainThread:11368 [wandb_run.py:_console_start():2114] atexit reg +2023-02-24 12:01:18,309 INFO MainThread:11368 [wandb_run.py:_redirect():1969] redirect: SettingsConsole.WRAP_RAW +2023-02-24 12:01:18,309 INFO MainThread:11368 [wandb_run.py:_redirect():2034] Wrapping output streams. +2023-02-24 12:01:18,309 INFO MainThread:11368 [wandb_run.py:_redirect():2059] Redirects installed. +2023-02-24 12:01:18,310 INFO MainThread:11368 [wandb_init.py:init():817] run started, returning control to user process +2023-02-24 12:01:26,640 WARNING MsgRouterThr:11368 [router.py:message_loop():77] message_loop has been closed diff --git a/embeddings/wandb/run-20230224_120117-qfekmmpk/run-qfekmmpk.wandb b/embeddings/wandb/run-20230224_120117-qfekmmpk/run-qfekmmpk.wandb new file mode 100644 index 0000000000000000000000000000000000000000..7ed744106bedc6830dfd2a560219b6017247e3a0 Binary files /dev/null and b/embeddings/wandb/run-20230224_120117-qfekmmpk/run-qfekmmpk.wandb differ diff --git a/embeddings/wandb/run-20230224_120431-uwujr228/files/config.yaml b/embeddings/wandb/run-20230224_120431-uwujr228/files/config.yaml new file mode 100644 index 0000000000000000000000000000000000000000..f23510e338b00b8c27011730fd5513303d57903f --- /dev/null +++ b/embeddings/wandb/run-20230224_120431-uwujr228/files/config.yaml @@ -0,0 +1,40 @@ +wandb_version: 1 + +_wandb: + desc: null + value: + cli_version: 0.13.10 + framework: huggingface + huggingface_version: 4.24.0 + is_jupyter_run: false + is_kaggle_kernel: false + python_version: 3.8.1 + start_time: 1677240271.714341 + t: + 1: + - 1 + - 5 + - 11 + - 33 + - 49 + - 53 + - 55 + - 77 + 2: + - 1 + - 5 + - 11 + - 33 + - 49 + - 53 + - 55 + - 77 + 3: + - 13 + - 23 + 4: 3.8.1 + 5: 0.13.10 + 6: 4.24.0 + 8: + - 3 + - 5 diff --git a/embeddings/wandb/run-20230224_120431-uwujr228/files/output.log b/embeddings/wandb/run-20230224_120431-uwujr228/files/output.log new file mode 100644 index 0000000000000000000000000000000000000000..343af1e5f183f14175b968861e9a7ba7664dda58 --- /dev/null +++ b/embeddings/wandb/run-20230224_120431-uwujr228/files/output.log @@ -0,0 +1,96 @@ +BatchedHeteroDataBatch( + question_emb=[16, 1536], + answer_emb=[16, 1536], + label=[16, 1], + [1mquestion[22m={ + x=[53, 1536], + batch=[53], + ptr=[17] + }, + [1manswer[22m={ + x=[87, 1536], + batch=[87], + ptr=[17] + }, + [1mcomment[22m={ + x=[69, 768], + batch=[69], + ptr=[17] + }, + [1mtag[22m={ + x=[294, 50], + batch=[294], + ptr=[17] + }, + [1mmodule[22m={ + x=[13, 30], + batch=[13], + ptr=[17] + }, + [1m(tag, describes, question)[22m={ edge_index=[2, 114] }, + [1m(tag, describes, answer)[22m={ edge_index=[2, 175] }, + [1m(tag, describes, comment)[22m={ edge_index=[2, 119] }, + [1m(module, imported_in, question)[22m={ edge_index=[2, 1] }, + [1m(module, imported_in, answer)[22m={ edge_index=[2, 13] }, + [1m(question, rev_describes, tag)[22m={ edge_index=[2, 114] }, + [1m(answer, rev_describes, tag)[22m={ edge_index=[2, 175] }, + [1m(comment, rev_describes, tag)[22m={ edge_index=[2, 119] }, + [1m(question, rev_imported_in, module)[22m={ edge_index=[2, 1] }, + [1m(answer, rev_imported_in, module)[22m={ edge_index=[2, 13] } +) +DATA IN torch.Size([16, 1536]) torch.Size([16, 1536]) +IN torch.Size([16, 3072]) +B4 LINEAR torch.Size([16, 3392]) +BatchedHeteroDataBatch( + question_emb=[12, 1536], + answer_emb=[12, 1536], + label=[12, 1], + [1mquestion[22m={ + x=[43, 1536], + batch=[43], + ptr=[13] + }, + [1manswer[22m={ + x=[82, 1536], + batch=[82], + ptr=[13] + }, + [1mcomment[22m={ + x=[68, 768], + batch=[68], + ptr=[13] + }, + [1mtag[22m={ + x=[273, 50], + batch=[273], + ptr=[13] + }, + [1mmodule[22m={ + x=[5, 30], + batch=[5], + ptr=[13] + }, + [1m(tag, describes, question)[22m={ edge_index=[2, 93] }, + [1m(tag, describes, answer)[22m={ edge_index=[2, 177] }, + [1m(tag, describes, comment)[22m={ edge_index=[2, 137] }, + [1m(module, imported_in, question)[22m={ edge_index=[2, 1] }, + [1m(module, imported_in, answer)[22m={ edge_index=[2, 6] }, + [1m(question, rev_describes, tag)[22m={ edge_index=[2, 93] }, + [1m(answer, rev_describes, tag)[22m={ edge_index=[2, 177] }, + [1m(comment, rev_describes, tag)[22m={ edge_index=[2, 137] }, + [1m(question, rev_imported_in, module)[22m={ edge_index=[2, 1] }, + [1m(answer, rev_imported_in, module)[22m={ edge_index=[2, 6] } +) +DATA IN torch.Size([12, 1536]) torch.Size([12, 1536]) +IN torch.Size([12, 3072]) +B4 LINEAR torch.Size([12, 3392]) +IN torch.Size([16, 3072]) +B4 LINEAR torch.Size([16, 3392]) +torch.Size([16, 2]) torch.Size([16, 1]) +INFO:heterogeneous-GAT-model:[1] Loss: 0.00034431135654449464 +Traceback (most recent call last): + File "C:\Users\liamb\Documents\graph4stackoverflow\embeddings\hetero_GAT.py", line 167, in <module> + train_acc, train_f1 = test(train_loader) + File "C:\Users\liamb\Documents\graph4stackoverflow\embeddings\hetero_GAT.py", line 107, in test + predictions.append(pred.item()) +ValueError: only one element tensors can be converted to Python scalars \ No newline at end of file diff --git a/embeddings/wandb/run-20230224_120431-uwujr228/files/requirements.txt b/embeddings/wandb/run-20230224_120431-uwujr228/files/requirements.txt new file mode 100644 index 0000000000000000000000000000000000000000..d7de821539624662109e252a91c4907a963ad5fb --- /dev/null +++ b/embeddings/wandb/run-20230224_120431-uwujr228/files/requirements.txt @@ -0,0 +1,170 @@ +absl-py==1.3.0 +anyio==3.6.2 +appdirs==1.4.4 +argon2-cffi-bindings==21.2.0 +argon2-cffi==21.3.0 +asttokens==2.1.0 +astunparse==1.6.3 +attrs==22.1.0 +backcall==0.2.0 +beautifulsoup4==4.11.1 +bleach==5.0.1 +blis==0.7.9 +bs4==0.0.1 +cachetools==5.2.0 +catalogue==2.0.8 +certifi==2022.9.24 +cffi==1.15.1 +charset-normalizer==2.1.1 +click==8.1.3 +colorama==0.4.6 +confection==0.0.3 +contourpy==1.0.6 +cycler==0.11.0 +cymem==2.0.7 +debugpy==1.6.3 +decorator==5.1.1 +defusedxml==0.7.1 +dgl==0.9.1 +docker-pycreds==0.4.0 +en-core-web-sm==3.4.1 +entrypoints==0.4 +executing==1.2.0 +fastjsonschema==2.16.2 +filelock==3.8.0 +fonttools==4.38.0 +gitdb==4.0.10 +gitpython==3.1.31 +google-auth-oauthlib==0.4.6 +google-auth==2.14.0 +graph4nlp==0.5.5 +grpcio==1.50.0 +huggingface-hub==0.10.1 +idna==3.4 +importlib-metadata==5.0.0 +importlib-resources==5.10.0 +ipykernel==6.16.2 +ipython-genutils==0.2.0 +ipython==8.6.0 +ipywidgets==8.0.2 +jedi==0.18.1 +jinja2==3.1.2 +joblib==1.2.0 +jsonschema==4.16.0 +jupyter-client==7.4.4 +jupyter-console==6.4.4 +jupyter-core==4.11.2 +jupyter-server==1.21.0 +jupyter==1.0.0 +jupyterlab-pygments==0.2.2 +jupyterlab-widgets==3.0.3 +kiwisolver==1.4.4 +langcodes==3.3.0 +littleutils==0.2.2 +lxml==4.9.1 +markdown==3.4.1 +markupsafe==2.1.1 +matplotlib-inline==0.1.6 +matplotlib==3.6.2 +mistune==2.0.4 +murmurhash==1.0.9 +nbclassic==0.4.7 +nbclient==0.7.0 +nbconvert==7.2.3 +nbformat==5.7.0 +nest-asyncio==1.5.6 +networkx==2.8.8 +nltk==3.7 +notebook-shim==0.2.0 +notebook==6.5.2 +numpy==1.23.5 +oauthlib==3.2.2 +ogb==1.3.5 +outdated==0.2.2 +packaging==21.3 +pandas==1.5.1 +pandocfilters==1.5.0 +parso==0.8.3 +pathtools==0.1.2 +pathy==0.6.2 +pickleshare==0.7.5 +pillow==9.3.0 +pip==21.3.1 +pkgutil-resolve-name==1.3.10 +plotly==5.13.0 +preshed==3.0.8 +prometheus-client==0.15.0 +prompt-toolkit==3.0.31 +protobuf==3.19.6 +psutil==5.9.3 +pure-eval==0.2.2 +pyasn1-modules==0.2.8 +pyasn1==0.4.8 +pycparser==2.21 +pydantic==1.10.2 +pygments==2.13.0 +pyparsing==3.0.9 +pyrsistent==0.18.1 +python-dateutil==2.8.2 +pythonds==1.2.1 +pytz==2022.5 +pywin32==304 +pywinpty==2.0.9 +pyyaml==6.0 +pyzmq==24.0.1 +qtconsole==5.3.2 +qtpy==2.2.1 +regex==2022.10.31 +requests-oauthlib==1.3.1 +requests==2.28.1 +rsa==4.9 +scikit-learn==1.1.3 +scipy==1.9.3 +send2trash==1.8.0 +sentry-sdk==1.15.0 +setproctitle==1.3.2 +setuptools==60.2.0 +six==1.16.0 +smart-open==5.2.1 +smmap==5.0.0 +sniffio==1.3.0 +soupsieve==2.3.2.post1 +spacy-legacy==3.0.10 +spacy-loggers==1.0.3 +spacy==3.4.2 +srsly==2.4.5 +stack-data==0.6.0 +stanfordcorenlp==3.9.1.1 +tenacity==8.2.1 +tensorboard-data-server==0.6.1 +tensorboard-plugin-wit==1.8.1 +tensorboard==2.10.1 +terminado==0.17.0 +thinc==8.1.5 +threadpoolctl==3.1.0 +tinycss2==1.2.1 +tokenizers==0.13.2 +torch-cluster==1.6.0+pt113cpu +torch-geometric==2.2.0 +torch-scatter==2.1.0+pt113cpu +torch-sparse==0.6.16+pt113cpu +torch-spline-conv==1.2.1+pt113cpu +torch==1.13.0 +torchsummary==1.5.1 +torchtext==0.14.0 +tornado==6.2 +tqdm==4.64.1 +traitlets==5.5.0 +transformers==4.24.0 +typer==0.4.2 +typing-extensions==4.4.0 +urllib3==1.26.12 +wandb==0.13.10 +wasabi==0.10.1 +wcwidth==0.2.5 +webencodings==0.5.1 +websocket-client==1.4.1 +werkzeug==2.2.2 +wheel==0.37.1 +widgetsnbextension==4.0.3 +zipp==3.10.0 \ No newline at end of file diff --git a/embeddings/wandb/run-20230224_120431-uwujr228/files/wandb-metadata.json b/embeddings/wandb/run-20230224_120431-uwujr228/files/wandb-metadata.json new file mode 100644 index 0000000000000000000000000000000000000000..441b9d0aa2485ebdf60231e26316c2fb8fdada1c --- /dev/null +++ b/embeddings/wandb/run-20230224_120431-uwujr228/files/wandb-metadata.json @@ -0,0 +1,42 @@ +{ + "os": "Windows-10-10.0.19041-SP0", + "python": "3.8.1", + "heartbeatAt": "2023-02-24T12:04:32.306971", + "startedAt": "2023-02-24T12:04:31.703335", + "docker": null, + "cuda": null, + "args": [], + "state": "running", + "program": "C:\\Users\\liamb\\Documents\\graph4stackoverflow\\embeddings\\hetero_GAT.py", + "codePath": "embeddings\\hetero_GAT.py", + "git": { + "remote": "https://git.soton.ac.uk/lhb1g20/graph4stackoverflow.git", + "commit": "ced992d661984f7b87d1a3e76768e4ff7af78245" + }, + "email": "liambyrneh@gmail.com", + "root": "C:/Users/liamb/Documents/graph4stackoverflow", + "host": "DESKTOP-P7BETFF", + "username": "liamb", + "executable": "C:\\Users\\liamb\\Documents\\graph4stackoverflow\\venv\\Scripts\\python.exe", + "cpu_count": 2, + "cpu_count_logical": 4, + "cpu_freq": { + "current": 3504.0, + "min": 0.0, + "max": 3504.0 + }, + "cpu_freq_per_core": [ + { + "current": 3504.0, + "min": 0.0, + "max": 3504.0 + } + ], + "disk": { + "total": 475.71581649780273, + "used": 352.413272857666 + }, + "memory": { + "total": 31.89160919189453 + } +} diff --git a/embeddings/wandb/run-20230224_120431-uwujr228/files/wandb-summary.json b/embeddings/wandb/run-20230224_120431-uwujr228/files/wandb-summary.json new file mode 100644 index 0000000000000000000000000000000000000000..470dd63ce1039714c1f42307473f9bb76ef104d0 --- /dev/null +++ b/embeddings/wandb/run-20230224_120431-uwujr228/files/wandb-summary.json @@ -0,0 +1 @@ +{"num_node_features": {"question": 1536, "answer": 1536, "comment": 768, "tag": 50, "module": 30}, "num_classes": 2, "_timestamp": 1677240272.4471564, "_runtime": 0.7328155040740967, "_step": 0, "_wandb": {"runtime": 2}} \ No newline at end of file diff --git a/embeddings/wandb/run-20230224_120431-uwujr228/logs/debug-internal.log b/embeddings/wandb/run-20230224_120431-uwujr228/logs/debug-internal.log new file mode 100644 index 0000000000000000000000000000000000000000..7df3d1b15faa475f433e1b925c58bc5a2c981af0 --- /dev/null +++ b/embeddings/wandb/run-20230224_120431-uwujr228/logs/debug-internal.log @@ -0,0 +1,179 @@ +2023-02-24 12:04:31,715 INFO StreamThr :12872 [internal.py:wandb_internal():87] W&B internal server running at pid: 12872, started at: 2023-02-24 12:04:31.714342 +2023-02-24 12:04:31,717 DEBUG HandlerThread:12872 [handler.py:handle_request():144] handle_request: status +2023-02-24 12:04:31,718 INFO WriterThread:12872 [datastore.py:open_for_write():85] open: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_120431-uwujr228\run-uwujr228.wandb +2023-02-24 12:04:31,722 DEBUG SenderThread:12872 [sender.py:send():336] send: header +2023-02-24 12:04:31,767 DEBUG SenderThread:12872 [sender.py:send():336] send: run +2023-02-24 12:04:32,176 INFO SenderThread:12872 [dir_watcher.py:__init__():216] watching files in: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_120431-uwujr228\files +2023-02-24 12:04:32,177 INFO SenderThread:12872 [sender.py:_start_run_threads():1067] run started: uwujr228 with start time 1677240271.714341 +2023-02-24 12:04:32,177 DEBUG SenderThread:12872 [sender.py:send_request():363] send_request: summary_record +2023-02-24 12:04:32,177 DEBUG HandlerThread:12872 [handler.py:handle_request():144] handle_request: check_version +2023-02-24 12:04:32,178 INFO SenderThread:12872 [sender.py:_save_file():1321] saving file wandb-summary.json with policy end +2023-02-24 12:04:32,178 DEBUG SenderThread:12872 [sender.py:send_request():363] send_request: check_version +2023-02-24 12:04:32,287 DEBUG HandlerThread:12872 [handler.py:handle_request():144] handle_request: run_start +2023-02-24 12:04:32,305 DEBUG HandlerThread:12872 [system_info.py:__init__():31] System info init +2023-02-24 12:04:32,305 DEBUG HandlerThread:12872 [system_info.py:__init__():46] System info init done +2023-02-24 12:04:32,305 INFO HandlerThread:12872 [system_monitor.py:start():151] Starting system monitor +2023-02-24 12:04:32,306 INFO SystemMonitor:12872 [system_monitor.py:_start():116] Starting system asset monitoring threads +2023-02-24 12:04:32,306 INFO HandlerThread:12872 [system_monitor.py:probe():172] Collecting system info +2023-02-24 12:04:32,306 DEBUG HandlerThread:12872 [system_info.py:probe():195] Probing system +2023-02-24 12:04:32,309 INFO SystemMonitor:12872 [interfaces.py:start():168] Started cpu +2023-02-24 12:04:32,309 INFO SystemMonitor:12872 [interfaces.py:start():168] Started disk +2023-02-24 12:04:32,310 INFO SystemMonitor:12872 [interfaces.py:start():168] Started memory +2023-02-24 12:04:32,327 INFO SystemMonitor:12872 [interfaces.py:start():168] Started network +2023-02-24 12:04:32,328 DEBUG HandlerThread:12872 [system_info.py:_probe_git():180] Probing git +2023-02-24 12:04:32,425 DEBUG HandlerThread:12872 [system_info.py:_probe_git():188] Probing git done +2023-02-24 12:04:32,425 DEBUG HandlerThread:12872 [system_info.py:probe():241] Probing system done +2023-02-24 12:04:32,425 DEBUG HandlerThread:12872 [system_monitor.py:probe():181] {'os': 'Windows-10-10.0.19041-SP0', 'python': '3.8.1', 'heartbeatAt': '2023-02-24T12:04:32.306971', 'startedAt': '2023-02-24T12:04:31.703335', 'docker': None, 'cuda': None, 'args': (), 'state': 'running', 'program': 'C:\\Users\\liamb\\Documents\\graph4stackoverflow\\embeddings\\hetero_GAT.py', 'codePath': 'embeddings\\hetero_GAT.py', 'git': {'remote': 'https://git.soton.ac.uk/lhb1g20/graph4stackoverflow.git', 'commit': 'ced992d661984f7b87d1a3e76768e4ff7af78245'}, 'email': 'liambyrneh@gmail.com', 'root': 'C:/Users/liamb/Documents/graph4stackoverflow', 'host': 'DESKTOP-P7BETFF', 'username': 'liamb', 'executable': 'C:\\Users\\liamb\\Documents\\graph4stackoverflow\\venv\\Scripts\\python.exe', 'cpu_count': 2, 'cpu_count_logical': 4, 'cpu_freq': {'current': 3504.0, 'min': 0.0, 'max': 3504.0}, 'cpu_freq_per_core': [{'current': 3504.0, 'min': 0.0, 'max': 3504.0}], 'disk': {'total': 475.71581649780273, 'used': 352.413272857666}, 'memory': {'total': 31.89160919189453}} +2023-02-24 12:04:32,425 INFO HandlerThread:12872 [system_monitor.py:probe():182] Finished collecting system info +2023-02-24 12:04:32,425 INFO HandlerThread:12872 [system_monitor.py:probe():185] Publishing system info +2023-02-24 12:04:32,425 DEBUG HandlerThread:12872 [system_info.py:_save_pip():51] Saving list of pip packages installed into the current environment +2023-02-24 12:04:32,426 DEBUG HandlerThread:12872 [system_info.py:_save_pip():67] Saving pip packages done +2023-02-24 12:04:32,428 INFO HandlerThread:12872 [system_monitor.py:probe():187] Finished publishing system info +2023-02-24 12:04:32,438 DEBUG SenderThread:12872 [sender.py:send():336] send: files +2023-02-24 12:04:32,438 INFO SenderThread:12872 [sender.py:_save_file():1321] saving file wandb-metadata.json with policy now +2023-02-24 12:04:32,446 DEBUG HandlerThread:12872 [handler.py:handle_request():144] handle_request: stop_status +2023-02-24 12:04:32,446 DEBUG SenderThread:12872 [sender.py:send_request():363] send_request: stop_status +2023-02-24 12:04:32,449 DEBUG HandlerThread:12872 [handler.py:handle_request():144] handle_request: partial_history +2023-02-24 12:04:32,617 DEBUG SenderThread:12872 [sender.py:send():336] send: telemetry +2023-02-24 12:04:32,617 DEBUG SenderThread:12872 [sender.py:send():336] send: history +2023-02-24 12:04:32,617 DEBUG SenderThread:12872 [sender.py:send_request():363] send_request: summary_record +2023-02-24 12:04:32,618 INFO SenderThread:12872 [sender.py:_save_file():1321] saving file wandb-summary.json with policy end +2023-02-24 12:04:33,005 INFO wandb-upload_0:12872 [upload_job.py:push():138] Uploaded file C:\Users\liamb\AppData\Local\Temp\tmpbbi6qbi8wandb\zzsx2wsr-wandb-metadata.json +2023-02-24 12:04:33,182 INFO Thread-17 :12872 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_120431-uwujr228\files\wandb-metadata.json +2023-02-24 12:04:33,182 INFO Thread-17 :12872 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_120431-uwujr228\files\wandb-summary.json +2023-02-24 12:04:33,182 INFO Thread-17 :12872 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_120431-uwujr228\files\requirements.txt +2023-02-24 12:04:34,188 INFO Thread-17 :12872 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_120431-uwujr228\files\output.log +2023-02-24 12:04:34,401 DEBUG SenderThread:12872 [sender.py:send():336] send: exit +2023-02-24 12:04:34,401 INFO SenderThread:12872 [sender.py:send_exit():559] handling exit code: 1 +2023-02-24 12:04:34,401 INFO SenderThread:12872 [sender.py:send_exit():561] handling runtime: 2 +2023-02-24 12:04:34,405 INFO SenderThread:12872 [sender.py:_save_file():1321] saving file wandb-summary.json with policy end +2023-02-24 12:04:34,406 INFO SenderThread:12872 [sender.py:send_exit():567] send defer +2023-02-24 12:04:34,406 DEBUG HandlerThread:12872 [handler.py:handle_request():144] handle_request: defer +2023-02-24 12:04:34,406 INFO HandlerThread:12872 [handler.py:handle_request_defer():170] handle defer: 0 +2023-02-24 12:04:34,407 DEBUG SenderThread:12872 [sender.py:send_request():363] send_request: defer +2023-02-24 12:04:34,407 INFO SenderThread:12872 [sender.py:send_request_defer():583] handle sender defer: 0 +2023-02-24 12:04:34,407 INFO SenderThread:12872 [sender.py:transition_state():587] send defer: 1 +2023-02-24 12:04:34,407 DEBUG HandlerThread:12872 [handler.py:handle_request():144] handle_request: defer +2023-02-24 12:04:34,407 INFO HandlerThread:12872 [handler.py:handle_request_defer():170] handle defer: 1 +2023-02-24 12:04:34,408 DEBUG SenderThread:12872 [sender.py:send_request():363] send_request: defer +2023-02-24 12:04:34,408 INFO SenderThread:12872 [sender.py:send_request_defer():583] handle sender defer: 1 +2023-02-24 12:04:34,408 INFO SenderThread:12872 [sender.py:transition_state():587] send defer: 2 +2023-02-24 12:04:34,408 DEBUG HandlerThread:12872 [handler.py:handle_request():144] handle_request: defer +2023-02-24 12:04:34,408 INFO HandlerThread:12872 [handler.py:handle_request_defer():170] handle defer: 2 +2023-02-24 12:04:34,408 INFO HandlerThread:12872 [system_monitor.py:finish():161] Stopping system monitor +2023-02-24 12:04:34,409 DEBUG SystemMonitor:12872 [system_monitor.py:_start():130] Starting system metrics aggregation loop +2023-02-24 12:04:34,409 INFO HandlerThread:12872 [interfaces.py:finish():175] Joined cpu +2023-02-24 12:04:34,409 DEBUG SystemMonitor:12872 [system_monitor.py:_start():137] Finished system metrics aggregation loop +2023-02-24 12:04:34,409 DEBUG SystemMonitor:12872 [system_monitor.py:_start():141] Publishing last batch of metrics +2023-02-24 12:04:34,410 INFO HandlerThread:12872 [interfaces.py:finish():175] Joined disk +2023-02-24 12:04:34,410 INFO HandlerThread:12872 [interfaces.py:finish():175] Joined memory +2023-02-24 12:04:34,410 INFO HandlerThread:12872 [interfaces.py:finish():175] Joined network +2023-02-24 12:04:34,411 DEBUG SenderThread:12872 [sender.py:send_request():363] send_request: defer +2023-02-24 12:04:34,411 INFO SenderThread:12872 [sender.py:send_request_defer():583] handle sender defer: 2 +2023-02-24 12:04:34,411 INFO SenderThread:12872 [sender.py:transition_state():587] send defer: 3 +2023-02-24 12:04:34,411 DEBUG SenderThread:12872 [sender.py:send():336] send: stats +2023-02-24 12:04:34,412 DEBUG HandlerThread:12872 [handler.py:handle_request():144] handle_request: defer +2023-02-24 12:04:34,412 INFO HandlerThread:12872 [handler.py:handle_request_defer():170] handle defer: 3 +2023-02-24 12:04:34,412 DEBUG SenderThread:12872 [sender.py:send_request():363] send_request: defer +2023-02-24 12:04:34,412 INFO SenderThread:12872 [sender.py:send_request_defer():583] handle sender defer: 3 +2023-02-24 12:04:34,413 INFO SenderThread:12872 [sender.py:transition_state():587] send defer: 4 +2023-02-24 12:04:34,413 DEBUG HandlerThread:12872 [handler.py:handle_request():144] handle_request: defer +2023-02-24 12:04:34,413 INFO HandlerThread:12872 [handler.py:handle_request_defer():170] handle defer: 4 +2023-02-24 12:04:34,413 DEBUG SenderThread:12872 [sender.py:send_request():363] send_request: defer +2023-02-24 12:04:34,413 INFO SenderThread:12872 [sender.py:send_request_defer():583] handle sender defer: 4 +2023-02-24 12:04:34,414 INFO SenderThread:12872 [sender.py:transition_state():587] send defer: 5 +2023-02-24 12:04:34,414 DEBUG HandlerThread:12872 [handler.py:handle_request():144] handle_request: defer +2023-02-24 12:04:34,414 INFO HandlerThread:12872 [handler.py:handle_request_defer():170] handle defer: 5 +2023-02-24 12:04:34,415 DEBUG SenderThread:12872 [sender.py:send():336] send: summary +2023-02-24 12:04:34,416 INFO SenderThread:12872 [sender.py:_save_file():1321] saving file wandb-summary.json with policy end +2023-02-24 12:04:34,417 DEBUG SenderThread:12872 [sender.py:send_request():363] send_request: defer +2023-02-24 12:04:34,417 INFO SenderThread:12872 [sender.py:send_request_defer():583] handle sender defer: 5 +2023-02-24 12:04:34,417 INFO SenderThread:12872 [sender.py:transition_state():587] send defer: 6 +2023-02-24 12:04:34,417 DEBUG HandlerThread:12872 [handler.py:handle_request():144] handle_request: defer +2023-02-24 12:04:34,417 INFO HandlerThread:12872 [handler.py:handle_request_defer():170] handle defer: 6 +2023-02-24 12:04:34,417 DEBUG SenderThread:12872 [sender.py:send_request():363] send_request: defer +2023-02-24 12:04:34,418 INFO SenderThread:12872 [sender.py:send_request_defer():583] handle sender defer: 6 +2023-02-24 12:04:34,425 DEBUG HandlerThread:12872 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 12:04:34,620 INFO SenderThread:12872 [sender.py:transition_state():587] send defer: 7 +2023-02-24 12:04:34,621 DEBUG HandlerThread:12872 [handler.py:handle_request():144] handle_request: defer +2023-02-24 12:04:34,621 INFO HandlerThread:12872 [handler.py:handle_request_defer():170] handle defer: 7 +2023-02-24 12:04:34,624 DEBUG SenderThread:12872 [sender.py:send_request():363] send_request: defer +2023-02-24 12:04:34,624 INFO SenderThread:12872 [sender.py:send_request_defer():583] handle sender defer: 7 +2023-02-24 12:04:35,194 INFO Thread-17 :12872 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_120431-uwujr228\files\wandb-summary.json +2023-02-24 12:04:35,194 INFO Thread-17 :12872 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_120431-uwujr228\files\config.yaml +2023-02-24 12:04:35,411 DEBUG HandlerThread:12872 [handler.py:handle_request():144] handle_request: poll_exit +2023-02-24 12:04:35,989 INFO SenderThread:12872 [sender.py:transition_state():587] send defer: 8 +2023-02-24 12:04:35,989 DEBUG SenderThread:12872 [sender.py:send_request():363] send_request: poll_exit +2023-02-24 12:04:35,989 DEBUG HandlerThread:12872 [handler.py:handle_request():144] handle_request: defer +2023-02-24 12:04:35,989 INFO HandlerThread:12872 [handler.py:handle_request_defer():170] handle defer: 8 +2023-02-24 12:04:35,990 DEBUG SenderThread:12872 [sender.py:send_request():363] send_request: defer +2023-02-24 12:04:35,990 INFO SenderThread:12872 [sender.py:send_request_defer():583] handle sender defer: 8 +2023-02-24 12:04:36,004 INFO SenderThread:12872 [sender.py:transition_state():587] send defer: 9 +2023-02-24 12:04:36,005 DEBUG HandlerThread:12872 [handler.py:handle_request():144] handle_request: defer +2023-02-24 12:04:36,005 DEBUG SenderThread:12872 [sender.py:send():336] send: artifact +2023-02-24 12:04:36,005 INFO HandlerThread:12872 [handler.py:handle_request_defer():170] handle defer: 9 +2023-02-24 12:04:36,206 INFO Thread-17 :12872 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_120431-uwujr228\files\output.log +2023-02-24 12:04:36,423 DEBUG HandlerThread:12872 [handler.py:handle_request():144] handle_request: poll_exit +2023-02-24 12:04:36,887 INFO SenderThread:12872 [sender.py:send_artifact():1417] sent artifact job-https___git.soton.ac.uk_lhb1g20_graph4stackoverflow.git_embeddings_hetero_GAT.py - {'id': 'QXJ0aWZhY3Q6MzgwMzgzODYx', 'digest': '52054f0b23df9b668b4724b52e59ad5e', 'state': 'COMMITTED', 'aliases': [{'artifactCollectionName': 'job-https___git.soton.ac.uk_lhb1g20_graph4stackoverflow.git_embeddings_hetero_GAT.py', 'alias': 'latest'}, {'artifactCollectionName': 'job-https___git.soton.ac.uk_lhb1g20_graph4stackoverflow.git_embeddings_hetero_GAT.py', 'alias': 'v1'}], 'artifactSequence': {'id': 'QXJ0aWZhY3RDb2xsZWN0aW9uOjU0NTg3MzU0', 'latestArtifact': {'id': 'QXJ0aWZhY3Q6MzgwMzgzODYx', 'versionIndex': 1}}, 'version': 'v1'} +2023-02-24 12:04:36,887 DEBUG SenderThread:12872 [sender.py:send_request():363] send_request: defer +2023-02-24 12:04:36,887 INFO SenderThread:12872 [sender.py:send_request_defer():583] handle sender defer: 9 +2023-02-24 12:04:36,887 INFO SenderThread:12872 [dir_watcher.py:finish():362] shutting down directory watcher +2023-02-24 12:04:37,218 INFO SenderThread:12872 [dir_watcher.py:finish():392] scan: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_120431-uwujr228\files +2023-02-24 12:04:37,219 INFO SenderThread:12872 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_120431-uwujr228\files\config.yaml config.yaml +2023-02-24 12:04:37,220 INFO SenderThread:12872 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_120431-uwujr228\files\output.log output.log +2023-02-24 12:04:37,224 INFO SenderThread:12872 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_120431-uwujr228\files\requirements.txt requirements.txt +2023-02-24 12:04:37,225 INFO SenderThread:12872 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_120431-uwujr228\files\wandb-metadata.json wandb-metadata.json +2023-02-24 12:04:37,226 INFO SenderThread:12872 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_120431-uwujr228\files\wandb-summary.json wandb-summary.json +2023-02-24 12:04:37,230 INFO SenderThread:12872 [sender.py:transition_state():587] send defer: 10 +2023-02-24 12:04:37,231 DEBUG SenderThread:12872 [sender.py:send_request():363] send_request: poll_exit +2023-02-24 12:04:37,232 DEBUG HandlerThread:12872 [handler.py:handle_request():144] handle_request: defer +2023-02-24 12:04:37,233 INFO HandlerThread:12872 [handler.py:handle_request_defer():170] handle defer: 10 +2023-02-24 12:04:37,237 DEBUG SenderThread:12872 [sender.py:send_request():363] send_request: defer +2023-02-24 12:04:37,238 INFO SenderThread:12872 [sender.py:send_request_defer():583] handle sender defer: 10 +2023-02-24 12:04:37,238 INFO SenderThread:12872 [file_pusher.py:finish():162] shutting down file pusher +2023-02-24 12:04:37,436 DEBUG HandlerThread:12872 [handler.py:handle_request():144] handle_request: poll_exit +2023-02-24 12:04:37,436 DEBUG SenderThread:12872 [sender.py:send_request():363] send_request: poll_exit +2023-02-24 12:04:37,754 INFO wandb-upload_1:12872 [upload_job.py:push():138] Uploaded file C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_120431-uwujr228\files\output.log +2023-02-24 12:04:37,824 INFO wandb-upload_3:12872 [upload_job.py:push():138] Uploaded file C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_120431-uwujr228\files\wandb-summary.json +2023-02-24 12:04:37,845 INFO wandb-upload_0:12872 [upload_job.py:push():138] Uploaded file C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_120431-uwujr228\files\config.yaml +2023-02-24 12:04:37,846 INFO wandb-upload_2:12872 [upload_job.py:push():138] Uploaded file C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_120431-uwujr228\files\requirements.txt +2023-02-24 12:04:38,064 INFO Thread-16 :12872 [sender.py:transition_state():587] send defer: 11 +2023-02-24 12:04:38,064 DEBUG HandlerThread:12872 [handler.py:handle_request():144] handle_request: defer +2023-02-24 12:04:38,064 INFO HandlerThread:12872 [handler.py:handle_request_defer():170] handle defer: 11 +2023-02-24 12:04:38,065 DEBUG SenderThread:12872 [sender.py:send_request():363] send_request: defer +2023-02-24 12:04:38,065 INFO SenderThread:12872 [sender.py:send_request_defer():583] handle sender defer: 11 +2023-02-24 12:04:38,065 INFO SenderThread:12872 [file_pusher.py:join():167] waiting for file pusher +2023-02-24 12:04:38,065 INFO SenderThread:12872 [sender.py:transition_state():587] send defer: 12 +2023-02-24 12:04:38,065 DEBUG HandlerThread:12872 [handler.py:handle_request():144] handle_request: defer +2023-02-24 12:04:38,065 INFO HandlerThread:12872 [handler.py:handle_request_defer():170] handle defer: 12 +2023-02-24 12:04:38,066 DEBUG SenderThread:12872 [sender.py:send_request():363] send_request: defer +2023-02-24 12:04:38,066 INFO SenderThread:12872 [sender.py:send_request_defer():583] handle sender defer: 12 +2023-02-24 12:04:38,201 INFO SenderThread:12872 [sender.py:transition_state():587] send defer: 13 +2023-02-24 12:04:38,202 DEBUG HandlerThread:12872 [handler.py:handle_request():144] handle_request: defer +2023-02-24 12:04:38,202 INFO HandlerThread:12872 [handler.py:handle_request_defer():170] handle defer: 13 +2023-02-24 12:04:38,202 DEBUG SenderThread:12872 [sender.py:send_request():363] send_request: defer +2023-02-24 12:04:38,203 INFO SenderThread:12872 [sender.py:send_request_defer():583] handle sender defer: 13 +2023-02-24 12:04:38,203 INFO SenderThread:12872 [sender.py:transition_state():587] send defer: 14 +2023-02-24 12:04:38,203 DEBUG HandlerThread:12872 [handler.py:handle_request():144] handle_request: defer +2023-02-24 12:04:38,204 INFO HandlerThread:12872 [handler.py:handle_request_defer():170] handle defer: 14 +2023-02-24 12:04:38,204 DEBUG SenderThread:12872 [sender.py:send():336] send: final +2023-02-24 12:04:38,208 DEBUG SenderThread:12872 [sender.py:send():336] send: footer +2023-02-24 12:04:38,209 DEBUG SenderThread:12872 [sender.py:send_request():363] send_request: defer +2023-02-24 12:04:38,209 INFO SenderThread:12872 [sender.py:send_request_defer():583] handle sender defer: 14 +2023-02-24 12:04:38,209 DEBUG HandlerThread:12872 [handler.py:handle_request():144] handle_request: poll_exit +2023-02-24 12:04:38,210 DEBUG HandlerThread:12872 [handler.py:handle_request():144] handle_request: poll_exit +2023-02-24 12:04:38,210 DEBUG HandlerThread:12872 [handler.py:handle_request():144] handle_request: server_info +2023-02-24 12:04:38,210 DEBUG SenderThread:12872 [sender.py:send_request():363] send_request: poll_exit +2023-02-24 12:04:38,211 DEBUG HandlerThread:12872 [handler.py:handle_request():144] handle_request: get_summary +2023-02-24 12:04:38,211 DEBUG SenderThread:12872 [sender.py:send_request():363] send_request: poll_exit +2023-02-24 12:04:38,211 DEBUG HandlerThread:12872 [handler.py:handle_request():144] handle_request: sampled_history +2023-02-24 12:04:38,212 DEBUG SenderThread:12872 [sender.py:send_request():363] send_request: server_info +2023-02-24 12:04:38,374 INFO MainThread:12872 [wandb_run.py:_footer_history_summary_info():3442] rendering history +2023-02-24 12:04:38,375 INFO MainThread:12872 [wandb_run.py:_footer_history_summary_info():3474] rendering summary +2023-02-24 12:04:38,375 INFO MainThread:12872 [wandb_run.py:_footer_sync_info():3398] logging synced files +2023-02-24 12:04:38,375 DEBUG HandlerThread:12872 [handler.py:handle_request():144] handle_request: shutdown +2023-02-24 12:04:38,376 INFO HandlerThread:12872 [handler.py:finish():841] shutting down handler +2023-02-24 12:04:39,225 INFO WriterThread:12872 [datastore.py:close():299] close: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_120431-uwujr228\run-uwujr228.wandb +2023-02-24 12:04:39,381 INFO SenderThread:12872 [sender.py:finish():1493] shutting down sender +2023-02-24 12:04:39,381 INFO SenderThread:12872 [file_pusher.py:finish():162] shutting down file pusher +2023-02-24 12:04:39,381 INFO SenderThread:12872 [file_pusher.py:join():167] waiting for file pusher diff --git a/embeddings/wandb/run-20230224_120431-uwujr228/logs/debug.log b/embeddings/wandb/run-20230224_120431-uwujr228/logs/debug.log new file mode 100644 index 0000000000000000000000000000000000000000..a7c563e7ba9b4ecbbcde2058d5a2fecd1c50917a --- /dev/null +++ b/embeddings/wandb/run-20230224_120431-uwujr228/logs/debug.log @@ -0,0 +1,25 @@ +2023-02-24 12:04:31,706 INFO MainThread:2344 [wandb_setup.py:_flush():68] Configure stats pid to 2344 +2023-02-24 12:04:31,706 INFO MainThread:2344 [wandb_setup.py:_flush():68] Loading settings from C:\Users\liamb\.config\wandb\settings +2023-02-24 12:04:31,706 INFO MainThread:2344 [wandb_setup.py:_flush():68] Loading settings from C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\settings +2023-02-24 12:04:31,706 INFO MainThread:2344 [wandb_setup.py:_flush():68] Loading settings from environment variables: {'_require_service': 'True'} +2023-02-24 12:04:31,706 INFO MainThread:2344 [wandb_setup.py:_flush():68] Inferring run settings from compute environment: {'program_relpath': 'embeddings\\hetero_GAT.py', 'program': 'C:\\Users\\liamb\\Documents\\graph4stackoverflow\\embeddings\\hetero_GAT.py'} +2023-02-24 12:04:31,707 INFO MainThread:2344 [wandb_init.py:_log_setup():492] Logging user logs to C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_120431-uwujr228\logs\debug.log +2023-02-24 12:04:31,707 INFO MainThread:2344 [wandb_init.py:_log_setup():493] Logging internal logs to C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_120431-uwujr228\logs\debug-internal.log +2023-02-24 12:04:31,707 INFO MainThread:2344 [wandb_init.py:init():532] calling init triggers +2023-02-24 12:04:31,707 INFO MainThread:2344 [wandb_init.py:init():538] wandb.init called with sweep_config: {} +config: {} +2023-02-24 12:04:31,707 INFO MainThread:2344 [wandb_init.py:init():588] starting backend +2023-02-24 12:04:31,707 INFO MainThread:2344 [wandb_init.py:init():592] setting up manager +2023-02-24 12:04:31,710 INFO MainThread:2344 [backend.py:_multiprocessing_setup():106] multiprocessing start_methods=spawn, using: spawn +2023-02-24 12:04:31,714 INFO MainThread:2344 [wandb_init.py:init():599] backend started and connected +2023-02-24 12:04:31,716 INFO MainThread:2344 [wandb_init.py:init():687] updated telemetry +2023-02-24 12:04:31,766 INFO MainThread:2344 [wandb_init.py:init():727] communicating run to backend with 60.0 second timeout +2023-02-24 12:04:32,176 INFO MainThread:2344 [wandb_run.py:_on_init():2134] communicating current version +2023-02-24 12:04:32,280 INFO MainThread:2344 [wandb_run.py:_on_init():2143] got version response +2023-02-24 12:04:32,280 INFO MainThread:2344 [wandb_init.py:init():775] starting run threads in backend +2023-02-24 12:04:32,446 INFO MainThread:2344 [wandb_run.py:_console_start():2114] atexit reg +2023-02-24 12:04:32,446 INFO MainThread:2344 [wandb_run.py:_redirect():1969] redirect: SettingsConsole.WRAP_RAW +2023-02-24 12:04:32,447 INFO MainThread:2344 [wandb_run.py:_redirect():2034] Wrapping output streams. +2023-02-24 12:04:32,447 INFO MainThread:2344 [wandb_run.py:_redirect():2059] Redirects installed. +2023-02-24 12:04:32,447 INFO MainThread:2344 [wandb_init.py:init():817] run started, returning control to user process +2023-02-24 12:04:39,448 WARNING MsgRouterThr:2344 [router.py:message_loop():77] message_loop has been closed diff --git a/embeddings/wandb/run-20230224_120431-uwujr228/run-uwujr228.wandb b/embeddings/wandb/run-20230224_120431-uwujr228/run-uwujr228.wandb new file mode 100644 index 0000000000000000000000000000000000000000..b8c970c0160226a9439cfc0f36321c16dbdedcd1 Binary files /dev/null and b/embeddings/wandb/run-20230224_120431-uwujr228/run-uwujr228.wandb differ diff --git a/embeddings/wandb/run-20230224_120727-umvgkhb9/files/config.yaml b/embeddings/wandb/run-20230224_120727-umvgkhb9/files/config.yaml new file mode 100644 index 0000000000000000000000000000000000000000..49bafbe7b59790e4deff7c6ddcf6418e67f7f664 --- /dev/null +++ b/embeddings/wandb/run-20230224_120727-umvgkhb9/files/config.yaml @@ -0,0 +1,40 @@ +wandb_version: 1 + +_wandb: + desc: null + value: + cli_version: 0.13.10 + framework: huggingface + huggingface_version: 4.24.0 + is_jupyter_run: false + is_kaggle_kernel: false + python_version: 3.8.1 + start_time: 1677240447.823426 + t: + 1: + - 1 + - 5 + - 11 + - 33 + - 49 + - 53 + - 55 + - 77 + 2: + - 1 + - 5 + - 11 + - 33 + - 49 + - 53 + - 55 + - 77 + 3: + - 13 + - 23 + 4: 3.8.1 + 5: 0.13.10 + 6: 4.24.0 + 8: + - 3 + - 5 diff --git a/embeddings/wandb/run-20230224_120727-umvgkhb9/files/output.log b/embeddings/wandb/run-20230224_120727-umvgkhb9/files/output.log new file mode 100644 index 0000000000000000000000000000000000000000..b1663a8b7fa51f3158a7d45c67aeb9a5448c9b76 --- /dev/null +++ b/embeddings/wandb/run-20230224_120727-umvgkhb9/files/output.log @@ -0,0 +1,6 @@ +Traceback (most recent call last): + File "C:\Users\liamb\Documents\graph4stackoverflow\embeddings\hetero_GAT.py", line 149, in <module> + label = graph.y.item() + File "C:\Users\liamb\Documents\graph4stackoverflow\venv\lib\site-packages\torch_geometric\data\hetero_data.py", line 138, in __getattr__ + raise AttributeError(f"'{self.__class__.__name__}' has no " +AttributeError: 'BatchedHeteroData' has no attribute 'y' \ No newline at end of file diff --git a/embeddings/wandb/run-20230224_120727-umvgkhb9/files/requirements.txt b/embeddings/wandb/run-20230224_120727-umvgkhb9/files/requirements.txt new file mode 100644 index 0000000000000000000000000000000000000000..d7de821539624662109e252a91c4907a963ad5fb --- /dev/null +++ b/embeddings/wandb/run-20230224_120727-umvgkhb9/files/requirements.txt @@ -0,0 +1,170 @@ +absl-py==1.3.0 +anyio==3.6.2 +appdirs==1.4.4 +argon2-cffi-bindings==21.2.0 +argon2-cffi==21.3.0 +asttokens==2.1.0 +astunparse==1.6.3 +attrs==22.1.0 +backcall==0.2.0 +beautifulsoup4==4.11.1 +bleach==5.0.1 +blis==0.7.9 +bs4==0.0.1 +cachetools==5.2.0 +catalogue==2.0.8 +certifi==2022.9.24 +cffi==1.15.1 +charset-normalizer==2.1.1 +click==8.1.3 +colorama==0.4.6 +confection==0.0.3 +contourpy==1.0.6 +cycler==0.11.0 +cymem==2.0.7 +debugpy==1.6.3 +decorator==5.1.1 +defusedxml==0.7.1 +dgl==0.9.1 +docker-pycreds==0.4.0 +en-core-web-sm==3.4.1 +entrypoints==0.4 +executing==1.2.0 +fastjsonschema==2.16.2 +filelock==3.8.0 +fonttools==4.38.0 +gitdb==4.0.10 +gitpython==3.1.31 +google-auth-oauthlib==0.4.6 +google-auth==2.14.0 +graph4nlp==0.5.5 +grpcio==1.50.0 +huggingface-hub==0.10.1 +idna==3.4 +importlib-metadata==5.0.0 +importlib-resources==5.10.0 +ipykernel==6.16.2 +ipython-genutils==0.2.0 +ipython==8.6.0 +ipywidgets==8.0.2 +jedi==0.18.1 +jinja2==3.1.2 +joblib==1.2.0 +jsonschema==4.16.0 +jupyter-client==7.4.4 +jupyter-console==6.4.4 +jupyter-core==4.11.2 +jupyter-server==1.21.0 +jupyter==1.0.0 +jupyterlab-pygments==0.2.2 +jupyterlab-widgets==3.0.3 +kiwisolver==1.4.4 +langcodes==3.3.0 +littleutils==0.2.2 +lxml==4.9.1 +markdown==3.4.1 +markupsafe==2.1.1 +matplotlib-inline==0.1.6 +matplotlib==3.6.2 +mistune==2.0.4 +murmurhash==1.0.9 +nbclassic==0.4.7 +nbclient==0.7.0 +nbconvert==7.2.3 +nbformat==5.7.0 +nest-asyncio==1.5.6 +networkx==2.8.8 +nltk==3.7 +notebook-shim==0.2.0 +notebook==6.5.2 +numpy==1.23.5 +oauthlib==3.2.2 +ogb==1.3.5 +outdated==0.2.2 +packaging==21.3 +pandas==1.5.1 +pandocfilters==1.5.0 +parso==0.8.3 +pathtools==0.1.2 +pathy==0.6.2 +pickleshare==0.7.5 +pillow==9.3.0 +pip==21.3.1 +pkgutil-resolve-name==1.3.10 +plotly==5.13.0 +preshed==3.0.8 +prometheus-client==0.15.0 +prompt-toolkit==3.0.31 +protobuf==3.19.6 +psutil==5.9.3 +pure-eval==0.2.2 +pyasn1-modules==0.2.8 +pyasn1==0.4.8 +pycparser==2.21 +pydantic==1.10.2 +pygments==2.13.0 +pyparsing==3.0.9 +pyrsistent==0.18.1 +python-dateutil==2.8.2 +pythonds==1.2.1 +pytz==2022.5 +pywin32==304 +pywinpty==2.0.9 +pyyaml==6.0 +pyzmq==24.0.1 +qtconsole==5.3.2 +qtpy==2.2.1 +regex==2022.10.31 +requests-oauthlib==1.3.1 +requests==2.28.1 +rsa==4.9 +scikit-learn==1.1.3 +scipy==1.9.3 +send2trash==1.8.0 +sentry-sdk==1.15.0 +setproctitle==1.3.2 +setuptools==60.2.0 +six==1.16.0 +smart-open==5.2.1 +smmap==5.0.0 +sniffio==1.3.0 +soupsieve==2.3.2.post1 +spacy-legacy==3.0.10 +spacy-loggers==1.0.3 +spacy==3.4.2 +srsly==2.4.5 +stack-data==0.6.0 +stanfordcorenlp==3.9.1.1 +tenacity==8.2.1 +tensorboard-data-server==0.6.1 +tensorboard-plugin-wit==1.8.1 +tensorboard==2.10.1 +terminado==0.17.0 +thinc==8.1.5 +threadpoolctl==3.1.0 +tinycss2==1.2.1 +tokenizers==0.13.2 +torch-cluster==1.6.0+pt113cpu +torch-geometric==2.2.0 +torch-scatter==2.1.0+pt113cpu +torch-sparse==0.6.16+pt113cpu +torch-spline-conv==1.2.1+pt113cpu +torch==1.13.0 +torchsummary==1.5.1 +torchtext==0.14.0 +tornado==6.2 +tqdm==4.64.1 +traitlets==5.5.0 +transformers==4.24.0 +typer==0.4.2 +typing-extensions==4.4.0 +urllib3==1.26.12 +wandb==0.13.10 +wasabi==0.10.1 +wcwidth==0.2.5 +webencodings==0.5.1 +websocket-client==1.4.1 +werkzeug==2.2.2 +wheel==0.37.1 +widgetsnbextension==4.0.3 +zipp==3.10.0 \ No newline at end of file diff --git a/embeddings/wandb/run-20230224_120727-umvgkhb9/files/wandb-metadata.json b/embeddings/wandb/run-20230224_120727-umvgkhb9/files/wandb-metadata.json new file mode 100644 index 0000000000000000000000000000000000000000..6495cfc56ac0f4f5c1df4bb05a82294db892d3fa --- /dev/null +++ b/embeddings/wandb/run-20230224_120727-umvgkhb9/files/wandb-metadata.json @@ -0,0 +1,42 @@ +{ + "os": "Windows-10-10.0.19041-SP0", + "python": "3.8.1", + "heartbeatAt": "2023-02-24T12:07:28.365622", + "startedAt": "2023-02-24T12:07:27.810426", + "docker": null, + "cuda": null, + "args": [], + "state": "running", + "program": "C:\\Users\\liamb\\Documents\\graph4stackoverflow\\embeddings\\hetero_GAT.py", + "codePath": "embeddings\\hetero_GAT.py", + "git": { + "remote": "https://git.soton.ac.uk/lhb1g20/graph4stackoverflow.git", + "commit": "ced992d661984f7b87d1a3e76768e4ff7af78245" + }, + "email": "liambyrneh@gmail.com", + "root": "C:/Users/liamb/Documents/graph4stackoverflow", + "host": "DESKTOP-P7BETFF", + "username": "liamb", + "executable": "C:\\Users\\liamb\\Documents\\graph4stackoverflow\\venv\\Scripts\\python.exe", + "cpu_count": 2, + "cpu_count_logical": 4, + "cpu_freq": { + "current": 3504.0, + "min": 0.0, + "max": 3504.0 + }, + "cpu_freq_per_core": [ + { + "current": 3504.0, + "min": 0.0, + "max": 3504.0 + } + ], + "disk": { + "total": 475.71581649780273, + "used": 352.4115753173828 + }, + "memory": { + "total": 31.89160919189453 + } +} diff --git a/embeddings/wandb/run-20230224_120727-umvgkhb9/files/wandb-summary.json b/embeddings/wandb/run-20230224_120727-umvgkhb9/files/wandb-summary.json new file mode 100644 index 0000000000000000000000000000000000000000..3a3b7cacd603bde6542db291857ac07310d39e0e --- /dev/null +++ b/embeddings/wandb/run-20230224_120727-umvgkhb9/files/wandb-summary.json @@ -0,0 +1 @@ +{"num_node_features": {"question": 1536, "answer": 1536, "comment": 768, "tag": 50, "module": 30}, "num_classes": 2, "_timestamp": 1677240448.5016134, "_runtime": 0.678187370300293, "_step": 0, "_wandb": {"runtime": 0}} \ No newline at end of file diff --git a/embeddings/wandb/run-20230224_120727-umvgkhb9/logs/debug-internal.log b/embeddings/wandb/run-20230224_120727-umvgkhb9/logs/debug-internal.log new file mode 100644 index 0000000000000000000000000000000000000000..c3718aff127b1d7bdb714b4e504d2f98c6f5bbc7 --- /dev/null +++ b/embeddings/wandb/run-20230224_120727-umvgkhb9/logs/debug-internal.log @@ -0,0 +1,172 @@ +2023-02-24 12:07:27,824 INFO StreamThr :14396 [internal.py:wandb_internal():87] W&B internal server running at pid: 14396, started at: 2023-02-24 12:07:27.823427 +2023-02-24 12:07:27,826 DEBUG HandlerThread:14396 [handler.py:handle_request():144] handle_request: status +2023-02-24 12:07:27,827 INFO WriterThread:14396 [datastore.py:open_for_write():85] open: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_120727-umvgkhb9\run-umvgkhb9.wandb +2023-02-24 12:07:27,831 DEBUG SenderThread:14396 [sender.py:send():336] send: header +2023-02-24 12:07:27,886 DEBUG SenderThread:14396 [sender.py:send():336] send: run +2023-02-24 12:07:28,267 INFO SenderThread:14396 [dir_watcher.py:__init__():216] watching files in: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_120727-umvgkhb9\files +2023-02-24 12:07:28,267 INFO SenderThread:14396 [sender.py:_start_run_threads():1067] run started: umvgkhb9 with start time 1677240447.823426 +2023-02-24 12:07:28,267 DEBUG SenderThread:14396 [sender.py:send_request():363] send_request: summary_record +2023-02-24 12:07:28,267 DEBUG HandlerThread:14396 [handler.py:handle_request():144] handle_request: check_version +2023-02-24 12:07:28,268 INFO SenderThread:14396 [sender.py:_save_file():1321] saving file wandb-summary.json with policy end +2023-02-24 12:07:28,269 DEBUG SenderThread:14396 [sender.py:send_request():363] send_request: check_version +2023-02-24 12:07:28,344 DEBUG HandlerThread:14396 [handler.py:handle_request():144] handle_request: run_start +2023-02-24 12:07:28,361 DEBUG HandlerThread:14396 [system_info.py:__init__():31] System info init +2023-02-24 12:07:28,361 DEBUG HandlerThread:14396 [system_info.py:__init__():46] System info init done +2023-02-24 12:07:28,361 INFO HandlerThread:14396 [system_monitor.py:start():151] Starting system monitor +2023-02-24 12:07:28,361 INFO SystemMonitor:14396 [system_monitor.py:_start():116] Starting system asset monitoring threads +2023-02-24 12:07:28,362 INFO HandlerThread:14396 [system_monitor.py:probe():172] Collecting system info +2023-02-24 12:07:28,365 INFO SystemMonitor:14396 [interfaces.py:start():168] Started cpu +2023-02-24 12:07:28,365 DEBUG HandlerThread:14396 [system_info.py:probe():195] Probing system +2023-02-24 12:07:28,365 INFO SystemMonitor:14396 [interfaces.py:start():168] Started disk +2023-02-24 12:07:28,366 INFO SystemMonitor:14396 [interfaces.py:start():168] Started memory +2023-02-24 12:07:28,366 INFO SystemMonitor:14396 [interfaces.py:start():168] Started network +2023-02-24 12:07:28,384 DEBUG HandlerThread:14396 [system_info.py:_probe_git():180] Probing git +2023-02-24 12:07:28,477 DEBUG HandlerThread:14396 [system_info.py:_probe_git():188] Probing git done +2023-02-24 12:07:28,478 DEBUG HandlerThread:14396 [system_info.py:probe():241] Probing system done +2023-02-24 12:07:28,478 DEBUG HandlerThread:14396 [system_monitor.py:probe():181] {'os': 'Windows-10-10.0.19041-SP0', 'python': '3.8.1', 'heartbeatAt': '2023-02-24T12:07:28.365622', 'startedAt': '2023-02-24T12:07:27.810426', 'docker': None, 'cuda': None, 'args': (), 'state': 'running', 'program': 'C:\\Users\\liamb\\Documents\\graph4stackoverflow\\embeddings\\hetero_GAT.py', 'codePath': 'embeddings\\hetero_GAT.py', 'git': {'remote': 'https://git.soton.ac.uk/lhb1g20/graph4stackoverflow.git', 'commit': 'ced992d661984f7b87d1a3e76768e4ff7af78245'}, 'email': 'liambyrneh@gmail.com', 'root': 'C:/Users/liamb/Documents/graph4stackoverflow', 'host': 'DESKTOP-P7BETFF', 'username': 'liamb', 'executable': 'C:\\Users\\liamb\\Documents\\graph4stackoverflow\\venv\\Scripts\\python.exe', 'cpu_count': 2, 'cpu_count_logical': 4, 'cpu_freq': {'current': 3504.0, 'min': 0.0, 'max': 3504.0}, 'cpu_freq_per_core': [{'current': 3504.0, 'min': 0.0, 'max': 3504.0}], 'disk': {'total': 475.71581649780273, 'used': 352.4115753173828}, 'memory': {'total': 31.89160919189453}} +2023-02-24 12:07:28,478 INFO HandlerThread:14396 [system_monitor.py:probe():182] Finished collecting system info +2023-02-24 12:07:28,478 INFO HandlerThread:14396 [system_monitor.py:probe():185] Publishing system info +2023-02-24 12:07:28,478 DEBUG HandlerThread:14396 [system_info.py:_save_pip():51] Saving list of pip packages installed into the current environment +2023-02-24 12:07:28,479 DEBUG HandlerThread:14396 [system_info.py:_save_pip():67] Saving pip packages done +2023-02-24 12:07:28,481 INFO HandlerThread:14396 [system_monitor.py:probe():187] Finished publishing system info +2023-02-24 12:07:28,490 DEBUG SenderThread:14396 [sender.py:send():336] send: files +2023-02-24 12:07:28,490 INFO SenderThread:14396 [sender.py:_save_file():1321] saving file wandb-metadata.json with policy now +2023-02-24 12:07:28,499 DEBUG HandlerThread:14396 [handler.py:handle_request():144] handle_request: stop_status +2023-02-24 12:07:28,499 DEBUG SenderThread:14396 [sender.py:send_request():363] send_request: stop_status +2023-02-24 12:07:28,503 DEBUG HandlerThread:14396 [handler.py:handle_request():144] handle_request: partial_history +2023-02-24 12:07:28,660 DEBUG SenderThread:14396 [sender.py:send():336] send: telemetry +2023-02-24 12:07:28,660 DEBUG SenderThread:14396 [sender.py:send():336] send: history +2023-02-24 12:07:28,660 DEBUG SenderThread:14396 [sender.py:send_request():363] send_request: summary_record +2023-02-24 12:07:28,661 INFO SenderThread:14396 [sender.py:_save_file():1321] saving file wandb-summary.json with policy end +2023-02-24 12:07:28,663 DEBUG SenderThread:14396 [sender.py:send():336] send: exit +2023-02-24 12:07:28,663 INFO SenderThread:14396 [sender.py:send_exit():559] handling exit code: 1 +2023-02-24 12:07:28,663 INFO SenderThread:14396 [sender.py:send_exit():561] handling runtime: 0 +2023-02-24 12:07:28,664 INFO SenderThread:14396 [sender.py:_save_file():1321] saving file wandb-summary.json with policy end +2023-02-24 12:07:28,664 INFO SenderThread:14396 [sender.py:send_exit():567] send defer +2023-02-24 12:07:28,664 DEBUG HandlerThread:14396 [handler.py:handle_request():144] handle_request: defer +2023-02-24 12:07:28,664 INFO HandlerThread:14396 [handler.py:handle_request_defer():170] handle defer: 0 +2023-02-24 12:07:28,665 DEBUG SenderThread:14396 [sender.py:send_request():363] send_request: defer +2023-02-24 12:07:28,665 INFO SenderThread:14396 [sender.py:send_request_defer():583] handle sender defer: 0 +2023-02-24 12:07:28,665 INFO SenderThread:14396 [sender.py:transition_state():587] send defer: 1 +2023-02-24 12:07:28,665 DEBUG HandlerThread:14396 [handler.py:handle_request():144] handle_request: defer +2023-02-24 12:07:28,665 INFO HandlerThread:14396 [handler.py:handle_request_defer():170] handle defer: 1 +2023-02-24 12:07:28,665 DEBUG SenderThread:14396 [sender.py:send_request():363] send_request: defer +2023-02-24 12:07:28,665 INFO SenderThread:14396 [sender.py:send_request_defer():583] handle sender defer: 1 +2023-02-24 12:07:28,665 INFO SenderThread:14396 [sender.py:transition_state():587] send defer: 2 +2023-02-24 12:07:28,666 DEBUG HandlerThread:14396 [handler.py:handle_request():144] handle_request: defer +2023-02-24 12:07:28,667 INFO HandlerThread:14396 [handler.py:handle_request_defer():170] handle defer: 2 +2023-02-24 12:07:28,668 INFO HandlerThread:14396 [system_monitor.py:finish():161] Stopping system monitor +2023-02-24 12:07:28,668 DEBUG SystemMonitor:14396 [system_monitor.py:_start():130] Starting system metrics aggregation loop +2023-02-24 12:07:28,668 DEBUG SystemMonitor:14396 [system_monitor.py:_start():137] Finished system metrics aggregation loop +2023-02-24 12:07:28,669 DEBUG SystemMonitor:14396 [system_monitor.py:_start():141] Publishing last batch of metrics +2023-02-24 12:07:28,669 INFO HandlerThread:14396 [interfaces.py:finish():175] Joined cpu +2023-02-24 12:07:28,669 INFO HandlerThread:14396 [interfaces.py:finish():175] Joined disk +2023-02-24 12:07:28,670 INFO HandlerThread:14396 [interfaces.py:finish():175] Joined memory +2023-02-24 12:07:28,670 INFO HandlerThread:14396 [interfaces.py:finish():175] Joined network +2023-02-24 12:07:28,670 DEBUG SenderThread:14396 [sender.py:send_request():363] send_request: defer +2023-02-24 12:07:28,670 INFO SenderThread:14396 [sender.py:send_request_defer():583] handle sender defer: 2 +2023-02-24 12:07:28,671 INFO SenderThread:14396 [sender.py:transition_state():587] send defer: 3 +2023-02-24 12:07:28,671 DEBUG SenderThread:14396 [sender.py:send():336] send: stats +2023-02-24 12:07:28,671 DEBUG HandlerThread:14396 [handler.py:handle_request():144] handle_request: defer +2023-02-24 12:07:28,671 INFO HandlerThread:14396 [handler.py:handle_request_defer():170] handle defer: 3 +2023-02-24 12:07:28,672 DEBUG SenderThread:14396 [sender.py:send_request():363] send_request: defer +2023-02-24 12:07:28,672 INFO SenderThread:14396 [sender.py:send_request_defer():583] handle sender defer: 3 +2023-02-24 12:07:28,672 INFO SenderThread:14396 [sender.py:transition_state():587] send defer: 4 +2023-02-24 12:07:28,672 DEBUG HandlerThread:14396 [handler.py:handle_request():144] handle_request: defer +2023-02-24 12:07:28,672 INFO HandlerThread:14396 [handler.py:handle_request_defer():170] handle defer: 4 +2023-02-24 12:07:28,672 DEBUG SenderThread:14396 [sender.py:send_request():363] send_request: defer +2023-02-24 12:07:28,672 INFO SenderThread:14396 [sender.py:send_request_defer():583] handle sender defer: 4 +2023-02-24 12:07:28,673 INFO SenderThread:14396 [sender.py:transition_state():587] send defer: 5 +2023-02-24 12:07:28,673 DEBUG HandlerThread:14396 [handler.py:handle_request():144] handle_request: defer +2023-02-24 12:07:28,673 INFO HandlerThread:14396 [handler.py:handle_request_defer():170] handle defer: 5 +2023-02-24 12:07:28,673 DEBUG SenderThread:14396 [sender.py:send():336] send: summary +2023-02-24 12:07:28,674 INFO SenderThread:14396 [sender.py:_save_file():1321] saving file wandb-summary.json with policy end +2023-02-24 12:07:28,674 DEBUG SenderThread:14396 [sender.py:send_request():363] send_request: defer +2023-02-24 12:07:28,675 INFO SenderThread:14396 [sender.py:send_request_defer():583] handle sender defer: 5 +2023-02-24 12:07:28,675 INFO SenderThread:14396 [sender.py:transition_state():587] send defer: 6 +2023-02-24 12:07:28,675 DEBUG HandlerThread:14396 [handler.py:handle_request():144] handle_request: defer +2023-02-24 12:07:28,675 INFO HandlerThread:14396 [handler.py:handle_request_defer():170] handle defer: 6 +2023-02-24 12:07:28,675 DEBUG SenderThread:14396 [sender.py:send_request():363] send_request: defer +2023-02-24 12:07:28,676 INFO SenderThread:14396 [sender.py:send_request_defer():583] handle sender defer: 6 +2023-02-24 12:07:28,680 DEBUG HandlerThread:14396 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 12:07:28,861 INFO SenderThread:14396 [sender.py:transition_state():587] send defer: 7 +2023-02-24 12:07:28,861 DEBUG HandlerThread:14396 [handler.py:handle_request():144] handle_request: defer +2023-02-24 12:07:28,862 INFO HandlerThread:14396 [handler.py:handle_request_defer():170] handle defer: 7 +2023-02-24 12:07:28,862 DEBUG SenderThread:14396 [sender.py:send_request():363] send_request: defer +2023-02-24 12:07:28,862 INFO SenderThread:14396 [sender.py:send_request_defer():583] handle sender defer: 7 +2023-02-24 12:07:29,055 INFO wandb-upload_0:14396 [upload_job.py:push():138] Uploaded file C:\Users\liamb\AppData\Local\Temp\tmp_2m5l0tgwandb\60ocj3zf-wandb-metadata.json +2023-02-24 12:07:29,272 INFO Thread-17 :14396 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_120727-umvgkhb9\files\config.yaml +2023-02-24 12:07:29,273 INFO Thread-17 :14396 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_120727-umvgkhb9\files\requirements.txt +2023-02-24 12:07:29,273 INFO Thread-17 :14396 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_120727-umvgkhb9\files\wandb-summary.json +2023-02-24 12:07:29,273 INFO Thread-17 :14396 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_120727-umvgkhb9\files\wandb-metadata.json +2023-02-24 12:07:29,274 INFO Thread-17 :14396 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_120727-umvgkhb9\files\output.log +2023-02-24 12:07:29,614 DEBUG HandlerThread:14396 [handler.py:handle_request():144] handle_request: poll_exit +2023-02-24 12:07:30,680 INFO SenderThread:14396 [sender.py:transition_state():587] send defer: 8 +2023-02-24 12:07:30,680 DEBUG SenderThread:14396 [sender.py:send_request():363] send_request: poll_exit +2023-02-24 12:07:30,681 DEBUG HandlerThread:14396 [handler.py:handle_request():144] handle_request: defer +2023-02-24 12:07:30,681 INFO HandlerThread:14396 [handler.py:handle_request_defer():170] handle defer: 8 +2023-02-24 12:07:30,681 DEBUG SenderThread:14396 [sender.py:send_request():363] send_request: defer +2023-02-24 12:07:30,681 INFO SenderThread:14396 [sender.py:send_request_defer():583] handle sender defer: 8 +2023-02-24 12:07:30,695 INFO SenderThread:14396 [sender.py:transition_state():587] send defer: 9 +2023-02-24 12:07:30,695 DEBUG HandlerThread:14396 [handler.py:handle_request():144] handle_request: defer +2023-02-24 12:07:30,695 DEBUG SenderThread:14396 [sender.py:send():336] send: artifact +2023-02-24 12:07:30,696 INFO HandlerThread:14396 [handler.py:handle_request_defer():170] handle defer: 9 +2023-02-24 12:07:31,282 INFO Thread-17 :14396 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_120727-umvgkhb9\files\output.log +2023-02-24 12:07:31,547 INFO SenderThread:14396 [sender.py:send_artifact():1417] sent artifact job-https___git.soton.ac.uk_lhb1g20_graph4stackoverflow.git_embeddings_hetero_GAT.py - {'id': 'QXJ0aWZhY3Q6MzgwMzgzODYx', 'digest': '52054f0b23df9b668b4724b52e59ad5e', 'state': 'COMMITTED', 'aliases': [{'artifactCollectionName': 'job-https___git.soton.ac.uk_lhb1g20_graph4stackoverflow.git_embeddings_hetero_GAT.py', 'alias': 'latest'}, {'artifactCollectionName': 'job-https___git.soton.ac.uk_lhb1g20_graph4stackoverflow.git_embeddings_hetero_GAT.py', 'alias': 'v1'}], 'artifactSequence': {'id': 'QXJ0aWZhY3RDb2xsZWN0aW9uOjU0NTg3MzU0', 'latestArtifact': {'id': 'QXJ0aWZhY3Q6MzgwMzgzODYx', 'versionIndex': 1}}, 'version': 'v1'} +2023-02-24 12:07:31,547 DEBUG SenderThread:14396 [sender.py:send_request():363] send_request: defer +2023-02-24 12:07:31,547 INFO SenderThread:14396 [sender.py:send_request_defer():583] handle sender defer: 9 +2023-02-24 12:07:31,547 INFO SenderThread:14396 [dir_watcher.py:finish():362] shutting down directory watcher +2023-02-24 12:07:32,292 INFO SenderThread:14396 [dir_watcher.py:finish():392] scan: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_120727-umvgkhb9\files +2023-02-24 12:07:32,292 INFO SenderThread:14396 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_120727-umvgkhb9\files\config.yaml config.yaml +2023-02-24 12:07:32,292 INFO SenderThread:14396 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_120727-umvgkhb9\files\output.log output.log +2023-02-24 12:07:32,293 INFO SenderThread:14396 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_120727-umvgkhb9\files\requirements.txt requirements.txt +2023-02-24 12:07:32,296 INFO SenderThread:14396 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_120727-umvgkhb9\files\wandb-metadata.json wandb-metadata.json +2023-02-24 12:07:32,296 INFO SenderThread:14396 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_120727-umvgkhb9\files\wandb-summary.json wandb-summary.json +2023-02-24 12:07:32,302 INFO SenderThread:14396 [sender.py:transition_state():587] send defer: 10 +2023-02-24 12:07:32,303 DEBUG HandlerThread:14396 [handler.py:handle_request():144] handle_request: defer +2023-02-24 12:07:32,303 INFO HandlerThread:14396 [handler.py:handle_request_defer():170] handle defer: 10 +2023-02-24 12:07:32,304 DEBUG SenderThread:14396 [sender.py:send_request():363] send_request: defer +2023-02-24 12:07:32,304 INFO SenderThread:14396 [sender.py:send_request_defer():583] handle sender defer: 10 +2023-02-24 12:07:32,307 INFO SenderThread:14396 [file_pusher.py:finish():162] shutting down file pusher +2023-02-24 12:07:32,786 INFO wandb-upload_0:14396 [upload_job.py:push():138] Uploaded file C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_120727-umvgkhb9\files\config.yaml +2023-02-24 12:07:32,836 INFO wandb-upload_3:14396 [upload_job.py:push():138] Uploaded file C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_120727-umvgkhb9\files\wandb-summary.json +2023-02-24 12:07:32,857 INFO wandb-upload_1:14396 [upload_job.py:push():138] Uploaded file C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_120727-umvgkhb9\files\output.log +2023-02-24 12:07:32,870 INFO wandb-upload_2:14396 [upload_job.py:push():138] Uploaded file C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_120727-umvgkhb9\files\requirements.txt +2023-02-24 12:07:33,081 INFO Thread-16 :14396 [sender.py:transition_state():587] send defer: 11 +2023-02-24 12:07:33,082 DEBUG HandlerThread:14396 [handler.py:handle_request():144] handle_request: defer +2023-02-24 12:07:33,082 INFO HandlerThread:14396 [handler.py:handle_request_defer():170] handle defer: 11 +2023-02-24 12:07:33,082 DEBUG SenderThread:14396 [sender.py:send_request():363] send_request: defer +2023-02-24 12:07:33,082 INFO SenderThread:14396 [sender.py:send_request_defer():583] handle sender defer: 11 +2023-02-24 12:07:33,082 INFO SenderThread:14396 [file_pusher.py:join():167] waiting for file pusher +2023-02-24 12:07:33,082 INFO SenderThread:14396 [sender.py:transition_state():587] send defer: 12 +2023-02-24 12:07:33,083 DEBUG HandlerThread:14396 [handler.py:handle_request():144] handle_request: defer +2023-02-24 12:07:33,083 INFO HandlerThread:14396 [handler.py:handle_request_defer():170] handle defer: 12 +2023-02-24 12:07:33,083 DEBUG SenderThread:14396 [sender.py:send_request():363] send_request: defer +2023-02-24 12:07:33,083 INFO SenderThread:14396 [sender.py:send_request_defer():583] handle sender defer: 12 +2023-02-24 12:07:33,221 INFO SenderThread:14396 [sender.py:transition_state():587] send defer: 13 +2023-02-24 12:07:33,221 DEBUG HandlerThread:14396 [handler.py:handle_request():144] handle_request: defer +2023-02-24 12:07:33,222 INFO HandlerThread:14396 [handler.py:handle_request_defer():170] handle defer: 13 +2023-02-24 12:07:33,222 DEBUG SenderThread:14396 [sender.py:send_request():363] send_request: defer +2023-02-24 12:07:33,222 INFO SenderThread:14396 [sender.py:send_request_defer():583] handle sender defer: 13 +2023-02-24 12:07:33,222 INFO SenderThread:14396 [sender.py:transition_state():587] send defer: 14 +2023-02-24 12:07:33,222 DEBUG HandlerThread:14396 [handler.py:handle_request():144] handle_request: defer +2023-02-24 12:07:33,222 INFO HandlerThread:14396 [handler.py:handle_request_defer():170] handle defer: 14 +2023-02-24 12:07:33,223 DEBUG SenderThread:14396 [sender.py:send():336] send: final +2023-02-24 12:07:33,223 DEBUG SenderThread:14396 [sender.py:send():336] send: footer +2023-02-24 12:07:33,223 DEBUG SenderThread:14396 [sender.py:send_request():363] send_request: defer +2023-02-24 12:07:33,223 INFO SenderThread:14396 [sender.py:send_request_defer():583] handle sender defer: 14 +2023-02-24 12:07:33,224 DEBUG HandlerThread:14396 [handler.py:handle_request():144] handle_request: poll_exit +2023-02-24 12:07:33,224 DEBUG HandlerThread:14396 [handler.py:handle_request():144] handle_request: server_info +2023-02-24 12:07:33,224 DEBUG HandlerThread:14396 [handler.py:handle_request():144] handle_request: get_summary +2023-02-24 12:07:33,224 DEBUG HandlerThread:14396 [handler.py:handle_request():144] handle_request: sampled_history +2023-02-24 12:07:33,225 DEBUG SenderThread:14396 [sender.py:send_request():363] send_request: poll_exit +2023-02-24 12:07:33,225 DEBUG SenderThread:14396 [sender.py:send_request():363] send_request: server_info +2023-02-24 12:07:33,383 INFO MainThread:14396 [wandb_run.py:_footer_history_summary_info():3442] rendering history +2023-02-24 12:07:33,383 INFO MainThread:14396 [wandb_run.py:_footer_history_summary_info():3474] rendering summary +2023-02-24 12:07:33,384 INFO MainThread:14396 [wandb_run.py:_footer_sync_info():3398] logging synced files +2023-02-24 12:07:33,384 DEBUG HandlerThread:14396 [handler.py:handle_request():144] handle_request: shutdown +2023-02-24 12:07:33,384 INFO HandlerThread:14396 [handler.py:finish():841] shutting down handler +2023-02-24 12:07:34,233 INFO WriterThread:14396 [datastore.py:close():299] close: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_120727-umvgkhb9\run-umvgkhb9.wandb +2023-02-24 12:07:34,389 INFO SenderThread:14396 [sender.py:finish():1493] shutting down sender +2023-02-24 12:07:34,389 INFO SenderThread:14396 [file_pusher.py:finish():162] shutting down file pusher +2023-02-24 12:07:34,390 INFO SenderThread:14396 [file_pusher.py:join():167] waiting for file pusher diff --git a/embeddings/wandb/run-20230224_120727-umvgkhb9/logs/debug.log b/embeddings/wandb/run-20230224_120727-umvgkhb9/logs/debug.log new file mode 100644 index 0000000000000000000000000000000000000000..5c20757fa08021d6adba91f40684c74ab6047b66 --- /dev/null +++ b/embeddings/wandb/run-20230224_120727-umvgkhb9/logs/debug.log @@ -0,0 +1,25 @@ +2023-02-24 12:07:27,814 INFO MainThread:17884 [wandb_setup.py:_flush():68] Configure stats pid to 17884 +2023-02-24 12:07:27,814 INFO MainThread:17884 [wandb_setup.py:_flush():68] Loading settings from C:\Users\liamb\.config\wandb\settings +2023-02-24 12:07:27,814 INFO MainThread:17884 [wandb_setup.py:_flush():68] Loading settings from C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\settings +2023-02-24 12:07:27,814 INFO MainThread:17884 [wandb_setup.py:_flush():68] Loading settings from environment variables: {'_require_service': 'True'} +2023-02-24 12:07:27,814 INFO MainThread:17884 [wandb_setup.py:_flush():68] Inferring run settings from compute environment: {'program_relpath': 'embeddings\\hetero_GAT.py', 'program': 'C:\\Users\\liamb\\Documents\\graph4stackoverflow\\embeddings\\hetero_GAT.py'} +2023-02-24 12:07:27,815 INFO MainThread:17884 [wandb_init.py:_log_setup():492] Logging user logs to C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_120727-umvgkhb9\logs\debug.log +2023-02-24 12:07:27,815 INFO MainThread:17884 [wandb_init.py:_log_setup():493] Logging internal logs to C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_120727-umvgkhb9\logs\debug-internal.log +2023-02-24 12:07:27,815 INFO MainThread:17884 [wandb_init.py:init():532] calling init triggers +2023-02-24 12:07:27,815 INFO MainThread:17884 [wandb_init.py:init():538] wandb.init called with sweep_config: {} +config: {} +2023-02-24 12:07:27,815 INFO MainThread:17884 [wandb_init.py:init():588] starting backend +2023-02-24 12:07:27,815 INFO MainThread:17884 [wandb_init.py:init():592] setting up manager +2023-02-24 12:07:27,818 INFO MainThread:17884 [backend.py:_multiprocessing_setup():106] multiprocessing start_methods=spawn, using: spawn +2023-02-24 12:07:27,823 INFO MainThread:17884 [wandb_init.py:init():599] backend started and connected +2023-02-24 12:07:27,825 INFO MainThread:17884 [wandb_init.py:init():687] updated telemetry +2023-02-24 12:07:27,885 INFO MainThread:17884 [wandb_init.py:init():727] communicating run to backend with 60.0 second timeout +2023-02-24 12:07:28,267 INFO MainThread:17884 [wandb_run.py:_on_init():2134] communicating current version +2023-02-24 12:07:28,336 INFO MainThread:17884 [wandb_run.py:_on_init():2143] got version response +2023-02-24 12:07:28,337 INFO MainThread:17884 [wandb_init.py:init():775] starting run threads in backend +2023-02-24 12:07:28,499 INFO MainThread:17884 [wandb_run.py:_console_start():2114] atexit reg +2023-02-24 12:07:28,499 INFO MainThread:17884 [wandb_run.py:_redirect():1969] redirect: SettingsConsole.WRAP_RAW +2023-02-24 12:07:28,500 INFO MainThread:17884 [wandb_run.py:_redirect():2034] Wrapping output streams. +2023-02-24 12:07:28,500 INFO MainThread:17884 [wandb_run.py:_redirect():2059] Redirects installed. +2023-02-24 12:07:28,501 INFO MainThread:17884 [wandb_init.py:init():817] run started, returning control to user process +2023-02-24 12:07:34,457 WARNING MsgRouterThr:17884 [router.py:message_loop():77] message_loop has been closed diff --git a/embeddings/wandb/run-20230224_120727-umvgkhb9/run-umvgkhb9.wandb b/embeddings/wandb/run-20230224_120727-umvgkhb9/run-umvgkhb9.wandb new file mode 100644 index 0000000000000000000000000000000000000000..01ed70b0b127ebf30808860ee4d05b91c7af1c6c Binary files /dev/null and b/embeddings/wandb/run-20230224_120727-umvgkhb9/run-umvgkhb9.wandb differ diff --git a/embeddings/wandb/run-20230224_120750-gmupm2k4/files/config.yaml b/embeddings/wandb/run-20230224_120750-gmupm2k4/files/config.yaml new file mode 100644 index 0000000000000000000000000000000000000000..f3c1837c11ee1d7638bdb8516809a96135f9fc24 --- /dev/null +++ b/embeddings/wandb/run-20230224_120750-gmupm2k4/files/config.yaml @@ -0,0 +1,40 @@ +wandb_version: 1 + +_wandb: + desc: null + value: + cli_version: 0.13.10 + framework: huggingface + huggingface_version: 4.24.0 + is_jupyter_run: false + is_kaggle_kernel: false + python_version: 3.8.1 + start_time: 1677240470.737073 + t: + 1: + - 1 + - 5 + - 11 + - 33 + - 49 + - 53 + - 55 + - 77 + 2: + - 1 + - 5 + - 11 + - 33 + - 49 + - 53 + - 55 + - 77 + 3: + - 13 + - 23 + 4: 3.8.1 + 5: 0.13.10 + 6: 4.24.0 + 8: + - 3 + - 5 diff --git a/embeddings/wandb/run-20230224_120750-gmupm2k4/files/output.log b/embeddings/wandb/run-20230224_120750-gmupm2k4/files/output.log new file mode 100644 index 0000000000000000000000000000000000000000..95049b12de6a53f730b08877188dd016ee0b1419 --- /dev/null +++ b/embeddings/wandb/run-20230224_120750-gmupm2k4/files/output.log @@ -0,0 +1,8 @@ +Traceback (most recent call last): + File "C:\Users\liamb\Documents\graph4stackoverflow\embeddings\hetero_GAT.py", line 151, in <module> + table.add_data(wandb.Html(plotly.io.to_html(fig)), n_nodes, n_edges, label) + File "C:\Users\liamb\Documents\graph4stackoverflow\venv\lib\site-packages\wandb\sdk\data_types\html.py", line 55, in __init__ + out.write(self.html) + File "C:\Users\liamb\AppData\Local\Programs\Python\Python38\lib\encodings\cp1252.py", line 19, in encode + return codecs.charmap_encode(input,self.errors,encoding_table)[0] +UnicodeEncodeError: 'charmap' codec can't encode character '\u25c4' in position 276500: character maps to <undefined> \ No newline at end of file diff --git a/embeddings/wandb/run-20230224_120750-gmupm2k4/files/requirements.txt b/embeddings/wandb/run-20230224_120750-gmupm2k4/files/requirements.txt new file mode 100644 index 0000000000000000000000000000000000000000..d7de821539624662109e252a91c4907a963ad5fb --- /dev/null +++ b/embeddings/wandb/run-20230224_120750-gmupm2k4/files/requirements.txt @@ -0,0 +1,170 @@ +absl-py==1.3.0 +anyio==3.6.2 +appdirs==1.4.4 +argon2-cffi-bindings==21.2.0 +argon2-cffi==21.3.0 +asttokens==2.1.0 +astunparse==1.6.3 +attrs==22.1.0 +backcall==0.2.0 +beautifulsoup4==4.11.1 +bleach==5.0.1 +blis==0.7.9 +bs4==0.0.1 +cachetools==5.2.0 +catalogue==2.0.8 +certifi==2022.9.24 +cffi==1.15.1 +charset-normalizer==2.1.1 +click==8.1.3 +colorama==0.4.6 +confection==0.0.3 +contourpy==1.0.6 +cycler==0.11.0 +cymem==2.0.7 +debugpy==1.6.3 +decorator==5.1.1 +defusedxml==0.7.1 +dgl==0.9.1 +docker-pycreds==0.4.0 +en-core-web-sm==3.4.1 +entrypoints==0.4 +executing==1.2.0 +fastjsonschema==2.16.2 +filelock==3.8.0 +fonttools==4.38.0 +gitdb==4.0.10 +gitpython==3.1.31 +google-auth-oauthlib==0.4.6 +google-auth==2.14.0 +graph4nlp==0.5.5 +grpcio==1.50.0 +huggingface-hub==0.10.1 +idna==3.4 +importlib-metadata==5.0.0 +importlib-resources==5.10.0 +ipykernel==6.16.2 +ipython-genutils==0.2.0 +ipython==8.6.0 +ipywidgets==8.0.2 +jedi==0.18.1 +jinja2==3.1.2 +joblib==1.2.0 +jsonschema==4.16.0 +jupyter-client==7.4.4 +jupyter-console==6.4.4 +jupyter-core==4.11.2 +jupyter-server==1.21.0 +jupyter==1.0.0 +jupyterlab-pygments==0.2.2 +jupyterlab-widgets==3.0.3 +kiwisolver==1.4.4 +langcodes==3.3.0 +littleutils==0.2.2 +lxml==4.9.1 +markdown==3.4.1 +markupsafe==2.1.1 +matplotlib-inline==0.1.6 +matplotlib==3.6.2 +mistune==2.0.4 +murmurhash==1.0.9 +nbclassic==0.4.7 +nbclient==0.7.0 +nbconvert==7.2.3 +nbformat==5.7.0 +nest-asyncio==1.5.6 +networkx==2.8.8 +nltk==3.7 +notebook-shim==0.2.0 +notebook==6.5.2 +numpy==1.23.5 +oauthlib==3.2.2 +ogb==1.3.5 +outdated==0.2.2 +packaging==21.3 +pandas==1.5.1 +pandocfilters==1.5.0 +parso==0.8.3 +pathtools==0.1.2 +pathy==0.6.2 +pickleshare==0.7.5 +pillow==9.3.0 +pip==21.3.1 +pkgutil-resolve-name==1.3.10 +plotly==5.13.0 +preshed==3.0.8 +prometheus-client==0.15.0 +prompt-toolkit==3.0.31 +protobuf==3.19.6 +psutil==5.9.3 +pure-eval==0.2.2 +pyasn1-modules==0.2.8 +pyasn1==0.4.8 +pycparser==2.21 +pydantic==1.10.2 +pygments==2.13.0 +pyparsing==3.0.9 +pyrsistent==0.18.1 +python-dateutil==2.8.2 +pythonds==1.2.1 +pytz==2022.5 +pywin32==304 +pywinpty==2.0.9 +pyyaml==6.0 +pyzmq==24.0.1 +qtconsole==5.3.2 +qtpy==2.2.1 +regex==2022.10.31 +requests-oauthlib==1.3.1 +requests==2.28.1 +rsa==4.9 +scikit-learn==1.1.3 +scipy==1.9.3 +send2trash==1.8.0 +sentry-sdk==1.15.0 +setproctitle==1.3.2 +setuptools==60.2.0 +six==1.16.0 +smart-open==5.2.1 +smmap==5.0.0 +sniffio==1.3.0 +soupsieve==2.3.2.post1 +spacy-legacy==3.0.10 +spacy-loggers==1.0.3 +spacy==3.4.2 +srsly==2.4.5 +stack-data==0.6.0 +stanfordcorenlp==3.9.1.1 +tenacity==8.2.1 +tensorboard-data-server==0.6.1 +tensorboard-plugin-wit==1.8.1 +tensorboard==2.10.1 +terminado==0.17.0 +thinc==8.1.5 +threadpoolctl==3.1.0 +tinycss2==1.2.1 +tokenizers==0.13.2 +torch-cluster==1.6.0+pt113cpu +torch-geometric==2.2.0 +torch-scatter==2.1.0+pt113cpu +torch-sparse==0.6.16+pt113cpu +torch-spline-conv==1.2.1+pt113cpu +torch==1.13.0 +torchsummary==1.5.1 +torchtext==0.14.0 +tornado==6.2 +tqdm==4.64.1 +traitlets==5.5.0 +transformers==4.24.0 +typer==0.4.2 +typing-extensions==4.4.0 +urllib3==1.26.12 +wandb==0.13.10 +wasabi==0.10.1 +wcwidth==0.2.5 +webencodings==0.5.1 +websocket-client==1.4.1 +werkzeug==2.2.2 +wheel==0.37.1 +widgetsnbextension==4.0.3 +zipp==3.10.0 \ No newline at end of file diff --git a/embeddings/wandb/run-20230224_120750-gmupm2k4/files/wandb-metadata.json b/embeddings/wandb/run-20230224_120750-gmupm2k4/files/wandb-metadata.json new file mode 100644 index 0000000000000000000000000000000000000000..1f4ec92e9c4cdc521f19ae14ff2050f8c523b1c5 --- /dev/null +++ b/embeddings/wandb/run-20230224_120750-gmupm2k4/files/wandb-metadata.json @@ -0,0 +1,42 @@ +{ + "os": "Windows-10-10.0.19041-SP0", + "python": "3.8.1", + "heartbeatAt": "2023-02-24T12:07:51.332838", + "startedAt": "2023-02-24T12:07:50.724111", + "docker": null, + "cuda": null, + "args": [], + "state": "running", + "program": "C:\\Users\\liamb\\Documents\\graph4stackoverflow\\embeddings\\hetero_GAT.py", + "codePath": "embeddings\\hetero_GAT.py", + "git": { + "remote": "https://git.soton.ac.uk/lhb1g20/graph4stackoverflow.git", + "commit": "ced992d661984f7b87d1a3e76768e4ff7af78245" + }, + "email": "liambyrneh@gmail.com", + "root": "C:/Users/liamb/Documents/graph4stackoverflow", + "host": "DESKTOP-P7BETFF", + "username": "liamb", + "executable": "C:\\Users\\liamb\\Documents\\graph4stackoverflow\\venv\\Scripts\\python.exe", + "cpu_count": 2, + "cpu_count_logical": 4, + "cpu_freq": { + "current": 3504.0, + "min": 0.0, + "max": 3504.0 + }, + "cpu_freq_per_core": [ + { + "current": 3504.0, + "min": 0.0, + "max": 3504.0 + } + ], + "disk": { + "total": 475.71581649780273, + "used": 352.41181564331055 + }, + "memory": { + "total": 31.89160919189453 + } +} diff --git a/embeddings/wandb/run-20230224_120750-gmupm2k4/files/wandb-summary.json b/embeddings/wandb/run-20230224_120750-gmupm2k4/files/wandb-summary.json new file mode 100644 index 0000000000000000000000000000000000000000..3f44265dafd50fde0fa8e7beb3a20db65fa7eb45 --- /dev/null +++ b/embeddings/wandb/run-20230224_120750-gmupm2k4/files/wandb-summary.json @@ -0,0 +1 @@ +{"num_node_features": {"question": 1536, "answer": 1536, "comment": 768, "tag": 50, "module": 30}, "num_classes": 2, "_timestamp": 1677240471.469352, "_runtime": 0.7322790622711182, "_step": 0, "_wandb": {"runtime": 0}} \ No newline at end of file diff --git a/embeddings/wandb/run-20230224_120750-gmupm2k4/logs/debug-internal.log b/embeddings/wandb/run-20230224_120750-gmupm2k4/logs/debug-internal.log new file mode 100644 index 0000000000000000000000000000000000000000..80a77d99b092d5ee4071961fe91ebd0062a28470 --- /dev/null +++ b/embeddings/wandb/run-20230224_120750-gmupm2k4/logs/debug-internal.log @@ -0,0 +1,172 @@ +2023-02-24 12:07:50,738 INFO StreamThr :3372 [internal.py:wandb_internal():87] W&B internal server running at pid: 3372, started at: 2023-02-24 12:07:50.738071 +2023-02-24 12:07:50,740 DEBUG HandlerThread:3372 [handler.py:handle_request():144] handle_request: status +2023-02-24 12:07:50,741 INFO WriterThread:3372 [datastore.py:open_for_write():85] open: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_120750-gmupm2k4\run-gmupm2k4.wandb +2023-02-24 12:07:50,745 DEBUG SenderThread:3372 [sender.py:send():336] send: header +2023-02-24 12:07:50,789 DEBUG SenderThread:3372 [sender.py:send():336] send: run +2023-02-24 12:07:51,234 INFO SenderThread:3372 [dir_watcher.py:__init__():216] watching files in: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_120750-gmupm2k4\files +2023-02-24 12:07:51,234 INFO SenderThread:3372 [sender.py:_start_run_threads():1067] run started: gmupm2k4 with start time 1677240470.737073 +2023-02-24 12:07:51,234 DEBUG SenderThread:3372 [sender.py:send_request():363] send_request: summary_record +2023-02-24 12:07:51,235 INFO SenderThread:3372 [sender.py:_save_file():1321] saving file wandb-summary.json with policy end +2023-02-24 12:07:51,236 DEBUG HandlerThread:3372 [handler.py:handle_request():144] handle_request: check_version +2023-02-24 12:07:51,236 DEBUG SenderThread:3372 [sender.py:send_request():363] send_request: check_version +2023-02-24 12:07:51,311 DEBUG HandlerThread:3372 [handler.py:handle_request():144] handle_request: run_start +2023-02-24 12:07:51,328 DEBUG HandlerThread:3372 [system_info.py:__init__():31] System info init +2023-02-24 12:07:51,328 DEBUG HandlerThread:3372 [system_info.py:__init__():46] System info init done +2023-02-24 12:07:51,328 INFO HandlerThread:3372 [system_monitor.py:start():151] Starting system monitor +2023-02-24 12:07:51,329 INFO SystemMonitor:3372 [system_monitor.py:_start():116] Starting system asset monitoring threads +2023-02-24 12:07:51,329 INFO HandlerThread:3372 [system_monitor.py:probe():172] Collecting system info +2023-02-24 12:07:51,332 INFO SystemMonitor:3372 [interfaces.py:start():168] Started cpu +2023-02-24 12:07:51,332 DEBUG HandlerThread:3372 [system_info.py:probe():195] Probing system +2023-02-24 12:07:51,332 INFO SystemMonitor:3372 [interfaces.py:start():168] Started disk +2023-02-24 12:07:51,333 INFO SystemMonitor:3372 [interfaces.py:start():168] Started memory +2023-02-24 12:07:51,350 INFO SystemMonitor:3372 [interfaces.py:start():168] Started network +2023-02-24 12:07:51,351 DEBUG HandlerThread:3372 [system_info.py:_probe_git():180] Probing git +2023-02-24 12:07:51,446 DEBUG HandlerThread:3372 [system_info.py:_probe_git():188] Probing git done +2023-02-24 12:07:51,446 DEBUG HandlerThread:3372 [system_info.py:probe():241] Probing system done +2023-02-24 12:07:51,446 DEBUG HandlerThread:3372 [system_monitor.py:probe():181] {'os': 'Windows-10-10.0.19041-SP0', 'python': '3.8.1', 'heartbeatAt': '2023-02-24T12:07:51.332838', 'startedAt': '2023-02-24T12:07:50.724111', 'docker': None, 'cuda': None, 'args': (), 'state': 'running', 'program': 'C:\\Users\\liamb\\Documents\\graph4stackoverflow\\embeddings\\hetero_GAT.py', 'codePath': 'embeddings\\hetero_GAT.py', 'git': {'remote': 'https://git.soton.ac.uk/lhb1g20/graph4stackoverflow.git', 'commit': 'ced992d661984f7b87d1a3e76768e4ff7af78245'}, 'email': 'liambyrneh@gmail.com', 'root': 'C:/Users/liamb/Documents/graph4stackoverflow', 'host': 'DESKTOP-P7BETFF', 'username': 'liamb', 'executable': 'C:\\Users\\liamb\\Documents\\graph4stackoverflow\\venv\\Scripts\\python.exe', 'cpu_count': 2, 'cpu_count_logical': 4, 'cpu_freq': {'current': 3504.0, 'min': 0.0, 'max': 3504.0}, 'cpu_freq_per_core': [{'current': 3504.0, 'min': 0.0, 'max': 3504.0}], 'disk': {'total': 475.71581649780273, 'used': 352.41181564331055}, 'memory': {'total': 31.89160919189453}} +2023-02-24 12:07:51,446 INFO HandlerThread:3372 [system_monitor.py:probe():182] Finished collecting system info +2023-02-24 12:07:51,446 INFO HandlerThread:3372 [system_monitor.py:probe():185] Publishing system info +2023-02-24 12:07:51,446 DEBUG HandlerThread:3372 [system_info.py:_save_pip():51] Saving list of pip packages installed into the current environment +2023-02-24 12:07:51,447 DEBUG HandlerThread:3372 [system_info.py:_save_pip():67] Saving pip packages done +2023-02-24 12:07:51,450 INFO HandlerThread:3372 [system_monitor.py:probe():187] Finished publishing system info +2023-02-24 12:07:51,459 DEBUG SenderThread:3372 [sender.py:send():336] send: files +2023-02-24 12:07:51,459 INFO SenderThread:3372 [sender.py:_save_file():1321] saving file wandb-metadata.json with policy now +2023-02-24 12:07:51,467 DEBUG HandlerThread:3372 [handler.py:handle_request():144] handle_request: stop_status +2023-02-24 12:07:51,468 DEBUG SenderThread:3372 [sender.py:send_request():363] send_request: stop_status +2023-02-24 12:07:51,470 DEBUG HandlerThread:3372 [handler.py:handle_request():144] handle_request: partial_history +2023-02-24 12:07:51,662 DEBUG SenderThread:3372 [sender.py:send():336] send: telemetry +2023-02-24 12:07:51,663 DEBUG SenderThread:3372 [sender.py:send():336] send: history +2023-02-24 12:07:51,663 DEBUG SenderThread:3372 [sender.py:send_request():363] send_request: summary_record +2023-02-24 12:07:51,664 INFO SenderThread:3372 [sender.py:_save_file():1321] saving file wandb-summary.json with policy end +2023-02-24 12:07:51,666 DEBUG SenderThread:3372 [sender.py:send():336] send: exit +2023-02-24 12:07:51,666 INFO SenderThread:3372 [sender.py:send_exit():559] handling exit code: 1 +2023-02-24 12:07:51,666 INFO SenderThread:3372 [sender.py:send_exit():561] handling runtime: 0 +2023-02-24 12:07:51,667 INFO SenderThread:3372 [sender.py:_save_file():1321] saving file wandb-summary.json with policy end +2023-02-24 12:07:51,667 INFO SenderThread:3372 [sender.py:send_exit():567] send defer +2023-02-24 12:07:51,667 DEBUG HandlerThread:3372 [handler.py:handle_request():144] handle_request: defer +2023-02-24 12:07:51,668 INFO HandlerThread:3372 [handler.py:handle_request_defer():170] handle defer: 0 +2023-02-24 12:07:51,668 DEBUG SenderThread:3372 [sender.py:send_request():363] send_request: defer +2023-02-24 12:07:51,668 INFO SenderThread:3372 [sender.py:send_request_defer():583] handle sender defer: 0 +2023-02-24 12:07:51,668 INFO SenderThread:3372 [sender.py:transition_state():587] send defer: 1 +2023-02-24 12:07:51,669 DEBUG HandlerThread:3372 [handler.py:handle_request():144] handle_request: defer +2023-02-24 12:07:51,669 INFO HandlerThread:3372 [handler.py:handle_request_defer():170] handle defer: 1 +2023-02-24 12:07:51,669 DEBUG SenderThread:3372 [sender.py:send_request():363] send_request: defer +2023-02-24 12:07:51,669 INFO SenderThread:3372 [sender.py:send_request_defer():583] handle sender defer: 1 +2023-02-24 12:07:51,669 INFO SenderThread:3372 [sender.py:transition_state():587] send defer: 2 +2023-02-24 12:07:51,669 DEBUG HandlerThread:3372 [handler.py:handle_request():144] handle_request: defer +2023-02-24 12:07:51,669 INFO HandlerThread:3372 [handler.py:handle_request_defer():170] handle defer: 2 +2023-02-24 12:07:51,669 INFO HandlerThread:3372 [system_monitor.py:finish():161] Stopping system monitor +2023-02-24 12:07:51,670 DEBUG SystemMonitor:3372 [system_monitor.py:_start():130] Starting system metrics aggregation loop +2023-02-24 12:07:51,670 DEBUG SystemMonitor:3372 [system_monitor.py:_start():137] Finished system metrics aggregation loop +2023-02-24 12:07:51,670 DEBUG SystemMonitor:3372 [system_monitor.py:_start():141] Publishing last batch of metrics +2023-02-24 12:07:51,671 INFO HandlerThread:3372 [interfaces.py:finish():175] Joined cpu +2023-02-24 12:07:51,671 INFO HandlerThread:3372 [interfaces.py:finish():175] Joined disk +2023-02-24 12:07:51,671 INFO HandlerThread:3372 [interfaces.py:finish():175] Joined memory +2023-02-24 12:07:51,671 INFO HandlerThread:3372 [interfaces.py:finish():175] Joined network +2023-02-24 12:07:51,671 DEBUG SenderThread:3372 [sender.py:send_request():363] send_request: defer +2023-02-24 12:07:51,672 INFO SenderThread:3372 [sender.py:send_request_defer():583] handle sender defer: 2 +2023-02-24 12:07:51,672 INFO SenderThread:3372 [sender.py:transition_state():587] send defer: 3 +2023-02-24 12:07:51,672 DEBUG SenderThread:3372 [sender.py:send():336] send: stats +2023-02-24 12:07:51,672 DEBUG HandlerThread:3372 [handler.py:handle_request():144] handle_request: defer +2023-02-24 12:07:51,672 INFO HandlerThread:3372 [handler.py:handle_request_defer():170] handle defer: 3 +2023-02-24 12:07:51,673 DEBUG SenderThread:3372 [sender.py:send_request():363] send_request: defer +2023-02-24 12:07:51,673 INFO SenderThread:3372 [sender.py:send_request_defer():583] handle sender defer: 3 +2023-02-24 12:07:51,673 INFO SenderThread:3372 [sender.py:transition_state():587] send defer: 4 +2023-02-24 12:07:51,673 DEBUG HandlerThread:3372 [handler.py:handle_request():144] handle_request: defer +2023-02-24 12:07:51,673 INFO HandlerThread:3372 [handler.py:handle_request_defer():170] handle defer: 4 +2023-02-24 12:07:51,673 DEBUG SenderThread:3372 [sender.py:send_request():363] send_request: defer +2023-02-24 12:07:51,673 INFO SenderThread:3372 [sender.py:send_request_defer():583] handle sender defer: 4 +2023-02-24 12:07:51,673 INFO SenderThread:3372 [sender.py:transition_state():587] send defer: 5 +2023-02-24 12:07:51,673 DEBUG HandlerThread:3372 [handler.py:handle_request():144] handle_request: defer +2023-02-24 12:07:51,674 INFO HandlerThread:3372 [handler.py:handle_request_defer():170] handle defer: 5 +2023-02-24 12:07:51,674 DEBUG SenderThread:3372 [sender.py:send():336] send: summary +2023-02-24 12:07:51,675 INFO SenderThread:3372 [sender.py:_save_file():1321] saving file wandb-summary.json with policy end +2023-02-24 12:07:51,675 DEBUG SenderThread:3372 [sender.py:send_request():363] send_request: defer +2023-02-24 12:07:51,675 INFO SenderThread:3372 [sender.py:send_request_defer():583] handle sender defer: 5 +2023-02-24 12:07:51,675 INFO SenderThread:3372 [sender.py:transition_state():587] send defer: 6 +2023-02-24 12:07:51,675 DEBUG HandlerThread:3372 [handler.py:handle_request():144] handle_request: defer +2023-02-24 12:07:51,675 INFO HandlerThread:3372 [handler.py:handle_request_defer():170] handle defer: 6 +2023-02-24 12:07:51,676 DEBUG SenderThread:3372 [sender.py:send_request():363] send_request: defer +2023-02-24 12:07:51,676 INFO SenderThread:3372 [sender.py:send_request_defer():583] handle sender defer: 6 +2023-02-24 12:07:51,680 DEBUG HandlerThread:3372 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 12:07:51,852 INFO SenderThread:3372 [sender.py:transition_state():587] send defer: 7 +2023-02-24 12:07:51,852 DEBUG HandlerThread:3372 [handler.py:handle_request():144] handle_request: defer +2023-02-24 12:07:51,852 INFO HandlerThread:3372 [handler.py:handle_request_defer():170] handle defer: 7 +2023-02-24 12:07:51,852 DEBUG SenderThread:3372 [sender.py:send_request():363] send_request: defer +2023-02-24 12:07:51,852 INFO SenderThread:3372 [sender.py:send_request_defer():583] handle sender defer: 7 +2023-02-24 12:07:52,009 INFO wandb-upload_0:3372 [upload_job.py:push():138] Uploaded file C:\Users\liamb\AppData\Local\Temp\tmpvrbamb8xwandb\ib5p2rcm-wandb-metadata.json +2023-02-24 12:07:52,244 INFO Thread-17 :3372 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_120750-gmupm2k4\files\config.yaml +2023-02-24 12:07:52,244 INFO Thread-17 :3372 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_120750-gmupm2k4\files\wandb-metadata.json +2023-02-24 12:07:52,245 INFO Thread-17 :3372 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_120750-gmupm2k4\files\wandb-summary.json +2023-02-24 12:07:52,245 INFO Thread-17 :3372 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_120750-gmupm2k4\files\output.log +2023-02-24 12:07:52,245 INFO Thread-17 :3372 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_120750-gmupm2k4\files\requirements.txt +2023-02-24 12:07:52,632 DEBUG HandlerThread:3372 [handler.py:handle_request():144] handle_request: poll_exit +2023-02-24 12:07:53,675 INFO SenderThread:3372 [sender.py:transition_state():587] send defer: 8 +2023-02-24 12:07:53,675 DEBUG SenderThread:3372 [sender.py:send_request():363] send_request: poll_exit +2023-02-24 12:07:53,676 DEBUG HandlerThread:3372 [handler.py:handle_request():144] handle_request: defer +2023-02-24 12:07:53,676 INFO HandlerThread:3372 [handler.py:handle_request_defer():170] handle defer: 8 +2023-02-24 12:07:53,676 DEBUG SenderThread:3372 [sender.py:send_request():363] send_request: defer +2023-02-24 12:07:53,677 INFO SenderThread:3372 [sender.py:send_request_defer():583] handle sender defer: 8 +2023-02-24 12:07:53,691 INFO SenderThread:3372 [sender.py:transition_state():587] send defer: 9 +2023-02-24 12:07:53,691 DEBUG HandlerThread:3372 [handler.py:handle_request():144] handle_request: defer +2023-02-24 12:07:53,692 INFO HandlerThread:3372 [handler.py:handle_request_defer():170] handle defer: 9 +2023-02-24 12:07:53,692 DEBUG SenderThread:3372 [sender.py:send():336] send: artifact +2023-02-24 12:07:54,262 INFO Thread-17 :3372 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_120750-gmupm2k4\files\output.log +2023-02-24 12:07:54,542 INFO SenderThread:3372 [sender.py:send_artifact():1417] sent artifact job-https___git.soton.ac.uk_lhb1g20_graph4stackoverflow.git_embeddings_hetero_GAT.py - {'id': 'QXJ0aWZhY3Q6MzgwMzgzODYx', 'digest': '52054f0b23df9b668b4724b52e59ad5e', 'state': 'COMMITTED', 'aliases': [{'artifactCollectionName': 'job-https___git.soton.ac.uk_lhb1g20_graph4stackoverflow.git_embeddings_hetero_GAT.py', 'alias': 'latest'}, {'artifactCollectionName': 'job-https___git.soton.ac.uk_lhb1g20_graph4stackoverflow.git_embeddings_hetero_GAT.py', 'alias': 'v1'}], 'artifactSequence': {'id': 'QXJ0aWZhY3RDb2xsZWN0aW9uOjU0NTg3MzU0', 'latestArtifact': {'id': 'QXJ0aWZhY3Q6MzgwMzgzODYx', 'versionIndex': 1}}, 'version': 'v1'} +2023-02-24 12:07:54,542 DEBUG SenderThread:3372 [sender.py:send_request():363] send_request: defer +2023-02-24 12:07:54,542 INFO SenderThread:3372 [sender.py:send_request_defer():583] handle sender defer: 9 +2023-02-24 12:07:54,542 INFO SenderThread:3372 [dir_watcher.py:finish():362] shutting down directory watcher +2023-02-24 12:07:55,272 INFO SenderThread:3372 [dir_watcher.py:finish():392] scan: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_120750-gmupm2k4\files +2023-02-24 12:07:55,273 INFO SenderThread:3372 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_120750-gmupm2k4\files\config.yaml config.yaml +2023-02-24 12:07:55,273 INFO SenderThread:3372 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_120750-gmupm2k4\files\output.log output.log +2023-02-24 12:07:55,276 INFO SenderThread:3372 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_120750-gmupm2k4\files\requirements.txt requirements.txt +2023-02-24 12:07:55,279 INFO SenderThread:3372 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_120750-gmupm2k4\files\wandb-metadata.json wandb-metadata.json +2023-02-24 12:07:55,279 INFO SenderThread:3372 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_120750-gmupm2k4\files\wandb-summary.json wandb-summary.json +2023-02-24 12:07:55,283 INFO SenderThread:3372 [sender.py:transition_state():587] send defer: 10 +2023-02-24 12:07:55,284 DEBUG HandlerThread:3372 [handler.py:handle_request():144] handle_request: defer +2023-02-24 12:07:55,284 INFO HandlerThread:3372 [handler.py:handle_request_defer():170] handle defer: 10 +2023-02-24 12:07:55,285 DEBUG SenderThread:3372 [sender.py:send_request():363] send_request: defer +2023-02-24 12:07:55,285 INFO SenderThread:3372 [sender.py:send_request_defer():583] handle sender defer: 10 +2023-02-24 12:07:55,285 INFO SenderThread:3372 [file_pusher.py:finish():162] shutting down file pusher +2023-02-24 12:07:55,756 INFO wandb-upload_0:3372 [upload_job.py:push():138] Uploaded file C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_120750-gmupm2k4\files\config.yaml +2023-02-24 12:07:55,813 INFO wandb-upload_1:3372 [upload_job.py:push():138] Uploaded file C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_120750-gmupm2k4\files\output.log +2023-02-24 12:07:55,829 INFO wandb-upload_3:3372 [upload_job.py:push():138] Uploaded file C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_120750-gmupm2k4\files\wandb-summary.json +2023-02-24 12:07:55,833 INFO wandb-upload_2:3372 [upload_job.py:push():138] Uploaded file C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_120750-gmupm2k4\files\requirements.txt +2023-02-24 12:07:56,036 INFO Thread-16 :3372 [sender.py:transition_state():587] send defer: 11 +2023-02-24 12:07:56,036 DEBUG HandlerThread:3372 [handler.py:handle_request():144] handle_request: defer +2023-02-24 12:07:56,036 INFO HandlerThread:3372 [handler.py:handle_request_defer():170] handle defer: 11 +2023-02-24 12:07:56,036 DEBUG SenderThread:3372 [sender.py:send_request():363] send_request: defer +2023-02-24 12:07:56,036 INFO SenderThread:3372 [sender.py:send_request_defer():583] handle sender defer: 11 +2023-02-24 12:07:56,036 INFO SenderThread:3372 [file_pusher.py:join():167] waiting for file pusher +2023-02-24 12:07:56,036 INFO SenderThread:3372 [sender.py:transition_state():587] send defer: 12 +2023-02-24 12:07:56,036 DEBUG HandlerThread:3372 [handler.py:handle_request():144] handle_request: defer +2023-02-24 12:07:56,036 INFO HandlerThread:3372 [handler.py:handle_request_defer():170] handle defer: 12 +2023-02-24 12:07:56,037 DEBUG SenderThread:3372 [sender.py:send_request():363] send_request: defer +2023-02-24 12:07:56,037 INFO SenderThread:3372 [sender.py:send_request_defer():583] handle sender defer: 12 +2023-02-24 12:07:56,173 INFO SenderThread:3372 [sender.py:transition_state():587] send defer: 13 +2023-02-24 12:07:56,174 DEBUG HandlerThread:3372 [handler.py:handle_request():144] handle_request: defer +2023-02-24 12:07:56,174 INFO HandlerThread:3372 [handler.py:handle_request_defer():170] handle defer: 13 +2023-02-24 12:07:56,174 DEBUG SenderThread:3372 [sender.py:send_request():363] send_request: defer +2023-02-24 12:07:56,174 INFO SenderThread:3372 [sender.py:send_request_defer():583] handle sender defer: 13 +2023-02-24 12:07:56,175 INFO SenderThread:3372 [sender.py:transition_state():587] send defer: 14 +2023-02-24 12:07:56,175 DEBUG HandlerThread:3372 [handler.py:handle_request():144] handle_request: defer +2023-02-24 12:07:56,175 INFO HandlerThread:3372 [handler.py:handle_request_defer():170] handle defer: 14 +2023-02-24 12:07:56,175 DEBUG SenderThread:3372 [sender.py:send():336] send: final +2023-02-24 12:07:56,176 DEBUG SenderThread:3372 [sender.py:send():336] send: footer +2023-02-24 12:07:56,176 DEBUG SenderThread:3372 [sender.py:send_request():363] send_request: defer +2023-02-24 12:07:56,176 INFO SenderThread:3372 [sender.py:send_request_defer():583] handle sender defer: 14 +2023-02-24 12:07:56,176 DEBUG HandlerThread:3372 [handler.py:handle_request():144] handle_request: poll_exit +2023-02-24 12:07:56,177 DEBUG HandlerThread:3372 [handler.py:handle_request():144] handle_request: server_info +2023-02-24 12:07:56,177 DEBUG HandlerThread:3372 [handler.py:handle_request():144] handle_request: get_summary +2023-02-24 12:07:56,177 DEBUG HandlerThread:3372 [handler.py:handle_request():144] handle_request: sampled_history +2023-02-24 12:07:56,177 DEBUG SenderThread:3372 [sender.py:send_request():363] send_request: poll_exit +2023-02-24 12:07:56,178 DEBUG SenderThread:3372 [sender.py:send_request():363] send_request: server_info +2023-02-24 12:07:56,331 INFO MainThread:3372 [wandb_run.py:_footer_history_summary_info():3442] rendering history +2023-02-24 12:07:56,331 INFO MainThread:3372 [wandb_run.py:_footer_history_summary_info():3474] rendering summary +2023-02-24 12:07:56,332 INFO MainThread:3372 [wandb_run.py:_footer_sync_info():3398] logging synced files +2023-02-24 12:07:56,332 DEBUG HandlerThread:3372 [handler.py:handle_request():144] handle_request: shutdown +2023-02-24 12:07:56,332 INFO HandlerThread:3372 [handler.py:finish():841] shutting down handler +2023-02-24 12:07:57,187 INFO WriterThread:3372 [datastore.py:close():299] close: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_120750-gmupm2k4\run-gmupm2k4.wandb +2023-02-24 12:07:57,343 INFO SenderThread:3372 [sender.py:finish():1493] shutting down sender +2023-02-24 12:07:57,343 INFO SenderThread:3372 [file_pusher.py:finish():162] shutting down file pusher +2023-02-24 12:07:57,343 INFO SenderThread:3372 [file_pusher.py:join():167] waiting for file pusher diff --git a/embeddings/wandb/run-20230224_120750-gmupm2k4/logs/debug.log b/embeddings/wandb/run-20230224_120750-gmupm2k4/logs/debug.log new file mode 100644 index 0000000000000000000000000000000000000000..9a0b885db2724e6aed0526718f751e9d29b97106 --- /dev/null +++ b/embeddings/wandb/run-20230224_120750-gmupm2k4/logs/debug.log @@ -0,0 +1,25 @@ +2023-02-24 12:07:50,728 INFO MainThread:7532 [wandb_setup.py:_flush():68] Configure stats pid to 7532 +2023-02-24 12:07:50,728 INFO MainThread:7532 [wandb_setup.py:_flush():68] Loading settings from C:\Users\liamb\.config\wandb\settings +2023-02-24 12:07:50,728 INFO MainThread:7532 [wandb_setup.py:_flush():68] Loading settings from C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\settings +2023-02-24 12:07:50,728 INFO MainThread:7532 [wandb_setup.py:_flush():68] Loading settings from environment variables: {'_require_service': 'True'} +2023-02-24 12:07:50,728 INFO MainThread:7532 [wandb_setup.py:_flush():68] Inferring run settings from compute environment: {'program_relpath': 'embeddings\\hetero_GAT.py', 'program': 'C:\\Users\\liamb\\Documents\\graph4stackoverflow\\embeddings\\hetero_GAT.py'} +2023-02-24 12:07:50,730 INFO MainThread:7532 [wandb_init.py:_log_setup():492] Logging user logs to C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_120750-gmupm2k4\logs\debug.log +2023-02-24 12:07:50,730 INFO MainThread:7532 [wandb_init.py:_log_setup():493] Logging internal logs to C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_120750-gmupm2k4\logs\debug-internal.log +2023-02-24 12:07:50,730 INFO MainThread:7532 [wandb_init.py:init():532] calling init triggers +2023-02-24 12:07:50,730 INFO MainThread:7532 [wandb_init.py:init():538] wandb.init called with sweep_config: {} +config: {} +2023-02-24 12:07:50,730 INFO MainThread:7532 [wandb_init.py:init():588] starting backend +2023-02-24 12:07:50,730 INFO MainThread:7532 [wandb_init.py:init():592] setting up manager +2023-02-24 12:07:50,733 INFO MainThread:7532 [backend.py:_multiprocessing_setup():106] multiprocessing start_methods=spawn, using: spawn +2023-02-24 12:07:50,737 INFO MainThread:7532 [wandb_init.py:init():599] backend started and connected +2023-02-24 12:07:50,739 INFO MainThread:7532 [wandb_init.py:init():687] updated telemetry +2023-02-24 12:07:50,788 INFO MainThread:7532 [wandb_init.py:init():727] communicating run to backend with 60.0 second timeout +2023-02-24 12:07:51,235 INFO MainThread:7532 [wandb_run.py:_on_init():2134] communicating current version +2023-02-24 12:07:51,304 INFO MainThread:7532 [wandb_run.py:_on_init():2143] got version response +2023-02-24 12:07:51,304 INFO MainThread:7532 [wandb_init.py:init():775] starting run threads in backend +2023-02-24 12:07:51,467 INFO MainThread:7532 [wandb_run.py:_console_start():2114] atexit reg +2023-02-24 12:07:51,468 INFO MainThread:7532 [wandb_run.py:_redirect():1969] redirect: SettingsConsole.WRAP_RAW +2023-02-24 12:07:51,468 INFO MainThread:7532 [wandb_run.py:_redirect():2034] Wrapping output streams. +2023-02-24 12:07:51,468 INFO MainThread:7532 [wandb_run.py:_redirect():2059] Redirects installed. +2023-02-24 12:07:51,469 INFO MainThread:7532 [wandb_init.py:init():817] run started, returning control to user process +2023-02-24 12:07:57,410 WARNING MsgRouterThr:7532 [router.py:message_loop():77] message_loop has been closed diff --git a/embeddings/wandb/run-20230224_120750-gmupm2k4/run-gmupm2k4.wandb b/embeddings/wandb/run-20230224_120750-gmupm2k4/run-gmupm2k4.wandb new file mode 100644 index 0000000000000000000000000000000000000000..66cc5be83bcfd7e13c094b946fc7a4e1468ec58e Binary files /dev/null and b/embeddings/wandb/run-20230224_120750-gmupm2k4/run-gmupm2k4.wandb differ diff --git a/embeddings/wandb/run-20230224_122235-prub22wv/files/config.yaml b/embeddings/wandb/run-20230224_122235-prub22wv/files/config.yaml new file mode 100644 index 0000000000000000000000000000000000000000..e1de964ea63db33da2abf869534058d55743f7eb --- /dev/null +++ b/embeddings/wandb/run-20230224_122235-prub22wv/files/config.yaml @@ -0,0 +1,40 @@ +wandb_version: 1 + +_wandb: + desc: null + value: + cli_version: 0.13.10 + framework: huggingface + huggingface_version: 4.24.0 + is_jupyter_run: false + is_kaggle_kernel: false + python_version: 3.8.1 + start_time: 1677241355.070119 + t: + 1: + - 1 + - 5 + - 11 + - 33 + - 49 + - 53 + - 55 + - 77 + 2: + - 1 + - 5 + - 11 + - 33 + - 49 + - 53 + - 55 + - 77 + 3: + - 13 + - 23 + 4: 3.8.1 + 5: 0.13.10 + 6: 4.24.0 + 8: + - 3 + - 5 diff --git a/embeddings/wandb/run-20230224_122235-prub22wv/files/output.log b/embeddings/wandb/run-20230224_122235-prub22wv/files/output.log new file mode 100644 index 0000000000000000000000000000000000000000..ff7fd93cd674ce17c050fe6c5301d5f4f3b2a953 --- /dev/null +++ b/embeddings/wandb/run-20230224_122235-prub22wv/files/output.log @@ -0,0 +1,23 @@ +<html> +<head><meta charset="utf-8" /></head> +<body> + <div> <script type="text/javascript">window.PlotlyConfig = {MathJaxConfig: 'local'};</script> + <script type="text/javascript">/** +* plotly.js v2.18.0 +* Copyright 2012-2023, Plotly, Inc. +* All rights reserved. +* Licensed under the MIT license +*/ +/*! For license information please see plotly.min.js.LICENSE.txt */ +!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.Plotly=e():t.Plotly=e()}(self,(function(){return function(){var t={98847:function(t,e,r){"use strict";var n=r(71828),i={"X,X div":'direction:ltr;font-family:"Open Sans",verdana,arial,sans-serif;margin:0;padding:0;',"X input,X button":'font-family:"Open Sans",verdana,arial,sans-serif;',"X input:focus,X button:focus":"outline:none;","X a":"text-decoration:none;","X a:hover":"text-decoration:none;","X .crisp":"shape-rendering:crispEdges;","X .user-select-none":"-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;","X svg":"overflow:hidden;","X svg a":"fill:#447adb;","X svg a:hover":"fill:#3c6dc5;","X .main-svg":"position:absolute;top:0;left:0;pointer-events:none;","X .main-svg .draglayer":"pointer-events:all;","X .cursor-default":"cursor:default;","X .cursor-pointer":"cursor:pointer;","X .cursor-crosshair":"cursor:crosshair;","X .cursor-move":"cursor:move;","X .cursor-col-resize":"cursor:col-resize;","X .cursor-row-resize":"cursor:row-resize;","X .cursor-ns-resize":"cursor:ns-resize;","X .cursor-ew-resize":"cursor:ew-resize;","X .cursor-sw-resize":"cursor:sw-resize;","X .cursor-s-resize":"cursor:s-resize;","X .cursor-se-resize":"cursor:se-resize;","X .cursor-w-resize":"cursor:w-resize;","X .cursor-e-resize":"cursor:e-resize;","X .cursor-nw-resize":"cursor:nw-resize;","X .cursor-n-resize":"cursor:n-resize;","X .cursor-ne-resize":"cursor:ne-resize;","X .cursor-grab":"cursor:-webkit-grab;cursor:grab;","X .modebar":"position:absolute;top:2px;right:2px;","X .ease-bg":"-webkit-transition:background-color .3s ease 0s;-moz-transition:background-color .3s ease 0s;-ms-transition:background-color .3s ease 0s;-o-transition:background-color .3s ease 0s;transition:background-color .3s ease 0s;","X .modebar--hover>:not(.watermark)":"opacity:0;-webkit-transition:opacity .3s ease 0s;-moz-transition:opacity .3s ease 0s;-ms-transition:opacity .3s ease 0s;-o-transition:opacity .3s ease 0s;transition:opacity .3s ease 0s;","X:hover .modebar--hover .modebar-group":"opacity:1;","X .modebar-group":"float:left;display:inline-block;box-sizing:border-box;padding-left:8px;position:relative;vertical-align:middle;white-space:nowrap;","X .modebar-btn":"position:relative;font-size:16px;padding:3px 4px;height:22px;cursor:pointer;line-height:normal;box-sizing:border-box;","X .modebar-btn svg":"position:relative;top:2px;","X .modebar.vertical":"display:flex;flex-direction:column;flex-wrap:wrap;align-content:flex-end;max-height:100%;","X .modebar.vertical svg":"top:-1px;","X .modebar.vertical .modebar-group":"display:block;float:none;padding-left:0px;padding-bottom:8px;","X .modebar.vertical .modebar-group .modebar-btn":"display:block;text-align:center;","X [data-title]:before,X [data-title]:after":"position:absolute;-webkit-transform:translate3d(0, 0, 0);-moz-transform:translate3d(0, 0, 0);-ms-transform:translate3d(0, 0, 0);-o-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);display:none;opacity:0;z-index:1001;pointer-events:none;top:110%;right:50%;","X [data-title]:hover:before,X [data-title]:hover:after":"display:block;opacity:1;","X [data-title]:before":'content:"";position:absolute;background:rgba(0,0,0,0);border:6px solid rgba(0,0,0,0);z-index:1002;margin-top:-12px;border-bottom-color:#69738a;margin-right:-6px;',"X [data-title]:after":"content:attr(data-title);background:#69738a;color:#fff;padding:8px 10px;font-size:12px;line-height:12px;white-space:nowrap;margin-right:-18px;border-radius:2px;","X .vertical [data-title]:before,X .vertical [data-title]:after":"top:0%;right:200%;","X .vertical [data-title]:before":"border:6px solid rgba(0,0,0,0);border-left-color:#69738a;margin-top:8px;margin-right:-30px;",Y:'font-family:"Open Sans",verdana,arial,sans-serif;position:fixed;top:50px;right:20px;z-index:10000;font-size:10pt;max-width:180px;',"Y p":"margin:0;","Y .notifier-note":"min-width:180px;max-width:250px;border:1px solid #fff;z-index:3000;margin:0;background-color:#8c97af;background-color:rgba(140,151,175,.9);color:#fff;padding:10px;overflow-wrap:break-word;word-wrap:break-word;-ms-hyphens:auto;-webkit-hyphens:auto;hyphens:auto;","Y .notifier-close":"color:#fff;opacity:.8;float:right;padding:0 5px;background:none;border:none;font-size:20px;font-weight:bold;line-height:20px;","Y .notifier-close:hover":"color:#444;text-decoration:none;cursor:pointer;"};for(var a in i){var o=a.replace(/^,/," ,").replace(/X/g,".js-plotly-plot .plotly").replace(/Y/g,".plotly-notifier");n.addStyleRule(o,i[a])}},98222:function(t,e,r){"use strict";t.exports=r(82887)},27206:function(t,e,r){"use strict";t.exports=r(60822)},59893:function(t,e,r){"use strict";t.exports=r(23381)},5224:function(t,e,r){"use strict";t.exports=r(83832)},59509:function(t,e,r){"use strict";t.exports=r(72201)},75557:function(t,e,r){"use strict";t.exports=r(91815)},40338:function(t,e,r){"use strict";t.exports=r(21462)},35080:function(t,e,r){"use strict";t.exports=r(51319)},61396:function(t,e,r){"use strict";t.exports=r(57516)},40549:function(t,e,r){"use strict";t.exports=r(98128)},49866:function(t,e,r){"use strict";t.exports=r(99442)},36089:function(t,e,r){"use strict";t.exports=r(93740)},19548:function(t,e,r){"use strict";t.exports=r(8729)},35831:function(t,e,r){"use strict";t.exports=r(93814)},61039:function(t,e,r){"use strict";t.exports=r(14382)},97040:function(t,e,r){"use strict";t.exports=r(51759)},77986:function(t,e,r){"use strict";t.exports=r(10421)},24296:function(t,e,r){"use strict";t.exports=r(43102)},58872:function(t,e,r){"use strict";t.exports=r(92165)},29626:function(t,e,r){"use strict";t.exports=r(3325)},65591:function(t,e,r){"use strict";t.exports=r(36071)},69738:function(t,e,r){"use strict";t.exports=r(43905)},92650:function(t,e,r){"use strict";t.exports=r(35902)},35630:function(t,e,r){"use strict";t.exports=r(69816)},73434:function(t,e,r){"use strict";t.exports=r(94507)},27909:function(t,e,r){"use strict";var n=r(19548);n.register([r(27206),r(5224),r(58872),r(65591),r(69738),r(92650),r(49866),r(25743),r(6197),r(97040),r(85461),r(73434),r(54201),r(81299),r(47645),r(35630),r(77986),r(83043),r(93005),r(96881),r(4534),r(50581),r(40549),r(77900),r(47582),r(35080),r(21641),r(17280),r(5861),r(29626),r(10021),r(65317),r(96268),r(61396),r(35831),r(16122),r(46163),r(40344),r(40338),r(48131),r(36089),r(55334),r(75557),r(19440),r(99488),r(59893),r(97393),r(98222),r(61039),r(24296),r(66398),r(59509)]),t.exports=n},46163:function(t,e,r){"use strict";t.exports=r(15154)},96881:function(t,e,r){"use strict";t.exports=r(64943)},50581:function(t,e,r){"use strict";t.exports=r(21164)},55334:function(t,e,r){"use strict";t.exports=r(54186)},65317:function(t,e,r){"use strict";t.exports=r(94873)},10021:function(t,e,r){"use strict";t.exports=r(67618)},54201:function(t,e,r){"use strict";t.exports=r(58810)},5861:function(t,e,r){"use strict";t.exports=r(20593)},16122:function(t,e,r){"use strict";t.exports=r(29396)},83043:function(t,e,r){"use strict";t.exports=r(13551)},48131:function(t,e,r){"use strict";t.exports=r(46858)},47582:function(t,e,r){"use strict";t.exports=r(17988)},21641:function(t,e,r){"use strict";t.exports=r(68868)},96268:function(t,e,r){"use strict";t.exports=r(20467)},19440:function(t,e,r){"use strict";t.exports=r(91271)},99488:function(t,e,r){"use strict";t.exports=r(21461)},97393:function(t,e,r){"use strict";t.exports=r(85956)},25743:function(t,e,r){"use strict";t.exports=r(52979)},66398:function(t,e,r){"use strict";t.exports=r(32275)},17280:function(t,e,r){"use strict";t.exports=r(6419)},77900:function(t,e,r){"use strict";t.exports=r(61510)},81299:function(t,e,r){"use strict";t.exports=r(87619)},93005:function(t,e,r){"use strict";t.exports=r(93601)},40344:function(t,e,r){"use strict";t.exports=r(96595)},47645:function(t,e,r){"use strict";t.exports=r(70954)},6197:function(t,e,r){"use strict";t.exports=r(47462)},4534:function(t,e,r){"use strict";t.exports=r(17659)},85461:function(t,e,r){"use strict";t.exports=r(19990)},82884:function(t){"use strict";t.exports=[{path:"",backoff:0},{path:"M-2.4,-3V3L0.6,0Z",backoff:.6},{path:"M-3.7,-2.5V2.5L1.3,0Z",backoff:1.3},{path:"M-4.45,-3L-1.65,-0.2V0.2L-4.45,3L1.55,0Z",backoff:1.55},{path:"M-2.2,-2.2L-0.2,-0.2V0.2L-2.2,2.2L-1.4,3L1.6,0L-1.4,-3Z",backoff:1.6},{path:"M-4.4,-2.1L-0.6,-0.2V0.2L-4.4,2.1L-4,3L2,0L-4,-3Z",backoff:2},{path:"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z",backoff:0,noRotate:!0},{path:"M2,2V-2H-2V2Z",backoff:0,noRotate:!0}]},50215:function(t,e,r){"use strict";var n=r(82884),i=r(41940),a=r(85555),o=r(44467).templatedArray;r(24695),t.exports=o("annotation",{visible:{valType:"boolean",dflt:!0,editType:"calc+arraydraw"},text:{valType:"string",editType:"calc+arraydraw"},textangle:{valType:"angle",dflt:0,editType:"calc+arraydraw"},font:i({editType:"calc+arraydraw",colorEditType:"arraydraw"}),width:{valType:"number",min:1,dflt:null,editType:"calc+arraydraw"},height:{valType:"number",min:1,dflt:null,editType:"calc+arraydraw"},opacity:{valType:"number",min:0,max:1,dflt:1,editType:"arraydraw"},align:{valType:"enumerated",values:["left","center","right"],dflt:"center",editType:"arraydraw"},valign:{valType:"enumerated",values:["top","middle","bottom"],dflt:"middle",editType:"arraydraw"},bgcolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"arraydraw"},bordercolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"arraydraw"},borderpad:{valType:"number",min:0,dflt:1,editType:"calc+arraydraw"},borderwidth:{valType:"number",min:0,dflt:1,editType:"calc+arraydraw"},showarrow:{valType:"boolean",dflt:!0,editType:"calc+arraydraw"},arrowcolor:{valType:"color",editType:"arraydraw"},arrowhead:{valType:"integer",min:0,max:n.length,dflt:1,editType:"arraydraw"},startarrowhead:{valType:"integer",min:0,max:n.length,dflt:1,editType:"arraydraw"},arrowside:{valType:"flaglist",flags:["end","start"],extras:["none"],dflt:"end",editType:"arraydraw"},arrowsize:{valType:"number",min:.3,dflt:1,editType:"calc+arraydraw"},startarrowsize:{valType:"number",min:.3,dflt:1,editType:"calc+arraydraw"},arrowwidth:{valType:"number",min:.1,editType:"calc+arraydraw"},standoff:{valType:"number",min:0,dflt:0,editType:"calc+arraydraw"},startstandoff:{valType:"number",min:0,dflt:0,editType:"calc+arraydraw"},ax:{valType:"any",editType:"calc+arraydraw"},ay:{valType:"any",editType:"calc+arraydraw"},axref:{valType:"enumerated",dflt:"pixel",values:["pixel",a.idRegex.x.toString()],editType:"calc"},ayref:{valType:"enumerated",dflt:"pixel",values:["pixel",a.idRegex.y.toString()],editType:"calc"},xref:{valType:"enumerated",values:["paper",a.idRegex.x.toString()],editType:"calc"},x:{valType:"any",editType:"calc+arraydraw"},xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"auto",editType:"calc+arraydraw"},xshift:{valType:"number",dflt:0,editType:"calc+arraydraw"},yref:{valType:"enumerated",values:["paper",a.idRegex.y.toString()],editType:"calc"},y:{valType:"any",editType:"calc+arraydraw"},yanchor:{valType:"enumerated",values:["auto","top","middle","bottom"],dflt:"auto",editType:"calc+arraydraw"},yshift:{valType:"number",dflt:0,editType:"calc+arraydraw"},clicktoshow:{valType:"enumerated",values:[!1,"onoff","onout"],dflt:!1,editType:"arraydraw"},xclick:{valType:"any",editType:"arraydraw"},yclick:{valType:"any",editType:"arraydraw"},hovertext:{valType:"string",editType:"arraydraw"},hoverlabel:{bgcolor:{valType:"color",editType:"arraydraw"},bordercolor:{valType:"color",editType:"arraydraw"},font:i({editType:"arraydraw"}),editType:"arraydraw"},captureevents:{valType:"boolean",editType:"arraydraw"},editType:"calc",_deprecated:{ref:{valType:"string",editType:"calc"}}})},3749:function(t,e,r){"use strict";var n=r(71828),i=r(89298),a=r(92605).draw;function o(t){var e=t._fullLayout;n.filterVisible(e.annotations).forEach((function(e){var r=i.getFromId(t,e.xref),n=i.getFromId(t,e.yref),a=i.getRefType(e.xref),o=i.getRefType(e.yref);e._extremes={},"range"===a&&s(e,r),"range"===o&&s(e,n)}))}function s(t,e){var r,n=e._id,a=n.charAt(0),o=t[a],s=t["a"+a],l=t[a+"ref"],u=t["a"+a+"ref"],c=t["_"+a+"padplus"],f=t["_"+a+"padminus"],h={x:1,y:-1}[a]*t[a+"shift"],p=3*t.arrowsize*t.arrowwidth||0,d=p+h,v=p-h,g=3*t.startarrowsize*t.arrowwidth||0,y=g+h,m=g-h;if(u===l){var x=i.findExtremes(e,[e.r2c(o)],{ppadplus:d,ppadminus:v}),b=i.findExtremes(e,[e.r2c(s)],{ppadplus:Math.max(c,y),ppadminus:Math.max(f,m)});r={min:[x.min[0],b.min[0]],max:[x.max[0],b.max[0]]}}else y=s?y+s:y,m=s?m-s:m,r=i.findExtremes(e,[e.r2c(o)],{ppadplus:Math.max(c,d,y),ppadminus:Math.max(f,v,m)});t._extremes[n]=r}t.exports=function(t){var e=t._fullLayout;if(n.filterVisible(e.annotations).length&&t._fullData.length)return n.syncOrAsync([a,o],t)}},44317:function(t,e,r){"use strict";var n=r(71828),i=r(73972),a=r(44467).arrayEditor;function o(t,e){var r,n,i,a,o,l,u,c=t._fullLayout.annotations,f=[],h=[],p=[],d=(e||[]).length;for(r=0;r<c.length;r++)if(a=(i=c[r]).clicktoshow){for(n=0;n<d;n++)if(l=(o=e[n]).xaxis,u=o.yaxis,l._id===i.xref&&u._id===i.yref&&l.d2r(o.x)===s(i._xclick,l)&&u.d2r(o.y)===s(i._yclick,u)){(i.visible?"onout"===a?h:p:f).push(r);break}n===d&&i.visible&&"onout"===a&&h.push(r)}return{on:f,off:h,explicitOff:p}}function s(t,e){return"log"===e.type?e.l2r(t):e.d2r(t)}t.exports={hasClickToShow:function(t,e){var r=o(t,e);return r.on.length>0||r.explicitOff.length>0},onClick:function(t,e){var r,s,l=o(t,e),u=l.on,c=l.off.concat(l.explicitOff),f={},h=t._fullLayout.annotations;if(u.length||c.length){for(r=0;r<u.length;r++)(s=a(t.layout,"annotations",h[u[r]])).modifyItem("visible",!0),n.extendFlat(f,s.getUpdateObj());for(r=0;r<c.length;r++)(s=a(t.layout,"annotations",h[c[r]])).modifyItem("visible",!1),n.extendFlat(f,s.getUpdateObj());return i.call("update",t,{},f)}}}},25625:function(t,e,r){"use strict";var n=r(71828),i=r(7901);t.exports=function(t,e,r,a){a("opacity");var o=a("bgcolor"),s=a("bordercolor"),l=i.opacity(s);a("borderpad");var u=a("borderwidth"),c=a("showarrow");if(a("text",c?" ":r._dfltTitle.annotation),a("textangle"),n.coerceFont(a,"font",r.font),a("width"),a("align"),a("height")&&a("valign"),c){var f,h,p=a("arrowside");-1!==p.indexOf("end")&&(f=a("arrowhead"),h=a("arrowsize")),-1!==p.indexOf("start")&&(a("startarrowhead",f),a("startarrowsize",h)),a("arrowcolor",l?e.bordercolor:i.defaultLine),a("arrowwidth",2*(l&&u||1)),a("standoff"),a("startstandoff")}var d=a("hovertext"),v=r.hoverlabel||{};if(d){var g=a("hoverlabel.bgcolor",v.bgcolor||(i.opacity(o)?i.rgb(o):i.defaultLine)),y=a("hoverlabel.bordercolor",v.bordercolor||i.contrast(g));n.coerceFont(a,"hoverlabel.font",{family:v.font.family,size:v.font.size,color:v.font.color||y})}a("captureevents",!!d)}},94128:function(t,e,r){"use strict";var n=r(92770),i=r(58163);t.exports=function(t,e,r,a){e=e||{};var o="log"===r&&"linear"===e.type,s="linear"===r&&"log"===e.type;if(o||s)for(var l,u,c=t._fullLayout.annotations,f=e._id.charAt(0),h=0;h<c.length;h++)l=c[h],u="annotations["+h+"].",l[f+"ref"]===e._id&&p(f),l["a"+f+"ref"]===e._id&&p("a"+f);function p(t){var r=l[t],s=null;s=o?i(r,e.range):Math.pow(10,r),n(s)||(s=null),a(u+t,s)}}},84046:function(t,e,r){"use strict";var n=r(71828),i=r(89298),a=r(85501),o=r(25625),s=r(50215);function l(t,e,r){function a(r,i){return n.coerce(t,e,s,r,i)}var l=a("visible"),u=a("clicktoshow");if(l||u){o(t,e,r,a);for(var c=e.showarrow,f=["x","y"],h=[-10,-30],p={_fullLayout:r},d=0;d<2;d++){var v=f[d],g=i.coerceRef(t,e,p,v,"","paper");if("paper"!==g&&i.getFromId(p,g)._annIndices.push(e._index),i.coercePosition(e,p,a,g,v,.5),c){var y="a"+v,m=i.coerceRef(t,e,p,y,"pixel",["pixel","paper"]);"pixel"!==m&&m!==g&&(m=e[y]="pixel");var x="pixel"===m?h[d]:.4;i.coercePosition(e,p,a,m,y,x)}a(v+"anchor"),a(v+"shift")}if(n.noneOrAll(t,e,["x","y"]),c&&n.noneOrAll(t,e,["ax","ay"]),u){var b=a("xclick"),_=a("yclick");e._xclick=void 0===b?e.x:i.cleanPosition(b,p,e.xref),e._yclick=void 0===_?e.y:i.cleanPosition(_,p,e.yref)}}}t.exports=function(t,e){a(t,e,{name:"annotations",handleItemDefaults:l})}},92605:function(t,e,r){"use strict";var n=r(39898),i=r(73972),a=r(74875),o=r(71828),s=o.strTranslate,l=r(89298),u=r(7901),c=r(91424),f=r(30211),h=r(63893),p=r(6964),d=r(28569),v=r(44467).arrayEditor,g=r(13011);function y(t,e){var r=t._fullLayout.annotations[e]||{},n=l.getFromId(t,r.xref),i=l.getFromId(t,r.yref);n&&n.setScale(),i&&i.setScale(),x(t,r,e,!1,n,i)}function m(t,e,r,n,i){var a=i[r],o=i[r+"ref"],s=-1!==r.indexOf("y"),u="domain"===l.getRefType(o),c=s?n.h:n.w;return t?u?a+(s?-e:e)/t._length:t.p2r(t.r2p(a)+e):a+(s?-e:e)/c}function x(t,e,r,a,y,x){var b,_,w=t._fullLayout,T=t._fullLayout._size,k=t._context.edits;a?(b="annotation-"+a,_=a+".annotations"):(b="annotation",_="annotations");var A=v(t.layout,_,e),M=A.modifyBase,S=A.modifyItem,E=A.getUpdateObj;w._infolayer.selectAll("."+b+'[data-index="'+r+'"]').remove();var L="clip"+w._uid+"_ann"+r;if(e._input&&!1!==e.visible){var C={x:{},y:{}},P=+e.textangle||0,O=w._infolayer.append("g").classed(b,!0).attr("data-index",String(r)).style("opacity",e.opacity),I=O.append("g").classed("annotation-text-g",!0),D=k[e.showarrow?"annotationTail":"annotationPosition"],z=e.captureevents||k.annotationText||D,R=I.append("g").style("pointer-events",z?"all":null).call(p,"pointer").on("click",(function(){t._dragging=!1,t.emit("plotly_clickannotation",Z(n.event))}));e.hovertext&&R.on("mouseover",(function(){var r=e.hoverlabel,n=r.font,i=this.getBoundingClientRect(),a=t.getBoundingClientRect();f.loneHover({x0:i.left-a.left,x1:i.right-a.left,y:(i.top+i.bottom)/2-a.top,text:e.hovertext,color:r.bgcolor,borderColor:r.bordercolor,fontFamily:n.family,fontSize:n.size,fontColor:n.color},{container:w._hoverlayer.node(),outerContainer:w._paper.node(),gd:t})})).on("mouseout",(function(){f.loneUnhover(w._hoverlayer.node())}));var F=e.borderwidth,B=e.borderpad,N=F+B,j=R.append("rect").attr("class","bg").style("stroke-width",F+"px").call(u.stroke,e.bordercolor).call(u.fill,e.bgcolor),U=e.width||e.height,V=w._topclips.selectAll("#"+L).data(U?[0]:[]);V.enter().append("clipPath").classed("annclip",!0).attr("id",L).append("rect"),V.exit().remove();var H=e.font,q=w._meta?o.templateString(e.text,w._meta):e.text,G=R.append("text").classed("annotation-text",!0).text(q);k.annotationText?G.call(h.makeEditable,{delegate:R,gd:t}).call(Y).on("edit",(function(r){e.text=r,this.call(Y),S("text",r),y&&y.autorange&&M(y._name+".autorange",!0),x&&x.autorange&&M(x._name+".autorange",!0),i.call("_guiRelayout",t,E())})):G.call(Y)}else n.selectAll("#"+L).remove();function Z(t){var n={index:r,annotation:e._input,fullAnnotation:e,event:t};return a&&(n.subplotId=a),n}function Y(r){return r.call(c.font,H).attr({"text-anchor":{left:"start",right:"end"}[e.align]||"middle"}),h.convertToTspans(r,t,W),r}function W(){var r=G.selectAll("a");1===r.size()&&r.text()===G.text()&&R.insert("a",":first-child").attr({"xlink:xlink:href":r.attr("xlink:href"),"xlink:xlink:show":r.attr("xlink:show")}).style({cursor:"pointer"}).node().appendChild(j.node());var n=R.select(".annotation-text-math-group"),f=!n.empty(),v=c.bBox((f?n:G).node()),b=v.width,_=v.height,A=e.width||b,z=e.height||_,B=Math.round(A+2*N),H=Math.round(z+2*N);function q(t,e){return"auto"===e&&(e=t<1/3?"left":t>2/3?"right":"center"),{center:0,middle:0,left:.5,bottom:-.5,right:-.5,top:.5}[e]}for(var Y=!1,W=["x","y"],X=0;X<W.length;X++){var J,K,$,Q,tt,et=W[X],rt=e[et+"ref"]||et,nt=e["a"+et+"ref"],it={x:y,y:x}[et],at=(P+("x"===et?0:-90))*Math.PI/180,ot=B*Math.cos(at),st=H*Math.sin(at),lt=Math.abs(ot)+Math.abs(st),ut=e[et+"anchor"],ct=e[et+"shift"]*("x"===et?1:-1),ft=C[et],ht=l.getRefType(rt);if(it&&"domain"!==ht){var pt=it.r2fraction(e[et]);(pt<0||pt>1)&&(nt===rt?((pt=it.r2fraction(e["a"+et]))<0||pt>1)&&(Y=!0):Y=!0),J=it._offset+it.r2p(e[et]),Q=.5}else{var dt="domain"===ht;"x"===et?($=e[et],J=dt?it._offset+it._length*$:J=T.l+T.w*$):($=1-e[et],J=dt?it._offset+it._length*$:J=T.t+T.h*$),Q=e.showarrow?.5:$}if(e.showarrow){ft.head=J;var vt=e["a"+et];if(tt=ot*q(.5,e.xanchor)-st*q(.5,e.yanchor),nt===rt){var gt=l.getRefType(nt);"domain"===gt?("y"===et&&(vt=1-vt),ft.tail=it._offset+it._length*vt):"paper"===gt?"y"===et?(vt=1-vt,ft.tail=T.t+T.h*vt):ft.tail=T.l+T.w*vt:ft.tail=it._offset+it.r2p(vt),K=tt}else ft.tail=J+vt,K=tt+vt;ft.text=ft.tail+tt;var yt=w["x"===et?"width":"height"];if("paper"===rt&&(ft.head=o.constrain(ft.head,1,yt-1)),"pixel"===nt){var mt=-Math.max(ft.tail-3,ft.text),xt=Math.min(ft.tail+3,ft.text)-yt;mt>0?(ft.tail+=mt,ft.text+=mt):xt>0&&(ft.tail-=xt,ft.text-=xt)}ft.tail+=ct,ft.head+=ct}else K=tt=lt*q(Q,ut),ft.text=J+tt;ft.text+=ct,tt+=ct,K+=ct,e["_"+et+"padplus"]=lt/2+K,e["_"+et+"padminus"]=lt/2-K,e["_"+et+"size"]=lt,e["_"+et+"shift"]=tt}if(Y)R.remove();else{var bt=0,_t=0;if("left"!==e.align&&(bt=(A-b)*("center"===e.align?.5:1)),"top"!==e.valign&&(_t=(z-_)*("middle"===e.valign?.5:1)),f)n.select("svg").attr({x:N+bt-1,y:N+_t}).call(c.setClipUrl,U?L:null,t);else{var wt=N+_t-v.top,Tt=N+bt-v.left;G.call(h.positionText,Tt,wt).call(c.setClipUrl,U?L:null,t)}V.select("rect").call(c.setRect,N,N,A,z),j.call(c.setRect,F/2,F/2,B-F,H-F),R.call(c.setTranslate,Math.round(C.x.text-B/2),Math.round(C.y.text-H/2)),I.attr({transform:"rotate("+P+","+C.x.text+","+C.y.text+")"});var kt,At=function(r,n){O.selectAll(".annotation-arrow-g").remove();var l=C.x.head,f=C.y.head,h=C.x.tail+r,p=C.y.tail+n,v=C.x.text+r,b=C.y.text+n,_=o.rotationXYMatrix(P,v,b),w=o.apply2DTransform(_),A=o.apply2DTransform2(_),L=+j.attr("width"),D=+j.attr("height"),z=v-.5*L,F=z+L,B=b-.5*D,N=B+D,U=[[z,B,z,N],[z,N,F,N],[F,N,F,B],[F,B,z,B]].map(A);if(!U.reduce((function(t,e){return t^!!o.segmentsIntersect(l,f,l+1e6,f+1e6,e[0],e[1],e[2],e[3])}),!1)){U.forEach((function(t){var e=o.segmentsIntersect(h,p,l,f,t[0],t[1],t[2],t[3]);e&&(h=e.x,p=e.y)}));var V=e.arrowwidth,H=e.arrowcolor,q=e.arrowside,G=O.append("g").style({opacity:u.opacity(H)}).classed("annotation-arrow-g",!0),Z=G.append("path").attr("d","M"+h+","+p+"L"+l+","+f).style("stroke-width",V+"px").call(u.stroke,u.rgb(H));if(g(Z,q,e),k.annotationPosition&&Z.node().parentNode&&!a){var Y=l,W=f;if(e.standoff){var X=Math.sqrt(Math.pow(l-h,2)+Math.pow(f-p,2));Y+=e.standoff*(h-l)/X,W+=e.standoff*(p-f)/X}var J,K,$=G.append("path").classed("annotation-arrow",!0).classed("anndrag",!0).classed("cursor-move",!0).attr({d:"M3,3H-3V-3H3ZM0,0L"+(h-Y)+","+(p-W),transform:s(Y,W)}).style("stroke-width",V+6+"px").call(u.stroke,"rgba(0,0,0,0)").call(u.fill,"rgba(0,0,0,0)");d.init({element:$.node(),gd:t,prepFn:function(){var t=c.getTranslate(R);J=t.x,K=t.y,y&&y.autorange&&M(y._name+".autorange",!0),x&&x.autorange&&M(x._name+".autorange",!0)},moveFn:function(t,r){var n=w(J,K),i=n[0]+t,a=n[1]+r;R.call(c.setTranslate,i,a),S("x",m(y,t,"x",T,e)),S("y",m(x,r,"y",T,e)),e.axref===e.xref&&S("ax",m(y,t,"ax",T,e)),e.ayref===e.yref&&S("ay",m(x,r,"ay",T,e)),G.attr("transform",s(t,r)),I.attr({transform:"rotate("+P+","+i+","+a+")"})},doneFn:function(){i.call("_guiRelayout",t,E());var e=document.querySelector(".js-notes-box-panel");e&&e.redraw(e.selectedObj)}})}}};e.showarrow&&At(0,0),D&&d.init({element:R.node(),gd:t,prepFn:function(){kt=I.attr("transform")},moveFn:function(t,r){var n="pointer";if(e.showarrow)e.axref===e.xref?S("ax",m(y,t,"ax",T,e)):S("ax",e.ax+t),e.ayref===e.yref?S("ay",m(x,r,"ay",T.w,e)):S("ay",e.ay+r),At(t,r);else{if(a)return;var i,o;if(y)i=m(y,t,"x",T,e);else{var l=e._xsize/T.w,u=e.x+(e._xshift-e.xshift)/T.w-l/2;i=d.align(u+t/T.w,l,0,1,e.xanchor)}if(x)o=m(x,r,"y",T,e);else{var c=e._ysize/T.h,f=e.y-(e._yshift+e.yshift)/T.h-c/2;o=d.align(f-r/T.h,c,0,1,e.yanchor)}S("x",i),S("y",o),y&&x||(n=d.getCursor(y?.5:i,x?.5:o,e.xanchor,e.yanchor))}I.attr({transform:s(t,r)+kt}),p(R,n)},clickFn:function(r,n){e.captureevents&&t.emit("plotly_clickannotation",Z(n))},doneFn:function(){p(R),i.call("_guiRelayout",t,E());var e=document.querySelector(".js-notes-box-panel");e&&e.redraw(e.selectedObj)}})}}}t.exports={draw:function(t){var e=t._fullLayout;e._infolayer.selectAll(".annotation").remove();for(var r=0;r<e.annotations.length;r++)e.annotations[r].visible&&y(t,r);return a.previousPromises(t)},drawOne:y,drawRaw:x}},13011:function(t,e,r){"use strict";var n=r(39898),i=r(7901),a=r(82884),o=r(71828),s=o.strScale,l=o.strRotate,u=o.strTranslate;t.exports=function(t,e,r){var o,c,f,h,p=t.node(),d=a[r.arrowhead||0],v=a[r.startarrowhead||0],g=(r.arrowwidth||1)*(r.arrowsize||1),y=(r.arrowwidth||1)*(r.startarrowsize||1),m=e.indexOf("start")>=0,x=e.indexOf("end")>=0,b=d.backoff*g+r.standoff,_=v.backoff*y+r.startstandoff;if("line"===p.nodeName){o={x:+t.attr("x1"),y:+t.attr("y1")},c={x:+t.attr("x2"),y:+t.attr("y2")};var w=o.x-c.x,T=o.y-c.y;if(h=(f=Math.atan2(T,w))+Math.PI,b&&_&&b+_>Math.sqrt(w*w+T*T))return void D();if(b){if(b*b>w*w+T*T)return void D();var k=b*Math.cos(f),A=b*Math.sin(f);c.x+=k,c.y+=A,t.attr({x2:c.x,y2:c.y})}if(_){if(_*_>w*w+T*T)return void D();var M=_*Math.cos(f),S=_*Math.sin(f);o.x-=M,o.y-=S,t.attr({x1:o.x,y1:o.y})}}else if("path"===p.nodeName){var E=p.getTotalLength(),L="";if(E<b+_)return void D();var C=p.getPointAtLength(0),P=p.getPointAtLength(.1);f=Math.atan2(C.y-P.y,C.x-P.x),o=p.getPointAtLength(Math.min(_,E)),L="0px,"+_+"px,";var O=p.getPointAtLength(E),I=p.getPointAtLength(E-.1);h=Math.atan2(O.y-I.y,O.x-I.x),c=p.getPointAtLength(Math.max(0,E-b)),L+=E-(L?_+b:b)+"px,"+E+"px",t.style("stroke-dasharray",L)}function D(){t.style("stroke-dasharray","0px,100px")}function z(e,a,o,c){e.path&&(e.noRotate&&(o=0),n.select(p.parentNode).append("path").attr({class:t.attr("class"),d:e.path,transform:u(a.x,a.y)+l(180*o/Math.PI)+s(c)}).style({fill:i.rgb(r.arrowcolor),"stroke-width":0}))}m&&z(v,o,f,y),x&&z(d,c,h,g)}},32745:function(t,e,r){"use strict";var n=r(92605),i=r(44317);t.exports={moduleType:"component",name:"annotations",layoutAttributes:r(50215),supplyLayoutDefaults:r(84046),includeBasePlot:r(76325)("annotations"),calcAutorange:r(3749),draw:n.draw,drawOne:n.drawOne,drawRaw:n.drawRaw,hasClickToShow:i.hasClickToShow,onClick:i.onClick,convertCoords:r(94128)}},26997:function(t,e,r){"use strict";var n=r(50215),i=r(30962).overrideAll,a=r(44467).templatedArray;t.exports=i(a("annotation",{visible:n.visible,x:{valType:"any"},y:{valType:"any"},z:{valType:"any"},ax:{valType:"number"},ay:{valType:"number"},xanchor:n.xanchor,xshift:n.xshift,yanchor:n.yanchor,yshift:n.yshift,text:n.text,textangle:n.textangle,font:n.font,width:n.width,height:n.height,opacity:n.opacity,align:n.align,valign:n.valign,bgcolor:n.bgcolor,bordercolor:n.bordercolor,borderpad:n.borderpad,borderwidth:n.borderwidth,showarrow:n.showarrow,arrowcolor:n.arrowcolor,arrowhead:n.arrowhead,startarrowhead:n.startarrowhead,arrowside:n.arrowside,arrowsize:n.arrowsize,startarrowsize:n.startarrowsize,arrowwidth:n.arrowwidth,standoff:n.standoff,startstandoff:n.startstandoff,hovertext:n.hovertext,hoverlabel:n.hoverlabel,captureevents:n.captureevents}),"calc","from-root")},5485:function(t,e,r){"use strict";var n=r(71828),i=r(89298);function a(t,e){var r=e.fullSceneLayout.domain,a=e.fullLayout._size,o={pdata:null,type:"linear",autorange:!1,range:[-1/0,1/0]};t._xa={},n.extendFlat(t._xa,o),i.setConvert(t._xa),t._xa._offset=a.l+r.x[0]*a.w,t._xa.l2p=function(){return.5*(1+t._pdata[0]/t._pdata[3])*a.w*(r.x[1]-r.x[0])},t._ya={},n.extendFlat(t._ya,o),i.setConvert(t._ya),t._ya._offset=a.t+(1-r.y[1])*a.h,t._ya.l2p=function(){return.5*(1-t._pdata[1]/t._pdata[3])*a.h*(r.y[1]-r.y[0])}}t.exports=function(t){for(var e=t.fullSceneLayout.annotations,r=0;r<e.length;r++)a(e[r],t);t.fullLayout._infolayer.selectAll(".annotation-"+t.id).remove()}},20226:function(t,e,r){"use strict";var n=r(71828),i=r(89298),a=r(85501),o=r(25625),s=r(26997);function l(t,e,r,a){function l(r,i){return n.coerce(t,e,s,r,i)}function u(t){var n=t+"axis",a={_fullLayout:{}};return a._fullLayout[n]=r[n],i.coercePosition(e,a,l,t,t,.5)}l("visible")&&(o(t,e,a.fullLayout,l),u("x"),u("y"),u("z"),n.noneOrAll(t,e,["x","y","z"]),e.xref="x",e.yref="y",e.zref="z",l("xanchor"),l("yanchor"),l("xshift"),l("yshift"),e.showarrow&&(e.axref="pixel",e.ayref="pixel",l("ax",-10),l("ay",-30),n.noneOrAll(t,e,["ax","ay"])))}t.exports=function(t,e,r){a(t,e,{name:"annotations",handleItemDefaults:l,fullLayout:r.fullLayout})}},82188:function(t,e,r){"use strict";var n=r(92605).drawRaw,i=r(63538),a=["x","y","z"];t.exports=function(t){for(var e=t.fullSceneLayout,r=t.dataScale,o=e.annotations,s=0;s<o.length;s++){for(var l=o[s],u=!1,c=0;c<3;c++){var f=a[c],h=l[f],p=e[f+"axis"].r2fraction(h);if(p<0||p>1){u=!0;break}}u?t.fullLayout._infolayer.select(".annotation-"+t.id+'[data-index="'+s+'"]').remove():(l._pdata=i(t.glplot.cameraParams,[e.xaxis.r2l(l.x)*r[0],e.yaxis.r2l(l.y)*r[1],e.zaxis.r2l(l.z)*r[2]]),n(t.graphDiv,l,s,t.id,l._xa,l._ya))}}},2468:function(t,e,r){"use strict";var n=r(73972),i=r(71828);t.exports={moduleType:"component",name:"annotations3d",schema:{subplots:{scene:{annotations:r(26997)}}},layoutAttributes:r(26997),handleDefaults:r(20226),includeBasePlot:function(t,e){var r=n.subplotsRegistry.gl3d;if(r)for(var a=r.attrRegex,o=Object.keys(t),s=0;s<o.length;s++){var l=o[s];a.test(l)&&(t[l].annotations||[]).length&&(i.pushUnique(e._basePlotModules,r),i.pushUnique(e._subplots.gl3d,l))}},convert:r(5485),draw:r(82188)}},7561:function(t,e,r){"use strict";t.exports=r(63489),r(94338),r(3961),r(38751),r(86825),r(37715),r(99384),r(43805),r(88874),r(83290),r(29108),r(55422),r(94320),r(31320),r(51367),r(21457)},72201:function(t,e,r){"use strict";var n=r(7561),i=r(71828),a=r(50606),o=a.EPOCHJD,s=a.ONEDAY,l={valType:"enumerated",values:i.sortObjectKeys(n.calendars),editType:"calc",dflt:"gregorian"},u=function(t,e,r,n){var a={};return a[r]=l,i.coerce(t,e,a,r,n)},c="##",f={d:{0:"dd","-":"d"},e:{0:"d","-":"d"},a:{0:"D","-":"D"},A:{0:"DD","-":"DD"},j:{0:"oo","-":"o"},W:{0:"ww","-":"w"},m:{0:"mm","-":"m"},b:{0:"M","-":"M"},B:{0:"MM","-":"MM"},y:{0:"yy","-":"yy"},Y:{0:"yyyy","-":"yyyy"},U:c,w:c,c:{0:"D M d %X yyyy","-":"D M d %X yyyy"},x:{0:"mm/dd/yyyy","-":"mm/dd/yyyy"}},h={};function p(t){var e=h[t];return e||(h[t]=n.instance(t))}function d(t){return i.extendFlat({},l,{description:t})}function v(t){return"Sets the calendar system to use with `"+t+"` date data."}var g={xcalendar:d(v("x"))},y=i.extendFlat({},g,{ycalendar:d(v("y"))}),m=i.extendFlat({},y,{zcalendar:d(v("z"))}),x=d(["Sets the calendar system to use for `range` and `tick0`","if this is a date axis. This does not set the calendar for","interpreting data on this axis, that's specified in the trace","or via the global `layout.calendar`"].join(" "));t.exports={moduleType:"component",name:"calendars",schema:{traces:{scatter:y,bar:y,box:y,heatmap:y,contour:y,histogram:y,histogram2d:y,histogram2dcontour:y,scatter3d:m,surface:m,mesh3d:m,scattergl:y,ohlc:g,candlestick:g},layout:{calendar:d(["Sets the default calendar system to use for interpreting and","displaying dates throughout the plot."].join(" "))},subplots:{xaxis:{calendar:x},yaxis:{calendar:x},scene:{xaxis:{calendar:x},yaxis:{calendar:x},zaxis:{calendar:x}},polar:{radialaxis:{calendar:x}}},transforms:{filter:{valuecalendar:d(["WARNING: All transforms are deprecated and may be removed from the API in next major version.","Sets the calendar system to use for `value`, if it is a date."].join(" ")),targetcalendar:d(["WARNING: All transforms are deprecated and may be removed from the API in next major version.","Sets the calendar system to use for `target`, if it is an","array of dates. If `target` is a string (eg *x*) we use the","corresponding trace attribute (eg `xcalendar`) if it exists,","even if `targetcalendar` is provided."].join(" "))}}},layoutAttributes:l,handleDefaults:u,handleTraceDefaults:function(t,e,r,n){for(var i=0;i<r.length;i++)u(t,e,r[i]+"calendar",n.calendar)},CANONICAL_SUNDAY:{chinese:"2000-01-02",coptic:"2000-01-03",discworld:"2000-01-03",ethiopian:"2000-01-05",hebrew:"5000-01-01",islamic:"1000-01-02",julian:"2000-01-03",mayan:"5000-01-01",nanakshahi:"1000-01-05",nepali:"2000-01-05",persian:"1000-01-01",jalali:"1000-01-01",taiwan:"1000-01-04",thai:"2000-01-04",ummalqura:"1400-01-06"},CANONICAL_TICK:{chinese:"2000-01-01",coptic:"2000-01-01",discworld:"2000-01-01",ethiopian:"2000-01-01",hebrew:"5000-01-01",islamic:"1000-01-01",julian:"2000-01-01",mayan:"5000-01-01",nanakshahi:"1000-01-01",nepali:"2000-01-01",persian:"1000-01-01",jalali:"1000-01-01",taiwan:"1000-01-01",thai:"2000-01-01",ummalqura:"1400-01-01"},DFLTRANGE:{chinese:["2000-01-01","2001-01-01"],coptic:["1700-01-01","1701-01-01"],discworld:["1800-01-01","1801-01-01"],ethiopian:["2000-01-01","2001-01-01"],hebrew:["5700-01-01","5701-01-01"],islamic:["1400-01-01","1401-01-01"],julian:["2000-01-01","2001-01-01"],mayan:["5200-01-01","5201-01-01"],nanakshahi:["0500-01-01","0501-01-01"],nepali:["2000-01-01","2001-01-01"],persian:["1400-01-01","1401-01-01"],jalali:["1400-01-01","1401-01-01"],taiwan:["0100-01-01","0101-01-01"],thai:["2500-01-01","2501-01-01"],ummalqura:["1400-01-01","1401-01-01"]},getCal:p,worldCalFmt:function(t,e,r){for(var n,i,a,l,u,h=Math.floor((e+.05)/s)+o,d=p(r).fromJD(h),v=0;-1!==(v=t.indexOf("%",v));)"0"===(n=t.charAt(v+1))||"-"===n||"_"===n?(a=3,i=t.charAt(v+2),"_"===n&&(n="-")):(i=n,n="0",a=2),(l=f[i])?(u=l===c?c:d.formatDate(l[n]),t=t.substr(0,v)+u+t.substr(v+a),v+=u.length):v+=a;return t}}},22399:function(t,e){"use strict";e.defaults=["#1f77b4","#ff7f0e","#2ca02c","#d62728","#9467bd","#8c564b","#e377c2","#7f7f7f","#bcbd22","#17becf"],e.defaultLine="#444",e.lightLine="#eee",e.background="#fff",e.borderLine="#BEC8D9",e.lightFraction=1e3/11},7901:function(t,e,r){"use strict";var n=r(84267),i=r(92770),a=r(73627).isTypedArray,o=t.exports={},s=r(22399);o.defaults=s.defaults;var l=o.defaultLine=s.defaultLine;o.lightLine=s.lightLine;var u=o.background=s.background;function c(t){if(i(t)||"string"!=typeof t)return t;var e=t.trim();if("rgb"!==e.substr(0,3))return t;var r=e.match(/^rgba?\s*\(([^()]*)\)$/);if(!r)return t;var n=r[1].trim().split(/\s*[\s,]\s*/),a="a"===e.charAt(3)&&4===n.length;if(!a&&3!==n.length)return t;for(var o=0;o<n.length;o++){if(!n[o].length)return t;if(n[o]=Number(n[o]),!(n[o]>=0))return t;if(3===o)n[o]>1&&(n[o]=1);else if(n[o]>=1)return t}var s=Math.round(255*n[0])+", "+Math.round(255*n[1])+", "+Math.round(255*n[2]);return a?"rgba("+s+", "+n[3]+")":"rgb("+s+")"}o.tinyRGB=function(t){var e=t.toRgb();return"rgb("+Math.round(e.r)+", "+Math.round(e.g)+", "+Math.round(e.b)+")"},o.rgb=function(t){return o.tinyRGB(n(t))},o.opacity=function(t){return t?n(t).getAlpha():0},o.addOpacity=function(t,e){var r=n(t).toRgb();return"rgba("+Math.round(r.r)+", "+Math.round(r.g)+", "+Math.round(r.b)+", "+e+")"},o.combine=function(t,e){var r=n(t).toRgb();if(1===r.a)return n(t).toRgbString();var i=n(e||u).toRgb(),a=1===i.a?i:{r:255*(1-i.a)+i.r*i.a,g:255*(1-i.a)+i.g*i.a,b:255*(1-i.a)+i.b*i.a},o={r:a.r*(1-r.a)+r.r*r.a,g:a.g*(1-r.a)+r.g*r.a,b:a.b*(1-r.a)+r.b*r.a};return n(o).toRgbString()},o.contrast=function(t,e,r){var i=n(t);return 1!==i.getAlpha()&&(i=n(o.combine(t,u))),(i.isDark()?e?i.lighten(e):u:r?i.darken(r):l).toString()},o.stroke=function(t,e){var r=n(e);t.style({stroke:o.tinyRGB(r),"stroke-opacity":r.getAlpha()})},o.fill=function(t,e){var r=n(e);t.style({fill:o.tinyRGB(r),"fill-opacity":r.getAlpha()})},o.clean=function(t){if(t&&"object"==typeof t){var e,r,n,i,s=Object.keys(t);for(e=0;e<s.length;e++)if(i=t[n=s[e]],"color"===n.substr(n.length-5))if(Array.isArray(i))for(r=0;r<i.length;r++)i[r]=c(i[r]);else t[n]=c(i);else if("colorscale"===n.substr(n.length-10)&&Array.isArray(i))for(r=0;r<i.length;r++)Array.isArray(i[r])&&(i[r][1]=c(i[r][1]));else if(Array.isArray(i)){var l=i[0];if(!Array.isArray(l)&&l&&"object"==typeof l)for(r=0;r<i.length;r++)o.clean(i[r])}else i&&"object"==typeof i&&!a(i)&&o.clean(i)}}},63583:function(t,e,r){"use strict";var n=r(13838),i=r(41940),a=r(1426).extendFlat,o=r(30962).overrideAll;t.exports=o({orientation:{valType:"enumerated",values:["h","v"],dflt:"v"},thicknessmode:{valType:"enumerated",values:["fraction","pixels"],dflt:"pixels"},thickness:{valType:"number",min:0,dflt:30},lenmode:{valType:"enumerated",values:["fraction","pixels"],dflt:"fraction"},len:{valType:"number",min:0,dflt:1},x:{valType:"number",min:-2,max:3},xanchor:{valType:"enumerated",values:["left","center","right"]},xpad:{valType:"number",min:0,dflt:10},y:{valType:"number",min:-2,max:3},yanchor:{valType:"enumerated",values:["top","middle","bottom"]},ypad:{valType:"number",min:0,dflt:10},outlinecolor:n.linecolor,outlinewidth:n.linewidth,bordercolor:n.linecolor,borderwidth:{valType:"number",min:0,dflt:0},bgcolor:{valType:"color",dflt:"rgba(0,0,0,0)"},tickmode:n.minor.tickmode,nticks:n.nticks,tick0:n.tick0,dtick:n.dtick,tickvals:n.tickvals,ticktext:n.ticktext,ticks:a({},n.ticks,{dflt:""}),ticklabeloverflow:a({},n.ticklabeloverflow,{}),ticklabelposition:{valType:"enumerated",values:["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"],dflt:"outside"},ticklen:n.ticklen,tickwidth:n.tickwidth,tickcolor:n.tickcolor,ticklabelstep:n.ticklabelstep,showticklabels:n.showticklabels,tickfont:i({}),tickangle:n.tickangle,tickformat:n.tickformat,tickformatstops:n.tickformatstops,tickprefix:n.tickprefix,showtickprefix:n.showtickprefix,ticksuffix:n.ticksuffix,showticksuffix:n.showticksuffix,separatethousands:n.separatethousands,exponentformat:n.exponentformat,minexponent:n.minexponent,showexponent:n.showexponent,title:{text:{valType:"string"},font:i({}),side:{valType:"enumerated",values:["right","top","bottom"]}},_deprecated:{title:{valType:"string"},titlefont:i({}),titleside:{valType:"enumerated",values:["right","top","bottom"],dflt:"top"}}},"colorbars","from-root")},30939:function(t){"use strict";t.exports={cn:{colorbar:"colorbar",cbbg:"cbbg",cbfill:"cbfill",cbfills:"cbfills",cbline:"cbline",cblines:"cblines",cbaxis:"cbaxis",cbtitleunshift:"cbtitleunshift",cbtitle:"cbtitle",cboutline:"cboutline",crisp:"crisp",jsPlaceholder:"js-placeholder"}}},62499:function(t,e,r){"use strict";var n=r(71828),i=r(44467),a=r(26218),o=r(38701),s=r(96115),l=r(89426),u=r(63583);t.exports=function(t,e,r){var c=i.newContainer(e,"colorbar"),f=t.colorbar||{};function h(t,e){return n.coerce(f,c,u,t,e)}var p=r.margin||{t:0,b:0,l:0,r:0},d=r.width-p.l-p.r,v=r.height-p.t-p.b,g="v"===h("orientation"),y=h("thicknessmode");h("thickness","fraction"===y?30/(g?d:v):30);var m=h("lenmode");h("len","fraction"===m?1:g?v:d),h("x",g?1.02:.5),h("xanchor",g?"left":"center"),h("xpad"),h("y",g?.5:1.02),h("yanchor",g?"middle":"bottom"),h("ypad"),n.noneOrAll(f,c,["x","y"]),h("outlinecolor"),h("outlinewidth"),h("bordercolor"),h("borderwidth"),h("bgcolor");var x=n.coerce(f,c,{ticklabelposition:{valType:"enumerated",dflt:"outside",values:g?["outside","inside","outside top","inside top","outside bottom","inside bottom"]:["outside","inside","outside left","inside left","outside right","inside right"]}},"ticklabelposition");h("ticklabeloverflow",-1!==x.indexOf("inside")?"hide past domain":"hide past div"),a(f,c,h,"linear");var b=r.font,_={outerTicks:!1,font:b};-1!==x.indexOf("inside")&&(_.bgColor="black"),l(f,c,h,"linear",_),s(f,c,h,"linear",_),o(f,c,h,"linear",_),h("title.text",r._dfltTitle.colorbar);var w=c.tickfont,T=n.extendFlat({},w,{color:b.color,size:n.bigFont(w.size)});n.coerceFont(h,"title.font",T),h("title.side",g?"top":"right")}},98981:function(t,e,r){"use strict";var n=r(39898),i=r(84267),a=r(74875),o=r(73972),s=r(89298),l=r(28569),u=r(71828),c=u.strTranslate,f=r(1426).extendFlat,h=r(6964),p=r(91424),d=r(7901),v=r(92998),g=r(63893),y=r(52075).flipScale,m=r(71453),x=r(52830),b=r(13838),_=r(18783),w=_.LINE_SPACING,T=_.FROM_TL,k=_.FROM_BR,A=r(30939).cn;t.exports={draw:function(t){var e=t._fullLayout._infolayer.selectAll("g."+A.colorbar).data(function(t){var e,r,n,i,a=t._fullLayout,o=t.calcdata,s=[];function l(t){return f(t,{_fillcolor:null,_line:{color:null,width:null,dash:null},_levels:{start:null,end:null,size:null},_filllevels:null,_fillgradient:null,_zrange:null})}function u(){"function"==typeof i.calc?i.calc(t,n,e):(e._fillgradient=r.reversescale?y(r.colorscale):r.colorscale,e._zrange=[r[i.min],r[i.max]])}for(var c=0;c<o.length;c++){var h=o[c],p=(n=h[0].trace)._module.colorbar;if(!0===n.visible&&p)for(var d=Array.isArray(p),v=d?p:[p],g=0;g<v.length;g++){var m=(i=v[g]).container;(r=m?n[m]:n)&&r.showscale&&((e=l(r.colorbar))._id="cb"+n.uid+(d&&m?"-"+m:""),e._traceIndex=n.index,e._propPrefix=(m?m+".":"")+"colorbar.",e._meta=n._meta,u(),s.push(e))}}for(var x in a._colorAxes)if((r=a[x]).showscale){var b=a._colorAxes[x];(e=l(r.colorbar))._id="cb"+x,e._propPrefix=x+".colorbar.",e._meta=a._meta,i={min:"cmin",max:"cmax"},"heatmap"!==b[0]&&(n=b[1],i.calc=n._module.colorbar.calc),u(),s.push(e)}return s}(t),(function(t){return t._id}));e.enter().append("g").attr("class",(function(t){return t._id})).classed(A.colorbar,!0),e.each((function(e){var r=n.select(this);u.ensureSingle(r,"rect",A.cbbg),u.ensureSingle(r,"g",A.cbfills),u.ensureSingle(r,"g",A.cblines),u.ensureSingle(r,"g",A.cbaxis,(function(t){t.classed(A.crisp,!0)})),u.ensureSingle(r,"g",A.cbtitleunshift,(function(t){t.append("g").classed(A.cbtitle,!0)})),u.ensureSingle(r,"rect",A.cboutline);var y=function(t,e,r){var o="v"===e.orientation,l=e.len,h=e.lenmode,y=e.thickness,_=e.thicknessmode,M=e.outlinewidth,S=e.borderwidth,E=e.bgcolor,L=e.xanchor,C=e.yanchor,P=e.xpad,O=e.ypad,I=e.x,D=o?e.y:1-e.y,z=r._fullLayout,R=z._size,F=e._fillcolor,B=e._line,N=e.title,j=N.side,U=e._zrange||n.extent(("function"==typeof F?F:B.color).domain()),V="function"==typeof B.color?B.color:function(){return B.color},H="function"==typeof F?F:function(){return F},q=e._levels,G=function(t,e,r){var n,i,a=e._levels,o=[],s=[],l=a.end+a.size/100,u=a.size,c=1.001*r[0]-.001*r[1],f=1.001*r[1]-.001*r[0];for(i=0;i<1e5&&(n=a.start+i*u,!(u>0?n>=l:n<=l));i++)n>c&&n<f&&o.push(n);if(e._fillgradient)s=[0];else if("function"==typeof e._fillcolor){var h=e._filllevels;if(h)for(l=h.end+h.size/100,u=h.size,i=0;i<1e5&&(n=h.start+i*u,!(u>0?n>=l:n<=l));i++)n>r[0]&&n<r[1]&&s.push(n);else(s=o.map((function(t){return t-a.size/2}))).push(s[s.length-1]+a.size)}else e._fillcolor&&"string"==typeof e._fillcolor&&(s=[0]);return a.size<0&&(o.reverse(),s.reverse()),{line:o,fill:s}}(0,e,U),Z=G.fill,Y=G.line,W=Math.round(y*("fraction"===_?o?R.w:R.h:1)),X=W/(o?R.w:R.h),J=Math.round(l*("fraction"===h?o?R.h:R.w:1)),K=J/(o?R.h:R.w),$=Math.round(o?I*R.w+P:D*R.h+O),Q={center:.5,right:1}[L]||0,tt={top:1,middle:.5}[C]||0,et=o?I-Q*X:D-tt*X,rt=o?D-tt*K:I-Q*K,nt=Math.round(o?R.h*(1-rt):R.w*rt);e._lenFrac=K,e._thickFrac=X,e._uFrac=et,e._vFrac=rt;var it=e._axis=function(t,e,r){var n=t._fullLayout,i="v"===e.orientation,a={type:"linear",range:r,tickmode:e.tickmode,nticks:e.nticks,tick0:e.tick0,dtick:e.dtick,tickvals:e.tickvals,ticktext:e.ticktext,ticks:e.ticks,ticklen:e.ticklen,tickwidth:e.tickwidth,tickcolor:e.tickcolor,showticklabels:e.showticklabels,ticklabelposition:e.ticklabelposition,ticklabeloverflow:e.ticklabeloverflow,ticklabelstep:e.ticklabelstep,tickfont:e.tickfont,tickangle:e.tickangle,tickformat:e.tickformat,exponentformat:e.exponentformat,minexponent:e.minexponent,separatethousands:e.separatethousands,showexponent:e.showexponent,showtickprefix:e.showtickprefix,tickprefix:e.tickprefix,showticksuffix:e.showticksuffix,ticksuffix:e.ticksuffix,title:e.title,showline:!0,anchor:"free",side:i?"right":"bottom",position:1},o=i?"y":"x",s={type:"linear",_id:o+e._id},l={letter:o,font:n.font,noHover:!0,noTickson:!0,noTicklabelmode:!0,calendar:n.calendar};function c(t,e){return u.coerce(a,s,b,t,e)}return m(a,s,c,l,n),x(a,s,c,l),s}(r,e,U);it.position=X+(o?I+P/R.w:D+O/R.h);var at=-1!==["top","bottom"].indexOf(j);if(o&&at&&(it.title.side=j,it.titlex=I+P/R.w,it.titley=rt+("top"===N.side?K-O/R.h:O/R.h)),o||at||(it.title.side=j,it.titley=D+O/R.h,it.titlex=rt+P/R.w),B.color&&"auto"===e.tickmode){it.tickmode="linear",it.tick0=q.start;var ot=q.size,st=u.constrain(J/50,4,15)+1,lt=(U[1]-U[0])/((e.nticks||st)*ot);if(lt>1){var ut=Math.pow(10,Math.floor(Math.log(lt)/Math.LN10));ot*=ut*u.roundUp(lt/ut,[2,5,10]),(Math.abs(q.start)/q.size+1e-6)%1<2e-6&&(it.tick0=0)}it.dtick=ot}it.domain=o?[rt+O/R.h,rt+K-O/R.h]:[rt+P/R.w,rt+K-P/R.w],it.setScale(),t.attr("transform",c(Math.round(R.l),Math.round(R.t)));var ct,ft=t.select("."+A.cbtitleunshift).attr("transform",c(-Math.round(R.l),-Math.round(R.t))),ht=it.ticklabelposition,pt=it.title.font.size,dt=t.select("."+A.cbaxis),vt=0,gt=0;function yt(n,i){var a={propContainer:it,propName:e._propPrefix+"title",traceIndex:e._traceIndex,_meta:e._meta,placeholder:z._dfltTitle.colorbar,containerGroup:t.select("."+A.cbtitle)},o="h"===n.charAt(0)?n.substr(1):"h"+n;t.selectAll("."+o+",."+o+"-math-group").remove(),v.draw(r,n,f(a,i||{}))}return u.syncOrAsync([a.previousPromises,function(){var t,e;(o&&at||!o&&!at)&&("top"===j&&(t=P+R.l+R.w*I,e=O+R.t+R.h*(1-rt-K)+3+.75*pt),"bottom"===j&&(t=P+R.l+R.w*I,e=O+R.t+R.h*(1-rt)-3-.25*pt),"right"===j&&(e=O+R.t+R.h*D+3+.75*pt,t=P+R.l+R.w*rt),yt(it._id+"title",{attributes:{x:t,y:e,"text-anchor":o?"start":"middle"}}))},function(){if(!o&&!at||o&&at){var a,l=t.select("."+A.cbtitle),f=l.select("text"),h=[-M/2,M/2],d=l.select(".h"+it._id+"title-math-group").node(),v=15.6;if(f.node()&&(v=parseInt(f.node().style.fontSize,10)*w),d?(a=p.bBox(d),gt=a.width,(vt=a.height)>v&&(h[1]-=(vt-v)/2)):f.node()&&!f.classed(A.jsPlaceholder)&&(a=p.bBox(f.node()),gt=a.width,vt=a.height),o){if(vt){if(vt+=5,"top"===j)it.domain[1]-=vt/R.h,h[1]*=-1;else{it.domain[0]+=vt/R.h;var y=g.lineCount(f);h[1]+=(1-y)*v}l.attr("transform",c(h[0],h[1])),it.setScale()}}else gt&&("right"===j&&(it.domain[0]+=(gt+pt/2)/R.w),l.attr("transform",c(h[0],h[1])),it.setScale())}t.selectAll("."+A.cbfills+",."+A.cblines).attr("transform",o?c(0,Math.round(R.h*(1-it.domain[1]))):c(Math.round(R.w*it.domain[0]),0)),dt.attr("transform",o?c(0,Math.round(-R.t)):c(Math.round(-R.l),0));var m=t.select("."+A.cbfills).selectAll("rect."+A.cbfill).attr("style","").data(Z);m.enter().append("rect").classed(A.cbfill,!0).style("stroke","none"),m.exit().remove();var x=U.map(it.c2p).map(Math.round).sort((function(t,e){return t-e}));m.each((function(t,a){var s=[0===a?U[0]:(Z[a]+Z[a-1])/2,a===Z.length-1?U[1]:(Z[a]+Z[a+1])/2].map(it.c2p).map(Math.round);o&&(s[1]=u.constrain(s[1]+(s[1]>s[0])?1:-1,x[0],x[1]));var l=n.select(this).attr(o?"x":"y",$).attr(o?"y":"x",n.min(s)).attr(o?"width":"height",Math.max(W,2)).attr(o?"height":"width",Math.max(n.max(s)-n.min(s),2));if(e._fillgradient)p.gradient(l,r,e._id,o?"vertical":"horizontalreversed",e._fillgradient,"fill");else{var c=H(t).replace("e-","");l.attr("fill",i(c).toHexString())}}));var b=t.select("."+A.cblines).selectAll("path."+A.cbline).data(B.color&&B.width?Y:[]);b.enter().append("path").classed(A.cbline,!0),b.exit().remove(),b.each((function(t){var e=$,r=Math.round(it.c2p(t))+B.width/2%1;n.select(this).attr("d","M"+(o?e+","+r:r+","+e)+(o?"h":"v")+W).call(p.lineGroupStyle,B.width,V(t),B.dash)})),dt.selectAll("g."+it._id+"tick,path").remove();var _=$+W+(M||0)/2-("outside"===e.ticks?1:0),T=s.calcTicks(it),k=s.getTickSigns(it)[2];return s.drawTicks(r,it,{vals:"inside"===it.ticks?s.clipEnds(it,T):T,layer:dt,path:s.makeTickPath(it,_,k),transFn:s.makeTransTickFn(it)}),s.drawLabels(r,it,{vals:T,layer:dt,transFn:s.makeTransTickLabelFn(it),labelFns:s.makeLabelFns(it,_)})},function(){if(o&&!at||!o&&at){var t,i,a=it.position||0,s=it._offset+it._length/2;if("right"===j)i=s,t=R.l+R.w*a+10+pt*(it.showticklabels?1:.5);else if(t=s,"bottom"===j&&(i=R.t+R.h*a+10+(-1===ht.indexOf("inside")?it.tickfont.size:0)+("intside"!==it.ticks&&e.ticklen||0)),"top"===j){var l=N.text.split("<br>").length;i=R.t+R.h*a+10-W-w*pt*l}yt((o?"h":"v")+it._id+"title",{avoid:{selection:n.select(r).selectAll("g."+it._id+"tick"),side:j,offsetTop:o?0:R.t,offsetLeft:o?R.l:0,maxShift:o?z.width:z.height},attributes:{x:t,y:i,"text-anchor":"middle"},transform:{rotate:o?-90:0,offset:0}})}},a.previousPromises,function(){var n,s=W+M/2;-1===ht.indexOf("inside")&&(n=p.bBox(dt.node()),s+=o?n.width:n.height),ct=ft.select("text");var u=0,f=o&&"top"===j,v=!o&&"right"===j,g=0;if(ct.node()&&!ct.classed(A.jsPlaceholder)){var m,x=ft.select(".h"+it._id+"title-math-group").node();x&&(o&&at||!o&&!at)?(u=(n=p.bBox(x)).width,m=n.height):(u=(n=p.bBox(ft.node())).right-R.l-(o?$:nt),m=n.bottom-R.t-(o?nt:$),o||"top"!==j||(s+=n.height,g=n.height)),v&&(ct.attr("transform",c(u/2+pt/2,0)),u*=2),s=Math.max(s,o?u:m)}var b=2*(o?P:O)+s+S+M/2,w=0;!o&&N.text&&"bottom"===C&&D<=0&&(b+=w=b/2,g+=w),z._hColorbarMoveTitle=w,z._hColorbarMoveCBTitle=g;var F=S+M;t.select("."+A.cbbg).attr("x",(o?$:nt)-F/2-(o?P:0)).attr("y",(o?nt:$)-(o?J:O+g-w)).attr(o?"width":"height",Math.max(b-w,2)).attr(o?"height":"width",Math.max(J+F,2)).call(d.fill,E).call(d.stroke,e.bordercolor).style("stroke-width",S);var B=v?Math.max(u-10,0):0;if(t.selectAll("."+A.cboutline).attr("x",(o?$:nt+P)+B).attr("y",(o?nt+O-J:$)+(f?vt:0)).attr(o?"width":"height",Math.max(W,2)).attr(o?"height":"width",Math.max(J-(o?2*O+vt:2*P+B),2)).call(d.stroke,e.outlinecolor).style({fill:"none","stroke-width":M}),t.attr("transform",c(R.l-(o?Q*b:0),R.t-(o?0:(1-tt)*b-g))),!o&&(S||i(E).getAlpha()&&!i.equals(z.paper_bgcolor,E))){var U=dt.selectAll("text"),V=U[0].length,H=t.select("."+A.cbbg).node(),q=p.bBox(H),G=p.getTranslate(t);U.each((function(t,e){var r=V-1;if(0===e||e===r){var n,i=p.bBox(this),a=p.getTranslate(this);if(e===r){var o=i.right+a.x;(n=q.right+G.x+nt-S-2+I-o)>0&&(n=0)}else if(0===e){var s=i.left+a.x;(n=q.left+G.x+nt+S+2-s)<0&&(n=0)}n&&(V<3?this.setAttribute("transform","translate("+n+",0) "+this.getAttribute("transform")):this.setAttribute("visibility","hidden"))}}))}var Z={},Y=T[L],X=k[L],K=T[C],et=k[C],rt=b-W;o?("pixels"===h?(Z.y=D,Z.t=J*K,Z.b=J*et):(Z.t=Z.b=0,Z.yt=D+l*K,Z.yb=D-l*et),"pixels"===_?(Z.x=I,Z.l=b*Y,Z.r=b*X):(Z.l=rt*Y,Z.r=rt*X,Z.xl=I-y*Y,Z.xr=I+y*X)):("pixels"===h?(Z.x=I,Z.l=J*Y,Z.r=J*X):(Z.l=Z.r=0,Z.xl=I+l*Y,Z.xr=I-l*X),"pixels"===_?(Z.y=1-D,Z.t=b*K,Z.b=b*et):(Z.t=rt*K,Z.b=rt*et,Z.yt=D-y*K,Z.yb=D+y*et)),a.autoMargin(r,e._id,Z)}],r)}(r,e,t);y&&y.then&&(t._promises||[]).push(y),t._context.edits.colorbarPosition&&function(t,e,r){var n,i,a,s="v"===e.orientation,u=r._fullLayout._size;l.init({element:t.node(),gd:r,prepFn:function(){n=t.attr("transform"),h(t)},moveFn:function(r,o){t.attr("transform",n+c(r,o)),i=l.align((s?e._uFrac:e._vFrac)+r/u.w,s?e._thickFrac:e._lenFrac,0,1,e.xanchor),a=l.align((s?e._vFrac:1-e._uFrac)-o/u.h,s?e._lenFrac:e._thickFrac,0,1,e.yanchor);var f=l.getCursor(i,a,e.xanchor,e.yanchor);h(t,f)},doneFn:function(){if(h(t),void 0!==i&&void 0!==a){var n={};n[e._propPrefix+"x"]=i,n[e._propPrefix+"y"]=a,void 0!==e._traceIndex?o.call("_guiRestyle",r,n,e._traceIndex):o.call("_guiRelayout",r,n)}}})}(r,e,t)})),e.exit().each((function(e){a.autoMargin(t,e._id)})).remove(),e.order()}}},76228:function(t,e,r){"use strict";var n=r(71828);t.exports=function(t){return n.isPlainObject(t.colorbar)}},12311:function(t,e,r){"use strict";t.exports={moduleType:"component",name:"colorbar",attributes:r(63583),supplyDefaults:r(62499),draw:r(98981).draw,hasColorbar:r(76228)}},50693:function(t,e,r){"use strict";var n=r(63583),i=r(30587).counter,a=r(78607),o=r(63282).scales;function s(t){return"`"+t+"`"}a(o),t.exports=function(t,e){t=t||"";var r,a=(e=e||{}).cLetter||"c",l=("onlyIfNumerical"in e?e.onlyIfNumerical:Boolean(t),"noScale"in e?e.noScale:"marker.line"===t),u="showScaleDflt"in e?e.showScaleDflt:"z"===a,c="string"==typeof e.colorscaleDflt?o[e.colorscaleDflt]:null,f=e.editTypeOverride||"",h=t?t+".":"";"colorAttr"in e?(r=e.colorAttr,e.colorAttr):s(h+(r={z:"z",c:"color"}[a]));var p=a+"auto",d=a+"min",v=a+"max",g=a+"mid",y=(s(h+p),s(h+d),s(h+v),{});y[d]=y[v]=void 0;var m={};m[p]=!1;var x={};return"color"===r&&(x.color={valType:"color",arrayOk:!0,editType:f||"style"},e.anim&&(x.color.anim=!0)),x[p]={valType:"boolean",dflt:!0,editType:"calc",impliedEdits:y},x[d]={valType:"number",dflt:null,editType:f||"plot",impliedEdits:m},x[v]={valType:"number",dflt:null,editType:f||"plot",impliedEdits:m},x[g]={valType:"number",dflt:null,editType:"calc",impliedEdits:y},x.colorscale={valType:"colorscale",editType:"calc",dflt:c,impliedEdits:{autocolorscale:!1}},x.autocolorscale={valType:"boolean",dflt:!1!==e.autoColorDflt,editType:"calc",impliedEdits:{colorscale:void 0}},x.reversescale={valType:"boolean",dflt:!1,editType:"plot"},l||(x.showscale={valType:"boolean",dflt:u,editType:"calc"},x.colorbar=n),e.noColorAxis||(x.coloraxis={valType:"subplotid",regex:i("coloraxis"),dflt:null,editType:"calc"}),x}},78803:function(t,e,r){"use strict";var n=r(92770),i=r(71828),a=r(52075).extractOpts;t.exports=function(t,e,r){var o,s=t._fullLayout,l=r.vals,u=r.containerStr,c=u?i.nestedProperty(e,u).get():e,f=a(c),h=!1!==f.auto,p=f.min,d=f.max,v=f.mid,g=function(){return i.aggNums(Math.min,null,l)},y=function(){return i.aggNums(Math.max,null,l)};void 0===p?p=g():h&&(p=c._colorAx&&n(p)?Math.min(p,g()):g()),void 0===d?d=y():h&&(d=c._colorAx&&n(d)?Math.max(d,y()):y()),h&&void 0!==v&&(d-v>v-p?p=v-(d-v):d-v<v-p&&(d=v+(v-p))),p===d&&(p-=.5,d+=.5),f._sync("min",p),f._sync("max",d),f.autocolorscale&&(o=p*d<0?s.colorscale.diverging:p>=0?s.colorscale.sequential:s.colorscale.sequentialminus,f._sync("colorscale",o))}},33046:function(t,e,r){"use strict";var n=r(71828),i=r(52075).hasColorscale,a=r(52075).extractOpts;t.exports=function(t,e){function r(t,e){var r=t["_"+e];void 0!==r&&(t[e]=r)}function o(t,i){var o=i.container?n.nestedProperty(t,i.container).get():t;if(o)if(o.coloraxis)o._colorAx=e[o.coloraxis];else{var s=a(o),l=s.auto;(l||void 0===s.min)&&r(o,i.min),(l||void 0===s.max)&&r(o,i.max),s.autocolorscale&&r(o,"colorscale")}}for(var s=0;s<t.length;s++){var l=t[s],u=l._module.colorbar;if(u)if(Array.isArray(u))for(var c=0;c<u.length;c++)o(l,u[c]);else o(l,u);i(l,"marker.line")&&o(l,{container:"marker.line",min:"cmin",max:"cmax"})}for(var f in e._colorAxes)o(e[f],{min:"cmin",max:"cmax"})}},1586:function(t,e,r){"use strict";var n=r(92770),i=r(71828),a=r(76228),o=r(62499),s=r(63282).isValid,l=r(73972).traceIs;function u(t,e){var r=e.slice(0,e.length-1);return e?i.nestedProperty(t,r).get()||{}:t}t.exports=function t(e,r,c,f,h){var p=h.prefix,d=h.cLetter,v="_module"in r,g=u(e,p),y=u(r,p),m=u(r._template||{},p)||{},x=function(){return delete e.coloraxis,delete r.coloraxis,t(e,r,c,f,h)};if(v){var b=c._colorAxes||{},_=f(p+"coloraxis");if(_){var w=l(r,"contour")&&i.nestedProperty(r,"contours.coloring").get()||"heatmap",T=b[_];return void(T?(T[2].push(x),T[0]!==w&&(T[0]=!1,i.warn(["Ignoring coloraxis:",_,"setting","as it is linked to incompatible colorscales."].join(" ")))):b[_]=[w,r,[x]])}}var k=g[d+"min"],A=g[d+"max"],M=n(k)&&n(A)&&k<A;f(p+d+"auto",!M)?f(p+d+"mid"):(f(p+d+"min"),f(p+d+"max"));var S,E,L=g.colorscale,C=m.colorscale;void 0!==L&&(S=!s(L)),void 0!==C&&(S=!s(C)),f(p+"autocolorscale",S),f(p+"colorscale"),f(p+"reversescale"),"marker.line."!==p&&(p&&v&&(E=a(g)),f(p+"showscale",E)&&(p&&m&&(y._template=m),o(g,y,c)))}},52075:function(t,e,r){"use strict";var n=r(39898),i=r(84267),a=r(92770),o=r(71828),s=r(7901),l=r(63282).isValid,u=["showscale","autocolorscale","colorscale","reversescale","colorbar"],c=["min","max","mid","auto"];function f(t){var e,r,n,i=t._colorAx,a=i||t,o={};for(r=0;r<u.length;r++)o[n=u[r]]=a[n];if(i)for(e="c",r=0;r<c.length;r++)o[n=c[r]]=a["c"+n];else{var s;for(r=0;r<c.length;r++)((s="c"+(n=c[r]))in a||(s="z"+n)in a)&&(o[n]=a[s]);e=s.charAt(0)}return o._sync=function(t,r){var n=-1!==c.indexOf(t)?e+t:t;a[n]=a["_"+n]=r},o}function h(t){for(var e=f(t),r=e.min,n=e.max,i=e.reversescale?p(e.colorscale):e.colorscale,a=i.length,o=new Array(a),s=new Array(a),l=0;l<a;l++){var u=i[l];o[l]=r+u[0]*(n-r),s[l]=u[1]}return{domain:o,range:s}}function p(t){for(var e=t.length,r=new Array(e),n=e-1,i=0;n>=0;n--,i++){var a=t[n];r[i]=[1-a[0],a[1]]}return r}function d(t,e){e=e||{};for(var r=t.domain,o=t.range,l=o.length,u=new Array(l),c=0;c<l;c++){var f=i(o[c]).toRgb();u[c]=[f.r,f.g,f.b,f.a]}var h,p=n.scale.linear().domain(r).range(u).clamp(!0),d=e.noNumericCheck,g=e.returnArray;return(h=d&&g?p:d?function(t){return v(p(t))}:g?function(t){return a(t)?p(t):i(t).isValid()?t:s.defaultLine}:function(t){return a(t)?v(p(t)):i(t).isValid()?t:s.defaultLine}).domain=p.domain,h.range=function(){return o},h}function v(t){var e={r:t[0],g:t[1],b:t[2],a:t[3]};return i(e).toRgbString()}t.exports={hasColorscale:function(t,e,r){var n=e?o.nestedProperty(t,e).get()||{}:t,i=n[r||"color"],s=!1;if(o.isArrayOrTypedArray(i))for(var u=0;u<i.length;u++)if(a(i[u])){s=!0;break}return o.isPlainObject(n)&&(s||!0===n.showscale||a(n.cmin)&&a(n.cmax)||l(n.colorscale)||o.isPlainObject(n.colorbar))},extractOpts:f,extractScale:h,flipScale:p,makeColorScaleFunc:d,makeColorScaleFuncFromTrace:function(t,e){return d(h(t),e)}}},21081:function(t,e,r){"use strict";var n=r(63282),i=r(52075);t.exports={moduleType:"component",name:"colorscale",attributes:r(50693),layoutAttributes:r(72673),supplyLayoutDefaults:r(30959),handleDefaults:r(1586),crossTraceDefaults:r(33046),calc:r(78803),scales:n.scales,defaultScale:n.defaultScale,getScale:n.get,isValidScale:n.isValid,hasColorscale:i.hasColorscale,extractOpts:i.extractOpts,extractScale:i.extractScale,flipScale:i.flipScale,makeColorScaleFunc:i.makeColorScaleFunc,makeColorScaleFuncFromTrace:i.makeColorScaleFuncFromTrace}},72673:function(t,e,r){"use strict";var n=r(1426).extendFlat,i=r(50693),a=r(63282).scales;t.exports={editType:"calc",colorscale:{editType:"calc",sequential:{valType:"colorscale",dflt:a.Reds,editType:"calc"},sequentialminus:{valType:"colorscale",dflt:a.Blues,editType:"calc"},diverging:{valType:"colorscale",dflt:a.RdBu,editType:"calc"}},coloraxis:n({_isSubplotObj:!0,editType:"calc"},i("",{colorAttr:"corresponding trace color array(s)",noColorAxis:!0,showScaleDflt:!0}))}},30959:function(t,e,r){"use strict";var n=r(71828),i=r(44467),a=r(72673),o=r(1586);t.exports=function(t,e){function r(r,i){return n.coerce(t,e,a,r,i)}r("colorscale.sequential"),r("colorscale.sequentialminus"),r("colorscale.diverging");var s,l,u=e._colorAxes;function c(t,e){return n.coerce(s,l,a.coloraxis,t,e)}for(var f in u){var h=u[f];if(h[0])s=t[f]||{},(l=i.newContainer(e,f,"coloraxis"))._name=f,o(s,l,e,c,{prefix:"",cLetter:"c"});else{for(var p=0;p<h[2].length;p++)h[2][p]();delete e._colorAxes[f]}}}},63282:function(t,e,r){"use strict";var n=r(84267),i={Greys:[[0,"rgb(0,0,0)"],[1,"rgb(255,255,255)"]],YlGnBu:[[0,"rgb(8,29,88)"],[.125,"rgb(37,52,148)"],[.25,"rgb(34,94,168)"],[.375,"rgb(29,145,192)"],[.5,"rgb(65,182,196)"],[.625,"rgb(127,205,187)"],[.75,"rgb(199,233,180)"],[.875,"rgb(237,248,217)"],[1,"rgb(255,255,217)"]],Greens:[[0,"rgb(0,68,27)"],[.125,"rgb(0,109,44)"],[.25,"rgb(35,139,69)"],[.375,"rgb(65,171,93)"],[.5,"rgb(116,196,118)"],[.625,"rgb(161,217,155)"],[.75,"rgb(199,233,192)"],[.875,"rgb(229,245,224)"],[1,"rgb(247,252,245)"]],YlOrRd:[[0,"rgb(128,0,38)"],[.125,"rgb(189,0,38)"],[.25,"rgb(227,26,28)"],[.375,"rgb(252,78,42)"],[.5,"rgb(253,141,60)"],[.625,"rgb(254,178,76)"],[.75,"rgb(254,217,118)"],[.875,"rgb(255,237,160)"],[1,"rgb(255,255,204)"]],Bluered:[[0,"rgb(0,0,255)"],[1,"rgb(255,0,0)"]],RdBu:[[0,"rgb(5,10,172)"],[.35,"rgb(106,137,247)"],[.5,"rgb(190,190,190)"],[.6,"rgb(220,170,132)"],[.7,"rgb(230,145,90)"],[1,"rgb(178,10,28)"]],Reds:[[0,"rgb(220,220,220)"],[.2,"rgb(245,195,157)"],[.4,"rgb(245,160,105)"],[1,"rgb(178,10,28)"]],Blues:[[0,"rgb(5,10,172)"],[.35,"rgb(40,60,190)"],[.5,"rgb(70,100,245)"],[.6,"rgb(90,120,245)"],[.7,"rgb(106,137,247)"],[1,"rgb(220,220,220)"]],Picnic:[[0,"rgb(0,0,255)"],[.1,"rgb(51,153,255)"],[.2,"rgb(102,204,255)"],[.3,"rgb(153,204,255)"],[.4,"rgb(204,204,255)"],[.5,"rgb(255,255,255)"],[.6,"rgb(255,204,255)"],[.7,"rgb(255,153,255)"],[.8,"rgb(255,102,204)"],[.9,"rgb(255,102,102)"],[1,"rgb(255,0,0)"]],Rainbow:[[0,"rgb(150,0,90)"],[.125,"rgb(0,0,200)"],[.25,"rgb(0,25,255)"],[.375,"rgb(0,152,255)"],[.5,"rgb(44,255,150)"],[.625,"rgb(151,255,0)"],[.75,"rgb(255,234,0)"],[.875,"rgb(255,111,0)"],[1,"rgb(255,0,0)"]],Portland:[[0,"rgb(12,51,131)"],[.25,"rgb(10,136,186)"],[.5,"rgb(242,211,56)"],[.75,"rgb(242,143,56)"],[1,"rgb(217,30,30)"]],Jet:[[0,"rgb(0,0,131)"],[.125,"rgb(0,60,170)"],[.375,"rgb(5,255,255)"],[.625,"rgb(255,255,0)"],[.875,"rgb(250,0,0)"],[1,"rgb(128,0,0)"]],Hot:[[0,"rgb(0,0,0)"],[.3,"rgb(230,0,0)"],[.6,"rgb(255,210,0)"],[1,"rgb(255,255,255)"]],Blackbody:[[0,"rgb(0,0,0)"],[.2,"rgb(230,0,0)"],[.4,"rgb(230,210,0)"],[.7,"rgb(255,255,255)"],[1,"rgb(160,200,255)"]],Earth:[[0,"rgb(0,0,130)"],[.1,"rgb(0,180,180)"],[.2,"rgb(40,210,40)"],[.4,"rgb(230,230,50)"],[.6,"rgb(120,70,20)"],[1,"rgb(255,255,255)"]],Electric:[[0,"rgb(0,0,0)"],[.15,"rgb(30,0,100)"],[.4,"rgb(120,0,100)"],[.6,"rgb(160,90,0)"],[.8,"rgb(230,200,0)"],[1,"rgb(255,250,220)"]],Viridis:[[0,"#440154"],[.06274509803921569,"#48186a"],[.12549019607843137,"#472d7b"],[.18823529411764706,"#424086"],[.25098039215686274,"#3b528b"],[.3137254901960784,"#33638d"],[.3764705882352941,"#2c728e"],[.4392156862745098,"#26828e"],[.5019607843137255,"#21918c"],[.5647058823529412,"#1fa088"],[.6274509803921569,"#28ae80"],[.6901960784313725,"#3fbc73"],[.7529411764705882,"#5ec962"],[.8156862745098039,"#84d44b"],[.8784313725490196,"#addc30"],[.9411764705882353,"#d8e219"],[1,"#fde725"]],Cividis:[[0,"rgb(0,32,76)"],[.058824,"rgb(0,42,102)"],[.117647,"rgb(0,52,110)"],[.176471,"rgb(39,63,108)"],[.235294,"rgb(60,74,107)"],[.294118,"rgb(76,85,107)"],[.352941,"rgb(91,95,109)"],[.411765,"rgb(104,106,112)"],[.470588,"rgb(117,117,117)"],[.529412,"rgb(131,129,120)"],[.588235,"rgb(146,140,120)"],[.647059,"rgb(161,152,118)"],[.705882,"rgb(176,165,114)"],[.764706,"rgb(192,177,109)"],[.823529,"rgb(209,191,102)"],[.882353,"rgb(225,204,92)"],[.941176,"rgb(243,219,79)"],[1,"rgb(255,233,69)"]]},a=i.RdBu;function o(t){var e=0;if(!Array.isArray(t)||t.length<2)return!1;if(!t[0]||!t[t.length-1])return!1;if(0!=+t[0][0]||1!=+t[t.length-1][0])return!1;for(var r=0;r<t.length;r++){var i=t[r];if(2!==i.length||+i[0]<e||!n(i[1]).isValid())return!1;e=+i[0]}return!0}t.exports={scales:i,defaultScale:a,get:function(t,e){if(e||(e=a),!t)return e;function r(){try{t=i[t]||JSON.parse(t)}catch(r){t=e}}return"string"==typeof t&&(r(),"string"==typeof t&&r()),o(t)?t:e},isValid:function(t){return void 0!==i[t]||o(t)}}},92807:function(t){"use strict";t.exports=function(t,e,r,n,i){var a=(t-r)/(n-r),o=a+e/(n-r),s=(a+o)/2;return"left"===i||"bottom"===i?a:"center"===i||"middle"===i?s:"right"===i||"top"===i?o:a<2/3-s?a:o>4/3-s?o:s}},70461:function(t,e,r){"use strict";var n=r(71828),i=[["sw-resize","s-resize","se-resize"],["w-resize","move","e-resize"],["nw-resize","n-resize","ne-resize"]];t.exports=function(t,e,r,a){return t="left"===r?0:"center"===r?1:"right"===r?2:n.constrain(Math.floor(3*t),0,2),e="bottom"===a?0:"middle"===a?1:"top"===a?2:n.constrain(Math.floor(3*e),0,2),i[e][t]}},64505:function(t,e){"use strict";e.selectMode=function(t){return"lasso"===t||"select"===t},e.drawMode=function(t){return"drawclosedpath"===t||"drawopenpath"===t||"drawline"===t||"drawrect"===t||"drawcircle"===t},e.openMode=function(t){return"drawline"===t||"drawopenpath"===t},e.rectMode=function(t){return"select"===t||"drawline"===t||"drawrect"===t||"drawcircle"===t},e.freeMode=function(t){return"lasso"===t||"drawclosedpath"===t||"drawopenpath"===t},e.selectingOrDrawing=function(t){return e.freeMode(t)||e.rectMode(t)}},28569:function(t,e,r){"use strict";var n=r(48956),i=r(57035),a=r(38520),o=r(71828).removeElement,s=r(85555),l=t.exports={};l.align=r(92807),l.getCursor=r(70461);var u=r(26041);function c(){var t=document.createElement("div");t.className="dragcover";var e=t.style;return e.position="fixed",e.left=0,e.right=0,e.top=0,e.bottom=0,e.zIndex=999999999,e.background="none",document.body.appendChild(t),t}function f(t){return n(t.changedTouches?t.changedTouches[0]:t,document.body)}l.unhover=u.wrapped,l.unhoverRaw=u.raw,l.init=function(t){var e,r,n,u,h,p,d,v,g=t.gd,y=1,m=g._context.doubleClickDelay,x=t.element;g._mouseDownTime||(g._mouseDownTime=0),x.style.pointerEvents="all",x.onmousedown=_,a?(x._ontouchstart&&x.removeEventListener("touchstart",x._ontouchstart),x._ontouchstart=_,x.addEventListener("touchstart",_,{passive:!1})):x.ontouchstart=_;var b=t.clampFn||function(t,e,r){return Math.abs(t)<r&&(t=0),Math.abs(e)<r&&(e=0),[t,e]};function _(a){g._dragged=!1,g._dragging=!0;var o=f(a);e=o[0],r=o[1],d=a.target,p=a,v=2===a.buttons||a.ctrlKey,void 0===a.clientX&&void 0===a.clientY&&(a.clientX=e,a.clientY=r),(n=(new Date).getTime())-g._mouseDownTime<m?y+=1:(y=1,g._mouseDownTime=n),t.prepFn&&t.prepFn(a,e,r),i&&!v?(h=c()).style.cursor=window.getComputedStyle(x).cursor:i||(h=document,u=window.getComputedStyle(document.documentElement).cursor,document.documentElement.style.cursor=window.getComputedStyle(x).cursor),document.addEventListener("mouseup",T),document.addEventListener("touchend",T),!1!==t.dragmode&&(a.preventDefault(),document.addEventListener("mousemove",w),document.addEventListener("touchmove",w,{passive:!1}))}function w(n){n.preventDefault();var i=f(n),a=t.minDrag||s.MINDRAG,o=b(i[0]-e,i[1]-r,a),u=o[0],c=o[1];(u||c)&&(g._dragged=!0,l.unhover(g,n)),g._dragged&&t.moveFn&&!v&&(g._dragdata={element:x,dx:u,dy:c},t.moveFn(u,c))}function T(e){if(delete g._dragdata,!1!==t.dragmode&&(e.preventDefault(),document.removeEventListener("mousemove",w),document.removeEventListener("touchmove",w)),document.removeEventListener("mouseup",T),document.removeEventListener("touchend",T),i?o(h):u&&(h.documentElement.style.cursor=u,u=null),g._dragging){if(g._dragging=!1,(new Date).getTime()-g._mouseDownTime>m&&(y=Math.max(y-1,1)),g._dragged)t.doneFn&&t.doneFn();else if(t.clickFn&&t.clickFn(y,p),!v){var r;try{r=new MouseEvent("click",e)}catch(t){var n=f(e);(r=document.createEvent("MouseEvents")).initMouseEvent("click",e.bubbles,e.cancelable,e.view,e.detail,e.screenX,e.screenY,n[0],n[1],e.ctrlKey,e.altKey,e.shiftKey,e.metaKey,e.button,e.relatedTarget)}d.dispatchEvent(r)}g._dragging=!1,g._dragged=!1}else g._dragged=!1}},l.coverSlip=c},26041:function(t,e,r){"use strict";var n=r(11086),i=r(79990),a=r(24401).getGraphDiv,o=r(26675),s=t.exports={};s.wrapped=function(t,e,r){(t=a(t))._fullLayout&&i.clear(t._fullLayout._uid+o.HOVERID),s.raw(t,e,r)},s.raw=function(t,e){var r=t._fullLayout,i=t._hoverdata;e||(e={}),e.target&&!t._dragged&&!1===n.triggerHandler(t,"plotly_beforehover",e)||(r._hoverlayer.selectAll("g").remove(),r._hoverlayer.selectAll("line").remove(),r._hoverlayer.selectAll("circle").remove(),t._hoverdata=void 0,e.target&&i&&t.emit("plotly_unhover",{event:e,points:i}))}},79952:function(t,e){"use strict";e.P={valType:"string",values:["solid","dot","dash","longdash","dashdot","longdashdot"],dflt:"solid",editType:"style"},e.u={shape:{valType:"enumerated",values:["","/","\\","x","-","|","+","."],dflt:"",arrayOk:!0,editType:"style"},fillmode:{valType:"enumerated",values:["replace","overlay"],dflt:"replace",editType:"style"},bgcolor:{valType:"color",arrayOk:!0,editType:"style"},fgcolor:{valType:"color",arrayOk:!0,editType:"style"},fgopacity:{valType:"number",editType:"style",min:0,max:1},size:{valType:"number",min:0,dflt:8,arrayOk:!0,editType:"style"},solidity:{valType:"number",min:0,max:1,dflt:.3,arrayOk:!0,editType:"style"},editType:"style"}},91424:function(t,e,r){"use strict";var n=r(39898),i=r(71828),a=i.numberFormat,o=r(92770),s=r(84267),l=r(73972),u=r(7901),c=r(21081),f=i.strTranslate,h=r(63893),p=r(77922),d=r(18783).LINE_SPACING,v=r(37822).DESELECTDIM,g=r(34098),y=r(39984),m=r(23469).appendArrayPointValue,x=t.exports={};function b(t,e,r){var n=e.fillpattern,i=n&&x.getPatternAttr(n.shape,0,"");if(i){var a=x.getPatternAttr(n.bgcolor,0,null),o=x.getPatternAttr(n.fgcolor,0,null),s=n.fgopacity,l=x.getPatternAttr(n.size,0,8),c=x.getPatternAttr(n.solidity,0,.3),f=e.uid;x.pattern(t,"point",r,f,i,l,c,void 0,n.fillmode,a,o,s)}else e.fillcolor&&t.call(u.fill,e.fillcolor)}x.font=function(t,e,r,n){i.isPlainObject(e)&&(n=e.color,r=e.size,e=e.family),e&&t.style("font-family",e),r+1&&t.style("font-size",r+"px"),n&&t.call(u.fill,n)},x.setPosition=function(t,e,r){t.attr("x",e).attr("y",r)},x.setSize=function(t,e,r){t.attr("width",e).attr("height",r)},x.setRect=function(t,e,r,n,i){t.call(x.setPosition,e,r).call(x.setSize,n,i)},x.translatePoint=function(t,e,r,n){var i=r.c2p(t.x),a=n.c2p(t.y);return!!(o(i)&&o(a)&&e.node())&&("text"===e.node().nodeName?e.attr("x",i).attr("y",a):e.attr("transform",f(i,a)),!0)},x.translatePoints=function(t,e,r){t.each((function(t){var i=n.select(this);x.translatePoint(t,i,e,r)}))},x.hideOutsideRangePoint=function(t,e,r,n,i,a){e.attr("display",r.isPtWithinRange(t,i)&&n.isPtWithinRange(t,a)?null:"none")},x.hideOutsideRangePoints=function(t,e){if(e._hasClipOnAxisFalse){var r=e.xaxis,i=e.yaxis;t.each((function(e){var a=e[0].trace,o=a.xcalendar,s=a.ycalendar,u=l.traceIs(a,"bar-like")?".bartext":".point,.textpoint";t.selectAll(u).each((function(t){x.hideOutsideRangePoint(t,n.select(this),r,i,o,s)}))}))}},x.crispRound=function(t,e,r){return e&&o(e)?t._context.staticPlot?e:e<1?1:Math.round(e):r||0},x.singleLineStyle=function(t,e,r,n,i){e.style("fill","none");var a=(((t||[])[0]||{}).trace||{}).line||{},o=r||a.width||0,s=i||a.dash||"";u.stroke(e,n||a.color),x.dashLine(e,s,o)},x.lineGroupStyle=function(t,e,r,i){t.style("fill","none").each((function(t){var a=(((t||[])[0]||{}).trace||{}).line||{},o=e||a.width||0,s=i||a.dash||"";n.select(this).call(u.stroke,r||a.color).call(x.dashLine,s,o)}))},x.dashLine=function(t,e,r){r=+r||0,e=x.dashStyle(e,r),t.style({"stroke-dasharray":e,"stroke-width":r+"px"})},x.dashStyle=function(t,e){e=+e||1;var r=Math.max(e,3);return"solid"===t?t="":"dot"===t?t=r+"px,"+r+"px":"dash"===t?t=3*r+"px,"+3*r+"px":"longdash"===t?t=5*r+"px,"+5*r+"px":"dashdot"===t?t=3*r+"px,"+r+"px,"+r+"px,"+r+"px":"longdashdot"===t&&(t=5*r+"px,"+2*r+"px,"+r+"px,"+2*r+"px"),t},x.singleFillStyle=function(t,e){var r=n.select(t.node());b(t,((r.data()[0]||[])[0]||{}).trace||{},e)},x.fillGroupStyle=function(t,e){t.style("stroke-width",0).each((function(t){var r=n.select(this);t[0].trace&&b(r,t[0].trace,e)}))};var _=r(90998);x.symbolNames=[],x.symbolFuncs=[],x.symbolBackOffs=[],x.symbolNeedLines={},x.symbolNoDot={},x.symbolNoFill={},x.symbolList=[],Object.keys(_).forEach((function(t){var e=_[t],r=e.n;x.symbolList.push(r,String(r),t,r+100,String(r+100),t+"-open"),x.symbolNames[r]=t,x.symbolFuncs[r]=e.f,x.symbolBackOffs[r]=e.backoff||0,e.needLine&&(x.symbolNeedLines[r]=!0),e.noDot?x.symbolNoDot[r]=!0:x.symbolList.push(r+200,String(r+200),t+"-dot",r+300,String(r+300),t+"-open-dot"),e.noFill&&(x.symbolNoFill[r]=!0)}));var w=x.symbolNames.length;function T(t,e,r,n){var i=t%100;return x.symbolFuncs[i](e,r,n)+(t>=200?"M0,0.5L0.5,0L0,-0.5L-0.5,0Z":"")}x.symbolNumber=function(t){if(o(t))t=+t;else if("string"==typeof t){var e=0;t.indexOf("-open")>0&&(e=100,t=t.replace("-open","")),t.indexOf("-dot")>0&&(e+=200,t=t.replace("-dot","")),(t=x.symbolNames.indexOf(t))>=0&&(t+=e)}return t%100>=w||t>=400?0:Math.floor(Math.max(t,0))};var k={x1:1,x2:0,y1:0,y2:0},A={x1:0,x2:0,y1:1,y2:0},M=a("~f"),S={radial:{node:"radialGradient"},radialreversed:{node:"radialGradient",reversed:!0},horizontal:{node:"linearGradient",attrs:k},horizontalreversed:{node:"linearGradient",attrs:k,reversed:!0},vertical:{node:"linearGradient",attrs:A},verticalreversed:{node:"linearGradient",attrs:A,reversed:!0}};x.gradient=function(t,e,r,a,o,l){for(var c=o.length,f=S[a],h=new Array(c),p=0;p<c;p++)f.reversed?h[c-1-p]=[M(100*(1-o[p][0])),o[p][1]]:h[p]=[M(100*o[p][0]),o[p][1]];var d=e._fullLayout,v="g"+d._uid+"-"+r,g=d._defs.select(".gradients").selectAll("#"+v).data([a+h.join(";")],i.identity);g.exit().remove(),g.enter().append(f.node).each((function(){var t=n.select(this);f.attrs&&t.attr(f.attrs),t.attr("id",v);var e=t.selectAll("stop").data(h);e.exit().remove(),e.enter().append("stop"),e.each((function(t){var e=s(t[1]);n.select(this).attr({offset:t[0]+"%","stop-color":u.tinyRGB(e),"stop-opacity":e.getAlpha()})}))})),t.style(l,V(v,e)).style(l+"-opacity",null),t.classed("gradient_filled",!0)},x.pattern=function(t,e,r,a,o,l,c,f,h,p,d,v){var g="legend"===e;f&&("overlay"===h?(p=f,d=u.contrast(p)):(p=void 0,d=f));var y,m,x,b,_,w,T,k,A,M=r._fullLayout,S="p"+M._uid+"-"+a,E={},L=s(d),C=u.tinyRGB(L),P=v*L.getAlpha();switch(o){case"/":y=l*Math.sqrt(2),m=l*Math.sqrt(2),w="path",E={d:x="M-"+y/4+","+m/4+"l"+y/2+",-"+m/2+"M0,"+m+"L"+y+",0M"+y/4*3+","+m/4*5+"l"+y/2+",-"+m/2,opacity:P,stroke:C,"stroke-width":(b=c*l)+"px"};break;case"\\":y=l*Math.sqrt(2),m=l*Math.sqrt(2),w="path",E={d:x="M"+y/4*3+",-"+m/4+"l"+y/2+","+m/2+"M0,0L"+y+","+m+"M-"+y/4+","+m/4*3+"l"+y/2+","+m/2,opacity:P,stroke:C,"stroke-width":(b=c*l)+"px"};break;case"x":y=l*Math.sqrt(2),m=l*Math.sqrt(2),x="M-"+y/4+","+m/4+"l"+y/2+",-"+m/2+"M0,"+m+"L"+y+",0M"+y/4*3+","+m/4*5+"l"+y/2+",-"+m/2+"M"+y/4*3+",-"+m/4+"l"+y/2+","+m/2+"M0,0L"+y+","+m+"M-"+y/4+","+m/4*3+"l"+y/2+","+m/2,b=l-l*Math.sqrt(1-c),w="path",E={d:x,opacity:P,stroke:C,"stroke-width":b+"px"};break;case"|":w="path",w="path",E={d:x="M"+(y=l)/2+",0L"+y/2+","+(m=l),opacity:P,stroke:C,"stroke-width":(b=c*l)+"px"};break;case"-":w="path",w="path",E={d:x="M0,"+(m=l)/2+"L"+(y=l)+","+m/2,opacity:P,stroke:C,"stroke-width":(b=c*l)+"px"};break;case"+":w="path",x="M"+(y=l)/2+",0L"+y/2+","+(m=l)+"M0,"+m/2+"L"+y+","+m/2,b=l-l*Math.sqrt(1-c),w="path",E={d:x,opacity:P,stroke:C,"stroke-width":b+"px"};break;case".":y=l,m=l,c<Math.PI/4?_=Math.sqrt(c*l*l/Math.PI):(T=c,k=Math.PI/4,1,_=(A=l/2)+(l/Math.sqrt(2)-A)*(T-k)/(1-k)),w="circle",E={cx:y/2,cy:m/2,r:_,opacity:P,fill:C}}var O=[o||"noSh",p||"noBg",d||"noFg",l,c].join(";"),I=M._defs.select(".patterns").selectAll("#"+S).data([O],i.identity);I.exit().remove(),I.enter().append("pattern").each((function(){var t=n.select(this);if(t.attr({id:S,width:y+"px",height:m+"px",patternUnits:"userSpaceOnUse",patternTransform:g?"scale(0.8)":""}),p){var e=s(p),r=u.tinyRGB(e),i=e.getAlpha(),a=t.selectAll("rect").data([0]);a.exit().remove(),a.enter().append("rect").attr({width:y+"px",height:m+"px",fill:r,"fill-opacity":i})}var o=t.selectAll(w).data([0]);o.exit().remove(),o.enter().append(w).attr(E)})),t.style("fill",V(S,r)).style("fill-opacity",null),t.classed("pattern_filled",!0)},x.initGradients=function(t){var e=t._fullLayout;i.ensureSingle(e._defs,"g","gradients").selectAll("linearGradient,radialGradient").remove(),n.select(t).selectAll(".gradient_filled").classed("gradient_filled",!1)},x.initPatterns=function(t){var e=t._fullLayout;i.ensureSingle(e._defs,"g","patterns").selectAll("pattern").remove(),n.select(t).selectAll(".pattern_filled").classed("pattern_filled",!1)},x.getPatternAttr=function(t,e,r){return t&&i.isArrayOrTypedArray(t)?e<t.length?t[e]:r:t},x.pointStyle=function(t,e,r){if(t.size()){var i=x.makePointStyleFns(e);t.each((function(t){x.singlePointStyle(t,n.select(this),e,i,r)}))}},x.singlePointStyle=function(t,e,r,n,a){var o=r.marker,s=o.line;if(e.style("opacity",n.selectedOpacityFn?n.selectedOpacityFn(t):void 0===t.mo?o.opacity:t.mo),n.ms2mrc){var l;l="various"===t.ms||"various"===o.size?3:n.ms2mrc(t.ms),t.mrc=l,n.selectedSizeFn&&(l=t.mrc=n.selectedSizeFn(t));var c=x.symbolNumber(t.mx||o.symbol)||0;t.om=c%200>=100;var f=rt(t,r),h=G(t,r);e.attr("d",T(c,l,f,h))}var p,d,v,g=!1;if(t.so)v=s.outlierwidth,d=s.outliercolor,p=o.outliercolor;else{var y=(s||{}).width;v=(t.mlw+1||y+1||(t.trace?(t.trace.marker.line||{}).width:0)+1)-1||0,d="mlc"in t?t.mlcc=n.lineScale(t.mlc):i.isArrayOrTypedArray(s.color)?u.defaultLine:s.color,i.isArrayOrTypedArray(o.color)&&(p=u.defaultLine,g=!0),p="mc"in t?t.mcc=n.markerScale(t.mc):o.color||"rgba(0,0,0,0)",n.selectedColorFn&&(p=n.selectedColorFn(t))}if(t.om)e.call(u.stroke,p).style({"stroke-width":(v||1)+"px",fill:"none"});else{e.style("stroke-width",(t.isBlank?0:v)+"px");var m=o.gradient,b=t.mgt;b?g=!0:b=m&&m.type,i.isArrayOrTypedArray(b)&&(b=b[0],S[b]||(b=0));var _=o.pattern,w=_&&x.getPatternAttr(_.shape,t.i,"");if(b&&"none"!==b){var k=t.mgc;k?g=!0:k=m.color;var A=r.uid;g&&(A+="-"+t.i),x.gradient(e,a,A,b,[[0,k],[1,p]],"fill")}else if(w){var M=x.getPatternAttr(_.bgcolor,t.i,null),E=x.getPatternAttr(_.fgcolor,t.i,null),L=_.fgopacity,C=x.getPatternAttr(_.size,t.i,8),P=x.getPatternAttr(_.solidity,t.i,.3),O=t.mcc||i.isArrayOrTypedArray(_.shape)||i.isArrayOrTypedArray(_.bgcolor)||i.isArrayOrTypedArray(_.size)||i.isArrayOrTypedArray(_.solidity),I=r.uid;O&&(I+="-"+t.i),x.pattern(e,"point",a,I,w,C,P,t.mcc,_.fillmode,M,E,L)}else u.fill(e,p);v&&u.stroke(e,d)}},x.makePointStyleFns=function(t){var e={},r=t.marker;return e.markerScale=x.tryColorscale(r,""),e.lineScale=x.tryColorscale(r,"line"),l.traceIs(t,"symbols")&&(e.ms2mrc=g.isBubble(t)?y(t):function(){return(r.size||6)/2}),t.selectedpoints&&i.extendFlat(e,x.makeSelectedPointStyleFns(t)),e},x.makeSelectedPointStyleFns=function(t){var e={},r=t.selected||{},n=t.unselected||{},a=t.marker||{},o=r.marker||{},s=n.marker||{},u=a.opacity,c=o.opacity,f=s.opacity,h=void 0!==c,p=void 0!==f;(i.isArrayOrTypedArray(u)||h||p)&&(e.selectedOpacityFn=function(t){var e=void 0===t.mo?a.opacity:t.mo;return t.selected?h?c:e:p?f:v*e});var d=a.color,g=o.color,y=s.color;(g||y)&&(e.selectedColorFn=function(t){var e=t.mcc||d;return t.selected?g||e:y||e});var m=a.size,x=o.size,b=s.size,_=void 0!==x,w=void 0!==b;return l.traceIs(t,"symbols")&&(_||w)&&(e.selectedSizeFn=function(t){var e=t.mrc||m/2;return t.selected?_?x/2:e:w?b/2:e}),e},x.makeSelectedTextStyleFns=function(t){var e={},r=t.selected||{},n=t.unselected||{},i=t.textfont||{},a=r.textfont||{},o=n.textfont||{},s=i.color,l=a.color,c=o.color;return e.selectedTextColorFn=function(t){var e=t.tc||s;return t.selected?l||e:c||(l?e:u.addOpacity(e,v))},e},x.selectedPointStyle=function(t,e){if(t.size()&&e.selectedpoints){var r=x.makeSelectedPointStyleFns(e),i=e.marker||{},a=[];r.selectedOpacityFn&&a.push((function(t,e){t.style("opacity",r.selectedOpacityFn(e))})),r.selectedColorFn&&a.push((function(t,e){u.fill(t,r.selectedColorFn(e))})),r.selectedSizeFn&&a.push((function(t,n){var a=n.mx||i.symbol||0,o=r.selectedSizeFn(n);t.attr("d",T(x.symbolNumber(a),o,rt(n,e),G(n,e))),n.mrc2=o})),a.length&&t.each((function(t){for(var e=n.select(this),r=0;r<a.length;r++)a[r](e,t)}))}},x.tryColorscale=function(t,e){var r=e?i.nestedProperty(t,e).get():t;if(r){var n=r.color;if((r.colorscale||r._colorAx)&&i.isArrayOrTypedArray(n))return c.makeColorScaleFuncFromTrace(r)}return i.identity};var E,L,C={start:1,end:-1,middle:0,bottom:1,top:-1};function P(t,e,r,i,a){var o=n.select(t.node().parentNode),s=-1!==e.indexOf("top")?"top":-1!==e.indexOf("bottom")?"bottom":"middle",l=-1!==e.indexOf("left")?"end":-1!==e.indexOf("right")?"start":"middle",u=i?i/.8+1:0,c=(h.lineCount(t)-1)*d+1,p=C[l]*u,v=.75*r+C[s]*u+(C[s]-1)*c*r/2;t.attr("text-anchor",l),a||o.attr("transform",f(p,v))}function O(t,e){var r=t.ts||e.textfont.size;return o(r)&&r>0?r:0}function I(t,e,r){return r&&(t=N(t)),e?z(t[1]):D(t[0])}function D(t){var e=n.round(t,2);return E=e,e}function z(t){var e=n.round(t,2);return L=e,e}function R(t,e,r,n){var i=t[0]-e[0],a=t[1]-e[1],o=r[0]-e[0],s=r[1]-e[1],l=Math.pow(i*i+a*a,.25),u=Math.pow(o*o+s*s,.25),c=(u*u*i-l*l*o)*n,f=(u*u*a-l*l*s)*n,h=3*u*(l+u),p=3*l*(l+u);return[[D(e[0]+(h&&c/h)),z(e[1]+(h&&f/h))],[D(e[0]-(p&&c/p)),z(e[1]-(p&&f/p))]]}x.textPointStyle=function(t,e,r){if(t.size()){var a;if(e.selectedpoints){var o=x.makeSelectedTextStyleFns(e);a=o.selectedTextColorFn}var s=e.texttemplate,l=r._fullLayout;t.each((function(t){var o=n.select(this),u=s?i.extractOption(t,e,"txt","texttemplate"):i.extractOption(t,e,"tx","text");if(u||0===u){if(s){var c=e._module.formatLabels,f=c?c(t,e,l):{},p={};m(p,e,t.i);var d=e._meta||{};u=i.texttemplateString(u,f,l._d3locale,p,t,d)}var v=t.tp||e.textposition,g=O(t,e),y=a?a(t):t.tc||e.textfont.color;o.call(x.font,t.tf||e.textfont.family,g,y).text(u).call(h.convertToTspans,r).call(P,v,g,t.mrc)}else o.remove()}))}},x.selectedTextStyle=function(t,e){if(t.size()&&e.selectedpoints){var r=x.makeSelectedTextStyleFns(e);t.each((function(t){var i=n.select(this),a=r.selectedTextColorFn(t),o=t.tp||e.textposition,s=O(t,e);u.fill(i,a);var c=l.traceIs(e,"bar-like");P(i,o,s,t.mrc2||t.mrc,c)}))}},x.smoothopen=function(t,e){if(t.length<3)return"M"+t.join("L");var r,n="M"+t[0],i=[];for(r=1;r<t.length-1;r++)i.push(R(t[r-1],t[r],t[r+1],e));for(n+="Q"+i[0][0]+" "+t[1],r=2;r<t.length-1;r++)n+="C"+i[r-2][1]+" "+i[r-1][0]+" "+t[r];return n+"Q"+i[t.length-3][1]+" "+t[t.length-1]},x.smoothclosed=function(t,e){if(t.length<3)return"M"+t.join("L")+"Z";var r,n="M"+t[0],i=t.length-1,a=[R(t[i],t[0],t[1],e)];for(r=1;r<i;r++)a.push(R(t[r-1],t[r],t[r+1],e));for(a.push(R(t[i-1],t[i],t[0],e)),r=1;r<=i;r++)n+="C"+a[r-1][1]+" "+a[r][0]+" "+t[r];return n+"C"+a[i][1]+" "+a[0][0]+" "+t[0]+"Z"};var F={hv:function(t,e,r){return"H"+D(e[0])+"V"+I(e,1,r)},vh:function(t,e,r){return"V"+z(e[1])+"H"+I(e,0,r)},hvh:function(t,e,r){return"H"+D((t[0]+e[0])/2)+"V"+z(e[1])+"H"+I(e,0,r)},vhv:function(t,e,r){return"V"+z((t[1]+e[1])/2)+"H"+D(e[0])+"V"+I(e,1,r)}},B=function(t,e,r){return"L"+I(e,0,r)+","+I(e,1,r)};function N(t,e){var r=t.backoff,n=t.trace,a=t.d,o=t.i;if(r&&n&&n.marker&&n.marker.angle%360==0&&n.line&&"spline"!==n.line.shape){var s=i.isArrayOrTypedArray(r),l=t,u=e?e[0]:E||0,c=e?e[1]:L||0,f=l[0],h=l[1],p=f-u,d=h-c,v=Math.atan2(d,p),g=s?r[o]:r;if("auto"===g){var y=l.i;"scatter"===n.type&&y--;var m=l.marker,b=m.symbol;i.isArrayOrTypedArray(b)&&(b=b[y]);var _=m.size;i.isArrayOrTypedArray(_)&&(_=_[y]),g=m?x.symbolBackOffs[x.symbolNumber(b)]*_:0,g+=x.getMarkerStandoff(a[y],n)||0}var w=f-g*Math.cos(v),T=h-g*Math.sin(v);(w<=f&&w>=u||w>=f&&w<=u)&&(T<=h&&T>=c||T>=h&&T<=c)&&(t=[w,T])}return t}x.steps=function(t){var e=F[t]||B;return function(t){for(var r="M"+D(t[0][0])+","+z(t[0][1]),n=t.length,i=1;i<n;i++)r+=e(t[i-1],t[i],i===n-1);return r}},x.applyBackoff=N,x.makeTester=function(){var t=i.ensureSingleById(n.select("body"),"svg","js-plotly-tester",(function(t){t.attr(p.svgAttrs).style({position:"absolute",left:"-10000px",top:"-10000px",width:"9000px",height:"9000px","z-index":"1"})})),e=i.ensureSingle(t,"path","js-reference-point",(function(t){t.attr("d","M0,0H1V1H0Z").style({"stroke-width":0,fill:"black"})}));x.tester=t,x.testref=e},x.savedBBoxes={};var j=0;function U(t){var e=t.getAttribute("data-unformatted");if(null!==e)return e+t.getAttribute("data-math")+t.getAttribute("text-anchor")+t.getAttribute("style")}function V(t,e){if(!t)return null;var r=e._context,n=r._exportedPlot?"":r._baseUrl||"";return n?"url('"+n+"#"+t+"')":"url(#"+t+")"}x.bBox=function(t,e,r){var a,o,s;if(r||(r=U(t)),r){if(a=x.savedBBoxes[r])return i.extendFlat({},a)}else if(1===t.childNodes.length){var l=t.childNodes[0];if(r=U(l)){var u=+l.getAttribute("x")||0,c=+l.getAttribute("y")||0,f=l.getAttribute("transform");if(!f){var p=x.bBox(l,!1,r);return u&&(p.left+=u,p.right+=u),c&&(p.top+=c,p.bottom+=c),p}if(r+="~"+u+"~"+c+"~"+f,a=x.savedBBoxes[r])return i.extendFlat({},a)}}e?o=t:(s=x.tester.node(),o=t.cloneNode(!0),s.appendChild(o)),n.select(o).attr("transform",null).call(h.positionText,0,0);var d=o.getBoundingClientRect(),v=x.testref.node().getBoundingClientRect();e||s.removeChild(o);var g={height:d.height,width:d.width,left:d.left-v.left,top:d.top-v.top,right:d.right-v.left,bottom:d.bottom-v.top};return j>=1e4&&(x.savedBBoxes={},j=0),r&&(x.savedBBoxes[r]=g),j++,i.extendFlat({},g)},x.setClipUrl=function(t,e,r){t.attr("clip-path",V(e,r))},x.getTranslate=function(t){var e=(t[t.attr?"attr":"getAttribute"]("transform")||"").replace(/.*\btranslate\((-?\d*\.?\d*)[^-\d]*(-?\d*\.?\d*)[^\d].*/,(function(t,e,r){return[e,r].join(" ")})).split(" ");return{x:+e[0]||0,y:+e[1]||0}},x.setTranslate=function(t,e,r){var n=t.attr?"attr":"getAttribute",i=t.attr?"attr":"setAttribute",a=t[n]("transform")||"";return e=e||0,r=r||0,a=a.replace(/(\btranslate\(.*?\);?)/,"").trim(),a=(a+=f(e,r)).trim(),t[i]("transform",a),a},x.getScale=function(t){var e=(t[t.attr?"attr":"getAttribute"]("transform")||"").replace(/.*\bscale\((\d*\.?\d*)[^\d]*(\d*\.?\d*)[^\d].*/,(function(t,e,r){return[e,r].join(" ")})).split(" ");return{x:+e[0]||1,y:+e[1]||1}},x.setScale=function(t,e,r){var n=t.attr?"attr":"getAttribute",i=t.attr?"attr":"setAttribute",a=t[n]("transform")||"";return e=e||1,r=r||1,a=a.replace(/(\bscale\(.*?\);?)/,"").trim(),a=(a+="scale("+e+","+r+")").trim(),t[i]("transform",a),a};var H=/\s*sc.*/;x.setPointGroupScale=function(t,e,r){if(e=e||1,r=r||1,t){var n=1===e&&1===r?"":"scale("+e+","+r+")";t.each((function(){var t=(this.getAttribute("transform")||"").replace(H,"");t=(t+=n).trim(),this.setAttribute("transform",t)}))}};var q=/translate\([^)]*\)\s*$/;function G(t,e){var r;return t&&(r=t.mf),void 0===r&&(r=e.marker&&e.marker.standoff||0),e._geo||e._xA?r:-r}x.setTextPointsScale=function(t,e,r){t&&t.each((function(){var t,i=n.select(this),a=i.select("text");if(a.node()){var o=parseFloat(a.attr("x")||0),s=parseFloat(a.attr("y")||0),l=(i.attr("transform")||"").match(q);t=1===e&&1===r?[]:[f(o,s),"scale("+e+","+r+")",f(-o,-s)],l&&t.push(l),i.attr("transform",t.join(""))}}))},x.getMarkerStandoff=G;var Z,Y,W,X,J,K,$=Math.atan2,Q=Math.cos,tt=Math.sin;function et(t,e){var r=e[0],n=e[1];return[r*Q(t)-n*tt(t),r*tt(t)+n*Q(t)]}function rt(t,e){var r,n,i=t.ma;void 0===i&&(i=e.marker.angle||0);var a=e.marker.angleref;if("previous"===a||"north"===a){if(e._geo){var s=e._geo.project(t.lonlat);r=s[0],n=s[1]}else{var l=e._xA,u=e._yA;if(!l||!u)return 90;r=l.c2p(t.x),n=u.c2p(t.y)}if(e._geo){var c,f=t.lonlat[0],h=t.lonlat[1],p=e._geo.project([f,h+1e-5]),d=e._geo.project([f+1e-5,h]),v=$(d[1]-n,d[0]-r),g=$(p[1]-n,p[0]-r);if("north"===a)c=i/180*Math.PI;else if("previous"===a){var y=f/180*Math.PI,m=h/180*Math.PI,x=Z/180*Math.PI,b=Y/180*Math.PI,_=x-y,w=Q(b)*tt(_),T=tt(b)*Q(m)-Q(b)*tt(m)*Q(_);c=-$(w,T)-Math.PI,Z=f,Y=h}var k=et(v,[Q(c),0]),A=et(g,[tt(c),0]);i=$(k[1]+A[1],k[0]+A[0])/Math.PI*180,"previous"!==a||K===e.uid&&t.i===J+1||(i=null)}if("previous"===a&&!e._geo)if(K===e.uid&&t.i===J+1&&o(r)&&o(n)){var M=r-W,S=n-X,E=e.line&&e.line.shape||"",L=E.slice(E.length-1);"h"===L&&(S=0),"v"===L&&(M=0),i+=$(S,M)/Math.PI*180+90}else i=null}return W=r,X=n,J=t.i,K=e.uid,i}x.getMarkerAngle=rt},90998:function(t,e,r){"use strict";var n,i,a,o,s=r(95616),l=r(39898).round,u="M0,0Z",c=Math.sqrt(2),f=Math.sqrt(3),h=Math.PI,p=Math.cos,d=Math.sin;function v(t){return null===t}function g(t,e,r){if(!(t&&t%360!=0||e))return r;if(a===t&&o===e&&n===r)return i;function l(t,r){var n=p(t),i=d(t),a=r[0],o=r[1]+(e||0);return[a*n-o*i,a*i+o*n]}a=t,o=e,n=r;for(var u=t/180*h,c=0,f=0,v=s(r),g="",y=0;y<v.length;y++){var m=v[y],x=m[0],b=c,_=f;if("M"===x||"L"===x)c=+m[1],f=+m[2];else if("m"===x||"l"===x)c+=+m[1],f+=+m[2];else if("H"===x)c=+m[1];else if("h"===x)c+=+m[1];else if("V"===x)f=+m[1];else if("v"===x)f+=+m[1];else if("A"===x){c=+m[1],f=+m[2];var w=l(u,[+m[6],+m[7]]);m[6]=w[0],m[7]=w[1],m[3]=+m[3]+t}"H"!==x&&"V"!==x||(x="L"),"h"!==x&&"v"!==x||(x="l"),"m"!==x&&"l"!==x||(c-=b,f-=_);var T=l(u,[c,f]);"H"!==x&&"V"!==x||(x="L"),"M"!==x&&"L"!==x&&"m"!==x&&"l"!==x||(m[1]=T[0],m[2]=T[1]),m[0]=x,g+=m[0]+m.slice(1).join(",")}return i=g,g}t.exports={circle:{n:0,f:function(t,e,r){if(v(e))return u;var n=l(t,2),i="M"+n+",0A"+n+","+n+" 0 1,1 0,-"+n+"A"+n+","+n+" 0 0,1 "+n+",0Z";return r?g(e,r,i):i}},square:{n:1,f:function(t,e,r){if(v(e))return u;var n=l(t,2);return g(e,r,"M"+n+","+n+"H-"+n+"V-"+n+"H"+n+"Z")}},diamond:{n:2,f:function(t,e,r){if(v(e))return u;var n=l(1.3*t,2);return g(e,r,"M"+n+",0L0,"+n+"L-"+n+",0L0,-"+n+"Z")}},cross:{n:3,f:function(t,e,r){if(v(e))return u;var n=l(.4*t,2),i=l(1.2*t,2);return g(e,r,"M"+i+","+n+"H"+n+"V"+i+"H-"+n+"V"+n+"H-"+i+"V-"+n+"H-"+n+"V-"+i+"H"+n+"V-"+n+"H"+i+"Z")}},x:{n:4,f:function(t,e,r){if(v(e))return u;var n=l(.8*t/c,2),i="l"+n+","+n,a="l"+n+",-"+n,o="l-"+n+",-"+n,s="l-"+n+","+n;return g(e,r,"M0,"+n+i+a+o+a+o+s+o+s+i+s+i+"Z")}},"triangle-up":{n:5,f:function(t,e,r){if(v(e))return u;var n=l(2*t/f,2);return g(e,r,"M-"+n+","+l(t/2,2)+"H"+n+"L0,-"+l(t,2)+"Z")}},"triangle-down":{n:6,f:function(t,e,r){if(v(e))return u;var n=l(2*t/f,2);return g(e,r,"M-"+n+",-"+l(t/2,2)+"H"+n+"L0,"+l(t,2)+"Z")}},"triangle-left":{n:7,f:function(t,e,r){if(v(e))return u;var n=l(2*t/f,2);return g(e,r,"M"+l(t/2,2)+",-"+n+"V"+n+"L-"+l(t,2)+",0Z")}},"triangle-right":{n:8,f:function(t,e,r){if(v(e))return u;var n=l(2*t/f,2);return g(e,r,"M-"+l(t/2,2)+",-"+n+"V"+n+"L"+l(t,2)+",0Z")}},"triangle-ne":{n:9,f:function(t,e,r){if(v(e))return u;var n=l(.6*t,2),i=l(1.2*t,2);return g(e,r,"M-"+i+",-"+n+"H"+n+"V"+i+"Z")}},"triangle-se":{n:10,f:function(t,e,r){if(v(e))return u;var n=l(.6*t,2),i=l(1.2*t,2);return g(e,r,"M"+n+",-"+i+"V"+n+"H-"+i+"Z")}},"triangle-sw":{n:11,f:function(t,e,r){if(v(e))return u;var n=l(.6*t,2),i=l(1.2*t,2);return g(e,r,"M"+i+","+n+"H-"+n+"V-"+i+"Z")}},"triangle-nw":{n:12,f:function(t,e,r){if(v(e))return u;var n=l(.6*t,2),i=l(1.2*t,2);return g(e,r,"M-"+n+","+i+"V-"+n+"H"+i+"Z")}},pentagon:{n:13,f:function(t,e,r){if(v(e))return u;var n=l(.951*t,2),i=l(.588*t,2),a=l(-t,2),o=l(-.309*t,2);return g(e,r,"M"+n+","+o+"L"+i+","+l(.809*t,2)+"H-"+i+"L-"+n+","+o+"L0,"+a+"Z")}},hexagon:{n:14,f:function(t,e,r){if(v(e))return u;var n=l(t,2),i=l(t/2,2),a=l(t*f/2,2);return g(e,r,"M"+a+",-"+i+"V"+i+"L0,"+n+"L-"+a+","+i+"V-"+i+"L0,-"+n+"Z")}},hexagon2:{n:15,f:function(t,e,r){if(v(e))return u;var n=l(t,2),i=l(t/2,2),a=l(t*f/2,2);return g(e,r,"M-"+i+","+a+"H"+i+"L"+n+",0L"+i+",-"+a+"H-"+i+"L-"+n+",0Z")}},octagon:{n:16,f:function(t,e,r){if(v(e))return u;var n=l(.924*t,2),i=l(.383*t,2);return g(e,r,"M-"+i+",-"+n+"H"+i+"L"+n+",-"+i+"V"+i+"L"+i+","+n+"H-"+i+"L-"+n+","+i+"V-"+i+"Z")}},star:{n:17,f:function(t,e,r){if(v(e))return u;var n=1.4*t,i=l(.225*n,2),a=l(.951*n,2),o=l(.363*n,2),s=l(.588*n,2),c=l(-n,2),f=l(-.309*n,2),h=l(.118*n,2),p=l(.809*n,2);return g(e,r,"M"+i+","+f+"H"+a+"L"+o+","+h+"L"+s+","+p+"L0,"+l(.382*n,2)+"L-"+s+","+p+"L-"+o+","+h+"L-"+a+","+f+"H-"+i+"L0,"+c+"Z")}},hexagram:{n:18,f:function(t,e,r){if(v(e))return u;var n=l(.66*t,2),i=l(.38*t,2),a=l(.76*t,2);return g(e,r,"M-"+a+",0l-"+i+",-"+n+"h"+a+"l"+i+",-"+n+"l"+i+","+n+"h"+a+"l-"+i+","+n+"l"+i+","+n+"h-"+a+"l-"+i+","+n+"l-"+i+",-"+n+"h-"+a+"Z")}},"star-triangle-up":{n:19,f:function(t,e,r){if(v(e))return u;var n=l(t*f*.8,2),i=l(.8*t,2),a=l(1.6*t,2),o=l(4*t,2),s="A "+o+","+o+" 0 0 1 ";return g(e,r,"M-"+n+","+i+s+n+","+i+s+"0,-"+a+s+"-"+n+","+i+"Z")}},"star-triangle-down":{n:20,f:function(t,e,r){if(v(e))return u;var n=l(t*f*.8,2),i=l(.8*t,2),a=l(1.6*t,2),o=l(4*t,2),s="A "+o+","+o+" 0 0 1 ";return g(e,r,"M"+n+",-"+i+s+"-"+n+",-"+i+s+"0,"+a+s+n+",-"+i+"Z")}},"star-square":{n:21,f:function(t,e,r){if(v(e))return u;var n=l(1.1*t,2),i=l(2*t,2),a="A "+i+","+i+" 0 0 1 ";return g(e,r,"M-"+n+",-"+n+a+"-"+n+","+n+a+n+","+n+a+n+",-"+n+a+"-"+n+",-"+n+"Z")}},"star-diamond":{n:22,f:function(t,e,r){if(v(e))return u;var n=l(1.4*t,2),i=l(1.9*t,2),a="A "+i+","+i+" 0 0 1 ";return g(e,r,"M-"+n+",0"+a+"0,"+n+a+n+",0"+a+"0,-"+n+a+"-"+n+",0Z")}},"diamond-tall":{n:23,f:function(t,e,r){if(v(e))return u;var n=l(.7*t,2),i=l(1.4*t,2);return g(e,r,"M0,"+i+"L"+n+",0L0,-"+i+"L-"+n+",0Z")}},"diamond-wide":{n:24,f:function(t,e,r){if(v(e))return u;var n=l(1.4*t,2),i=l(.7*t,2);return g(e,r,"M0,"+i+"L"+n+",0L0,-"+i+"L-"+n+",0Z")}},hourglass:{n:25,f:function(t,e,r){if(v(e))return u;var n=l(t,2);return g(e,r,"M"+n+","+n+"H-"+n+"L"+n+",-"+n+"H-"+n+"Z")},noDot:!0},bowtie:{n:26,f:function(t,e,r){if(v(e))return u;var n=l(t,2);return g(e,r,"M"+n+","+n+"V-"+n+"L-"+n+","+n+"V-"+n+"Z")},noDot:!0},"circle-cross":{n:27,f:function(t,e,r){if(v(e))return u;var n=l(t,2);return g(e,r,"M0,"+n+"V-"+n+"M"+n+",0H-"+n+"M"+n+",0A"+n+","+n+" 0 1,1 0,-"+n+"A"+n+","+n+" 0 0,1 "+n+",0Z")},needLine:!0,noDot:!0},"circle-x":{n:28,f:function(t,e,r){if(v(e))return u;var n=l(t,2),i=l(t/c,2);return g(e,r,"M"+i+","+i+"L-"+i+",-"+i+"M"+i+",-"+i+"L-"+i+","+i+"M"+n+",0A"+n+","+n+" 0 1,1 0,-"+n+"A"+n+","+n+" 0 0,1 "+n+",0Z")},needLine:!0,noDot:!0},"square-cross":{n:29,f:function(t,e,r){if(v(e))return u;var n=l(t,2);return g(e,r,"M0,"+n+"V-"+n+"M"+n+",0H-"+n+"M"+n+","+n+"H-"+n+"V-"+n+"H"+n+"Z")},needLine:!0,noDot:!0},"square-x":{n:30,f:function(t,e,r){if(v(e))return u;var n=l(t,2);return g(e,r,"M"+n+","+n+"L-"+n+",-"+n+"M"+n+",-"+n+"L-"+n+","+n+"M"+n+","+n+"H-"+n+"V-"+n+"H"+n+"Z")},needLine:!0,noDot:!0},"diamond-cross":{n:31,f:function(t,e,r){if(v(e))return u;var n=l(1.3*t,2);return g(e,r,"M"+n+",0L0,"+n+"L-"+n+",0L0,-"+n+"ZM0,-"+n+"V"+n+"M-"+n+",0H"+n)},needLine:!0,noDot:!0},"diamond-x":{n:32,f:function(t,e,r){if(v(e))return u;var n=l(1.3*t,2),i=l(.65*t,2);return g(e,r,"M"+n+",0L0,"+n+"L-"+n+",0L0,-"+n+"ZM-"+i+",-"+i+"L"+i+","+i+"M-"+i+","+i+"L"+i+",-"+i)},needLine:!0,noDot:!0},"cross-thin":{n:33,f:function(t,e,r){if(v(e))return u;var n=l(1.4*t,2);return g(e,r,"M0,"+n+"V-"+n+"M"+n+",0H-"+n)},needLine:!0,noDot:!0,noFill:!0},"x-thin":{n:34,f:function(t,e,r){if(v(e))return u;var n=l(t,2);return g(e,r,"M"+n+","+n+"L-"+n+",-"+n+"M"+n+",-"+n+"L-"+n+","+n)},needLine:!0,noDot:!0,noFill:!0},asterisk:{n:35,f:function(t,e,r){if(v(e))return u;var n=l(1.2*t,2),i=l(.85*t,2);return g(e,r,"M0,"+n+"V-"+n+"M"+n+",0H-"+n+"M"+i+","+i+"L-"+i+",-"+i+"M"+i+",-"+i+"L-"+i+","+i)},needLine:!0,noDot:!0,noFill:!0},hash:{n:36,f:function(t,e,r){if(v(e))return u;var n=l(t/2,2),i=l(t,2);return g(e,r,"M"+n+","+i+"V-"+i+"M"+(n-i)+",-"+i+"V"+i+"M"+i+","+n+"H-"+i+"M-"+i+","+(n-i)+"H"+i)},needLine:!0,noFill:!0},"y-up":{n:37,f:function(t,e,r){if(v(e))return u;var n=l(1.2*t,2),i=l(1.6*t,2),a=l(.8*t,2);return g(e,r,"M-"+n+","+a+"L0,0M"+n+","+a+"L0,0M0,-"+i+"L0,0")},needLine:!0,noDot:!0,noFill:!0},"y-down":{n:38,f:function(t,e,r){if(v(e))return u;var n=l(1.2*t,2),i=l(1.6*t,2),a=l(.8*t,2);return g(e,r,"M-"+n+",-"+a+"L0,0M"+n+",-"+a+"L0,0M0,"+i+"L0,0")},needLine:!0,noDot:!0,noFill:!0},"y-left":{n:39,f:function(t,e,r){if(v(e))return u;var n=l(1.2*t,2),i=l(1.6*t,2),a=l(.8*t,2);return g(e,r,"M"+a+","+n+"L0,0M"+a+",-"+n+"L0,0M-"+i+",0L0,0")},needLine:!0,noDot:!0,noFill:!0},"y-right":{n:40,f:function(t,e,r){if(v(e))return u;var n=l(1.2*t,2),i=l(1.6*t,2),a=l(.8*t,2);return g(e,r,"M-"+a+","+n+"L0,0M-"+a+",-"+n+"L0,0M"+i+",0L0,0")},needLine:!0,noDot:!0,noFill:!0},"line-ew":{n:41,f:function(t,e,r){if(v(e))return u;var n=l(1.4*t,2);return g(e,r,"M"+n+",0H-"+n)},needLine:!0,noDot:!0,noFill:!0},"line-ns":{n:42,f:function(t,e,r){if(v(e))return u;var n=l(1.4*t,2);return g(e,r,"M0,"+n+"V-"+n)},needLine:!0,noDot:!0,noFill:!0},"line-ne":{n:43,f:function(t,e,r){if(v(e))return u;var n=l(t,2);return g(e,r,"M"+n+",-"+n+"L-"+n+","+n)},needLine:!0,noDot:!0,noFill:!0},"line-nw":{n:44,f:function(t,e,r){if(v(e))return u;var n=l(t,2);return g(e,r,"M"+n+","+n+"L-"+n+",-"+n)},needLine:!0,noDot:!0,noFill:!0},"arrow-up":{n:45,f:function(t,e,r){if(v(e))return u;var n=l(t,2);return g(e,r,"M0,0L-"+n+","+l(2*t,2)+"H"+n+"Z")},backoff:1,noDot:!0},"arrow-down":{n:46,f:function(t,e,r){if(v(e))return u;var n=l(t,2);return g(e,r,"M0,0L-"+n+",-"+l(2*t,2)+"H"+n+"Z")},noDot:!0},"arrow-left":{n:47,f:function(t,e,r){if(v(e))return u;var n=l(2*t,2),i=l(t,2);return g(e,r,"M0,0L"+n+",-"+i+"V"+i+"Z")},noDot:!0},"arrow-right":{n:48,f:function(t,e,r){if(v(e))return u;var n=l(2*t,2),i=l(t,2);return g(e,r,"M0,0L-"+n+",-"+i+"V"+i+"Z")},noDot:!0},"arrow-bar-up":{n:49,f:function(t,e,r){if(v(e))return u;var n=l(t,2);return g(e,r,"M-"+n+",0H"+n+"M0,0L-"+n+","+l(2*t,2)+"H"+n+"Z")},backoff:1,needLine:!0,noDot:!0},"arrow-bar-down":{n:50,f:function(t,e,r){if(v(e))return u;var n=l(t,2);return g(e,r,"M-"+n+",0H"+n+"M0,0L-"+n+",-"+l(2*t,2)+"H"+n+"Z")},needLine:!0,noDot:!0},"arrow-bar-left":{n:51,f:function(t,e,r){if(v(e))return u;var n=l(2*t,2),i=l(t,2);return g(e,r,"M0,-"+i+"V"+i+"M0,0L"+n+",-"+i+"V"+i+"Z")},needLine:!0,noDot:!0},"arrow-bar-right":{n:52,f:function(t,e,r){if(v(e))return u;var n=l(2*t,2),i=l(t,2);return g(e,r,"M0,-"+i+"V"+i+"M0,0L-"+n+",-"+i+"V"+i+"Z")},needLine:!0,noDot:!0},arrow:{n:53,f:function(t,e,r){if(v(e))return u;var n=h/2.5,i=2*t*p(n),a=2*t*d(n);return g(e,r,"M0,0L"+-i+","+a+"L"+i+","+a+"Z")},backoff:.9,noDot:!0},"arrow-wide":{n:54,f:function(t,e,r){if(v(e))return u;var n=h/4,i=2*t*p(n),a=2*t*d(n);return g(e,r,"M0,0L"+-i+","+a+"A "+2*t+","+2*t+" 0 0 1 "+i+","+a+"Z")},backoff:.4,noDot:!0}}},25673:function(t){"use strict";t.exports={visible:{valType:"boolean",editType:"calc"},type:{valType:"enumerated",values:["percent","constant","sqrt","data"],editType:"calc"},symmetric:{valType:"boolean",editType:"calc"},array:{valType:"data_array",editType:"calc"},arrayminus:{valType:"data_array",editType:"calc"},value:{valType:"number",min:0,dflt:10,editType:"calc"},valueminus:{valType:"number",min:0,dflt:10,editType:"calc"},traceref:{valType:"integer",min:0,dflt:0,editType:"style"},tracerefminus:{valType:"integer",min:0,dflt:0,editType:"style"},copy_ystyle:{valType:"boolean",editType:"plot"},copy_zstyle:{valType:"boolean",editType:"style"},color:{valType:"color",editType:"style"},thickness:{valType:"number",min:0,dflt:2,editType:"style"},width:{valType:"number",min:0,editType:"plot"},editType:"calc",_deprecated:{opacity:{valType:"number",editType:"style"}}}},84532:function(t,e,r){"use strict";var n=r(92770),i=r(73972),a=r(89298),o=r(71828),s=r(45827);function l(t,e,r,i){var l=e["error_"+i]||{},u=[];if(l.visible&&-1!==["linear","log"].indexOf(r.type)){for(var c=s(l),f=0;f<t.length;f++){var h=t[f],p=h.i;if(void 0===p)p=f;else if(null===p)continue;var d=h[i];if(n(r.c2l(d))){var v=c(d,p);if(n(v[0])&&n(v[1])){var g=h[i+"s"]=d-v[0],y=h[i+"h"]=d+v[1];u.push(g,y)}}}var m=r._id,x=e._extremes[m],b=a.findExtremes(r,u,o.extendFlat({tozero:x.opts.tozero},{padded:!0}));x.min=x.min.concat(b.min),x.max=x.max.concat(b.max)}}t.exports=function(t){for(var e=t.calcdata,r=0;r<e.length;r++){var n=e[r],o=n[0].trace;if(!0===o.visible&&i.traceIs(o,"errorBarsOK")){var s=a.getFromId(t,o.xaxis),u=a.getFromId(t,o.yaxis);l(n,o,s,"x"),l(n,o,u,"y")}}}},45827:function(t){"use strict";function e(t,e){return"percent"===t?function(t){return Math.abs(t*e/100)}:"constant"===t?function(){return Math.abs(e)}:"sqrt"===t?function(t){return Math.sqrt(Math.abs(t))}:void 0}t.exports=function(t){var r=t.type,n=t.symmetric;if("data"===r){var i=t.array||[];if(n)return function(t,e){var r=+i[e];return[r,r]};var a=t.arrayminus||[];return function(t,e){var r=+i[e],n=+a[e];return isNaN(r)&&isNaN(n)?[NaN,NaN]:[n||0,r||0]}}var o=e(r,t.value),s=e(r,t.valueminus);return n||void 0===t.valueminus?function(t){var e=o(t);return[e,e]}:function(t){return[s(t),o(t)]}}},97587:function(t,e,r){"use strict";var n=r(92770),i=r(73972),a=r(71828),o=r(44467),s=r(25673);t.exports=function(t,e,r,l){var u="error_"+l.axis,c=o.newContainer(e,u),f=t[u]||{};function h(t,e){return a.coerce(f,c,s,t,e)}if(!1!==h("visible",void 0!==f.array||void 0!==f.value||"sqrt"===f.type)){var p=h("type","array"in f?"data":"percent"),d=!0;"sqrt"!==p&&(d=h("symmetric",!(("data"===p?"arrayminus":"valueminus")in f))),"data"===p?(h("array"),h("traceref"),d||(h("arrayminus"),h("tracerefminus"))):"percent"!==p&&"constant"!==p||(h("value"),d||h("valueminus"));var v="copy_"+l.inherit+"style";l.inherit&&(e["error_"+l.inherit]||{}).visible&&h(v,!(f.color||n(f.thickness)||n(f.width))),l.inherit&&c[v]||(h("color",r),h("thickness"),h("width",i.traceIs(e,"gl3d")?0:4))}}},37369:function(t,e,r){"use strict";var n=r(71828),i=r(30962).overrideAll,a=r(25673),o={error_x:n.extendFlat({},a),error_y:n.extendFlat({},a)};delete o.error_x.copy_zstyle,delete o.error_y.copy_zstyle,delete o.error_y.copy_ystyle;var s={error_x:n.extendFlat({},a),error_y:n.extendFlat({},a),error_z:n.extendFlat({},a)};delete s.error_x.copy_ystyle,delete s.error_y.copy_ystyle,delete s.error_z.copy_ystyle,delete s.error_z.copy_zstyle,t.exports={moduleType:"component",name:"errorbars",schema:{traces:{scatter:o,bar:o,histogram:o,scatter3d:i(s,"calc","nested"),scattergl:i(o,"calc","nested")}},supplyDefaults:r(97587),calc:r(84532),makeComputeError:r(45827),plot:r(19398),style:r(62662),hoverInfo:function(t,e,r){(e.error_y||{}).visible&&(r.yerr=t.yh-t.y,e.error_y.symmetric||(r.yerrneg=t.y-t.ys)),(e.error_x||{}).visible&&(r.xerr=t.xh-t.x,e.error_x.symmetric||(r.xerrneg=t.x-t.xs))}}},19398:function(t,e,r){"use strict";var n=r(39898),i=r(92770),a=r(91424),o=r(34098);t.exports=function(t,e,r,s){var l=r.xaxis,u=r.yaxis,c=s&&s.duration>0;e.each((function(e){var f,h=e[0].trace,p=h.error_x||{},d=h.error_y||{};h.ids&&(f=function(t){return t.id});var v=o.hasMarkers(h)&&h.marker.maxdisplayed>0;d.visible||p.visible||(e=[]);var g=n.select(this).selectAll("g.errorbar").data(e,f);if(g.exit().remove(),e.length){p.visible||g.selectAll("path.xerror").remove(),d.visible||g.selectAll("path.yerror").remove(),g.style("opacity",1);var y=g.enter().append("g").classed("errorbar",!0);c&&y.style("opacity",0).transition().duration(s.duration).style("opacity",1),a.setClipUrl(g,r.layerClipId,t),g.each((function(t){var e=n.select(this),r=function(t,e,r){var n={x:e.c2p(t.x),y:r.c2p(t.y)};return void 0!==t.yh&&(n.yh=r.c2p(t.yh),n.ys=r.c2p(t.ys),i(n.ys)||(n.noYS=!0,n.ys=r.c2p(t.ys,!0))),void 0!==t.xh&&(n.xh=e.c2p(t.xh),n.xs=e.c2p(t.xs),i(n.xs)||(n.noXS=!0,n.xs=e.c2p(t.xs,!0))),n}(t,l,u);if(!v||t.vis){var a,o=e.select("path.yerror");if(d.visible&&i(r.x)&&i(r.yh)&&i(r.ys)){var f=d.width;a="M"+(r.x-f)+","+r.yh+"h"+2*f+"m-"+f+",0V"+r.ys,r.noYS||(a+="m-"+f+",0h"+2*f),o.size()?c&&(o=o.transition().duration(s.duration).ease(s.easing)):o=e.append("path").style("vector-effect","non-scaling-stroke").classed("yerror",!0),o.attr("d",a)}else o.remove();var h=e.select("path.xerror");if(p.visible&&i(r.y)&&i(r.xh)&&i(r.xs)){var g=(p.copy_ystyle?d:p).width;a="M"+r.xh+","+(r.y-g)+"v"+2*g+"m0,-"+g+"H"+r.xs,r.noXS||(a+="m0,-"+g+"v"+2*g),h.size()?c&&(h=h.transition().duration(s.duration).ease(s.easing)):h=e.append("path").style("vector-effect","non-scaling-stroke").classed("xerror",!0),h.attr("d",a)}else h.remove()}}))}}))}},62662:function(t,e,r){"use strict";var n=r(39898),i=r(7901);t.exports=function(t){t.each((function(t){var e=t[0].trace,r=e.error_y||{},a=e.error_x||{},o=n.select(this);o.selectAll("path.yerror").style("stroke-width",r.thickness+"px").call(i.stroke,r.color),a.copy_ystyle&&(a=r),o.selectAll("path.xerror").style("stroke-width",a.thickness+"px").call(i.stroke,a.color)}))}},77914:function(t,e,r){"use strict";var n=r(41940),i=r(528).hoverlabel,a=r(1426).extendFlat;t.exports={hoverlabel:{bgcolor:a({},i.bgcolor,{arrayOk:!0}),bordercolor:a({},i.bordercolor,{arrayOk:!0}),font:n({arrayOk:!0,editType:"none"}),align:a({},i.align,{arrayOk:!0}),namelength:a({},i.namelength,{arrayOk:!0}),editType:"none"}}},30732:function(t,e,r){"use strict";var n=r(71828),i=r(73972);function a(t,e,r,i){i=i||n.identity,Array.isArray(t)&&(e[0][r]=i(t))}t.exports=function(t){var e=t.calcdata,r=t._fullLayout;function o(t){return function(e){return n.coerceHoverinfo({hoverinfo:e},{_module:t._module},r)}}for(var s=0;s<e.length;s++){var l=e[s],u=l[0].trace;if(!i.traceIs(u,"pie-like")){var c=i.traceIs(u,"2dMap")?a:n.fillArray;c(u.hoverinfo,l,"hi",o(u)),u.hovertemplate&&c(u.hovertemplate,l,"ht"),u.hoverlabel&&(c(u.hoverlabel.bgcolor,l,"hbg"),c(u.hoverlabel.bordercolor,l,"hbc"),c(u.hoverlabel.font.size,l,"hts"),c(u.hoverlabel.font.color,l,"htc"),c(u.hoverlabel.font.family,l,"htf"),c(u.hoverlabel.namelength,l,"hnl"),c(u.hoverlabel.align,l,"hta"))}}}},75914:function(t,e,r){"use strict";var n=r(73972),i=r(88335).hover;t.exports=function(t,e,r){var a=n.getComponentMethod("annotations","onClick")(t,t._hoverdata);function o(){t.emit("plotly_click",{points:t._hoverdata,event:e})}void 0!==r&&i(t,e,r,!0),t._hoverdata&&e&&e.target&&(a&&a.then?a.then(o):o(),e.stopImmediatePropagation&&e.stopImmediatePropagation())}},26675:function(t){"use strict";t.exports={YANGLE:60,HOVERARROWSIZE:6,HOVERTEXTPAD:3,HOVERFONTSIZE:13,HOVERFONT:"Arial, sans-serif",HOVERMINTIME:50,HOVERID:"-hover"}},54268:function(t,e,r){"use strict";var n=r(71828),i=r(77914),a=r(38048);t.exports=function(t,e,r,o){var s=n.extendFlat({},o.hoverlabel);e.hovertemplate&&(s.namelength=-1),a(t,e,(function(r,a){return n.coerce(t,e,i,r,a)}),s)}},23469:function(t,e,r){"use strict";var n=r(71828);e.getSubplot=function(t){return t.subplot||t.xaxis+t.yaxis||t.geo},e.isTraceInSubplots=function(t,r){if("splom"===t.type){for(var n=t.xaxes||[],i=t.yaxes||[],a=0;a<n.length;a++)for(var o=0;o<i.length;o++)if(-1!==r.indexOf(n[a]+i[o]))return!0;return!1}return-1!==r.indexOf(e.getSubplot(t))},e.flat=function(t,e){for(var r=new Array(t.length),n=0;n<t.length;n++)r[n]=e;return r},e.p2c=function(t,e){for(var r=new Array(t.length),n=0;n<t.length;n++)r[n]=t[n].p2c(e);return r},e.getDistanceFunction=function(t,r,n,i){return"closest"===t?i||e.quadrature(r,n):"x"===t.charAt(0)?r:n},e.getClosest=function(t,e,r){if(!1!==r.index)r.index>=0&&r.index<t.length?r.distance=0:r.index=!1;else for(var n=0;n<t.length;n++){var i=e(t[n]);i<=r.distance&&(r.index=n,r.distance=i)}return r},e.inbox=function(t,e,r){return t*e<0||0===t?r:1/0},e.quadrature=function(t,e){return function(r){var n=t(r),i=e(r);return Math.sqrt(n*n+i*i)}},e.makeEventData=function(t,r,n){var i="index"in t?t.index:t.pointNumber,a={data:r._input,fullData:r,curveNumber:r.index,pointNumber:i};if(r._indexToPoints){var o=r._indexToPoints[i];1===o.length?a.pointIndex=o[0]:a.pointIndices=o}else a.pointIndex=i;return r._module.eventData?a=r._module.eventData(a,t,r,n,i):("xVal"in t?a.x=t.xVal:"x"in t&&(a.x=t.x),"yVal"in t?a.y=t.yVal:"y"in t&&(a.y=t.y),t.xa&&(a.xaxis=t.xa),t.ya&&(a.yaxis=t.ya),void 0!==t.zLabelVal&&(a.z=t.zLabelVal)),e.appendArrayPointValue(a,r,i),a},e.appendArrayPointValue=function(t,e,r){var i=e._arrayAttrs;if(i)for(var s=0;s<i.length;s++){var l=i[s],u=a(l);if(void 0===t[u]){var c=o(n.nestedProperty(e,l).get(),r);void 0!==c&&(t[u]=c)}}},e.appendArrayMultiPointValues=function(t,e,r){var i=e._arrayAttrs;if(i)for(var s=0;s<i.length;s++){var l=i[s],u=a(l);if(void 0===t[u]){for(var c=n.nestedProperty(e,l).get(),f=new Array(r.length),h=0;h<r.length;h++)f[h]=o(c,r[h]);t[u]=f}}};var i={ids:"id",locations:"location",labels:"label",values:"value","marker.colors":"color",parents:"parent"};function a(t){return i[t]||t}function o(t,e){return Array.isArray(e)?Array.isArray(t)&&Array.isArray(t[e[0]])?t[e[0]][e[1]]:void 0:t[e]}var s={x:!0,y:!0},l={"x unified":!0,"y unified":!0};e.isUnifiedHover=function(t){return"string"==typeof t&&!!l[t]},e.isXYhover=function(t){return"string"==typeof t&&!!s[t]}},88335:function(t,e,r){"use strict";var n=r(39898),i=r(92770),a=r(84267),o=r(71828),s=o.strTranslate,l=o.strRotate,u=r(11086),c=r(63893),f=r(39918),h=r(91424),p=r(7901),d=r(28569),v=r(89298),g=r(73972),y=r(23469),m=r(26675),x=r(99017),b=r(43969),_=m.YANGLE,w=Math.PI*_/180,T=1/Math.sin(w),k=Math.cos(w),A=Math.sin(w),M=m.HOVERARROWSIZE,S=m.HOVERTEXTPAD,E={box:!0,ohlc:!0,violin:!0,candlestick:!0},L={scatter:!0,scattergl:!0,splom:!0};function C(t){return[t.trace.index,t.index,t.x0,t.y0,t.name,t.attr,t.xa?t.xa._id:"",t.ya?t.ya._id:""].join(",")}e.hover=function(t,e,r,a){t=o.getGraphDiv(t);var s=e.target;o.throttle(t._fullLayout._uid+m.HOVERID,m.HOVERMINTIME,(function(){!function(t,e,r,a,s){r||(r="xy");var l=Array.isArray(r)?r:[r],c=t._fullLayout,h=c._plots||[],v=h[r],m=c._has("cartesian");if(v){var x=v.overlays.map((function(t){return t.id}));l=l.concat(x)}for(var b=l.length,_=new Array(b),w=new Array(b),k=!1,A=0;A<b;A++){var M=l[A];if(h[M])k=!0,_[A]=h[M].xaxis,w[A]=h[M].yaxis;else{if(!c[M]||!c[M]._subplot)return void o.warn("Unrecognized subplot: "+M);var S=c[M]._subplot;_[A]=S.xaxis,w[A]=S.yaxis}}var P=e.hovermode||c.hovermode;if(P&&!k&&(P="closest"),-1===["x","y","closest","x unified","y unified"].indexOf(P)||!t.calcdata||t.querySelector(".zoombox")||t._dragging)return d.unhoverRaw(t,e);var I=c.hoverdistance;-1===I&&(I=1/0);var B=c.spikedistance;-1===B&&(B=1/0);var V,H,q,G,Z,Y,W,X,J,K,$,Q,tt,et=[],rt=[],nt={hLinePoint:null,vLinePoint:null},it=!1;if(Array.isArray(e))for(P="array",q=0;q<e.length;q++)(Z=t.calcdata[e[q].curveNumber||0])&&(Y=Z[0].trace,"skip"!==Z[0].trace.hoverinfo&&(rt.push(Z),"h"===Y.orientation&&(it=!0)));else{for(G=0;G<t.calcdata.length;G++)Z=t.calcdata[G],"skip"!==(Y=Z[0].trace).hoverinfo&&y.isTraceInSubplots(Y,l)&&(rt.push(Z),"h"===Y.orientation&&(it=!0));var at,ot;if(s){if(!1===u.triggerHandler(t,"plotly_beforehover",e))return;var st=s.getBoundingClientRect();at=e.clientX-st.left,ot=e.clientY-st.top,c._calcInverseTransform(t);var lt=o.apply3DTransform(c._invTransform)(at,ot);if(at=lt[0],ot=lt[1],at<0||at>_[0]._length||ot<0||ot>w[0]._length)return d.unhoverRaw(t,e)}else at="xpx"in e?e.xpx:_[0]._length/2,ot="ypx"in e?e.ypx:w[0]._length/2;if(e.pointerX=at+_[0]._offset,e.pointerY=ot+w[0]._offset,V="xval"in e?y.flat(l,e.xval):y.p2c(_,at),H="yval"in e?y.flat(l,e.yval):y.p2c(w,ot),!i(V[0])||!i(H[0]))return o.warn("Fx.hover failed",e,t),d.unhoverRaw(t,e)}var ut=1/0;function ct(t,r){for(G=0;G<rt.length;G++)if((Z=rt[G])&&Z[0]&&Z[0].trace&&!0===(Y=Z[0].trace).visible&&0!==Y._length&&-1===["carpet","contourcarpet"].indexOf(Y._module.name)){if("splom"===Y.type?W=l[X=0]:(W=y.getSubplot(Y),X=l.indexOf(W)),J=P,y.isUnifiedHover(J)&&(J=J.charAt(0)),Q={cd:Z,trace:Y,xa:_[X],ya:w[X],maxHoverDistance:I,maxSpikeDistance:B,index:!1,distance:Math.min(ut,I),spikeDistance:1/0,xSpike:void 0,ySpike:void 0,color:p.defaultLine,name:Y.name,x0:void 0,x1:void 0,y0:void 0,y1:void 0,xLabelVal:void 0,yLabelVal:void 0,zLabelVal:void 0,text:void 0},c[W]&&(Q.subplot=c[W]._subplot),c._splomScenes&&c._splomScenes[Y.uid]&&(Q.scene=c._splomScenes[Y.uid]),tt=et.length,"array"===J){var n=e[G];"pointNumber"in n?(Q.index=n.pointNumber,J="closest"):(J="","xval"in n&&(K=n.xval,J="x"),"yval"in n&&($=n.yval,J=J?"closest":"y"))}else void 0!==t&&void 0!==r?(K=t,$=r):(K=V[X],$=H[X]);if(0!==I)if(Y._module&&Y._module.hoverPoints){var a=Y._module.hoverPoints(Q,K,$,J,{finiteRange:!0,hoverLayer:c._hoverlayer});if(a)for(var s,u=0;u<a.length;u++)s=a[u],i(s.x0)&&i(s.y0)&&et.push(z(s,P))}else o.log("Unrecognized trace type in hover:",Y);if("closest"===P&&et.length>tt&&(et.splice(0,tt),ut=et[0].distance),m&&0!==B&&0===et.length){Q.distance=B,Q.index=!1;var f=Y._module.hoverPoints(Q,K,$,"closest",{hoverLayer:c._hoverlayer});if(f&&(f=f.filter((function(t){return t.spikeDistance<=B}))),f&&f.length){var h,d=f.filter((function(t){return t.xa.showspikes&&"hovered data"!==t.xa.spikesnap}));if(d.length){var v=d[0];i(v.x0)&&i(v.y0)&&(h=ht(v),(!nt.vLinePoint||nt.vLinePoint.spikeDistance>h.spikeDistance)&&(nt.vLinePoint=h))}var g=f.filter((function(t){return t.ya.showspikes&&"hovered data"!==t.ya.spikesnap}));if(g.length){var x=g[0];i(x.x0)&&i(x.y0)&&(h=ht(x),(!nt.hLinePoint||nt.hLinePoint.spikeDistance>h.spikeDistance)&&(nt.hLinePoint=h))}}}}}function ft(t,e,r){for(var n,i=null,a=1/0,o=0;o<t.length;o++)n=t[o].spikeDistance,r&&0===o&&(n=-1/0),n<=a&&n<=e&&(i=t[o],a=n);return i}function ht(t){return t?{xa:t.xa,ya:t.ya,x:void 0!==t.xSpike?t.xSpike:(t.x0+t.x1)/2,y:void 0!==t.ySpike?t.ySpike:(t.y0+t.y1)/2,distance:t.distance,spikeDistance:t.spikeDistance,curveNumber:t.trace.index,color:t.color,pointNumber:t.index}:null}ct();var pt={fullLayout:c,container:c._hoverlayer,event:e},dt=t._spikepoints,vt={vLinePoint:nt.vLinePoint,hLinePoint:nt.hLinePoint};t._spikepoints=vt;var gt=function(){et.sort((function(t,e){return t.distance-e.distance})),et=function(t,e){for(var r=e.charAt(0),n=[],i=[],a=[],o=0;o<t.length;o++){var s=t[o];g.traceIs(s.trace,"bar-like")||g.traceIs(s.trace,"box-violin")?a.push(s):s.trace[r+"period"]?i.push(s):n.push(s)}return n.concat(i).concat(a)}(et,P)};gt();var yt=P.charAt(0),mt=("x"===yt||"y"===yt)&&et[0]&&L[et[0].trace.type];if(m&&0!==B&&0!==et.length){var xt=ft(et.filter((function(t){return t.ya.showspikes})),B,mt);nt.hLinePoint=ht(xt);var bt=ft(et.filter((function(t){return t.xa.showspikes})),B,mt);nt.vLinePoint=ht(bt)}if(0===et.length){var _t=d.unhoverRaw(t,e);return!m||null===nt.hLinePoint&&null===nt.vLinePoint||F(dt)&&R(t,nt,pt),_t}if(m&&F(dt)&&R(t,nt,pt),y.isXYhover(J)&&0!==et[0].length&&"splom"!==et[0].trace.type){var wt=et[0],Tt=(et=E[wt.trace.type]?et.filter((function(t){return t.trace.index===wt.trace.index})):[wt]).length;ct(N("x",wt,c),N("y",wt,c));var kt,At=[],Mt={},St=0,Et=function(t){var e=E[t.trace.type]?C(t):t.trace.index;if(Mt[e]){var r=Mt[e]-1,n=At[r];r>0&&Math.abs(t.distance)<Math.abs(n.distance)&&(At[r]=t)}else St++,Mt[e]=St,At.push(t)};for(kt=0;kt<Tt;kt++)Et(et[kt]);for(kt=et.length-1;kt>Tt-1;kt--)Et(et[kt]);et=At,gt()}var Lt=t._hoverdata,Ct=[],Pt=j(t),Ot=U(t);for(q=0;q<et.length;q++){var It=et[q],Dt=y.makeEventData(It,It.trace,It.cd);if(!1!==It.hovertemplate){var zt=!1;It.cd[It.index]&&It.cd[It.index].ht&&(zt=It.cd[It.index].ht),It.hovertemplate=zt||It.trace.hovertemplate||!1}if(It.xa&&It.ya){var Rt=It.x0+It.xa._offset,Ft=It.x1+It.xa._offset,Bt=It.y0+It.ya._offset,Nt=It.y1+It.ya._offset,jt=Math.min(Rt,Ft),Ut=Math.max(Rt,Ft),Vt=Math.min(Bt,Nt),Ht=Math.max(Bt,Nt);Dt.bbox={x0:jt+Ot,x1:Ut+Ot,y0:Vt+Pt,y1:Ht+Pt}}It.eventData=[Dt],Ct.push(Dt)}t._hoverdata=Ct;var qt="y"===P&&(rt.length>1||et.length>1)||"closest"===P&&it&&et.length>1,Gt=p.combine(c.plot_bgcolor||p.background,c.paper_bgcolor),Zt=O(et,{gd:t,hovermode:P,rotateLabels:qt,bgColor:Gt,container:c._hoverlayer,outerContainer:c._paper.node(),commonLabelOpts:c.hoverlabel,hoverdistance:c.hoverdistance});if(y.isUnifiedHover(P)||(function(t,e,r){var n,i,a,o,s,l,u,c=0,f=1,h=t.size(),p=new Array(h),d=0;function v(t){var e=t[0],r=t[t.length-1];if(i=e.pmin-e.pos-e.dp+e.size,a=r.pos+r.dp+r.size-e.pmax,i>.01){for(s=t.length-1;s>=0;s--)t[s].dp+=i;n=!1}if(!(a<.01)){if(i<-.01){for(s=t.length-1;s>=0;s--)t[s].dp-=a;n=!1}if(n){var u=0;for(o=0;o<t.length;o++)(l=t[o]).pos+l.dp+l.size>e.pmax&&u++;for(o=t.length-1;o>=0&&!(u<=0);o--)(l=t[o]).pos>e.pmax-1&&(l.del=!0,u--);for(o=0;o<t.length&&!(u<=0);o++)if((l=t[o]).pos<e.pmin+1)for(l.del=!0,u--,a=2*l.size,s=t.length-1;s>=0;s--)t[s].dp-=a;for(o=t.length-1;o>=0&&!(u<=0);o--)(l=t[o]).pos+l.dp+l.size>e.pmax&&(l.del=!0,u--)}}}for(t.each((function(t){var n=t[e],i="x"===n._id.charAt(0),a=n.range;0===d&&a&&a[0]>a[1]!==i&&(f=-1),p[d++]=[{datum:t,traceIndex:t.trace.index,dp:0,pos:t.pos,posref:t.posref,size:t.by*(i?T:1)/2,pmin:0,pmax:i?r.width:r.height}]})),p.sort((function(t,e){return t[0].posref-e[0].posref||f*(e[0].traceIndex-t[0].traceIndex)}));!n&&c<=h;){for(c++,n=!0,o=0;o<p.length-1;){var g=p[o],y=p[o+1],m=g[g.length-1],x=y[0];if((i=m.pos+m.dp+m.size-x.pos-x.dp+x.size)>.01&&m.pmin===x.pmin&&m.pmax===x.pmax){for(s=y.length-1;s>=0;s--)y[s].dp+=i;for(g.push.apply(g,y),p.splice(o+1,1),u=0,s=g.length-1;s>=0;s--)u+=g[s].dp;for(a=u/g.length,s=g.length-1;s>=0;s--)g[s].dp-=a;n=!1}else o++}p.forEach(v)}for(o=p.length-1;o>=0;o--){var b=p[o];for(s=b.length-1;s>=0;s--){var _=b[s],w=_.datum;w.offset=_.dp,w.del=_.del}}}(Zt,qt?"xa":"ya",c),D(Zt,qt,c._invScaleX,c._invScaleY)),s&&s.tagName){var Yt=g.getComponentMethod("annotations","hasClickToShow")(t,Ct);f(n.select(s),Yt?"pointer":"")}s&&!a&&function(t,e,r){if(!r||r.length!==t._hoverdata.length)return!0;for(var n=r.length-1;n>=0;n--){var i=r[n],a=t._hoverdata[n];if(i.curveNumber!==a.curveNumber||String(i.pointNumber)!==String(a.pointNumber)||String(i.pointNumbers)!==String(a.pointNumbers))return!0}return!1}(t,0,Lt)&&(Lt&&t.emit("plotly_unhover",{event:e,points:Lt}),t.emit("plotly_hover",{event:e,points:t._hoverdata,xaxes:_,yaxes:w,xvals:V,yvals:H}))}(t,e,r,a,s)}))},e.loneHover=function(t,e){var r=!0;Array.isArray(t)||(r=!1,t=[t]);var i=e.gd,a=j(i),o=U(i),s=O(t.map((function(t){var r=t._x0||t.x0||t.x||0,n=t._x1||t.x1||t.x||0,s=t._y0||t.y0||t.y||0,l=t._y1||t.y1||t.y||0,u=t.eventData;if(u){var c=Math.min(r,n),f=Math.max(r,n),h=Math.min(s,l),d=Math.max(s,l),v=t.trace;if(g.traceIs(v,"gl3d")){var y=i._fullLayout[v.scene]._scene.container,m=y.offsetLeft,x=y.offsetTop;c+=m,f+=m,h+=x,d+=x}u.bbox={x0:c+o,x1:f+o,y0:h+a,y1:d+a},e.inOut_bbox&&e.inOut_bbox.push(u.bbox)}else u=!1;return{color:t.color||p.defaultLine,x0:t.x0||t.x||0,x1:t.x1||t.x||0,y0:t.y0||t.y||0,y1:t.y1||t.y||0,xLabel:t.xLabel,yLabel:t.yLabel,zLabel:t.zLabel,text:t.text,name:t.name,idealAlign:t.idealAlign,borderColor:t.borderColor,fontFamily:t.fontFamily,fontSize:t.fontSize,fontColor:t.fontColor,nameLength:t.nameLength,textAlign:t.textAlign,trace:t.trace||{index:0,hoverinfo:""},xa:{_offset:0},ya:{_offset:0},index:0,hovertemplate:t.hovertemplate||!1,hovertemplateLabels:t.hovertemplateLabels||!1,eventData:u}})),{gd:i,hovermode:"closest",rotateLabels:!1,bgColor:e.bgColor||p.background,container:n.select(e.container),outerContainer:e.outerContainer||e.container}),l=0,u=0;return s.sort((function(t,e){return t.y0-e.y0})).each((function(t,r){var n=t.y0-t.by/2;t.offset=n-5<l?l-n+5:0,l=n+t.by+t.offset,r===e.anchorIndex&&(u=t.offset)})).each((function(t){t.offset-=u})),D(s,!1,i._fullLayout._invScaleX,i._fullLayout._invScaleY),r?s:s.node()};var P=/<extra>([\s\S]*)<\/extra>/;function O(t,e){var r=e.gd,i=r._fullLayout,a=e.hovermode,u=e.rotateLabels,f=e.bgColor,d=e.container,v=e.outerContainer,w=e.commonLabelOpts||{};if(0===t.length)return[[]];var T=e.fontFamily||m.HOVERFONT,k=e.fontSize||m.HOVERFONTSIZE,A=t[0],E=A.xa,L=A.ya,P=a.charAt(0),O=P+"Label",D=A[O];if(void 0===D&&"multicategory"===E.type)for(var z=0;z<t.length&&void 0===(D=t[z][O]);z++);var R=V(r,v),F=R.top,B=R.width,N=R.height,j=void 0!==D&&A.distance<=e.hoverdistance&&("x"===a||"y"===a);if(j){var U,H,q=!0;for(U=0;U<t.length;U++)if(q&&void 0===t[U].zLabel&&(q=!1),H=t[U].hoverinfo||t[U].trace.hoverinfo){var G=Array.isArray(H)?H:H.split("+");if(-1===G.indexOf("all")&&-1===G.indexOf(a)){j=!1;break}}q&&(j=!1)}var Z=d.selectAll("g.axistext").data(j?[0]:[]);if(Z.enter().append("g").classed("axistext",!0),Z.exit().remove(),Z.each((function(){var t=n.select(this),e=o.ensureSingle(t,"path","",(function(t){t.style({"stroke-width":"1px"})})),l=o.ensureSingle(t,"text","",(function(t){t.attr("data-notex",1)})),u=w.bgcolor||p.defaultLine,f=w.bordercolor||p.contrast(u),d=p.contrast(u),v={family:w.font.family||T,size:w.font.size||k,color:w.font.color||d};e.style({fill:u,stroke:f}),l.text(D).call(h.font,v).call(c.positionText,0,0).call(c.convertToTspans,r),t.attr("transform","");var g,y,m=V(r,l.node());if("x"===a){var x="top"===E.side?"-":"";l.attr("text-anchor","middle").call(c.positionText,0,"top"===E.side?F-m.bottom-M-S:F-m.top+M+S),g=E._offset+(A.x0+A.x1)/2,y=L._offset+("top"===E.side?0:L._length);var b=m.width/2+S;g<b?(g=b,e.attr("d","M-"+(b-M)+",0L-"+(b-2*M)+","+x+M+"H"+(S+m.width/2)+"v"+x+(2*S+m.height)+"H-"+b+"V"+x+M+"Z")):g>i.width-b?(g=i.width-b,e.attr("d","M"+(b-M)+",0L"+b+","+x+M+"v"+x+(2*S+m.height)+"H-"+b+"V"+x+M+"H"+(b-2*M)+"Z")):e.attr("d","M0,0L"+M+","+x+M+"H"+(S+m.width/2)+"v"+x+(2*S+m.height)+"H-"+(S+m.width/2)+"V"+x+M+"H-"+M+"Z")}else{var _,C,P;"right"===L.side?(_="start",C=1,P="",g=E._offset+E._length):(_="end",C=-1,P="-",g=E._offset),y=L._offset+(A.y0+A.y1)/2,l.attr("text-anchor",_),e.attr("d","M0,0L"+P+M+","+M+"V"+(S+m.height/2)+"h"+P+(2*S+m.width)+"V-"+(S+m.height/2)+"H"+P+M+"V-"+M+"Z");var O,I=m.height/2,z=F-m.top-I,R="clip"+i._uid+"commonlabel"+L._id;if(g<m.width+2*S+M){O="M-"+(M+S)+"-"+I+"h-"+(m.width-S)+"V"+I+"h"+(m.width-S)+"Z";var B=m.width-g+S;c.positionText(l,B,z),"end"===_&&l.selectAll("tspan").each((function(){var t=n.select(this),e=h.tester.append("text").text(t.text()).call(h.font,v),i=V(r,e.node());Math.round(i.width)<Math.round(m.width)&&t.attr("x",B-i.width),e.remove()}))}else c.positionText(l,C*(S+M),z),O=null;var N=i._topclips.selectAll("#"+R).data(O?[0]:[]);N.enter().append("clipPath").attr("id",R).append("path"),N.exit().remove(),N.select("path").attr("d",O),h.setClipUrl(l,O?R:null,r)}t.attr("transform",s(g,y))})),y.isUnifiedHover(a)){d.selectAll("g.hovertext").remove();var Y=t.filter((function(t){return"none"!==t.hoverinfo}));if(0===Y.length)return;var W=i.hoverlabel,X=W.font,J={showlegend:!0,legend:{title:{text:D,font:X},font:X,bgcolor:W.bgcolor,bordercolor:W.bordercolor,borderwidth:1,tracegroupgap:7,traceorder:i.legend?i.legend.traceorder:void 0,orientation:"v"}},K={font:X};x(J,K,r._fullData);var $=K.legend;$.entries=[];for(var Q=0;Q<Y.length;Q++){var tt=Y[Q];if("none"!==tt.hoverinfo){var et=I(tt,!0,a,i,D),rt=et[0],nt=et[1];tt.name=nt,tt.text=""!==nt?nt+" : "+rt:rt;var it=tt.cd[tt.index];it&&(it.mc&&(tt.mc=it.mc),it.mcc&&(tt.mc=it.mcc),it.mlc&&(tt.mlc=it.mlc),it.mlcc&&(tt.mlc=it.mlcc),it.mlw&&(tt.mlw=it.mlw),it.mrc&&(tt.mrc=it.mrc),it.dir&&(tt.dir=it.dir)),tt._distinct=!0,$.entries.push([tt])}}$.entries.sort((function(t,e){return t[0].trace.index-e[0].trace.index})),$.layer=d,$._inHover=!0,$._groupTitleFont=W.grouptitlefont,b(r,$);var at,ot,st,lt,ut=d.select("g.legend"),ct=V(r,ut.node()),ft=ct.width+2*S,ht=ct.height+2*S,pt=Y[0],dt=(pt.x0+pt.x1)/2,vt=(pt.y0+pt.y1)/2,gt=!(g.traceIs(pt.trace,"bar-like")||g.traceIs(pt.trace,"box-violin"));"y"===P?gt?(ot=vt-S,at=vt+S):(ot=Math.min.apply(null,Y.map((function(t){return Math.min(t.y0,t.y1)}))),at=Math.max.apply(null,Y.map((function(t){return Math.max(t.y0,t.y1)})))):ot=at=o.mean(Y.map((function(t){return(t.y0+t.y1)/2})))-ht/2,"x"===P?gt?(st=dt+S,lt=dt-S):(st=Math.max.apply(null,Y.map((function(t){return Math.max(t.x0,t.x1)}))),lt=Math.min.apply(null,Y.map((function(t){return Math.min(t.x0,t.x1)})))):st=lt=o.mean(Y.map((function(t){return(t.x0+t.x1)/2})))-ft/2;var yt,mt,xt=E._offset,bt=L._offset;return lt+=xt-ft,ot+=bt-ht,yt=(st+=xt)+ft<B&&st>=0?st:lt+ft<B&<>=0?lt:xt+ft<B?xt:st-dt<dt-lt+ft?B-ft:0,yt+=S,mt=(at+=bt)+ht<N&&at>=0?at:ot+ht<N&&ot>=0?ot:bt+ht<N?bt:at-vt<vt-ot+ht?N-ht:0,mt+=S,ut.attr("transform",s(yt-1,mt-1)),ut}var _t=d.selectAll("g.hovertext").data(t,(function(t){return C(t)}));return _t.enter().append("g").classed("hovertext",!0).each((function(){var t=n.select(this);t.append("rect").call(p.fill,p.addOpacity(f,.8)),t.append("text").classed("name",!0),t.append("path").style("stroke-width","1px"),t.append("text").classed("nums",!0).call(h.font,T,k)})),_t.exit().remove(),_t.each((function(t){var e=n.select(this).attr("transform",""),o=t.color;Array.isArray(o)&&(o=o[t.eventData[0].pointNumber]);var d=t.bgcolor||o,v=p.combine(p.opacity(d)?d:p.defaultLine,f),g=p.combine(p.opacity(o)?o:p.defaultLine,f),y=t.borderColor||p.contrast(v),m=I(t,j,a,i,D,e),x=m[0],b=m[1],w=e.select("text.nums").call(h.font,t.fontFamily||T,t.fontSize||k,t.fontColor||y).text(x).attr("data-notex",1).call(c.positionText,0,0).call(c.convertToTspans,r),A=e.select("text.name"),E=0,L=0;if(b&&b!==x){A.call(h.font,t.fontFamily||T,t.fontSize||k,g).text(b).attr("data-notex",1).call(c.positionText,0,0).call(c.convertToTspans,r);var C=V(r,A.node());E=C.width+2*S,L=C.height+2*S}else A.remove(),e.select("rect").remove();e.select("path").style({fill:v,stroke:y});var P=t.xa._offset+(t.x0+t.x1)/2,O=t.ya._offset+(t.y0+t.y1)/2,z=Math.abs(t.x1-t.x0),R=Math.abs(t.y1-t.y0),U=V(r,w.node()),H=U.width/i._invScaleX,q=U.height/i._invScaleY;t.ty0=(F-U.top)/i._invScaleY,t.bx=H+2*S,t.by=Math.max(q+2*S,L),t.anchor="start",t.txwidth=H,t.tx2width=E,t.offset=0;var G,Z,Y=(H+M+S+E)*i._invScaleX;if(u)t.pos=P,G=O+R/2+Y<=N,Z=O-R/2-Y>=0,"top"!==t.idealAlign&&G||!Z?G?(O+=R/2,t.anchor="start"):t.anchor="middle":(O-=R/2,t.anchor="end");else if(t.pos=O,G=P+z/2+Y<=B,Z=P-z/2-Y>=0,"left"!==t.idealAlign&&G||!Z)if(G)P+=z/2,t.anchor="start";else{t.anchor="middle";var W=Y/2,X=P+W-B,J=P-W;X>0&&(P-=X),J<0&&(P+=-J)}else P-=z/2,t.anchor="end";w.attr("text-anchor",t.anchor),E&&A.attr("text-anchor",t.anchor),e.attr("transform",s(P,O)+(u?l(_):""))})),_t}function I(t,e,r,n,i,a){var s="",l="";void 0!==t.nameOverride&&(t.name=t.nameOverride),t.name&&(t.trace._meta&&(t.name=o.templateString(t.name,t.trace._meta)),s=B(t.name,t.nameLength));var u=r.charAt(0),c="x"===u?"y":"x";void 0!==t.zLabel?(void 0!==t.xLabel&&(l+="x: "+t.xLabel+"<br>"),void 0!==t.yLabel&&(l+="y: "+t.yLabel+"<br>"),"choropleth"!==t.trace.type&&"choroplethmapbox"!==t.trace.type&&(l+=(l?"z: ":"")+t.zLabel)):e&&t[u+"Label"]===i?l=t[c+"Label"]||"":void 0===t.xLabel?void 0!==t.yLabel&&"scattercarpet"!==t.trace.type&&(l=t.yLabel):l=void 0===t.yLabel?t.xLabel:"("+t.xLabel+", "+t.yLabel+")",!t.text&&0!==t.text||Array.isArray(t.text)||(l+=(l?"<br>":"")+t.text),void 0!==t.extraText&&(l+=(l?"<br>":"")+t.extraText),a&&""===l&&!t.hovertemplate&&(""===s&&a.remove(),l=s);var f=t.hovertemplate||!1;if(f){var h=t.hovertemplateLabels||t;t[u+"Label"]!==i&&(h[u+"other"]=h[u+"Val"],h[u+"otherLabel"]=h[u+"Label"]),l=(l=o.hovertemplateString(f,h,n._d3locale,t.eventData[0]||{},t.trace._meta)).replace(P,(function(e,r){return s=B(r,t.nameLength),""}))}return[l,s]}function D(t,e,r,i){var a=function(t){return t*r},o=function(t){return t*i};t.each((function(t){var r=n.select(this);if(t.del)return r.remove();var i=r.select("text.nums"),s=t.anchor,l="end"===s?-1:1,u={start:1,end:-1,middle:0}[s],f=u*(M+S),p=f+u*(t.txwidth+S),d=0,v=t.offset,g="middle"===s;g&&(f-=t.tx2width/2,p+=t.txwidth/2+S),e&&(v*=-A,d=t.offset*k),r.select("path").attr("d",g?"M-"+a(t.bx/2+t.tx2width/2)+","+o(v-t.by/2)+"h"+a(t.bx)+"v"+o(t.by)+"h-"+a(t.bx)+"Z":"M0,0L"+a(l*M+d)+","+o(M+v)+"v"+o(t.by/2-M)+"h"+a(l*t.bx)+"v-"+o(t.by)+"H"+a(l*M+d)+"V"+o(v-M)+"Z");var y=d+f,m=v+t.ty0-t.by/2+S,x=t.textAlign||"auto";"auto"!==x&&("left"===x&&"start"!==s?(i.attr("text-anchor","start"),y=g?-t.bx/2-t.tx2width/2+S:-t.bx-S):"right"===x&&"end"!==s&&(i.attr("text-anchor","end"),y=g?t.bx/2-t.tx2width/2-S:t.bx+S)),i.call(c.positionText,a(y),o(m)),t.tx2width&&(r.select("text.name").call(c.positionText,a(p+u*S+d),o(v+t.ty0-t.by/2+S)),r.select("rect").call(h.setRect,a(p+(u-1)*t.tx2width/2+d),o(v-t.by/2-1),a(t.tx2width),o(t.by+2)))}))}function z(t,e){var r=t.index,n=t.trace||{},a=t.cd[0],s=t.cd[r]||{};function l(t){return t||i(t)&&0===t}var u=Array.isArray(r)?function(t,e){var i=o.castOption(a,r,t);return l(i)?i:o.extractOption({},n,"",e)}:function(t,e){return o.extractOption(s,n,t,e)};function c(e,r,n){var i=u(r,n);l(i)&&(t[e]=i)}if(c("hoverinfo","hi","hoverinfo"),c("bgcolor","hbg","hoverlabel.bgcolor"),c("borderColor","hbc","hoverlabel.bordercolor"),c("fontFamily","htf","hoverlabel.font.family"),c("fontSize","hts","hoverlabel.font.size"),c("fontColor","htc","hoverlabel.font.color"),c("nameLength","hnl","hoverlabel.namelength"),c("textAlign","hta","hoverlabel.align"),t.posref="y"===e||"closest"===e&&"h"===n.orientation?t.xa._offset+(t.x0+t.x1)/2:t.ya._offset+(t.y0+t.y1)/2,t.x0=o.constrain(t.x0,0,t.xa._length),t.x1=o.constrain(t.x1,0,t.xa._length),t.y0=o.constrain(t.y0,0,t.ya._length),t.y1=o.constrain(t.y1,0,t.ya._length),void 0!==t.xLabelVal&&(t.xLabel="xLabel"in t?t.xLabel:v.hoverLabelText(t.xa,t.xLabelVal,n.xhoverformat),t.xVal=t.xa.c2d(t.xLabelVal)),void 0!==t.yLabelVal&&(t.yLabel="yLabel"in t?t.yLabel:v.hoverLabelText(t.ya,t.yLabelVal,n.yhoverformat),t.yVal=t.ya.c2d(t.yLabelVal)),void 0!==t.zLabelVal&&void 0===t.zLabel&&(t.zLabel=String(t.zLabelVal)),!(isNaN(t.xerr)||"log"===t.xa.type&&t.xerr<=0)){var f=v.tickText(t.xa,t.xa.c2l(t.xerr),"hover").text;void 0!==t.xerrneg?t.xLabel+=" +"+f+" / -"+v.tickText(t.xa,t.xa.c2l(t.xerrneg),"hover").text:t.xLabel+=" ± "+f,"x"===e&&(t.distance+=1)}if(!(isNaN(t.yerr)||"log"===t.ya.type&&t.yerr<=0)){var h=v.tickText(t.ya,t.ya.c2l(t.yerr),"hover").text;void 0!==t.yerrneg?t.yLabel+=" +"+h+" / -"+v.tickText(t.ya,t.ya.c2l(t.yerrneg),"hover").text:t.yLabel+=" ± "+h,"y"===e&&(t.distance+=1)}var p=t.hoverinfo||t.trace.hoverinfo;return p&&"all"!==p&&(-1===(p=Array.isArray(p)?p:p.split("+")).indexOf("x")&&(t.xLabel=void 0),-1===p.indexOf("y")&&(t.yLabel=void 0),-1===p.indexOf("z")&&(t.zLabel=void 0),-1===p.indexOf("text")&&(t.text=void 0),-1===p.indexOf("name")&&(t.name=void 0)),t}function R(t,e,r){var n,i,o=r.container,s=r.fullLayout,l=s._size,u=r.event,c=!!e.hLinePoint,f=!!e.vLinePoint;if(o.selectAll(".spikeline").remove(),f||c){var d=p.combine(s.plot_bgcolor,s.paper_bgcolor);if(c){var g,y,m=e.hLinePoint;n=m&&m.xa,"cursor"===(i=m&&m.ya).spikesnap?(g=u.pointerX,y=u.pointerY):(g=n._offset+m.x,y=i._offset+m.y);var x,b,_=a.readability(m.color,d)<1.5?p.contrast(d):m.color,w=i.spikemode,T=i.spikethickness,k=i.spikecolor||_,A=v.getPxPosition(t,i);if(-1!==w.indexOf("toaxis")||-1!==w.indexOf("across")){if(-1!==w.indexOf("toaxis")&&(x=A,b=g),-1!==w.indexOf("across")){var M=i._counterDomainMin,S=i._counterDomainMax;"free"===i.anchor&&(M=Math.min(M,i.position),S=Math.max(S,i.position)),x=l.l+M*l.w,b=l.l+S*l.w}o.insert("line",":first-child").attr({x1:x,x2:b,y1:y,y2:y,"stroke-width":T,stroke:k,"stroke-dasharray":h.dashStyle(i.spikedash,T)}).classed("spikeline",!0).classed("crisp",!0),o.insert("line",":first-child").attr({x1:x,x2:b,y1:y,y2:y,"stroke-width":T+2,stroke:d}).classed("spikeline",!0).classed("crisp",!0)}-1!==w.indexOf("marker")&&o.insert("circle",":first-child").attr({cx:A+("right"!==i.side?T:-T),cy:y,r:T,fill:k}).classed("spikeline",!0)}if(f){var E,L,C=e.vLinePoint;n=C&&C.xa,i=C&&C.ya,"cursor"===n.spikesnap?(E=u.pointerX,L=u.pointerY):(E=n._offset+C.x,L=i._offset+C.y);var P,O,I=a.readability(C.color,d)<1.5?p.contrast(d):C.color,D=n.spikemode,z=n.spikethickness,R=n.spikecolor||I,F=v.getPxPosition(t,n);if(-1!==D.indexOf("toaxis")||-1!==D.indexOf("across")){if(-1!==D.indexOf("toaxis")&&(P=F,O=L),-1!==D.indexOf("across")){var B=n._counterDomainMin,N=n._counterDomainMax;"free"===n.anchor&&(B=Math.min(B,n.position),N=Math.max(N,n.position)),P=l.t+(1-N)*l.h,O=l.t+(1-B)*l.h}o.insert("line",":first-child").attr({x1:E,x2:E,y1:P,y2:O,"stroke-width":z,stroke:R,"stroke-dasharray":h.dashStyle(n.spikedash,z)}).classed("spikeline",!0).classed("crisp",!0),o.insert("line",":first-child").attr({x1:E,x2:E,y1:P,y2:O,"stroke-width":z+2,stroke:d}).classed("spikeline",!0).classed("crisp",!0)}-1!==D.indexOf("marker")&&o.insert("circle",":first-child").attr({cx:E,cy:F-("top"!==n.side?z:-z),r:z,fill:R}).classed("spikeline",!0)}}}function F(t,e){return!e||e.vLinePoint!==t._spikepoints.vLinePoint||e.hLinePoint!==t._spikepoints.hLinePoint}function B(t,e){return c.plainText(t||"",{len:e,allowedTags:["br","sub","sup","b","i","em"]})}function N(t,e,r){var n=e[t+"a"],i=e[t+"Val"],a=e.cd[0];if("category"===n.type||"multicategory"===n.type)i=n._categoriesMap[i];else if("date"===n.type){var o=e.trace[t+"periodalignment"];if(o){var s=e.cd[e.index],l=s[t+"Start"];void 0===l&&(l=s[t]);var u=s[t+"End"];void 0===u&&(u=s[t]);var c=u-l;"end"===o?i+=c:"middle"===o&&(i+=c/2)}i=n.d2c(i)}return a&&a.t&&a.t.posLetter===n._id&&("group"!==r.boxmode&&"group"!==r.violinmode||(i+=a.t.dPos)),i}function j(t){return t.offsetTop+t.clientTop}function U(t){return t.offsetLeft+t.clientLeft}function V(t,e){var r=t._fullLayout,n=e.getBoundingClientRect(),i=n.x,a=n.y,s=i+n.width,l=a+n.height,u=o.apply3DTransform(r._invTransform)(i,a),c=o.apply3DTransform(r._invTransform)(s,l),f=u[0],h=u[1],p=c[0],d=c[1];return{x:f,y:h,width:p-f,height:d-h,top:Math.min(h,d),left:Math.min(f,p),right:Math.max(f,p),bottom:Math.max(h,d)}}},38048:function(t,e,r){"use strict";var n=r(71828),i=r(7901),a=r(23469).isUnifiedHover;t.exports=function(t,e,r,o){o=o||{};var s=e.legend;function l(t){o.font[t]||(o.font[t]=s?e.legend.font[t]:e.font[t])}e&&a(e.hovermode)&&(o.font||(o.font={}),l("size"),l("family"),l("color"),s?(o.bgcolor||(o.bgcolor=i.combine(e.legend.bgcolor,e.paper_bgcolor)),o.bordercolor||(o.bordercolor=e.legend.bordercolor)):o.bgcolor||(o.bgcolor=e.paper_bgcolor)),r("hoverlabel.bgcolor",o.bgcolor),r("hoverlabel.bordercolor",o.bordercolor),r("hoverlabel.namelength",o.namelength),n.coerceFont(r,"hoverlabel.font",o.font),r("hoverlabel.align",o.align)}},98212:function(t,e,r){"use strict";var n=r(71828),i=r(528);t.exports=function(t,e){function r(r,a){return void 0!==e[r]?e[r]:n.coerce(t,e,i,r,a)}return r("clickmode"),r("hovermode")}},30211:function(t,e,r){"use strict";var n=r(39898),i=r(71828),a=r(28569),o=r(23469),s=r(528),l=r(88335);t.exports={moduleType:"component",name:"fx",constants:r(26675),schema:{layout:s},attributes:r(77914),layoutAttributes:s,supplyLayoutGlobalDefaults:r(22774),supplyDefaults:r(54268),supplyLayoutDefaults:r(34938),calc:r(30732),getDistanceFunction:o.getDistanceFunction,getClosest:o.getClosest,inbox:o.inbox,quadrature:o.quadrature,appendArrayPointValue:o.appendArrayPointValue,castHoverOption:function(t,e,r){return i.castOption(t,e,"hoverlabel."+r)},castHoverinfo:function(t,e,r){return i.castOption(t,r,"hoverinfo",(function(r){return i.coerceHoverinfo({hoverinfo:r},{_module:t._module},e)}))},hover:l.hover,unhover:a.unhover,loneHover:l.loneHover,loneUnhover:function(t){var e=i.isD3Selection(t)?t:n.select(t);e.selectAll("g.hovertext").remove(),e.selectAll(".spikeline").remove()},click:r(75914)}},528:function(t,e,r){"use strict";var n=r(26675),i=r(41940),a=i({editType:"none"});a.family.dflt=n.HOVERFONT,a.size.dflt=n.HOVERFONTSIZE,t.exports={clickmode:{valType:"flaglist",flags:["event","select"],dflt:"event",editType:"plot",extras:["none"]},dragmode:{valType:"enumerated",values:["zoom","pan","select","lasso","drawclosedpath","drawopenpath","drawline","drawrect","drawcircle","orbit","turntable",!1],dflt:"zoom",editType:"modebar"},hovermode:{valType:"enumerated",values:["x","y","closest",!1,"x unified","y unified"],dflt:"closest",editType:"modebar"},hoverdistance:{valType:"integer",min:-1,dflt:20,editType:"none"},spikedistance:{valType:"integer",min:-1,dflt:-1,editType:"none"},hoverlabel:{bgcolor:{valType:"color",editType:"none"},bordercolor:{valType:"color",editType:"none"},font:a,grouptitlefont:i({editType:"none"}),align:{valType:"enumerated",values:["left","right","auto"],dflt:"auto",editType:"none"},namelength:{valType:"integer",min:-1,dflt:15,editType:"none"},editType:"none"},selectdirection:{valType:"enumerated",values:["h","v","d","any"],dflt:"any",editType:"none"}}},34938:function(t,e,r){"use strict";var n=r(71828),i=r(528),a=r(98212),o=r(38048);t.exports=function(t,e){function r(r,a){return n.coerce(t,e,i,r,a)}a(t,e)&&(r("hoverdistance"),r("spikedistance")),"select"===r("dragmode")&&r("selectdirection");var s=e._has("mapbox"),l=e._has("geo"),u=e._basePlotModules.length;"zoom"===e.dragmode&&((s||l)&&1===u||s&&l&&2===u)&&(e.dragmode="pan"),o(t,e,r),n.coerceFont(r,"hoverlabel.grouptitlefont",e.hoverlabel.font)}},22774:function(t,e,r){"use strict";var n=r(71828),i=r(38048),a=r(528);t.exports=function(t,e){i(t,e,(function(r,i){return n.coerce(t,e,a,r,i)}))}},83312:function(t,e,r){"use strict";var n=r(71828),i=r(30587).counter,a=r(27670).Y,o=r(85555).idRegex,s=r(44467),l={rows:{valType:"integer",min:1,editType:"plot"},roworder:{valType:"enumerated",values:["top to bottom","bottom to top"],dflt:"top to bottom",editType:"plot"},columns:{valType:"integer",min:1,editType:"plot"},subplots:{valType:"info_array",freeLength:!0,dimensions:2,items:{valType:"enumerated",values:[i("xy").toString(),""],editType:"plot"},editType:"plot"},xaxes:{valType:"info_array",freeLength:!0,items:{valType:"enumerated",values:[o.x.toString(),""],editType:"plot"},editType:"plot"},yaxes:{valType:"info_array",freeLength:!0,items:{valType:"enumerated",values:[o.y.toString(),""],editType:"plot"},editType:"plot"},pattern:{valType:"enumerated",values:["independent","coupled"],dflt:"coupled",editType:"plot"},xgap:{valType:"number",min:0,max:1,editType:"plot"},ygap:{valType:"number",min:0,max:1,editType:"plot"},domain:a({name:"grid",editType:"plot",noGridCell:!0},{}),xside:{valType:"enumerated",values:["bottom","bottom plot","top plot","top"],dflt:"bottom plot",editType:"plot"},yside:{valType:"enumerated",values:["left","left plot","right plot","right"],dflt:"left plot",editType:"plot"},editType:"plot"};function u(t,e,r){var n=e[r+"axes"],i=Object.keys((t._splomAxes||{})[r]||{});return Array.isArray(n)?n:i.length?i:void 0}function c(t,e,r,n,i,a){var o=e(t+"gap",r),s=e("domain."+t);e(t+"side",n);for(var l=new Array(i),u=s[0],c=(s[1]-u)/(i-o),f=c*(1-o),h=0;h<i;h++){var p=u+c*h;l[a?i-1-h:h]=[p,p+f]}return l}function f(t,e,r,n,i){var a,o=new Array(r);function s(t,r){-1!==e.indexOf(r)&&void 0===n[r]?(o[t]=r,n[r]=t):o[t]=""}if(Array.isArray(t))for(a=0;a<r;a++)s(a,t[a]);else for(s(0,i),a=1;a<r;a++)s(a,i+(a+1));return o}t.exports={moduleType:"component",name:"grid",schema:{layout:{grid:l}},layoutAttributes:l,sizeDefaults:function(t,e){var r=t.grid||{},i=u(e,r,"x"),a=u(e,r,"y");if(t.grid||i||a){var o,f,h=Array.isArray(r.subplots)&&Array.isArray(r.subplots[0]),p=Array.isArray(i),d=Array.isArray(a),v=p&&i!==r.xaxes&&d&&a!==r.yaxes;h?(o=r.subplots.length,f=r.subplots[0].length):(d&&(o=a.length),p&&(f=i.length));var g=s.newContainer(e,"grid"),y=k("rows",o),m=k("columns",f);if(y*m>1){h||p||d||"independent"===k("pattern")&&(h=!0),g._hasSubplotGrid=h;var x,b,_="top to bottom"===k("roworder"),w=h?.2:.1,T=h?.3:.1;v&&e._splomGridDflt&&(x=e._splomGridDflt.xside,b=e._splomGridDflt.yside),g._domains={x:c("x",k,w,x,m),y:c("y",k,T,b,y,_)}}else delete e.grid}function k(t,e){return n.coerce(r,g,l,t,e)}},contentDefaults:function(t,e){var r=e.grid;if(r&&r._domains){var n,i,a,o,s,l,c,h=t.grid||{},p=e._subplots,d=r._hasSubplotGrid,v=r.rows,g=r.columns,y="independent"===r.pattern,m=r._axisMap={};if(d){var x=h.subplots||[];l=r.subplots=new Array(v);var b=1;for(n=0;n<v;n++){var _=l[n]=new Array(g),w=x[n]||[];for(i=0;i<g;i++)if(y?(s=1===b?"xy":"x"+b+"y"+b,b++):s=w[i],_[i]="",-1!==p.cartesian.indexOf(s)){if(c=s.indexOf("y"),a=s.slice(0,c),o=s.slice(c),void 0!==m[a]&&m[a]!==i||void 0!==m[o]&&m[o]!==n)continue;_[i]=s,m[a]=i,m[o]=n}}}else{var T=u(e,h,"x"),k=u(e,h,"y");r.xaxes=f(T,p.xaxis,g,m,"x"),r.yaxes=f(k,p.yaxis,v,m,"y")}var A=r._anchors={},M="top to bottom"===r.roworder;for(var S in m){var E,L,C,P=S.charAt(0),O=r[P+"side"];if(O.length<8)A[S]="free";else if("x"===P){if("t"===O.charAt(0)===M?(E=0,L=1,C=v):(E=v-1,L=-1,C=-1),d){var I=m[S];for(n=E;n!==C;n+=L)if((s=l[n][I])&&(c=s.indexOf("y"),s.slice(0,c)===S)){A[S]=s.slice(c);break}}else for(n=E;n!==C;n+=L)if(o=r.yaxes[n],-1!==p.cartesian.indexOf(S+o)){A[S]=o;break}}else if("l"===O.charAt(0)?(E=0,L=1,C=g):(E=g-1,L=-1,C=-1),d){var D=m[S];for(n=E;n!==C;n+=L)if((s=l[D][n])&&(c=s.indexOf("y"),s.slice(c)===S)){A[S]=s.slice(0,c);break}}else for(n=E;n!==C;n+=L)if(a=r.xaxes[n],-1!==p.cartesian.indexOf(a+S)){A[S]=a;break}}}}}},69819:function(t,e,r){"use strict";var n=r(85555),i=r(44467).templatedArray;r(24695),t.exports=i("image",{visible:{valType:"boolean",dflt:!0,editType:"arraydraw"},source:{valType:"string",editType:"arraydraw"},layer:{valType:"enumerated",values:["below","above"],dflt:"above",editType:"arraydraw"},sizex:{valType:"number",dflt:0,editType:"arraydraw"},sizey:{valType:"number",dflt:0,editType:"arraydraw"},sizing:{valType:"enumerated",values:["fill","contain","stretch"],dflt:"contain",editType:"arraydraw"},opacity:{valType:"number",min:0,max:1,dflt:1,editType:"arraydraw"},x:{valType:"any",dflt:0,editType:"arraydraw"},y:{valType:"any",dflt:0,editType:"arraydraw"},xanchor:{valType:"enumerated",values:["left","center","right"],dflt:"left",editType:"arraydraw"},yanchor:{valType:"enumerated",values:["top","middle","bottom"],dflt:"top",editType:"arraydraw"},xref:{valType:"enumerated",values:["paper",n.idRegex.x.toString()],dflt:"paper",editType:"arraydraw"},yref:{valType:"enumerated",values:["paper",n.idRegex.y.toString()],dflt:"paper",editType:"arraydraw"},editType:"arraydraw"})},75378:function(t,e,r){"use strict";var n=r(92770),i=r(58163);t.exports=function(t,e,r,a){e=e||{};var o="log"===r&&"linear"===e.type,s="linear"===r&&"log"===e.type;if(o||s)for(var l,u,c=t._fullLayout.images,f=e._id.charAt(0),h=0;h<c.length;h++)if(u="images["+h+"].",(l=c[h])[f+"ref"]===e._id){var p=l[f],d=l["size"+f],v=null,g=null;if(o){v=i(p,e.range);var y=d/Math.pow(10,v)/2;g=2*Math.log(y+Math.sqrt(1+y*y))/Math.LN10}else g=(v=Math.pow(10,p))*(Math.pow(10,d/2)-Math.pow(10,-d/2));n(v)?n(g)||(g=null):(v=null,g=null),a(u+f,v),a(u+"size"+f,g)}}},81603:function(t,e,r){"use strict";var n=r(71828),i=r(89298),a=r(85501),o=r(69819);function s(t,e,r){function a(r,i){return n.coerce(t,e,o,r,i)}var s=a("source");if(!a("visible",!!s))return e;a("layer"),a("xanchor"),a("yanchor"),a("sizex"),a("sizey"),a("sizing"),a("opacity");for(var l={_fullLayout:r},u=["x","y"],c=0;c<2;c++){var f=u[c],h=i.coerceRef(t,e,l,f,"paper",void 0);"paper"!==h&&i.getFromId(l,h)._imgIndices.push(e._index),i.coercePosition(e,l,a,h,f,0)}return e}t.exports=function(t,e){a(t,e,{name:"images",handleItemDefaults:s})}},80750:function(t,e,r){"use strict";var n=r(39898),i=r(91424),a=r(89298),o=r(41675),s=r(77922);t.exports=function(t){var e,r,l=t._fullLayout,u=[],c={},f=[];for(r=0;r<l.images.length;r++){var h=l.images[r];if(h.visible)if("below"===h.layer&&"paper"!==h.xref&&"paper"!==h.yref){e=o.ref2id(h.xref)+o.ref2id(h.yref);var p=l._plots[e];if(!p){f.push(h);continue}p.mainplot&&(e=p.mainplot.id),c[e]||(c[e]=[]),c[e].push(h)}else"above"===h.layer?u.push(h):f.push(h)}var d={left:{sizing:"xMin",offset:0},center:{sizing:"xMid",offset:-.5},right:{sizing:"xMax",offset:-1}},v={top:{sizing:"YMin",offset:0},middle:{sizing:"YMid",offset:-.5},bottom:{sizing:"YMax",offset:-1}};function g(e){var r=n.select(this);if(this._imgSrc!==e.source)if(r.attr("xmlns",s.svg),e.source&&"data:"===e.source.slice(0,5))r.attr("xlink:href",e.source),this._imgSrc=e.source;else{var i=new Promise(function(t){var n=new Image;function i(){r.remove(),t()}this.img=n,n.setAttribute("crossOrigin","anonymous"),n.onerror=i,n.onload=function(){var e=document.createElement("canvas");e.width=this.width,e.height=this.height,e.getContext("2d",{willReadFrequently:!0}).drawImage(this,0,0);var n=e.toDataURL("image/png");r.attr("xlink:href",n),t()},r.on("error",i),n.src=e.source,this._imgSrc=e.source}.bind(this));t._promises.push(i)}}function y(e){var r,o,s=n.select(this),u=a.getFromId(t,e.xref),c=a.getFromId(t,e.yref),f="domain"===a.getRefType(e.xref),h="domain"===a.getRefType(e.yref),p=l._size;r=void 0!==u?"string"==typeof e.xref&&f?u._length*e.sizex:Math.abs(u.l2p(e.sizex)-u.l2p(0)):e.sizex*p.w,o=void 0!==c?"string"==typeof e.yref&&h?c._length*e.sizey:Math.abs(c.l2p(e.sizey)-c.l2p(0)):e.sizey*p.h;var g,y,m=r*d[e.xanchor].offset,x=o*v[e.yanchor].offset,b=d[e.xanchor].sizing+v[e.yanchor].sizing;switch(g=void 0!==u?"string"==typeof e.xref&&f?u._length*e.x+u._offset:u.r2p(e.x)+u._offset:e.x*p.w+p.l,g+=m,y=void 0!==c?"string"==typeof e.yref&&h?c._length*(1-e.y)+c._offset:c.r2p(e.y)+c._offset:p.h-e.y*p.h+p.t,y+=x,e.sizing){case"fill":b+=" slice";break;case"stretch":b="none"}s.attr({x:g,y:y,width:r,height:o,preserveAspectRatio:b,opacity:e.opacity});var _=(u&&"domain"!==a.getRefType(e.xref)?u._id:"")+(c&&"domain"!==a.getRefType(e.yref)?c._id:"");i.setClipUrl(s,_?"clip"+l._uid+_:null,t)}var m=l._imageLowerLayer.selectAll("image").data(f),x=l._imageUpperLayer.selectAll("image").data(u);m.enter().append("image"),x.enter().append("image"),m.exit().remove(),x.exit().remove(),m.each((function(t){g.bind(this)(t),y.bind(this)(t)})),x.each((function(t){g.bind(this)(t),y.bind(this)(t)}));var b=Object.keys(l._plots);for(r=0;r<b.length;r++){e=b[r];var _=l._plots[e];if(_.imagelayer){var w=_.imagelayer.selectAll("image").data(c[e]||[]);w.enter().append("image"),w.exit().remove(),w.each((function(t){g.bind(this)(t),y.bind(this)(t)}))}}}},68804:function(t,e,r){"use strict";t.exports={moduleType:"component",name:"images",layoutAttributes:r(69819),supplyLayoutDefaults:r(81603),includeBasePlot:r(76325)("images"),draw:r(80750),convertCoords:r(75378)}},33030:function(t,e,r){"use strict";var n=r(41940),i=r(22399);t.exports={bgcolor:{valType:"color",editType:"legend"},bordercolor:{valType:"color",dflt:i.defaultLine,editType:"legend"},borderwidth:{valType:"number",min:0,dflt:0,editType:"legend"},font:n({editType:"legend"}),grouptitlefont:n({editType:"legend"}),orientation:{valType:"enumerated",values:["v","h"],dflt:"v",editType:"legend"},traceorder:{valType:"flaglist",flags:["reversed","grouped"],extras:["normal"],editType:"legend"},tracegroupgap:{valType:"number",min:0,dflt:10,editType:"legend"},entrywidth:{valType:"number",min:0,editType:"legend"},entrywidthmode:{valType:"enumerated",values:["fraction","pixels"],dflt:"pixels",editType:"legend"},itemsizing:{valType:"enumerated",values:["trace","constant"],dflt:"trace",editType:"legend"},itemwidth:{valType:"number",min:30,dflt:30,editType:"legend"},itemclick:{valType:"enumerated",values:["toggle","toggleothers",!1],dflt:"toggle",editType:"legend"},itemdoubleclick:{valType:"enumerated",values:["toggle","toggleothers",!1],dflt:"toggleothers",editType:"legend"},groupclick:{valType:"enumerated",values:["toggleitem","togglegroup"],dflt:"togglegroup",editType:"legend"},x:{valType:"number",min:-2,max:3,editType:"legend"},xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"left",editType:"legend"},y:{valType:"number",min:-2,max:3,editType:"legend"},yanchor:{valType:"enumerated",values:["auto","top","middle","bottom"],editType:"legend"},uirevision:{valType:"any",editType:"none"},valign:{valType:"enumerated",values:["top","middle","bottom"],dflt:"middle",editType:"legend"},title:{text:{valType:"string",dflt:"",editType:"legend"},font:n({editType:"legend"}),side:{valType:"enumerated",values:["top","left","top left"],editType:"legend"},editType:"legend"},editType:"legend"}},14928:function(t){"use strict";t.exports={scrollBarWidth:6,scrollBarMinHeight:20,scrollBarColor:"#808BA4",scrollBarMargin:4,scrollBarEnterAttrs:{rx:20,ry:3,width:0,height:0},titlePad:2,itemGap:5}},99017:function(t,e,r){"use strict";var n=r(73972),i=r(71828),a=r(44467),o=r(9012),s=r(33030),l=r(10820),u=r(10130);t.exports=function(t,e,r){var c,f=t.legend||{},h=a.newContainer(e,"legend");function p(t,e){return i.coerce(f,h,s,t,e)}for(var d=function(t,e){var r=c._input,n=c;return i.coerce(r,n,o,t,e)},v=e.font||{},g=i.coerceFont(p,"grouptitlefont",i.extendFlat({},v,{size:Math.round(1.1*v.size)})),y=0,m=!1,x="normal",b=0;b<r.length;b++)(c=r[b]).visible&&((c.showlegend||c._dfltShowLegend&&!(c._module&&c._module.attributes&&c._module.attributes.showlegend&&!1===c._module.attributes.showlegend.dflt))&&(y++,c.showlegend&&(m=!0,(n.traceIs(c,"pie-like")||!0===c._input.showlegend)&&y++),i.coerceFont(d,"legendgrouptitle.font",g)),(n.traceIs(c,"bar")&&"stack"===e.barmode||-1!==["tonextx","tonexty"].indexOf(c.fill))&&(x=u.isGrouped({traceorder:x})?"grouped+reversed":"reversed"),void 0!==c.legendgroup&&""!==c.legendgroup&&(x=u.isReversed({traceorder:x})?"reversed+grouped":"grouped"));var _=i.coerce(t,e,l,"showlegend",m&&y>1);if(!1===_&&(e.legend=void 0),(!1!==_||f.uirevision)&&(p("uirevision",e.uirevision),!1!==_)){p("bgcolor",e.paper_bgcolor),p("bordercolor"),p("borderwidth");var w,T,k,A=i.coerceFont(p,"font",e.font),M="h"===p("orientation");if(M?(w=0,n.getComponentMethod("rangeslider","isVisible")(t.xaxis)?(T=1.1,k="bottom"):(T=-.1,k="top")):(w=1.02,T=1,k="auto"),p("traceorder",x),u.isGrouped(e.legend)&&p("tracegroupgap"),p("entrywidth"),p("entrywidthmode"),p("itemsizing"),p("itemwidth"),p("itemclick"),p("itemdoubleclick"),p("groupclick"),p("x",w),p("xanchor"),p("y",T),p("yanchor",k),p("valign"),i.noneOrAll(f,h,["x","y"]),p("title.text")){p("title.side",M?"left":"top");var S=i.extendFlat({},A,{size:i.bigFont(A.size)});i.coerceFont(p,"title.font",S)}}}},43969:function(t,e,r){"use strict";var n=r(39898),i=r(71828),a=r(74875),o=r(73972),s=r(11086),l=r(28569),u=r(91424),c=r(7901),f=r(63893),h=r(85167),p=r(14928),d=r(18783),v=d.LINE_SPACING,g=d.FROM_TL,y=d.FROM_BR,m=r(82424),x=r(53630),b=r(10130);function _(t,e,r){var n=t[0],i=n.width,a=e.entrywidthmode,o=n.trace.legendwidth||e.entrywidth;return"fraction"===a?e._maxWidth*o:r+(o||i)}function w(t,e,r,n,i){var a=r.data()[0][0].trace,l={event:i,node:r.node(),curveNumber:a.index,expandedIndex:a._expandedIndex,data:t.data,layout:t.layout,frames:t._transitionData._frames,config:t._context,fullData:t._fullData,fullLayout:t._fullLayout};a._group&&(l.group=a._group),o.traceIs(a,"pie-like")&&(l.label=r.datum()[0].label),!1!==s.triggerHandler(t,"plotly_legendclick",l)&&(1===n?e._clickTimeout=setTimeout((function(){t._fullLayout&&h(r,t,n)}),t._context.doubleClickDelay):2===n&&(e._clickTimeout&&clearTimeout(e._clickTimeout),t._legendMouseDownTime=0,!1!==s.triggerHandler(t,"plotly_legenddoubleclick",l)&&h(r,t,n)))}function T(t,e,r){var n,a,s=t.data()[0][0],l=s.trace,c=o.traceIs(l,"pie-like"),h=!r._inHover&&e._context.edits.legendText&&!c,d=r._maxNameLength;s.groupTitle?(n=s.groupTitle.text,a=s.groupTitle.font):(a=r.font,r.entries?n=s.text:(n=c?s.label:l.name,l._meta&&(n=i.templateString(n,l._meta))));var v=i.ensureSingle(t,"text","legendtext");v.attr("text-anchor","start").call(u.font,a).text(h?k(n,d):n);var g=r.itemwidth+2*p.itemGap;f.positionText(v,g,0),h?v.call(f.makeEditable,{gd:e,text:n}).call(M,t,e,r).on("edit",(function(n){this.text(k(n,d)).call(M,t,e,r);var a=s.trace._fullInput||{},u={};if(o.hasTransform(a,"groupby")){var c=o.getTransformIndices(a,"groupby"),f=c[c.length-1],h=i.keyedContainer(a,"transforms["+f+"].styles","target","value.name");h.set(s.trace._group,n),u=h.constructUpdate()}else u.name=n;return o.call("_guiRestyle",e,u,l.index)})):M(v,t,e,r)}function k(t,e){var r=Math.max(4,e);if(t&&t.trim().length>=r/2)return t;for(var n=r-(t=t||"").length;n>0;n--)t+=" ";return t}function A(t,e){var r,a=e._context.doubleClickDelay,o=1,s=i.ensureSingle(t,"rect","legendtoggle",(function(t){e._context.staticPlot||t.style("cursor","pointer").attr("pointer-events","all"),t.call(c.fill,"rgba(0,0,0,0)")}));e._context.staticPlot||(s.on("mousedown",(function(){(r=(new Date).getTime())-e._legendMouseDownTime<a?o+=1:(o=1,e._legendMouseDownTime=r)})),s.on("mouseup",(function(){if(!e._dragged&&!e._editing){var r=e._fullLayout.legend;(new Date).getTime()-e._legendMouseDownTime>a&&(o=Math.max(o-1,1)),w(e,r,t,o,n.event)}})))}function M(t,e,r,n,i){n._inHover&&t.attr("data-notex",!0),f.convertToTspans(t,r,(function(){!function(t,e,r,n){var i=t.data()[0][0];if(r._inHover||!i||i.trace.showlegend){var a=t.select("g[class*=math-group]"),o=a.node();r||(r=e._fullLayout.legend);var s,l,c=r.borderwidth,h=(1===n?r.title.font:i.groupTitle?i.groupTitle.font:r.font).size*v;if(o){var d=u.bBox(o);s=d.height,l=d.width,1===n?u.setTranslate(a,c,c+.75*s):u.setTranslate(a,0,.25*s)}else{var g=t.select(1===n?".legendtitletext":".legendtext"),y=f.lineCount(g),m=g.node();if(s=h*y,l=m?u.bBox(m).width:0,1===n)"left"===r.title.side&&(l+=2*p.itemGap),f.positionText(g,c+p.titlePad,c+h);else{var x=2*p.itemGap+r.itemwidth;i.groupTitle&&(x=p.itemGap,l-=r.itemwidth),f.positionText(g,x,-h*((y-1)/2-.3))}}1===n?(r._titleWidth=l,r._titleHeight=s):(i.lineHeight=h,i.height=Math.max(s,16)+3,i.width=l)}else t.remove()}(e,r,n,i)}))}function S(t){return i.isRightAnchor(t)?"right":i.isCenterAnchor(t)?"center":"left"}function E(t){return i.isBottomAnchor(t)?"bottom":i.isMiddleAnchor(t)?"middle":"top"}t.exports=function(t,e){return e||(e=t._fullLayout.legend||{}),function(t,e){var r,s,f=t._fullLayout,h="legend"+f._uid,d=e._inHover;if(d?(r=e.layer,h+="-hover"):r=f._infolayer,r){if(t._legendMouseDownTime||(t._legendMouseDownTime=0),d){if(!e.entries)return;s=m(e.entries,e)}else{if(!t.calcdata)return;s=f.showlegend&&m(t.calcdata,e)}var v=f.hiddenlabels||[];if(!(d||f.showlegend&&s.length))return r.selectAll(".legend").remove(),f._topdefs.select("#"+h).remove(),a.autoMargin(t,"legend");var k=i.ensureSingle(r,"g","legend",(function(t){d||t.attr("pointer-events","all")})),L=i.ensureSingleById(f._topdefs,"clipPath",h,(function(t){t.append("rect")})),C=i.ensureSingle(k,"rect","bg",(function(t){t.attr("shape-rendering","crispEdges")}));C.call(c.stroke,e.bordercolor).call(c.fill,e.bgcolor).style("stroke-width",e.borderwidth+"px");var P=i.ensureSingle(k,"g","scrollbox"),O=e.title;if(e._titleWidth=0,e._titleHeight=0,O.text){var I=i.ensureSingle(P,"text","legendtitletext");I.attr("text-anchor","start").call(u.font,O.font).text(O.text),M(I,P,t,e,1)}else P.selectAll(".legendtitletext").remove();var D=i.ensureSingle(k,"rect","scrollbar",(function(t){t.attr(p.scrollBarEnterAttrs).call(c.fill,p.scrollBarColor)})),z=P.selectAll("g.groups").data(s);z.enter().append("g").attr("class","groups"),z.exit().remove();var R=z.selectAll("g.traces").data(i.identity);R.enter().append("g").attr("class","traces"),R.exit().remove(),R.style("opacity",(function(t){var e=t[0].trace;return o.traceIs(e,"pie-like")?-1!==v.indexOf(t[0].label)?.5:1:"legendonly"===e.visible?.5:1})).each((function(){n.select(this).call(T,t,e)})).call(x,t,e).each((function(){d||n.select(this).call(A,t)})),i.syncOrAsync([a.previousPromises,function(){return function(t,e,r,i){var a=t._fullLayout;i||(i=a.legend);var o=a._size,s=b.isVertical(i),l=b.isGrouped(i),c="fraction"===i.entrywidthmode,f=i.borderwidth,h=2*f,d=p.itemGap,v=i.itemwidth+2*d,g=2*(f+d),y=E(i),m=i.y<0||0===i.y&&"top"===y,x=i.y>1||1===i.y&&"bottom"===y,w=i.tracegroupgap,T={};i._maxHeight=Math.max(m||x?a.height/2:o.h,30);var k=0;i._width=0,i._height=0;var A=function(t){var e=0,r=0,n=t.title.side;return n&&(-1!==n.indexOf("left")&&(e=t._titleWidth),-1!==n.indexOf("top")&&(r=t._titleHeight)),[e,r]}(i);if(s)r.each((function(t){var e=t[0].height;u.setTranslate(this,f+A[0],f+A[1]+i._height+e/2+d),i._height+=e,i._width=Math.max(i._width,t[0].width)})),k=v+i._width,i._width+=d+v+h,i._height+=g,l&&(e.each((function(t,e){u.setTranslate(this,0,e*i.tracegroupgap)})),i._height+=(i._lgroupsLength-1)*i.tracegroupgap);else{var M=S(i),L=i.x<0||0===i.x&&"right"===M,C=i.x>1||1===i.x&&"left"===M,P=x||m,O=a.width/2;i._maxWidth=Math.max(L?P&&"left"===M?o.l+o.w:O:C?P&&"right"===M?o.r+o.w:O:o.w,2*v);var I=0,D=0;r.each((function(t){var e=_(t,i,v);I=Math.max(I,e),D+=e})),k=null;var z=0;if(l){var R=0,F=0,B=0;e.each((function(){var t=0,e=0;n.select(this).selectAll("g.traces").each((function(r){var n=_(r,i,v),a=r[0].height;u.setTranslate(this,A[0],A[1]+f+d+a/2+e),e+=a,t=Math.max(t,n),T[r[0].trace.legendgroup]=t}));var r=t+d;F>0&&r+f+F>i._maxWidth?(z=Math.max(z,F),F=0,B+=R+w,R=e):R=Math.max(R,e),u.setTranslate(this,F,B),F+=r})),i._width=Math.max(z,F)+f,i._height=B+R+g}else{var N=r.size(),j=D+h+(N-1)*d<i._maxWidth,U=0,V=0,H=0,q=0;r.each((function(t){var e=t[0].height,r=_(t,i,v),n=j?r:I;c||(n+=d),n+f+V-d>=i._maxWidth&&(z=Math.max(z,q),V=0,H+=U,i._height+=U,U=0),u.setTranslate(this,A[0]+f+V,A[1]+f+H+e/2+d),q=V+r+d,V+=n,U=Math.max(U,e)})),j?(i._width=V+h,i._height=U+g):(i._width=Math.max(z,q)+h,i._height+=U+g)}}i._width=Math.ceil(Math.max(i._width+A[0],i._titleWidth+2*(f+p.titlePad))),i._height=Math.ceil(Math.max(i._height+A[1],i._titleHeight+2*(f+p.itemGap))),i._effHeight=Math.min(i._height,i._maxHeight);var G=t._context.edits,Z=G.legendText||G.legendPosition;r.each((function(t){var e=n.select(this).select(".legendtoggle"),r=t[0].height,a=t[0].trace.legendgroup,o=_(t,i,v);l&&""!==a&&(o=T[a]);var f=Z?v:k||o;s||c||(f+=d/2),u.setRect(e,0,-r/2,f,r)}))}(t,z,R,e)},function(){var s,c,v,m,x=f._size,b=e.borderwidth;if(!d){var _=function(t){var e=t._fullLayout.legend,r=S(e),n=E(e);return a.autoMargin(t,"legend",{x:e.x,y:e.y,l:e._width*g[r],r:e._width*y[r],b:e._effHeight*y[n],t:e._effHeight*g[n]})}(t);if(_)return;var T=x.l+x.w*e.x-g[S(e)]*e._width,A=x.t+x.h*(1-e.y)-g[E(e)]*e._effHeight;if(f.margin.autoexpand){var M=T,O=A;T=i.constrain(T,0,f.width-e._width),A=i.constrain(A,0,f.height-e._effHeight),T!==M&&i.log("Constrain legend.x to make legend fit inside graph"),A!==O&&i.log("Constrain legend.y to make legend fit inside graph")}u.setTranslate(k,T,A)}if(D.on(".drag",null),k.on("wheel",null),d||e._height<=e._maxHeight||t._context.staticPlot){var I=e._effHeight;d&&(I=e._height),C.attr({width:e._width-b,height:I-b,x:b/2,y:b/2}),u.setTranslate(P,0,0),L.select("rect").attr({width:e._width-2*b,height:I-2*b,x:b,y:b}),u.setClipUrl(P,h,t),u.setRect(D,0,0,0,0),delete e._scrollY}else{var z,R,F,B=Math.max(p.scrollBarMinHeight,e._effHeight*e._effHeight/e._height),N=e._effHeight-B-2*p.scrollBarMargin,j=e._height-e._effHeight,U=N/j,V=Math.min(e._scrollY||0,j);C.attr({width:e._width-2*b+p.scrollBarWidth+p.scrollBarMargin,height:e._effHeight-b,x:b/2,y:b/2}),L.select("rect").attr({width:e._width-2*b+p.scrollBarWidth+p.scrollBarMargin,height:e._effHeight-2*b,x:b,y:b+V}),u.setClipUrl(P,h,t),G(V,B,U),k.on("wheel",(function(){G(V=i.constrain(e._scrollY+n.event.deltaY/N*j,0,j),B,U),0!==V&&V!==j&&n.event.preventDefault()}));var H=n.behavior.drag().on("dragstart",(function(){var t=n.event.sourceEvent;z="touchstart"===t.type?t.changedTouches[0].clientY:t.clientY,F=V})).on("drag",(function(){var t=n.event.sourceEvent;2===t.buttons||t.ctrlKey||(R="touchmove"===t.type?t.changedTouches[0].clientY:t.clientY,G(V=function(t,e,r){var n=(r-e)/U+t;return i.constrain(n,0,j)}(F,z,R),B,U))}));D.call(H);var q=n.behavior.drag().on("dragstart",(function(){var t=n.event.sourceEvent;"touchstart"===t.type&&(z=t.changedTouches[0].clientY,F=V)})).on("drag",(function(){var t=n.event.sourceEvent;"touchmove"===t.type&&(R=t.changedTouches[0].clientY,G(V=function(t,e,r){var n=(e-r)/U+t;return i.constrain(n,0,j)}(F,z,R),B,U))}));P.call(q)}function G(r,n,i){e._scrollY=t._fullLayout.legend._scrollY=r,u.setTranslate(P,0,-r),u.setRect(D,e._width,p.scrollBarMargin+r*i,p.scrollBarWidth,n),L.select("rect").attr("y",b+r)}t._context.edits.legendPosition&&(k.classed("cursor-move",!0),l.init({element:k.node(),gd:t,prepFn:function(){var t=u.getTranslate(k);v=t.x,m=t.y},moveFn:function(t,r){var n=v+t,i=m+r;u.setTranslate(k,n,i),s=l.align(n,0,x.l,x.l+x.w,e.xanchor),c=l.align(i,0,x.t+x.h,x.t,e.yanchor)},doneFn:function(){void 0!==s&&void 0!==c&&o.call("_guiRelayout",t,{"legend.x":s,"legend.y":c})},clickFn:function(e,n){var i=r.selectAll("g.traces").filter((function(){var t=this.getBoundingClientRect();return n.clientX>=t.left&&n.clientX<=t.right&&n.clientY>=t.top&&n.clientY<=t.bottom}));i.size()>0&&w(t,k,i,e,n)}}))}],t)}}(t,e)}},82424:function(t,e,r){"use strict";var n=r(73972),i=r(10130);t.exports=function(t,e){var r,a,o=e._inHover,s=i.isGrouped(e),l=i.isReversed(e),u={},c=[],f=!1,h={},p=0,d=0;function v(t,r){if(""!==t&&i.isGrouped(e))-1===c.indexOf(t)?(c.push(t),f=!0,u[t]=[r]):u[t].push(r);else{var n="~~i"+p;c.push(n),u[n]=[r],p++}}for(r=0;r<t.length;r++){var g=t[r],y=g[0],m=y.trace,x=m.legendgroup;if(o||m.visible&&m.showlegend)if(n.traceIs(m,"pie-like"))for(h[x]||(h[x]={}),a=0;a<g.length;a++){var b=g[a].label;h[x][b]||(v(x,{label:b,color:g[a].color,i:g[a].i,trace:m,pts:g[a].pts}),h[x][b]=!0,d=Math.max(d,(b||"").length))}else v(x,y),d=Math.max(d,(m.name||"").length)}if(!c.length)return[];var _=!f||!s,w=[];for(r=0;r<c.length;r++){var T=u[c[r]];_?w.push(T[0]):w.push(T)}for(_&&(w=[w]),r=0;r<w.length;r++){var k=1/0;for(a=0;a<w[r].length;a++){var A=w[r][a].trace.legendrank;k>A&&(k=A)}w[r][0]._groupMinRank=k,w[r][0]._preGroupSort=r}var M=function(t,e){return t.trace.legendrank-e.trace.legendrank||t._preSort-e._preSort};for(w.forEach((function(t,e){t[0]._preGroupSort=e})),w.sort((function(t,e){return t[0]._groupMinRank-e[0]._groupMinRank||t[0]._preGroupSort-e[0]._preGroupSort})),r=0;r<w.length;r++){w[r].forEach((function(t,e){t._preSort=e})),w[r].sort(M);var S=w[r][0].trace,E=null;for(a=0;a<w[r].length;a++){var L=w[r][a].trace.legendgrouptitle;if(L&&L.text){E=L,o&&(L.font=e._groupTitleFont);break}}if(l&&w[r].reverse(),E){var C=!1;for(a=0;a<w[r].length;a++)if(n.traceIs(w[r][a].trace,"pie-like")){C=!0;break}w[r].unshift({i:-1,groupTitle:E,noClick:C,trace:{showlegend:S.showlegend,legendgroup:S.legendgroup,visible:"toggleitem"===e.groupclick||S.visible}})}for(a=0;a<w[r].length;a++)w[r][a]=[w[r][a]]}return e._lgroupsLength=w.length,e._maxNameLength=d,w}},85167:function(t,e,r){"use strict";var n=r(71828),i=r(73972),a=!0;t.exports=function(t,e,r){var o=e._fullLayout;if(!e._dragged&&!e._editing){var s,l=o.legend.itemclick,u=o.legend.itemdoubleclick,c=o.legend.groupclick;if(1===r&&"toggle"===l&&"toggleothers"===u&&a&&e.data&&e._context.showTips?(n.notifier(n._(e,"Double-click on legend to isolate one trace"),"long"),a=!1):a=!1,1===r?s=l:2===r&&(s=u),s){var f="togglegroup"===c,h=o.hiddenlabels?o.hiddenlabels.slice():[],p=t.data()[0][0];if(!p.groupTitle||!p.noClick){var d,v,g,y,m,x=e._fullData,b=p.trace,_=b.legendgroup,w={},T=[],k=[],A=[];if(i.traceIs(b,"pie-like")){var M=p.label,S=h.indexOf(M);"toggle"===s?-1===S?h.push(M):h.splice(S,1):"toggleothers"===s&&(h=[],e.calcdata[0].forEach((function(t){M!==t.label&&h.push(t.label)})),e._fullLayout.hiddenlabels&&e._fullLayout.hiddenlabels.length===h.length&&-1===S&&(h=[])),i.call("_guiRelayout",e,"hiddenlabels",h)}else{var E,L=_&&_.length,C=[];if(L)for(d=0;d<x.length;d++)(E=x[d]).visible&&E.legendgroup===_&&C.push(d);if("toggle"===s){var P;switch(b.visible){case!0:P="legendonly";break;case!1:P=!1;break;case"legendonly":P=!0}if(L)if(f)for(d=0;d<x.length;d++)!1!==x[d].visible&&x[d].legendgroup===_&&j(x[d],P);else j(b,P);else j(b,P)}else if("toggleothers"===s){var O,I,D,z,R=!0;for(d=0;d<x.length;d++)if(O=x[d]===b,D=!0!==x[d].showlegend,!(O||D||(I=L&&x[d].legendgroup===_)||!0!==x[d].visible||i.traceIs(x[d],"notLegendIsolatable"))){R=!1;break}for(d=0;d<x.length;d++)if(!1!==x[d].visible&&!i.traceIs(x[d],"notLegendIsolatable"))switch(b.visible){case"legendonly":j(x[d],!0);break;case!0:z=!!R||"legendonly",O=x[d]===b,D=!0!==x[d].showlegend&&!x[d].legendgroup,I=O||L&&x[d].legendgroup===_,j(x[d],!(!I&&!D)||z)}}for(d=0;d<k.length;d++)if(g=k[d]){var F=g.constructUpdate(),B=Object.keys(F);for(v=0;v<B.length;v++)y=B[v],(w[y]=w[y]||[])[A[d]]=F[y]}for(m=Object.keys(w),d=0;d<m.length;d++)for(y=m[d],v=0;v<T.length;v++)w[y].hasOwnProperty(v)||(w[y][v]=void 0);i.call("_guiRestyle",e,w,T)}}}}function N(t,e,r){var n=T.indexOf(t),i=w[e];return i||(i=w[e]=[]),-1===T.indexOf(t)&&(T.push(t),n=T.length-1),i[n]=r,n}function j(t,e){if(!p.groupTitle||f){var r=t._fullInput;if(i.hasTransform(r,"groupby")){var a=k[r.index];if(!a){var o=i.getTransformIndices(r,"groupby"),s=o[o.length-1];a=n.keyedContainer(r,"transforms["+s+"].styles","target","value.visible"),k[r.index]=a}var l=a.get(t._group);void 0===l&&(l=!0),!1!==l&&a.set(t._group,e),A[r.index]=N(r.index,"visible",!1!==r.visible)}else{var u=!1!==r.visible&&e;N(r.index,"visible",u)}}}}},10130:function(t,e){"use strict";e.isGrouped=function(t){return-1!==(t.traceorder||"").indexOf("grouped")},e.isVertical=function(t){return"h"!==t.orientation},e.isReversed=function(t){return-1!==(t.traceorder||"").indexOf("reversed")}},2199:function(t,e,r){"use strict";t.exports={moduleType:"component",name:"legend",layoutAttributes:r(33030),supplyLayoutDefaults:r(99017),draw:r(43969),style:r(53630)}},53630:function(t,e,r){"use strict";var n=r(39898),i=r(73972),a=r(71828),o=a.strTranslate,s=r(91424),l=r(7901),u=r(52075).extractOpts,c=r(34098),f=r(63463),h=r(53581).castOption,p=r(14928);function d(t,e){return(e?"radial":"horizontal")+(t?"":"reversed")}function v(t){var e=t[0].trace,r=e.contours,n=c.hasLines(e),i=c.hasMarkers(e),a=e.visible&&e.fill&&"none"!==e.fill,o=!1,s=!1;if(r){var l=r.coloring;"lines"===l?o=!0:n="none"===l||"heatmap"===l||r.showlines,"constraint"===r.type?a="="!==r._operation:"fill"!==l&&"heatmap"!==l||(s=!0)}return{showMarker:i,showLine:n,showFill:a,showGradientLine:o,showGradientFill:s,anyLine:n||o,anyFill:a||s}}function g(t,e,r){return t&&a.isArrayOrTypedArray(t)?e:t>r?r:t}t.exports=function(t,e,r){var y=e._fullLayout;r||(r=y.legend);var m="constant"===r.itemsizing,x=r.itemwidth,b=(x+2*p.itemGap)/2,_=o(b,0),w=function(t,e,r,n){var i;if(t+1)i=t;else{if(!(e&&e.width>0))return 0;i=e.width}return m?n:Math.min(i,r)};function T(t,a,o){var c=t[0].trace,f=c.marker||{},h=f.line||{},p=o?c.visible&&c.type===o:i.traceIs(c,"bar"),d=n.select(a).select("g.legendpoints").selectAll("path.legend"+o).data(p?[t]:[]);d.enter().append("path").classed("legend"+o,!0).attr("d","M6,6H-6V-6H6Z").attr("transform",_),d.exit().remove(),d.each((function(t){var i=n.select(this),a=t[0],o=w(a.mlw,f.line,5,2);i.style("stroke-width",o+"px");var p=a.mcc;if(!r._inHover&&"mc"in a){var d=u(f),v=d.mid;void 0===v&&(v=(d.max+d.min)/2),p=s.tryColorscale(f,"")(v)}var y=p||a.mc||f.color,m=f.pattern,x=m&&s.getPatternAttr(m.shape,0,"");if(x){var b=s.getPatternAttr(m.bgcolor,0,null),_=s.getPatternAttr(m.fgcolor,0,null),T=m.fgopacity,k=g(m.size,8,10),A=g(m.solidity,.5,1),M="legend-"+c.uid;i.call(s.pattern,"legend",e,M,x,k,A,p,m.fillmode,b,_,T)}else i.call(l.fill,y);o&&l.stroke(i,a.mlc||h.color)}))}function k(t,e,r){var o=t[0],s=o.trace,l=r?s.visible&&s.type===r:i.traceIs(s,r),u=n.select(e).select("g.legendpoints").selectAll("path.legend"+r).data(l?[t]:[]);if(u.enter().append("path").classed("legend"+r,!0).attr("d","M6,6H-6V-6H6Z").attr("transform",_),u.exit().remove(),u.size()){var c=(s.marker||{}).line,p=w(h(c.width,o.pts),c,5,2),d=a.minExtend(s,{marker:{line:{width:p}}});d.marker.line.color=c.color;var v=a.minExtend(o,{trace:d});f(u,v,d)}}t.each((function(t){var e=n.select(this),i=a.ensureSingle(e,"g","layers");i.style("opacity",t[0].trace.opacity);var s=r.valign,l=t[0].lineHeight,u=t[0].height;if("middle"!==s&&l&&u){var c={top:1,bottom:-1}[s]*(.5*(l-u+3));i.attr("transform",o(0,c))}else i.attr("transform",null);i.selectAll("g.legendfill").data([t]).enter().append("g").classed("legendfill",!0),i.selectAll("g.legendlines").data([t]).enter().append("g").classed("legendlines",!0);var f=i.selectAll("g.legendsymbols").data([t]);f.enter().append("g").classed("legendsymbols",!0),f.selectAll("g.legendpoints").data([t]).enter().append("g").classed("legendpoints",!0)})).each((function(t){var r,i=t[0].trace,o=[];if(i.visible)switch(i.type){case"histogram2d":case"heatmap":o=[["M-15,-2V4H15V-2Z"]],r=!0;break;case"choropleth":case"choroplethmapbox":o=[["M-6,-6V6H6V-6Z"]],r=!0;break;case"densitymapbox":o=[["M-6,0 a6,6 0 1,0 12,0 a 6,6 0 1,0 -12,0"]],r="radial";break;case"cone":o=[["M-6,2 A2,2 0 0,0 -6,6 V6L6,4Z"],["M-6,-6 A2,2 0 0,0 -6,-2 L6,-4Z"],["M-6,-2 A2,2 0 0,0 -6,2 L6,0Z"]],r=!1;break;case"streamtube":o=[["M-6,2 A2,2 0 0,0 -6,6 H6 A2,2 0 0,1 6,2 Z"],["M-6,-6 A2,2 0 0,0 -6,-2 H6 A2,2 0 0,1 6,-6 Z"],["M-6,-2 A2,2 0 0,0 -6,2 H6 A2,2 0 0,1 6,-2 Z"]],r=!1;break;case"surface":o=[["M-6,-6 A2,3 0 0,0 -6,0 H6 A2,3 0 0,1 6,-6 Z"],["M-6,1 A2,3 0 0,1 -6,6 H6 A2,3 0 0,0 6,0 Z"]],r=!0;break;case"mesh3d":o=[["M-6,6H0L-6,-6Z"],["M6,6H0L6,-6Z"],["M-6,-6H6L0,6Z"]],r=!1;break;case"volume":o=[["M-6,6H0L-6,-6Z"],["M6,6H0L6,-6Z"],["M-6,-6H6L0,6Z"]],r=!0;break;case"isosurface":o=[["M-6,6H0L-6,-6Z"],["M6,6H0L6,-6Z"],["M-6,-6 A12,24 0 0,0 6,-6 L0,6Z"]],r=!1}var c=n.select(this).select("g.legendpoints").selectAll("path.legend3dandfriends").data(o);c.enter().append("path").classed("legend3dandfriends",!0).attr("transform",_).style("stroke-miterlimit",1),c.exit().remove(),c.each((function(t,o){var c,f=n.select(this),h=u(i),p=h.colorscale,v=h.reversescale;if(p){if(!r){var g=p.length;c=0===o?p[v?g-1:0][1]:1===o?p[v?0:g-1][1]:p[Math.floor((g-1)/2)][1]}}else{var y=i.vertexcolor||i.facecolor||i.color;c=a.isArrayOrTypedArray(y)?y[o]||y[0]:y}f.attr("d",t[0]),c?f.call(l.fill,c):f.call((function(t){if(t.size()){var n="legendfill-"+i.uid;s.gradient(t,e,n,d(v,"radial"===r),p,"fill")}}))}))})).each((function(t){var e=t[0].trace,r="waterfall"===e.type;if(t[0]._distinct&&r){var i=t[0].trace[t[0].dir].marker;return t[0].mc=i.color,t[0].mlw=i.line.width,t[0].mlc=i.line.color,T(t,this,"waterfall")}var a=[];e.visible&&r&&(a=t[0].hasTotals?[["increasing","M-6,-6V6H0Z"],["totals","M6,6H0L-6,-6H-0Z"],["decreasing","M6,6V-6H0Z"]]:[["increasing","M-6,-6V6H6Z"],["decreasing","M6,6V-6H-6Z"]]);var o=n.select(this).select("g.legendpoints").selectAll("path.legendwaterfall").data(a);o.enter().append("path").classed("legendwaterfall",!0).attr("transform",_).style("stroke-miterlimit",1),o.exit().remove(),o.each((function(t){var r=n.select(this),i=e[t[0]].marker,a=w(void 0,i.line,5,2);r.attr("d",t[1]).style("stroke-width",a+"px").call(l.fill,i.color),a&&r.call(l.stroke,i.line.color)}))})).each((function(t){T(t,this,"funnel")})).each((function(t){T(t,this)})).each((function(t){var r=t[0].trace,o=n.select(this).select("g.legendpoints").selectAll("path.legendbox").data(r.visible&&i.traceIs(r,"box-violin")?[t]:[]);o.enter().append("path").classed("legendbox",!0).attr("d","M6,6H-6V-6H6Z").attr("transform",_),o.exit().remove(),o.each((function(){var t=n.select(this);if("all"!==r.boxpoints&&"all"!==r.points||0!==l.opacity(r.fillcolor)||0!==l.opacity((r.line||{}).color)){var i=w(void 0,r.line,5,2);t.style("stroke-width",i+"px").call(l.fill,r.fillcolor),i&&l.stroke(t,r.line.color)}else{var u=a.minExtend(r,{marker:{size:m?12:a.constrain(r.marker.size,2,16),sizeref:1,sizemin:1,sizemode:"diameter"}});o.call(s.pointStyle,u,e)}}))})).each((function(t){k(t,this,"funnelarea")})).each((function(t){k(t,this,"pie")})).each((function(t){var r,i,o=v(t),l=o.showFill,f=o.showLine,h=o.showGradientLine,p=o.showGradientFill,g=o.anyFill,y=o.anyLine,m=t[0],b=m.trace,_=u(b),T=_.colorscale,k=_.reversescale,A=c.hasMarkers(b)||!g?"M5,0":y?"M5,-2":"M5,-3",M=n.select(this),S=M.select(".legendfill").selectAll("path").data(l||p?[t]:[]);if(S.enter().append("path").classed("js-fill",!0),S.exit().remove(),S.attr("d",A+"h"+x+"v6h-"+x+"z").call((function(t){if(t.size())if(l)s.fillGroupStyle(t,e);else{var r="legendfill-"+b.uid;s.gradient(t,e,r,d(k),T,"fill")}})),f||h){var E=w(void 0,b.line,10,5);i=a.minExtend(b,{line:{width:E}}),r=[a.minExtend(m,{trace:i})]}var L=M.select(".legendlines").selectAll("path").data(f||h?[r]:[]);L.enter().append("path").classed("js-line",!0),L.exit().remove(),L.attr("d",A+(h?"l"+x+",0.0001":"h"+x)).call(f?s.lineGroupStyle:function(t){if(t.size()){var r="legendline-"+b.uid;s.lineGroupStyle(t),s.gradient(t,e,r,d(k),T,"stroke")}})})).each((function(t){var r,i,o=v(t),l=o.anyFill,u=o.anyLine,f=o.showLine,h=o.showMarker,p=t[0],d=p.trace,g=!h&&!u&&!l&&c.hasText(d);function y(t,e,r,n){var i=a.nestedProperty(d,t).get(),o=a.isArrayOrTypedArray(i)&&e?e(i):i;if(m&&o&&void 0!==n&&(o=n),r){if(o<r[0])return r[0];if(o>r[1])return r[1]}return o}function x(t){return p._distinct&&p.index&&t[p.index]?t[p.index]:t[0]}if(h||g||f){var b={},w={};if(h){b.mc=y("marker.color",x),b.mx=y("marker.symbol",x),b.mo=y("marker.opacity",a.mean,[.2,1]),b.mlc=y("marker.line.color",x),b.mlw=y("marker.line.width",a.mean,[0,5],2),w.marker={sizeref:1,sizemin:1,sizemode:"diameter"};var T=y("marker.size",a.mean,[2,16],12);b.ms=T,w.marker.size=T}f&&(w.line={width:y("line.width",x,[0,10],5)}),g&&(b.tx="Aa",b.tp=y("textposition",x),b.ts=10,b.tc=y("textfont.color",x),b.tf=y("textfont.family",x)),r=[a.minExtend(p,b)],(i=a.minExtend(d,w)).selectedpoints=null,i.texttemplate=null}var k=n.select(this).select("g.legendpoints"),A=k.selectAll("path.scatterpts").data(h?r:[]);A.enter().insert("path",":first-child").classed("scatterpts",!0).attr("transform",_),A.exit().remove(),A.call(s.pointStyle,i,e),h&&(r[0].mrc=3);var M=k.selectAll("g.pointtext").data(g?r:[]);M.enter().append("g").classed("pointtext",!0).append("text").attr("transform",_),M.exit().remove(),M.selectAll("text").call(s.textPointStyle,i,e)})).each((function(t){var e=t[0].trace,r=n.select(this).select("g.legendpoints").selectAll("path.legendcandle").data(e.visible&&"candlestick"===e.type?[t,t]:[]);r.enter().append("path").classed("legendcandle",!0).attr("d",(function(t,e){return e?"M-15,0H-8M-8,6V-6H8Z":"M15,0H8M8,-6V6H-8Z"})).attr("transform",_).style("stroke-miterlimit",1),r.exit().remove(),r.each((function(t,r){var i=n.select(this),a=e[r?"increasing":"decreasing"],o=w(void 0,a.line,5,2);i.style("stroke-width",o+"px").call(l.fill,a.fillcolor),o&&l.stroke(i,a.line.color)}))})).each((function(t){var e=t[0].trace,r=n.select(this).select("g.legendpoints").selectAll("path.legendohlc").data(e.visible&&"ohlc"===e.type?[t,t]:[]);r.enter().append("path").classed("legendohlc",!0).attr("d",(function(t,e){return e?"M-15,0H0M-8,-6V0":"M15,0H0M8,6V0"})).attr("transform",_).style("stroke-miterlimit",1),r.exit().remove(),r.each((function(t,r){var i=n.select(this),a=e[r?"increasing":"decreasing"],o=w(void 0,a.line,5,2);i.style("fill","none").call(s.dashLine,a.line.dash,o),o&&l.stroke(i,a.line.color)}))}))}},42068:function(t,e,r){"use strict";r(93348),t.exports={editType:"modebar",orientation:{valType:"enumerated",values:["v","h"],dflt:"h",editType:"modebar"},bgcolor:{valType:"color",editType:"modebar"},color:{valType:"color",editType:"modebar"},activecolor:{valType:"color",editType:"modebar"},uirevision:{valType:"any",editType:"none"},add:{valType:"string",arrayOk:!0,dflt:"",editType:"modebar"},remove:{valType:"string",arrayOk:!0,dflt:"",editType:"modebar"}}},26023:function(t,e,r){"use strict";var n=r(73972),i=r(74875),a=r(41675),o=r(24255),s=r(34031).eraseActiveShape,l=r(71828),u=l._,c=t.exports={};function f(t,e){var r,i,o=e.currentTarget,s=o.getAttribute("data-attr"),l=o.getAttribute("data-val")||!0,u=t._fullLayout,c={},f=a.list(t,null,!0),h=u._cartesianSpikesEnabled;if("zoom"===s){var p,d="in"===l?.5:2,v=(1+d)/2,g=(1-d)/2;for(i=0;i<f.length;i++)if(!(r=f[i]).fixedrange)if(p=r._name,"auto"===l)c[p+".autorange"]=!0;else if("reset"===l){if(void 0===r._rangeInitial)c[p+".autorange"]=!0;else{var y=r._rangeInitial.slice();c[p+".range[0]"]=y[0],c[p+".range[1]"]=y[1]}void 0!==r._showSpikeInitial&&(c[p+".showspikes"]=r._showSpikeInitial,"on"!==h||r._showSpikeInitial||(h="off"))}else{var m=[r.r2l(r.range[0]),r.r2l(r.range[1])],x=[v*m[0]+g*m[1],v*m[1]+g*m[0]];c[p+".range[0]"]=r.l2r(x[0]),c[p+".range[1]"]=r.l2r(x[1])}}else"hovermode"!==s||"x"!==l&&"y"!==l||(l=u._isHoriz?"y":"x",o.setAttribute("data-val",l)),c[s]=l;u._cartesianSpikesEnabled=h,n.call("_guiRelayout",t,c)}function h(t,e){for(var r=e.currentTarget,i=r.getAttribute("data-attr"),a=r.getAttribute("data-val")||!0,o=t._fullLayout._subplots.gl3d||[],s={},l=i.split("."),u=0;u<o.length;u++)s[o[u]+"."+l[1]]=a;var c="pan"===a?a:"zoom";s.dragmode=c,n.call("_guiRelayout",t,s)}function p(t,e){for(var r=e.currentTarget.getAttribute("data-attr"),i="resetLastSave"===r,a="resetDefault"===r,o=t._fullLayout,s=o._subplots.gl3d||[],l={},u=0;u<s.length;u++){var c,f=s[u],h=f+".camera",p=f+".aspectratio",d=f+".aspectmode",v=o[f]._scene;i?(l[h+".up"]=v.viewInitial.up,l[h+".eye"]=v.viewInitial.eye,l[h+".center"]=v.viewInitial.center,c=!0):a&&(l[h+".up"]=null,l[h+".eye"]=null,l[h+".center"]=null,c=!0),c&&(l[p+".x"]=v.viewInitial.aspectratio.x,l[p+".y"]=v.viewInitial.aspectratio.y,l[p+".z"]=v.viewInitial.aspectratio.z,l[d]=v.viewInitial.aspectmode)}n.call("_guiRelayout",t,l)}function d(t,e){var r=e.currentTarget,n=r._previousVal,i=t._fullLayout,a=i._subplots.gl3d||[],o=["xaxis","yaxis","zaxis"],s={},l={};if(n)l=n,r._previousVal=null;else{for(var u=0;u<a.length;u++){var c=a[u],f=i[c],h=c+".hovermode";s[h]=f.hovermode,l[h]=!1;for(var p=0;p<3;p++){var d=o[p],v=c+"."+d+".showspikes";l[v]=!1,s[v]=f[d].showspikes}}r._previousVal=s}return l}function v(t,e){for(var r=e.currentTarget,i=r.getAttribute("data-attr"),a=r.getAttribute("data-val")||!0,o=t._fullLayout,s=o._subplots.geo||[],l=0;l<s.length;l++){var u=s[l],c=o[u];if("zoom"===i){var f=c.projection.scale,h="in"===a?2*f:.5*f;n.call("_guiRelayout",t,u+".projection.scale",h)}}"reset"===i&&x(t,"geo")}function g(t){var e=t._fullLayout;return!e.hovermode&&(e._has("cartesian")?e._isHoriz?"y":"x":"closest")}function y(t){var e=g(t);n.call("_guiRelayout",t,"hovermode",e)}function m(t,e){for(var r=e.currentTarget.getAttribute("data-val"),i=t._fullLayout,a=i._subplots.mapbox||[],o={},s=0;s<a.length;s++){var l=a[s],u=i[l].zoom,c="in"===r?1.05*u:u/1.05;o[l+".zoom"]=c}n.call("_guiRelayout",t,o)}function x(t,e){for(var r=t._fullLayout,i=r._subplots[e]||[],a={},o=0;o<i.length;o++)for(var s=i[o],l=r[s]._subplot.viewInitial,u=Object.keys(l),c=0;c<u.length;c++){var f=u[c];a[s+"."+f]=l[f]}n.call("_guiRelayout",t,a)}c.toImage={name:"toImage",title:function(t){var e=(t._context.toImageButtonOptions||{}).format||"png";return u(t,"png"===e?"Download plot as a png":"Download plot")},icon:o.camera,click:function(t){var e=t._context.toImageButtonOptions,r={format:e.format||"png"};l.notifier(u(t,"Taking snapshot - this may take a few seconds"),"long"),"svg"!==r.format&&l.isIE()&&(l.notifier(u(t,"IE only supports svg. Changing format to svg."),"long"),r.format="svg"),["filename","width","height","scale"].forEach((function(t){t in e&&(r[t]=e[t])})),n.call("downloadImage",t,r).then((function(e){l.notifier(u(t,"Snapshot succeeded")+" - "+e,"long")})).catch((function(){l.notifier(u(t,"Sorry, there was a problem downloading your snapshot!"),"long")}))}},c.sendDataToCloud={name:"sendDataToCloud",title:function(t){return u(t,"Edit in Chart Studio")},icon:o.disk,click:function(t){i.sendDataToCloud(t)}},c.editInChartStudio={name:"editInChartStudio",title:function(t){return u(t,"Edit in Chart Studio")},icon:o.pencil,click:function(t){i.sendDataToCloud(t)}},c.zoom2d={name:"zoom2d",_cat:"zoom",title:function(t){return u(t,"Zoom")},attr:"dragmode",val:"zoom",icon:o.zoombox,click:f},c.pan2d={name:"pan2d",_cat:"pan",title:function(t){return u(t,"Pan")},attr:"dragmode",val:"pan",icon:o.pan,click:f},c.select2d={name:"select2d",_cat:"select",title:function(t){return u(t,"Box Select")},attr:"dragmode",val:"select",icon:o.selectbox,click:f},c.lasso2d={name:"lasso2d",_cat:"lasso",title:function(t){return u(t,"Lasso Select")},attr:"dragmode",val:"lasso",icon:o.lasso,click:f},c.drawclosedpath={name:"drawclosedpath",title:function(t){return u(t,"Draw closed freeform")},attr:"dragmode",val:"drawclosedpath",icon:o.drawclosedpath,click:f},c.drawopenpath={name:"drawopenpath",title:function(t){return u(t,"Draw open freeform")},attr:"dragmode",val:"drawopenpath",icon:o.drawopenpath,click:f},c.drawline={name:"drawline",title:function(t){return u(t,"Draw line")},attr:"dragmode",val:"drawline",icon:o.drawline,click:f},c.drawrect={name:"drawrect",title:function(t){return u(t,"Draw rectangle")},attr:"dragmode",val:"drawrect",icon:o.drawrect,click:f},c.drawcircle={name:"drawcircle",title:function(t){return u(t,"Draw circle")},attr:"dragmode",val:"drawcircle",icon:o.drawcircle,click:f},c.eraseshape={name:"eraseshape",title:function(t){return u(t,"Erase active shape")},icon:o.eraseshape,click:s},c.zoomIn2d={name:"zoomIn2d",_cat:"zoomin",title:function(t){return u(t,"Zoom in")},attr:"zoom",val:"in",icon:o.zoom_plus,click:f},c.zoomOut2d={name:"zoomOut2d",_cat:"zoomout",title:function(t){return u(t,"Zoom out")},attr:"zoom",val:"out",icon:o.zoom_minus,click:f},c.autoScale2d={name:"autoScale2d",_cat:"autoscale",title:function(t){return u(t,"Autoscale")},attr:"zoom",val:"auto",icon:o.autoscale,click:f},c.resetScale2d={name:"resetScale2d",_cat:"resetscale",title:function(t){return u(t,"Reset axes")},attr:"zoom",val:"reset",icon:o.home,click:f},c.hoverClosestCartesian={name:"hoverClosestCartesian",_cat:"hoverclosest",title:function(t){return u(t,"Show closest data on hover")},attr:"hovermode",val:"closest",icon:o.tooltip_basic,gravity:"ne",click:f},c.hoverCompareCartesian={name:"hoverCompareCartesian",_cat:"hoverCompare",title:function(t){return u(t,"Compare data on hover")},attr:"hovermode",val:function(t){return t._fullLayout._isHoriz?"y":"x"},icon:o.tooltip_compare,gravity:"ne",click:f},c.zoom3d={name:"zoom3d",_cat:"zoom",title:function(t){return u(t,"Zoom")},attr:"scene.dragmode",val:"zoom",icon:o.zoombox,click:h},c.pan3d={name:"pan3d",_cat:"pan",title:function(t){return u(t,"Pan")},attr:"scene.dragmode",val:"pan",icon:o.pan,click:h},c.orbitRotation={name:"orbitRotation",title:function(t){return u(t,"Orbital rotation")},attr:"scene.dragmode",val:"orbit",icon:o["3d_rotate"],click:h},c.tableRotation={name:"tableRotation",title:function(t){return u(t,"Turntable rotation")},attr:"scene.dragmode",val:"turntable",icon:o["z-axis"],click:h},c.resetCameraDefault3d={name:"resetCameraDefault3d",_cat:"resetCameraDefault",title:function(t){return u(t,"Reset camera to default")},attr:"resetDefault",icon:o.home,click:p},c.resetCameraLastSave3d={name:"resetCameraLastSave3d",_cat:"resetCameraLastSave",title:function(t){return u(t,"Reset camera to last save")},attr:"resetLastSave",icon:o.movie,click:p},c.hoverClosest3d={name:"hoverClosest3d",_cat:"hoverclosest",title:function(t){return u(t,"Toggle show closest data on hover")},attr:"hovermode",val:null,toggle:!0,icon:o.tooltip_basic,gravity:"ne",click:function(t,e){var r=d(t,e);n.call("_guiRelayout",t,r)}},c.zoomInGeo={name:"zoomInGeo",_cat:"zoomin",title:function(t){return u(t,"Zoom in")},attr:"zoom",val:"in",icon:o.zoom_plus,click:v},c.zoomOutGeo={name:"zoomOutGeo",_cat:"zoomout",title:function(t){return u(t,"Zoom out")},attr:"zoom",val:"out",icon:o.zoom_minus,click:v},c.resetGeo={name:"resetGeo",_cat:"reset",title:function(t){return u(t,"Reset")},attr:"reset",val:null,icon:o.autoscale,click:v},c.hoverClosestGeo={name:"hoverClosestGeo",_cat:"hoverclosest",title:function(t){return u(t,"Toggle show closest data on hover")},attr:"hovermode",val:null,toggle:!0,icon:o.tooltip_basic,gravity:"ne",click:y},c.hoverClosestGl2d={name:"hoverClosestGl2d",_cat:"hoverclosest",title:function(t){return u(t,"Toggle show closest data on hover")},attr:"hovermode",val:null,toggle:!0,icon:o.tooltip_basic,gravity:"ne",click:y},c.hoverClosestPie={name:"hoverClosestPie",_cat:"hoverclosest",title:function(t){return u(t,"Toggle show closest data on hover")},attr:"hovermode",val:"closest",icon:o.tooltip_basic,gravity:"ne",click:y},c.resetViewSankey={name:"resetSankeyGroup",title:function(t){return u(t,"Reset view")},icon:o.home,click:function(t){for(var e={"node.groups":[],"node.x":[],"node.y":[]},r=0;r<t._fullData.length;r++){var i=t._fullData[r]._viewInitial;e["node.groups"].push(i.node.groups.slice()),e["node.x"].push(i.node.x.slice()),e["node.y"].push(i.node.y.slice())}n.call("restyle",t,e)}},c.toggleHover={name:"toggleHover",title:function(t){return u(t,"Toggle show closest data on hover")},attr:"hovermode",val:null,toggle:!0,icon:o.tooltip_basic,gravity:"ne",click:function(t,e){var r=d(t,e);r.hovermode=g(t),n.call("_guiRelayout",t,r)}},c.resetViews={name:"resetViews",title:function(t){return u(t,"Reset views")},icon:o.home,click:function(t,e){var r=e.currentTarget;r.setAttribute("data-attr","zoom"),r.setAttribute("data-val","reset"),f(t,e),r.setAttribute("data-attr","resetLastSave"),p(t,e),x(t,"geo"),x(t,"mapbox")}},c.toggleSpikelines={name:"toggleSpikelines",title:function(t){return u(t,"Toggle Spike Lines")},icon:o.spikeline,attr:"_cartesianSpikesEnabled",val:"on",click:function(t){var e=t._fullLayout,r=e._cartesianSpikesEnabled;e._cartesianSpikesEnabled="on"===r?"off":"on",n.call("_guiRelayout",t,function(t){for(var e="on"===t._fullLayout._cartesianSpikesEnabled,r=a.list(t,null,!0),n={},i=0;i<r.length;i++){var o=r[i];n[o._name+".showspikes"]=!!e||o._showSpikeInitial}return n}(t))}},c.resetViewMapbox={name:"resetViewMapbox",_cat:"resetView",title:function(t){return u(t,"Reset view")},attr:"reset",icon:o.home,click:function(t){x(t,"mapbox")}},c.zoomInMapbox={name:"zoomInMapbox",_cat:"zoomin",title:function(t){return u(t,"Zoom in")},attr:"zoom",val:"in",icon:o.zoom_plus,click:m},c.zoomOutMapbox={name:"zoomOutMapbox",_cat:"zoomout",title:function(t){return u(t,"Zoom out")},attr:"zoom",val:"out",icon:o.zoom_minus,click:m}},93348:function(t,e,r){"use strict";var n=r(26023),i=Object.keys(n),a=["drawline","drawopenpath","drawclosedpath","drawcircle","drawrect","eraseshape"],o=["v1hovermode","hoverclosest","hovercompare","togglehover","togglespikelines"].concat(a),s=[];i.forEach((function(t){!function(t){if(-1===o.indexOf(t._cat||t.name)){var e=t.name,r=(t._cat||t.name).toLowerCase();-1===s.indexOf(e)&&s.push(e),-1===s.indexOf(r)&&s.push(r)}}(n[t])})),s.sort(),t.exports={DRAW_MODES:a,backButtons:o,foreButtons:s}},35750:function(t,e,r){"use strict";var n=r(71828),i=r(7901),a=r(44467),o=r(42068);t.exports=function(t,e){var r=t.modebar||{},s=a.newContainer(e,"modebar");function l(t,e){return n.coerce(r,s,o,t,e)}l("orientation"),l("bgcolor",i.addOpacity(e.paper_bgcolor,.5));var u=i.contrast(i.rgb(e.modebar.bgcolor));l("color",i.addOpacity(u,.3)),l("activecolor",i.addOpacity(u,.7)),l("uirevision",e.uirevision),l("add"),l("remove")}},64168:function(t,e,r){"use strict";t.exports={moduleType:"component",name:"modebar",layoutAttributes:r(42068),supplyLayoutDefaults:r(35750),manage:r(14192)}},14192:function(t,e,r){"use strict";var n=r(41675),i=r(34098),a=r(73972),o=r(23469).isUnifiedHover,s=r(37676),l=r(26023),u=r(93348).DRAW_MODES,c=r(71828).extendDeep;t.exports=function(t){var e=t._fullLayout,r=t._context,f=e._modeBar;if(r.displayModeBar||r.watermark){if(!Array.isArray(r.modeBarButtonsToRemove))throw new Error(["*modeBarButtonsToRemove* configuration options","must be an array."].join(" "));if(!Array.isArray(r.modeBarButtonsToAdd))throw new Error(["*modeBarButtonsToAdd* configuration options","must be an array."].join(" "));var h,p=r.modeBarButtons;h=Array.isArray(p)&&p.length?function(t){for(var e=c([],t),r=0;r<e.length;r++)for(var n=e[r],i=0;i<n.length;i++){var a=n[i];if("string"==typeof a){if(void 0===l[a])throw new Error(["*modeBarButtons* configuration options","invalid button name"].join(" "));e[r][i]=l[a]}}return e}(p):!r.displayModeBar&&r.watermark?[]:function(t){var e=t._fullLayout,r=t._fullData,s=t._context;function c(t,e){if("string"==typeof e){if(e.toLowerCase()===t.toLowerCase())return!0}else{var r=e.name,n=e._cat||e.name;if(r===t||n===t.toLowerCase())return!0}return!1}var f=e.modebar.add;"string"==typeof f&&(f=[f]);var h=e.modebar.remove;"string"==typeof h&&(h=[h]);var p=s.modeBarButtonsToAdd.concat(f.filter((function(t){for(var e=0;e<s.modeBarButtonsToRemove.length;e++)if(c(t,s.modeBarButtonsToRemove[e]))return!1;return!0}))),d=s.modeBarButtonsToRemove.concat(h.filter((function(t){for(var e=0;e<s.modeBarButtonsToAdd.length;e++)if(c(t,s.modeBarButtonsToAdd[e]))return!1;return!0}))),v=e._has("cartesian"),g=e._has("gl3d"),y=e._has("geo"),m=e._has("pie"),x=e._has("funnelarea"),b=e._has("gl2d"),_=e._has("ternary"),w=e._has("mapbox"),T=e._has("polar"),k=e._has("smith"),A=e._has("sankey"),M=function(t){for(var e=n.list({_fullLayout:t},null,!0),r=0;r<e.length;r++)if(!e[r].fixedrange)return!1;return!0}(e),S=o(e.hovermode),E=[];function L(t){if(t.length){for(var e=[],r=0;r<t.length;r++){for(var n=t[r],i=l[n],a=i.name.toLowerCase(),o=(i._cat||i.name).toLowerCase(),s=!1,u=0;u<d.length;u++){var c=d[u].toLowerCase();if(c===a||c===o){s=!0;break}}s||e.push(l[n])}E.push(e)}}var C=["toImage"];s.showEditInChartStudio?C.push("editInChartStudio"):s.showSendToCloud&&C.push("sendDataToCloud"),L(C);var P=[],O=[],I=[],D=[];(v||b||m||x||_)+y+g+w+T+k>1?(O=["toggleHover"],I=["resetViews"]):y?(P=["zoomInGeo","zoomOutGeo"],O=["hoverClosestGeo"],I=["resetGeo"]):g?(O=["hoverClosest3d"],I=["resetCameraDefault3d","resetCameraLastSave3d"]):w?(P=["zoomInMapbox","zoomOutMapbox"],O=["toggleHover"],I=["resetViewMapbox"]):b?O=["hoverClosestGl2d"]:m?O=["hoverClosestPie"]:A?(O=["hoverClosestCartesian","hoverCompareCartesian"],I=["resetViewSankey"]):O=["toggleHover"],v&&(O=["toggleSpikelines","hoverClosestCartesian","hoverCompareCartesian"]),(function(t){for(var e=0;e<t.length;e++)if(!a.traceIs(t[e],"noHover"))return!1;return!0}(r)||S)&&(O=[]),!v&&!b||M||(P=["zoomIn2d","zoomOut2d","autoScale2d"],"resetViews"!==I[0]&&(I=["resetScale2d"])),g?D=["zoom3d","pan3d","orbitRotation","tableRotation"]:(v||b)&&!M||_?D=["zoom2d","pan2d"]:w||y?D=["pan2d"]:T&&(D=["zoom2d"]),function(t){for(var e=!1,r=0;r<t.length&&!e;r++){var n=t[r];n._module&&n._module.selectPoints&&(a.traceIs(n,"scatter-like")?(i.hasMarkers(n)||i.hasText(n))&&(e=!0):a.traceIs(n,"box-violin")&&"all"!==n.boxpoints&&"all"!==n.points||(e=!0))}return e}(r)&&D.push("select2d","lasso2d");var z=[],R=function(t){-1===z.indexOf(t)&&-1!==O.indexOf(t)&&z.push(t)};if(Array.isArray(p)){for(var F=[],B=0;B<p.length;B++){var N=p[B];"string"==typeof N?(N=N.toLowerCase(),-1!==u.indexOf(N)?(e._has("mapbox")||e._has("cartesian"))&&D.push(N):"togglespikelines"===N?R("toggleSpikelines"):"togglehover"===N?R("toggleHover"):"hovercompare"===N?R("hoverCompareCartesian"):"hoverclosest"===N?(R("hoverClosestCartesian"),R("hoverClosestGeo"),R("hoverClosest3d"),R("hoverClosestGl2d"),R("hoverClosestPie")):"v1hovermode"===N&&(R("toggleHover"),R("hoverClosestCartesian"),R("hoverCompareCartesian"),R("hoverClosestGeo"),R("hoverClosest3d"),R("hoverClosestGl2d"),R("hoverClosestPie"))):F.push(N)}p=F}return L(D),L(P.concat(I)),L(z),function(t,e){if(e.length)if(Array.isArray(e[0]))for(var r=0;r<e.length;r++)t.push(e[r]);else t.push(e);return t}(E,p)}(t),f?f.update(t,h):e._modeBar=s(t,h)}else f&&(f.destroy(),delete e._modeBar)}},37676:function(t,e,r){"use strict";var n=r(39898),i=r(92770),a=r(71828),o=r(24255),s=r(11506).version,l=new DOMParser;function u(t){this.container=t.container,this.element=document.createElement("div"),this.update(t.graphInfo,t.buttons),this.container.appendChild(this.element)}var c=u.prototype;c.update=function(t,e){this.graphInfo=t;var r=this.graphInfo._context,n=this.graphInfo._fullLayout,i="modebar-"+n._uid;this.element.setAttribute("id",i),this._uid=i,this.element.className="modebar","hover"===r.displayModeBar&&(this.element.className+=" modebar--hover ease-bg"),"v"===n.modebar.orientation&&(this.element.className+=" vertical",e=e.reverse());var o=n.modebar,s="hover"===r.displayModeBar?".js-plotly-plot .plotly:hover ":"";a.deleteRelatedStyleRule(i),a.addRelatedStyleRule(i,s+"#"+i+" .modebar-group","background-color: "+o.bgcolor),a.addRelatedStyleRule(i,"#"+i+" .modebar-btn .icon path","fill: "+o.color),a.addRelatedStyleRule(i,"#"+i+" .modebar-btn:hover .icon path","fill: "+o.activecolor),a.addRelatedStyleRule(i,"#"+i+" .modebar-btn.active .icon path","fill: "+o.activecolor);var l=!this.hasButtons(e),u=this.hasLogo!==r.displaylogo,c=this.locale!==r.locale;if(this.locale=r.locale,(l||u||c)&&(this.removeAllButtons(),this.updateButtons(e),r.watermark||r.displaylogo)){var f=this.getLogo();r.watermark&&(f.className=f.className+" watermark"),"v"===n.modebar.orientation?this.element.insertBefore(f,this.element.childNodes[0]):this.element.appendChild(f),this.hasLogo=!0}this.updateActiveButton()},c.updateButtons=function(t){var e=this;this.buttons=t,this.buttonElements=[],this.buttonsNames=[],this.buttons.forEach((function(t){var r=e.createGroup();t.forEach((function(t){var n=t.name;if(!n)throw new Error("must provide button 'name' in button config");if(-1!==e.buttonsNames.indexOf(n))throw new Error("button name '"+n+"' is taken");e.buttonsNames.push(n);var i=e.createButton(t);e.buttonElements.push(i),r.appendChild(i)})),e.element.appendChild(r)}))},c.createGroup=function(){var t=document.createElement("div");return t.className="modebar-group",t},c.createButton=function(t){var e=this,r=document.createElement("a");r.setAttribute("rel","tooltip"),r.className="modebar-btn";var i=t.title;void 0===i?i=t.name:"function"==typeof i&&(i=i(this.graphInfo)),(i||0===i)&&r.setAttribute("data-title",i),void 0!==t.attr&&r.setAttribute("data-attr",t.attr);var a=t.val;if(void 0!==a&&("function"==typeof a&&(a=a(this.graphInfo)),r.setAttribute("data-val",a)),"function"!=typeof t.click)throw new Error("must provide button 'click' function in button config");r.addEventListener("click",(function(r){t.click(e.graphInfo,r),e.updateActiveButton(r.currentTarget)})),r.setAttribute("data-toggle",t.toggle||!1),t.toggle&&n.select(r).classed("active",!0);var s=t.icon;return"function"==typeof s?r.appendChild(s()):r.appendChild(this.createIcon(s||o.question)),r.setAttribute("data-gravity",t.gravity||"n"),r},c.createIcon=function(t){var e,r=i(t.height)?Number(t.height):t.ascent-t.descent,n="http://www.w3.org/2000/svg";if(t.path){(e=document.createElementNS(n,"svg")).setAttribute("viewBox",[0,0,t.width,r].join(" ")),e.setAttribute("class","icon");var a=document.createElementNS(n,"path");a.setAttribute("d",t.path),t.transform?a.setAttribute("transform",t.transform):void 0!==t.ascent&&a.setAttribute("transform","matrix(1 0 0 -1 0 "+t.ascent+")"),e.appendChild(a)}return t.svg&&(e=l.parseFromString(t.svg,"application/xml").childNodes[0]),e.setAttribute("height","1em"),e.setAttribute("width","1em"),e},c.updateActiveButton=function(t){var e=this.graphInfo._fullLayout,r=void 0!==t?t.getAttribute("data-attr"):null;this.buttonElements.forEach((function(t){var i=t.getAttribute("data-val")||!0,o=t.getAttribute("data-attr"),s="true"===t.getAttribute("data-toggle"),l=n.select(t);if(s)o===r&&l.classed("active",!l.classed("active"));else{var u=null===o?o:a.nestedProperty(e,o).get();l.classed("active",u===i)}}))},c.hasButtons=function(t){var e=this.buttons;if(!e)return!1;if(t.length!==e.length)return!1;for(var r=0;r<t.length;++r){if(t[r].length!==e[r].length)return!1;for(var n=0;n<t[r].length;n++)if(t[r][n].name!==e[r][n].name)return!1}return!0},c.getLogo=function(){var t=this.createGroup(),e=document.createElement("a");return e.href="https://plotly.com/",e.target="_blank",e.setAttribute("data-title",a._(this.graphInfo,"Produced with Plotly.js")+" (v"+s+")"),e.className="modebar-btn plotlyjsicon modebar-btn--logo",e.appendChild(this.createIcon(o.newplotlylogo)),t.appendChild(e),t},c.removeAllButtons=function(){for(;this.element.firstChild;)this.element.removeChild(this.element.firstChild);this.hasLogo=!1},c.destroy=function(){a.removeElement(this.container.querySelector(".modebar")),a.deleteRelatedStyleRule(this._uid)},t.exports=function(t,e){var r=t._fullLayout,i=new u({graphInfo:t,container:r._modebardiv.node(),buttons:e});return r._privateplot&&n.select(i.element).append("span").classed("badge-private float--left",!0).text("PRIVATE"),i}},37113:function(t,e,r){"use strict";var n=r(41940),i=r(22399),a=(0,r(44467).templatedArray)("button",{visible:{valType:"boolean",dflt:!0,editType:"plot"},step:{valType:"enumerated",values:["month","year","day","hour","minute","second","all"],dflt:"month",editType:"plot"},stepmode:{valType:"enumerated",values:["backward","todate"],dflt:"backward",editType:"plot"},count:{valType:"number",min:0,dflt:1,editType:"plot"},label:{valType:"string",editType:"plot"},editType:"plot"});t.exports={visible:{valType:"boolean",editType:"plot"},buttons:a,x:{valType:"number",min:-2,max:3,editType:"plot"},xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"left",editType:"plot"},y:{valType:"number",min:-2,max:3,editType:"plot"},yanchor:{valType:"enumerated",values:["auto","top","middle","bottom"],dflt:"bottom",editType:"plot"},font:n({editType:"plot"}),bgcolor:{valType:"color",dflt:i.lightLine,editType:"plot"},activecolor:{valType:"color",editType:"plot"},bordercolor:{valType:"color",dflt:i.defaultLine,editType:"plot"},borderwidth:{valType:"number",min:0,dflt:0,editType:"plot"},editType:"plot"}},89573:function(t){"use strict";t.exports={yPad:.02,minButtonWidth:30,rx:3,ry:3,lightAmount:25,darkAmount:10}},28674:function(t,e,r){"use strict";var n=r(71828),i=r(7901),a=r(44467),o=r(85501),s=r(37113),l=r(89573);function u(t,e,r,i){var a=i.calendar;function o(r,i){return n.coerce(t,e,s.buttons,r,i)}if(o("visible")){var l=o("step");"all"!==l&&(!a||"gregorian"===a||"month"!==l&&"year"!==l?o("stepmode"):e.stepmode="backward",o("count")),o("label")}}t.exports=function(t,e,r,c,f){var h=t.rangeselector||{},p=a.newContainer(e,"rangeselector");function d(t,e){return n.coerce(h,p,s,t,e)}if(d("visible",o(h,p,{name:"buttons",handleItemDefaults:u,calendar:f}).length>0)){var v=function(t,e,r){for(var n=r.filter((function(r){return e[r].anchor===t._id})),i=0,a=0;a<n.length;a++){var o=e[n[a]].domain;o&&(i=Math.max(o[1],i))}return[t.domain[0],i+l.yPad]}(e,r,c);d("x",v[0]),d("y",v[1]),n.noneOrAll(t,e,["x","y"]),d("xanchor"),d("yanchor"),n.coerceFont(d,"font",r.font);var g=d("bgcolor");d("activecolor",i.contrast(g,l.lightAmount,l.darkAmount)),d("bordercolor"),d("borderwidth")}}},21598:function(t,e,r){"use strict";var n=r(39898),i=r(73972),a=r(74875),o=r(7901),s=r(91424),l=r(71828),u=l.strTranslate,c=r(63893),f=r(41675),h=r(18783),p=h.LINE_SPACING,d=h.FROM_TL,v=h.FROM_BR,g=r(89573),y=r(70565);function m(t){return t._id}function x(t,e,r){var n=l.ensureSingle(t,"rect","selector-rect",(function(t){t.attr("shape-rendering","crispEdges")}));n.attr({rx:g.rx,ry:g.ry}),n.call(o.stroke,e.bordercolor).call(o.fill,function(t,e){return e._isActive||e._isHovered?t.activecolor:t.bgcolor}(e,r)).style("stroke-width",e.borderwidth+"px")}function b(t,e,r,n){var i,a;l.ensureSingle(t,"text","selector-text",(function(t){t.attr("text-anchor","middle")})).call(s.font,e.font).text((i=r,a=n._fullLayout._meta,i.label?a?l.templateString(i.label,a):i.label:"all"===i.step?"all":i.count+i.step.charAt(0))).call((function(t){c.convertToTspans(t,n)}))}t.exports=function(t){var e=t._fullLayout._infolayer.selectAll(".rangeselector").data(function(t){for(var e=f.list(t,"x",!0),r=[],n=0;n<e.length;n++){var i=e[n];i.rangeselector&&i.rangeselector.visible&&r.push(i)}return r}(t),m);e.enter().append("g").classed("rangeselector",!0),e.exit().remove(),e.style({cursor:"pointer","pointer-events":"all"}),e.each((function(e){var r=n.select(this),o=e,f=o.rangeselector,h=r.selectAll("g.button").data(l.filterVisible(f.buttons));h.enter().append("g").classed("button",!0),h.exit().remove(),h.each((function(e){var r=n.select(this),a=y(o,e);e._isActive=function(t,e,r){if("all"===e.step)return!0===t.autorange;var n=Object.keys(r);return t.range[0]===r[n[0]]&&t.range[1]===r[n[1]]}(o,e,a),r.call(x,f,e),r.call(b,f,e,t),r.on("click",(function(){t._dragged||i.call("_guiRelayout",t,a)})),r.on("mouseover",(function(){e._isHovered=!0,r.call(x,f,e)})),r.on("mouseout",(function(){e._isHovered=!1,r.call(x,f,e)}))})),function(t,e,r,i,o){var f=0,h=0,y=r.borderwidth;e.each((function(){var t=n.select(this).select(".selector-text"),e=r.font.size*p,i=Math.max(e*c.lineCount(t),16)+3;h=Math.max(h,i)})),e.each((function(){var t=n.select(this),e=t.select(".selector-rect"),i=t.select(".selector-text"),a=i.node()&&s.bBox(i.node()).width,o=r.font.size*p,l=c.lineCount(i),d=Math.max(a+10,g.minButtonWidth);t.attr("transform",u(y+f,y)),e.attr({x:0,y:0,width:d,height:h}),c.positionText(i,d/2,h/2-(l-1)*o/2+3),f+=d+5}));var m=t._fullLayout._size,x=m.l+m.w*r.x,b=m.t+m.h*(1-r.y),_="left";l.isRightAnchor(r)&&(x-=f,_="right"),l.isCenterAnchor(r)&&(x-=f/2,_="center");var w="top";l.isBottomAnchor(r)&&(b-=h,w="bottom"),l.isMiddleAnchor(r)&&(b-=h/2,w="middle"),f=Math.ceil(f),h=Math.ceil(h),x=Math.round(x),b=Math.round(b),a.autoMargin(t,i+"-range-selector",{x:r.x,y:r.y,l:f*d[_],r:f*v[_],b:h*v[w],t:h*d[w]}),o.attr("transform",u(x,b))}(t,h,f,o._name,r)}))}},70565:function(t,e,r){"use strict";var n=r(81041),i=r(71828).titleCase;t.exports=function(t,e){var r=t._name,a={};if("all"===e.step)a[r+".autorange"]=!0;else{var o=function(t,e){var r,a=t.range,o=new Date(t.r2l(a[1])),s=e.step,l=n["utc"+i(s)],u=e.count;switch(e.stepmode){case"backward":r=t.l2r(+l.offset(o,-u));break;case"todate":var c=l.offset(o,-u);r=t.l2r(+l.ceil(c))}return[r,a[1]]}(t,e);a[r+".range[0]"]=o[0],a[r+".range[1]"]=o[1]}return a}},97218:function(t,e,r){"use strict";t.exports={moduleType:"component",name:"rangeselector",schema:{subplots:{xaxis:{rangeselector:r(37113)}}},layoutAttributes:r(37113),handleDefaults:r(28674),draw:r(21598)}},75148:function(t,e,r){"use strict";var n=r(22399);t.exports={bgcolor:{valType:"color",dflt:n.background,editType:"plot"},bordercolor:{valType:"color",dflt:n.defaultLine,editType:"plot"},borderwidth:{valType:"integer",dflt:0,min:0,editType:"plot"},autorange:{valType:"boolean",dflt:!0,editType:"calc",impliedEdits:{"range[0]":void 0,"range[1]":void 0}},range:{valType:"info_array",items:[{valType:"any",editType:"calc",impliedEdits:{"^autorange":!1}},{valType:"any",editType:"calc",impliedEdits:{"^autorange":!1}}],editType:"calc",impliedEdits:{autorange:!1}},thickness:{valType:"number",dflt:.15,min:0,max:1,editType:"plot"},visible:{valType:"boolean",dflt:!0,editType:"calc"},editType:"calc"}},88443:function(t,e,r){"use strict";var n=r(41675).list,i=r(71739).getAutoRange,a=r(73251);t.exports=function(t){for(var e=n(t,"x",!0),r=0;r<e.length;r++){var o=e[r],s=o[a.name];s&&s.visible&&s.autorange&&(s._input.autorange=!0,s._input.range=s.range=i(t,o))}}},73251:function(t){"use strict";t.exports={name:"rangeslider",containerClassName:"rangeslider-container",bgClassName:"rangeslider-bg",rangePlotClassName:"rangeslider-rangeplot",maskMinClassName:"rangeslider-mask-min",maskMaxClassName:"rangeslider-mask-max",slideBoxClassName:"rangeslider-slidebox",grabberMinClassName:"rangeslider-grabber-min",grabAreaMinClassName:"rangeslider-grabarea-min",handleMinClassName:"rangeslider-handle-min",grabberMaxClassName:"rangeslider-grabber-max",grabAreaMaxClassName:"rangeslider-grabarea-max",handleMaxClassName:"rangeslider-handle-max",maskMinOppAxisClassName:"rangeslider-mask-min-opp-axis",maskMaxOppAxisClassName:"rangeslider-mask-max-opp-axis",maskColor:"rgba(0,0,0,0.4)",maskOppAxisColor:"rgba(0,0,0,0.2)",slideBoxFill:"transparent",slideBoxCursor:"ew-resize",grabAreaFill:"transparent",grabAreaCursor:"col-resize",grabAreaWidth:10,handleWidth:4,handleRadius:1,handleStrokeWidth:1,extraPad:15}},26377:function(t,e,r){"use strict";var n=r(71828),i=r(44467),a=r(41675),o=r(75148),s=r(47850);t.exports=function(t,e,r){var l=t[r],u=e[r];if(l.rangeslider||e._requestRangeslider[u._id]){n.isPlainObject(l.rangeslider)||(l.rangeslider={});var c,f,h=l.rangeslider,p=i.newContainer(u,"rangeslider");if(_("visible")){_("bgcolor",e.plot_bgcolor),_("bordercolor"),_("borderwidth"),_("thickness"),_("autorange",!u.isValidRange(h.range)),_("range");var d=e._subplots;if(d)for(var v=d.cartesian.filter((function(t){return t.substr(0,t.indexOf("y"))===a.name2id(r)})).map((function(t){return t.substr(t.indexOf("y"),t.length)})),g=n.simpleMap(v,a.id2name),y=0;y<g.length;y++){var m=g[y];c=h[m]||{},f=i.newContainer(p,m,"yaxis");var x,b=e[m];c.range&&b.isValidRange(c.range)&&(x="fixed"),"match"!==w("rangemode",x)&&w("range",b.range.slice())}p._input=h}}function _(t,e){return n.coerce(h,p,o,t,e)}function w(t,e){return n.coerce(c,f,s,t,e)}}},72413:function(t,e,r){"use strict";var n=r(39898),i=r(73972),a=r(74875),o=r(71828),s=o.strTranslate,l=r(91424),u=r(7901),c=r(92998),f=r(93612),h=r(41675),p=r(28569),d=r(6964),v=r(73251);function g(t,e,r,n){var i=o.ensureSingle(t,"rect",v.bgClassName,(function(t){t.attr({x:0,y:0,"shape-rendering":"crispEdges"})})),a=n.borderwidth%2==0?n.borderwidth:n.borderwidth-1,c=-n._offsetShift,f=l.crispRound(e,n.borderwidth);i.attr({width:n._width+a,height:n._height+a,transform:s(c,c),"stroke-width":f}).call(u.stroke,n.bordercolor).call(u.fill,n.bgcolor)}function y(t,e,r,n){var i=e._fullLayout;o.ensureSingleById(i._topdefs,"clipPath",n._clipId,(function(t){t.append("rect").attr({x:0,y:0})})).select("rect").attr({width:n._width,height:n._height})}function m(t,e,r,i){var s,u=e.calcdata,c=t.selectAll("g."+v.rangePlotClassName).data(r._subplotsWith,o.identity);c.enter().append("g").attr("class",(function(t){return v.rangePlotClassName+" "+t})).call(l.setClipUrl,i._clipId,e),c.order(),c.exit().remove(),c.each((function(t,o){var l=n.select(this),c=0===o,p=h.getFromId(e,t,"y"),d=p._name,v=i[d],g={data:[],layout:{xaxis:{type:r.type,domain:[0,1],range:i.range.slice(),calendar:r.calendar},width:i._width,height:i._height,margin:{t:0,b:0,l:0,r:0}},_context:e._context};r.rangebreaks&&(g.layout.xaxis.rangebreaks=r.rangebreaks),g.layout[d]={type:p.type,domain:[0,1],range:"match"!==v.rangemode?v.range.slice():p.range.slice(),calendar:p.calendar},p.rangebreaks&&(g.layout[d].rangebreaks=p.rangebreaks),a.supplyDefaults(g);var y=g._fullLayout.xaxis,m=g._fullLayout[d];y.clearCalc(),y.setScale(),m.clearCalc(),m.setScale();var x={id:t,plotgroup:l,xaxis:y,yaxis:m,isRangePlot:!0};c?s=x:(x.mainplot="xy",x.mainplotinfo=s),f.rangePlot(e,x,function(t,e){for(var r=[],n=0;n<t.length;n++){var i=t[n],a=i[0].trace;a.xaxis+a.yaxis===e&&r.push(i)}return r}(u,t))}))}function x(t,e,r,n,i){o.ensureSingle(t,"rect",v.maskMinClassName,(function(t){t.attr({x:0,y:0,"shape-rendering":"crispEdges"})})).attr("height",n._height).call(u.fill,v.maskColor),o.ensureSingle(t,"rect",v.maskMaxClassName,(function(t){t.attr({y:0,"shape-rendering":"crispEdges"})})).attr("height",n._height).call(u.fill,v.maskColor),"match"!==i.rangemode&&(o.ensureSingle(t,"rect",v.maskMinOppAxisClassName,(function(t){t.attr({y:0,"shape-rendering":"crispEdges"})})).attr("width",n._width).call(u.fill,v.maskOppAxisColor),o.ensureSingle(t,"rect",v.maskMaxOppAxisClassName,(function(t){t.attr({y:0,"shape-rendering":"crispEdges"})})).attr("width",n._width).style("border-top",v.maskOppBorder).call(u.fill,v.maskOppAxisColor))}function b(t,e,r,n){e._context.staticPlot||o.ensureSingle(t,"rect",v.slideBoxClassName,(function(t){t.attr({y:0,cursor:v.slideBoxCursor,"shape-rendering":"crispEdges"})})).attr({height:n._height,fill:v.slideBoxFill})}function _(t,e,r,n){var i=o.ensureSingle(t,"g",v.grabberMinClassName),a=o.ensureSingle(t,"g",v.grabberMaxClassName),s={x:0,width:v.handleWidth,rx:v.handleRadius,fill:u.background,stroke:u.defaultLine,"stroke-width":v.handleStrokeWidth,"shape-rendering":"crispEdges"},l={y:Math.round(n._height/4),height:Math.round(n._height/2)};o.ensureSingle(i,"rect",v.handleMinClassName,(function(t){t.attr(s)})).attr(l),o.ensureSingle(a,"rect",v.handleMaxClassName,(function(t){t.attr(s)})).attr(l);var c={width:v.grabAreaWidth,x:0,y:0,fill:v.grabAreaFill,cursor:e._context.staticPlot?void 0:v.grabAreaCursor};o.ensureSingle(i,"rect",v.grabAreaMinClassName,(function(t){t.attr(c)})).attr("height",n._height),o.ensureSingle(a,"rect",v.grabAreaMaxClassName,(function(t){t.attr(c)})).attr("height",n._height)}t.exports=function(t){for(var e=t._fullLayout,r=e._rangeSliderData,a=0;a<r.length;a++){var l=r[a][v.name];l._clipId=l._id+"-"+e._uid}var u=e._infolayer.selectAll("g."+v.containerClassName).data(r,(function(t){return t._name}));u.exit().each((function(t){var r=t[v.name];e._topdefs.select("#"+r._clipId).remove()})).remove(),0!==r.length&&(u.enter().append("g").classed(v.containerClassName,!0).attr("pointer-events","all"),u.each((function(r){var a=n.select(this),l=r[v.name],u=e[h.id2name(r.anchor)],f=l[h.id2name(r.anchor)];if(l.range){var w,T=o.simpleMap(l.range,r.r2l),k=o.simpleMap(r.range,r.r2l);w=k[0]<k[1]?[Math.min(T[0],k[0]),Math.max(T[1],k[1])]:[Math.max(T[0],k[0]),Math.min(T[1],k[1])],l.range=l._input.range=o.simpleMap(w,r.l2r)}r.cleanRange("rangeslider.range");var A=e._size,M=r.domain;l._width=A.w*(M[1]-M[0]);var S=Math.round(A.l+A.w*M[0]),E=Math.round(A.t+A.h*(1-r._counterDomainMin)+("bottom"===r.side?r._depth:0)+l._offsetShift+v.extraPad);a.attr("transform",s(S,E)),l._rl=o.simpleMap(l.range,r.r2l);var L=l._rl[0],C=l._rl[1],P=C-L;if(l.p2d=function(t){return t/l._width*P+L},l.d2p=function(t){return(t-L)/P*l._width},r.rangebreaks){var O=r.locateBreaks(L,C);if(O.length){var I,D,z=0;for(I=0;I<O.length;I++)z+=(D=O[I]).max-D.min;var R=l._width/(C-L-z),F=[-R*L];for(I=0;I<O.length;I++)D=O[I],F.push(F[F.length-1]-R*(D.max-D.min));for(l.d2p=function(t){for(var e=F[0],r=0;r<O.length;r++){var n=O[r];if(t>=n.max)e=F[r+1];else if(t<n.min)break}return e+R*t},I=0;I<O.length;I++)(D=O[I]).pmin=l.d2p(D.min),D.pmax=l.d2p(D.max);l.p2d=function(t){for(var e=F[0],r=0;r<O.length;r++){var n=O[r];if(t>=n.pmax)e=F[r+1];else if(t<n.pmin)break}return(t-e)/R}}}if("match"!==f.rangemode){var B=u.r2l(f.range[0]),N=u.r2l(f.range[1])-B;l.d2pOppAxis=function(t){return(t-B)/N*l._height}}a.call(g,t,r,l).call(y,t,r,l).call(m,t,r,l).call(x,t,r,l,f).call(b,t,r,l).call(_,t,r,l),function(t,e,r,a){if(!e._context.staticPlot){var s=t.select("rect."+v.slideBoxClassName).node(),l=t.select("rect."+v.grabAreaMinClassName).node(),u=t.select("rect."+v.grabAreaMaxClassName).node();t.on("mousedown",c),t.on("touchstart",c)}function c(){var c=n.event,f=c.target,h=c.clientX||c.touches[0].clientX,v=h-t.node().getBoundingClientRect().left,g=a.d2p(r._rl[0]),y=a.d2p(r._rl[1]),m=p.coverSlip();function x(t){var c,p,x,b=+(t.clientX||t.touches[0].clientX)-h;switch(f){case s:x="ew-resize",c=g+b,p=y+b;break;case l:x="col-resize",c=g+b,p=y;break;case u:x="col-resize",c=g,p=y+b;break;default:x="ew-resize",c=v,p=v+b}if(p<c){var _=p;p=c,c=_}a._pixelMin=c,a._pixelMax=p,d(n.select(m),x),function(t,e,r,n){function a(t){return r.l2r(o.constrain(t,n._rl[0],n._rl[1]))}var s=a(n.p2d(n._pixelMin)),l=a(n.p2d(n._pixelMax));window.requestAnimationFrame((function(){i.call("_guiRelayout",e,r._name+".range",[s,l])}))}(0,e,r,a)}function b(){m.removeEventListener("mousemove",x),m.removeEventListener("mouseup",b),this.removeEventListener("touchmove",x),this.removeEventListener("touchend",b),o.removeElement(m)}this.addEventListener("touchmove",x),this.addEventListener("touchend",b),m.addEventListener("mousemove",x),m.addEventListener("mouseup",b)}}(a,t,r,l),function(t,e,r,n,i,a){var l=v.handleWidth/2;function u(t){return o.constrain(t,0,n._width)}function c(t){return o.constrain(t,0,n._height)}function f(t){return o.constrain(t,-l,n._width+l)}var h=u(n.d2p(r._rl[0])),p=u(n.d2p(r._rl[1]));if(t.select("rect."+v.slideBoxClassName).attr("x",h).attr("width",p-h),t.select("rect."+v.maskMinClassName).attr("width",h),t.select("rect."+v.maskMaxClassName).attr("x",p).attr("width",n._width-p),"match"!==a.rangemode){var d=n._height-c(n.d2pOppAxis(i._rl[1])),g=n._height-c(n.d2pOppAxis(i._rl[0]));t.select("rect."+v.maskMinOppAxisClassName).attr("x",h).attr("height",d).attr("width",p-h),t.select("rect."+v.maskMaxOppAxisClassName).attr("x",h).attr("y",g).attr("height",n._height-g).attr("width",p-h),t.select("rect."+v.slideBoxClassName).attr("y",d).attr("height",g-d)}var y=.5,m=Math.round(f(h-l))-y,x=Math.round(f(p-l))+y;t.select("g."+v.grabberMinClassName).attr("transform",s(m,y)),t.select("g."+v.grabberMaxClassName).attr("transform",s(x,y))}(a,0,r,l,u,f),"bottom"===r.side&&c.draw(t,r._id+"title",{propContainer:r,propName:r._name+".title",placeholder:e._dfltTitle.x,attributes:{x:r._offset+r._length/2,y:E+l._height+l._offsetShift+10+1.5*r.title.font.size,"text-anchor":"middle"}})})))}},549:function(t,e,r){"use strict";var n=r(41675),i=r(63893),a=r(73251),o=r(18783).LINE_SPACING,s=a.name;function l(t){var e=t&&t[s];return e&&e.visible}e.isVisible=l,e.makeData=function(t){var e=n.list({_fullLayout:t},"x",!0),r=t.margin,i=[];if(!t._has("gl2d"))for(var a=0;a<e.length;a++){var o=e[a];if(l(o)){i.push(o);var u=o[s];u._id=s+o._id,u._height=(t.height-r.b-r.t)*u.thickness,u._offsetShift=Math.floor(u.borderwidth/2)}}t._rangeSliderData=i},e.autoMarginOpts=function(t,e){var r=t._fullLayout,n=e[s],l=e._id.charAt(0),u=0,c=0;return"bottom"===e.side&&(u=e._depth,e.title.text!==r._dfltTitle[l]&&(c=1.5*e.title.font.size+10+n._offsetShift,c+=(e.title.text.match(i.BR_TAG_ALL)||[]).length*e.title.font.size*o)),{x:0,y:e._counterDomainMin,l:0,r:0,t:0,b:n._height+u+Math.max(r.margin.b,c),pad:a.extraPad+2*n._offsetShift}}},13137:function(t,e,r){"use strict";var n=r(71828),i=r(75148),a=r(47850),o=r(549);t.exports={moduleType:"component",name:"rangeslider",schema:{subplots:{xaxis:{rangeslider:n.extendFlat({},i,{yaxis:a})}}},layoutAttributes:r(75148),handleDefaults:r(26377),calcAutorange:r(88443),draw:r(72413),isVisible:o.isVisible,makeData:o.makeData,autoMarginOpts:o.autoMarginOpts}},47850:function(t){"use strict";t.exports={_isSubplotObj:!0,rangemode:{valType:"enumerated",values:["auto","fixed","match"],dflt:"match",editType:"calc"},range:{valType:"info_array",items:[{valType:"any",editType:"plot"},{valType:"any",editType:"plot"}],editType:"plot"},editType:"calc"}},8389:function(t,e,r){"use strict";var n=r(50215),i=r(82196).line,a=r(79952).P,o=r(1426).extendFlat,s=r(30962).overrideAll,l=r(44467).templatedArray;r(24695),t.exports=s(l("selection",{type:{valType:"enumerated",values:["rect","path"]},xref:o({},n.xref,{}),yref:o({},n.yref,{}),x0:{valType:"any"},x1:{valType:"any"},y0:{valType:"any"},y1:{valType:"any"},path:{valType:"string",editType:"arraydraw"},opacity:{valType:"number",min:0,max:1,dflt:.7,editType:"arraydraw"},line:{color:i.color,width:o({},i.width,{min:1,dflt:1}),dash:o({},a,{dflt:"dot"})}}),"arraydraw","from-root")},34122:function(t){"use strict";t.exports={BENDPX:1.5,MINSELECT:12,SELECTDELAY:100,SELECTID:"-select"}},59402:function(t,e,r){"use strict";var n=r(71828),i=r(89298),a=r(85501),o=r(8389),s=r(30477);function l(t,e,r){function a(r,i){return n.coerce(t,e,o,r,i)}var l=a("path"),u="path"!==a("type",l?"path":"rect");u&&delete e.path,a("opacity"),a("line.color"),a("line.width"),a("line.dash");for(var c=["x","y"],f=0;f<2;f++){var h,p,d,v=c[f],g={_fullLayout:r},y=i.coerceRef(t,e,g,v);if((h=i.getFromId(g,y))._selectionIndices.push(e._index),d=s.rangeToShapePosition(h),p=s.shapePositionToRange(h),u){var m=v+"0",x=v+"1",b=t[m],_=t[x];t[m]=p(t[m],!0),t[x]=p(t[x],!0),i.coercePosition(e,g,a,y,m),i.coercePosition(e,g,a,y,x);var w=e[m],T=e[x];void 0!==w&&void 0!==T&&(e[m]=d(w),e[x]=d(T),t[m]=b,t[x]=_)}}u&&n.noneOrAll(t,e,["x0","x1","y0","y1"])}t.exports=function(t,e){a(t,e,{name:"selections",handleItemDefaults:l});for(var r=e.selections,n=0;n<r.length;n++){var i=r[n];i&&void 0===i.path&&(void 0!==i.x0&&void 0!==i.x1&&void 0!==i.y0&&void 0!==i.y1||(e.selections[n]=null))}}},32485:function(t,e,r){"use strict";var n=r(60165).readPaths,i=r(42359),a=r(51873).clearOutlineControllers,o=r(7901),s=r(91424),l=r(44467).arrayEditor,u=r(30477),c=u.getPathString;function f(t){var e=t._fullLayout;for(var r in a(t),e._selectionLayer.selectAll("path").remove(),e._plots){var n=e._plots[r].selectionLayer;n&&n.selectAll("path").remove()}for(var i=0;i<e.selections.length;i++)p(t,i)}function h(t){return t._context.editSelection}function p(t,e){t._fullLayout._paperdiv.selectAll('.selectionlayer [data-index="'+e+'"]').remove();var r=u.makeSelectionsOptionsAndPlotinfo(t,e),a=r.options,p=r.plotinfo;a._input&&function(r){var u=c(t,a),g={"data-index":e,"fill-rule":"evenodd",d:u},y=a.opacity,m="rgba(0,0,0,0)",x=a.line.color||o.contrast(t._fullLayout.plot_bgcolor),b=a.line.width,_=a.line.dash;b||(b=5,_="solid");var w=h(t)&&t._fullLayout._activeSelectionIndex===e;w&&(m=t._fullLayout.activeselection.fillcolor,y=t._fullLayout.activeselection.opacity);for(var T=[],k=1;k>=0;k--){var A=r.append("path").attr(g).style("opacity",k?.1:y).call(o.stroke,x).call(o.fill,m).call(s.dashLine,k?"solid":_,k?4+b:b);if(d(A,t,a),w){var M=l(t.layout,"selections",a);A.style({cursor:"move"});var S={element:A.node(),plotinfo:p,gd:t,editHelpers:M,isActiveSelection:!0},E=n(u,t);i(E,A,S)}else A.style("pointer-events",k?"all":"none");T[k]=A}var L=T[0];T[1].node().addEventListener("click",(function(){return function(t,e){if(h(t)){var r=+e.node().getAttribute("data-index");if(r>=0){if(r===t._fullLayout._activeSelectionIndex)return void v(t);t._fullLayout._activeSelectionIndex=r,t._fullLayout._deactivateSelection=v,f(t)}}}(t,L)}))}(t._fullLayout._selectionLayer)}function d(t,e,r){var n=r.xref+r.yref;s.setClipUrl(t,"clip"+e._fullLayout._uid+n,e)}function v(t){h(t)&&t._fullLayout._activeSelectionIndex>=0&&(a(t),delete t._fullLayout._activeSelectionIndex,f(t))}t.exports={draw:f,drawOne:p,activateLastSelection:function(t){if(h(t)){var e=t._fullLayout.selections.length-1;t._fullLayout._activeSelectionIndex=e,t._fullLayout._deactivateSelection=v,f(t)}}}},53777:function(t,e,r){"use strict";var n=r(79952).P,i=r(1426).extendFlat;t.exports={newselection:{mode:{valType:"enumerated",values:["immediate","gradual"],dflt:"immediate",editType:"none"},line:{color:{valType:"color",editType:"none"},width:{valType:"number",min:1,dflt:1,editType:"none"},dash:i({},n,{dflt:"dot",editType:"none"}),editType:"none"},editType:"none"},activeselection:{fillcolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"none"},opacity:{valType:"number",min:0,max:1,dflt:.5,editType:"none"},editType:"none"}}},90849:function(t){"use strict";t.exports=function(t,e,r){r("newselection.mode"),r("newselection.line.width")&&(r("newselection.line.color"),r("newselection.line.dash")),r("activeselection.fillcolor"),r("activeselection.opacity")}},35855:function(t,e,r){"use strict";var n=r(64505).selectMode,i=r(51873).clearOutline,a=r(60165),o=a.readPaths,s=a.writePaths,l=a.fixDatesForPaths;t.exports=function(t,e){if(t.length){var r=t[0][0];if(r){var a=r.getAttribute("d"),u=e.gd,c=u._fullLayout.newselection,f=e.plotinfo,h=f.xaxis,p=f.yaxis,d=e.isActiveSelection,v=e.dragmode,g=(u.layout||{}).selections||[];if(!n(v)&&void 0!==d){var y=u._fullLayout._activeSelectionIndex;if(y<g.length)switch(u._fullLayout.selections[y].type){case"rect":v="select";break;case"path":v="lasso"}}var m,x=o(a,u,f,d),b={xref:h._id,yref:p._id,opacity:c.opacity,line:{color:c.line.color,width:c.line.width,dash:c.line.dash}};1===x.length&&(m=x[0]),m&&5===m.length&&"select"===v?(b.type="rect",b.x0=m[0][1],b.y0=m[0][2],b.x1=m[2][1],b.y1=m[2][2]):(b.type="path",h&&p&&l(x,h,p),b.path=s(x),m=null),i(u);for(var _=e.editHelpers,w=(_||{}).modifyItem,T=[],k=0;k<g.length;k++){var A=u._fullLayout.selections[k];if(A){if(T[k]=A._input,void 0!==d&&k===u._fullLayout._activeSelectionIndex){var M=b;switch(A.type){case"rect":w("x0",M.x0),w("x1",M.x1),w("y0",M.y0),w("y1",M.y1);break;case"path":w("path",M.path)}}}else T[k]=A}return void 0===d?(T.push(b),T):_?_.getUpdateObj():{}}}}},75549:function(t,e,r){"use strict";var n=r(71828).strTranslate;function i(t,e){switch(t.type){case"log":return t.p2d(e);case"date":return t.p2r(e,0,t.calendar);default:return t.p2r(e)}}t.exports={p2r:i,r2p:function(t,e){switch(t.type){case"log":return t.d2p(e);case"date":return t.r2p(e,0,t.calendar);default:return t.r2p(e)}},axValue:function(t){var e="y"===t._id.charAt(0)?1:0;return function(r){return i(t,r[e])}},getTransform:function(t){return n(t.xaxis._offset,t.yaxis._offset)}}},47322:function(t,e,r){"use strict";var n=r(32485),i=r(3937);t.exports={moduleType:"component",name:"selections",layoutAttributes:r(8389),supplyLayoutDefaults:r(59402),supplyDrawNewSelectionDefaults:r(90849),includeBasePlot:r(76325)("selections"),draw:n.draw,drawOne:n.drawOne,reselect:i.reselect,prepSelect:i.prepSelect,clearOutline:i.clearOutline,clearSelectionsCache:i.clearSelectionsCache,selectOnClick:i.selectOnClick}},3937:function(t,e,r){"use strict";var n=r(52142),i=r(38258),a=r(73972),o=r(91424).dashStyle,s=r(7901),l=r(30211),u=r(23469).makeEventData,c=r(64505),f=c.freeMode,h=c.rectMode,p=c.drawMode,d=c.openMode,v=c.selectMode,g=r(30477),y=r(21459),m=r(42359),x=r(51873).clearOutline,b=r(60165),_=b.handleEllipse,w=b.readPaths,T=r(90551),k=r(35855),A=r(32485).activateLastSelection,M=r(71828),S=M.sorterAsc,E=r(61082),L=r(79990),C=r(41675).getFromId,P=r(33306),O=r(61549).redrawReglTraces,I=r(34122),D=I.MINSELECT,z=E.filter,R=E.tester,F=r(75549),B=F.p2r,N=F.axValue,j=F.getTransform;function U(t){return void 0!==t.subplot}function V(t,e,r,n,i,a,o){var s,l,u,c,f,h,p,v,g,y=e._hoverdata,x=e._fullLayout.clickmode.indexOf("event")>-1,b=[];if(function(t){return t&&Array.isArray(t)&&!0!==t[0].hoverOnBox}(y)){Z(t,e,a);var _=function(t,e){var r,n,i=t[0],a=-1,o=[];for(n=0;n<e.length;n++)if(r=e[n],i.fullData._expandedIndex===r.cd[0].trace._expandedIndex){if(!0===i.hoverOnBox)break;void 0!==i.pointNumber?a=i.pointNumber:void 0!==i.binNumber&&(a=i.binNumber,o=i.pointNumbers);break}return{pointNumber:a,pointNumbers:o,searchInfo:r}}(y,s=X(e,r,n,i));if(_.pointNumbers.length>0?function(t,e){var r,n,i,a=[];for(i=0;i<t.length;i++)(r=t[i]).cd[0].trace.selectedpoints&&r.cd[0].trace.selectedpoints.length>0&&a.push(r);if(1===a.length&&a[0]===e.searchInfo&&(n=e.searchInfo.cd[0].trace).selectedpoints.length===e.pointNumbers.length){for(i=0;i<e.pointNumbers.length;i++)if(n.selectedpoints.indexOf(e.pointNumbers[i])<0)return!1;return!0}return!1}(s,_):function(t){var e,r,n=0;for(r=0;r<t.length;r++)if((e=t[r].cd[0].trace).selectedpoints){if(e.selectedpoints.length>1)return!1;if((n+=e.selectedpoints.length)>1)return!1}return 1===n}(s)&&(h=K(_))){for(o&&o.remove(),g=0;g<s.length;g++)(l=s[g])._module.selectPoints(l,!1);$(e,s),Y(a),x&&ht(e)}else{for(p=t.shiftKey&&(void 0!==h?h:K(_)),u=function(t,e,r){return{pointNumber:t,searchInfo:e,subtract:!!r}}(_.pointNumber,_.searchInfo,p),c=G(a.selectionDefs.concat([u])),g=0;g<s.length;g++)if(f=tt(s[g]._module.selectPoints(s[g],c),s[g]),b.length)for(var w=0;w<f.length;w++)b.push(f[w]);else b=f;if($(e,s,v={points:b}),u&&a&&a.selectionDefs.push(u),o){var T=a.mergedPolygons,k=d(a.dragmode);m(et(T,k),o,a)}x&&ft(e,v)}}}function H(t){return"pointNumber"in t&&"searchInfo"in t}function q(t){return{xmin:0,xmax:0,ymin:0,ymax:0,pts:[],contains:function(e,r,n,i){var a=t.searchInfo.cd[0].trace._expandedIndex;return i.cd[0].trace._expandedIndex===a&&n===t.pointNumber},isRect:!1,degenerate:!1,subtract:!!t.subtract}}function G(t){if(t.length){for(var e=[],r=H(t[0])?0:t[0][0][0],n=r,i=H(t[0])?0:t[0][0][1],a=i,o=0;o<t.length;o++)if(H(t[o]))e.push(q(t[o]));else{var s=R(t[o]);s.subtract=!!t[o].subtract,e.push(s),r=Math.min(r,s.xmin),n=Math.max(n,s.xmax),i=Math.min(i,s.ymin),a=Math.max(a,s.ymax)}return{xmin:r,xmax:n,ymin:i,ymax:a,pts:[],contains:function(t,r,n,i){for(var a=!1,o=0;o<e.length;o++)e[o].contains(t,r,n,i)&&(a=!e[o].subtract);return a},isRect:!1,degenerate:!1}}}function Z(t,e,r){var n=e._fullLayout,i=r.plotinfo,a=r.dragmode,o=n._lastSelectedSubplot&&n._lastSelectedSubplot===i.id,s=(t.shiftKey||t.altKey)&&!(p(a)&&d(a));o&&s&&i.selection&&i.selection.selectionDefs&&!r.selectionDefs?(r.selectionDefs=i.selection.selectionDefs,r.mergedPolygons=i.selection.mergedPolygons):s&&i.selection||Y(r),o||(x(e),n._lastSelectedSubplot=i.id)}function Y(t,e){var r=t.dragmode,n=t.plotinfo,i=t.gd;(function(t){return t._fullLayout._activeShapeIndex>=0})(i)&&i._fullLayout._deactivateShape(i),function(t){return t._fullLayout._activeSelectionIndex>=0}(i)&&i._fullLayout._deactivateSelection(i);var o=i._fullLayout._zoomlayer,s=p(r),l=v(r);if(s||l){var u,c,f=o.selectAll(".select-outline-"+n.id);f&&i._fullLayout._outlining&&(s&&(u=T(f,t)),u&&a.call("_guiRelayout",i,{shapes:u}),l&&!U(t)&&(c=k(f,t)),c&&(i._fullLayout._noEmitSelectedAtStart=!0,a.call("_guiRelayout",i,{selections:c}).then((function(){e&&A(i)}))),i._fullLayout._outlining=!1)}n.selection={},n.selection.selectionDefs=t.selectionDefs=[],n.selection.mergedPolygons=t.mergedPolygons=[]}function W(t){return t._id}function X(t,e,r,n){if(!t.calcdata)return[];var i,a,o,s=[],l=e.map(W),u=r.map(W);for(o=0;o<t.calcdata.length;o++)if(!0===(a=(i=t.calcdata[o])[0].trace).visible&&a._module&&a._module.selectPoints)if(!U({subplot:n})||a.subplot!==n&&a.geo!==n)if("splom"===a.type){if(a._xaxes[l[0]]&&a._yaxes[u[0]]){var c=J(a._module,i,e[0],r[0]);c.scene=t._fullLayout._splomScenes[a.uid],s.push(c)}}else if("sankey"===a.type){var f=J(a._module,i,e[0],r[0]);s.push(f)}else{if(-1===l.indexOf(a.xaxis))continue;if(-1===u.indexOf(a.yaxis))continue;s.push(J(a._module,i,C(t,a.xaxis),C(t,a.yaxis)))}else s.push(J(a._module,i,e[0],r[0]));return s}function J(t,e,r,n){return{_module:t,cd:e,xaxis:r,yaxis:n}}function K(t){var e=t.searchInfo.cd[0].trace,r=t.pointNumber,n=t.pointNumbers,i=n.length>0?n[0]:r;return!!e.selectedpoints&&e.selectedpoints.indexOf(i)>-1}function $(t,e,r){var n,i;for(n=0;n<e.length;n++){var o=e[n].cd[0].trace._fullInput,s=t._fullLayout._tracePreGUI[o.uid]||{};void 0===s.selectedpoints&&(s.selectedpoints=o._input.selectedpoints||null)}if(r){var l=r.points||[];for(n=0;n<e.length;n++)(i=e[n].cd[0].trace)._input.selectedpoints=i._fullInput.selectedpoints=[],i._fullInput!==i&&(i.selectedpoints=[]);for(var u=0;u<l.length;u++){var c=l[u],f=c.data,h=c.fullData,p=c.pointIndex,d=c.pointIndices;d?([].push.apply(f.selectedpoints,d),i._fullInput!==i&&[].push.apply(h.selectedpoints,d)):(f.selectedpoints.push(p),i._fullInput!==i&&h.selectedpoints.push(p))}}else for(n=0;n<e.length;n++)delete(i=e[n].cd[0].trace).selectedpoints,delete i._input.selectedpoints,i._fullInput!==i&&delete i._fullInput.selectedpoints;!function(t,e){for(var r=!1,n=0;n<e.length;n++){var i=e[n],o=i.cd;a.traceIs(o[0].trace,"regl")&&(r=!0);var s=i._module,l=s.styleOnSelect||s.style;l&&(l(t,o,o[0].node3),o[0].nodeRangePlot3&&l(t,o,o[0].nodeRangePlot3))}r&&(P(t),O(t))}(t,e)}function Q(t,e,r){for(var i=(r?n.difference:n.union)({regions:t},{regions:[e]}).regions.reverse(),a=0;a<i.length;a++){var o=i[a];o.subtract=st(o,i.slice(0,a))}return i}function tt(t,e){if(Array.isArray(t))for(var r=e.cd,n=e.cd[0].trace,i=0;i<t.length;i++)t[i]=u(t[i],n,r);return t}function et(t,e){for(var r=[],n=0;n<t.length;n++){r[n]=[];for(var i=0;i<t[n].length;i++){r[n][i]=[],r[n][i][0]=i?"L":"M";for(var a=0;a<t[n][i].length;a++)r[n][i].push(t[n][i][a])}e||r[n].push(["Z",r[n][0][1],r[n][0][2]])}return r}function rt(t,e){for(var r,n,i=[],a=[],o=0;o<e.length;o++){var s=e[o];n=s._module.selectPoints(s,t),a.push(n),r=tt(n,s),i=i.concat(r)}return i}function nt(t,e,r,n,i){var a,o,s,l=!!n;i&&(a=i.plotinfo,o=i.xaxes[0]._id,s=i.yaxes[0]._id);var u=[],c=[],f=ot(t),h=t._fullLayout;if(a){var d=h._zoomlayer,g=h.dragmode,y=p(g),m=v(g);if(y||m){var x=C(t,o,"x"),b=C(t,s,"y");if(x&&b){var _=d.selectAll(".select-outline-"+a.id);if(_&&t._fullLayout._outlining&&_.length){for(var T=_[0][0].getAttribute("d"),k=w(T,t,a),A=[],M=0;M<k.length;M++){for(var S=k[M],E=[],L=0;L<S.length;L++)E.push([lt(x,S[L][1]),lt(b,S[L][2])]);E.xref=o,E.yref=s,E.subtract=st(E,A),A.push(E)}f=f.concat(A)}}}}var P=o&&s?[o+s]:h._subplots.cartesian;!function(t){var e=t.calcdata;if(e)for(var r=0;r<e.length;r++){var n=e[r][0].trace,i=t._fullLayout._splomScenes;if(i){var a=i[n.uid];a&&(a.selectBatch=[])}}}(t);for(var O={},I=0;I<P.length;I++){var D=P[I],z=D.indexOf("y"),R=D.slice(0,z),F=D.slice(z),B=o&&s?r:void 0;if(B=at(f,R,F,B)){var N=n;if(!l){var j=C(t,R,"x"),U=C(t,F,"y");N=X(t,[j],[U],D);for(var V=0;V<N.length;V++){var H=N[V],q=H.cd[0],G=q.trace;if("scattergl"===H._module.name&&!q.t.xpx){var Z=G.x,Y=G.y,W=G._length;q.t.xpx=[],q.t.ypx=[];for(var J=0;J<W;J++)q.t.xpx[J]=j.c2p(Z[J]),q.t.ypx[J]=U.c2p(Y[J])}"splom"===H._module.name&&(O[G.uid]||(O[G.uid]=!0))}}var K=rt(B,N);u=u.concat(K),c=c.concat(N)}}var Q={points:u};$(t,c,Q);var tt=h.clickmode.indexOf("event")>-1&&e;if(!a&&e){var et=ot(t,!0);if(et.length){var nt=et[0].xref,pt=et[0].yref;if(nt&&pt){var dt=ut(et);ct([C(t,nt,"x"),C(t,pt,"y")])(Q,dt)}}t._fullLayout._noEmitSelectedAtStart?t._fullLayout._noEmitSelectedAtStart=!1:tt&&ft(t,Q),h._reselect=!1}if(!a&&h._deselect){var vt=h._deselect;(function(t,e,r){for(var n=0;n<r.length;n++){var i=r[n];if(i.xaxis&&i.xaxis._id===t&&i.yaxis&&i.yaxis._id===e)return!0}return!1})(o=vt.xref,s=vt.yref,c)||it(t,o,s,n),tt&&(Q.points.length?ft(t,Q):ht(t)),h._deselect=!1}return{eventData:Q,selectionTesters:r}}function it(t,e,r,n){n=X(t,[C(t,e,"x")],[C(t,r,"y")],e+r);for(var i=0;i<n.length;i++){var a=n[i];a._module.selectPoints(a,!1)}$(t,n)}function at(t,e,r,n){for(var i,a=0;a<t.length;a++){var o=t[a];e===o.xref&&r===o.yref&&(i?n=G(i=Q(i,o,!!o.subtract)):(i=[o],n=R(o)))}return n}function ot(t,e){for(var r=[],n=t._fullLayout,i=n.selections,a=i.length,o=0;o<a;o++)if(!e||o===n._activeSelectionIndex){var s=i[o];if(s){var l,u,c,f,h,p=s.xref,d=s.yref,v=C(t,p,"x"),m=C(t,d,"y");if("rect"===s.type){h=[];var x=lt(v,s.x0),b=lt(v,s.x1),_=lt(m,s.y0),w=lt(m,s.y1);h=[[x,_],[x,w],[b,w],[b,_]],l=Math.min(x,b),u=Math.max(x,b),c=Math.min(_,w),f=Math.max(_,w),h.xmin=l,h.xmax=u,h.ymin=c,h.ymax=f,h.xref=p,h.yref=d,h.subtract=!1,h.isRect=!0,r.push(h)}else if("path"===s.type)for(var T=s.path.split("Z"),k=[],A=0;A<T.length;A++){var M=T[A];if(M){M+="Z";var S=g.extractPathCoords(M,y.paramIsX,"raw"),E=g.extractPathCoords(M,y.paramIsY,"raw");l=1/0,u=-1/0,c=1/0,f=-1/0,h=[];for(var L=0;L<S.length;L++){var P=lt(v,S[L]),O=lt(m,E[L]);h.push([P,O]),l=Math.min(P,l),u=Math.max(P,u),c=Math.min(O,c),f=Math.max(O,f)}h.xmin=l,h.xmax=u,h.ymin=c,h.ymax=f,h.xref=p,h.yref=d,h.subtract=st(h,k),k.push(h),r.push(h)}}}}return r}function st(t,e){for(var r=!1,n=0;n<e.length;n++)for(var a=e[n],o=0;o<t.length;o++)if(i(t[o],a)){r=!r;break}return r}function lt(t,e){return"date"===t.type&&(e=e.replace("_"," ")),"log"===t.type?t.c2p(e):t.r2p(e,null,t.calendar)}function ut(t){for(var e=t.length,r=[],n=0;n<e;n++){var i=t[n];r=(r=r.concat(i)).concat([i[0]])}return(a=r).isRect=5===a.length&&a[0][0]===a[4][0]&&a[0][1]===a[4][1]&&a[0][0]===a[1][0]&&a[2][0]===a[3][0]&&a[0][1]===a[3][1]&&a[1][1]===a[2][1]||a[0][1]===a[1][1]&&a[2][1]===a[3][1]&&a[0][0]===a[3][0]&&a[1][0]===a[2][0],a.isRect&&(a.xmin=Math.min(a[0][0],a[2][0]),a.xmax=Math.max(a[0][0],a[2][0]),a.ymin=Math.min(a[0][1],a[2][1]),a.ymax=Math.max(a[0][1],a[2][1])),a;var a}function ct(t){return function(e,r){for(var n,i,a=0;a<t.length;a++){var o=t[a],s=o._id,l=s.charAt(0);if(r.isRect){n||(n={});var u=r[l+"min"],c=r[l+"max"];void 0!==u&&void 0!==c&&(n[s]=[B(o,u),B(o,c)].sort(S))}else i||(i={}),i[s]=r.map(N(o))}n&&(e.range=n),i&&(e.lassoPoints=i)}}function ft(t,e){e&&(e.selections=(t.layout||{}).selections||[]),t.emit("plotly_selected",e)}function ht(t){t.emit("plotly_deselect",null)}t.exports={reselect:nt,prepSelect:function(t,e,r,n,i){var u=!U(n),c=f(i),g=h(i),y=d(i),x=p(i),b=v(i),w="drawcircle"===i,T="drawline"===i||w,k=n.gd,A=k._fullLayout,S=b&&"immediate"===A.newselection.mode&&u,E=A._zoomlayer,C=n.element.getBoundingClientRect(),P=n.plotinfo,O=j(P),F=e-C.left,B=r-C.top;A._calcInverseTransform(k);var N=M.apply3DTransform(A._invTransform)(F,B);F=N[0],B=N[1];var H,q,W,J,K,tt,at,ot=A._invScaleX,st=A._invScaleY,lt=F,pt=B,dt="M"+F+","+B,vt=n.xaxes[0],gt=n.yaxes[0],yt=vt._length,mt=gt._length,xt=t.altKey&&!(p(i)&&y);Z(t,k,n),c&&(H=z([[F,B]],I.BENDPX));var bt=E.selectAll("path.select-outline-"+P.id).data([1]),_t=x?A.newshape:A.newselection,wt=x&&!y?_t.fillcolor:"rgba(0,0,0,0)",Tt=_t.line.color||(u?s.contrast(k._fullLayout.plot_bgcolor):"#7f7f7f");bt.enter().append("path").attr("class","select-outline select-outline-"+P.id).style({opacity:x?_t.opacity/2:1,"stroke-dasharray":o(_t.line.dash,_t.line.width),"stroke-width":_t.line.width+"px","shape-rendering":"crispEdges"}).call(s.stroke,Tt).call(s.fill,wt).attr("fill-rule","evenodd").classed("cursor-move",!!x).attr("transform",O).attr("d",dt+"Z");var kt=E.append("path").attr("class","zoombox-corners").style({fill:s.background,stroke:s.defaultLine,"stroke-width":1}).attr("transform",O).attr("d","M0,0Z"),At=A._uid+I.SELECTID,Mt=[],St=X(k,n.xaxes,n.yaxes,n.subplot);S&&!t.shiftKey&&(n._clearSubplotSelections=function(){if(u){var t=vt._id,e=gt._id;it(k,t,e,St);for(var r=(k.layout||{}).selections||[],n=[],i=!1,o=0;o<r.length;o++){var s=A.selections[o];s.xref!==t||s.yref!==e?n.push(r[o]):i=!0}i&&(k._fullLayout._noEmitSelectedAtStart=!0,a.call("_guiRelayout",k,{selections:n}))}});var Et=function(t){return t.plotinfo.fillRangeItems||ct(t.xaxes.concat(t.yaxes))}(n);n.moveFn=function(t,e){n._clearSubplotSelections&&(n._clearSubplotSelections(),n._clearSubplotSelections=void 0),lt=Math.max(0,Math.min(yt,ot*t+F)),pt=Math.max(0,Math.min(mt,st*e+B));var r=Math.abs(lt-F),i=Math.abs(pt-B);if(g){var a,o,s;if(b){var l=A.selectdirection;switch(a="any"===l?i<Math.min(.6*r,D)?"h":r<Math.min(.6*i,D)?"v":"d":l){case"h":o=w?mt/2:0,s=mt;break;case"v":o=w?yt/2:0,s=yt}}if(x)switch(A.newshape.drawdirection){case"vertical":a="h",o=w?mt/2:0,s=mt;break;case"horizontal":a="v",o=w?yt/2:0,s=yt;break;case"ortho":r<i?(a="h",o=B,s=pt):(a="v",o=F,s=lt);break;default:a="d"}"h"===a?((J=T?_(w,[lt,o],[lt,s]):[[F,o],[F,s],[lt,s],[lt,o]]).xmin=T?lt:Math.min(F,lt),J.xmax=T?lt:Math.max(F,lt),J.ymin=Math.min(o,s),J.ymax=Math.max(o,s),kt.attr("d","M"+J.xmin+","+(B-D)+"h-4v"+2*D+"h4ZM"+(J.xmax-1)+","+(B-D)+"h4v"+2*D+"h-4Z")):"v"===a?((J=T?_(w,[o,pt],[s,pt]):[[o,B],[o,pt],[s,pt],[s,B]]).xmin=Math.min(o,s),J.xmax=Math.max(o,s),J.ymin=T?pt:Math.min(B,pt),J.ymax=T?pt:Math.max(B,pt),kt.attr("d","M"+(F-D)+","+J.ymin+"v-4h"+2*D+"v4ZM"+(F-D)+","+(J.ymax-1)+"v4h"+2*D+"v-4Z")):"d"===a&&((J=T?_(w,[F,B],[lt,pt]):[[F,B],[F,pt],[lt,pt],[lt,B]]).xmin=Math.min(F,lt),J.xmax=Math.max(F,lt),J.ymin=Math.min(B,pt),J.ymax=Math.max(B,pt),kt.attr("d","M0,0Z"))}else c&&(H.addPt([lt,pt]),J=H.filtered);if(n.selectionDefs&&n.selectionDefs.length?(W=Q(n.mergedPolygons,J,xt),J.subtract=xt,q=G(n.selectionDefs.concat([J]))):(W=[J],q=R(J)),m(et(W,y),bt,n),b){var u,f=nt(k,!1),h=f.eventData?f.eventData.points.slice():[];f=nt(k,!1,q,St,n),q=f.selectionTesters,at=f.eventData,u=H?H.filtered:ut(W),L.throttle(At,I.SELECTDELAY,(function(){for(var t=(Mt=rt(q,St)).slice(),e=0;e<h.length;e++){for(var r=h[e],n=!1,i=0;i<t.length;i++)if(t[i].curveNumber===r.curveNumber&&t[i].pointNumber===r.pointNumber){n=!0;break}n||t.push(r)}t.length&&(at||(at={}),at.points=t),Et(at,u),function(t,e){t.emit("plotly_selecting",e)}(k,at)}))}},n.clickFn=function(t,e){if(kt.remove(),k._fullLayout._activeShapeIndex>=0)k._fullLayout._deactivateShape(k);else if(!x){var r=A.clickmode;L.done(At).then((function(){if(L.clear(At),2===t){for(bt.remove(),K=0;K<St.length;K++)(tt=St[K])._module.selectPoints(tt,!1);if($(k,St),Y(n),ht(k),St.length){var i=St[0].xaxis,o=St[0].yaxis;if(i&&o){for(var s=[],u=k._fullLayout.selections,c=0;c<u.length;c++){var f=u[c];f&&(f.xref===i._id&&f.yref===o._id||s.push(f))}s.length<u.length&&(k._fullLayout._noEmitSelectedAtStart=!0,a.call("_guiRelayout",k,{selections:s}))}}}else r.indexOf("select")>-1&&V(e,k,n.xaxes,n.yaxes,n.subplot,n,bt),"event"===r&&ft(k,void 0);l.click(k,e)})).catch(M.error)}},n.doneFn=function(){kt.remove(),L.done(At).then((function(){L.clear(At),!S&&J&&n.selectionDefs&&(J.subtract=xt,n.selectionDefs.push(J),n.mergedPolygons.length=0,[].push.apply(n.mergedPolygons,W)),(S||x)&&Y(n,S),n.doneFnCompleted&&n.doneFnCompleted(Mt),b&&ft(k,at)})).catch(M.error)}},clearOutline:x,clearSelectionsCache:Y,selectOnClick:V}},89827:function(t,e,r){"use strict";var n=r(50215),i=r(82196).line,a=r(79952).P,o=r(1426).extendFlat,s=r(44467).templatedArray;r(24695),t.exports=s("shape",{visible:{valType:"boolean",dflt:!0,editType:"calc+arraydraw"},type:{valType:"enumerated",values:["circle","rect","path","line"],editType:"calc+arraydraw"},layer:{valType:"enumerated",values:["below","above"],dflt:"above",editType:"arraydraw"},xref:o({},n.xref,{}),xsizemode:{valType:"enumerated",values:["scaled","pixel"],dflt:"scaled",editType:"calc+arraydraw"},xanchor:{valType:"any",editType:"calc+arraydraw"},x0:{valType:"any",editType:"calc+arraydraw"},x1:{valType:"any",editType:"calc+arraydraw"},yref:o({},n.yref,{}),ysizemode:{valType:"enumerated",values:["scaled","pixel"],dflt:"scaled",editType:"calc+arraydraw"},yanchor:{valType:"any",editType:"calc+arraydraw"},y0:{valType:"any",editType:"calc+arraydraw"},y1:{valType:"any",editType:"calc+arraydraw"},path:{valType:"string",editType:"calc+arraydraw"},opacity:{valType:"number",min:0,max:1,dflt:1,editType:"arraydraw"},line:{color:o({},i.color,{editType:"arraydraw"}),width:o({},i.width,{editType:"calc+arraydraw"}),dash:o({},a,{editType:"arraydraw"}),editType:"calc+arraydraw"},fillcolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"arraydraw"},fillrule:{valType:"enumerated",values:["evenodd","nonzero"],dflt:"evenodd",editType:"arraydraw"},editable:{valType:"boolean",dflt:!1,editType:"calc+arraydraw"},editType:"arraydraw"})},5627:function(t,e,r){"use strict";var n=r(71828),i=r(89298),a=r(21459),o=r(30477);function s(t){return u(t.line.width,t.xsizemode,t.x0,t.x1,t.path,!1)}function l(t){return u(t.line.width,t.ysizemode,t.y0,t.y1,t.path,!0)}function u(t,e,r,i,s,l){var u=t/2,c=l;if("pixel"===e){var f=s?o.extractPathCoords(s,l?a.paramIsY:a.paramIsX):[r,i],h=n.aggNums(Math.max,null,f),p=n.aggNums(Math.min,null,f),d=p<0?Math.abs(p)+u:u,v=h>0?h+u:u;return{ppad:u,ppadplus:c?d:v,ppadminus:c?v:d}}return{ppad:u}}function c(t,e,r,n,i){var s="category"===t.type||"multicategory"===t.type?t.r2c:t.d2c;if(void 0!==e)return[s(e),s(r)];if(n){var l,u,c,f,h=1/0,p=-1/0,d=n.match(a.segmentRE);for("date"===t.type&&(s=o.decodeDate(s)),l=0;l<d.length;l++)void 0!==(u=i[d[l].charAt(0)].drawn)&&(!(c=d[l].substr(1).match(a.paramRE))||c.length<u||((f=s(c[u]))<h&&(h=f),f>p&&(p=f)));return p>=h?[h,p]:void 0}}t.exports=function(t){var e=t._fullLayout,r=n.filterVisible(e.shapes);if(r.length&&t._fullData.length)for(var o=0;o<r.length;o++){var u,f,h=r[o];h._extremes={};var p=i.getRefType(h.xref),d=i.getRefType(h.yref);if("paper"!==h.xref&&"domain"!==p){var v="pixel"===h.xsizemode?h.xanchor:h.x0,g="pixel"===h.xsizemode?h.xanchor:h.x1;(f=c(u=i.getFromId(t,h.xref),v,g,h.path,a.paramIsX))&&(h._extremes[u._id]=i.findExtremes(u,f,s(h)))}if("paper"!==h.yref&&"domain"!==d){var y="pixel"===h.ysizemode?h.yanchor:h.y0,m="pixel"===h.ysizemode?h.yanchor:h.y1;(f=c(u=i.getFromId(t,h.yref),y,m,h.path,a.paramIsY))&&(h._extremes[u._id]=i.findExtremes(u,f,l(h)))}}}},21459:function(t){"use strict";t.exports={segmentRE:/[MLHVQCTSZ][^MLHVQCTSZ]*/g,paramRE:/[^\s,]+/g,paramIsX:{M:{0:!0,drawn:0},L:{0:!0,drawn:0},H:{0:!0,drawn:0},V:{},Q:{0:!0,2:!0,drawn:2},C:{0:!0,2:!0,4:!0,drawn:4},T:{0:!0,drawn:0},S:{0:!0,2:!0,drawn:2},Z:{}},paramIsY:{M:{1:!0,drawn:1},L:{1:!0,drawn:1},H:{},V:{0:!0,drawn:0},Q:{1:!0,3:!0,drawn:3},C:{1:!0,3:!0,5:!0,drawn:5},T:{1:!0,drawn:1},S:{1:!0,3:!0,drawn:5},Z:{}},numParams:{M:2,L:2,H:1,V:1,Q:4,C:6,T:2,S:4,Z:0}}},84726:function(t,e,r){"use strict";var n=r(71828),i=r(89298),a=r(85501),o=r(89827),s=r(30477);function l(t,e,r){function a(r,i){return n.coerce(t,e,o,r,i)}if(a("visible")){var l=a("path"),u="path"!==a("type",l?"path":"rect");u&&delete e.path,a("editable"),a("layer"),a("opacity"),a("fillcolor"),a("fillrule"),a("line.width")&&(a("line.color"),a("line.dash"));for(var c=a("xsizemode"),f=a("ysizemode"),h=["x","y"],p=0;p<2;p++){var d,v,g,y=h[p],m=y+"anchor",x="x"===y?c:f,b={_fullLayout:r},_=i.coerceRef(t,e,b,y,void 0,"paper");if("range"===i.getRefType(_)?((d=i.getFromId(b,_))._shapeIndices.push(e._index),g=s.rangeToShapePosition(d),v=s.shapePositionToRange(d)):v=g=n.identity,u){var w=y+"0",T=y+"1",k=t[w],A=t[T];t[w]=v(t[w],!0),t[T]=v(t[T],!0),"pixel"===x?(a(w,0),a(T,10)):(i.coercePosition(e,b,a,_,w,.25),i.coercePosition(e,b,a,_,T,.75)),e[w]=g(e[w]),e[T]=g(e[T]),t[w]=k,t[T]=A}if("pixel"===x){var M=t[m];t[m]=v(t[m],!0),i.coercePosition(e,b,a,_,m,.25),e[m]=g(e[m]),t[m]=M}}u&&n.noneOrAll(t,e,["x0","x1","y0","y1"])}}t.exports=function(t,e){a(t,e,{name:"shapes",handleItemDefaults:l})}},42359:function(t,e,r){"use strict";var n=r(71828).strTranslate,i=r(28569),a=r(64505),o=a.drawMode,s=a.selectMode,l=r(73972),u=r(7901),c=r(89995),f=c.i000,h=c.i090,p=c.i180,d=c.i270,v=r(51873).clearOutlineControllers,g=r(60165),y=g.pointsOnRectangle,m=g.pointsOnEllipse,x=g.writePaths,b=r(90551),_=r(35855);function w(t,e){var r,n,i,a=t[e][1],o=t[e][2],s=t.length;return n=t[r=(e+1)%s][1],i=t[r][2],n===a&&i===o&&(n=t[r=(e+2)%s][1],i=t[r][2]),[r,n,i]}t.exports=function t(e,r,a,c){c||(c=0);var g=a.gd;function T(){t(e,r,a,c++),m(e[0])&&k({redrawing:!0})}function k(t){var e={};void 0!==a.isActiveShape&&(a.isActiveShape=!1,e=b(r,a)),void 0!==a.isActiveSelection&&(a.isActiveSelection=!1,e=_(r,a),g._fullLayout._reselect=!0),Object.keys(e).length&&l.call((t||{}).redrawing?"relayout":"_guiRelayout",g,e)}var A,M,S,E,L,C=g._fullLayout._zoomlayer,P=a.dragmode,O=o(P),I=s(P);function D(t){S=+t.srcElement.getAttribute("data-i"),E=+t.srcElement.getAttribute("data-j"),A[S][E].moveFn=z}function z(t,r){if(e.length){var n=L[S][E][1],i=L[S][E][2],o=e[S],s=o.length;if(y(o)){var l=t,u=r;a.isActiveSelection&&(w(o,E)[1]===o[E][1]?u=0:l=0);for(var c=0;c<s;c++)if(c!==E){var f=o[c];f[1]===o[E][1]&&(f[1]=n+l),f[2]===o[E][2]&&(f[2]=i+u)}if(o[E][1]=n+l,o[E][2]=i+u,!y(o))for(var h=0;h<s;h++)for(var p=0;p<o[h].length;p++)o[h][p]=L[S][h][p]}else o[E][1]=n+t,o[E][2]=i+r;T()}}function R(){k()}function F(t,r){if(2===t){S=+r.srcElement.getAttribute("data-i"),E=+r.srcElement.getAttribute("data-j");var n=e[S];y(n)||m(n)||function(){if(e.length&&e[S]&&e[S].length){for(var t=[],r=0;r<e[S].length;r++)r!==E&&t.push(e[S][r]);t.length>1&&(2!==t.length||"Z"!==t[1][0])&&(0===E&&(t[0][0]="M"),e[S]=t,T(),k())}}()}}function B(t,r){!function(t,r){if(e.length)for(var n=0;n<e.length;n++)for(var i=0;i<e[n].length;i++)for(var a=0;a+2<e[n][i].length;a+=2)e[n][i][a+1]=L[n][i][a+1]+t,e[n][i][a+2]=L[n][i][a+2]+r}(t,r),T()}function N(t){(S=+t.srcElement.getAttribute("data-i"))||(S=0),M[S].moveFn=B}function j(){k()}function U(t){2===t&&function(t){if(s(t._fullLayout.dragmode)){v(t);var e=t._fullLayout._activeSelectionIndex,r=(t.layout||{}).selections||[];if(e<r.length){for(var n=[],i=0;i<r.length;i++)i!==e&&n.push(r[i]);delete t._fullLayout._activeSelectionIndex;var a=t._fullLayout.selections[e];t._fullLayout._deselect={xref:a.xref,yref:a.yref},l.call("_guiRelayout",t,{selections:n})}}}(g)}(O||I)&&(g._fullLayout._outlining=!0),v(g),r.attr("d",x(e)),c||!a.isActiveShape&&!a.isActiveSelection||(L=function(t,e){for(var r=0;r<e.length;r++){var n=e[r];t[r]=[];for(var i=0;i<n.length;i++){t[r][i]=[];for(var a=0;a<n[i].length;a++)t[r][i][a]=n[i][a]}}return t}([],e),function(t){A=[];for(var r=0;r<e.length;r++){var o=e[r],s=y(o),l=!s&&m(o);A[r]=[];for(var c=o.length,v=0;v<c;v++)if("Z"!==o[v][0]&&(!l||v===f||v===h||v===p||v===d)){var x,b=s&&a.isActiveSelection;b&&(x=w(o,v));var _=o[v][1],T=o[v][2],k=t.append(b?"rect":"circle").attr("data-i",r).attr("data-j",v).style({fill:u.background,stroke:u.defaultLine,"stroke-width":1,"shape-rendering":"crispEdges"});if(b){var M=x[1]-_,S=x[2]-T,E=S?5:Math.max(Math.min(25,Math.abs(M)-5),5),L=M?5:Math.max(Math.min(25,Math.abs(S)-5),5);k.classed(S?"cursor-ew-resize":"cursor-ns-resize",!0).attr("width",E).attr("height",L).attr("x",_-E/2).attr("y",T-L/2).attr("transform",n(M/2,S/2))}else k.classed("cursor-grab",!0).attr("r",5).attr("cx",_).attr("cy",T);A[r][v]={element:k.node(),gd:g,prepFn:D,doneFn:R,clickFn:F},i.init(A[r][v])}}}(C.append("g").attr("class","outline-controllers")),function(){if(M=[],e.length){M[0]={element:r[0][0],gd:g,prepFn:N,doneFn:j,clickFn:U},i.init(M[0])}}())}},34031:function(t,e,r){"use strict";var n=r(73972),i=r(71828),a=r(89298),o=r(60165).readPaths,s=r(42359),l=r(51873).clearOutlineControllers,u=r(7901),c=r(91424),f=r(44467).arrayEditor,h=r(28569),p=r(6964),d=r(21459),v=r(30477),g=v.getPathString;function y(t){var e=t._fullLayout;for(var r in e._shapeUpperLayer.selectAll("path").remove(),e._shapeLowerLayer.selectAll("path").remove(),e._plots){var n=e._plots[r].shapelayer;n&&n.selectAll("path").remove()}for(var i=0;i<e.shapes.length;i++)e.shapes[i].visible&&b(t,i)}function m(t){return!!t._fullLayout._outlining}function x(t){return!t._context.edits.shapePosition}function b(t,e){t._fullLayout._paperdiv.selectAll('.shapelayer [data-index="'+e+'"]').remove();var r=v.makeShapesOptionsAndPlotinfo(t,e),l=r.options,b=r.plotinfo;function k(r){var k=g(t,l),A={"data-index":e,"fill-rule":l.fillrule,d:k},M=l.opacity,S=l.fillcolor,E=l.line.width?l.line.color:"rgba(0,0,0,0)",L=l.line.width,C=l.line.dash;L||!0!==l.editable||(L=5,C="solid");var P="Z"!==k[k.length-1],O=x(t)&&l.editable&&t._fullLayout._activeShapeIndex===e;O&&(S=P?"rgba(0,0,0,0)":t._fullLayout.activeshape.fillcolor,M=t._fullLayout.activeshape.opacity);var I,D=r.append("path").attr(A).style("opacity",M).call(u.stroke,E).call(u.fill,S).call(c.dashLine,C,L);if(_(D,t,l),(O||t._context.edits.shapePosition)&&(I=f(t.layout,"shapes",l)),O){D.style({cursor:"move"});var z={element:D.node(),plotinfo:b,gd:t,editHelpers:I,isActiveShape:!0},R=o(k,t);s(R,D,z)}else t._context.edits.shapePosition?function(t,e,r,o,s,l){var u,f,y,x,b,T,k,A,M,S,E,L,C,P,O,I,D="pixel"===r.xsizemode,z="pixel"===r.ysizemode,R="line"===r.type,F="path"===r.type,B=l.modifyItem,N=a.getFromId(t,r.xref),j=a.getRefType(r.xref),U=a.getFromId(t,r.yref),V=a.getRefType(r.yref),H=v.getDataToPixel(t,N,!1,j),q=v.getDataToPixel(t,U,!0,V),G=v.getPixelToData(t,N,!1,j),Z=v.getPixelToData(t,U,!0,V),Y=R?function(){var t=10,n=Math.max(r.line.width,t),i=s.append("g").attr("data-index",o);i.append("path").attr("d",e.attr("d")).style({cursor:"move","stroke-width":n,"stroke-opacity":"0"});var a={"fill-opacity":"0"},l=Math.max(n/2,t);return i.append("circle").attr({"data-line-point":"start-point",cx:D?H(r.xanchor)+r.x0:H(r.x0),cy:z?q(r.yanchor)-r.y0:q(r.y0),r:l}).style(a).classed("cursor-grab",!0),i.append("circle").attr({"data-line-point":"end-point",cx:D?H(r.xanchor)+r.x1:H(r.x1),cy:z?q(r.yanchor)-r.y1:q(r.y1),r:l}).style(a).classed("cursor-grab",!0),i}():e,W={element:Y.node(),gd:t,prepFn:function(n){m(t)||(D&&(b=H(r.xanchor)),z&&(T=q(r.yanchor)),"path"===r.type?O=r.path:(u=D?r.x0:H(r.x0),f=z?r.y0:q(r.y0),y=D?r.x1:H(r.x1),x=z?r.y1:q(r.y1)),u<y?(M=u,C="x0",S=y,P="x1"):(M=y,C="x1",S=u,P="x0"),!z&&f<x||z&&f>x?(k=f,E="y0",A=x,L="y1"):(k=x,E="y1",A=f,L="y0"),X(n),$(s,r),function(t,e,r){var n=e.xref,i=e.yref,o=a.getFromId(r,n),s=a.getFromId(r,i),l="";"paper"===n||o.autorange||(l+=n),"paper"===i||s.autorange||(l+=i),c.setClipUrl(t,l?"clip"+r._fullLayout._uid+l:null,r)}(e,r,t),W.moveFn="move"===I?J:K,W.altKey=n.altKey)},doneFn:function(){m(t)||(p(e),Q(s),_(e,t,r),n.call("_guiRelayout",t,l.getUpdateObj()))},clickFn:function(){m(t)||Q(s)}};function X(r){if(m(t))I=null;else if(R)I="path"===r.target.tagName?"move":"start-point"===r.target.attributes["data-line-point"].value?"resize-over-start-point":"resize-over-end-point";else{var n=W.element.getBoundingClientRect(),i=n.right-n.left,a=n.bottom-n.top,o=r.clientX-n.left,s=r.clientY-n.top,l=!F&&i>10&&a>10&&!r.shiftKey?h.getCursor(o/i,1-s/a):"move";p(e,l),I=l.split("-")[0]}}function J(n,i){if("path"===r.type){var a=function(t){return t},o=a,l=a;D?B("xanchor",r.xanchor=G(b+n)):(o=function(t){return G(H(t)+n)},N&&"date"===N.type&&(o=v.encodeDate(o))),z?B("yanchor",r.yanchor=Z(T+i)):(l=function(t){return Z(q(t)+i)},U&&"date"===U.type&&(l=v.encodeDate(l))),B("path",r.path=w(O,o,l))}else D?B("xanchor",r.xanchor=G(b+n)):(B("x0",r.x0=G(u+n)),B("x1",r.x1=G(y+n))),z?B("yanchor",r.yanchor=Z(T+i)):(B("y0",r.y0=Z(f+i)),B("y1",r.y1=Z(x+i)));e.attr("d",g(t,r)),$(s,r)}function K(n,i){if(F){var a=function(t){return t},o=a,l=a;D?B("xanchor",r.xanchor=G(b+n)):(o=function(t){return G(H(t)+n)},N&&"date"===N.type&&(o=v.encodeDate(o))),z?B("yanchor",r.yanchor=Z(T+i)):(l=function(t){return Z(q(t)+i)},U&&"date"===U.type&&(l=v.encodeDate(l))),B("path",r.path=w(O,o,l))}else if(R){if("resize-over-start-point"===I){var c=u+n,h=z?f-i:f+i;B("x0",r.x0=D?c:G(c)),B("y0",r.y0=z?h:Z(h))}else if("resize-over-end-point"===I){var p=y+n,d=z?x-i:x+i;B("x1",r.x1=D?p:G(p)),B("y1",r.y1=z?d:Z(d))}}else{var m=function(t){return-1!==I.indexOf(t)},_=m("n"),j=m("s"),V=m("w"),Y=m("e"),W=_?k+i:k,X=j?A+i:A,J=V?M+n:M,K=Y?S+n:S;z&&(_&&(W=k-i),j&&(X=A-i)),(!z&&X-W>10||z&&W-X>10)&&(B(E,r[E]=z?W:Z(W)),B(L,r[L]=z?X:Z(X))),K-J>10&&(B(C,r[C]=D?J:G(J)),B(P,r[P]=D?K:G(K)))}e.attr("d",g(t,r)),$(s,r)}function $(t,e){(D||z)&&function(){var r="path"!==e.type,n=t.selectAll(".visual-cue").data([0]);n.enter().append("path").attr({fill:"#fff","fill-rule":"evenodd",stroke:"#000","stroke-width":1}).classed("visual-cue",!0);var a=H(D?e.xanchor:i.midRange(r?[e.x0,e.x1]:v.extractPathCoords(e.path,d.paramIsX))),o=q(z?e.yanchor:i.midRange(r?[e.y0,e.y1]:v.extractPathCoords(e.path,d.paramIsY)));if(a=v.roundPositionForSharpStrokeRendering(a,1),o=v.roundPositionForSharpStrokeRendering(o,1),D&&z){var s="M"+(a-1-1)+","+(o-1-1)+"h-8v2h8 v8h2v-8 h8v-2h-8 v-8h-2 Z";n.attr("d",s)}else if(D){var l="M"+(a-1-1)+","+(o-9-1)+"v18 h2 v-18 Z";n.attr("d",l)}else{var u="M"+(a-9-1)+","+(o-1-1)+"h18 v2 h-18 Z";n.attr("d",u)}}()}function Q(t){t.selectAll(".visual-cue").remove()}h.init(W),Y.node().onmousemove=X}(t,D,l,e,r,I):!0===l.editable&&D.style("pointer-events",P||u.opacity(S)*M<=.5?"stroke":"all");D.node().addEventListener("click",(function(){return function(t,e){if(x(t)){var r=+e.node().getAttribute("data-index");if(r>=0){if(r===t._fullLayout._activeShapeIndex)return void T(t);t._fullLayout._activeShapeIndex=r,t._fullLayout._deactivateShape=T,y(t)}}}(t,D)}))}l._input&&!1!==l.visible&&("below"!==l.layer?k(t._fullLayout._shapeUpperLayer):"paper"===l.xref||"paper"===l.yref?k(t._fullLayout._shapeLowerLayer):b._hadPlotinfo?k((b.mainplotinfo||b).shapelayer):k(t._fullLayout._shapeLowerLayer))}function _(t,e,r){var n=(r.xref+r.yref).replace(/paper/g,"").replace(/[xyz][1-9]* *domain/g,"");c.setClipUrl(t,n?"clip"+e._fullLayout._uid+n:null,e)}function w(t,e,r){return t.replace(d.segmentRE,(function(t){var n=0,i=t.charAt(0),a=d.paramIsX[i],o=d.paramIsY[i],s=d.numParams[i];return i+t.substr(1).replace(d.paramRE,(function(t){return n>=s||(a[n]?t=e(t):o[n]&&(t=r(t)),n++),t}))}))}function T(t){x(t)&&t._fullLayout._activeShapeIndex>=0&&(l(t),delete t._fullLayout._activeShapeIndex,y(t))}t.exports={draw:y,drawOne:b,eraseActiveShape:function(t){if(x(t)){l(t);var e=t._fullLayout._activeShapeIndex,r=(t.layout||{}).shapes||[];if(e<r.length){for(var i=[],a=0;a<r.length;a++)a!==e&&i.push(r[a]);delete t._fullLayout._activeShapeIndex,n.call("_guiRelayout",t,{shapes:i})}}}}},29241:function(t,e,r){"use strict";var n=r(79952).P,i=r(1426).extendFlat;t.exports={newshape:{line:{color:{valType:"color",editType:"none"},width:{valType:"number",min:0,dflt:4,editType:"none"},dash:i({},n,{dflt:"solid",editType:"none"}),editType:"none"},fillcolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"none"},fillrule:{valType:"enumerated",values:["evenodd","nonzero"],dflt:"evenodd",editType:"none"},opacity:{valType:"number",min:0,max:1,dflt:1,editType:"none"},layer:{valType:"enumerated",values:["below","above"],dflt:"above",editType:"none"},drawdirection:{valType:"enumerated",values:["ortho","horizontal","vertical","diagonal"],dflt:"diagonal",editType:"none"},editType:"none"},activeshape:{fillcolor:{valType:"color",dflt:"rgb(255,0,255)",editType:"none"},opacity:{valType:"number",min:0,max:1,dflt:.5,editType:"none"},editType:"none"}}},89995:function(t){"use strict";t.exports={CIRCLE_SIDES:32,i000:0,i090:8,i180:16,i270:24,cos45:Math.cos(Math.PI/4),sin45:Math.sin(Math.PI/4),SQRT2:Math.sqrt(2)}},45547:function(t,e,r){"use strict";var n=r(7901);t.exports=function(t,e,r){if(r("newshape.drawdirection"),r("newshape.layer"),r("newshape.fillcolor"),r("newshape.fillrule"),r("newshape.opacity"),r("newshape.line.width")){var i=(t||{}).plot_bgcolor||"#FFF";r("newshape.line.color",n.contrast(i)),r("newshape.line.dash")}r("activeshape.fillcolor"),r("activeshape.opacity")}},60165:function(t,e,r){"use strict";var n=r(95616),i=r(89995),a=i.CIRCLE_SIDES,o=i.SQRT2,s=r(75549),l=s.p2r,u=s.r2p,c=[0,3,4,5,6,1,2],f=[0,3,4,1,2];function h(t,e){return Math.abs(t-e)<=1e-6}function p(t,e){var r=e[1]-t[1],n=e[2]-t[2];return Math.sqrt(r*r+n*n)}e.writePaths=function(t){var e=t.length;if(!e)return"M0,0Z";for(var r="",n=0;n<e;n++)for(var i=t[n].length,a=0;a<i;a++){var o=t[n][a][0];if("Z"===o)r+="Z";else for(var s=t[n][a].length,l=0;l<s;l++){var u=l;"Q"===o||"S"===o?u=f[l]:"C"===o&&(u=c[l]),r+=t[n][a][u],l>0&&l<s-1&&(r+=",")}}return r},e.readPaths=function(t,e,r,i){var o,s,c,f=n(t),h=[],p=-1,d=0,v=0,g=function(){s=d,c=v};g();for(var y=0;y<f.length;y++){var m,x,b,_,w=[],T=f[y][0],k=T;switch(T){case"M":h[++p]=[],d=+f[y][1],v=+f[y][2],w.push([k,d,v]),g();break;case"Q":case"S":m=+f[y][1],b=+f[y][2],d=+f[y][3],v=+f[y][4],w.push([k,d,v,m,b]);break;case"C":m=+f[y][1],b=+f[y][2],x=+f[y][3],_=+f[y][4],d=+f[y][5],v=+f[y][6],w.push([k,d,v,m,b,x,_]);break;case"T":case"L":d=+f[y][1],v=+f[y][2],w.push([k,d,v]);break;case"H":k="L",d=+f[y][1],w.push([k,d,v]);break;case"V":k="L",v=+f[y][1],w.push([k,d,v]);break;case"A":k="L";var A=+f[y][1],M=+f[y][2];+f[y][4]||(A=-A,M=-M);var S=d-A,E=v;for(o=1;o<=a/2;o++){var L=2*Math.PI*o/a;w.push([k,S+A*Math.cos(L),E+M*Math.sin(L)])}break;case"Z":d===s&&v===c||(d=s,v=c,w.push([k,d,v]))}for(var C=(r||{}).domain,P=e._fullLayout._size,O=r&&"pixel"===r.xsizemode,I=r&&"pixel"===r.ysizemode,D=!1===i,z=0;z<w.length;z++){for(o=0;o+2<7;o+=2){var R=w[z][o+1],F=w[z][o+2];void 0!==R&&void 0!==F&&(d=R,v=F,r&&(r.xaxis&&r.xaxis.p2r?(D&&(R-=r.xaxis._offset),R=O?u(r.xaxis,r.xanchor)+R:l(r.xaxis,R)):(D&&(R-=P.l),C?R=C.x[0]+R/P.w:R/=P.w),r.yaxis&&r.yaxis.p2r?(D&&(F-=r.yaxis._offset),F=I?u(r.yaxis,r.yanchor)-F:l(r.yaxis,F)):(D&&(F-=P.t),F=C?C.y[1]-F/P.h:1-F/P.h)),w[z][o+1]=R,w[z][o+2]=F)}h[p].push(w[z].slice())}}return h},e.pointsOnRectangle=function(t){if(5!==t.length)return!1;for(var e=1;e<3;e++){if(!h(t[0][e]-t[1][e],t[3][e]-t[2][e]))return!1;if(!h(t[0][e]-t[3][e],t[1][e]-t[2][e]))return!1}return!(!h(t[0][1],t[1][1])&&!h(t[0][1],t[3][1])||!(p(t[0],t[1])*p(t[0],t[3])))},e.pointsOnEllipse=function(t){var e=t.length;if(e!==a+1)return!1;e=a;for(var r=0;r<e;r++){var n=(2*e-r)%e,i=(e/2+n)%e,o=(e/2+r)%e;if(!h(p(t[r],t[o]),p(t[n],t[i])))return!1}return!0},e.handleEllipse=function(t,r,n){if(!t)return[r,n];var i=e.ellipseOver({x0:r[0],y0:r[1],x1:n[0],y1:n[1]}),s=(i.x1+i.x0)/2,l=(i.y1+i.y0)/2,u=(i.x1-i.x0)/2,c=(i.y1-i.y0)/2;u||(u=c/=o),c||(c=u/=o);for(var f=[],h=0;h<a;h++){var p=2*h*Math.PI/a;f.push([s+u*Math.cos(p),l+c*Math.sin(p)])}return f},e.ellipseOver=function(t){var e=t.x0,r=t.y0,n=t.x1,i=t.y1,a=n-e,s=i-r,l=((e-=a)+n)/2,u=((r-=s)+i)/2;return{x0:l-(a*=o),y0:u-(s*=o),x1:l+a,y1:u+s}},e.fixDatesForPaths=function(t,e,r){var n="date"===e.type,i="date"===r.type;if(!n&&!i)return t;for(var a=0;a<t.length;a++)for(var o=0;o<t[a].length;o++)for(var s=0;s+2<t[a][o].length;s+=2)n&&(t[a][o][s+1]=t[a][o][s+1].replace(" ","_")),i&&(t[a][o][s+2]=t[a][o][s+2].replace(" ","_"));return t}},90551:function(t,e,r){"use strict";var n=r(64505),i=n.drawMode,a=n.openMode,o=r(89995),s=o.i000,l=o.i090,u=o.i180,c=o.i270,f=o.cos45,h=o.sin45,p=r(75549),d=p.p2r,v=p.r2p,g=r(51873).clearOutline,y=r(60165),m=y.readPaths,x=y.writePaths,b=y.ellipseOver,_=y.fixDatesForPaths;t.exports=function(t,e){if(t.length){var r=t[0][0];if(r){var n=r.getAttribute("d"),o=e.gd,p=o._fullLayout.newshape,y=e.plotinfo,w=y.xaxis,T=y.yaxis,k=!!y.domain||!y.xaxis,A=!!y.domain||!y.yaxis,M=e.isActiveShape,S=e.dragmode,E=(o.layout||{}).shapes||[];if(!i(S)&&void 0!==M){var L=o._fullLayout._activeShapeIndex;if(L<E.length)switch(o._fullLayout.shapes[L].type){case"rect":S="drawrect";break;case"circle":S="drawcircle";break;case"line":S="drawline";break;case"path":var C=E[L].path||"";S="Z"===C[C.length-1]?"drawclosedpath":"drawopenpath"}}var P,O=a(S),I=m(n,o,y,M),D={editable:!0,xref:k?"paper":w._id,yref:A?"paper":T._id,layer:p.layer,opacity:p.opacity,line:{color:p.line.color,width:p.line.width,dash:p.line.dash}};if(O||(D.fillcolor=p.fillcolor,D.fillrule=p.fillrule),1===I.length&&(P=I[0]),P&&5===P.length&&"drawrect"===S)D.type="rect",D.x0=P[0][1],D.y0=P[0][2],D.x1=P[2][1],D.y1=P[2][2];else if(P&&"drawline"===S)D.type="line",D.x0=P[0][1],D.y0=P[0][2],D.x1=P[1][1],D.y1=P[1][2];else if(P&&"drawcircle"===S){D.type="circle";var z=P[s][1],R=P[l][1],F=P[u][1],B=P[c][1],N=P[s][2],j=P[l][2],U=P[u][2],V=P[c][2],H=y.xaxis&&("date"===y.xaxis.type||"log"===y.xaxis.type),q=y.yaxis&&("date"===y.yaxis.type||"log"===y.yaxis.type);H&&(z=v(y.xaxis,z),R=v(y.xaxis,R),F=v(y.xaxis,F),B=v(y.xaxis,B)),q&&(N=v(y.yaxis,N),j=v(y.yaxis,j),U=v(y.yaxis,U),V=v(y.yaxis,V));var G=(R+B)/2,Z=(N+U)/2,Y=b({x0:G,y0:Z,x1:G+(B-R+F-z)/2*f,y1:Z+(V-j+U-N)/2*h});H&&(Y.x0=d(y.xaxis,Y.x0),Y.x1=d(y.xaxis,Y.x1)),q&&(Y.y0=d(y.yaxis,Y.y0),Y.y1=d(y.yaxis,Y.y1)),D.x0=Y.x0,D.y0=Y.y0,D.x1=Y.x1,D.y1=Y.y1}else D.type="path",w&&T&&_(I,w,T),D.path=x(I),P=null;g(o);for(var W=e.editHelpers,X=(W||{}).modifyItem,J=[],K=0;K<E.length;K++){var $=o._fullLayout.shapes[K];if(J[K]=$._input,void 0!==M&&K===o._fullLayout._activeShapeIndex){var Q=D;switch($.type){case"line":case"rect":case"circle":X("x0",Q.x0),X("x1",Q.x1),X("y0",Q.y0),X("y1",Q.y1);break;case"path":X("path",Q.path)}}}return void 0===M?(J.push(D),J):W?W.getUpdateObj():{}}}}},51873:function(t){"use strict";t.exports={clearOutlineControllers:function(t){var e=t._fullLayout._zoomlayer;e&&e.selectAll(".outline-controllers").remove()},clearOutline:function(t){var e=t._fullLayout._zoomlayer;e&&e.selectAll(".select-outline").remove(),t._fullLayout._outlining=!1}}},30477:function(t,e,r){"use strict";var n=r(21459),i=r(71828),a=r(89298);e.rangeToShapePosition=function(t){return"log"===t.type?t.r2d:function(t){return t}},e.shapePositionToRange=function(t){return"log"===t.type?t.d2r:function(t){return t}},e.decodeDate=function(t){return function(e){return e.replace&&(e=e.replace("_"," ")),t(e)}},e.encodeDate=function(t){return function(e){return t(e).replace(" ","_")}},e.extractPathCoords=function(t,e,r){var a=[];return t.match(n.segmentRE).forEach((function(t){var o=e[t.charAt(0)].drawn;if(void 0!==o){var s=t.substr(1).match(n.paramRE);if(s&&!(s.length<o)){var l=s[o],u=r?l:i.cleanNumber(l);a.push(u)}}})),a},e.getDataToPixel=function(t,r,n,i){var a,o=t._fullLayout._size;if(r)if("domain"===i)a=function(t){return r._length*(n?1-t:t)+r._offset};else{var s=e.shapePositionToRange(r);a=function(t){return r._offset+r.r2p(s(t,!0))},"date"===r.type&&(a=e.decodeDate(a))}else a=n?function(t){return o.t+o.h*(1-t)}:function(t){return o.l+o.w*t};return a},e.getPixelToData=function(t,r,n,i){var a,o=t._fullLayout._size;if(r)if("domain"===i)a=function(t){var e=(t-r._offset)/r._length;return n?1-e:e};else{var s=e.rangeToShapePosition(r);a=function(t){return s(r.p2r(t-r._offset))}}else a=n?function(t){return 1-(t-o.t)/o.h}:function(t){return(t-o.l)/o.w};return a},e.roundPositionForSharpStrokeRendering=function(t,e){var r=1===Math.round(e%2),n=Math.round(t);return r?n+.5:n},e.makeShapesOptionsAndPlotinfo=function(t,e){var r=t._fullLayout.shapes[e]||{},n=t._fullLayout._plots[r.xref+r.yref];return n?n._hadPlotinfo=!0:(n={},r.xref&&"paper"!==r.xref&&(n.xaxis=t._fullLayout[r.xref+"axis"]),r.yref&&"paper"!==r.yref&&(n.yaxis=t._fullLayout[r.yref+"axis"])),n.xsizemode=r.xsizemode,n.ysizemode=r.ysizemode,n.xanchor=r.xanchor,n.yanchor=r.yanchor,{options:r,plotinfo:n}},e.makeSelectionsOptionsAndPlotinfo=function(t,e){var r=t._fullLayout.selections[e]||{},n=t._fullLayout._plots[r.xref+r.yref];return n?n._hadPlotinfo=!0:(n={},r.xref&&(n.xaxis=t._fullLayout[r.xref+"axis"]),r.yref&&(n.yaxis=t._fullLayout[r.yref+"axis"])),{options:r,plotinfo:n}},e.getPathString=function(t,r){var o,s,l,u,c,f,h,p,d=r.type,v=a.getRefType(r.xref),g=a.getRefType(r.yref),y=a.getFromId(t,r.xref),m=a.getFromId(t,r.yref),x=t._fullLayout._size;if(y?"domain"===v?s=function(t){return y._offset+y._length*t}:(o=e.shapePositionToRange(y),s=function(t){return y._offset+y.r2p(o(t,!0))}):s=function(t){return x.l+x.w*t},m?"domain"===g?u=function(t){return m._offset+m._length*(1-t)}:(l=e.shapePositionToRange(m),u=function(t){return m._offset+m.r2p(l(t,!0))}):u=function(t){return x.t+x.h*(1-t)},"path"===d)return y&&"date"===y.type&&(s=e.decodeDate(s)),m&&"date"===m.type&&(u=e.decodeDate(u)),function(t,e,r){var a=t.path,o=t.xsizemode,s=t.ysizemode,l=t.xanchor,u=t.yanchor;return a.replace(n.segmentRE,(function(t){var a=0,c=t.charAt(0),f=n.paramIsX[c],h=n.paramIsY[c],p=n.numParams[c],d=t.substr(1).replace(n.paramRE,(function(t){return f[a]?t="pixel"===o?e(l)+Number(t):e(t):h[a]&&(t="pixel"===s?r(u)-Number(t):r(t)),++a>p&&(t="X"),t}));return a>p&&(d=d.replace(/[\s,]*X.*/,""),i.log("Ignoring extra params in segment "+t)),c+d}))}(r,s,u);if("pixel"===r.xsizemode){var b=s(r.xanchor);c=b+r.x0,f=b+r.x1}else c=s(r.x0),f=s(r.x1);if("pixel"===r.ysizemode){var _=u(r.yanchor);h=_-r.y0,p=_-r.y1}else h=u(r.y0),p=u(r.y1);if("line"===d)return"M"+c+","+h+"L"+f+","+p;if("rect"===d)return"M"+c+","+h+"H"+f+"V"+p+"H"+c+"Z";var w=(c+f)/2,T=(h+p)/2,k=Math.abs(w-c),A=Math.abs(T-h),M="A"+k+","+A,S=w+k+","+T;return"M"+S+M+" 0 1,1 "+w+","+(T-A)+M+" 0 0,1 "+S+"Z"}},89853:function(t,e,r){"use strict";var n=r(34031);t.exports={moduleType:"component",name:"shapes",layoutAttributes:r(89827),supplyLayoutDefaults:r(84726),supplyDrawNewShapeDefaults:r(45547),includeBasePlot:r(76325)("shapes"),calcAutorange:r(5627),draw:n.draw,drawOne:n.drawOne}},75067:function(t,e,r){"use strict";var n=r(41940),i=r(35025),a=r(1426).extendDeepAll,o=r(30962).overrideAll,s=r(85594),l=r(44467).templatedArray,u=r(98292),c=l("step",{visible:{valType:"boolean",dflt:!0},method:{valType:"enumerated",values:["restyle","relayout","animate","update","skip"],dflt:"restyle"},args:{valType:"info_array",freeLength:!0,items:[{valType:"any"},{valType:"any"},{valType:"any"}]},label:{valType:"string"},value:{valType:"string"},execute:{valType:"boolean",dflt:!0}});t.exports=o(l("slider",{visible:{valType:"boolean",dflt:!0},active:{valType:"number",min:0,dflt:0},steps:c,lenmode:{valType:"enumerated",values:["fraction","pixels"],dflt:"fraction"},len:{valType:"number",min:0,dflt:1},x:{valType:"number",min:-2,max:3,dflt:0},pad:a(i({editType:"arraydraw"}),{},{t:{dflt:20}}),xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"left"},y:{valType:"number",min:-2,max:3,dflt:0},yanchor:{valType:"enumerated",values:["auto","top","middle","bottom"],dflt:"top"},transition:{duration:{valType:"number",min:0,dflt:150},easing:{valType:"enumerated",values:s.transition.easing.values,dflt:"cubic-in-out"}},currentvalue:{visible:{valType:"boolean",dflt:!0},xanchor:{valType:"enumerated",values:["left","center","right"],dflt:"left"},offset:{valType:"number",dflt:10},prefix:{valType:"string"},suffix:{valType:"string"},font:n({})},font:n({}),activebgcolor:{valType:"color",dflt:u.gripBgActiveColor},bgcolor:{valType:"color",dflt:u.railBgColor},bordercolor:{valType:"color",dflt:u.railBorderColor},borderwidth:{valType:"number",min:0,dflt:u.railBorderWidth},ticklen:{valType:"number",min:0,dflt:u.tickLength},tickcolor:{valType:"color",dflt:u.tickColor},tickwidth:{valType:"number",min:0,dflt:1},minorticklen:{valType:"number",min:0,dflt:u.minorTickLength}}),"arraydraw","from-root")},98292:function(t){"use strict";t.exports={name:"sliders",containerClassName:"slider-container",groupClassName:"slider-group",inputAreaClass:"slider-input-area",railRectClass:"slider-rail-rect",railTouchRectClass:"slider-rail-touch-rect",gripRectClass:"slider-grip-rect",tickRectClass:"slider-tick-rect",inputProxyClass:"slider-input-proxy",labelsClass:"slider-labels",labelGroupClass:"slider-label-group",labelClass:"slider-label",currentValueClass:"slider-current-value",railHeight:5,menuIndexAttrName:"slider-active-index",autoMarginIdRoot:"slider-",minWidth:30,minHeight:30,textPadX:40,arrowOffsetX:4,railRadius:2,railWidth:5,railBorder:4,railBorderWidth:1,railBorderColor:"#bec8d9",railBgColor:"#f8fafc",railInset:8,stepInset:10,gripRadius:10,gripWidth:20,gripHeight:20,gripBorder:20,gripBorderWidth:1,gripBorderColor:"#bec8d9",gripBgColor:"#f6f8fa",gripBgActiveColor:"#dbdde0",labelPadding:8,labelOffset:0,tickWidth:1,tickColor:"#333",tickOffset:25,tickLength:7,minorTickOffset:25,minorTickColor:"#333",minorTickLength:4,currentValuePadding:8,currentValueInset:0}},12343:function(t,e,r){"use strict";var n=r(71828),i=r(85501),a=r(75067),o=r(98292).name,s=a.steps;function l(t,e,r){function o(r,i){return n.coerce(t,e,a,r,i)}for(var s=i(t,e,{name:"steps",handleItemDefaults:u}),l=0,c=0;c<s.length;c++)s[c].visible&&l++;if(l<2?e.visible=!1:o("visible")){e._stepCount=l;var f=e._visibleSteps=n.filterVisible(s);(s[o("active")]||{}).visible||(e.active=f[0]._index),o("x"),o("y"),n.noneOrAll(t,e,["x","y"]),o("xanchor"),o("yanchor"),o("len"),o("lenmode"),o("pad.t"),o("pad.r"),o("pad.b"),o("pad.l"),n.coerceFont(o,"font",r.font),o("currentvalue.visible")&&(o("currentvalue.xanchor"),o("currentvalue.prefix"),o("currentvalue.suffix"),o("currentvalue.offset"),n.coerceFont(o,"currentvalue.font",e.font)),o("transition.duration"),o("transition.easing"),o("bgcolor"),o("activebgcolor"),o("bordercolor"),o("borderwidth"),o("ticklen"),o("tickwidth"),o("tickcolor"),o("minorticklen")}}function u(t,e){function r(r,i){return n.coerce(t,e,s,r,i)}if("skip"===t.method||Array.isArray(t.args)?r("visible"):e.visible=!1){r("method"),r("args");var i=r("label","step-"+e._index);r("value",i),r("execute")}}t.exports=function(t,e){i(t,e,{name:o,handleItemDefaults:l})}},44504:function(t,e,r){"use strict";var n=r(39898),i=r(74875),a=r(7901),o=r(91424),s=r(71828),l=s.strTranslate,u=r(63893),c=r(44467).arrayEditor,f=r(98292),h=r(18783),p=h.LINE_SPACING,d=h.FROM_TL,v=h.FROM_BR;function g(t){return f.autoMarginIdRoot+t._index}function y(t){return t._index}function m(t,e){var r=o.tester.selectAll("g."+f.labelGroupClass).data(e._visibleSteps);r.enter().append("g").classed(f.labelGroupClass,!0);var a=0,l=0;r.each((function(t){var r=_(n.select(this),{step:t},e).node();if(r){var i=o.bBox(r);l=Math.max(l,i.height),a=Math.max(a,i.width)}})),r.remove();var c=e._dims={};c.inputAreaWidth=Math.max(f.railWidth,f.gripHeight);var h=t._fullLayout._size;c.lx=h.l+h.w*e.x,c.ly=h.t+h.h*(1-e.y),"fraction"===e.lenmode?c.outerLength=Math.round(h.w*e.len):c.outerLength=e.len,c.inputAreaStart=0,c.inputAreaLength=Math.round(c.outerLength-e.pad.l-e.pad.r);var p=(c.inputAreaLength-2*f.stepInset)/(e._stepCount-1),y=a+f.labelPadding;if(c.labelStride=Math.max(1,Math.ceil(y/p)),c.labelHeight=l,c.currentValueMaxWidth=0,c.currentValueHeight=0,c.currentValueTotalHeight=0,c.currentValueMaxLines=1,e.currentvalue.visible){var m=o.tester.append("g");r.each((function(t){var r=x(m,e,t.label),n=r.node()&&o.bBox(r.node())||{width:0,height:0},i=u.lineCount(r);c.currentValueMaxWidth=Math.max(c.currentValueMaxWidth,Math.ceil(n.width)),c.currentValueHeight=Math.max(c.currentValueHeight,Math.ceil(n.height)),c.currentValueMaxLines=Math.max(c.currentValueMaxLines,i)})),c.currentValueTotalHeight=c.currentValueHeight+e.currentvalue.offset,m.remove()}c.height=c.currentValueTotalHeight+f.tickOffset+e.ticklen+f.labelOffset+c.labelHeight+e.pad.t+e.pad.b;var b="left";s.isRightAnchor(e)&&(c.lx-=c.outerLength,b="right"),s.isCenterAnchor(e)&&(c.lx-=c.outerLength/2,b="center");var w="top";s.isBottomAnchor(e)&&(c.ly-=c.height,w="bottom"),s.isMiddleAnchor(e)&&(c.ly-=c.height/2,w="middle"),c.outerLength=Math.ceil(c.outerLength),c.height=Math.ceil(c.height),c.lx=Math.round(c.lx),c.ly=Math.round(c.ly);var T={y:e.y,b:c.height*v[w],t:c.height*d[w]};"fraction"===e.lenmode?(T.l=0,T.xl=e.x-e.len*d[b],T.r=0,T.xr=e.x+e.len*v[b]):(T.x=e.x,T.l=c.outerLength*d[b],T.r=c.outerLength*v[b]),i.autoMargin(t,g(e),T)}function x(t,e,r){if(e.currentvalue.visible){var n,i,a=e._dims;switch(e.currentvalue.xanchor){case"right":n=a.inputAreaLength-f.currentValueInset-a.currentValueMaxWidth,i="left";break;case"center":n=.5*a.inputAreaLength,i="middle";break;default:n=f.currentValueInset,i="left"}var l=s.ensureSingle(t,"text",f.labelClass,(function(t){t.attr({"text-anchor":i,"data-notex":1})})),c=e.currentvalue.prefix?e.currentvalue.prefix:"";if("string"==typeof r)c+=r;else{var h=e.steps[e.active].label,d=e._gd._fullLayout._meta;d&&(h=s.templateString(h,d)),c+=h}e.currentvalue.suffix&&(c+=e.currentvalue.suffix),l.call(o.font,e.currentvalue.font).text(c).call(u.convertToTspans,e._gd);var v=u.lineCount(l),g=(a.currentValueMaxLines+1-v)*e.currentvalue.font.size*p;return u.positionText(l,n,g),l}}function b(t,e,r){s.ensureSingle(t,"rect",f.gripRectClass,(function(n){n.call(A,e,t,r).style("pointer-events","all")})).attr({width:f.gripWidth,height:f.gripHeight,rx:f.gripRadius,ry:f.gripRadius}).call(a.stroke,r.bordercolor).call(a.fill,r.bgcolor).style("stroke-width",r.borderwidth+"px")}function _(t,e,r){var n=s.ensureSingle(t,"text",f.labelClass,(function(t){t.attr({"text-anchor":"middle","data-notex":1})})),i=e.step.label,a=r._gd._fullLayout._meta;return a&&(i=s.templateString(i,a)),n.call(o.font,r.font).text(i).call(u.convertToTspans,r._gd),n}function w(t,e){var r=s.ensureSingle(t,"g",f.labelsClass),i=e._dims,a=r.selectAll("g."+f.labelGroupClass).data(i.labelSteps);a.enter().append("g").classed(f.labelGroupClass,!0),a.exit().remove(),a.each((function(t){var r=n.select(this);r.call(_,t,e),o.setTranslate(r,E(e,t.fraction),f.tickOffset+e.ticklen+e.font.size*p+f.labelOffset+i.currentValueTotalHeight)}))}function T(t,e,r,n,i){var a=Math.round(n*(r._stepCount-1)),o=r._visibleSteps[a]._index;o!==r.active&&k(t,e,r,o,!0,i)}function k(t,e,r,n,a,o){var s=r.active;r.active=n,c(t.layout,f.name,r).applyUpdate("active",n);var l=r.steps[r.active];e.call(S,r,o),e.call(x,r),t.emit("plotly_sliderchange",{slider:r,step:r.steps[r.active],interaction:a,previousActive:s}),l&&l.method&&a&&(e._nextMethod?(e._nextMethod.step=l,e._nextMethod.doCallback=a,e._nextMethod.doTransition=o):(e._nextMethod={step:l,doCallback:a,doTransition:o},e._nextMethodRaf=window.requestAnimationFrame((function(){var r=e._nextMethod.step;r.method&&(r.execute&&i.executeAPICommand(t,r.method,r.args),e._nextMethod=null,e._nextMethodRaf=null)}))))}function A(t,e,r){if(!e._context.staticPlot){var i=r.node(),o=n.select(e);t.on("mousedown",l),t.on("touchstart",l)}function s(){return r.data()[0]}function l(){var t=s();e.emit("plotly_sliderstart",{slider:t});var l=r.select("."+f.gripRectClass);n.event.stopPropagation(),n.event.preventDefault(),l.call(a.fill,t.activebgcolor);var u=L(t,n.mouse(i)[0]);function c(){var t=s(),a=L(t,n.mouse(i)[0]);T(e,r,t,a,!1)}function h(){var t=s();t._dragging=!1,l.call(a.fill,t.bgcolor),o.on("mouseup",null),o.on("mousemove",null),o.on("touchend",null),o.on("touchmove",null),e.emit("plotly_sliderend",{slider:t,step:t.steps[t.active]})}T(e,r,t,u,!0),t._dragging=!0,o.on("mousemove",c),o.on("touchmove",c),o.on("mouseup",h),o.on("touchend",h)}}function M(t,e){var r=t.selectAll("rect."+f.tickRectClass).data(e._visibleSteps),i=e._dims;r.enter().append("rect").classed(f.tickRectClass,!0),r.exit().remove(),r.attr({width:e.tickwidth+"px","shape-rendering":"crispEdges"}),r.each((function(t,r){var s=r%i.labelStride==0,l=n.select(this);l.attr({height:s?e.ticklen:e.minorticklen}).call(a.fill,e.tickcolor),o.setTranslate(l,E(e,r/(e._stepCount-1))-.5*e.tickwidth,(s?f.tickOffset:f.minorTickOffset)+i.currentValueTotalHeight)}))}function S(t,e,r){for(var n=t.select("rect."+f.gripRectClass),i=0,a=0;a<e._stepCount;a++)if(e._visibleSteps[a]._index===e.active){i=a;break}var o=E(e,i/(e._stepCount-1));if(!e._invokingCommand){var s=n;r&&e.transition.duration>0&&(s=s.transition().duration(e.transition.duration).ease(e.transition.easing)),s.attr("transform",l(o-.5*f.gripWidth,e._dims.currentValueTotalHeight))}}function E(t,e){var r=t._dims;return r.inputAreaStart+f.stepInset+(r.inputAreaLength-2*f.stepInset)*Math.min(1,Math.max(0,e))}function L(t,e){var r=t._dims;return Math.min(1,Math.max(0,(e-f.stepInset-r.inputAreaStart)/(r.inputAreaLength-2*f.stepInset-2*r.inputAreaStart)))}function C(t,e,r){var n=r._dims,i=s.ensureSingle(t,"rect",f.railTouchRectClass,(function(n){n.call(A,e,t,r).style("pointer-events","all")}));i.attr({width:n.inputAreaLength,height:Math.max(n.inputAreaWidth,f.tickOffset+r.ticklen+n.labelHeight)}).call(a.fill,r.bgcolor).attr("opacity",0),o.setTranslate(i,0,n.currentValueTotalHeight)}function P(t,e){var r=e._dims,n=r.inputAreaLength-2*f.railInset,i=s.ensureSingle(t,"rect",f.railRectClass);i.attr({width:n,height:f.railWidth,rx:f.railRadius,ry:f.railRadius,"shape-rendering":"crispEdges"}).call(a.stroke,e.bordercolor).call(a.fill,e.bgcolor).style("stroke-width",e.borderwidth+"px"),o.setTranslate(i,f.railInset,.5*(r.inputAreaWidth-f.railWidth)+r.currentValueTotalHeight)}t.exports=function(t){var e=t._context.staticPlot,r=t._fullLayout,a=function(t,e){for(var r=t[f.name],n=[],i=0;i<r.length;i++){var a=r[i];a.visible&&(a._gd=e,n.push(a))}return n}(r,t),s=r._infolayer.selectAll("g."+f.containerClassName).data(a.length>0?[0]:[]);function l(e){e._commandObserver&&(e._commandObserver.remove(),delete e._commandObserver),i.autoMargin(t,g(e))}if(s.enter().append("g").classed(f.containerClassName,!0).style("cursor",e?null:"ew-resize"),s.exit().each((function(){n.select(this).selectAll("g."+f.groupClassName).each(l)})).remove(),0!==a.length){var u=s.selectAll("g."+f.groupClassName).data(a,y);u.enter().append("g").classed(f.groupClassName,!0),u.exit().each(l).remove();for(var c=0;c<a.length;c++){var h=a[c];m(t,h)}u.each((function(e){var r=n.select(this);!function(t){var e=t._dims;e.labelSteps=[];for(var r=t._stepCount,n=0;n<r;n+=e.labelStride)e.labelSteps.push({fraction:n/(r-1),step:t._visibleSteps[n]})}(e),i.manageCommandObserver(t,e,e._visibleSteps,(function(e){var n=r.data()[0];n.active!==e.index&&(n._dragging||k(t,r,n,e.index,!1,!0))})),function(t,e,r){(r.steps[r.active]||{}).visible||(r.active=r._visibleSteps[0]._index),e.call(x,r).call(P,r).call(w,r).call(M,r).call(C,t,r).call(b,t,r);var n=r._dims;o.setTranslate(e,n.lx+r.pad.l,n.ly+r.pad.t),e.call(S,r,!1),e.call(x,r)}(t,n.select(this),e)}))}}},23243:function(t,e,r){"use strict";var n=r(98292);t.exports={moduleType:"component",name:n.name,layoutAttributes:r(75067),supplyLayoutDefaults:r(12343),draw:r(44504)}},92998:function(t,e,r){"use strict";var n=r(39898),i=r(92770),a=r(74875),o=r(73972),s=r(71828),l=s.strTranslate,u=r(91424),c=r(7901),f=r(63893),h=r(37822),p=r(18783).OPPOSITE_SIDE,d=/ [XY][0-9]* /;t.exports={draw:function(t,e,r){var v,g=r.propContainer,y=r.propName,m=r.placeholder,x=r.traceIndex,b=r.avoid||{},_=r.attributes,w=r.transform,T=r.containerGroup,k=t._fullLayout,A=1,M=!1,S=g.title,E=(S&&S.text?S.text:"").trim(),L=S&&S.font?S.font:{},C=L.family,P=L.size,O=L.color;"title.text"===y?v="titleText":-1!==y.indexOf("axis")?v="axisTitleText":y.indexOf(!0)&&(v="colorbarTitleText");var I=t._context.edits[v];""===E?A=0:E.replace(d," % ")===m.replace(d," % ")&&(A=.2,M=!0,I||(E="")),r._meta?E=s.templateString(E,r._meta):k._meta&&(E=s.templateString(E,k._meta));var D,z=E||I;T||(T=s.ensureSingle(k._infolayer,"g","g-"+e),D=k._hColorbarMoveTitle);var R=T.selectAll("text").data(z?[0]:[]);if(R.enter().append("text"),R.text(E).attr("class",e),R.exit().remove(),!z)return T;function F(t){s.syncOrAsync([B,N],t)}function B(e){var r;return!w&&D&&(w={}),w?(r="",w.rotate&&(r+="rotate("+[w.rotate,_.x,_.y]+")"),(w.offset||D)&&(r+=l(0,(w.offset||0)-(D||0)))):r=null,e.attr("transform",r),e.style({"font-family":C,"font-size":n.round(P,2)+"px",fill:c.rgb(O),opacity:A*c.opacity(O),"font-weight":a.fontWeight}).attr(_).call(f.convertToTspans,t),a.previousPromises(t)}function N(t){var e=n.select(t.node().parentNode);if(b&&b.selection&&b.side&&E){e.attr("transform",null);var r=p[b.side],a="left"===b.side||"top"===b.side?-1:1,o=i(b.pad)?b.pad:2,c=u.bBox(e.node()),f={left:0,top:0,right:k.width,bottom:k.height},h=b.maxShift||a*(f[b.side]-c[b.side]),d=0;if(h<0)d=h;else{var v=b.offsetLeft||0,y=b.offsetTop||0;c.left-=v,c.right-=v,c.top-=y,c.bottom-=y,b.selection.each((function(){var t=u.bBox(this);s.bBoxIntersect(c,t,o)&&(d=Math.max(d,a*(t[b.side]-c[r])+o))})),d=Math.min(h,d),g._titleScoot=Math.abs(d)}if(d>0||h<0){var m={left:[-d,0],right:[d,0],top:[0,-d],bottom:[0,d]}[b.side];e.attr("transform",l(m[0],m[1]))}}}return R.call(F),I&&(E?R.on(".opacity",null):(A=0,M=!0,R.text(m).on("mouseover.opacity",(function(){n.select(this).transition().duration(h.SHOW_PLACEHOLDER).style("opacity",1)})).on("mouseout.opacity",(function(){n.select(this).transition().duration(h.HIDE_PLACEHOLDER).style("opacity",0)}))),R.call(f.makeEditable,{gd:t}).on("edit",(function(e){void 0!==x?o.call("_guiRestyle",t,y,e,x):o.call("_guiRelayout",t,y,e)})).on("cancel",(function(){this.text(this.attr("data-unformatted")).call(F)})).on("input",(function(t){this.text(t||" ").call(f.positionText,_.x,_.y)}))),R.classed("js-placeholder",M),T}}},7163:function(t,e,r){"use strict";var n=r(41940),i=r(22399),a=r(1426).extendFlat,o=r(30962).overrideAll,s=r(35025),l=r(44467).templatedArray,u=l("button",{visible:{valType:"boolean"},method:{valType:"enumerated",values:["restyle","relayout","animate","update","skip"],dflt:"restyle"},args:{valType:"info_array",freeLength:!0,items:[{valType:"any"},{valType:"any"},{valType:"any"}]},args2:{valType:"info_array",freeLength:!0,items:[{valType:"any"},{valType:"any"},{valType:"any"}]},label:{valType:"string",dflt:""},execute:{valType:"boolean",dflt:!0}});t.exports=o(l("updatemenu",{_arrayAttrRegexps:[/^updatemenus\[(0|[1-9][0-9]+)\]\.buttons/],visible:{valType:"boolean"},type:{valType:"enumerated",values:["dropdown","buttons"],dflt:"dropdown"},direction:{valType:"enumerated",values:["left","right","up","down"],dflt:"down"},active:{valType:"integer",min:-1,dflt:0},showactive:{valType:"boolean",dflt:!0},buttons:u,x:{valType:"number",min:-2,max:3,dflt:-.05},xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"right"},y:{valType:"number",min:-2,max:3,dflt:1},yanchor:{valType:"enumerated",values:["auto","top","middle","bottom"],dflt:"top"},pad:a(s({editType:"arraydraw"}),{}),font:n({}),bgcolor:{valType:"color"},bordercolor:{valType:"color",dflt:i.borderLine},borderwidth:{valType:"number",min:0,dflt:1,editType:"arraydraw"}}),"arraydraw","from-root")},75909:function(t){"use strict";t.exports={name:"updatemenus",containerClassName:"updatemenu-container",headerGroupClassName:"updatemenu-header-group",headerClassName:"updatemenu-header",headerArrowClassName:"updatemenu-header-arrow",dropdownButtonGroupClassName:"updatemenu-dropdown-button-group",dropdownButtonClassName:"updatemenu-dropdown-button",buttonClassName:"updatemenu-button",itemRectClassName:"updatemenu-item-rect",itemTextClassName:"updatemenu-item-text",menuIndexAttrName:"updatemenu-active-index",autoMarginIdRoot:"updatemenu-",blankHeaderOpts:{label:" "},minWidth:30,minHeight:30,textPadX:24,arrowPadX:16,rx:2,ry:2,textOffsetX:12,textOffsetY:3,arrowOffsetX:4,gapButtonHeader:5,gapButton:2,activeColor:"#F4FAFF",hoverColor:"#F4FAFF",arrowSymbol:{left:"◄",right:"►",up:"▲",down:"▼"}}},64897:function(t,e,r){"use strict";var n=r(71828),i=r(85501),a=r(7163),o=r(75909).name,s=a.buttons;function l(t,e,r){function o(r,i){return n.coerce(t,e,a,r,i)}o("visible",i(t,e,{name:"buttons",handleItemDefaults:u}).length>0)&&(o("active"),o("direction"),o("type"),o("showactive"),o("x"),o("y"),n.noneOrAll(t,e,["x","y"]),o("xanchor"),o("yanchor"),o("pad.t"),o("pad.r"),o("pad.b"),o("pad.l"),n.coerceFont(o,"font",r.font),o("bgcolor",r.paper_bgcolor),o("bordercolor"),o("borderwidth"))}function u(t,e){function r(r,i){return n.coerce(t,e,s,r,i)}r("visible","skip"===t.method||Array.isArray(t.args))&&(r("method"),r("args"),r("args2"),r("label"),r("execute"))}t.exports=function(t,e){i(t,e,{name:o,handleItemDefaults:l})}},13689:function(t,e,r){"use strict";var n=r(39898),i=r(74875),a=r(7901),o=r(91424),s=r(71828),l=r(63893),u=r(44467).arrayEditor,c=r(18783).LINE_SPACING,f=r(75909),h=r(25849);function p(t){return t._index}function d(t,e){return+t.attr(f.menuIndexAttrName)===e._index}function v(t,e,r,n,i,a,o,s){e.active=o,u(t.layout,f.name,e).applyUpdate("active",o),"buttons"===e.type?y(t,n,null,null,e):"dropdown"===e.type&&(i.attr(f.menuIndexAttrName,"-1"),g(t,n,i,a,e),s||y(t,n,i,a,e))}function g(t,e,r,n,i){var a=s.ensureSingle(e,"g",f.headerClassName,(function(t){t.style("pointer-events","all")})),l=i._dims,u=i.active,c=i.buttons[u]||f.blankHeaderOpts,h={y:i.pad.t,yPad:0,x:i.pad.l,xPad:0,index:0},p={width:l.headerWidth,height:l.headerHeight};a.call(m,i,c,t).call(M,i,h,p),s.ensureSingle(e,"text",f.headerArrowClassName,(function(t){t.attr("text-anchor","end").call(o.font,i.font).text(f.arrowSymbol[i.direction])})).attr({x:l.headerWidth-f.arrowOffsetX+i.pad.l,y:l.headerHeight/2+f.textOffsetY+i.pad.t}),a.on("click",(function(){r.call(S,String(d(r,i)?-1:i._index)),y(t,e,r,n,i)})),a.on("mouseover",(function(){a.call(w)})),a.on("mouseout",(function(){a.call(T,i)})),o.setTranslate(e,l.lx,l.ly)}function y(t,e,r,a,o){r||(r=e).attr("pointer-events","all");var l=function(t){return-1==+t.attr(f.menuIndexAttrName)}(r)&&"buttons"!==o.type?[]:o.buttons,u="dropdown"===o.type?f.dropdownButtonClassName:f.buttonClassName,c=r.selectAll("g."+u).data(s.filterVisible(l)),h=c.enter().append("g").classed(u,!0),p=c.exit();"dropdown"===o.type?(h.attr("opacity","0").transition().attr("opacity","1"),p.transition().attr("opacity","0").remove()):p.remove();var d=0,g=0,y=o._dims,x=-1!==["up","down"].indexOf(o.direction);"dropdown"===o.type&&(x?g=y.headerHeight+f.gapButtonHeader:d=y.headerWidth+f.gapButtonHeader),"dropdown"===o.type&&"up"===o.direction&&(g=-f.gapButtonHeader+f.gapButton-y.openHeight),"dropdown"===o.type&&"left"===o.direction&&(d=-f.gapButtonHeader+f.gapButton-y.openWidth);var b={x:y.lx+d+o.pad.l,y:y.ly+g+o.pad.t,yPad:f.gapButton,xPad:f.gapButton,index:0},k={l:b.x+o.borderwidth,t:b.y+o.borderwidth};c.each((function(s,l){var u=n.select(this);u.call(m,o,s,t).call(M,o,b),u.on("click",(function(){n.event.defaultPrevented||(s.execute&&(s.args2&&o.active===l?(v(t,o,0,e,r,a,-1),i.executeAPICommand(t,s.method,s.args2)):(v(t,o,0,e,r,a,l),i.executeAPICommand(t,s.method,s.args))),t.emit("plotly_buttonclicked",{menu:o,button:s,active:o.active}))})),u.on("mouseover",(function(){u.call(w)})),u.on("mouseout",(function(){u.call(T,o),c.call(_,o)}))})),c.call(_,o),x?(k.w=Math.max(y.openWidth,y.headerWidth),k.h=b.y-k.t):(k.w=b.x-k.l,k.h=Math.max(y.openHeight,y.headerHeight)),k.direction=o.direction,a&&(c.size()?function(t,e,r,n,i,a){var o,s,l,u=i.direction,c="up"===u||"down"===u,h=i._dims,p=i.active;if(c)for(s=0,l=0;l<p;l++)s+=h.heights[l]+f.gapButton;else for(o=0,l=0;l<p;l++)o+=h.widths[l]+f.gapButton;n.enable(a,o,s),n.hbar&&n.hbar.attr("opacity","0").transition().attr("opacity","1"),n.vbar&&n.vbar.attr("opacity","0").transition().attr("opacity","1")}(0,0,0,a,o,k):function(t){var e=!!t.hbar,r=!!t.vbar;e&&t.hbar.transition().attr("opacity","0").each("end",(function(){e=!1,r||t.disable()})),r&&t.vbar.transition().attr("opacity","0").each("end",(function(){r=!1,e||t.disable()}))}(a))}function m(t,e,r,n){t.call(x,e).call(b,e,r,n)}function x(t,e){s.ensureSingle(t,"rect",f.itemRectClassName,(function(t){t.attr({rx:f.rx,ry:f.ry,"shape-rendering":"crispEdges"})})).call(a.stroke,e.bordercolor).call(a.fill,e.bgcolor).style("stroke-width",e.borderwidth+"px")}function b(t,e,r,n){var i=s.ensureSingle(t,"text",f.itemTextClassName,(function(t){t.attr({"text-anchor":"start","data-notex":1})})),a=r.label,u=n._fullLayout._meta;u&&(a=s.templateString(a,u)),i.call(o.font,e.font).text(a).call(l.convertToTspans,n)}function _(t,e){var r=e.active;t.each((function(t,i){var o=n.select(this);i===r&&e.showactive&&o.select("rect."+f.itemRectClassName).call(a.fill,f.activeColor)}))}function w(t){t.select("rect."+f.itemRectClassName).call(a.fill,f.hoverColor)}function T(t,e){t.select("rect."+f.itemRectClassName).call(a.fill,e.bgcolor)}function k(t,e){var r=e._dims={width1:0,height1:0,heights:[],widths:[],totalWidth:0,totalHeight:0,openWidth:0,openHeight:0,lx:0,ly:0},a=o.tester.selectAll("g."+f.dropdownButtonClassName).data(s.filterVisible(e.buttons));a.enter().append("g").classed(f.dropdownButtonClassName,!0);var u=-1!==["up","down"].indexOf(e.direction);a.each((function(i,a){var s=n.select(this);s.call(m,e,i,t);var h=s.select("."+f.itemTextClassName),p=h.node()&&o.bBox(h.node()).width,d=Math.max(p+f.textPadX,f.minWidth),v=e.font.size*c,g=l.lineCount(h),y=Math.max(v*g,f.minHeight)+f.textOffsetY;y=Math.ceil(y),d=Math.ceil(d),r.widths[a]=d,r.heights[a]=y,r.height1=Math.max(r.height1,y),r.width1=Math.max(r.width1,d),u?(r.totalWidth=Math.max(r.totalWidth,d),r.openWidth=r.totalWidth,r.totalHeight+=y+f.gapButton,r.openHeight+=y+f.gapButton):(r.totalWidth+=d+f.gapButton,r.openWidth+=d+f.gapButton,r.totalHeight=Math.max(r.totalHeight,y),r.openHeight=r.totalHeight)})),u?r.totalHeight-=f.gapButton:r.totalWidth-=f.gapButton,r.headerWidth=r.width1+f.arrowPadX,r.headerHeight=r.height1,"dropdown"===e.type&&(u?(r.width1+=f.arrowPadX,r.totalHeight=r.height1):r.totalWidth=r.width1,r.totalWidth+=f.arrowPadX),a.remove();var h=r.totalWidth+e.pad.l+e.pad.r,p=r.totalHeight+e.pad.t+e.pad.b,d=t._fullLayout._size;r.lx=d.l+d.w*e.x,r.ly=d.t+d.h*(1-e.y);var v="left";s.isRightAnchor(e)&&(r.lx-=h,v="right"),s.isCenterAnchor(e)&&(r.lx-=h/2,v="center");var g="top";s.isBottomAnchor(e)&&(r.ly-=p,g="bottom"),s.isMiddleAnchor(e)&&(r.ly-=p/2,g="middle"),r.totalWidth=Math.ceil(r.totalWidth),r.totalHeight=Math.ceil(r.totalHeight),r.lx=Math.round(r.lx),r.ly=Math.round(r.ly),i.autoMargin(t,A(e),{x:e.x,y:e.y,l:h*({right:1,center:.5}[v]||0),r:h*({left:1,center:.5}[v]||0),b:p*({top:1,middle:.5}[g]||0),t:p*({bottom:1,middle:.5}[g]||0)})}function A(t){return f.autoMarginIdRoot+t._index}function M(t,e,r,n){n=n||{};var i=t.select("."+f.itemRectClassName),a=t.select("."+f.itemTextClassName),s=e.borderwidth,u=r.index,h=e._dims;o.setTranslate(t,s+r.x,s+r.y);var p=-1!==["up","down"].indexOf(e.direction),d=n.height||(p?h.heights[u]:h.height1);i.attr({x:0,y:0,width:n.width||(p?h.width1:h.widths[u]),height:d});var v=e.font.size*c,g=(l.lineCount(a)-1)*v/2;l.positionText(a,f.textOffsetX,d/2-g+f.textOffsetY),p?r.y+=h.heights[u]+r.yPad:r.x+=h.widths[u]+r.xPad,r.index++}function S(t,e){t.attr(f.menuIndexAttrName,e||"-1").selectAll("g."+f.dropdownButtonClassName).remove()}t.exports=function(t){var e=t._fullLayout,r=s.filterVisible(e[f.name]);function a(e){i.autoMargin(t,A(e))}var o=e._menulayer.selectAll("g."+f.containerClassName).data(r.length>0?[0]:[]);if(o.enter().append("g").classed(f.containerClassName,!0).style("cursor","pointer"),o.exit().each((function(){n.select(this).selectAll("g."+f.headerGroupClassName).each(a)})).remove(),0!==r.length){var l=o.selectAll("g."+f.headerGroupClassName).data(r,p);l.enter().append("g").classed(f.headerGroupClassName,!0);for(var u=s.ensureSingle(o,"g",f.dropdownButtonGroupClassName,(function(t){t.style("pointer-events","all")})),c=0;c<r.length;c++){var m=r[c];k(t,m)}var x="updatemenus"+e._uid,b=new h(t,u,x);l.enter().size()&&(u.node().parentNode.appendChild(u.node()),u.call(S)),l.exit().each((function(t){u.call(S),a(t)})).remove(),l.each((function(e){var r=n.select(this),a="dropdown"===e.type?u:null;i.manageCommandObserver(t,e,e.buttons,(function(n){v(t,e,e.buttons[n.index],r,a,b,n.index,!0)})),"dropdown"===e.type?(g(t,r,u,b,e),d(u,e)&&y(t,r,u,b,e)):y(t,r,null,null,e)}))}}},20763:function(t,e,r){"use strict";var n=r(75909);t.exports={moduleType:"component",name:n.name,layoutAttributes:r(7163),supplyLayoutDefaults:r(64897),draw:r(13689)}},25849:function(t,e,r){"use strict";t.exports=s;var n=r(39898),i=r(7901),a=r(91424),o=r(71828);function s(t,e,r){this.gd=t,this.container=e,this.id=r,this.position=null,this.translateX=null,this.translateY=null,this.hbar=null,this.vbar=null,this.bg=this.container.selectAll("rect.scrollbox-bg").data([0]),this.bg.exit().on(".drag",null).on("wheel",null).remove(),this.bg.enter().append("rect").classed("scrollbox-bg",!0).style("pointer-events","all").attr({opacity:0,x:0,y:0,width:0,height:0})}s.barWidth=2,s.barLength=20,s.barRadius=2,s.barPad=1,s.barColor="#808BA4",s.prototype.enable=function(t,e,r){var o=this.gd._fullLayout,l=o.width,u=o.height;this.position=t;var c,f,h,p,d=this.position.l,v=this.position.w,g=this.position.t,y=this.position.h,m=this.position.direction,x="down"===m,b="left"===m,_="up"===m,w=v,T=y;x||b||"right"===m||_||(this.position.direction="down",x=!0),x||_?(f=(c=d)+w,x?(h=g,T=(p=Math.min(h+T,u))-h):T=(p=g+T)-(h=Math.max(p-T,0))):(p=(h=g)+T,b?w=(f=d+w)-(c=Math.max(f-w,0)):(c=d,w=(f=Math.min(c+w,l))-c)),this._box={l:c,t:h,w:w,h:T};var k=v>w,A=s.barLength+2*s.barPad,M=s.barWidth+2*s.barPad,S=d,E=g+y;E+M>u&&(E=u-M);var L=this.container.selectAll("rect.scrollbar-horizontal").data(k?[0]:[]);L.exit().on(".drag",null).remove(),L.enter().append("rect").classed("scrollbar-horizontal",!0).call(i.fill,s.barColor),k?(this.hbar=L.attr({rx:s.barRadius,ry:s.barRadius,x:S,y:E,width:A,height:M}),this._hbarXMin=S+A/2,this._hbarTranslateMax=w-A):(delete this.hbar,delete this._hbarXMin,delete this._hbarTranslateMax);var C=y>T,P=s.barWidth+2*s.barPad,O=s.barLength+2*s.barPad,I=d+v,D=g;I+P>l&&(I=l-P);var z=this.container.selectAll("rect.scrollbar-vertical").data(C?[0]:[]);z.exit().on(".drag",null).remove(),z.enter().append("rect").classed("scrollbar-vertical",!0).call(i.fill,s.barColor),C?(this.vbar=z.attr({rx:s.barRadius,ry:s.barRadius,x:I,y:D,width:P,height:O}),this._vbarYMin=D+O/2,this._vbarTranslateMax=T-O):(delete this.vbar,delete this._vbarYMin,delete this._vbarTranslateMax);var R=this.id,F=c-.5,B=C?f+P+.5:f+.5,N=h-.5,j=k?p+M+.5:p+.5,U=o._topdefs.selectAll("#"+R).data(k||C?[0]:[]);if(U.exit().remove(),U.enter().append("clipPath").attr("id",R).append("rect"),k||C?(this._clipRect=U.select("rect").attr({x:Math.floor(F),y:Math.floor(N),width:Math.ceil(B)-Math.floor(F),height:Math.ceil(j)-Math.floor(N)}),this.container.call(a.setClipUrl,R,this.gd),this.bg.attr({x:d,y:g,width:v,height:y})):(this.bg.attr({width:0,height:0}),this.container.on("wheel",null).on(".drag",null).call(a.setClipUrl,null),delete this._clipRect),k||C){var V=n.behavior.drag().on("dragstart",(function(){n.event.sourceEvent.preventDefault()})).on("drag",this._onBoxDrag.bind(this));this.container.on("wheel",null).on("wheel",this._onBoxWheel.bind(this)).on(".drag",null).call(V);var H=n.behavior.drag().on("dragstart",(function(){n.event.sourceEvent.preventDefault(),n.event.sourceEvent.stopPropagation()})).on("drag",this._onBarDrag.bind(this));k&&this.hbar.on(".drag",null).call(H),C&&this.vbar.on(".drag",null).call(H)}this.setTranslate(e,r)},s.prototype.disable=function(){(this.hbar||this.vbar)&&(this.bg.attr({width:0,height:0}),this.container.on("wheel",null).on(".drag",null).call(a.setClipUrl,null),delete this._clipRect),this.hbar&&(this.hbar.on(".drag",null),this.hbar.remove(),delete this.hbar,delete this._hbarXMin,delete this._hbarTranslateMax),this.vbar&&(this.vbar.on(".drag",null),this.vbar.remove(),delete this.vbar,delete this._vbarYMin,delete this._vbarTranslateMax)},s.prototype._onBoxDrag=function(){var t=this.translateX,e=this.translateY;this.hbar&&(t-=n.event.dx),this.vbar&&(e-=n.event.dy),this.setTranslate(t,e)},s.prototype._onBoxWheel=function(){var t=this.translateX,e=this.translateY;this.hbar&&(t+=n.event.deltaY),this.vbar&&(e+=n.event.deltaY),this.setTranslate(t,e)},s.prototype._onBarDrag=function(){var t=this.translateX,e=this.translateY;if(this.hbar){var r=t+this._hbarXMin,i=r+this._hbarTranslateMax;t=(o.constrain(n.event.x,r,i)-r)/(i-r)*(this.position.w-this._box.w)}if(this.vbar){var a=e+this._vbarYMin,s=a+this._vbarTranslateMax;e=(o.constrain(n.event.y,a,s)-a)/(s-a)*(this.position.h-this._box.h)}this.setTranslate(t,e)},s.prototype.setTranslate=function(t,e){var r=this.position.w-this._box.w,n=this.position.h-this._box.h;if(t=o.constrain(t||0,0,r),e=o.constrain(e||0,0,n),this.translateX=t,this.translateY=e,this.container.call(a.setTranslate,this._box.l-this.position.l-t,this._box.t-this.position.t-e),this._clipRect&&this._clipRect.attr({x:Math.floor(this.position.l+t-.5),y:Math.floor(this.position.t+e-.5)}),this.hbar){var i=t/r;this.hbar.call(a.setTranslate,t+i*this._hbarTranslateMax,e)}if(this.vbar){var s=e/n;this.vbar.call(a.setTranslate,t,e+s*this._vbarTranslateMax)}}},18783:function(t){"use strict";t.exports={FROM_BL:{left:0,center:.5,right:1,bottom:0,middle:.5,top:1},FROM_TL:{left:0,center:.5,right:1,bottom:1,middle:.5,top:0},FROM_BR:{left:1,center:.5,right:0,bottom:0,middle:.5,top:1},LINE_SPACING:1.3,CAP_SHIFT:.7,MID_SHIFT:.35,OPPOSITE_SIDE:{left:"right",right:"left",top:"bottom",bottom:"top"}}},24695:function(t){"use strict";t.exports={axisRefDescription:function(t,e,r){return["If set to a",t,"axis id (e.g. *"+t+"* or","*"+t+"2*), the `"+t+"` position refers to a",t,"coordinate. If set to *paper*, the `"+t+"`","position refers to the distance from the",e,"of the plotting","area in normalized coordinates where *0* (*1*) corresponds to the",e,"("+r+"). If set to a",t,"axis ID followed by","*domain* (separated by a space), the position behaves like for","*paper*, but refers to the distance in fractions of the domain","length from the",e,"of the domain of that axis: e.g.,","*"+t+"2 domain* refers to the domain of the second",t," axis and a",t,"position of 0.5 refers to the","point between the",e,"and the",r,"of the domain of the","second",t,"axis."].join(" ")}}},22372:function(t){"use strict";t.exports={INCREASING:{COLOR:"#3D9970",SYMBOL:"▲"},DECREASING:{COLOR:"#FF4136",SYMBOL:"▼"}}},31562:function(t){"use strict";t.exports={FORMAT_LINK:"https://github.com/d3/d3-format/tree/v1.4.5#d3-format",DATE_FORMAT_LINK:"https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format"}},74808:function(t){"use strict";t.exports={COMPARISON_OPS:["=","!=","<",">=",">","<="],COMPARISON_OPS2:["=","<",">=",">","<="],INTERVAL_OPS:["[]","()","[)","(]","][",")(","](",")["],SET_OPS:["{}","}{"],CONSTRAINT_REDUCTION:{"=":"=","<":"<","<=":"<",">":">",">=":">","[]":"[]","()":"[]","[)":"[]","(]":"[]","][":"][",")(":"][","](":"][",")[":"]["}}},29659:function(t){"use strict";t.exports={solid:[[],0],dot:[[.5,1],200],dash:[[.5,1],50],longdash:[[.5,1],10],dashdot:[[.5,.625,.875,1],50],longdashdot:[[.5,.7,.8,1],10]}},87381:function(t){"use strict";t.exports={circle:"●","circle-open":"○",square:"■","square-open":"□",diamond:"◆","diamond-open":"◇",cross:"+",x:"❌"}},37822:function(t){"use strict";t.exports={SHOW_PLACEHOLDER:100,HIDE_PLACEHOLDER:1e3,DESELECTDIM:.2}},50606:function(t){"use strict";t.exports={BADNUM:void 0,FP_SAFE:1e-4*Number.MAX_VALUE,ONEMAXYEAR:316224e5,ONEAVGYEAR:315576e5,ONEMINYEAR:31536e6,ONEMAXQUARTER:79488e5,ONEAVGQUARTER:78894e5,ONEMINQUARTER:76896e5,ONEMAXMONTH:26784e5,ONEAVGMONTH:26298e5,ONEMINMONTH:24192e5,ONEWEEK:6048e5,ONEDAY:864e5,ONEHOUR:36e5,ONEMIN:6e4,ONESEC:1e3,EPOCHJD:2440587.5,ALMOST_EQUAL:.999999,LOG_CLIP:10,MINUS_SIGN:"−"}},77922:function(t,e){"use strict";e.xmlns="http://www.w3.org/2000/xmlns/",e.svg="http://www.w3.org/2000/svg",e.xlink="http://www.w3.org/1999/xlink",e.svgAttrs={xmlns:e.svg,"xmlns:xlink":e.xlink}},8729:function(t,e,r){"use strict";e.version=r(11506).version,r(7417),r(98847);for(var n=r(73972),i=e.register=n.register,a=r(10641),o=Object.keys(a),s=0;s<o.length;s++){var l=o[s];"_"!==l.charAt(0)&&(e[l]=a[l]),i({moduleType:"apiMethod",name:l,fn:a[l]})}i(r(67368)),i([r(2199),r(30211),r(32745),r(2468),r(47322),r(89853),r(68804),r(20763),r(23243),r(13137),r(97218),r(83312),r(37369),r(21081),r(12311),r(64168)]),i([r(92177),r(37815)]),window.PlotlyLocales&&Array.isArray(window.PlotlyLocales)&&(i(window.PlotlyLocales),delete window.PlotlyLocales),e.Icons=r(24255);var u=r(30211),c=r(74875);e.Plots={resize:c.resize,graphJson:c.graphJson,sendDataToCloud:c.sendDataToCloud},e.Fx={hover:u.hover,unhover:u.unhover,loneHover:u.loneHover,loneUnhover:u.loneUnhover},e.Snapshot=r(44511),e.PlotSchema=r(86281)},24255:function(t){"use strict";t.exports={undo:{width:857.1,height:1e3,path:"m857 350q0-87-34-166t-91-137-137-92-166-34q-96 0-183 41t-147 114q-4 6-4 13t5 11l76 77q6 5 14 5 9-1 13-7 41-53 100-82t126-29q58 0 110 23t92 61 61 91 22 111-22 111-61 91-92 61-110 23q-55 0-105-20t-90-57l77-77q17-16 8-38-10-23-33-23h-250q-15 0-25 11t-11 25v250q0 24 22 33 22 10 39-8l72-72q60 57 137 88t159 31q87 0 166-34t137-92 91-137 34-166z",transform:"matrix(1 0 0 -1 0 850)"},home:{width:928.6,height:1e3,path:"m786 296v-267q0-15-11-26t-25-10h-214v214h-143v-214h-214q-15 0-25 10t-11 26v267q0 1 0 2t0 2l321 264 321-264q1-1 1-4z m124 39l-34-41q-5-5-12-6h-2q-7 0-12 3l-386 322-386-322q-7-4-13-4-7 2-12 7l-35 41q-4 5-3 13t6 12l401 334q18 15 42 15t43-15l136-114v109q0 8 5 13t13 5h107q8 0 13-5t5-13v-227l122-102q5-5 6-12t-4-13z",transform:"matrix(1 0 0 -1 0 850)"},"camera-retro":{width:1e3,height:1e3,path:"m518 386q0 8-5 13t-13 5q-37 0-63-27t-26-63q0-8 5-13t13-5 12 5 5 13q0 23 16 38t38 16q8 0 13 5t5 13z m125-73q0-59-42-101t-101-42-101 42-42 101 42 101 101 42 101-42 42-101z m-572-320h858v71h-858v-71z m643 320q0 89-62 152t-152 62-151-62-63-152 63-151 151-63 152 63 62 151z m-571 358h214v72h-214v-72z m-72-107h858v143h-462l-36-71h-360v-72z m929 143v-714q0-30-21-51t-50-21h-858q-29 0-50 21t-21 51v714q0 30 21 51t50 21h858q29 0 50-21t21-51z",transform:"matrix(1 0 0 -1 0 850)"},zoombox:{width:1e3,height:1e3,path:"m1000-25l-250 251c40 63 63 138 63 218 0 224-182 406-407 406-224 0-406-182-406-406s183-406 407-406c80 0 155 22 218 62l250-250 125 125z m-812 250l0 438 437 0 0-438-437 0z m62 375l313 0 0-312-313 0 0 312z",transform:"matrix(1 0 0 -1 0 850)"},pan:{width:1e3,height:1e3,path:"m1000 350l-187 188 0-125-250 0 0 250 125 0-188 187-187-187 125 0 0-250-250 0 0 125-188-188 186-187 0 125 252 0 0-250-125 0 187-188 188 188-125 0 0 250 250 0 0-126 187 188z",transform:"matrix(1 0 0 -1 0 850)"},zoom_plus:{width:875,height:1e3,path:"m1 787l0-875 875 0 0 875-875 0z m687-500l-187 0 0-187-125 0 0 187-188 0 0 125 188 0 0 187 125 0 0-187 187 0 0-125z",transform:"matrix(1 0 0 -1 0 850)"},zoom_minus:{width:875,height:1e3,path:"m0 788l0-876 875 0 0 876-875 0z m688-500l-500 0 0 125 500 0 0-125z",transform:"matrix(1 0 0 -1 0 850)"},autoscale:{width:1e3,height:1e3,path:"m250 850l-187 0-63 0 0-62 0-188 63 0 0 188 187 0 0 62z m688 0l-188 0 0-62 188 0 0-188 62 0 0 188 0 62-62 0z m-875-938l0 188-63 0 0-188 0-62 63 0 187 0 0 62-187 0z m875 188l0-188-188 0 0-62 188 0 62 0 0 62 0 188-62 0z m-125 188l-1 0-93-94-156 156 156 156 92-93 2 0 0 250-250 0 0-2 93-92-156-156-156 156 94 92 0 2-250 0 0-250 0 0 93 93 157-156-157-156-93 94 0 0 0-250 250 0 0 0-94 93 156 157 156-157-93-93 0 0 250 0 0 250z",transform:"matrix(1 0 0 -1 0 850)"},tooltip_basic:{width:1500,height:1e3,path:"m375 725l0 0-375-375 375-374 0-1 1125 0 0 750-1125 0z",transform:"matrix(1 0 0 -1 0 850)"},tooltip_compare:{width:1125,height:1e3,path:"m187 786l0 2-187-188 188-187 0 0 937 0 0 373-938 0z m0-499l0 1-187-188 188-188 0 0 937 0 0 376-938-1z",transform:"matrix(1 0 0 -1 0 850)"},plotlylogo:{width:1542,height:1e3,path:"m0-10h182v-140h-182v140z m228 146h183v-286h-183v286z m225 714h182v-1000h-182v1000z m225-285h182v-715h-182v715z m225 142h183v-857h-183v857z m231-428h182v-429h-182v429z m225-291h183v-138h-183v138z",transform:"matrix(1 0 0 -1 0 850)"},"z-axis":{width:1e3,height:1e3,path:"m833 5l-17 108v41l-130-65 130-66c0 0 0 38 0 39 0-1 36-14 39-25 4-15-6-22-16-30-15-12-39-16-56-20-90-22-187-23-279-23-261 0-341 34-353 59 3 60 228 110 228 110-140-8-351-35-351-116 0-120 293-142 474-142 155 0 477 22 477 142 0 50-74 79-163 96z m-374 94c-58-5-99-21-99-40 0-24 65-43 144-43 79 0 143 19 143 43 0 19-42 34-98 40v216h87l-132 135-133-135h88v-216z m167 515h-136v1c16 16 31 34 46 52l84 109v54h-230v-71h124v-1c-16-17-28-32-44-51l-89-114v-51h245v72z",transform:"matrix(1 0 0 -1 0 850)"},"3d_rotate":{width:1e3,height:1e3,path:"m922 660c-5 4-9 7-14 11-359 263-580-31-580-31l-102 28 58-400c0 1 1 1 2 2 118 108 351 249 351 249s-62 27-100 42c88 83 222 183 347 122 16-8 30-17 44-27-2 1-4 2-6 4z m36-329c0 0 64 229-88 296-62 27-124 14-175-11 157-78 225-208 249-266 8-19 11-31 11-31 2 5 6 15 11 32-5-13-8-20-8-20z m-775-239c70-31 117-50 198-32-121 80-199 346-199 346l-96-15-58-12c0 0 55-226 155-287z m603 133l-317-139c0 0 4-4 19-14 7-5 24-15 24-15s-177-147-389 4c235-287 536-112 536-112l31-22 100 299-4-1z m-298-153c6-4 14-9 24-15 0 0-17 10-24 15z",transform:"matrix(1 0 0 -1 0 850)"},camera:{width:1e3,height:1e3,path:"m500 450c-83 0-150-67-150-150 0-83 67-150 150-150 83 0 150 67 150 150 0 83-67 150-150 150z m400 150h-120c-16 0-34 13-39 29l-31 93c-6 15-23 28-40 28h-340c-16 0-34-13-39-28l-31-94c-6-15-23-28-40-28h-120c-55 0-100-45-100-100v-450c0-55 45-100 100-100h800c55 0 100 45 100 100v450c0 55-45 100-100 100z m-400-550c-138 0-250 112-250 250 0 138 112 250 250 250 138 0 250-112 250-250 0-138-112-250-250-250z m365 380c-19 0-35 16-35 35 0 19 16 35 35 35 19 0 35-16 35-35 0-19-16-35-35-35z",transform:"matrix(1 0 0 -1 0 850)"},movie:{width:1e3,height:1e3,path:"m938 413l-188-125c0 37-17 71-44 94 64 38 107 107 107 187 0 121-98 219-219 219-121 0-219-98-219-219 0-61 25-117 66-156h-115c30 33 49 76 49 125 0 103-84 187-187 187s-188-84-188-187c0-57 26-107 65-141-38-22-65-62-65-109v-250c0-70 56-126 125-126h500c69 0 125 56 125 126l188-126c34 0 62 28 62 63v375c0 35-28 63-62 63z m-750 0c-69 0-125 56-125 125s56 125 125 125 125-56 125-125-56-125-125-125z m406-1c-87 0-157 70-157 157 0 86 70 156 157 156s156-70 156-156-70-157-156-157z",transform:"matrix(1 0 0 -1 0 850)"},question:{width:857.1,height:1e3,path:"m500 82v107q0 8-5 13t-13 5h-107q-8 0-13-5t-5-13v-107q0-8 5-13t13-5h107q8 0 13 5t5 13z m143 375q0 49-31 91t-77 65-95 23q-136 0-207-119-9-14 4-24l74-55q4-4 10-4 9 0 14 7 30 38 48 51 19 14 48 14 27 0 48-15t21-33q0-21-11-34t-38-25q-35-16-65-48t-29-70v-20q0-8 5-13t13-5h107q8 0 13 5t5 13q0 10 12 27t30 28q18 10 28 16t25 19 25 27 16 34 7 45z m214-107q0-117-57-215t-156-156-215-58-216 58-155 156-58 215 58 215 155 156 216 58 215-58 156-156 57-215z",transform:"matrix(1 0 0 -1 0 850)"},disk:{width:857.1,height:1e3,path:"m214-7h429v214h-429v-214z m500 0h72v500q0 8-6 21t-11 20l-157 156q-5 6-19 12t-22 5v-232q0-22-15-38t-38-16h-322q-22 0-37 16t-16 38v232h-72v-714h72v232q0 22 16 38t37 16h465q22 0 38-16t15-38v-232z m-214 518v178q0 8-5 13t-13 5h-107q-7 0-13-5t-5-13v-178q0-8 5-13t13-5h107q7 0 13 5t5 13z m357-18v-518q0-22-15-38t-38-16h-750q-23 0-38 16t-16 38v750q0 22 16 38t38 16h517q23 0 50-12t42-26l156-157q16-15 27-42t11-49z",transform:"matrix(1 0 0 -1 0 850)"},drawopenpath:{width:70,height:70,path:"M33.21,85.65a7.31,7.31,0,0,1-2.59-.48c-8.16-3.11-9.27-19.8-9.88-41.3-.1-3.58-.19-6.68-.35-9-.15-2.1-.67-3.48-1.43-3.79-2.13-.88-7.91,2.32-12,5.86L3,32.38c1.87-1.64,11.55-9.66,18.27-6.9,2.13.87,4.75,3.14,5.17,9,.17,2.43.26,5.59.36,9.25a224.17,224.17,0,0,0,1.5,23.4c1.54,10.76,4,12.22,4.48,12.4.84.32,2.79-.46,5.76-3.59L43,80.07C41.53,81.57,37.68,85.64,33.21,85.65ZM74.81,69a11.34,11.34,0,0,0,6.09-6.72L87.26,44.5,74.72,32,56.9,38.35c-2.37.86-5.57,3.42-6.61,6L38.65,72.14l8.42,8.43ZM55,46.27a7.91,7.91,0,0,1,3.64-3.17l14.8-5.3,8,8L76.11,60.6l-.06.19a6.37,6.37,0,0,1-3,3.43L48.25,74.59,44.62,71Zm16.57,7.82A6.9,6.9,0,1,0,64.64,61,6.91,6.91,0,0,0,71.54,54.09Zm-4.05,0a2.85,2.85,0,1,1-2.85-2.85A2.86,2.86,0,0,1,67.49,54.09Zm-4.13,5.22L60.5,56.45,44.26,72.7l2.86,2.86ZM97.83,35.67,84.14,22l-8.57,8.57L89.26,44.24Zm-13.69-8,8,8-2.85,2.85-8-8Z",transform:"matrix(1 0 0 1 -15 -15)"},drawclosedpath:{width:90,height:90,path:"M88.41,21.12a26.56,26.56,0,0,0-36.18,0l-2.07,2-2.07-2a26.57,26.57,0,0,0-36.18,0,23.74,23.74,0,0,0,0,34.8L48,90.12a3.22,3.22,0,0,0,4.42,0l36-34.21a23.73,23.73,0,0,0,0-34.79ZM84,51.24,50.16,83.35,16.35,51.25a17.28,17.28,0,0,1,0-25.47,20,20,0,0,1,27.3,0l4.29,4.07a3.23,3.23,0,0,0,4.44,0l4.29-4.07a20,20,0,0,1,27.3,0,17.27,17.27,0,0,1,0,25.46ZM66.76,47.68h-33v6.91h33ZM53.35,35H46.44V68h6.91Z",transform:"matrix(1 0 0 1 -5 -5)"},lasso:{width:1031,height:1e3,path:"m1018 538c-36 207-290 336-568 286-277-48-473-256-436-463 10-57 36-108 76-151-13-66 11-137 68-183 34-28 75-41 114-42l-55-70 0 0c-2-1-3-2-4-3-10-14-8-34 5-45 14-11 34-8 45 4 1 1 2 3 2 5l0 0 113 140c16 11 31 24 45 40 4 3 6 7 8 11 48-3 100 0 151 9 278 48 473 255 436 462z m-624-379c-80 14-149 48-197 96 42 42 109 47 156 9 33-26 47-66 41-105z m-187-74c-19 16-33 37-39 60 50-32 109-55 174-68-42-25-95-24-135 8z m360 75c-34-7-69-9-102-8 8 62-16 128-68 170-73 59-175 54-244-5-9 20-16 40-20 61-28 159 121 317 333 354s407-60 434-217c28-159-121-318-333-355z",transform:"matrix(1 0 0 -1 0 850)"},selectbox:{width:1e3,height:1e3,path:"m0 850l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z m285 0l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z m-857-286l0-143 143 0 0 143-143 0z m857 0l0-143 143 0 0 143-143 0z m-857-285l0-143 143 0 0 143-143 0z m857 0l0-143 143 0 0 143-143 0z m-857-286l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z m285 0l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z",transform:"matrix(1 0 0 -1 0 850)"},drawline:{width:70,height:70,path:"M60.64,62.3a11.29,11.29,0,0,0,6.09-6.72l6.35-17.72L60.54,25.31l-17.82,6.4c-2.36.86-5.57,3.41-6.6,6L24.48,65.5l8.42,8.42ZM40.79,39.63a7.89,7.89,0,0,1,3.65-3.17l14.79-5.31,8,8L61.94,54l-.06.19a6.44,6.44,0,0,1-3,3.43L34.07,68l-3.62-3.63Zm16.57,7.81a6.9,6.9,0,1,0-6.89,6.9A6.9,6.9,0,0,0,57.36,47.44Zm-4,0a2.86,2.86,0,1,1-2.85-2.85A2.86,2.86,0,0,1,53.32,47.44Zm-4.13,5.22L46.33,49.8,30.08,66.05l2.86,2.86ZM83.65,29,70,15.34,61.4,23.9,75.09,37.59ZM70,21.06l8,8-2.84,2.85-8-8ZM87,80.49H10.67V87H87Z",transform:"matrix(1 0 0 1 -15 -15)"},drawrect:{width:80,height:80,path:"M78,22V79H21V22H78m9-9H12V88H87V13ZM68,46.22H31V54H68ZM53,32H45.22V69H53Z",transform:"matrix(1 0 0 1 -10 -10)"},drawcircle:{width:80,height:80,path:"M50,84.72C26.84,84.72,8,69.28,8,50.3S26.84,15.87,50,15.87,92,31.31,92,50.3,73.16,84.72,50,84.72Zm0-60.59c-18.6,0-33.74,11.74-33.74,26.17S31.4,76.46,50,76.46,83.74,64.72,83.74,50.3,68.6,24.13,50,24.13Zm17.15,22h-34v7.11h34Zm-13.8-13H46.24v34h7.11Z",transform:"matrix(1 0 0 1 -10 -10)"},eraseshape:{width:80,height:80,path:"M82.77,78H31.85L6,49.57,31.85,21.14H82.77a8.72,8.72,0,0,1,8.65,8.77V69.24A8.72,8.72,0,0,1,82.77,78ZM35.46,69.84H82.77a.57.57,0,0,0,.49-.6V29.91a.57.57,0,0,0-.49-.61H35.46L17,49.57Zm32.68-34.7-24,24,5,5,24-24Zm-19,.53-5,5,24,24,5-5Z",transform:"matrix(1 0 0 1 -10 -10)"},spikeline:{width:1e3,height:1e3,path:"M512 409c0-57-46-104-103-104-57 0-104 47-104 104 0 57 47 103 104 103 57 0 103-46 103-103z m-327-39l92 0 0 92-92 0z m-185 0l92 0 0 92-92 0z m370-186l92 0 0 93-92 0z m0-184l92 0 0 92-92 0z",transform:"matrix(1.5 0 0 -1.5 0 850)"},pencil:{width:1792,height:1792,path:"M491 1536l91-91-235-235-91 91v107h128v128h107zm523-928q0-22-22-22-10 0-17 7l-542 542q-7 7-7 17 0 22 22 22 10 0 17-7l542-542q7-7 7-17zm-54-192l416 416-832 832h-416v-416zm683 96q0 53-37 90l-166 166-416-416 166-165q36-38 90-38 53 0 91 38l235 234q37 39 37 91z",transform:"matrix(1 0 0 1 0 1)"},newplotlylogo:{name:"newplotlylogo",svg:["<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 132 132'>","<defs>"," <style>"," .cls-0{fill:#000;}"," .cls-1{fill:#FFF;}"," .cls-2{fill:#F26;}"," .cls-3{fill:#D69;}"," .cls-4{fill:#BAC;}"," .cls-5{fill:#9EF;}"," </style>","</defs>"," <title>plotly-logomark</title>"," <g id='symbol'>"," <rect class='cls-0' x='0' y='0' width='132' height='132' rx='18' ry='18'/>"," <circle class='cls-5' cx='102' cy='30' r='6'/>"," <circle class='cls-4' cx='78' cy='30' r='6'/>"," <circle class='cls-4' cx='78' cy='54' r='6'/>"," <circle class='cls-3' cx='54' cy='30' r='6'/>"," <circle class='cls-2' cx='30' cy='30' r='6'/>"," <circle class='cls-2' cx='30' cy='54' r='6'/>"," <path class='cls-1' d='M30,72a6,6,0,0,0-6,6v24a6,6,0,0,0,12,0V78A6,6,0,0,0,30,72Z'/>"," <path class='cls-1' d='M78,72a6,6,0,0,0-6,6v24a6,6,0,0,0,12,0V78A6,6,0,0,0,78,72Z'/>"," <path class='cls-1' d='M54,48a6,6,0,0,0-6,6v48a6,6,0,0,0,12,0V54A6,6,0,0,0,54,48Z'/>"," <path class='cls-1' d='M102,48a6,6,0,0,0-6,6v48a6,6,0,0,0,12,0V54A6,6,0,0,0,102,48Z'/>"," </g>","</svg>"].join("")}}},99863:function(t,e){"use strict";e.isLeftAnchor=function(t){return"left"===t.xanchor||"auto"===t.xanchor&&t.x<=1/3},e.isCenterAnchor=function(t){return"center"===t.xanchor||"auto"===t.xanchor&&t.x>1/3&&t.x<2/3},e.isRightAnchor=function(t){return"right"===t.xanchor||"auto"===t.xanchor&&t.x>=2/3},e.isTopAnchor=function(t){return"top"===t.yanchor||"auto"===t.yanchor&&t.y>=2/3},e.isMiddleAnchor=function(t){return"middle"===t.yanchor||"auto"===t.yanchor&&t.y>1/3&&t.y<2/3},e.isBottomAnchor=function(t){return"bottom"===t.yanchor||"auto"===t.yanchor&&t.y<=1/3}},26348:function(t,e,r){"use strict";var n=r(64872),i=n.mod,a=n.modHalf,o=Math.PI,s=2*o;function l(t){return Math.abs(t[1]-t[0])>s-1e-14}function u(t,e){return a(e-t,s)}function c(t,e){if(l(e))return!0;var r,n;e[0]<e[1]?(r=e[0],n=e[1]):(r=e[1],n=e[0]),(r=i(r,s))>(n=i(n,s))&&(n+=s);var a=i(t,s),o=a+s;return a>=r&&a<=n||o>=r&&o<=n}function f(t,e,r,n,i,a,u){i=i||0,a=a||0;var c,f,h,p,d,v=l([r,n]);function g(t,e){return[t*Math.cos(e)+i,a-t*Math.sin(e)]}v?(c=0,f=o,h=s):r<n?(c=r,h=n):(c=n,h=r),t<e?(p=t,d=e):(p=e,d=t);var y,m=Math.abs(h-c)<=o?0:1;function x(t,e,r){return"A"+[t,t]+" "+[0,m,r]+" "+g(t,e)}return v?y=null===p?"M"+g(d,c)+x(d,f,0)+x(d,h,0)+"Z":"M"+g(p,c)+x(p,f,0)+x(p,h,0)+"ZM"+g(d,c)+x(d,f,1)+x(d,h,1)+"Z":null===p?(y="M"+g(d,c)+x(d,h,0),u&&(y+="L0,0Z")):y="M"+g(p,c)+"L"+g(d,c)+x(d,h,0)+"L"+g(p,h)+x(p,c,1)+"Z",y}t.exports={deg2rad:function(t){return t/180*o},rad2deg:function(t){return t/o*180},angleDelta:u,angleDist:function(t,e){return Math.abs(u(t,e))},isFullCircle:l,isAngleInsideSector:c,isPtInsideSector:function(t,e,r,n){return!!c(e,n)&&(r[0]<r[1]?(i=r[0],a=r[1]):(i=r[1],a=r[0]),t>=i&&t<=a);var i,a},pathArc:function(t,e,r,n,i){return f(null,t,e,r,n,i,0)},pathSector:function(t,e,r,n,i){return f(null,t,e,r,n,i,1)},pathAnnulus:function(t,e,r,n,i,a){return f(t,e,r,n,i,a,1)}}},73627:function(t,e){"use strict";var r=Array.isArray,n=ArrayBuffer,i=DataView;function a(t){return n.isView(t)&&!(t instanceof i)}function o(t){return r(t)||a(t)}function s(t,e,r){if(o(t)){if(o(t[0])){for(var n=r,i=0;i<t.length;i++)n=e(n,t[i].length);return n}return t.length}return 0}e.isTypedArray=a,e.isArrayOrTypedArray=o,e.isArray1D=function(t){return!o(t[0])},e.ensureArray=function(t,e){return r(t)||(t=[]),t.length=e,t},e.concat=function(){var t,e,n,i,a,o,s,l,u=[],c=!0,f=0;for(n=0;n<arguments.length;n++)(o=(i=arguments[n]).length)&&(e?u.push(i):(e=i,a=o),r(i)?t=!1:(c=!1,f?t!==i.constructor&&(t=!1):t=i.constructor),f+=o);if(!f)return[];if(!u.length)return e;if(c)return e.concat.apply(e,u);if(t){for((s=new t(f)).set(e),n=0;n<u.length;n++)i=u[n],s.set(i,a),a+=i.length;return s}for(s=new Array(f),l=0;l<e.length;l++)s[l]=e[l];for(n=0;n<u.length;n++){for(i=u[n],l=0;l<i.length;l++)s[a+l]=i[l];a+=l}return s},e.maxRowLength=function(t){return s(t,Math.max,0)},e.minRowLength=function(t){return s(t,Math.min,1/0)}},95218:function(t,e,r){"use strict";var n=r(92770),i=r(50606).BADNUM,a=/^['"%,$#\s']+|[, ]|['"%,$#\s']+$/g;t.exports=function(t){return"string"==typeof t&&(t=t.replace(a,"")),n(t)?Number(t):i}},33306:function(t){"use strict";t.exports=function(t){var e=t._fullLayout;e._glcanvas&&e._glcanvas.size()&&e._glcanvas.each((function(t){t.regl&&t.regl.clear({color:!0,depth:!0})}))}},86367:function(t){"use strict";t.exports=function(t){t._responsiveChartHandler&&(window.removeEventListener("resize",t._responsiveChartHandler),delete t._responsiveChartHandler)}},96554:function(t,e,r){"use strict";var n=r(92770),i=r(84267),a=r(9012),o=r(63282),s=r(7901),l=r(37822).DESELECTDIM,u=r(65487),c=r(30587).counter,f=r(64872).modHalf,h=r(73627).isArrayOrTypedArray;function p(t,r){var n=e.valObjectMeta[r.valType];if(r.arrayOk&&h(t))return!0;if(n.validateFunction)return n.validateFunction(t,r);var i={},a=i,o={set:function(t){a=t}};return n.coerceFunction(t,o,i,r),a!==i}e.valObjectMeta={data_array:{coerceFunction:function(t,e,r){h(t)?e.set(t):void 0!==r&&e.set(r)}},enumerated:{coerceFunction:function(t,e,r,n){n.coerceNumber&&(t=+t),-1===n.values.indexOf(t)?e.set(r):e.set(t)},validateFunction:function(t,e){e.coerceNumber&&(t=+t);for(var r=e.values,n=0;n<r.length;n++){var i=String(r[n]);if("/"===i.charAt(0)&&"/"===i.charAt(i.length-1)){if(new RegExp(i.substr(1,i.length-2)).test(t))return!0}else if(t===r[n])return!0}return!1}},boolean:{coerceFunction:function(t,e,r){!0===t||!1===t?e.set(t):e.set(r)}},number:{coerceFunction:function(t,e,r,i){!n(t)||void 0!==i.min&&t<i.min||void 0!==i.max&&t>i.max?e.set(r):e.set(+t)}},integer:{coerceFunction:function(t,e,r,i){t%1||!n(t)||void 0!==i.min&&t<i.min||void 0!==i.max&&t>i.max?e.set(r):e.set(+t)}},string:{coerceFunction:function(t,e,r,n){if("string"!=typeof t){var i="number"==typeof t;!0!==n.strict&&i?e.set(String(t)):e.set(r)}else n.noBlank&&!t?e.set(r):e.set(t)}},color:{coerceFunction:function(t,e,r){i(t).isValid()?e.set(t):e.set(r)}},colorlist:{coerceFunction:function(t,e,r){Array.isArray(t)&&t.length&&t.every((function(t){return i(t).isValid()}))?e.set(t):e.set(r)}},colorscale:{coerceFunction:function(t,e,r){e.set(o.get(t,r))}},angle:{coerceFunction:function(t,e,r){"auto"===t?e.set("auto"):n(t)?e.set(f(+t,360)):e.set(r)}},subplotid:{coerceFunction:function(t,e,r,n){var i=n.regex||c(r);"string"==typeof t&&i.test(t)?e.set(t):e.set(r)},validateFunction:function(t,e){var r=e.dflt;return t===r||"string"==typeof t&&!!c(r).test(t)}},flaglist:{coerceFunction:function(t,e,r,n){if(-1===(n.extras||[]).indexOf(t))if("string"==typeof t){for(var i=t.split("+"),a=0;a<i.length;){var o=i[a];-1===n.flags.indexOf(o)||i.indexOf(o)<a?i.splice(a,1):a++}i.length?e.set(i.join("+")):e.set(r)}else e.set(r);else e.set(t)}},any:{coerceFunction:function(t,e,r){void 0===t?e.set(r):e.set(t)}},info_array:{coerceFunction:function(t,r,n,i){function a(t,r,n){var i,a={set:function(t){i=t}};return void 0===n&&(n=r.dflt),e.valObjectMeta[r.valType].coerceFunction(t,a,n,r),i}var o=2===i.dimensions||"1-2"===i.dimensions&&Array.isArray(t)&&Array.isArray(t[0]);if(Array.isArray(t)){var s,l,u,c,f,h,p=i.items,d=[],v=Array.isArray(p),g=v&&o&&Array.isArray(p[0]),y=o&&v&&!g,m=v&&!y?p.length:t.length;if(n=Array.isArray(n)?n:[],o)for(s=0;s<m;s++)for(d[s]=[],u=Array.isArray(t[s])?t[s]:[],f=y?p.length:v?p[s].length:u.length,l=0;l<f;l++)c=y?p[l]:v?p[s][l]:p,void 0!==(h=a(u[l],c,(n[s]||[])[l]))&&(d[s][l]=h);else for(s=0;s<m;s++)void 0!==(h=a(t[s],v?p[s]:p,n[s]))&&(d[s]=h);r.set(d)}else r.set(n)},validateFunction:function(t,e){if(!Array.isArray(t))return!1;var r=e.items,n=Array.isArray(r),i=2===e.dimensions;if(!e.freeLength&&t.length!==r.length)return!1;for(var a=0;a<t.length;a++)if(i){if(!Array.isArray(t[a])||!e.freeLength&&t[a].length!==r[a].length)return!1;for(var o=0;o<t[a].length;o++)if(!p(t[a][o],n?r[a][o]:r))return!1}else if(!p(t[a],n?r[a]:r))return!1;return!0}}},e.coerce=function(t,r,n,i,a){var o=u(n,i).get(),s=u(t,i),l=u(r,i),c=s.get(),f=r._template;if(void 0===c&&f&&(c=u(f,i).get(),f=0),void 0===a&&(a=o.dflt),o.arrayOk&&h(c))return l.set(c),c;var d=e.valObjectMeta[o.valType].coerceFunction;d(c,l,a,o);var v=l.get();return f&&v===a&&!p(c,o)&&(d(c=u(f,i).get(),l,a,o),v=l.get()),v},e.coerce2=function(t,r,n,i,a){var o=u(t,i),s=e.coerce(t,r,n,i,a);return null!=o.get()&&s},e.coerceFont=function(t,e,r){var n={};return r=r||{},n.family=t(e+".family",r.family),n.size=t(e+".size",r.size),n.color=t(e+".color",r.color),n},e.coercePattern=function(t,e,r,n){if(t(e+".shape")){t(e+".solidity"),t(e+".size");var i="overlay"===t(e+".fillmode");if(!n){var a=t(e+".bgcolor",i?r:void 0);t(e+".fgcolor",i?s.contrast(a):r)}t(e+".fgopacity",i?.5:1)}},e.coerceHoverinfo=function(t,r,n){var i,o=r._module.attributes,s=o.hoverinfo?o:a,l=s.hoverinfo;if(1===n._dataLength){var u="all"===l.dflt?l.flags.slice():l.dflt.split("+");u.splice(u.indexOf("name"),1),i=u.join("+")}return e.coerce(t,r,s,"hoverinfo",i)},e.coerceSelectionMarkerOpacity=function(t,e){if(t.marker){var r,n,i=t.marker.opacity;void 0!==i&&(h(i)||t.selected||t.unselected||(r=i,n=l*i),e("selected.marker.opacity",r),e("unselected.marker.opacity",n))}},e.validate=p},41631:function(t,e,r){"use strict";var n,i,a=r(84096).i$,o=r(92770),s=r(47769),l=r(64872).mod,u=r(50606),c=u.BADNUM,f=u.ONEDAY,h=u.ONEHOUR,p=u.ONEMIN,d=u.ONESEC,v=u.EPOCHJD,g=r(73972),y=r(84096).g0,m=/^\s*(-?\d\d\d\d|\d\d)(-(\d?\d)(-(\d?\d)([ Tt]([01]?\d|2[0-3])(:([0-5]\d)(:([0-5]\d(\.\d+)?))?(Z|z|[+\-]\d\d(:?\d\d)?)?)?)?)?)?\s*$/m,x=/^\s*(-?\d\d\d\d|\d\d)(-(\d?\di?)(-(\d?\d)([ Tt]([01]?\d|2[0-3])(:([0-5]\d)(:([0-5]\d(\.\d+)?))?(Z|z|[+\-]\d\d(:?\d\d)?)?)?)?)?)?\s*$/m,b=(new Date).getFullYear()-70;function _(t){return t&&g.componentsRegistry.calendars&&"string"==typeof t&&"gregorian"!==t}function w(t,e){return String(t+Math.pow(10,e)).substr(1)}e.dateTick0=function(t,r){var n=function(t,e){return _(t)?e?g.getComponentMethod("calendars","CANONICAL_SUNDAY")[t]:g.getComponentMethod("calendars","CANONICAL_TICK")[t]:e?"2000-01-02":"2000-01-01"}(t,!!r);if(r<2)return n;var i=e.dateTime2ms(n,t);return i+=f*(r-1),e.ms2DateTime(i,0,t)},e.dfltRange=function(t){return _(t)?g.getComponentMethod("calendars","DFLTRANGE")[t]:["2000-01-01","2001-01-01"]},e.isJSDate=function(t){return"object"==typeof t&&null!==t&&"function"==typeof t.getTime},e.dateTime2ms=function(t,r){if(e.isJSDate(t)){var a=t.getTimezoneOffset()*p,o=(t.getUTCMinutes()-t.getMinutes())*p+(t.getUTCSeconds()-t.getSeconds())*d+(t.getUTCMilliseconds()-t.getMilliseconds());if(o){var s=3*p;a=a-s/2+l(o-a+s/2,s)}return(t=Number(t)-a)>=n&&t<=i?t:c}if("string"!=typeof t&&"number"!=typeof t)return c;t=String(t);var u=_(r),y=t.charAt(0);!u||"G"!==y&&"g"!==y||(t=t.substr(1),r="");var w=u&&"chinese"===r.substr(0,7),T=t.match(w?x:m);if(!T)return c;var k=T[1],A=T[3]||"1",M=Number(T[5]||1),S=Number(T[7]||0),E=Number(T[9]||0),L=Number(T[11]||0);if(u){if(2===k.length)return c;var C;k=Number(k);try{var P=g.getComponentMethod("calendars","getCal")(r);if(w){var O="i"===A.charAt(A.length-1);A=parseInt(A,10),C=P.newDate(k,P.toMonthIndex(k,A,O),M)}else C=P.newDate(k,Number(A),M)}catch(t){return c}return C?(C.toJD()-v)*f+S*h+E*p+L*d:c}k=2===k.length?(Number(k)+2e3-b)%100+b:Number(k),A-=1;var I=new Date(Date.UTC(2e3,A,M,S,E));return I.setUTCFullYear(k),I.getUTCMonth()!==A||I.getUTCDate()!==M?c:I.getTime()+L*d},n=e.MIN_MS=e.dateTime2ms("-9999"),i=e.MAX_MS=e.dateTime2ms("9999-12-31 23:59:59.9999"),e.isDateTime=function(t,r){return e.dateTime2ms(t,r)!==c};var T=90*f,k=3*h,A=5*p;function M(t,e,r,n,i){if((e||r||n||i)&&(t+=" "+w(e,2)+":"+w(r,2),(n||i)&&(t+=":"+w(n,2),i))){for(var a=4;i%10==0;)a-=1,i/=10;t+="."+w(i,a)}return t}e.ms2DateTime=function(t,e,r){if("number"!=typeof t||!(t>=n&&t<=i))return c;e||(e=0);var a,o,s,u,m,x,b=Math.floor(10*l(t+.05,1)),w=Math.round(t-b/10);if(_(r)){var S=Math.floor(w/f)+v,E=Math.floor(l(t,f));try{a=g.getComponentMethod("calendars","getCal")(r).fromJD(S).formatDate("yyyy-mm-dd")}catch(t){a=y("G%Y-%m-%d")(new Date(w))}if("-"===a.charAt(0))for(;a.length<11;)a="-0"+a.substr(1);else for(;a.length<10;)a="0"+a;o=e<T?Math.floor(E/h):0,s=e<T?Math.floor(E%h/p):0,u=e<k?Math.floor(E%p/d):0,m=e<A?E%d*10+b:0}else x=new Date(w),a=y("%Y-%m-%d")(x),o=e<T?x.getUTCHours():0,s=e<T?x.getUTCMinutes():0,u=e<k?x.getUTCSeconds():0,m=e<A?10*x.getUTCMilliseconds()+b:0;return M(a,o,s,u,m)},e.ms2DateTimeLocal=function(t){if(!(t>=n+f&&t<=i-f))return c;var e=Math.floor(10*l(t+.05,1)),r=new Date(Math.round(t-e/10));return M(a("%Y-%m-%d")(r),r.getHours(),r.getMinutes(),r.getSeconds(),10*r.getUTCMilliseconds()+e)},e.cleanDate=function(t,r,n){if(t===c)return r;if(e.isJSDate(t)||"number"==typeof t&&isFinite(t)){if(_(n))return s.error("JS Dates and milliseconds are incompatible with world calendars",t),r;if(!(t=e.ms2DateTimeLocal(+t))&&void 0!==r)return r}else if(!e.isDateTime(t,n))return s.error("unrecognized date",t),r;return t};var S=/%\d?f/g,E=/%h/g,L={1:"1",2:"1",3:"2",4:"2"};function C(t,e,r,n){t=t.replace(S,(function(t){var r=Math.min(+t.charAt(1)||6,6);return(e/1e3%1+2).toFixed(r).substr(2).replace(/0+$/,"")||"0"}));var i=new Date(Math.floor(e+.05));if(t=t.replace(E,(function(){return L[r("%q")(i)]})),_(n))try{t=g.getComponentMethod("calendars","worldCalFmt")(t,e,n)}catch(t){return"Invalid"}return r(t)(i)}var P=[59,59.9,59.99,59.999,59.9999];e.formatDate=function(t,e,r,n,i,a){if(i=_(i)&&i,!e)if("y"===r)e=a.year;else if("m"===r)e=a.month;else{if("d"!==r)return function(t,e){var r=l(t+.05,f),n=w(Math.floor(r/h),2)+":"+w(l(Math.floor(r/p),60),2);if("M"!==e){o(e)||(e=0);var i=(100+Math.min(l(t/d,60),P[e])).toFixed(e).substr(1);e>0&&(i=i.replace(/0+$/,"").replace(/[\.]$/,"")),n+=":"+i}return n}(t,r)+"\n"+C(a.dayMonthYear,t,n,i);e=a.dayMonth+"\n"+a.year}return C(e,t,n,i)};var O=3*f;e.incrementMonth=function(t,e,r){r=_(r)&&r;var n=l(t,f);if(t=Math.round(t-n),r)try{var i=Math.round(t/f)+v,a=g.getComponentMethod("calendars","getCal")(r),o=a.fromJD(i);return e%12?a.add(o,e,"m"):a.add(o,e/12,"y"),(o.toJD()-v)*f+n}catch(e){s.error("invalid ms "+t+" in calendar "+r)}var u=new Date(t+O);return u.setUTCMonth(u.getUTCMonth()+e)+n-O},e.findExactDates=function(t,e){for(var r,n,i=0,a=0,s=0,l=0,u=_(e)&&g.getComponentMethod("calendars","getCal")(e),c=0;c<t.length;c++)if(n=t[c],o(n)){if(!(n%f))if(u)try{1===(r=u.fromJD(n/f+v)).day()?1===r.month()?i++:a++:s++}catch(t){}else 1===(r=new Date(n)).getUTCDate()?0===r.getUTCMonth()?i++:a++:s++}else l++;s+=a+=i;var h=t.length-l;return{exactYears:i/h,exactMonths:a/h,exactDays:s/h}}},24401:function(t,e,r){"use strict";var n=r(39898),i=r(47769),a=r(35657),o=r(79576);function s(t){var e=t&&t.parentNode;e&&e.removeChild(t)}function l(t,e,r){var n="plotly.js-style-"+t,a=document.getElementById(n);a||((a=document.createElement("style")).setAttribute("id",n),a.appendChild(document.createTextNode("")),document.head.appendChild(a));var o=a.sheet;o.insertRule?o.insertRule(e+"{"+r+"}",0):o.addRule?o.addRule(e,r,0):i.warn("addStyleRule failed")}function u(t){var e=window.getComputedStyle(t,null),r=e.getPropertyValue("-webkit-transform")||e.getPropertyValue("-moz-transform")||e.getPropertyValue("-ms-transform")||e.getPropertyValue("-o-transform")||e.getPropertyValue("transform");return"none"===r?null:r.replace("matrix","").replace("3d","").slice(1,-1).split(",").map((function(t){return+t}))}function c(t){for(var e=[];f(t);)e.push(t),t=t.parentNode;return e}function f(t){return t&&(t instanceof Element||t instanceof HTMLElement)}t.exports={getGraphDiv:function(t){var e;if("string"==typeof t){if(null===(e=document.getElementById(t)))throw new Error("No DOM element with id '"+t+"' exists on the page.");return e}if(null==t)throw new Error("DOM element provided is null or undefined");return t},isPlotDiv:function(t){var e=n.select(t);return e.node()instanceof HTMLElement&&e.size()&&e.classed("js-plotly-plot")},removeElement:s,addStyleRule:function(t,e){l("global",t,e)},addRelatedStyleRule:l,deleteRelatedStyleRule:function(t){var e="plotly.js-style-"+t,r=document.getElementById(e);r&&s(r)},getFullTransformMatrix:function(t){var e=c(t),r=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];return e.forEach((function(t){var e=u(t);if(e){var n=a.convertCssMatrix(e);r=o.multiply(r,r,n)}})),r},getElementTransformMatrix:u,getElementAndAncestors:c,equalDomRects:function(t,e){return t&&e&&t.x===e.x&&t.y===e.y&&t.top===e.top&&t.left===e.left&&t.right===e.right&&t.bottom===e.bottom}}},11086:function(t,e,r){"use strict";var n=r(15398).EventEmitter,i={init:function(t){if(t._ev instanceof n)return t;var e=new n,r=new n;return t._ev=e,t._internalEv=r,t.on=e.on.bind(e),t.once=e.once.bind(e),t.removeListener=e.removeListener.bind(e),t.removeAllListeners=e.removeAllListeners.bind(e),t._internalOn=r.on.bind(r),t._internalOnce=r.once.bind(r),t._removeInternalListener=r.removeListener.bind(r),t._removeAllInternalListeners=r.removeAllListeners.bind(r),t.emit=function(n,i){"undefined"!=typeof jQuery&&jQuery(t).trigger(n,i),e.emit(n,i),r.emit(n,i)},t},triggerHandler:function(t,e,r){var n,i;"undefined"!=typeof jQuery&&(n=jQuery(t).triggerHandler(e,r));var a=t._ev;if(!a)return n;var o,s=a._events[e];if(!s)return n;function l(t){return t.listener?(a.removeListener(e,t.listener),t.fired?void 0:(t.fired=!0,t.listener.apply(a,[r]))):t.apply(a,[r])}for(s=Array.isArray(s)?s:[s],o=0;o<s.length-1;o++)l(s[o]);return i=l(s[o]),void 0!==n?n:i},purge:function(t){return delete t._ev,delete t.on,delete t.once,delete t.removeListener,delete t.removeAllListeners,delete t.emit,delete t._ev,delete t._internalEv,delete t._internalOn,delete t._internalOnce,delete t._removeInternalListener,delete t._removeAllInternalListeners,t}};t.exports=i},1426:function(t,e,r){"use strict";var n=r(41965),i=Array.isArray;function a(t,e,r,o){var s,l,u,c,f,h,p,d=t[0],v=t.length;if(2===v&&i(d)&&i(t[1])&&0===d.length){if(p=function(t,e){var r,n;for(r=0;r<t.length;r++){if(null!==(n=t[r])&&"object"==typeof n)return!1;void 0!==n&&(e[r]=n)}return!0}(t[1],d),p)return d;d.splice(0,d.length)}for(var g=1;g<v;g++)for(l in s=t[g])u=d[l],c=s[l],o&&i(c)?d[l]=c:e&&c&&(n(c)||(f=i(c)))?(f?(f=!1,h=u&&i(u)?u:[]):h=u&&n(u)?u:{},d[l]=a([h,c],e,r,o)):(void 0!==c||r)&&(d[l]=c);return d}e.extendFlat=function(){return a(arguments,!1,!1,!1)},e.extendDeep=function(){return a(arguments,!0,!1,!1)},e.extendDeepAll=function(){return a(arguments,!0,!0,!1)},e.extendDeepNoArrays=function(){return a(arguments,!0,!1,!0)}},75744:function(t){"use strict";t.exports=function(t){for(var e={},r=[],n=0,i=0;i<t.length;i++){var a=t[i];1!==e[a]&&(e[a]=1,r[n++]=a)}return r}},76756:function(t){"use strict";function e(t){return!0===t.visible}function r(t){var e=t[0].trace;return!0===e.visible&&0!==e._length}t.exports=function(t){for(var n,i=(n=t,Array.isArray(n)&&Array.isArray(n[0])&&n[0][0]&&n[0][0].trace?r:e),a=[],o=0;o<t.length;o++){var s=t[o];i(s)&&a.push(s)}return a}},41327:function(t,e,r){"use strict";var n=r(39898),i=r(24138),a=r(30774),o=r(29261),s=r(85268),l=r(23389),u=r(47769),c=r(41965),f=r(65487),h=r(61082),p=Object.keys(i),d={"ISO-3":l,"USA-states":l,"country names":function(t){for(var e=0;e<p.length;e++){var r=p[e];if(new RegExp(i[r]).test(t.trim().toLowerCase()))return r}return u.log("Unrecognized country name: "+t+"."),!1}};function v(t){var e=t.geojson,r=window.PlotlyGeoAssets||{},n="string"==typeof e?r[e]:e;return c(n)?n:(u.error("Oops ... something went wrong when fetching "+e),!1)}t.exports={locationToFeature:function(t,e,r){if(!e||"string"!=typeof e)return!1;var n,i,a,o=d[t](e);if(o){if("USA-states"===t)for(n=[],a=0;a<r.length;a++)(i=r[a]).properties&&i.properties.gu&&"USA"===i.properties.gu&&n.push(i);else n=r;for(a=0;a<n.length;a++)if((i=n[a]).id===o)return i;u.log(["Location with id",o,"does not have a matching topojson feature at this resolution."].join(" "))}return!1},feature2polygons:function(t){var e,r,n,i,a=t.geometry,o=a.coordinates,s=t.id,l=[];function u(t){for(var e=0;e<t.length-1;e++)if(t[e][0]>0&&t[e+1][0]<0)return e;return null}switch(e="RUS"===s||"FJI"===s?function(t){var e;if(null===u(t))e=t;else for(e=new Array(t.length),i=0;i<t.length;i++)e[i]=[t[i][0]<0?t[i][0]+360:t[i][0],t[i][1]];l.push(h.tester(e))}:"ATA"===s?function(t){var e=u(t);if(null===e)return l.push(h.tester(t));var r=new Array(t.length+1),n=0;for(i=0;i<t.length;i++)i>e?r[n++]=[t[i][0]+360,t[i][1]]:i===e?(r[n++]=t[i],r[n++]=[t[i][0],-90]):r[n++]=t[i];var a=h.tester(r);a.pts.pop(),l.push(a)}:function(t){l.push(h.tester(t))},a.type){case"MultiPolygon":for(r=0;r<o.length;r++)for(n=0;n<o[r].length;n++)e(o[r][n]);break;case"Polygon":for(r=0;r<o.length;r++)e(o[r])}return l},getTraceGeojson:v,extractTraceFeature:function(t){var e=t[0].trace,r=v(e);if(!r)return!1;var n,i={},s=[];for(n=0;n<e._length;n++){var l=t[n];(l.loc||0===l.loc)&&(i[l.loc]=l)}function c(t){var r=f(t,e.featureidkey||"id").get(),n=i[r];if(n){var l=t.geometry;if("Polygon"===l.type||"MultiPolygon"===l.type){var c={type:"Feature",id:r,geometry:l,properties:{}};c.properties.ct=function(t){var e,r=t.geometry;if("MultiPolygon"===r.type)for(var n=r.coordinates,i=0,s=0;s<n.length;s++){var l={type:"Polygon",coordinates:n[s]},u=a.default(l);u>i&&(i=u,e=l)}else e=r;return o.default(e).geometry.coordinates}(c),n.fIn=t,n.fOut=c,s.push(c)}else u.log(["Location",n.loc,"does not have a valid GeoJSON geometry.","Traces with locationmode *geojson-id* only support","*Polygon* and *MultiPolygon* geometries."].join(" "))}delete i[r]}switch(r.type){case"FeatureCollection":var h=r.features;for(n=0;n<h.length;n++)c(h[n]);break;case"Feature":c(r);break;default:return u.warn(["Invalid GeoJSON type",(r.type||"none")+".","Traces with locationmode *geojson-id* only support","*FeatureCollection* and *Feature* types."].join(" ")),!1}for(var p in i)u.log(["Location *"+p+"*","does not have a matching feature with id-key","*"+e.featureidkey+"*."].join(" "));return s},fetchTraceGeoData:function(t){var e=window.PlotlyGeoAssets||{},r=[];function i(t){return new Promise((function(r,i){n.json(t,(function(n,a){if(n){delete e[t];var o=404===n.status?'GeoJSON at URL "'+t+'" does not exist.':"Unexpected error while fetching from "+t;return i(new Error(o))}return e[t]=a,r(a)}))}))}function a(t){return new Promise((function(r,n){var i=0,a=setInterval((function(){return e[t]&&"pending"!==e[t]?(clearInterval(a),r(e[t])):i>100?(clearInterval(a),n("Unexpected error while fetching from "+t)):void i++}),50)}))}for(var o=0;o<t.length;o++){var s=t[o][0].trace.geojson;"string"==typeof s&&(e[s]?"pending"===e[s]&&r.push(a(s)):(e[s]="pending",r.push(i(s))))}return r},computeBbox:function(t){return s.default(t)}}},18214:function(t,e,r){"use strict";var n=r(50606).BADNUM;e.calcTraceToLineCoords=function(t){for(var e=t[0].trace.connectgaps,r=[],i=[],a=0;a<t.length;a++){var o=t[a].lonlat;o[0]!==n?i.push(o):!e&&i.length>0&&(r.push(i),i=[])}return i.length>0&&r.push(i),r},e.makeLine=function(t){return 1===t.length?{type:"LineString",coordinates:t[0]}:{type:"MultiLineString",coordinates:t}},e.makePolygon=function(t){if(1===t.length)return{type:"Polygon",coordinates:t};for(var e=new Array(t.length),r=0;r<t.length;r++)e[r]=[t[r]];return{type:"MultiPolygon",coordinates:e}},e.makeBlank=function(){return{type:"Point",coordinates:[]}}},87642:function(t,e,r){"use strict";var n,i,a,o=r(64872).mod;function s(t,e,r,n,i,a,o,s){var l=r-t,u=i-t,c=o-i,f=n-e,h=a-e,p=s-a,d=l*p-c*f;if(0===d)return null;var v=(u*p-c*h)/d,g=(u*f-l*h)/d;return g<0||g>1||v<0||v>1?null:{x:t+l*v,y:e+f*v}}function l(t,e,r,n,i){var a=n*t+i*e;if(a<0)return n*n+i*i;if(a>r){var o=n-t,s=i-e;return o*o+s*s}var l=n*e-i*t;return l*l/r}e.segmentsIntersect=s,e.segmentDistance=function(t,e,r,n,i,a,o,u){if(s(t,e,r,n,i,a,o,u))return 0;var c=r-t,f=n-e,h=o-i,p=u-a,d=c*c+f*f,v=h*h+p*p,g=Math.min(l(c,f,d,i-t,a-e),l(c,f,d,o-t,u-e),l(h,p,v,t-i,e-a),l(h,p,v,r-i,n-a));return Math.sqrt(g)},e.getTextLocation=function(t,e,r,s){if(t===i&&s===a||(n={},i=t,a=s),n[r])return n[r];var l=t.getPointAtLength(o(r-s/2,e)),u=t.getPointAtLength(o(r+s/2,e)),c=Math.atan((u.y-l.y)/(u.x-l.x)),f=t.getPointAtLength(o(r,e)),h={x:(4*f.x+l.x+u.x)/6,y:(4*f.y+l.y+u.y)/6,theta:c};return n[r]=h,h},e.clearLocationCache=function(){i=null},e.getVisibleSegment=function(t,e,r){var n,i,a=e.left,o=e.right,s=e.top,l=e.bottom,u=0,c=t.getTotalLength(),f=c;function h(e){var r=t.getPointAtLength(e);0===e?n=r:e===c&&(i=r);var u=r.x<a?a-r.x:r.x>o?r.x-o:0,f=r.y<s?s-r.y:r.y>l?r.y-l:0;return Math.sqrt(u*u+f*f)}for(var p=h(u);p;){if((u+=p+r)>f)return;p=h(u)}for(p=h(f);p;){if(u>(f-=p+r))return;p=h(f)}return{min:u,max:f,len:f-u,total:c,isClosed:0===u&&f===c&&Math.abs(n.x-i.x)<.1&&Math.abs(n.y-i.y)<.1}},e.findPointOnPath=function(t,e,r,n){for(var i,a,o,s=(n=n||{}).pathLength||t.getTotalLength(),l=n.tolerance||.001,u=n.iterationLimit||30,c=t.getPointAtLength(0)[r]>t.getPointAtLength(s)[r]?-1:1,f=0,h=0,p=s;f<u;){if(i=(h+p)/2,o=(a=t.getPointAtLength(i))[r]-e,Math.abs(o)<l)return a;c*o>0?p=i:h=i,f++}return a}},81697:function(t,e,r){"use strict";var n=r(92770),i=r(84267),a=r(25075),o=r(21081),s=r(22399).defaultLine,l=r(73627).isArrayOrTypedArray,u=a(s);function c(t,e){var r=t;return r[3]*=e,r}function f(t){if(n(t))return u;var e=a(t);return e.length?e:u}function h(t){return n(t)?t:1}t.exports={formatColor:function(t,e,r){var n,i,s,p,d,v=t.color,g=l(v),y=l(e),m=o.extractOpts(t),x=[];if(n=void 0!==m.colorscale?o.makeColorScaleFuncFromTrace(t):f,i=g?function(t,e){return void 0===t[e]?u:a(n(t[e]))}:f,s=y?function(t,e){return void 0===t[e]?1:h(t[e])}:h,g||y)for(var b=0;b<r;b++)p=i(v,b),d=s(e,b),x[b]=c(p,d);else x=c(a(v),e);return x},parseColorScale:function(t){var e=o.extractOpts(t),r=e.colorscale;return e.reversescale&&(r=o.flipScale(e.colorscale)),r.map((function(t){var e=t[0],r=i(t[1]).toRgb();return{index:e,rgb:[r.r,r.g,r.b,r.a]}}))}}},28984:function(t,e,r){"use strict";var n=r(23389);function i(t){return[t]}t.exports={keyFun:function(t){return t.key},repeat:i,descend:n,wrap:i,unwrap:function(t){return t[0]}}},23389:function(t){"use strict";t.exports=function(t){return t}},39240:function(t){"use strict";t.exports=function(t,e){if(!e)return t;var r=1/Math.abs(e),n=r>1?(r*t+r*e)/r:t+e,i=String(n).length;if(i>16){var a=String(e).length;if(i>=String(t).length+a){var o=parseFloat(n).toPrecision(12);-1===o.indexOf("e+")&&(n=+o)}}return n}},71828:function(t,e,r){"use strict";var n=r(39898),i=r(84096).g0,a=r(60721).WU,o=r(92770),s=r(50606),l=s.FP_SAFE,u=-l,c=s.BADNUM,f=t.exports={};f.adjustFormat=function(t){return!t||/^\d[.]\df/.test(t)||/[.]\d%/.test(t)?t:"0.f"===t?"~f":/^\d%/.test(t)?"~%":/^\ds/.test(t)?"~s":!/^[~,.0$]/.test(t)&&/[&fps]/.test(t)?"~"+t:t};var h={};f.warnBadFormat=function(t){var e=String(t);h[e]||(h[e]=1,f.warn('encountered bad format: "'+e+'"'))},f.noFormat=function(t){return String(t)},f.numberFormat=function(t){var e;try{e=a(f.adjustFormat(t))}catch(e){return f.warnBadFormat(t),f.noFormat}return e},f.nestedProperty=r(65487),f.keyedContainer=r(66636),f.relativeAttr=r(6962),f.isPlainObject=r(41965),f.toLogRange=r(58163),f.relinkPrivateKeys=r(51332);var p=r(73627);f.isTypedArray=p.isTypedArray,f.isArrayOrTypedArray=p.isArrayOrTypedArray,f.isArray1D=p.isArray1D,f.ensureArray=p.ensureArray,f.concat=p.concat,f.maxRowLength=p.maxRowLength,f.minRowLength=p.minRowLength;var d=r(64872);f.mod=d.mod,f.modHalf=d.modHalf;var v=r(96554);f.valObjectMeta=v.valObjectMeta,f.coerce=v.coerce,f.coerce2=v.coerce2,f.coerceFont=v.coerceFont,f.coercePattern=v.coercePattern,f.coerceHoverinfo=v.coerceHoverinfo,f.coerceSelectionMarkerOpacity=v.coerceSelectionMarkerOpacity,f.validate=v.validate;var g=r(41631);f.dateTime2ms=g.dateTime2ms,f.isDateTime=g.isDateTime,f.ms2DateTime=g.ms2DateTime,f.ms2DateTimeLocal=g.ms2DateTimeLocal,f.cleanDate=g.cleanDate,f.isJSDate=g.isJSDate,f.formatDate=g.formatDate,f.incrementMonth=g.incrementMonth,f.dateTick0=g.dateTick0,f.dfltRange=g.dfltRange,f.findExactDates=g.findExactDates,f.MIN_MS=g.MIN_MS,f.MAX_MS=g.MAX_MS;var y=r(65888);f.findBin=y.findBin,f.sorterAsc=y.sorterAsc,f.sorterDes=y.sorterDes,f.distinctVals=y.distinctVals,f.roundUp=y.roundUp,f.sort=y.sort,f.findIndexOfMin=y.findIndexOfMin,f.sortObjectKeys=r(78607);var m=r(80038);f.aggNums=m.aggNums,f.len=m.len,f.mean=m.mean,f.median=m.median,f.midRange=m.midRange,f.variance=m.variance,f.stdev=m.stdev,f.interp=m.interp;var x=r(35657);f.init2dArray=x.init2dArray,f.transposeRagged=x.transposeRagged,f.dot=x.dot,f.translationMatrix=x.translationMatrix,f.rotationMatrix=x.rotationMatrix,f.rotationXYMatrix=x.rotationXYMatrix,f.apply3DTransform=x.apply3DTransform,f.apply2DTransform=x.apply2DTransform,f.apply2DTransform2=x.apply2DTransform2,f.convertCssMatrix=x.convertCssMatrix,f.inverseTransformMatrix=x.inverseTransformMatrix;var b=r(26348);f.deg2rad=b.deg2rad,f.rad2deg=b.rad2deg,f.angleDelta=b.angleDelta,f.angleDist=b.angleDist,f.isFullCircle=b.isFullCircle,f.isAngleInsideSector=b.isAngleInsideSector,f.isPtInsideSector=b.isPtInsideSector,f.pathArc=b.pathArc,f.pathSector=b.pathSector,f.pathAnnulus=b.pathAnnulus;var _=r(99863);f.isLeftAnchor=_.isLeftAnchor,f.isCenterAnchor=_.isCenterAnchor,f.isRightAnchor=_.isRightAnchor,f.isTopAnchor=_.isTopAnchor,f.isMiddleAnchor=_.isMiddleAnchor,f.isBottomAnchor=_.isBottomAnchor;var w=r(87642);f.segmentsIntersect=w.segmentsIntersect,f.segmentDistance=w.segmentDistance,f.getTextLocation=w.getTextLocation,f.clearLocationCache=w.clearLocationCache,f.getVisibleSegment=w.getVisibleSegment,f.findPointOnPath=w.findPointOnPath;var T=r(1426);f.extendFlat=T.extendFlat,f.extendDeep=T.extendDeep,f.extendDeepAll=T.extendDeepAll,f.extendDeepNoArrays=T.extendDeepNoArrays;var k=r(47769);f.log=k.log,f.warn=k.warn,f.error=k.error;var A=r(30587);f.counterRegex=A.counter;var M=r(79990);f.throttle=M.throttle,f.throttleDone=M.done,f.clearThrottle=M.clear;var S=r(24401);function E(t){var e={};for(var r in t)for(var n=t[r],i=0;i<n.length;i++)e[n[i]]=+r;return e}f.getGraphDiv=S.getGraphDiv,f.isPlotDiv=S.isPlotDiv,f.removeElement=S.removeElement,f.addStyleRule=S.addStyleRule,f.addRelatedStyleRule=S.addRelatedStyleRule,f.deleteRelatedStyleRule=S.deleteRelatedStyleRule,f.getFullTransformMatrix=S.getFullTransformMatrix,f.getElementTransformMatrix=S.getElementTransformMatrix,f.getElementAndAncestors=S.getElementAndAncestors,f.equalDomRects=S.equalDomRects,f.clearResponsive=r(86367),f.preserveDrawingBuffer=r(45142),f.makeTraceGroups=r(77310),f._=r(15867),f.notifier=r(75046),f.filterUnique=r(75744),f.filterVisible=r(76756),f.pushUnique=r(75138),f.increment=r(39240),f.cleanNumber=r(95218),f.ensureNumber=function(t){return o(t)?(t=Number(t))>l||t<u?c:t:c},f.isIndex=function(t,e){return!(void 0!==e&&t>=e)&&o(t)&&t>=0&&t%1==0},f.noop=r(64213),f.identity=r(23389),f.repeat=function(t,e){for(var r=new Array(e),n=0;n<e;n++)r[n]=t;return r},f.swapAttrs=function(t,e,r,n){r||(r="x"),n||(n="y");for(var i=0;i<e.length;i++){var a=e[i],o=f.nestedProperty(t,a.replace("?",r)),s=f.nestedProperty(t,a.replace("?",n)),l=o.get();o.set(s.get()),s.set(l)}},f.raiseToTop=function(t){t.parentNode.appendChild(t)},f.cancelTransition=function(t){return t.transition().duration(0)},f.constrain=function(t,e,r){return e>r?Math.max(r,Math.min(e,t)):Math.max(e,Math.min(r,t))},f.bBoxIntersect=function(t,e,r){return r=r||0,t.left<=e.right+r&&e.left<=t.right+r&&t.top<=e.bottom+r&&e.top<=t.bottom+r},f.simpleMap=function(t,e,r,n,i){for(var a=t.length,o=new Array(a),s=0;s<a;s++)o[s]=e(t[s],r,n,i);return o},f.randstr=function t(e,r,n,i){if(n||(n=16),void 0===r&&(r=24),r<=0)return"0";var a,o,s=Math.log(Math.pow(2,r))/Math.log(n),l="";for(a=2;s===1/0;a*=2)s=Math.log(Math.pow(2,r/a))/Math.log(n)*a;var u=s-Math.floor(s);for(a=0;a<Math.floor(s);a++)l=Math.floor(Math.random()*n).toString(n)+l;u&&(o=Math.pow(n,u),l=Math.floor(Math.random()*o).toString(n)+l);var c=parseInt(l,n);return e&&e[l]||c!==1/0&&c>=Math.pow(2,r)?i>10?(f.warn("randstr failed uniqueness"),l):t(e,r,n,(i||0)+1):l},f.OptionControl=function(t,e){t||(t={}),e||(e="opt");var r={optionList:[],_newoption:function(n){n[e]=t,r[n.name]=n,r.optionList.push(n)}};return r["_"+e]=t,r},f.smooth=function(t,e){if((e=Math.round(e)||0)<2)return t;var r,n,i,a,o=t.length,s=2*o,l=2*e-1,u=new Array(l),c=new Array(o);for(r=0;r<l;r++)u[r]=(1-Math.cos(Math.PI*(r+1)/e))/(2*e);for(r=0;r<o;r++){for(a=0,n=0;n<l;n++)(i=r+n+1-e)<-o?i-=s*Math.round(i/s):i>=s&&(i-=s*Math.floor(i/s)),i<0?i=-1-i:i>=o&&(i=s-1-i),a+=t[i]*u[n];c[r]=a}return c},f.syncOrAsync=function(t,e,r){var n;function i(){return f.syncOrAsync(t,e,r)}for(;t.length;)if((n=(0,t.splice(0,1)[0])(e))&&n.then)return n.then(i);return r&&r(e)},f.stripTrailingSlash=function(t){return"/"===t.substr(-1)?t.substr(0,t.length-1):t},f.noneOrAll=function(t,e,r){if(t){var n,i=!1,a=!0;for(n=0;n<r.length;n++)null!=t[r[n]]?i=!0:a=!1;if(i&&!a)for(n=0;n<r.length;n++)t[r[n]]=e[r[n]]}},f.mergeArray=function(t,e,r,n){var i="function"==typeof n;if(f.isArrayOrTypedArray(t))for(var a=Math.min(t.length,e.length),o=0;o<a;o++){var s=t[o];e[o][r]=i?n(s):s}},f.mergeArrayCastPositive=function(t,e,r){return f.mergeArray(t,e,r,(function(t){var e=+t;return isFinite(e)&&e>0?e:0}))},f.fillArray=function(t,e,r,n){if(n=n||f.identity,f.isArrayOrTypedArray(t))for(var i=0;i<e.length;i++)e[i][r]=n(t[i])},f.castOption=function(t,e,r,n){n=n||f.identity;var i=f.nestedProperty(t,r).get();return f.isArrayOrTypedArray(i)?Array.isArray(e)&&f.isArrayOrTypedArray(i[e[0]])?n(i[e[0]][e[1]]):n(i[e]):i},f.extractOption=function(t,e,r,n){if(r in t)return t[r];var i=f.nestedProperty(e,n).get();return Array.isArray(i)?void 0:i},f.tagSelected=function(t,e,r){var n,i,a=e.selectedpoints,o=e._indexToPoints;o&&(n=E(o));for(var s=0;s<a.length;s++){var l=a[s];if(f.isIndex(l)||f.isArrayOrTypedArray(l)&&f.isIndex(l[0])&&f.isIndex(l[1])){var u=n?n[l]:l,c=r?r[u]:u;void 0!==(i=c)&&i<t.length&&(t[c].selected=1)}}},f.selIndices2selPoints=function(t){var e=t.selectedpoints,r=t._indexToPoints;if(r){for(var n=E(r),i=[],a=0;a<e.length;a++){var o=e[a];if(f.isIndex(o)){var s=n[o];f.isIndex(s)&&i.push(s)}}return i}return e},f.getTargetArray=function(t,e){var r=e.target;if("string"==typeof r&&r){var n=f.nestedProperty(t,r).get();return!!Array.isArray(n)&&n}return!!Array.isArray(r)&&r},f.minExtend=function(t,e){var r={};"object"!=typeof e&&(e={});var n,i,a,o=Object.keys(t);for(n=0;n<o.length;n++)a=t[i=o[n]],"_"!==i.charAt(0)&&"function"!=typeof a&&("module"===i?r[i]=a:Array.isArray(a)?r[i]="colorscale"===i?a.slice():a.slice(0,3):f.isTypedArray(a)?r[i]=a.subarray(0,3):r[i]=a&&"object"==typeof a?f.minExtend(t[i],e[i]):a);for(o=Object.keys(e),n=0;n<o.length;n++)"object"==typeof(a=e[i=o[n]])&&i in r&&"object"==typeof r[i]||(r[i]=a);return r},f.titleCase=function(t){return t.charAt(0).toUpperCase()+t.substr(1)},f.containsAny=function(t,e){for(var r=0;r<e.length;r++)if(-1!==t.indexOf(e[r]))return!0;return!1},f.isIE=function(){return void 0!==window.navigator.msSaveBlob};var L=/Version\/[\d\.]+.*Safari/;f.isSafari=function(){return L.test(window.navigator.userAgent)};var C=/iPad|iPhone|iPod/;f.isIOS=function(){return C.test(window.navigator.userAgent)};var P=/Firefox\/(\d+)\.\d+/;f.getFirefoxVersion=function(){var t=P.exec(window.navigator.userAgent);if(t&&2===t.length){var e=parseInt(t[1]);if(!isNaN(e))return e}return null},f.isD3Selection=function(t){return t instanceof n.selection},f.ensureSingle=function(t,e,r,n){var i=t.select(e+(r?"."+r:""));if(i.size())return i;var a=t.append(e);return r&&a.classed(r,!0),n&&a.call(n),a},f.ensureSingleById=function(t,e,r,n){var i=t.select(e+"#"+r);if(i.size())return i;var a=t.append(e).attr("id",r);return n&&a.call(n),a},f.objectFromPath=function(t,e){for(var r,n=t.split("."),i=r={},a=0;a<n.length;a++){var o=n[a],s=null,l=n[a].match(/(.*)\[([0-9]+)\]/);l?(o=l[1],s=l[2],r=r[o]=[],a===n.length-1?r[s]=e:r[s]={},r=r[s]):(a===n.length-1?r[o]=e:r[o]={},r=r[o])}return i};var O=/^([^\[\.]+)\.(.+)?/,I=/^([^\.]+)\[([0-9]+)\](\.)?(.+)?/;f.expandObjectPaths=function(t){var e,r,n,i,a,o,s;if("object"==typeof t&&!Array.isArray(t))for(r in t)t.hasOwnProperty(r)&&((e=r.match(O))?(i=t[r],n=e[1],delete t[r],t[n]=f.extendDeepNoArrays(t[n]||{},f.objectFromPath(r,f.expandObjectPaths(i))[n])):(e=r.match(I))?(i=t[r],n=e[1],a=parseInt(e[2]),delete t[r],t[n]=t[n]||[],"."===e[3]?(s=e[4],o=t[n][a]=t[n][a]||{},f.extendDeepNoArrays(o,f.objectFromPath(s,f.expandObjectPaths(i)))):t[n][a]=f.expandObjectPaths(i)):t[r]=f.expandObjectPaths(t[r]));return t},f.numSeparate=function(t,e,r){if(r||(r=!1),"string"!=typeof e||0===e.length)throw new Error("Separator string required for formatting!");"number"==typeof t&&(t=String(t));var n=/(\d+)(\d{3})/,i=e.charAt(0),a=e.charAt(1),o=t.split("."),s=o[0],l=o.length>1?i+o[1]:"";if(a&&(o.length>1||s.length>4||r))for(;n.test(s);)s=s.replace(n,"$1"+a+"$2");return s+l},f.TEMPLATE_STRING_REGEX=/%{([^\s%{}:]*)([:|\|][^}]*)?}/g;var D=/^\w*$/;f.templateString=function(t,e){var r={};return t.replace(f.TEMPLATE_STRING_REGEX,(function(t,n){var i;return D.test(n)?i=e[n]:(r[n]=r[n]||f.nestedProperty(e,n).get,i=r[n]()),f.isValidTextValue(i)?i:""}))};var z={max:10,count:0,name:"hovertemplate"};f.hovertemplateString=function(){return B.apply(z,arguments)};var R={max:10,count:0,name:"texttemplate"};f.texttemplateString=function(){return B.apply(R,arguments)};var F=/^[:|\|]/;function B(t,e,r){var n=this,a=arguments;e||(e={});var o={};return t.replace(f.TEMPLATE_STRING_REGEX,(function(t,s,l){var u,c,h,p="_xother"===s||"_yother"===s,d="_xother_"===s||"_yother_"===s,v="xother_"===s||"yother_"===s,g="xother"===s||"yother"===s||p||v||d,y=s;if((p||d)&&(y=y.substring(1)),(v||d)&&(y=y.substring(0,y.length-1)),g){if(void 0===(u=e[y]))return""}else for(h=3;h<a.length;h++)if(c=a[h]){if(c.hasOwnProperty(y)){u=c[y];break}if(D.test(y)||(u=f.nestedProperty(c,y).get(),(u=o[y]||f.nestedProperty(c,y).get())&&(o[y]=u)),void 0!==u)break}if(void 0===u&&n)return n.count<n.max&&(f.warn("Variable '"+y+"' in "+n.name+" could not be found!"),u=t),n.count===n.max&&f.warn("Too many "+n.name+" warnings - additional warnings will be suppressed"),n.count++,t;if(l){var m;if(":"===l[0]&&(u=(m=r?r.numberFormat:f.numberFormat)(l.replace(F,""))(u)),"|"===l[0]){m=r?r.timeFormat:i;var x=f.dateTime2ms(u);u=f.formatDate(x,l.replace(F,""),!1,m)}}else{var b=y+"Label";e.hasOwnProperty(b)&&(u=e[b])}return g&&(u="("+u+")",(p||d)&&(u=" "+u),(v||d)&&(u+=" ")),u}))}f.subplotSort=function(t,e){for(var r=Math.min(t.length,e.length)+1,n=0,i=0,a=0;a<r;a++){var o=t.charCodeAt(a)||0,s=e.charCodeAt(a)||0,l=o>=48&&o<=57,u=s>=48&&s<=57;if(l&&(n=10*n+o-48),u&&(i=10*i+s-48),!l||!u){if(n!==i)return n-i;if(o!==s)return o-s}}return i-n};var N=2e9;f.seedPseudoRandom=function(){N=2e9},f.pseudoRandom=function(){var t=N;return N=(69069*N+1)%4294967296,Math.abs(N-t)<429496729?f.pseudoRandom():N/4294967296},f.fillText=function(t,e,r){var n=Array.isArray(r)?function(t){r.push(t)}:function(t){r.text=t},i=f.extractOption(t,e,"htx","hovertext");if(f.isValidTextValue(i))return n(i);var a=f.extractOption(t,e,"tx","text");return f.isValidTextValue(a)?n(a):void 0},f.isValidTextValue=function(t){return t||0===t},f.formatPercent=function(t,e){e=e||0;for(var r=(Math.round(100*t*Math.pow(10,e))*Math.pow(.1,e)).toFixed(e)+"%",n=0;n<e;n++)-1!==r.indexOf(".")&&(r=(r=r.replace("0%","%")).replace(".%","%"));return r},f.isHidden=function(t){var e=window.getComputedStyle(t).display;return!e||"none"===e},f.strTranslate=function(t,e){return t||e?"translate("+t+","+e+")":""},f.strRotate=function(t){return t?"rotate("+t+")":""},f.strScale=function(t){return 1!==t?"scale("+t+")":""},f.getTextTransform=function(t){var e=t.noCenter,r=t.textX,n=t.textY,i=t.targetX,a=t.targetY,o=t.anchorX||0,s=t.anchorY||0,l=t.rotate,u=t.scale;return u?u>1&&(u=1):u=0,f.strTranslate(i-u*(r+o),a-u*(n+s))+f.strScale(u)+(l?"rotate("+l+(e?"":" "+r+" "+n)+")":"")},f.setTransormAndDisplay=function(t,e){t.attr("transform",f.getTextTransform(e)),t.style("display",e.scale?null:"none")},f.ensureUniformFontSize=function(t,e){var r=f.extendFlat({},e);return r.size=Math.max(e.size,t._fullLayout.uniformtext.minsize||0),r},f.join2=function(t,e,r){var n=t.length;return n>1?t.slice(0,-1).join(e)+r+t[n-1]:t.join(e)},f.bigFont=function(t){return Math.round(1.2*t)};var j=f.getFirefoxVersion(),U=null!==j&&j<86;f.getPositionFromD3Event=function(){return U?[n.event.layerX,n.event.layerY]:[n.event.offsetX,n.event.offsetY]}},41965:function(t){"use strict";t.exports=function(t){return window&&window.process&&window.process.versions?"[object Object]"===Object.prototype.toString.call(t):"[object Object]"===Object.prototype.toString.call(t)&&Object.getPrototypeOf(t).hasOwnProperty("hasOwnProperty")}},66636:function(t,e,r){"use strict";var n=r(65487),i=/^\w*$/;t.exports=function(t,e,r,a){var o,s,l;r=r||"name",a=a||"value";var u={};e&&e.length?(l=n(t,e),s=l.get()):s=t,e=e||"";var c={};if(s)for(o=0;o<s.length;o++)c[s[o][r]]=o;var f=i.test(a),h={set:function(t,e){var i=null===e?4:0;if(!s){if(!l||4===i)return;s=[],l.set(s)}var o=c[t];if(void 0===o){if(4===i)return;i|=3,o=s.length,c[t]=o}else e!==(f?s[o][a]:n(s[o],a).get())&&(i|=2);var p=s[o]=s[o]||{};return p[r]=t,f?p[a]=e:n(p,a).set(e),null!==e&&(i&=-5),u[o]=u[o]|i,h},get:function(t){if(s){var e=c[t];return void 0===e?void 0:f?s[e][a]:n(s[e],a).get()}},rename:function(t,e){var n=c[t];return void 0===n||(u[n]=1|u[n],c[e]=n,delete c[t],s[n][r]=e),h},remove:function(t){var e=c[t];if(void 0===e)return h;var i=s[e];if(Object.keys(i).length>2)return u[e]=2|u[e],h.set(t,null);if(f){for(o=e;o<s.length;o++)u[o]=3|u[o];for(o=e;o<s.length;o++)c[s[o][r]]--;s.splice(e,1),delete c[t]}else n(i,a).set(null),u[e]=6|u[e];return h},constructUpdate:function(){for(var t,i,o={},l=Object.keys(u),c=0;c<l.length;c++)i=l[c],t=e+"["+i+"]",s[i]?(1&u[i]&&(o[t+"."+r]=s[i][r]),2&u[i]&&(o[t+"."+a]=f?4&u[i]?null:s[i][a]:4&u[i]?null:n(s[i],a).get())):o[t]=null;return o}};return h}},15867:function(t,e,r){"use strict";var n=r(73972);t.exports=function(t,e){for(var r=t._context.locale,i=0;i<2;i++){for(var a=t._context.locales,o=0;o<2;o++){var s=(a[r]||{}).dictionary;if(s){var l=s[e];if(l)return l}a=n.localeRegistry}var u=r.split("-")[0];if(u===r)break;r=u}return e}},47769:function(t,e,r){"use strict";var n=r(72075).dfltConfig,i=r(75046),a=t.exports={};a.log=function(){var t;if(n.logging>1){var e=["LOG:"];for(t=0;t<arguments.length;t++)e.push(arguments[t]);console.trace.apply(console,e)}if(n.notifyOnLogging>1){var r=[];for(t=0;t<arguments.length;t++)r.push(arguments[t]);i(r.join("<br>"),"long")}},a.warn=function(){var t;if(n.logging>0){var e=["WARN:"];for(t=0;t<arguments.length;t++)e.push(arguments[t]);console.trace.apply(console,e)}if(n.notifyOnLogging>0){var r=[];for(t=0;t<arguments.length;t++)r.push(arguments[t]);i(r.join("<br>"),"stick")}},a.error=function(){var t;if(n.logging>0){var e=["ERROR:"];for(t=0;t<arguments.length;t++)e.push(arguments[t]);console.error.apply(console,e)}if(n.notifyOnLogging>0){var r=[];for(t=0;t<arguments.length;t++)r.push(arguments[t]);i(r.join("<br>"),"stick")}}},77310:function(t,e,r){"use strict";var n=r(39898);t.exports=function(t,e,r){var i=t.selectAll("g."+r.replace(/\s/g,".")).data(e,(function(t){return t[0].trace.uid}));i.exit().remove(),i.enter().append("g").attr("class",r),i.order();var a=t.classed("rangeplot")?"nodeRangePlot3":"node3";return i.each((function(t){t[0][a]=n.select(this)})),i}},35657:function(t,e,r){"use strict";var n=r(79576);e.init2dArray=function(t,e){for(var r=new Array(t),n=0;n<t;n++)r[n]=new Array(e);return r},e.transposeRagged=function(t){var e,r,n=0,i=t.length;for(e=0;e<i;e++)n=Math.max(n,t[e].length);var a=new Array(n);for(e=0;e<n;e++)for(a[e]=new Array(i),r=0;r<i;r++)a[e][r]=t[r][e];return a},e.dot=function(t,r){if(!t.length||!r.length||t.length!==r.length)return null;var n,i,a=t.length;if(t[0].length)for(n=new Array(a),i=0;i<a;i++)n[i]=e.dot(t[i],r);else if(r[0].length){var o=e.transposeRagged(r);for(n=new Array(o.length),i=0;i<o.length;i++)n[i]=e.dot(t,o[i])}else for(n=0,i=0;i<a;i++)n+=t[i]*r[i];return n},e.translationMatrix=function(t,e){return[[1,0,t],[0,1,e],[0,0,1]]},e.rotationMatrix=function(t){var e=t*Math.PI/180;return[[Math.cos(e),-Math.sin(e),0],[Math.sin(e),Math.cos(e),0],[0,0,1]]},e.rotationXYMatrix=function(t,r,n){return e.dot(e.dot(e.translationMatrix(r,n),e.rotationMatrix(t)),e.translationMatrix(-r,-n))},e.apply3DTransform=function(t){return function(){var r=arguments,n=1===arguments.length?r[0]:[r[0],r[1],r[2]||0];return e.dot(t,[n[0],n[1],n[2],1]).slice(0,3)}},e.apply2DTransform=function(t){return function(){var r=arguments;3===r.length&&(r=r[0]);var n=1===arguments.length?r[0]:[r[0],r[1]];return e.dot(t,[n[0],n[1],1]).slice(0,2)}},e.apply2DTransform2=function(t){var r=e.apply2DTransform(t);return function(t){return r(t.slice(0,2)).concat(r(t.slice(2,4)))}},e.convertCssMatrix=function(t){if(t){var e=t.length;if(16===e)return t;if(6===e)return[t[0],t[1],0,0,t[2],t[3],0,0,0,0,1,0,t[4],t[5],0,1]}return[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]},e.inverseTransformMatrix=function(t){var e=[];return n.invert(e,t),[[e[0],e[1],e[2],e[3]],[e[4],e[5],e[6],e[7]],[e[8],e[9],e[10],e[11]],[e[12],e[13],e[14],e[15]]]}},64872:function(t){"use strict";t.exports={mod:function(t,e){var r=t%e;return r<0?r+e:r},modHalf:function(t,e){return Math.abs(t)>e/2?t-Math.round(t/e)*e:t}}},65487:function(t,e,r){"use strict";var n=r(92770),i=r(73627).isArrayOrTypedArray;function a(t,e){return function(){var r,n,o,s,l,u=t;for(s=0;s<e.length-1;s++){if(-1===(r=e[s])){for(n=!0,o=[],l=0;l<u.length;l++)o[l]=a(u[l],e.slice(s+1))(),o[l]!==o[0]&&(n=!1);return n?o[0]:o}if("number"==typeof r&&!i(u))return;if("object"!=typeof(u=u[r])||null===u)return}if("object"==typeof u&&null!==u&&null!==(o=u[e[s]]))return o}}t.exports=function(t,e){if(n(e))e=String(e);else if("string"!=typeof e||"[-1]"===e.substr(e.length-4))throw"bad property string";for(var r,i,o,s=0,u=e.split(".");s<u.length;){if(r=String(u[s]).match(/^([^\[\]]*)((\[\-?[0-9]*\])+)$/)){if(r[1])u[s]=r[1];else{if(0!==s)throw"bad property string";u.splice(0,1)}for(i=r[2].substr(1,r[2].length-2).split("]["),o=0;o<i.length;o++)s++,u.splice(s,0,Number(i[o]))}s++}return"object"!=typeof t?function(t,e,r){return{set:function(){throw"bad container"},get:function(){},astr:e,parts:r,obj:t}}(t,e,u):{set:l(t,u,e),get:a(t,u),astr:e,parts:u,obj:t}};var o=/(^|\.)args\[/;function s(t,e){return void 0===t||null===t&&!e.match(o)}function l(t,e,r){return function(n){var a,o,l=t,h="",p=[[t,h]],d=s(n,r);for(o=0;o<e.length-1;o++){if("number"==typeof(a=e[o])&&!i(l))throw"array index but container is not an array";if(-1===a){if(d=!c(l,e.slice(o+1),n,r))break;return}if(!f(l,a,e[o+1],d))break;if("object"!=typeof(l=l[a])||null===l)throw"container is not an object";h=u(h,a),p.push([l,h])}if(d){if(o===e.length-1&&(delete l[e[o]],Array.isArray(l)&&+e[o]==l.length-1))for(;l.length&&void 0===l[l.length-1];)l.pop()}else l[e[o]]=n}}function u(t,e){var r=e;return n(e)?r="["+e+"]":t&&(r="."+e),t+r}function c(t,e,r,n){var a,o=i(r),u=!0,c=r,h=n.replace("-1",0),p=!o&&s(r,h),d=e[0];for(a=0;a<t.length;a++)h=n.replace("-1",a),o&&(p=s(c=r[a%r.length],h)),p&&(u=!1),f(t,a,d,p)&&l(t[a],e,n.replace("-1",a))(c);return u}function f(t,e,r,n){if(void 0===t[e]){if(n)return!1;t[e]="number"==typeof r?[]:{}}return!0}},64213:function(t){"use strict";t.exports=function(){}},75046:function(t,e,r){"use strict";var n=r(39898),i=r(92770),a=[];t.exports=function(t,e){if(-1===a.indexOf(t)){a.push(t);var r=1e3;i(e)?r=e:"long"===e&&(r=3e3);var o=n.select("body").selectAll(".plotly-notifier").data([0]);o.enter().append("div").classed("plotly-notifier",!0),o.selectAll(".notifier-note").data(a).enter().append("div").classed("notifier-note",!0).style("opacity",0).each((function(t){var i=n.select(this);i.append("button").classed("notifier-close",!0).html("×").on("click",(function(){i.transition().call(s)}));for(var a=i.append("p"),o=t.split(/<br\s*\/?>/g),l=0;l<o.length;l++)l&&a.append("br"),a.append("span").text(o[l]);"stick"===e?i.transition().duration(350).style("opacity",1):i.transition().duration(700).style("opacity",1).transition().delay(r).call(s)}))}function s(t){t.duration(700).style("opacity",0).each("end",(function(t){var e=a.indexOf(t);-1!==e&&a.splice(e,1),n.select(this).remove()}))}}},39918:function(t,e,r){"use strict";var n=r(6964),i="data-savedcursor";t.exports=function(t,e){var r=t.attr(i);if(e){if(!r){for(var a=(t.attr("class")||"").split(" "),o=0;o<a.length;o++){var s=a[o];0===s.indexOf("cursor-")&&t.attr(i,s.substr(7)).classed(s,!1)}t.attr(i)||t.attr(i,"!!")}n(t,e)}else r&&(t.attr(i,null),"!!"===r?n(t):n(t,r))}},61082:function(t,e,r){"use strict";var n=r(35657).dot,i=r(50606).BADNUM,a=t.exports={};a.tester=function(t){var e,r=t.slice(),n=r[0][0],a=n,o=r[0][1],s=o;for(r[r.length-1][0]===r[0][0]&&r[r.length-1][1]===r[0][1]||r.push(r[0]),e=1;e<r.length;e++)n=Math.min(n,r[e][0]),a=Math.max(a,r[e][0]),o=Math.min(o,r[e][1]),s=Math.max(s,r[e][1]);var l,u=!1;5===r.length&&(r[0][0]===r[1][0]?r[2][0]===r[3][0]&&r[0][1]===r[3][1]&&r[1][1]===r[2][1]&&(u=!0,l=function(t){return t[0]===r[0][0]}):r[0][1]===r[1][1]&&r[2][1]===r[3][1]&&r[0][0]===r[3][0]&&r[1][0]===r[2][0]&&(u=!0,l=function(t){return t[1]===r[0][1]}));var c=!0,f=r[0];for(e=1;e<r.length;e++)if(f[0]!==r[e][0]||f[1]!==r[e][1]){c=!1;break}return{xmin:n,xmax:a,ymin:o,ymax:s,pts:r,contains:u?function(t,e){var r=t[0],u=t[1];return!(r===i||r<n||r>a||u===i||u<o||u>s||e&&l(t))}:function(t,e){var l=t[0],u=t[1];if(l===i||l<n||l>a||u===i||u<o||u>s)return!1;var c,f,h,p,d,v=r.length,g=r[0][0],y=r[0][1],m=0;for(c=1;c<v;c++)if(f=g,h=y,g=r[c][0],y=r[c][1],!(l<(p=Math.min(f,g))||l>Math.max(f,g)||u>Math.max(h,y)))if(u<Math.min(h,y))l!==p&&m++;else{if(u===(d=g===f?u:h+(l-f)*(y-h)/(g-f)))return 1!==c||!e;u<=d&&l!==p&&m++}return m%2==1},isRect:u,degenerate:c}},a.isSegmentBent=function(t,e,r,i){var a,o,s,l=t[e],u=[t[r][0]-l[0],t[r][1]-l[1]],c=n(u,u),f=Math.sqrt(c),h=[-u[1]/f,u[0]/f];for(a=e+1;a<r;a++)if(o=[t[a][0]-l[0],t[a][1]-l[1]],(s=n(o,u))<0||s>c||Math.abs(n(o,h))>i)return!0;return!1},a.filter=function(t,e){var r=[t[0]],n=0,i=0;function o(o){t.push(o);var s=r.length,l=n;r.splice(i+1);for(var u=l+1;u<t.length;u++)(u===t.length-1||a.isSegmentBent(t,l,u+1,e))&&(r.push(t[u]),r.length<s-2&&(n=u,i=r.length-1),l=u)}return t.length>1&&o(t.pop()),{addPt:o,raw:t,filtered:r}}},79749:function(t,e,r){"use strict";var n=r(58617),i=r(98580);t.exports=function(t,e,a){var o=t._fullLayout,s=!0;return o._glcanvas.each((function(n){if(n.regl)n.regl.preloadCachedCode(a);else if(!n.pick||o._has("parcoords")){try{n.regl=i({canvas:this,attributes:{antialias:!n.pick,preserveDrawingBuffer:!0},pixelRatio:t._context.plotGlPixelRatio||r.g.devicePixelRatio,extensions:e||[],cachedCode:a||{}})}catch(t){s=!1}n.regl||(s=!1),s&&this.addEventListener("webglcontextlost",(function(e){t&&t.emit&&t.emit("plotly_webglcontextlost",{event:e,layer:n.key})}),!1)}})),s||n({container:o._glcontainer.node()}),s}},45142:function(t,e,r){"use strict";var n=r(92770),i=r(35791);t.exports=function(t){var e;if("string"!=typeof(e=t&&t.hasOwnProperty("userAgent")?t.userAgent:function(){var t;return"undefined"!=typeof navigator&&(t=navigator.userAgent),t&&t.headers&&"string"==typeof t.headers["user-agent"]&&(t=t.headers["user-agent"]),t}()))return!0;var r=i({ua:{headers:{"user-agent":e}},tablet:!0,featureDetect:!1});if(!r)for(var a=e.split(" "),o=1;o<a.length;o++)if(-1!==a[o].indexOf("Safari"))for(var s=o-1;s>-1;s--){var l=a[s];if("Version/"===l.substr(0,8)){var u=l.substr(8).split(".")[0];if(n(u)&&(u=+u),u>=13)return!0}}return r}},75138:function(t){"use strict";t.exports=function(t,e){if(e instanceof RegExp){for(var r=e.toString(),n=0;n<t.length;n++)if(t[n]instanceof RegExp&&t[n].toString()===r)return t;t.push(e)}else!e&&0!==e||-1!==t.indexOf(e)||t.push(e);return t}},10847:function(t,e,r){"use strict";var n=r(71828),i=r(72075).dfltConfig,a={add:function(t,e,r,n,a){var o,s;t.undoQueue=t.undoQueue||{index:0,queue:[],sequence:!1},s=t.undoQueue.index,t.autoplay?t.undoQueue.inSequence||(t.autoplay=!1):(!t.undoQueue.sequence||t.undoQueue.beginSequence?(o={undo:{calls:[],args:[]},redo:{calls:[],args:[]}},t.undoQueue.queue.splice(s,t.undoQueue.queue.length-s,o),t.undoQueue.index+=1):o=t.undoQueue.queue[s-1],t.undoQueue.beginSequence=!1,o&&(o.undo.calls.unshift(e),o.undo.args.unshift(r),o.redo.calls.push(n),o.redo.args.push(a)),t.undoQueue.queue.length>i.queueLength&&(t.undoQueue.queue.shift(),t.undoQueue.index--))},startSequence:function(t){t.undoQueue=t.undoQueue||{index:0,queue:[],sequence:!1},t.undoQueue.sequence=!0,t.undoQueue.beginSequence=!0},stopSequence:function(t){t.undoQueue=t.undoQueue||{index:0,queue:[],sequence:!1},t.undoQueue.sequence=!1,t.undoQueue.beginSequence=!1},undo:function(t){var e,r;if(!(void 0===t.undoQueue||isNaN(t.undoQueue.index)||t.undoQueue.index<=0)){for(t.undoQueue.index--,e=t.undoQueue.queue[t.undoQueue.index],t.undoQueue.inSequence=!0,r=0;r<e.undo.calls.length;r++)a.plotDo(t,e.undo.calls[r],e.undo.args[r]);t.undoQueue.inSequence=!1,t.autoplay=!1}},redo:function(t){var e,r;if(!(void 0===t.undoQueue||isNaN(t.undoQueue.index)||t.undoQueue.index>=t.undoQueue.queue.length)){for(e=t.undoQueue.queue[t.undoQueue.index],t.undoQueue.inSequence=!0,r=0;r<e.redo.calls.length;r++)a.plotDo(t,e.redo.calls[r],e.redo.args[r]);t.undoQueue.inSequence=!1,t.autoplay=!1,t.undoQueue.index++}},plotDo:function(t,e,r){t.autoplay=!0,r=function(t,e){for(var r,i=[],a=0;a<e.length;a++)r=e[a],i[a]=r===t?r:"object"==typeof r?Array.isArray(r)?n.extendDeep([],r):n.extendDeepAll({},r):r;return i}(t,r),e.apply(null,r)}};t.exports=a},30587:function(t,e){"use strict";e.counter=function(t,e,r,n){var i=(e||"")+(r?"":"$"),a=!1===n?"":"^";return"xy"===t?new RegExp(a+"x([2-9]|[1-9][0-9]+)?y([2-9]|[1-9][0-9]+)?"+i):new RegExp(a+t+"([2-9]|[1-9][0-9]+)?"+i)}},6962:function(t){"use strict";var e=/^(.*)(\.[^\.\[\]]+|\[\d\])$/,r=/^[^\.\[\]]+$/;t.exports=function(t,n){for(;n;){var i=t.match(e);if(i)t=i[1];else{if(!t.match(r))throw new Error("bad relativeAttr call:"+[t,n]);t=""}if("^"!==n.charAt(0))break;n=n.slice(1)}return t&&"["!==n.charAt(0)?t+"."+n:t+n}},51332:function(t,e,r){"use strict";var n=r(73627).isArrayOrTypedArray,i=r(41965);t.exports=function t(e,r){for(var a in r){var o=r[a],s=e[a];if(s!==o)if("_"===a.charAt(0)||"function"==typeof o){if(a in e)continue;e[a]=o}else if(n(o)&&n(s)&&i(o[0])){if("customdata"===a||"ids"===a)continue;for(var l=Math.min(o.length,s.length),u=0;u<l;u++)s[u]!==o[u]&&i(o[u])&&i(s[u])&&t(s[u],o[u])}else i(o)&&i(s)&&(t(s,o),Object.keys(s).length||delete e[a])}}},65888:function(t,e,r){"use strict";var n=r(92770),i=r(47769),a=r(23389),o=r(50606).BADNUM,s=1e-9;function l(t,e){return t<e}function u(t,e){return t<=e}function c(t,e){return t>e}function f(t,e){return t>=e}e.findBin=function(t,e,r){if(n(e.start))return r?Math.ceil((t-e.start)/e.size-s)-1:Math.floor((t-e.start)/e.size+s);var a,o,h=0,p=e.length,d=0,v=p>1?(e[p-1]-e[0])/(p-1):1;for(o=v>=0?r?l:u:r?f:c,t+=v*s*(r?-1:1)*(v>=0?1:-1);h<p&&d++<100;)o(e[a=Math.floor((h+p)/2)],t)?h=a+1:p=a;return d>90&&i.log("Long binary search..."),h-1},e.sorterAsc=function(t,e){return t-e},e.sorterDes=function(t,e){return e-t},e.distinctVals=function(t){var r,n=t.slice();for(n.sort(e.sorterAsc),r=n.length-1;r>-1&&n[r]===o;r--);for(var i,a=n[r]-n[0]||1,s=a/(r||1)/1e4,l=[],u=0;u<=r;u++){var c=n[u],f=c-i;void 0===i?(l.push(c),i=c):f>s&&(a=Math.min(a,f),l.push(c),i=c)}return{vals:l,minDiff:a}},e.roundUp=function(t,e,r){for(var n,i=0,a=e.length-1,o=0,s=r?0:1,l=r?1:0,u=r?Math.ceil:Math.floor;i<a&&o++<100;)e[n=u((i+a)/2)]<=t?i=n+s:a=n-l;return e[i]},e.sort=function(t,e){for(var r=0,n=0,i=1;i<t.length;i++){var a=e(t[i],t[i-1]);if(a<0?r=1:a>0&&(n=1),r&&n)return t.sort(e)}return n?t:t.reverse()},e.findIndexOfMin=function(t,e){e=e||a;for(var r,n=1/0,i=0;i<t.length;i++){var o=e(t[i]);o<n&&(n=o,r=i)}return r}},6964:function(t){"use strict";t.exports=function(t,e){(t.attr("class")||"").split(" ").forEach((function(e){0===e.indexOf("cursor-")&&t.classed(e,!1)})),e&&t.classed("cursor-"+e,!0)}},58617:function(t,e,r){"use strict";var n=r(7901),i=function(){};t.exports=function(t){for(var e in t)"function"==typeof t[e]&&(t[e]=i);t.destroy=function(){t.container.parentNode.removeChild(t.container)};var r=document.createElement("div");r.className="no-webgl",r.style.cursor="pointer",r.style.fontSize="24px",r.style.color=n.defaults[0],r.style.position="absolute",r.style.left=r.style.top="0px",r.style.width=r.style.height="100%",r.style["background-color"]=n.lightLine,r.style["z-index"]=30;var a=document.createElement("p");return a.textContent="WebGL is not supported by your browser - visit https://get.webgl.org for more info",a.style.position="relative",a.style.top="50%",a.style.left="50%",a.style.height="30%",a.style.width="50%",a.style.margin="-15% 0 0 -25%",r.appendChild(a),t.container.appendChild(r),t.container.style.background="#FFFFFF",t.container.onclick=function(){window.open("https://get.webgl.org")},!1}},78607:function(t){"use strict";t.exports=function(t){return Object.keys(t).sort()}},80038:function(t,e,r){"use strict";var n=r(92770),i=r(73627).isArrayOrTypedArray;e.aggNums=function(t,r,a,o){var s,l;if((!o||o>a.length)&&(o=a.length),n(r)||(r=!1),i(a[0])){for(l=new Array(o),s=0;s<o;s++)l[s]=e.aggNums(t,r,a[s]);a=l}for(s=0;s<o;s++)n(r)?n(a[s])&&(r=t(+r,+a[s])):r=a[s];return r},e.len=function(t){return e.aggNums((function(t){return t+1}),0,t)},e.mean=function(t,r){return r||(r=e.len(t)),e.aggNums((function(t,e){return t+e}),0,t)/r},e.midRange=function(t){if(void 0!==t&&0!==t.length)return(e.aggNums(Math.max,null,t)+e.aggNums(Math.min,null,t))/2},e.variance=function(t,r,i){return r||(r=e.len(t)),n(i)||(i=e.mean(t,r)),e.aggNums((function(t,e){return t+Math.pow(e-i,2)}),0,t)/r},e.stdev=function(t,r,n){return Math.sqrt(e.variance(t,r,n))},e.median=function(t){var r=t.slice().sort();return e.interp(r,.5)},e.interp=function(t,e){if(!n(e))throw"n should be a finite number";if((e=e*t.length-.5)<0)return t[0];if(e>t.length-1)return t[t.length-1];var r=e%1;return r*t[Math.ceil(e)]+(1-r)*t[Math.floor(e)]}},78614:function(t,e,r){"use strict";var n=r(25075);t.exports=function(t){return t?n(t):[0,0,0,1]}},63893:function(t,e,r){"use strict";var n=r(39898),i=r(71828),a=i.strTranslate,o=r(77922),s=r(18783).LINE_SPACING,l=/([^$]*)([$]+[^$]*[$]+)([^$]*)/;e.convertToTspans=function(t,r,g){var S=t.text(),E=!t.attr("data-notex")&&r&&r._context.typesetMath&&"undefined"!=typeof MathJax&&S.match(l),P=n.select(t.node().parentNode);if(!P.empty()){var O=t.attr("class")?t.attr("class").split(" ")[0]:"text";return O+="-math",P.selectAll("svg."+O).remove(),P.selectAll("g."+O+"-group").remove(),t.style("display",null).attr({"data-unformatted":S,"data-math":"N"}),E?(r&&r._promises||[]).push(new Promise((function(e){t.style("display","none");var r=parseInt(t.node().style.fontSize,10),o={fontSize:r};!function(t,e,r){var a,o,s,l,h=parseInt((MathJax.version||"").split(".")[0]);if(2===h||3===h){var p=function(){var r="math-output-"+i.randstr({},64),a=(l=n.select("body").append("div").attr({id:r}).style({visibility:"hidden",position:"absolute","font-size":e.fontSize+"px"}).text(t.replace(u,"\\lt ").replace(c,"\\gt "))).node();return 2===h?MathJax.Hub.Typeset(a):MathJax.typeset([a])},d=function(){var e=l.select(2===h?".MathJax_SVG":".MathJax"),a=!e.empty()&&l.select("svg").node();if(a){var o,s=a.getBoundingClientRect();o=2===h?n.select("body").select("#MathJax_SVG_glyphs"):e.select("defs"),r(e,o,s)}else i.log("There was an error in the tex syntax.",t),r();l.remove()};2===h?MathJax.Hub.Queue((function(){return o=i.extendDeepAll({},MathJax.Hub.config),s=MathJax.Hub.processSectionDelay,void 0!==MathJax.Hub.processSectionDelay&&(MathJax.Hub.processSectionDelay=0),MathJax.Hub.Config({messageStyle:"none",tex2jax:{inlineMath:f},displayAlign:"left"})}),(function(){if("SVG"!==(a=MathJax.Hub.config.menuSettings.renderer))return MathJax.Hub.setRenderer("SVG")}),p,d,(function(){if("SVG"!==a)return MathJax.Hub.setRenderer(a)}),(function(){return void 0!==s&&(MathJax.Hub.processSectionDelay=s),MathJax.Hub.Config(o)})):3===h&&(o=i.extendDeepAll({},MathJax.config),MathJax.config.tex||(MathJax.config.tex={}),MathJax.config.tex.inlineMath=f,"svg"!==(a=MathJax.config.startup.output)&&(MathJax.config.startup.output="svg"),MathJax.startup.defaultReady(),MathJax.startup.promise.then((function(){p(),d(),"svg"!==a&&(MathJax.config.startup.output=a),MathJax.config=o})))}else i.warn("No MathJax version:",MathJax.version)}(E[2],o,(function(n,i,o){P.selectAll("svg."+O).remove(),P.selectAll("g."+O+"-group").remove();var s=n&&n.select("svg");if(!s||!s.node())return I(),void e();var l=P.append("g").classed(O+"-group",!0).attr({"pointer-events":"none","data-unformatted":S,"data-math":"Y"});l.node().appendChild(s.node()),i&&i.node()&&s.node().insertBefore(i.node().cloneNode(!0),s.node().firstChild);var u=o.width,c=o.height;s.attr({class:O,height:c,preserveAspectRatio:"xMinYMin meet"}).style({overflow:"visible","pointer-events":"none"});var f=t.node().style.fill||"black",h=s.select("g");h.attr({fill:f,stroke:f});var p=h.node().getBoundingClientRect(),d=p.width,v=p.height;(d>u||v>c)&&(s.style("overflow","hidden"),d=(p=s.node().getBoundingClientRect()).width,v=p.height);var y=+t.attr("x"),m=+t.attr("y"),x=-(r||t.node().getBoundingClientRect().height)/4;if("y"===O[0])l.attr({transform:"rotate("+[-90,y,m]+")"+a(-d/2,x-v/2)});else if("l"===O[0])m=x-v/2;else if("a"===O[0]&&0!==O.indexOf("atitle"))y=0,m=x;else{var b=t.attr("text-anchor");y-=d*("middle"===b?.5:"end"===b?1:0),m=m+x-v/2}s.attr({x:y,y:m}),g&&g.call(t,l),e(l)}))}))):I(),t}function I(){P.empty()||(O=t.attr("class")+"-math",P.select("svg."+O).remove()),t.text("").style("white-space","pre");var r=function(t,e){e=e.replace(y," ");var r,a=!1,l=[],u=-1;function c(){u++;var e=document.createElementNS(o.svg,"tspan");n.select(e).attr({class:"line",dy:u*s+"em"}),t.appendChild(e),r=e;var i=l;if(l=[{node:e}],i.length>1)for(var a=1;a<i.length;a++)f(i[a])}function f(t){var e,i=t.type,a={};if("a"===i){e="a";var s=t.target,u=t.href,c=t.popup;u&&(a={"xlink:xlink:show":"_blank"===s||"_"!==s.charAt(0)?"new":"replace",target:s,"xlink:xlink:href":u},c&&(a.onclick='window.open(this.href.baseVal,this.target.baseVal,"'+c+'");return false;'))}else e="tspan";t.style&&(a.style=t.style);var f=document.createElementNS(o.svg,e);if("sup"===i||"sub"===i){g(r,v),r.appendChild(f);var h=document.createElementNS(o.svg,"tspan");g(h,v),n.select(h).attr("dy",d[i]),a.dy=p[i],r.appendChild(f),r.appendChild(h)}else r.appendChild(f);n.select(f).attr(a),r=t.node=f,l.push(t)}function g(t,e){t.appendChild(document.createTextNode(e))}function S(t){if(1!==l.length){var n=l.pop();t!==n.type&&i.log("Start tag <"+n.type+"> doesnt match end tag <"+t+">. Pretending it did match.",e),r=l[l.length-1].node}else i.log("Ignoring unexpected end tag </"+t+">.",e)}b.test(e)?c():(r=t,l=[{node:t}]);for(var E=e.split(m),P=0;P<E.length;P++){var O=E[P],I=O.match(x),D=I&&I[2].toLowerCase(),z=h[D];if("br"===D)c();else if(void 0===z)g(r,L(O));else if(I[1])S(D);else{var R=I[4],F={type:D},B=A(R,_);if(B?(B=B.replace(M,"$1 fill:"),z&&(B+=";"+z)):z&&(B=z),B&&(F.style=B),"a"===D){a=!0;var N=A(R,w);if(N){var j=C(N);j&&(F.href=j,F.target=A(R,T)||"_blank",F.popup=A(R,k))}}f(F)}}return a}(t.node(),S);r&&t.style("pointer-events","all"),e.positionText(t),g&&g.call(t)}};var u=/(<|<|<)/g,c=/(>|>|>)/g,f=[["$","$"],["\\(","\\)"]],h={sup:"font-size:70%",sub:"font-size:70%",b:"font-weight:bold",i:"font-style:italic",a:"cursor:pointer",span:"",em:"font-style:italic;font-weight:bold"},p={sub:"0.3em",sup:"-0.6em"},d={sub:"-0.21em",sup:"0.42em"},v="",g=["http:","https:","mailto:","",void 0,":"],y=e.NEWLINES=/(\r\n?|\n)/g,m=/(<[^<>]*>)/,x=/<(\/?)([^ >]*)(\s+(.*))?>/i,b=/<br(\s+.*)?>/i;e.BR_TAG_ALL=/<br(\s+.*)?>/gi;var _=/(^|[\s"'])style\s*=\s*("([^"]*);?"|'([^']*);?')/i,w=/(^|[\s"'])href\s*=\s*("([^"]*)"|'([^']*)')/i,T=/(^|[\s"'])target\s*=\s*("([^"\s]*)"|'([^'\s]*)')/i,k=/(^|[\s"'])popup\s*=\s*("([\w=,]*)"|'([\w=,]*)')/i;function A(t,e){if(!t)return null;var r=t.match(e),n=r&&(r[3]||r[4]);return n&&L(n)}var M=/(^|;)\s*color:/;e.plainText=function(t,e){for(var r=void 0!==(e=e||{}).len&&-1!==e.len?e.len:1/0,n=void 0!==e.allowedTags?e.allowedTags:["br"],i="...".length,a=t.split(m),o=[],s="",l=0,u=0;u<a.length;u++){var c=a[u],f=c.match(x),h=f&&f[2].toLowerCase();if(h)-1!==n.indexOf(h)&&(o.push(c),s=h);else{var p=c.length;if(l+p<r)o.push(c),l+=p;else if(l<r){var d=r-l;s&&("br"!==s||d<=i||p<=i)&&o.pop(),r>i?o.push(c.substr(0,d-i)+"..."):o.push(c.substr(0,d));break}s=""}}return o.join("")};var S={mu:"μ",amp:"&",lt:"<",gt:">",nbsp:" ",times:"×",plusmn:"±",deg:"°"},E=/&(#\d+|#x[\da-fA-F]+|[a-z]+);/g;function L(t){return t.replace(E,(function(t,e){return("#"===e.charAt(0)?function(t){if(!(t>1114111)){var e=String.fromCodePoint;if(e)return e(t);var r=String.fromCharCode;return t<=65535?r(t):r(55232+(t>>10),t%1024+56320)}}("x"===e.charAt(1)?parseInt(e.substr(2),16):parseInt(e.substr(1),10)):S[e])||t}))}function C(t){var e=encodeURI(decodeURI(t)),r=document.createElement("a"),n=document.createElement("a");r.href=t,n.href=e;var i=r.protocol,a=n.protocol;return-1!==g.indexOf(i)&&-1!==g.indexOf(a)?e:""}function P(t,e,r){var n,a,o,s=r.horizontalAlign,l=r.verticalAlign||"top",u=t.node().getBoundingClientRect(),c=e.node().getBoundingClientRect();return a="bottom"===l?function(){return u.bottom-n.height}:"middle"===l?function(){return u.top+(u.height-n.height)/2}:function(){return u.top},o="right"===s?function(){return u.right-n.width}:"center"===s?function(){return u.left+(u.width-n.width)/2}:function(){return u.left},function(){n=this.node().getBoundingClientRect();var t=o()-c.left,e=a()-c.top,s=r.gd||{};if(r.gd){s._fullLayout._calcInverseTransform(s);var l=i.apply3DTransform(s._fullLayout._invTransform)(t,e);t=l[0],e=l[1]}return this.style({top:e+"px",left:t+"px","z-index":1e3}),this}}e.convertEntities=L,e.sanitizeHTML=function(t){t=t.replace(y," ");for(var e=document.createElement("p"),r=e,i=[],a=t.split(m),o=0;o<a.length;o++){var s=a[o],l=s.match(x),u=l&&l[2].toLowerCase();if(u in h)if(l[1])i.length&&(r=i.pop());else{var c=l[4],f=A(c,_),p=f?{style:f}:{};if("a"===u){var d=A(c,w);if(d){var v=C(d);if(v){p.href=v;var g=A(c,T);g&&(p.target=g)}}}var b=document.createElement(u);r.appendChild(b),n.select(b).attr(p),r=b,i.push(b)}else r.appendChild(document.createTextNode(L(s)))}return e.innerHTML},e.lineCount=function(t){return t.selectAll("tspan.line").size()||1},e.positionText=function(t,e,r){return t.each((function(){var t=n.select(this);function i(e,r){return void 0===r?null===(r=t.attr(e))&&(t.attr(e,0),r=0):t.attr(e,r),r}var a=i("x",e),o=i("y",r);"text"===this.nodeName&&t.selectAll("tspan.line").attr({x:a,y:o})}))};var O="1px ";e.makeTextShadow=function(t){return"1px 1px 1px "+t+", -"+"1px -"+O+O+t+", "+"1px -"+O+O+t+", -"+O+O+O+t},e.makeEditable=function(t,e){var r=e.gd,i=e.delegate,a=n.dispatch("edit","input","cancel"),o=i||t;if(t.style({"pointer-events":i?"none":"all"}),1!==t.size())throw new Error("boo");function s(){var i,s,u,c,f;i=n.select(r).select(".svg-container"),s=i.append("div"),u=t.node().style,c=parseFloat(u.fontSize||12),void 0===(f=e.text)&&(f=t.attr("data-unformatted")),s.classed("plugin-editable editable",!0).style({position:"absolute","font-family":u.fontFamily||"Arial","font-size":c,color:e.fill||u.fill||"black",opacity:1,"background-color":e.background||"transparent",outline:"#ffffff33 1px solid",margin:[-c/8+1,0,0,-1].join("px ")+"px",padding:"0","box-sizing":"border-box"}).attr({contenteditable:!0}).text(f).call(P(t,i,e)).on("blur",(function(){r._editing=!1,t.text(this.textContent).style({opacity:1});var e,i=n.select(this).attr("class");(e=i?"."+i.split(" ")[0]+"-math-group":"[class*=-math-group]")&&n.select(t.node().parentNode).select(e).style({opacity:0});var o=this.textContent;n.select(this).transition().duration(0).remove(),n.select(document).on("mouseup",null),a.edit.call(t,o)})).on("focus",(function(){var t=this;r._editing=!0,n.select(document).on("mouseup",(function(){if(n.event.target===t)return!1;document.activeElement===s.node()&&s.node().blur()}))})).on("keyup",(function(){27===n.event.which?(r._editing=!1,t.style({opacity:1}),n.select(this).style({opacity:0}).on("blur",(function(){return!1})).transition().remove(),a.cancel.call(t,this.textContent)):(a.input.call(t,this.textContent),n.select(this).call(P(t,i,e)))})).on("keydown",(function(){13===n.event.which&&this.blur()})).call(l),t.style({opacity:0});var h,p=o.attr("class");(h=p?"."+p.split(" ")[0]+"-math-group":"[class*=-math-group]")&&n.select(t.node().parentNode).select(h).style({opacity:0})}function l(t){var e=t.node(),r=document.createRange();r.selectNodeContents(e);var n=window.getSelection();n.removeAllRanges(),n.addRange(r),e.focus()}return e.immediate?s():o.on("click",s),n.rebind(t,a,"on")}},79990:function(t,e){"use strict";var r={};function n(t){t&&null!==t.timer&&(clearTimeout(t.timer),t.timer=null)}e.throttle=function(t,e,i){var a=r[t],o=Date.now();if(!a){for(var s in r)r[s].ts<o-6e4&&delete r[s];a=r[t]={ts:0,timer:null}}function l(){i(),a.ts=Date.now(),a.onDone&&(a.onDone(),a.onDone=null)}n(a),o>a.ts+e?l():a.timer=setTimeout((function(){l(),a.timer=null}),e)},e.done=function(t){var e=r[t];return e&&e.timer?new Promise((function(t){var r=e.onDone;e.onDone=function(){r&&r(),t(),e.onDone=null}})):Promise.resolve()},e.clear=function(t){if(t)n(r[t]),delete r[t];else for(var i in r)e.clear(i)}},58163:function(t,e,r){"use strict";var n=r(92770);t.exports=function(t,e){if(t>0)return Math.log(t)/Math.LN10;var r=Math.log(Math.min(e[0],e[1]))/Math.LN10;return n(r)||(r=Math.log(Math.max(e[0],e[1]))/Math.LN10-6),r}},90973:function(t,e,r){"use strict";var n=t.exports={},i=r(78776).locationmodeToLayer,a=r(96892).zL;n.getTopojsonName=function(t){return[t.scope.replace(/ /g,"-"),"_",t.resolution.toString(),"m"].join("")},n.getTopojsonPath=function(t,e){return t+e+".json"},n.getTopojsonFeatures=function(t,e){var r=i[t.locationmode],n=e.objects[r];return a(e,n).features}},37815:function(t){"use strict";t.exports={moduleType:"locale",name:"en-US",dictionary:{"Click to enter Colorscale title":"Click to enter Colorscale title"},format:{date:"%m/%d/%Y"}}},92177:function(t){"use strict";t.exports={moduleType:"locale",name:"en",dictionary:{"Click to enter Colorscale title":"Click to enter Colourscale title"},format:{days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],periods:["AM","PM"],dateTime:"%a %b %e %X %Y",date:"%d/%m/%Y",time:"%H:%M:%S",decimal:".",thousands:",",grouping:[3],currency:["$",""],year:"%Y",month:"%b %Y",dayMonth:"%b %-d",dayMonthYear:"%b %-d, %Y"}}},14458:function(t,e,r){"use strict";var n=r(73972);t.exports=function(t){for(var e,r,i=n.layoutArrayContainers,a=n.layoutArrayRegexes,o=t.split("[")[0],s=0;s<a.length;s++)if((r=t.match(a[s]))&&0===r.index){e=r[0];break}if(e||(e=i[i.indexOf(o)]),!e)return!1;var l=t.substr(e.length);return l?!!(r=l.match(/^\[(0|[1-9][0-9]*)\](\.(.+))?$/))&&{array:e,index:Number(r[1]),property:r[3]||""}:{array:e,index:"",property:""}}},30962:function(t,e,r){"use strict";var n=r(71828),i=n.extendFlat,a=n.isPlainObject,o={valType:"flaglist",extras:["none"],flags:["calc","clearAxisTypes","plot","style","markerSize","colorbars"]},s={valType:"flaglist",extras:["none"],flags:["calc","plot","legend","ticks","axrange","layoutstyle","modebar","camera","arraydraw","colorbars"]},l=o.flags.slice().concat(["fullReplot"]),u=s.flags.slice().concat("layoutReplot");function c(t){for(var e={},r=0;r<t.length;r++)e[t[r]]=!1;return e}function f(t,e,r){var n=i({},t);for(var o in n){var s=n[o];a(s)&&(n[o]=h(s,e,0,o))}return"from-root"===r&&(n.editType=e),n}function h(t,e,r,n){if(t.valType){var a=i({},t);if(a.editType=e,Array.isArray(t.items)){a.items=new Array(t.items.length);for(var o=0;o<t.items.length;o++)a.items[o]=h(t.items[o],e)}return a}return f(t,e,"_"===n.charAt(0)?"nested":"from-root")}t.exports={traces:o,layout:s,traceFlags:function(){return c(l)},layoutFlags:function(){return c(u)},update:function(t,e){var r=e.editType;if(r&&"none"!==r)for(var n=r.split("+"),i=0;i<n.length;i++)t[n[i]]=!0},overrideAll:f}},58377:function(t,e,r){"use strict";var n=r(92770),i=r(27812),a=r(73972),o=r(71828),s=r(74875),l=r(41675),u=r(7901),c=l.cleanId,f=l.getFromTrace,h=a.traceIs;function p(t,e){var r=t[e],n=e.charAt(0);r&&"paper"!==r&&(t[e]=c(r,n,!0))}function d(t){function e(e,r){var n=t[e],i=t.title&&t.title[r];n&&!i&&(t.title||(t.title={}),t.title[r]=t[e],delete t[e])}t&&("string"!=typeof t.title&&"number"!=typeof t.title||(t.title={text:t.title}),e("titlefont","font"),e("titleposition","position"),e("titleside","side"),e("titleoffset","offset"))}function v(t){if(!o.isPlainObject(t))return!1;var e=t.name;return delete t.name,delete t.showlegend,("string"==typeof e||"number"==typeof e)&&String(e)}function g(t,e,r,n){if(r&&!n)return t;if(n&&!r)return e;if(!t.trim())return e;if(!e.trim())return t;var i,a=Math.min(t.length,e.length);for(i=0;i<a&&t.charAt(i)===e.charAt(i);i++);return t.substr(0,i).trim()}function y(t){var e="middle",r="center";return"string"==typeof t&&(-1!==t.indexOf("top")?e="top":-1!==t.indexOf("bottom")&&(e="bottom"),-1!==t.indexOf("left")?r="left":-1!==t.indexOf("right")&&(r="right")),e+" "+r}function m(t,e){return e in t&&"object"==typeof t[e]&&0===Object.keys(t[e]).length}e.clearPromiseQueue=function(t){Array.isArray(t._promises)&&t._promises.length>0&&o.log("Clearing previous rejected promises from queue."),t._promises=[]},e.cleanLayout=function(t){var r,n;t||(t={}),t.xaxis1&&(t.xaxis||(t.xaxis=t.xaxis1),delete t.xaxis1),t.yaxis1&&(t.yaxis||(t.yaxis=t.yaxis1),delete t.yaxis1),t.scene1&&(t.scene||(t.scene=t.scene1),delete t.scene1);var a=(s.subplotsRegistry.cartesian||{}).attrRegex,l=(s.subplotsRegistry.polar||{}).attrRegex,f=(s.subplotsRegistry.ternary||{}).attrRegex,h=(s.subplotsRegistry.gl3d||{}).attrRegex,v=Object.keys(t);for(r=0;r<v.length;r++){var g=v[r];if(a&&a.test(g)){var y=t[g];y.anchor&&"free"!==y.anchor&&(y.anchor=c(y.anchor)),y.overlaying&&(y.overlaying=c(y.overlaying)),y.type||(y.isdate?y.type="date":y.islog?y.type="log":!1===y.isdate&&!1===y.islog&&(y.type="linear")),"withzero"!==y.autorange&&"tozero"!==y.autorange||(y.autorange=!0,y.rangemode="tozero"),delete y.islog,delete y.isdate,delete y.categories,m(y,"domain")&&delete y.domain,void 0!==y.autotick&&(void 0===y.tickmode&&(y.tickmode=y.autotick?"auto":"linear"),delete y.autotick),d(y)}else if(l&&l.test(g))d(t[g].radialaxis);else if(f&&f.test(g)){var x=t[g];d(x.aaxis),d(x.baxis),d(x.caxis)}else if(h&&h.test(g)){var b=t[g],_=b.cameraposition;if(Array.isArray(_)&&4===_[0].length){var w=_[0],T=_[1],k=_[2],A=i([],w),M=[];for(n=0;n<3;++n)M[n]=T[n]+k*A[2+4*n];b.camera={eye:{x:M[0],y:M[1],z:M[2]},center:{x:T[0],y:T[1],z:T[2]},up:{x:0,y:0,z:1}},delete b.cameraposition}d(b.xaxis),d(b.yaxis),d(b.zaxis)}}var S=Array.isArray(t.annotations)?t.annotations.length:0;for(r=0;r<S;r++){var E=t.annotations[r];o.isPlainObject(E)&&(E.ref&&("paper"===E.ref?(E.xref="paper",E.yref="paper"):"data"===E.ref&&(E.xref="x",E.yref="y"),delete E.ref),p(E,"xref"),p(E,"yref"))}var L=Array.isArray(t.shapes)?t.shapes.length:0;for(r=0;r<L;r++){var C=t.shapes[r];o.isPlainObject(C)&&(p(C,"xref"),p(C,"yref"))}var P=Array.isArray(t.images)?t.images.length:0;for(r=0;r<P;r++){var O=t.images[r];o.isPlainObject(O)&&(p(O,"xref"),p(O,"yref"))}var I=t.legend;return I&&(I.x>3?(I.x=1.02,I.xanchor="left"):I.x<-2&&(I.x=-.02,I.xanchor="right"),I.y>3?(I.y=1.02,I.yanchor="bottom"):I.y<-2&&(I.y=-.02,I.yanchor="top")),d(t),"rotate"===t.dragmode&&(t.dragmode="orbit"),u.clean(t),t.template&&t.template.layout&&e.cleanLayout(t.template.layout),t},e.cleanData=function(t){for(var r=0;r<t.length;r++){var n,i=t[r];if("histogramy"===i.type&&"xbins"in i&&!("ybins"in i)&&(i.ybins=i.xbins,delete i.xbins),i.error_y&&"opacity"in i.error_y){var l=u.defaults,f=i.error_y.color||(h(i,"bar")?u.defaultLine:l[r%l.length]);i.error_y.color=u.addOpacity(u.rgb(f),u.opacity(f)*i.error_y.opacity),delete i.error_y.opacity}if("bardir"in i&&("h"!==i.bardir||!h(i,"bar")&&"histogram"!==i.type.substr(0,9)||(i.orientation="h",e.swapXYData(i)),delete i.bardir),"histogramy"===i.type&&e.swapXYData(i),"histogramx"!==i.type&&"histogramy"!==i.type||(i.type="histogram"),"scl"in i&&!("colorscale"in i)&&(i.colorscale=i.scl,delete i.scl),"reversescl"in i&&!("reversescale"in i)&&(i.reversescale=i.reversescl,delete i.reversescl),i.xaxis&&(i.xaxis=c(i.xaxis,"x")),i.yaxis&&(i.yaxis=c(i.yaxis,"y")),h(i,"gl3d")&&i.scene&&(i.scene=s.subplotsRegistry.gl3d.cleanId(i.scene)),!h(i,"pie-like")&&!h(i,"bar-like"))if(Array.isArray(i.textposition))for(n=0;n<i.textposition.length;n++)i.textposition[n]=y(i.textposition[n]);else i.textposition&&(i.textposition=y(i.textposition));var p=a.getModule(i);if(p&&p.colorbar){var x=p.colorbar.container,b=x?i[x]:i;b&&b.colorscale&&("YIGnBu"===b.colorscale&&(b.colorscale="YlGnBu"),"YIOrRd"===b.colorscale&&(b.colorscale="YlOrRd"))}if("surface"===i.type&&o.isPlainObject(i.contours)){var _=["x","y","z"];for(n=0;n<_.length;n++){var w=i.contours[_[n]];o.isPlainObject(w)&&(w.highlightColor&&(w.highlightcolor=w.highlightColor,delete w.highlightColor),w.highlightWidth&&(w.highlightwidth=w.highlightWidth,delete w.highlightWidth))}}if("candlestick"===i.type||"ohlc"===i.type){var T=!1!==(i.increasing||{}).showlegend,k=!1!==(i.decreasing||{}).showlegend,A=v(i.increasing),M=v(i.decreasing);if(!1!==A&&!1!==M){var S=g(A,M,T,k);S&&(i.name=S)}else!A&&!M||i.name||(i.name=A||M)}if(Array.isArray(i.transforms)){var E=i.transforms;for(n=0;n<E.length;n++){var L=E[n];if(o.isPlainObject(L))switch(L.type){case"filter":L.filtersrc&&(L.target=L.filtersrc,delete L.filtersrc),L.calendar&&(L.valuecalendar||(L.valuecalendar=L.calendar),delete L.calendar);break;case"groupby":if(L.styles=L.styles||L.style,L.styles&&!Array.isArray(L.styles)){var C=L.styles,P=Object.keys(C);L.styles=[];for(var O=0;O<P.length;O++)L.styles.push({target:P[O],value:C[P[O]]})}}}}m(i,"line")&&delete i.line,"marker"in i&&(m(i.marker,"line")&&delete i.marker.line,m(i,"marker")&&delete i.marker),u.clean(i),i.autobinx&&(delete i.autobinx,delete i.xbins),i.autobiny&&(delete i.autobiny,delete i.ybins),d(i),i.colorbar&&d(i.colorbar),i.marker&&i.marker.colorbar&&d(i.marker.colorbar),i.line&&i.line.colorbar&&d(i.line.colorbar),i.aaxis&&d(i.aaxis),i.baxis&&d(i.baxis)}},e.swapXYData=function(t){var e;if(o.swapAttrs(t,["?","?0","d?","?bins","nbins?","autobin?","?src","error_?"]),Array.isArray(t.z)&&Array.isArray(t.z[0])&&(t.transpose?delete t.transpose:t.transpose=!0),t.error_x&&t.error_y){var r=t.error_y,n="copy_ystyle"in r?r.copy_ystyle:!(r.color||r.thickness||r.width);o.swapAttrs(t,["error_?.copy_ystyle"]),n&&o.swapAttrs(t,["error_?.color","error_?.thickness","error_?.width"])}if("string"==typeof t.hoverinfo){var i=t.hoverinfo.split("+");for(e=0;e<i.length;e++)"x"===i[e]?i[e]="y":"y"===i[e]&&(i[e]="x");t.hoverinfo=i.join("+")}},e.coerceTraceIndices=function(t,e){if(n(e))return[e];if(!Array.isArray(e)||!e.length)return t.data.map((function(t,e){return e}));if(Array.isArray(e)){for(var r=[],i=0;i<e.length;i++)o.isIndex(e[i],t.data.length)?r.push(e[i]):o.warn("trace index (",e[i],") is not a number or is out of bounds");return r}return e},e.manageArrayContainers=function(t,e,r){var i=t.obj,a=t.parts,s=a.length,l=a[s-1],u=n(l);if(u&&null===e){var c=a.slice(0,s-1).join(".");o.nestedProperty(i,c).get().splice(l,1)}else u&&void 0===t.get()?(void 0===t.get()&&(r[t.astr]=null),t.set(e)):t.set(e)};var x=/(\.[^\[\]\.]+|\[[^\[\]\.]+\])$/;function b(t){var e=t.search(x);if(e>0)return t.substr(0,e)}e.hasParent=function(t,e){for(var r=b(e);r;){if(r in t)return!0;r=b(r)}return!1};var _=["x","y","z"];e.clearAxisTypes=function(t,e,r){for(var n=0;n<e.length;n++)for(var i=t._fullData[n],a=0;a<3;a++){var s=f(t,i,_[a]);if(s&&"log"!==s.type){var l=s._name,u=s._id.substr(1);if("scene"===u.substr(0,5)){if(void 0!==r[u])continue;l=u+"."+l}var c=l+".type";void 0===r[l]&&void 0===r[c]&&o.nestedProperty(t.layout,c).set(null)}}}},10641:function(t,e,r){"use strict";var n=r(72391);e._doPlot=n._doPlot,e.newPlot=n.newPlot,e.restyle=n.restyle,e.relayout=n.relayout,e.redraw=n.redraw,e.update=n.update,e._guiRestyle=n._guiRestyle,e._guiRelayout=n._guiRelayout,e._guiUpdate=n._guiUpdate,e._storeDirectGUIEdit=n._storeDirectGUIEdit,e.react=n.react,e.extendTraces=n.extendTraces,e.prependTraces=n.prependTraces,e.addTraces=n.addTraces,e.deleteTraces=n.deleteTraces,e.moveTraces=n.moveTraces,e.purge=n.purge,e.addFrames=n.addFrames,e.deleteFrames=n.deleteFrames,e.animate=n.animate,e.setPlotConfig=n.setPlotConfig,e.toImage=r(403),e.validate=r(84936),e.downloadImage=r(7239);var i=r(96318);e.makeTemplate=i.makeTemplate,e.validateTemplate=i.validateTemplate},6611:function(t,e,r){"use strict";var n=r(41965),i=r(64213),a=r(47769),o=r(65888).sorterAsc,s=r(73972);e.containerArrayMatch=r(14458);var l=e.isAddVal=function(t){return"add"===t||n(t)},u=e.isRemoveVal=function(t){return null===t||"remove"===t};e.applyContainerArrayChanges=function(t,e,r,n,c){var f=e.astr,h=s.getComponentMethod(f,"supplyLayoutDefaults"),p=s.getComponentMethod(f,"draw"),d=s.getComponentMethod(f,"drawOne"),v=n.replot||n.recalc||h===i||p===i,g=t.layout,y=t._fullLayout;if(r[""]){Object.keys(r).length>1&&a.warn("Full array edits are incompatible with other edits",f);var m=r[""][""];if(u(m))e.set(null);else{if(!Array.isArray(m))return a.warn("Unrecognized full array edit value",f,m),!0;e.set(m)}return!v&&(h(g,y),p(t),!0)}var x,b,_,w,T,k,A,M,S=Object.keys(r).map(Number).sort(o),E=e.get(),L=E||[],C=c(y,f).get(),P=[],O=-1,I=L.length;for(x=0;x<S.length;x++)if(w=r[_=S[x]],T=Object.keys(w),k=w[""],A=l(k),_<0||_>L.length-(A?0:1))a.warn("index out of range",f,_);else if(void 0!==k)T.length>1&&a.warn("Insertion & removal are incompatible with edits to the same index.",f,_),u(k)?P.push(_):A?("add"===k&&(k={}),L.splice(_,0,k),C&&C.splice(_,0,{})):a.warn("Unrecognized full object edit value",f,_,k),-1===O&&(O=_);else for(b=0;b<T.length;b++)M=f+"["+_+"].",c(L[_],T[b],M).set(w[T[b]]);for(x=P.length-1;x>=0;x--)L.splice(P[x],1),C&&C.splice(P[x],1);if(L.length?E||e.set(L):e.set(null),v)return!1;if(h(g,y),d!==i){var D;if(-1===O)D=S;else{for(I=Math.max(L.length,I),D=[],x=0;x<S.length&&!((_=S[x])>=O);x++)D.push(_);for(x=O;x<I;x++)D.push(x)}for(x=0;x<D.length;x++)d(t,D[x])}else p(t);return!0}},72391:function(t,e,r){"use strict";var n=r(39898),i=r(92770),a=r(57035),o=r(71828),s=o.nestedProperty,l=r(11086),u=r(10847),c=r(73972),f=r(86281),h=r(74875),p=r(89298),d=r(91424),v=r(7901),g=r(4305).initInteractions,y=r(77922),m=r(47322).clearOutline,x=r(72075).dfltConfig,b=r(6611),_=r(58377),w=r(61549),T=r(30962),k=r(85555).AX_NAME_PATTERN,A=0;function M(t){var e=t._fullLayout;e._redrawFromAutoMarginCount?e._redrawFromAutoMarginCount--:t.emit("plotly_afterplot")}function S(t,e){try{t._fullLayout._paper.style("background",e)}catch(t){o.error(t)}}function E(t,e){S(t,v.combine(e,"white"))}function L(t,e){if(!t._context){t._context=o.extendDeep({},x);var r=n.select("base");t._context._baseUrl=r.size()&&r.attr("href")?window.location.href.split("#")[0]:""}var i,s,l,u=t._context;if(e){for(s=Object.keys(e),i=0;i<s.length;i++)"editable"!==(l=s[i])&&"edits"!==l&&l in u&&("setBackground"===l&&"opaque"===e[l]?u[l]=E:u[l]=e[l]);e.plot3dPixelRatio&&!u.plotGlPixelRatio&&(u.plotGlPixelRatio=u.plot3dPixelRatio);var c=e.editable;if(void 0!==c)for(u.editable=c,s=Object.keys(u.edits),i=0;i<s.length;i++)u.edits[s[i]]=c;if(e.edits)for(s=Object.keys(e.edits),i=0;i<s.length;i++)(l=s[i])in u.edits&&(u.edits[l]=e.edits[l]);u._exportedPlot=e._exportedPlot}u.staticPlot&&(u.editable=!1,u.edits={},u.autosizable=!1,u.scrollZoom=!1,u.doubleClick=!1,u.showTips=!1,u.showLink=!1,u.displayModeBar=!1),"hover"!==u.displayModeBar||a||(u.displayModeBar=!0),"transparent"!==u.setBackground&&"function"==typeof u.setBackground||(u.setBackground=S),u._hasZeroHeight=u._hasZeroHeight||0===t.clientHeight,u._hasZeroWidth=u._hasZeroWidth||0===t.clientWidth;var f=u.scrollZoom,h=u._scrollZoom={};if(!0===f)h.cartesian=1,h.gl3d=1,h.geo=1,h.mapbox=1;else if("string"==typeof f){var p=f.split("+");for(i=0;i<p.length;i++)h[p[i]]=1}else!1!==f&&(h.gl3d=1,h.geo=1,h.mapbox=1)}function C(t,e){var r,n,i=e+1,a=[];for(r=0;r<t.length;r++)(n=t[r])<0?a.push(i+n):a.push(n);return a}function P(t,e,r){var n,i;for(n=0;n<e.length;n++){if((i=e[n])!==parseInt(i,10))throw new Error("all values in "+r+" must be integers");if(i>=t.data.length||i<-t.data.length)throw new Error(r+" must be valid indices for gd.data.");if(e.indexOf(i,n+1)>-1||i>=0&&e.indexOf(-t.data.length+i)>-1||i<0&&e.indexOf(t.data.length+i)>-1)throw new Error("each index in "+r+" must be unique.")}}function O(t,e,r){if(!Array.isArray(t.data))throw new Error("gd.data must be an array.");if(void 0===e)throw new Error("currentIndices is a required argument.");if(Array.isArray(e)||(e=[e]),P(t,e,"currentIndices"),void 0===r||Array.isArray(r)||(r=[r]),void 0!==r&&P(t,r,"newIndices"),void 0!==r&&e.length!==r.length)throw new Error("current and new indices must be of equal length.")}function I(t,e,r,n,a){!function(t,e,r,n){var i=o.isPlainObject(n);if(!Array.isArray(t.data))throw new Error("gd.data must be an array");if(!o.isPlainObject(e))throw new Error("update must be a key:value object");if(void 0===r)throw new Error("indices must be an integer or array of integers");for(var a in P(t,r,"indices"),e){if(!Array.isArray(e[a])||e[a].length!==r.length)throw new Error("attribute "+a+" must be an array of length equal to indices array length");if(i&&(!(a in n)||!Array.isArray(n[a])||n[a].length!==e[a].length))throw new Error("when maxPoints is set as a key:value object it must contain a 1:1 corrispondence with the keys and number of traces in the update object")}}(t,e,r,n);for(var l=function(t,e,r,n){var a,l,u,c,f,h=o.isPlainObject(n),p=[];for(var d in Array.isArray(r)||(r=[r]),r=C(r,t.data.length-1),e)for(var v=0;v<r.length;v++){if(a=t.data[r[v]],l=(u=s(a,d)).get(),c=e[d][v],!o.isArrayOrTypedArray(c))throw new Error("attribute: "+d+" index: "+v+" must be an array");if(!o.isArrayOrTypedArray(l))throw new Error("cannot extend missing or non-array attribute: "+d);if(l.constructor!==c.constructor)throw new Error("cannot extend array with an array of a different type: "+d);f=h?n[d][v]:n,i(f)||(f=-1),p.push({prop:u,target:l,insert:c,maxp:Math.floor(f)})}return p}(t,e,r,n),u={},c={},f=0;f<l.length;f++){var h=l[f].prop,p=l[f].maxp,d=a(l[f].target,l[f].insert,p);h.set(d[0]),Array.isArray(u[h.astr])||(u[h.astr]=[]),u[h.astr].push(d[1]),Array.isArray(c[h.astr])||(c[h.astr]=[]),c[h.astr].push(l[f].target.length)}return{update:u,maxPoints:c}}function D(t,e){var r=new t.constructor(t.length+e.length);return r.set(t),r.set(e,t.length),r}function z(t,r,n,i){t=o.getGraphDiv(t),_.clearPromiseQueue(t);var a={};if("string"==typeof r)a[r]=n;else{if(!o.isPlainObject(r))return o.warn("Restyle fail.",r,n,i),Promise.reject();a=o.extendFlat({},r),void 0===i&&(i=n)}Object.keys(a).length&&(t.changed=!0);var s=_.coerceTraceIndices(t,i),l=N(t,a,s),c=l.flags;c.calc&&(t.calcdata=void 0),c.clearAxisTypes&&_.clearAxisTypes(t,s,{});var f=[];c.fullReplot?f.push(e._doPlot):(f.push(h.previousPromises),h.supplyDefaults(t),c.markerSize&&(h.doCalcdata(t),H(f)),c.style&&f.push(w.doTraceStyle),c.colorbars&&f.push(w.doColorBars),f.push(M)),f.push(h.rehover,h.redrag,h.reselect),u.add(t,z,[t,l.undoit,l.traces],z,[t,l.redoit,l.traces]);var p=o.syncOrAsync(f,t);return p&&p.then||(p=Promise.resolve()),p.then((function(){return t.emit("plotly_restyle",l.eventData),t}))}function R(t){return void 0===t?null:t}function F(t,e){return e?function(e,r,n){var i=s(e,r),a=i.set;return i.set=function(e){B((n||"")+r,i.get(),e,t),a(e)},i}:s}function B(t,e,r,n){if(Array.isArray(e)||Array.isArray(r))for(var i=Array.isArray(e)?e:[],a=Array.isArray(r)?r:[],s=Math.max(i.length,a.length),l=0;l<s;l++)B(t+"["+l+"]",i[l],a[l],n);else if(o.isPlainObject(e)||o.isPlainObject(r)){var u=o.isPlainObject(e)?e:{},c=o.isPlainObject(r)?r:{},f=o.extendFlat({},u,c);for(var h in f)B(t+"."+h,u[h],c[h],n)}else void 0===n[t]&&(n[t]=R(e))}function N(t,e,r){var n,i=t._fullLayout,a=t._fullData,l=t.data,u=i._guiEditing,d=F(i._preGUI,u),v=o.extendDeepAll({},e);j(e);var g,y=T.traceFlags(),m={},x={};function b(){return r.map((function(){}))}function w(t){var e=p.id2name(t);-1===g.indexOf(e)&&g.push(e)}function k(t){return"LAYOUT"+t+".autorange"}function A(t){return"LAYOUT"+t+".range"}function M(t){for(var e=t;e<a.length;e++)if(a[e]._input===l[t])return a[e]}function S(n,a,o){if(Array.isArray(n))n.forEach((function(t){S(t,a,o)}));else if(!(n in e)&&!_.hasParent(e,n)){var s;if("LAYOUT"===n.substr(0,6))s=d(t.layout,n.replace("LAYOUT",""));else{var c=r[o];s=F(i._tracePreGUI[M(c)._fullInput.uid],u)(l[c],n)}n in x||(x[n]=b()),void 0===x[n][o]&&(x[n][o]=R(s.get())),void 0!==a&&s.set(a)}}function E(t){return function(e){return a[e][t]}}function L(t){return function(e,n){return!1===e?a[r[n]][t]:null}}for(var C in e){if(_.hasParent(e,C))throw new Error("cannot set "+C+" and a parent attribute simultaneously");var P,O,I,D,z,B,N=e[C];if("autobinx"!==C&&"autobiny"!==C||(C=C.charAt(C.length-1)+"bins",N=Array.isArray(N)?N.map(L(C)):!1===N?r.map(E(C)):null),m[C]=N,"LAYOUT"!==C.substr(0,6)){for(x[C]=b(),n=0;n<r.length;n++)if(P=l[r[n]],O=M(r[n]),D=(I=F(i._tracePreGUI[O._fullInput.uid],u)(P,C)).get(),void 0!==(z=Array.isArray(N)?N[n%N.length]:N)){var U=I.parts[I.parts.length-1],V=C.substr(0,C.length-U.length-1),H=V?V+".":"",q=V?s(O,V).get():O;if((B=f.getTraceValObject(O,I.parts))&&B.impliedEdits&&null!==z)for(var G in B.impliedEdits)S(o.relativeAttr(C,G),B.impliedEdits[G],n);else if("thicknessmode"!==U&&"lenmode"!==U||D===z||"fraction"!==z&&"pixels"!==z||!q){if("type"===C&&("pie"===z!=("pie"===D)||"funnelarea"===z!=("funnelarea"===D))){var Z="x",Y="y";"bar"!==z&&"bar"!==D||"h"!==P.orientation||(Z="y",Y="x"),o.swapAttrs(P,["?","?src"],"labels",Z),o.swapAttrs(P,["d?","?0"],"label",Z),o.swapAttrs(P,["?","?src"],"values",Y),"pie"===D||"funnelarea"===D?(s(P,"marker.color").set(s(P,"marker.colors").get()),i._pielayer.selectAll("g.trace").remove()):c.traceIs(P,"cartesian")&&s(P,"marker.colors").set(s(P,"marker.color").get())}}else{var W=i._size,X=q.orient,J="top"===X||"bottom"===X;if("thicknessmode"===U){var K=J?W.h:W.w;S(H+"thickness",q.thickness*("fraction"===z?1/K:K),n)}else{var $=J?W.w:W.h;S(H+"len",q.len*("fraction"===z?1/$:$),n)}}if(x[C][n]=R(D),-1!==["swapxy","swapxyaxes","orientation","orientationaxes"].indexOf(C)){if("orientation"===C){I.set(z);var Q=P.x&&!P.y?"h":"v";if((I.get()||Q)===O.orientation)continue}else"orientationaxes"===C&&(P.orientation={v:"h",h:"v"}[O.orientation]);_.swapXYData(P),y.calc=y.clearAxisTypes=!0}else-1!==h.dataArrayContainers.indexOf(I.parts[0])?(_.manageArrayContainers(I,z,x),y.calc=!0):(B?B.arrayOk&&!c.traceIs(O,"regl")&&(o.isArrayOrTypedArray(z)||o.isArrayOrTypedArray(D))?y.calc=!0:T.update(y,B):y.calc=!0,I.set(z))}if(-1!==["swapxyaxes","orientationaxes"].indexOf(C)&&p.swap(t,r),"orientationaxes"===C){var tt=s(t.layout,"hovermode"),et=tt.get();"x"===et?tt.set("y"):"y"===et?tt.set("x"):"x unified"===et?tt.set("y unified"):"y unified"===et&&tt.set("x unified")}if(-1!==["orientation","type"].indexOf(C)){for(g=[],n=0;n<r.length;n++){var rt=l[r[n]];c.traceIs(rt,"cartesian")&&(w(rt.xaxis||"x"),w(rt.yaxis||"y"))}S(g.map(k),!0,0),S(g.map(A),[0,1],0)}}else I=d(t.layout,C.replace("LAYOUT","")),x[C]=[R(I.get())],I.set(Array.isArray(N)?N[0]:N),y.calc=!0}return(y.calc||y.plot)&&(y.fullReplot=!0),{flags:y,undoit:x,redoit:m,traces:r,eventData:o.extendDeepNoArrays([],[v,r])}}function j(t){var e,r,n,i=o.counterRegex("axis",".title",!1,!1),a=/colorbar\.title$/,s=Object.keys(t);for(e=0;e<s.length;e++)r=s[e],n=t[r],"title"!==r&&!i.test(r)&&!a.test(r)||"string"!=typeof n&&"number"!=typeof n?r.indexOf("titlefont")>-1&&-1===r.indexOf("grouptitlefont")?l(r,r.replace("titlefont","title.font")):r.indexOf("titleposition")>-1?l(r,r.replace("titleposition","title.position")):r.indexOf("titleside")>-1?l(r,r.replace("titleside","title.side")):r.indexOf("titleoffset")>-1&&l(r,r.replace("titleoffset","title.offset")):l(r,r.replace("title","title.text"));function l(e,r){t[r]=t[e],delete t[e]}}function U(t,e,r){t=o.getGraphDiv(t),_.clearPromiseQueue(t);var n={};if("string"==typeof e)n[e]=r;else{if(!o.isPlainObject(e))return o.warn("Relayout fail.",e,r),Promise.reject();n=o.extendFlat({},e)}Object.keys(n).length&&(t.changed=!0);var i=Y(t,n),a=i.flags;a.calc&&(t.calcdata=void 0);var s=[h.previousPromises];a.layoutReplot?s.push(w.layoutReplot):Object.keys(n).length&&(V(t,a,i)||h.supplyDefaults(t),a.legend&&s.push(w.doLegend),a.layoutstyle&&s.push(w.layoutStyles),a.axrange&&H(s,i.rangesAltered),a.ticks&&s.push(w.doTicksRelayout),a.modebar&&s.push(w.doModeBar),a.camera&&s.push(w.doCamera),a.colorbars&&s.push(w.doColorBars),s.push(M)),s.push(h.rehover,h.redrag,h.reselect),u.add(t,U,[t,i.undoit],U,[t,i.redoit]);var l=o.syncOrAsync(s,t);return l&&l.then||(l=Promise.resolve(t)),l.then((function(){return t.emit("plotly_relayout",i.eventData),t}))}function V(t,e,r){var n=t._fullLayout;if(!e.axrange)return!1;for(var i in e)if("axrange"!==i&&e[i])return!1;for(var a in r.rangesAltered){var o=p.id2name(a),s=t.layout[o],l=n[o];if(l.autorange=s.autorange,s.range&&(l.range=s.range.slice()),l.cleanRange(),l._matchGroup)for(var u in l._matchGroup)if(u!==a){var c=n[p.id2name(u)];c.autorange=l.autorange,c.range=l.range.slice(),c._input.range=l.range.slice()}}return!0}function H(t,e){var r=e?function(t){var r=[];for(var n in e){var i=p.getFromId(t,n);if(r.push(n),-1!==(i.ticklabelposition||"").indexOf("inside")&&i._anchorAxis&&r.push(i._anchorAxis._id),i._matchGroup)for(var a in i._matchGroup)e[a]||r.push(a)}return p.draw(t,r,{skipTitle:!0})}:function(t){return p.draw(t,"redraw")};t.push(m,w.doAutoRangeAndConstraints,r,w.drawData,w.finalDraw)}var q=/^[xyz]axis[0-9]*\.range(\[[0|1]\])?$/,G=/^[xyz]axis[0-9]*\.autorange$/,Z=/^[xyz]axis[0-9]*\.domain(\[[0|1]\])?$/;function Y(t,e){var r,n,i,a=t.layout,l=t._fullLayout,u=l._guiEditing,h=F(l._preGUI,u),d=Object.keys(e),v=p.list(t),g=o.extendDeepAll({},e),y={};for(j(e),d=Object.keys(e),n=0;n<d.length;n++)if(0===d[n].indexOf("allaxes")){for(i=0;i<v.length;i++){var m=v[i]._id.substr(1),x=-1!==m.indexOf("scene")?m+".":"",w=d[n].replace("allaxes",x+v[i]._name);e[w]||(e[w]=e[d[n]])}delete e[d[n]]}var A=T.layoutFlags(),M={},S={};function E(t,r){if(Array.isArray(t))t.forEach((function(t){E(t,r)}));else if(!(t in e)&&!_.hasParent(e,t)){var n=h(a,t);t in S||(S[t]=R(n.get())),void 0!==r&&n.set(r)}}var L,C={};function P(t){var e=p.name2id(t.split(".")[0]);return C[e]=1,e}for(var O in e){if(_.hasParent(e,O))throw new Error("cannot set "+O+" and a parent attribute simultaneously");for(var I=h(a,O),D=e[O],z=I.parts.length-1;z>0&&"string"!=typeof I.parts[z];)z--;var B=I.parts[z],N=I.parts[z-1]+"."+B,U=I.parts.slice(0,z).join("."),V=s(t.layout,U).get(),H=s(l,U).get(),Y=I.get();if(void 0!==D){M[O]=D,S[O]="reverse"===B?D:R(Y);var X=f.getLayoutValObject(l,I.parts);if(X&&X.impliedEdits&&null!==D)for(var J in X.impliedEdits)E(o.relativeAttr(O,J),X.impliedEdits[J]);if(-1!==["width","height"].indexOf(O))if(D){E("autosize",null);var K="height"===O?"width":"height";E(K,l[K])}else l[O]=t._initialAutoSize[O];else if("autosize"===O)E("width",D?null:l.width),E("height",D?null:l.height);else if(N.match(q))P(N),s(l,U+"._inputRange").set(null);else if(N.match(G)){P(N),s(l,U+"._inputRange").set(null);var $=s(l,U).get();$._inputDomain&&($._input.domain=$._inputDomain.slice())}else N.match(Z)&&s(l,U+"._inputDomain").set(null);if("type"===B){L=V;var Q="linear"===H.type&&"log"===D,tt="log"===H.type&&"linear"===D;if(Q||tt){if(L&&L.range)if(H.autorange)Q&&(L.range=L.range[1]>L.range[0]?[1,2]:[2,1]);else{var et=L.range[0],rt=L.range[1];Q?(et<=0&&rt<=0&&E(U+".autorange",!0),et<=0?et=rt/1e6:rt<=0&&(rt=et/1e6),E(U+".range[0]",Math.log(et)/Math.LN10),E(U+".range[1]",Math.log(rt)/Math.LN10)):(E(U+".range[0]",Math.pow(10,et)),E(U+".range[1]",Math.pow(10,rt)))}else E(U+".autorange",!0);Array.isArray(l._subplots.polar)&&l._subplots.polar.length&&l[I.parts[0]]&&"radialaxis"===I.parts[1]&&delete l[I.parts[0]]._subplot.viewInitial["radialaxis.range"],c.getComponentMethod("annotations","convertCoords")(t,H,D,E),c.getComponentMethod("images","convertCoords")(t,H,D,E)}else E(U+".autorange",!0),E(U+".range",null);s(l,U+"._inputRange").set(null)}else if(B.match(k)){var nt=s(l,O).get(),it=(D||{}).type;it&&"-"!==it||(it="linear"),c.getComponentMethod("annotations","convertCoords")(t,nt,it,E),c.getComponentMethod("images","convertCoords")(t,nt,it,E)}var at=b.containerArrayMatch(O);if(at){r=at.array,n=at.index;var ot=at.property,st=X||{editType:"calc"};""!==n&&""===ot&&(b.isAddVal(D)?S[O]=null:b.isRemoveVal(D)?S[O]=(s(a,r).get()||[])[n]:o.warn("unrecognized full object value",e)),T.update(A,st),y[r]||(y[r]={});var lt=y[r][n];lt||(lt=y[r][n]={}),lt[ot]=D,delete e[O]}else"reverse"===B?(V.range?V.range.reverse():(E(U+".autorange",!0),V.range=[1,0]),H.autorange?A.calc=!0:A.plot=!0):("dragmode"===O&&(!1===D&&!1!==Y||!1!==D&&!1===Y)||l._has("scatter-like")&&l._has("regl")&&"dragmode"===O&&("lasso"===D||"select"===D)&&"lasso"!==Y&&"select"!==Y||l._has("gl2d")?A.plot=!0:X?T.update(A,X):A.calc=!0,I.set(D))}}for(r in y)b.applyContainerArrayChanges(t,h(a,r),y[r],A,h)||(A.plot=!0);for(var ut in C){var ct=(L=p.getFromId(t,ut))&&L._constraintGroup;if(ct)for(var ft in A.calc=!0,ct)C[ft]||(p.getFromId(t,ft)._constraintShrinkable=!0)}return(W(t)||e.height||e.width)&&(A.plot=!0),(A.plot||A.calc)&&(A.layoutReplot=!0),{flags:A,rangesAltered:C,undoit:S,redoit:M,eventData:g}}function W(t){var e=t._fullLayout,r=e.width,n=e.height;return t.layout.autosize&&h.plotAutoSize(t,t.layout,e),e.width!==r||e.height!==n}function X(t,r,n,i){t=o.getGraphDiv(t),_.clearPromiseQueue(t),o.isPlainObject(r)||(r={}),o.isPlainObject(n)||(n={}),Object.keys(r).length&&(t.changed=!0),Object.keys(n).length&&(t.changed=!0);var a=_.coerceTraceIndices(t,i),s=N(t,o.extendFlat({},r),a),l=s.flags,c=Y(t,o.extendFlat({},n)),f=c.flags;(l.calc||f.calc)&&(t.calcdata=void 0),l.clearAxisTypes&&_.clearAxisTypes(t,a,n);var p=[];f.layoutReplot?p.push(w.layoutReplot):l.fullReplot?p.push(e._doPlot):(p.push(h.previousPromises),V(t,f,c)||h.supplyDefaults(t),l.style&&p.push(w.doTraceStyle),(l.colorbars||f.colorbars)&&p.push(w.doColorBars),f.legend&&p.push(w.doLegend),f.layoutstyle&&p.push(w.layoutStyles),f.axrange&&H(p,c.rangesAltered),f.ticks&&p.push(w.doTicksRelayout),f.modebar&&p.push(w.doModeBar),f.camera&&p.push(w.doCamera),p.push(M)),p.push(h.rehover,h.redrag,h.reselect),u.add(t,X,[t,s.undoit,c.undoit,s.traces],X,[t,s.redoit,c.redoit,s.traces]);var d=o.syncOrAsync(p,t);return d&&d.then||(d=Promise.resolve(t)),d.then((function(){return t.emit("plotly_update",{data:s.eventData,layout:c.eventData}),t}))}function J(t){return function(e){e._fullLayout._guiEditing=!0;var r=t.apply(null,arguments);return e._fullLayout._guiEditing=!1,r}}var K=[{pattern:/^hiddenlabels/,attr:"legend.uirevision"},{pattern:/^((x|y)axis\d*)\.((auto)?range|title\.text)/},{pattern:/axis\d*\.showspikes$/,attr:"modebar.uirevision"},{pattern:/(hover|drag)mode$/,attr:"modebar.uirevision"},{pattern:/^(scene\d*)\.camera/},{pattern:/^(geo\d*)\.(projection|center|fitbounds)/},{pattern:/^(ternary\d*\.[abc]axis)\.(min|title\.text)$/},{pattern:/^(polar\d*\.radialaxis)\.((auto)?range|angle|title\.text)/},{pattern:/^(polar\d*\.angularaxis)\.rotation/},{pattern:/^(mapbox\d*)\.(center|zoom|bearing|pitch)/},{pattern:/^legend\.(x|y)$/,attr:"editrevision"},{pattern:/^(shapes|annotations)/,attr:"editrevision"},{pattern:/^title\.text$/,attr:"editrevision"}],$=[{pattern:/^selectedpoints$/,attr:"selectionrevision"},{pattern:/(^|value\.)visible$/,attr:"legend.uirevision"},{pattern:/^dimensions\[\d+\]\.constraintrange/},{pattern:/^node\.(x|y|groups)/},{pattern:/^level$/},{pattern:/(^|value\.)name$/},{pattern:/colorbar\.title\.text$/},{pattern:/colorbar\.(x|y)$/,attr:"editrevision"}];function Q(t,e){for(var r=0;r<e.length;r++){var n=e[r],i=t.match(n.pattern);if(i){var a=i[1]||"";return{head:a,tail:t.substr(a.length+1),attr:n.attr}}}}function tt(t,e){var r=s(e,t).get();if(void 0!==r)return r;var n=t.split(".");for(n.pop();n.length>1;)if(n.pop(),void 0!==(r=s(e,n.join(".")+".uirevision").get()))return r;return e.uirevision}function et(t,e){for(var r=0;r<e.length;r++)if(e[r]._fullInput.uid===t)return r;return-1}function rt(t,e,r){for(var n=0;n<e.length;n++)if(e[n].uid===t)return n;return!e[r]||e[r].uid?-1:r}function nt(t,e){var r=o.isPlainObject(t),n=Array.isArray(t);return r||n?(r&&o.isPlainObject(e)||n&&Array.isArray(e))&&JSON.stringify(t)===JSON.stringify(e):t===e}function it(t,e,r,n){var i,a,l,u=n.getValObject,c=n.flags,f=n.immutable,h=n.inArray,p=n.arrayIndex;function d(){var t=i.editType;h&&-1!==t.indexOf("arraydraw")?o.pushUnique(c.arrays[h],p):(T.update(c,i),"none"!==t&&c.nChanges++,n.transition&&i.anim&&c.nChangesAnim++,(q.test(l)||G.test(l))&&(c.rangesAltered[r[0]]=1),Z.test(l)&&s(e,"_inputDomain").set(null),"datarevision"===a&&(c.newDataRevision=1))}function v(t){return"data_array"===t.valType||t.arrayOk}for(a in t){if(c.calc&&!n.transition)return;var g=t[a],y=e[a],m=r.concat(a);if(l=m.join("."),"_"!==a.charAt(0)&&"function"!=typeof g&&g!==y){if(("tick0"===a||"dtick"===a)&&"geo"!==r[0]){var x=e.tickmode;if("auto"===x||"array"===x||!x)continue}if(("range"!==a||!e.autorange)&&("zmin"!==a&&"zmax"!==a||"contourcarpet"!==e.type)&&(i=u(m))&&(!i._compareAsJSON||JSON.stringify(g)!==JSON.stringify(y))){var b,_=i.valType,w=v(i),k=Array.isArray(g),A=Array.isArray(y);if(k&&A){var M="_input_"+a,S=t[M],E=e[M];if(Array.isArray(S)&&S===E)continue}if(void 0===y)w&&k?c.calc=!0:d();else if(i._isLinkedToArray){var L=[],C=!1;h||(c.arrays[a]=L);var P=Math.min(g.length,y.length),O=Math.max(g.length,y.length);if(P!==O){if("arraydraw"!==i.editType){d();continue}C=!0}for(b=0;b<P;b++)it(g[b],y[b],m.concat(b),o.extendFlat({inArray:a,arrayIndex:b},n));if(C)for(b=P;b<O;b++)L.push(b)}else!_&&o.isPlainObject(g)?it(g,y,m,n):w?k&&A?(f&&(c.calc=!0),(f||n.newDataRevision)&&d()):k!==A?c.calc=!0:d():k&&A&&g.length===y.length&&String(g)===String(y)||d()}}}for(a in e)if(!(a in t)&&"_"!==a.charAt(0)&&"function"!=typeof e[a]){if(v(i=u(r.concat(a)))&&Array.isArray(e[a]))return void(c.calc=!0);d()}}function at(t,e){var r;for(r in t)if("_"!==r.charAt(0)){var n=t[r],i=e[r];if(n!==i)if(o.isPlainObject(n)&&o.isPlainObject(i)){if(at(n,i))return!0}else{if(!Array.isArray(n)||!Array.isArray(i))return!0;if(n.length!==i.length)return!0;for(var a=0;a<n.length;a++)if(n[a]!==i[a]){if(!o.isPlainObject(n[a])||!o.isPlainObject(i[a]))return!0;if(at(n[a],i[a]))return!0}}}}function ot(t){var e=t._fullLayout,r=t.getBoundingClientRect();if(!o.equalDomRects(r,e._lastBBox)){var n=e._invTransform=o.inverseTransformMatrix(o.getFullTransformMatrix(t));e._invScaleX=Math.sqrt(n[0][0]*n[0][0]+n[0][1]*n[0][1]+n[0][2]*n[0][2]),e._invScaleY=Math.sqrt(n[1][0]*n[1][0]+n[1][1]*n[1][1]+n[1][2]*n[1][2]),e._lastBBox=r}}e.animate=function(t,e,r){if(t=o.getGraphDiv(t),!o.isPlotDiv(t))throw new Error("This element is not a Plotly plot: "+t+". It's likely that you've failed to create a plot before animating it. For more details, see https://plotly.com/javascript/animations/");var n=t._transitionData;n._frameQueue||(n._frameQueue=[]);var i=(r=h.supplyAnimationDefaults(r)).transition,a=r.frame;function s(t){return Array.isArray(i)?t>=i.length?i[0]:i[t]:i}function l(t){return Array.isArray(a)?t>=a.length?a[0]:a[t]:a}function u(t,e){var r=0;return function(){if(t&&++r===e)return t()}}return void 0===n._frameWaitingCnt&&(n._frameWaitingCnt=0),new Promise((function(a,c){function f(){t.emit("plotly_animating"),n._lastFrameAt=-1/0,n._timeToNext=0,n._runningTransitions=0,n._currentFrame=null;var e=function(){n._animationRaf=window.requestAnimationFrame(e),Date.now()-n._lastFrameAt>n._timeToNext&&function(){n._currentFrame&&n._currentFrame.onComplete&&n._currentFrame.onComplete();var e=n._currentFrame=n._frameQueue.shift();if(e){var r=e.name?e.name.toString():null;t._fullLayout._currentFrame=r,n._lastFrameAt=Date.now(),n._timeToNext=e.frameOpts.duration,h.transition(t,e.frame.data,e.frame.layout,_.coerceTraceIndices(t,e.frame.traces),e.frameOpts,e.transitionOpts).then((function(){e.onComplete&&e.onComplete()})),t.emit("plotly_animatingframe",{name:r,frame:e.frame,animation:{frame:e.frameOpts,transition:e.transitionOpts}})}else t.emit("plotly_animated"),window.cancelAnimationFrame(n._animationRaf),n._animationRaf=null}()};e()}var p,d,v=0;function g(t){return Array.isArray(i)?v>=i.length?t.transitionOpts=i[v]:t.transitionOpts=i[0]:t.transitionOpts=i,v++,t}var y=[],m=null==e,x=Array.isArray(e);if(m||x||!o.isPlainObject(e)){if(m||-1!==["string","number"].indexOf(typeof e))for(p=0;p<n._frames.length;p++)(d=n._frames[p])&&(m||String(d.group)===String(e))&&y.push({type:"byname",name:String(d.name),data:g({name:d.name})});else if(x)for(p=0;p<e.length;p++){var b=e[p];-1!==["number","string"].indexOf(typeof b)?(b=String(b),y.push({type:"byname",name:b,data:g({name:b})})):o.isPlainObject(b)&&y.push({type:"object",data:g(o.extendFlat({},b))})}}else y.push({type:"object",data:g(o.extendFlat({},e))});for(p=0;p<y.length;p++)if("byname"===(d=y[p]).type&&!n._frameHash[d.data.name])return o.warn('animate failure: frame not found: "'+d.data.name+'"'),void c();-1!==["next","immediate"].indexOf(r.mode)&&function(){if(0!==n._frameQueue.length){for(;n._frameQueue.length;){var e=n._frameQueue.pop();e.onInterrupt&&e.onInterrupt()}t.emit("plotly_animationinterrupted",[])}}(),"reverse"===r.direction&&y.reverse();var w=t._fullLayout._currentFrame;if(w&&r.fromcurrent){var T=-1;for(p=0;p<y.length;p++)if("byname"===(d=y[p]).type&&d.name===w){T=p;break}if(T>0&&T<y.length-1){var k=[];for(p=0;p<y.length;p++)d=y[p],("byname"!==y[p].type||p>T)&&k.push(d);y=k}}y.length>0?function(e){if(0!==e.length){for(var i=0;i<e.length;i++){var o;o="byname"===e[i].type?h.computeFrame(t,e[i].name):e[i].data;var p=l(i),d=s(i);d.duration=Math.min(d.duration,p.duration);var v={frame:o,name:e[i].name,frameOpts:p,transitionOpts:d};i===e.length-1&&(v.onComplete=u(a,2),v.onInterrupt=c),n._frameQueue.push(v)}"immediate"===r.mode&&(n._lastFrameAt=-1/0),n._animationRaf||f()}}(y):(t.emit("plotly_animated"),a())}))},e.addFrames=function(t,e,r){if(t=o.getGraphDiv(t),null==e)return Promise.resolve();if(!o.isPlotDiv(t))throw new Error("This element is not a Plotly plot: "+t+". It's likely that you've failed to create a plot before adding frames. For more details, see https://plotly.com/javascript/animations/");var n,i,a,s,l=t._transitionData._frames,c=t._transitionData._frameHash;if(!Array.isArray(e))throw new Error("addFrames failure: frameList must be an Array of frame definitions"+e);var f=l.length+2*e.length,p=[],d={};for(n=e.length-1;n>=0;n--)if(o.isPlainObject(e[n])){var v=e[n].name,g=(c[v]||d[v]||{}).name,y=e[n].name,m=c[g]||d[g];g&&y&&"number"==typeof y&&m&&A<5&&(A++,o.warn('addFrames: overwriting frame "'+(c[g]||d[g]).name+'" with a frame whose name of type "number" also equates to "'+g+'". This is valid but may potentially lead to unexpected behavior since all plotly.js frame names are stored internally as strings.'),5===A&&o.warn("addFrames: This API call has yielded too many of these warnings. For the rest of this call, further warnings about numeric frame names will be suppressed.")),d[v]={name:v},p.push({frame:h.supplyFrameDefaults(e[n]),index:r&&void 0!==r[n]&&null!==r[n]?r[n]:f+n})}p.sort((function(t,e){return t.index>e.index?-1:t.index<e.index?1:0}));var x=[],b=[],_=l.length;for(n=p.length-1;n>=0;n--){if("number"==typeof(i=p[n].frame).name&&o.warn("Warning: addFrames accepts frames with numeric names, but the numbers areimplicitly cast to strings"),!i.name)for(;c[i.name="frame "+t._transitionData._counter++];);if(c[i.name]){for(a=0;a<l.length&&(l[a]||{}).name!==i.name;a++);x.push({type:"replace",index:a,value:i}),b.unshift({type:"replace",index:a,value:l[a]})}else s=Math.max(0,Math.min(p[n].index,_)),x.push({type:"insert",index:s,value:i}),b.unshift({type:"delete",index:s}),_++}var w=h.modifyFrames,T=h.modifyFrames,k=[t,b],M=[t,x];return u&&u.add(t,w,k,T,M),h.modifyFrames(t,x)},e.deleteFrames=function(t,e){if(t=o.getGraphDiv(t),!o.isPlotDiv(t))throw new Error("This element is not a Plotly plot: "+t);var r,n,i=t._transitionData._frames,a=[],s=[];if(!e)for(e=[],r=0;r<i.length;r++)e.push(r);for((e=e.slice()).sort(),r=e.length-1;r>=0;r--)n=e[r],a.push({type:"delete",index:n}),s.unshift({type:"insert",index:n,value:i[n]});var l=h.modifyFrames,c=h.modifyFrames,f=[t,s],p=[t,a];return u&&u.add(t,l,f,c,p),h.modifyFrames(t,a)},e.addTraces=function t(r,n,i){r=o.getGraphDiv(r);var a,s,l=[],c=e.deleteTraces,f=t,h=[r,l],p=[r,n];for(function(t,e,r){var n,i;if(!Array.isArray(t.data))throw new Error("gd.data must be an array.");if(void 0===e)throw new Error("traces must be defined.");for(Array.isArray(e)||(e=[e]),n=0;n<e.length;n++)if("object"!=typeof(i=e[n])||Array.isArray(i)||null===i)throw new Error("all values in traces array must be non-array objects");if(void 0===r||Array.isArray(r)||(r=[r]),void 0!==r&&r.length!==e.length)throw new Error("if indices is specified, traces.length must equal indices.length")}(r,n,i),Array.isArray(n)||(n=[n]),n=n.map((function(t){return o.extendFlat({},t)})),_.cleanData(n),a=0;a<n.length;a++)r.data.push(n[a]);for(a=0;a<n.length;a++)l.push(-n.length+a);if(void 0===i)return s=e.redraw(r),u.add(r,c,h,f,p),s;Array.isArray(i)||(i=[i]);try{O(r,l,i)}catch(t){throw r.data.splice(r.data.length-n.length,n.length),t}return u.startSequence(r),u.add(r,c,h,f,p),s=e.moveTraces(r,l,i),u.stopSequence(r),s},e.deleteTraces=function t(r,n){r=o.getGraphDiv(r);var i,a,s=[],l=e.addTraces,c=t,f=[r,s,n],h=[r,n];if(void 0===n)throw new Error("indices must be an integer or array of integers.");for(Array.isArray(n)||(n=[n]),P(r,n,"indices"),(n=C(n,r.data.length-1)).sort(o.sorterDes),i=0;i<n.length;i+=1)a=r.data.splice(n[i],1)[0],s.push(a);var p=e.redraw(r);return u.add(r,l,f,c,h),p},e.extendTraces=function t(r,n,i,a){function s(t,e,r){var n,i;if(o.isTypedArray(t))if(r<0){var a=new t.constructor(0),s=D(t,e);r<0?(n=s,i=a):(n=a,i=s)}else if(n=new t.constructor(r),i=new t.constructor(t.length+e.length-r),r===e.length)n.set(e),i.set(t);else if(r<e.length){var l=e.length-r;n.set(e.subarray(l)),i.set(t),i.set(e.subarray(0,l),t.length)}else{var u=r-e.length,c=t.length-u;n.set(t.subarray(c)),n.set(e,u),i.set(t.subarray(0,c))}else n=t.concat(e),i=r>=0&&r<n.length?n.splice(0,n.length-r):[];return[n,i]}var l=I(r=o.getGraphDiv(r),n,i,a,s),c=e.redraw(r),f=[r,l.update,i,l.maxPoints];return u.add(r,e.prependTraces,f,t,arguments),c},e.moveTraces=function t(r,n,i){var a,s=[],l=[],c=t,f=t,h=[r=o.getGraphDiv(r),i,n],p=[r,n,i];if(O(r,n,i),n=Array.isArray(n)?n:[n],void 0===i)for(i=[],a=0;a<n.length;a++)i.push(-n.length+a);for(i=Array.isArray(i)?i:[i],n=C(n,r.data.length-1),i=C(i,r.data.length-1),a=0;a<r.data.length;a++)-1===n.indexOf(a)&&s.push(r.data[a]);for(a=0;a<n.length;a++)l.push({newIndex:i[a],trace:r.data[n[a]]});for(l.sort((function(t,e){return t.newIndex-e.newIndex})),a=0;a<l.length;a+=1)s.splice(l[a].newIndex,0,l[a].trace);r.data=s;var d=e.redraw(r);return u.add(r,c,h,f,p),d},e.prependTraces=function t(r,n,i,a){function s(t,e,r){var n,i;if(o.isTypedArray(t))if(r<=0){var a=new t.constructor(0),s=D(e,t);r<0?(n=s,i=a):(n=a,i=s)}else if(n=new t.constructor(r),i=new t.constructor(t.length+e.length-r),r===e.length)n.set(e),i.set(t);else if(r<e.length){var l=e.length-r;n.set(e.subarray(0,l)),i.set(e.subarray(l)),i.set(t,l)}else{var u=r-e.length;n.set(e),n.set(t.subarray(0,u),e.length),i.set(t.subarray(u))}else n=e.concat(t),i=r>=0&&r<n.length?n.splice(r,n.length):[];return[n,i]}var l=I(r=o.getGraphDiv(r),n,i,a,s),c=e.redraw(r),f=[r,l.update,i,l.maxPoints];return u.add(r,e.extendTraces,f,t,arguments),c},e.newPlot=function(t,r,n,i){return t=o.getGraphDiv(t),h.cleanPlot([],{},t._fullData||[],t._fullLayout||{}),h.purge(t),e._doPlot(t,r,n,i)},e._doPlot=function(t,r,i,a){var s;if(t=o.getGraphDiv(t),l.init(t),o.isPlainObject(r)){var u=r;r=u.data,i=u.layout,a=u.config,s=u.frames}if(!1===l.triggerHandler(t,"plotly_beforeplot",[r,i,a]))return Promise.reject();r||i||o.isPlotDiv(t)||o.warn("Calling _doPlot as if redrawing but this container doesn't yet have a plot.",t),L(t,a),i||(i={}),n.select(t).classed("js-plotly-plot",!0),d.makeTester(),Array.isArray(t._promises)||(t._promises=[]);var f=0===(t.data||[]).length&&Array.isArray(r);Array.isArray(r)&&(_.cleanData(r),f?t.data=r:t.data.push.apply(t.data,r),t.empty=!1),t.layout&&!f||(t.layout=_.cleanLayout(i)),h.supplyDefaults(t);var v=t._fullLayout,m=v._has("cartesian");v._replotting=!0,(f||v._shouldCreateBgLayer)&&(function(t){var e=n.select(t),r=t._fullLayout;if(r._calcInverseTransform=ot,r._calcInverseTransform(t),r._container=e.selectAll(".plot-container").data([0]),r._container.enter().insert("div",":first-child").classed("plot-container",!0).classed("plotly",!0),r._paperdiv=r._container.selectAll(".svg-container").data([0]),r._paperdiv.enter().append("div").classed("user-select-none",!0).classed("svg-container",!0).style("position","relative"),r._glcontainer=r._paperdiv.selectAll(".gl-container").data([{}]),r._glcontainer.enter().append("div").classed("gl-container",!0),r._paperdiv.selectAll(".main-svg").remove(),r._paperdiv.select(".modebar-container").remove(),r._paper=r._paperdiv.insert("svg",":first-child").classed("main-svg",!0),r._toppaper=r._paperdiv.append("svg").classed("main-svg",!0),r._modebardiv=r._paperdiv.append("div"),delete r._modeBar,r._hoverpaper=r._paperdiv.append("svg").classed("main-svg",!0),!r._uid){var i={};n.selectAll("defs").each((function(){this.id&&(i[this.id.split("-")[1]]=1)})),r._uid=o.randstr(i)}r._paperdiv.selectAll(".main-svg").attr(y.svgAttrs),r._defs=r._paper.append("defs").attr("id","defs-"+r._uid),r._clips=r._defs.append("g").classed("clips",!0),r._topdefs=r._toppaper.append("defs").attr("id","topdefs-"+r._uid),r._topclips=r._topdefs.append("g").classed("clips",!0),r._bgLayer=r._paper.append("g").classed("bglayer",!0),r._draggers=r._paper.append("g").classed("draglayer",!0);var a=r._paper.append("g").classed("layer-below",!0);r._imageLowerLayer=a.append("g").classed("imagelayer",!0),r._shapeLowerLayer=a.append("g").classed("shapelayer",!0),r._cartesianlayer=r._paper.append("g").classed("cartesianlayer",!0),r._polarlayer=r._paper.append("g").classed("polarlayer",!0),r._smithlayer=r._paper.append("g").classed("smithlayer",!0),r._ternarylayer=r._paper.append("g").classed("ternarylayer",!0),r._geolayer=r._paper.append("g").classed("geolayer",!0),r._funnelarealayer=r._paper.append("g").classed("funnelarealayer",!0),r._pielayer=r._paper.append("g").classed("pielayer",!0),r._iciclelayer=r._paper.append("g").classed("iciclelayer",!0),r._treemaplayer=r._paper.append("g").classed("treemaplayer",!0),r._sunburstlayer=r._paper.append("g").classed("sunburstlayer",!0),r._indicatorlayer=r._toppaper.append("g").classed("indicatorlayer",!0),r._glimages=r._paper.append("g").classed("glimages",!0);var s=r._toppaper.append("g").classed("layer-above",!0);r._imageUpperLayer=s.append("g").classed("imagelayer",!0),r._shapeUpperLayer=s.append("g").classed("shapelayer",!0),r._selectionLayer=r._toppaper.append("g").classed("selectionlayer",!0),r._infolayer=r._toppaper.append("g").classed("infolayer",!0),r._menulayer=r._toppaper.append("g").classed("menulayer",!0),r._zoomlayer=r._toppaper.append("g").classed("zoomlayer",!0),r._hoverlayer=r._hoverpaper.append("g").classed("hoverlayer",!0),r._modebardiv.classed("modebar-container",!0).style("position","absolute").style("top","0px").style("right","0px"),t.emit("plotly_framework")}(t),v._shouldCreateBgLayer&&delete v._shouldCreateBgLayer),d.initGradients(t),d.initPatterns(t),f&&p.saveShowSpikeInitial(t);var x=!t.calcdata||t.calcdata.length!==(t._fullData||[]).length;x&&h.doCalcdata(t);for(var b=0;b<t.calcdata.length;b++)t.calcdata[b][0].trace=t._fullData[b];t._context.responsive?t._responsiveChartHandler||(t._responsiveChartHandler=function(){o.isHidden(t)||h.resize(t)},window.addEventListener("resize",t._responsiveChartHandler)):o.clearResponsive(t);var T=o.extendFlat({},v._size),k=0;function A(){if(h.clearAutoMarginIds(t),w.drawMarginPushers(t),p.allowAutoMargin(t),v._has("pie"))for(var e=t._fullData,r=0;r<e.length;r++){var n=e[r];"pie"===n.type&&n.automargin&&h.allowAutoMargin(t,"pie."+n.uid+".automargin")}return h.doAutoMargin(t),h.previousPromises(t)}function S(){t._transitioning||(w.doAutoRangeAndConstraints(t),f&&p.saveRangeInitial(t),c.getComponentMethod("rangeslider","calcAutorange")(t))}var E=[h.previousPromises,function(){if(s)return e.addFrames(t,s)},function e(){for(var r=v._basePlotModules,n=0;n<r.length;n++)r[n].drawFramework&&r[n].drawFramework(t);!v._glcanvas&&v._has("gl")&&(v._glcanvas=v._glcontainer.selectAll(".gl-canvas").data([{key:"contextLayer",context:!0,pick:!1},{key:"focusLayer",context:!1,pick:!1},{key:"pickLayer",context:!1,pick:!0}],(function(t){return t.key})),v._glcanvas.enter().append("canvas").attr("class",(function(t){return"gl-canvas gl-canvas-"+t.key.replace("Layer","")})).style({position:"absolute",top:0,left:0,overflow:"visible","pointer-events":"none"}));var i=t._context.plotGlPixelRatio;if(v._glcanvas){v._glcanvas.attr("width",v.width*i).attr("height",v.height*i).style("width",v.width+"px").style("height",v.height+"px");var a=v._glcanvas.data()[0].regl;if(a&&(Math.floor(v.width*i)!==a._gl.drawingBufferWidth||Math.floor(v.height*i)!==a._gl.drawingBufferHeight)){var s="WebGL context buffer and canvas dimensions do not match due to browser/WebGL bug.";if(!k)return o.log(s+" Clearing graph and plotting again."),h.cleanPlot([],{},t._fullData,v),h.supplyDefaults(t),v=t._fullLayout,h.doCalcdata(t),k++,e();o.error(s)}}return"h"===v.modebar.orientation?v._modebardiv.style("height",null).style("width","100%"):v._modebardiv.style("width",null).style("height",v.height+"px"),h.previousPromises(t)},A,function(){if(h.didMarginChange(T,v._size))return o.syncOrAsync([A,w.layoutStyles],t)}];m&&E.push((function(){if(x)return o.syncOrAsync([c.getComponentMethod("shapes","calcAutorange"),c.getComponentMethod("annotations","calcAutorange"),S],t);S()})),E.push(w.layoutStyles),m&&E.push((function(){return p.draw(t,f?"":"redraw")}),(function(t){t._fullLayout._insideTickLabelsAutorange&&U(t,t._fullLayout._insideTickLabelsAutorange).then((function(){t._fullLayout._insideTickLabelsAutorange=void 0}))})),E.push(w.drawData,w.finalDraw,g,h.addLinks,h.rehover,h.redrag,h.reselect,h.doAutoMargin,(function(t){t._fullLayout._insideTickLabelsAutorange&&f&&p.saveRangeInitial(t,!0)}),h.previousPromises);var C=o.syncOrAsync(E,t);return C&&C.then||(C=Promise.resolve()),C.then((function(){return M(t),t}))},e.purge=function(t){var e=(t=o.getGraphDiv(t))._fullLayout||{},r=t._fullData||[];return h.cleanPlot([],{},r,e),h.purge(t),l.purge(t),e._container&&e._container.remove(),delete t._context,t},e.react=function(t,r,n,i){var a,l;t=o.getGraphDiv(t),_.clearPromiseQueue(t);var u=t._fullData,p=t._fullLayout;if(o.isPlotDiv(t)&&u&&p){if(o.isPlainObject(r)){var d=r;r=d.data,n=d.layout,i=d.config,a=d.frames}var v=!1;if(i){var g=o.extendDeep({},t._context);t._context=void 0,L(t,i),v=at(g,t._context)}t.data=r||[],_.cleanData(t.data),t.layout=n||{},_.cleanLayout(t.layout),function(t,e,r,n){var i,a,l,u,c,f,h,p,d,v,g=n._preGUI,y=[],m={},x={};for(i in g){if(c=Q(i,K)){if(d=c.head,v=c.tail,a=c.attr||d+".uirevision",(u=(l=s(n,a).get())&&tt(a,e))&&u===l){if(null===(f=g[i])&&(f=void 0),nt(p=(h=s(e,i)).get(),f)){void 0===p&&"autorange"===v&&y.push(d),h.set(R(s(n,i).get()));continue}if("autorange"===v||"range["===v.substr(0,6)){var b=g[d+".range[0]"],_=g[d+".range[1]"],w=g[d+".autorange"];if(w||null===w&&null===b&&null===_){if(!(d in m)){var T=s(e,d).get();m[d]=T&&(T.autorange||!1!==T.autorange&&(!T.range||2!==T.range.length))}if(m[d]){h.set(R(s(n,i).get()));continue}}}}}else o.warn("unrecognized GUI edit: "+i);delete g[i],c&&"range["===c.tail.substr(0,6)&&(x[c.head]=1)}for(var k=0;k<y.length;k++){var A=y[k];if(x[A]){var M=s(e,A).get();M&&delete M.autorange}}var S=n._tracePreGUI;for(var E in S){var L,C=S[E],P=null;for(i in C){if(!P){var O=et(E,r);if(O<0){delete S[E];break}var I=rt(E,t,(L=r[O]._fullInput).index);if(I<0){delete S[E];break}P=t[I]}if(c=Q(i,$)){if(c.attr?u=(l=s(n,c.attr).get())&&tt(c.attr,e):(l=L.uirevision,void 0===(u=P.uirevision)&&(u=e.uirevision)),u&&u===l&&(null===(f=C[i])&&(f=void 0),nt(p=(h=s(P,i)).get(),f))){h.set(R(s(L,i).get()));continue}}else o.warn("unrecognized GUI edit: "+i+" in trace uid "+E);delete C[i]}}}(t.data,t.layout,u,p),h.supplyDefaults(t,{skipUpdateCalc:!0});var y=t._fullData,m=t._fullLayout,x=void 0===m.datarevision,b=m.transition,k=function(t,e,r,n,i){var a=T.layoutFlags();return a.arrays={},a.rangesAltered={},a.nChanges=0,a.nChangesAnim=0,it(e,r,[],{getValObject:function(t){return f.getLayoutValObject(r,t)},flags:a,immutable:n,transition:i,gd:t}),(a.plot||a.calc)&&(a.layoutReplot=!0),i&&a.nChanges&&a.nChangesAnim&&(a.anim=a.nChanges===a.nChangesAnim?"all":"some"),a}(t,p,m,x,b),A=k.newDataRevision,S=function(t,e,r,n,i,a){var o=e.length===r.length;if(!i&&!o)return{fullReplot:!0,calc:!0};var s,l,u=T.traceFlags();u.arrays={},u.nChanges=0,u.nChangesAnim=0;var c={getValObject:function(t){var e=f.getTraceValObject(l,t);return!l._module.animatable&&e.anim&&(e.anim=!1),e},flags:u,immutable:n,transition:i,newDataRevision:a,gd:t},p={};for(s=0;s<e.length;s++)if(r[s]){if(l=r[s]._fullInput,h.hasMakesDataTransform(l)&&(l=r[s]),p[l.uid])continue;p[l.uid]=1,it(e[s]._fullInput,l,[],c)}return(u.calc||u.plot)&&(u.fullReplot=!0),i&&u.nChanges&&u.nChangesAnim&&(u.anim=u.nChanges===u.nChangesAnim&&o?"all":"some"),u}(t,u,y,x,b,A);if(W(t)&&(k.layoutReplot=!0),S.calc||k.calc){t.calcdata=void 0;for(var E=Object.getOwnPropertyNames(m),C=0;C<E.length;C++){var P=E[C],O=P.substring(0,5);if("xaxis"===O||"yaxis"===O){var I=m[P]._emptyCategories;I&&I()}}}else h.supplyDefaultsUpdateCalc(t.calcdata,y);var D=[];if(a&&(t._transitionData={},h.createTransitionData(t),D.push((function(){return e.addFrames(t,a)}))),m.transition&&!v&&(S.anim||k.anim))k.ticks&&D.push(w.doTicksRelayout),h.doCalcdata(t),w.doAutoRangeAndConstraints(t),D.push((function(){return h.transitionFromReact(t,S,k,p)}));else if(S.fullReplot||k.layoutReplot||v)t._fullLayout._skipDefaults=!0,D.push(e._doPlot);else{for(var z in k.arrays){var F=k.arrays[z];if(F.length){var B=c.getComponentMethod(z,"drawOne");if(B!==o.noop)for(var N=0;N<F.length;N++)B(t,F[N]);else{var j=c.getComponentMethod(z,"draw");if(j===o.noop)throw new Error("cannot draw components: "+z);j(t)}}}D.push(h.previousPromises),S.style&&D.push(w.doTraceStyle),(S.colorbars||k.colorbars)&&D.push(w.doColorBars),k.legend&&D.push(w.doLegend),k.layoutstyle&&D.push(w.layoutStyles),k.axrange&&H(D),k.ticks&&D.push(w.doTicksRelayout),k.modebar&&D.push(w.doModeBar),k.camera&&D.push(w.doCamera),D.push(M)}D.push(h.rehover,h.redrag,h.reselect),(l=o.syncOrAsync(D,t))&&l.then||(l=Promise.resolve(t))}else l=e.newPlot(t,r,n,i);return l.then((function(){return t.emit("plotly_react",{data:r,layout:n}),t}))},e.redraw=function(t){if(t=o.getGraphDiv(t),!o.isPlotDiv(t))throw new Error("This element is not a Plotly plot: "+t);return _.cleanData(t.data),_.cleanLayout(t.layout),t.calcdata=void 0,e._doPlot(t).then((function(){return t.emit("plotly_redraw"),t}))},e.relayout=U,e.restyle=z,e.setPlotConfig=function(t){return o.extendFlat(x,t)},e.update=X,e._guiRelayout=J(U),e._guiRestyle=J(z),e._guiUpdate=J(X),e._storeDirectGUIEdit=function(t,e,r){for(var n in r)B(n,s(t,n).get(),r[n],e)}},72075:function(t){"use strict";var e={staticPlot:{valType:"boolean",dflt:!1},typesetMath:{valType:"boolean",dflt:!0},plotlyServerURL:{valType:"string",dflt:""},editable:{valType:"boolean",dflt:!1},edits:{annotationPosition:{valType:"boolean",dflt:!1},annotationTail:{valType:"boolean",dflt:!1},annotationText:{valType:"boolean",dflt:!1},axisTitleText:{valType:"boolean",dflt:!1},colorbarPosition:{valType:"boolean",dflt:!1},colorbarTitleText:{valType:"boolean",dflt:!1},legendPosition:{valType:"boolean",dflt:!1},legendText:{valType:"boolean",dflt:!1},shapePosition:{valType:"boolean",dflt:!1},titleText:{valType:"boolean",dflt:!1}},editSelection:{valType:"boolean",dflt:!0},autosizable:{valType:"boolean",dflt:!1},responsive:{valType:"boolean",dflt:!1},fillFrame:{valType:"boolean",dflt:!1},frameMargins:{valType:"number",dflt:0,min:0,max:.5},scrollZoom:{valType:"flaglist",flags:["cartesian","gl3d","geo","mapbox"],extras:[!0,!1],dflt:"gl3d+geo+mapbox"},doubleClick:{valType:"enumerated",values:[!1,"reset","autosize","reset+autosize"],dflt:"reset+autosize"},doubleClickDelay:{valType:"number",dflt:300,min:0},showAxisDragHandles:{valType:"boolean",dflt:!0},showAxisRangeEntryBoxes:{valType:"boolean",dflt:!0},showTips:{valType:"boolean",dflt:!0},showLink:{valType:"boolean",dflt:!1},linkText:{valType:"string",dflt:"Edit chart",noBlank:!0},sendData:{valType:"boolean",dflt:!0},showSources:{valType:"any",dflt:!1},displayModeBar:{valType:"enumerated",values:["hover",!0,!1],dflt:"hover"},showSendToCloud:{valType:"boolean",dflt:!1},showEditInChartStudio:{valType:"boolean",dflt:!1},modeBarButtonsToRemove:{valType:"any",dflt:[]},modeBarButtonsToAdd:{valType:"any",dflt:[]},modeBarButtons:{valType:"any",dflt:!1},toImageButtonOptions:{valType:"any",dflt:{}},displaylogo:{valType:"boolean",dflt:!0},watermark:{valType:"boolean",dflt:!1},plotGlPixelRatio:{valType:"number",dflt:2,min:1,max:4},setBackground:{valType:"any",dflt:"transparent"},topojsonURL:{valType:"string",noBlank:!0,dflt:"https://cdn.plot.ly/"},mapboxAccessToken:{valType:"string",dflt:null},logging:{valType:"integer",min:0,max:2,dflt:1},notifyOnLogging:{valType:"integer",min:0,max:2,dflt:0},queueLength:{valType:"integer",min:0,dflt:0},globalTransforms:{valType:"any",dflt:[]},locale:{valType:"string",dflt:"en-US"},locales:{valType:"any",dflt:{}}},r={};!function t(e,r){for(var n in e){var i=e[n];i.valType?r[n]=i.dflt:(r[n]||(r[n]={}),t(i,r[n]))}}(e,r),t.exports={configAttributes:e,dfltConfig:r}},86281:function(t,e,r){"use strict";var n=r(73972),i=r(71828),a=r(9012),o=r(10820),s=r(31391),l=r(85594),u=r(72075).configAttributes,c=r(30962),f=i.extendDeepAll,h=i.isPlainObject,p=i.isArrayOrTypedArray,d=i.nestedProperty,v=i.valObjectMeta,g="_isSubplotObj",y="_isLinkedToArray",m="_deprecated",x=[g,y,"_arrayAttrRegexps",m];function b(t,e,r){if(!t)return!1;if(t._isLinkedToArray)if(_(e[r]))r++;else if(r<e.length)return!1;for(;r<e.length;r++){var n=t[e[r]];if(!h(n))break;if(t=n,r===e.length-1)break;if(t._isLinkedToArray){if(!_(e[++r]))return!1}else if("info_array"===t.valType){var i=e[++r];if(!_(i))return!1;var a=t.items;if(Array.isArray(a)){if(i>=a.length)return!1;if(2===t.dimensions){if(r++,e.length===r)return t;var o=e[r];if(!_(o))return!1;t=a[i][o]}else t=a[i]}else t=a}}return t}function _(t){return t===Math.round(t)&&t>=0}function w(){var t,e,r={};for(t in f(r,o),n.subplotsRegistry)if((e=n.subplotsRegistry[t]).layoutAttributes)if(Array.isArray(e.attr))for(var i=0;i<e.attr.length;i++)k(r,e,e.attr[i]);else k(r,e,"subplot"===e.attr?e.name:e.attr);for(t in n.componentsRegistry){var a=(e=n.componentsRegistry[t]).schema;if(a&&(a.subplots||a.layout)){var s=a.subplots;if(s&&s.xaxis&&!s.yaxis)for(var l in s.xaxis)delete r.yaxis[l];delete r.xaxis.shift,delete r.xaxis.autoshift}else"colorscale"===e.name?f(r,e.layoutAttributes):e.layoutAttributes&&A(r,e.layoutAttributes,e.name)}return{layoutAttributes:T(r)}}function T(t){return function(t){e.crawl(t,(function(t,r,n){e.isValObject(t)?!0!==t.arrayOk&&"data_array"!==t.valType||(n[r+"src"]={valType:"string",editType:"none"}):h(t)&&(t.role="object")}))}(t),function(t){e.crawl(t,(function(t,e,r){if(t){var n=t._isLinkedToArray;n&&(delete t._isLinkedToArray,r[e]={items:{}},r[e].items[n]=t,r[e].role="object")}}))}(t),function(t){!function t(e){for(var r in e)if(h(e[r]))t(e[r]);else if(Array.isArray(e[r]))for(var n=0;n<e[r].length;n++)t(e[r][n]);else e[r]instanceof RegExp&&(e[r]=e[r].toString())}(t)}(t),t}function k(t,e,r){var n=d(t,r),i=f({},e.layoutAttributes);i._isSubplotObj=!0,n.set(i)}function A(t,e,r){var n=d(t,r);n.set(f(n.get()||{},e))}e.IS_SUBPLOT_OBJ=g,e.IS_LINKED_TO_ARRAY=y,e.DEPRECATED=m,e.UNDERSCORE_ATTRS=x,e.get=function(){var t={};n.allTypes.forEach((function(r){t[r]=function(t){var r,i;i=(r=n.modules[t]._module).basePlotModule;var o={type:null},s=f({},a),l=f({},r.attributes);e.crawl(l,(function(t,e,r,n,i){d(s,i).set(void 0),void 0===t&&d(l,i).set(void 0)})),f(o,s),n.traceIs(t,"noOpacity")&&delete o.opacity,n.traceIs(t,"showLegend")||(delete o.showlegend,delete o.legendgroup),n.traceIs(t,"noHover")&&(delete o.hoverinfo,delete o.hoverlabel),r.selectPoints||delete o.selectedpoints,f(o,l),i.attributes&&f(o,i.attributes),o.type=t;var u={meta:r.meta||{},categories:r.categories||{},animatable:Boolean(r.animatable),type:t,attributes:T(o)};if(r.layoutAttributes){var c={};f(c,r.layoutAttributes),u.layoutAttributes=T(c)}return r.animatable||e.crawl(u,(function(t){e.isValObject(t)&&"anim"in t&&delete t.anim})),u}(r)}));var r,i={};return Object.keys(n.transformsRegistry).forEach((function(t){i[t]=function(t){var e=n.transformsRegistry[t],r=f({},e.attributes);return Object.keys(n.componentsRegistry).forEach((function(e){var i=n.componentsRegistry[e];i.schema&&i.schema.transforms&&i.schema.transforms[t]&&Object.keys(i.schema.transforms[t]).forEach((function(e){A(r,i.schema.transforms[t][e],e)}))})),{attributes:T(r)}}(t)})),{defs:{valObjects:v,metaKeys:x.concat(["description","role","editType","impliedEdits"]),editType:{traces:c.traces,layout:c.layout},impliedEdits:{}},traces:t,layout:w(),transforms:i,frames:(r={frames:f({},s)},T(r),r.frames),animation:T(l),config:T(u)}},e.crawl=function(t,r,n,i){var a=n||0;i=i||"",Object.keys(t).forEach((function(n){var o=t[n];if(-1===x.indexOf(n)){var s=(i?i+".":"")+n;r(o,n,t,a,s),e.isValObject(o)||h(o)&&"impliedEdits"!==n&&e.crawl(o,r,a+1,s)}}))},e.isValObject=function(t){return t&&void 0!==t.valType},e.findArrayAttributes=function(t){var r,n,i=[],o=[],s=[];function l(t,e,n,i){o=o.slice(0,i).concat([e]),s=s.slice(0,i).concat([t&&t._isLinkedToArray]),t&&("data_array"===t.valType||!0===t.arrayOk)&&("colorbar"!==o[i-1]||"ticktext"!==e&&"tickvals"!==e)&&u(r,0,"")}function u(t,e,r){var a=t[o[e]],l=r+o[e];if(e===o.length-1)p(a)&&i.push(n+l);else if(s[e]){if(Array.isArray(a))for(var c=0;c<a.length;c++)h(a[c])&&u(a[c],e+1,l+"["+c+"].")}else h(a)&&u(a,e+1,l+".")}r=t,n="",e.crawl(a,l),t._module&&t._module.attributes&&e.crawl(t._module.attributes,l);var c=t.transforms;if(c)for(var f=0;f<c.length;f++){var d=c[f],v=d._module;v&&(n="transforms["+f+"].",r=d,e.crawl(v.attributes,l))}return i},e.getTraceValObject=function(t,e){var r,i,o=e[0],s=1;if("transforms"===o){if(1===e.length)return a.transforms;var l=t.transforms;if(!Array.isArray(l)||!l.length)return!1;var u=e[1];if(!_(u)||u>=l.length)return!1;i=(r=(n.transformsRegistry[l[u].type]||{}).attributes)&&r[e[2]],s=3}else{var c=t._module;if(c||(c=(n.modules[t.type||a.type.dflt]||{})._module),!c)return!1;if(!(i=(r=c.attributes)&&r[o])){var f=c.basePlotModule;f&&f.attributes&&(i=f.attributes[o])}i||(i=a[o])}return b(i,e,s)},e.getLayoutValObject=function(t,e){var r=function(t,e){var r,i,a,s,l=t._basePlotModules;if(l){var u;for(r=0;r<l.length;r++){if((a=l[r]).attrRegex&&a.attrRegex.test(e)){if(a.layoutAttrOverrides)return a.layoutAttrOverrides;!u&&a.layoutAttributes&&(u=a.layoutAttributes)}var c=a.baseLayoutAttrOverrides;if(c&&e in c)return c[e]}if(u)return u}var f=t._modules;if(f)for(r=0;r<f.length;r++)if((s=f[r].layoutAttributes)&&e in s)return s[e];for(i in n.componentsRegistry){if("colorscale"===(a=n.componentsRegistry[i]).name&&0===e.indexOf("coloraxis"))return a.layoutAttributes[e];if(!a.schema&&e===a.name)return a.layoutAttributes}return e in o&&o[e]}(t,e[0]);return b(r,e,1)}},44467:function(t,e,r){"use strict";var n=r(71828),i=r(9012),a={name:{valType:"string",editType:"none"}};function o(t){return t&&"string"==typeof t}function s(t){var e=t.length-1;return"s"!==t.charAt(e)&&n.warn("bad argument to arrayDefaultKey: "+t),t.substr(0,t.length-1)+"defaults"}a.templateitemname={valType:"string",editType:"calc"},e.templatedArray=function(t,e){return e._isLinkedToArray=t,e.name=a.name,e.templateitemname=a.templateitemname,e},e.traceTemplater=function(t){var e,r,a={};for(e in t)r=t[e],Array.isArray(r)&&r.length&&(a[e]=0);return{newTrace:function(o){var s={type:e=n.coerce(o,{},i,"type"),_template:null};if(e in a){r=t[e];var l=a[e]%r.length;a[e]++,s._template=r[l]}return s}}},e.newContainer=function(t,e,r){var i=t._template,a=i&&(i[e]||r&&i[r]);return n.isPlainObject(a)||(a=null),t[e]={_template:a}},e.arrayTemplater=function(t,e,r){var n=t._template,i=n&&n[s(e)],a=n&&n[e];Array.isArray(a)&&a.length||(a=[]);var l={};return{newItem:function(t){var e={name:t.name,_input:t},n=e.templateitemname=t.templateitemname;if(!o(n))return e._template=i,e;for(var s=0;s<a.length;s++){var u=a[s];if(u.name===n)return l[n]=1,e._template=u,e}return e[r]=t[r]||!1,e._template=!1,e},defaultItems:function(){for(var t=[],e=0;e<a.length;e++){var r=a[e],n=r.name;if(o(n)&&!l[n]){var i={_template:r,name:n,_input:{_templateitemname:n}};i.templateitemname=r.templateitemname,t.push(i),l[n]=1}}return t}}},e.arrayDefaultKey=s,e.arrayEditor=function(t,e,r){var i=(n.nestedProperty(t,e).get()||[]).length,a=r._index,o=a>=i&&(r._input||{})._templateitemname;o&&(a=i);var s,l=e+"["+a+"]";function u(){s={},o&&(s[l]={},s[l].templateitemname=o)}function c(t,e){o?n.nestedProperty(s[l],t).set(e):s[l+"."+t]=e}function f(){var t=s;return u(),t}return u(),{modifyBase:function(t,e){s[t]=e},modifyItem:c,getUpdateObj:f,applyUpdate:function(e,r){e&&c(e,r);var i=f();for(var a in i)n.nestedProperty(t,a).set(i[a])}}}},61549:function(t,e,r){"use strict";var n=r(39898),i=r(73972),a=r(74875),o=r(71828),s=r(33306),l=r(7901),u=r(91424),c=r(92998),f=r(64168),h=r(89298),p=r(18783),d=r(99082),v=d.enforce,g=d.clean,y=r(71739).doAutoRange,m="start";function x(t,e,r){for(var n=0;n<r.length;n++){var i=r[n][0],a=r[n][1];if(!(i[0]>=t[1]||i[1]<=t[0])&&a[0]<e[1]&&a[1]>e[0])return!0}return!1}function b(t){var r,i,s,c,d,v,g=t._fullLayout,y=g._size,m=y.p,b=h.list(t,"",!0);if(g._paperdiv.style({width:t._context.responsive&&g.autosize&&!t._context._hasZeroWidth&&!t.layout.width?"100%":g.width+"px",height:t._context.responsive&&g.autosize&&!t._context._hasZeroHeight&&!t.layout.height?"100%":g.height+"px"}).selectAll(".main-svg").call(u.setSize,g.width,g.height),t._context.setBackground(t,g.paper_bgcolor),e.drawMainTitle(t),f.manage(t),!g._has("cartesian"))return a.previousPromises(t);function w(t,e,r){var n=t._lw/2;return"x"===t._id.charAt(0)?e?"top"===r?e._offset-m-n:e._offset+e._length+m+n:y.t+y.h*(1-(t.position||0))+n%1:e?"right"===r?e._offset+e._length+m+n:e._offset-m-n:y.l+y.w*(t.position||0)+n%1}for(r=0;r<b.length;r++){var k=(c=b[r])._anchorAxis;c._linepositions={},c._lw=u.crispRound(t,c.linewidth,1),c._mainLinePosition=w(c,k,c.side),c._mainMirrorPosition=c.mirror&&k?w(c,k,p.OPPOSITE_SIDE[c.side]):null}var A=[],M=[],S=[],E=1===l.opacity(g.paper_bgcolor)&&1===l.opacity(g.plot_bgcolor)&&g.paper_bgcolor===g.plot_bgcolor;for(i in g._plots)if((s=g._plots[i]).mainplot)s.bg&&s.bg.remove(),s.bg=void 0;else{var L=s.xaxis.domain,C=s.yaxis.domain,P=s.plotgroup;if(x(L,C,S)){var O=P.node(),I=s.bg=o.ensureSingle(P,"rect","bg");O.insertBefore(I.node(),O.childNodes[0]),M.push(i)}else P.select("rect.bg").remove(),S.push([L,C]),E||(A.push(i),M.push(i))}var D,z,R,F,B,N,j,U,V,H,q,G,Z,Y=g._bgLayer.selectAll(".bg").data(A);for(Y.enter().append("rect").classed("bg",!0),Y.exit().remove(),Y.each((function(t){g._plots[t].bg=n.select(this)})),r=0;r<M.length;r++)s=g._plots[M[r]],d=s.xaxis,v=s.yaxis,s.bg&&void 0!==d._offset&&void 0!==v._offset&&s.bg.call(u.setRect,d._offset-m,v._offset-m,d._length+2*m,v._length+2*m).call(l.fill,g.plot_bgcolor).style("stroke-width",0);if(!g._hasOnlyLargeSploms)for(i in g._plots){s=g._plots[i],d=s.xaxis,v=s.yaxis;var W,X,J=s.clipId="clip"+g._uid+i+"plot",K=o.ensureSingleById(g._clips,"clipPath",J,(function(t){t.classed("plotclip",!0).append("rect")}));s.clipRect=K.select("rect").attr({width:d._length,height:v._length}),u.setTranslate(s.plot,d._offset,v._offset),s._hasClipOnAxisFalse?(W=null,X=J):(W=J,X=null),u.setClipUrl(s.plot,W,t),s.layerClipId=X}function $(t){return"M"+D+","+t+"H"+z}function Q(t){return"M"+d._offset+","+t+"h"+d._length}function tt(t){return"M"+t+","+U+"V"+j}function et(t){return void 0!==v._shift&&(t+=v._shift),"M"+t+","+v._offset+"v"+v._length}function rt(t,e,r){if(!t.showline||i!==t._mainSubplot)return"";if(!t._anchorAxis)return r(t._mainLinePosition);var n=e(t._mainLinePosition);return t.mirror&&(n+=e(t._mainMirrorPosition)),n}for(i in g._plots){s=g._plots[i],d=s.xaxis,v=s.yaxis;var nt="M0,0";_(d,i)&&(B=T(d,"left",v,b),D=d._offset-(B?m+B:0),N=T(d,"right",v,b),z=d._offset+d._length+(N?m+N:0),R=w(d,v,"bottom"),F=w(d,v,"top"),!(Z=!d._anchorAxis||i!==d._mainSubplot)||"allticks"!==d.mirror&&"all"!==d.mirror||(d._linepositions[i]=[R,F]),nt=rt(d,$,Q),Z&&d.showline&&("all"===d.mirror||"allticks"===d.mirror)&&(nt+=$(R)+$(F)),s.xlines.style("stroke-width",d._lw+"px").call(l.stroke,d.showline?d.linecolor:"rgba(0,0,0,0)")),s.xlines.attr("d",nt);var it="M0,0";_(v,i)&&(q=T(v,"bottom",d,b),j=v._offset+v._length+(q?m:0),G=T(v,"top",d,b),U=v._offset-(G?m:0),V=w(v,d,"left"),H=w(v,d,"right"),!(Z=!v._anchorAxis||i!==v._mainSubplot)||"allticks"!==v.mirror&&"all"!==v.mirror||(v._linepositions[i]=[V,H]),it=rt(v,tt,et),Z&&v.showline&&("all"===v.mirror||"allticks"===v.mirror)&&(it+=tt(V)+tt(H)),s.ylines.style("stroke-width",v._lw+"px").call(l.stroke,v.showline?v.linecolor:"rgba(0,0,0,0)")),s.ylines.attr("d",it)}return h.makeClipPaths(t),a.previousPromises(t)}function _(t,e){return(t.ticks||t.showline)&&(e===t._mainSubplot||"all"===t.mirror||"allticks"===t.mirror)}function w(t,e,r){if(!r.showline||!r._lw)return!1;if("all"===r.mirror||"allticks"===r.mirror)return!0;var n=r._anchorAxis;if(!n)return!1;var i=p.FROM_BL[e];return r.side===e?n.domain[i]===t.domain[i]:r.mirror&&n.domain[1-i]===t.domain[1-i]}function T(t,e,r,n){if(w(t,e,r))return r._lw;for(var i=0;i<n.length;i++){var a=n[i];if(a._mainAxis===r._mainAxis&&w(t,e,a))return a._lw}return 0}function k(t,e){var r=t.title,n=t._size,i=0;return e===m?i=r.pad.l:"end"===e&&(i=-r.pad.r),"paper"===r.xref?n.l+n.w*r.x+i:t.width*r.x+i}function A(t,e){var r=t.title,n=t._size,i=0;return"0em"!==e&&e?e===p.CAP_SHIFT+"em"&&(i=r.pad.t):i=-r.pad.b,"auto"===r.y?n.t/2:"paper"===r.yref?n.t+n.h-n.h*r.y+i:t.height-t.height*r.y+i}e.layoutStyles=function(t){return o.syncOrAsync([a.doAutoMargin,b],t)},e.drawMainTitle=function(t){var e=t._fullLayout,r=function(t){var e=t.title,r="middle";return o.isRightAnchor(e)?r="end":o.isLeftAnchor(e)&&(r=m),r}(e),n=function(t){var e=t.title,r="0em";return o.isTopAnchor(e)?r=p.CAP_SHIFT+"em":o.isMiddleAnchor(e)&&(r=p.MID_SHIFT+"em"),r}(e);c.draw(t,"gtitle",{propContainer:e,propName:"title.text",placeholder:e._dfltTitle.plot,attributes:{x:k(e,r),y:A(e,n),"text-anchor":r,dy:n}})},e.doTraceStyle=function(t){var r,n=t.calcdata,o=[];for(r=0;r<n.length;r++){var l=n[r],u=l[0]||{},c=u.trace||{},f=c._module||{},h=f.arraysToCalcdata;h&&h(l,c);var p=f.editStyle;p&&o.push({fn:p,cd0:u})}if(o.length){for(r=0;r<o.length;r++){var d=o[r];d.fn(t,d.cd0)}s(t),e.redrawReglTraces(t)}return a.style(t),i.getComponentMethod("legend","draw")(t),a.previousPromises(t)},e.doColorBars=function(t){return i.getComponentMethod("colorbar","draw")(t),a.previousPromises(t)},e.layoutReplot=function(t){var e=t.layout;return t.layout=void 0,i.call("_doPlot",t,"",e)},e.doLegend=function(t){return i.getComponentMethod("legend","draw")(t),a.previousPromises(t)},e.doTicksRelayout=function(t){return h.draw(t,"redraw"),t._fullLayout._hasOnlyLargeSploms&&(i.subplotsRegistry.splom.updateGrid(t),s(t),e.redrawReglTraces(t)),e.drawMainTitle(t),a.previousPromises(t)},e.doModeBar=function(t){var e=t._fullLayout;f.manage(t);for(var r=0;r<e._basePlotModules.length;r++){var n=e._basePlotModules[r].updateFx;n&&n(t)}return a.previousPromises(t)},e.doCamera=function(t){for(var e=t._fullLayout,r=e._subplots.gl3d,n=0;n<r.length;n++){var i=e[r[n]];i._scene.setViewport(i)}},e.drawData=function(t){var r=t._fullLayout;s(t);for(var n=r._basePlotModules,o=0;o<n.length;o++)n[o].plot(t);return e.redrawReglTraces(t),a.style(t),i.getComponentMethod("selections","draw")(t),i.getComponentMethod("shapes","draw")(t),i.getComponentMethod("annotations","draw")(t),i.getComponentMethod("images","draw")(t),r._replotting=!1,a.previousPromises(t)},e.redrawReglTraces=function(t){var e=t._fullLayout;if(e._has("regl")){var r,n,i=t._fullData,a=[],s=[];for(e._hasOnlyLargeSploms&&e._splomGrid.draw(),r=0;r<i.length;r++){var l=i[r];!0===l.visible&&0!==l._length&&("splom"===l.type?e._splomScenes[l.uid].draw():"scattergl"===l.type?o.pushUnique(a,l.xaxis+l.yaxis):"scatterpolargl"===l.type&&o.pushUnique(s,l.subplot))}for(r=0;r<a.length;r++)(n=e._plots[a[r]])._scene&&n._scene.draw();for(r=0;r<s.length;r++)(n=e[s[r]]._subplot)._scene&&n._scene.draw()}},e.doAutoRangeAndConstraints=function(t){for(var e,r=h.list(t,"",!0),n={},i=0;i<r.length;i++)if(!n[(e=r[i])._id]){n[e._id]=1,g(t,e),y(t,e);var a=e._matchGroup;if(a)for(var o in a){var s=h.getFromId(t,o);y(t,s,e.range),n[o]=1}}v(t)},e.finalDraw=function(t){i.getComponentMethod("rangeslider","draw")(t),i.getComponentMethod("rangeselector","draw")(t)},e.drawMarginPushers=function(t){i.getComponentMethod("legend","draw")(t),i.getComponentMethod("rangeselector","draw")(t),i.getComponentMethod("sliders","draw")(t),i.getComponentMethod("updatemenus","draw")(t),i.getComponentMethod("colorbar","draw")(t)}},96318:function(t,e,r){"use strict";var n=r(71828),i=n.isPlainObject,a=r(86281),o=r(74875),s=r(9012),l=r(44467),u=r(72075).dfltConfig;function c(t,e){t=n.extendDeep({},t);var r,a,o=Object.keys(t).sort();function s(e,r,n){if(i(r)&&i(e))c(e,r);else if(Array.isArray(r)&&Array.isArray(e)){var o=l.arrayTemplater({_template:t},n);for(a=0;a<r.length;a++){var s=r[a],u=o.newItem(s)._template;u&&c(u,s)}var f=o.defaultItems();for(a=0;a<f.length;a++)r.push(f[a]._template);for(a=0;a<r.length;a++)delete r[a].templateitemname}}for(r=0;r<o.length;r++){var u=o[r],h=t[u];if(u in e?s(h,e[u],u):e[u]=h,f(u)===u)for(var p in e){var d=f(p);p===d||d!==u||p in t||s(h,e[p],u)}}}function f(t){return t.replace(/[0-9]+$/,"")}function h(t,e,r,a,o){var s=o&&r(o);for(var u in t){var c=t[u],p=v(t,u,a),d=v(t,u,o),g=r(d);if(!g){var y=f(u);y!==u&&(g=r(d=v(t,y,o)))}if(!(s&&s===g||!g||g._noTemplating||"data_array"===g.valType||g.arrayOk&&Array.isArray(c)))if(!g.valType&&i(c))h(c,e,r,p,d);else if(g._isLinkedToArray&&Array.isArray(c))for(var m=!1,x=0,b={},_=0;_<c.length;_++){var w=c[_];if(i(w)){var T=w.name;if(T)b[T]||(h(w,e,r,v(c,x,p),v(c,x,d)),x++,b[T]=1);else if(!m){var k=v(t,l.arrayDefaultKey(u),a),A=v(c,x,p);h(w,e,r,A,v(c,x,d));var M=n.nestedProperty(e,A);n.nestedProperty(e,k).set(M.get()),M.set(null),m=!0}}}else n.nestedProperty(e,p).set(c)}}function p(t,e){return a.getLayoutValObject(t,n.nestedProperty({},e).parts)}function d(t,e){return a.getTraceValObject(t,n.nestedProperty({},e).parts)}function v(t,e,r){return r?Array.isArray(t)?r+"["+e+"]":r+"."+e:e}function g(t){for(var e=0;e<t.length;e++)if(i(t[e]))return!0}function y(t){var e;switch(t.code){case"data":e="The template has no key data.";break;case"layout":e="The template has no key layout.";break;case"missing":e=t.path?"There are no templates for item "+t.path+" with name "+t.templateitemname:"There are no templates for trace "+t.index+", of type "+t.traceType+".";break;case"unused":e=t.path?"The template item at "+t.path+" was not used in constructing the plot.":t.dataCount?"Some of the templates of type "+t.traceType+" were not used. The template has "+t.templateCount+" traces, the data only has "+t.dataCount+" of this type.":"The template has "+t.templateCount+" traces of type "+t.traceType+" but there are none in the data.";break;case"reused":e="Some of the templates of type "+t.traceType+" were used more than once. The template has "+t.templateCount+" traces, the data has "+t.dataCount+" of this type."}return t.msg=e,t}e.makeTemplate=function(t){t=n.isPlainObject(t)?t:n.getGraphDiv(t),t=n.extendDeep({_context:u},{data:t.data,layout:t.layout}),o.supplyDefaults(t);var e=t.data||[],r=t.layout||{};r._basePlotModules=t._fullLayout._basePlotModules,r._modules=t._fullLayout._modules;var a={data:{},layout:{}};e.forEach((function(t){var e={};h(t,e,d.bind(null,t));var r=n.coerce(t,{},s,"type"),i=a.data[r];i||(i=a.data[r]=[]),i.push(e)})),h(r,a.layout,p.bind(null,r)),delete a.layout.template;var l=r.template;if(i(l)){var f,v,g,y,m,x,b=l.layout;i(b)&&c(b,a.layout);var _=l.data;if(i(_)){for(v in a.data)if(g=_[v],Array.isArray(g)){for(x=(m=a.data[v]).length,y=g.length,f=0;f<x;f++)c(g[f%y],m[f]);for(f=x;f<y;f++)m.push(n.extendDeep({},g[f]))}for(v in _)v in a.data||(a.data[v]=n.extendDeep([],_[v]))}}return a},e.validateTemplate=function(t,e){var r=n.extendDeep({},{_context:u,data:t.data,layout:t.layout}),a=r.layout||{};i(e)||(e=a.template||{});var s=e.layout,l=e.data,c=[];r.layout=a,r.layout.template=e,o.supplyDefaults(r);var h=r._fullLayout,p=r._fullData,d={};if(i(s)?(function t(e,r){for(var n in e)if("_"!==n.charAt(0)&&i(e[n])){var a,o=f(n),s=[];for(a=0;a<r.length;a++)s.push(v(e,n,r[a])),o!==n&&s.push(v(e,o,r[a]));for(a=0;a<s.length;a++)d[s[a]]=1;t(e[n],s)}}(h,["layout"]),function t(e,r){for(var n in e)if(-1===n.indexOf("defaults")&&i(e[n])){var a=v(e,n,r);d[a]?t(e[n],a):c.push({code:"unused",path:a})}}(s,"layout")):c.push({code:"layout"}),i(l)){for(var m,x={},b=0;b<p.length;b++){var _=p[b];x[m=_.type]=(x[m]||0)+1,_._fullInput._template||c.push({code:"missing",index:_._fullInput.index,traceType:m})}for(m in l){var w=l[m].length,T=x[m]||0;w>T?c.push({code:"unused",traceType:m,templateCount:w,dataCount:T}):T>w&&c.push({code:"reused",traceType:m,templateCount:w,dataCount:T})}}else c.push({code:"data"});if(function t(e,r){for(var n in e)if("_"!==n.charAt(0)){var a=e[n],o=v(e,n,r);i(a)?(Array.isArray(e)&&!1===a._template&&a.templateitemname&&c.push({code:"missing",path:o,templateitemname:a.templateitemname}),t(a,o)):Array.isArray(a)&&g(a)&&t(a,o)}}({data:p,layout:h},""),c.length)return c.map(y)}},403:function(t,e,r){"use strict";var n=r(92770),i=r(72391),a=r(74875),o=r(71828),s=r(25095),l=r(5900),u=r(70942),c=r(11506).version,f={format:{valType:"enumerated",values:["png","jpeg","webp","svg","full-json"],dflt:"png"},width:{valType:"number",min:1},height:{valType:"number",min:1},scale:{valType:"number",min:0,dflt:1},setBackground:{valType:"any",dflt:!1},imageDataOnly:{valType:"boolean",dflt:!1}};t.exports=function(t,e){var r,h,p,d;function v(t){return!(t in e)||o.validate(e[t],f[t])}if(e=e||{},o.isPlainObject(t)?(r=t.data||[],h=t.layout||{},p=t.config||{},d={}):(t=o.getGraphDiv(t),r=o.extendDeep([],t.data),h=o.extendDeep({},t.layout),p=t._context,d=t._fullLayout||{}),!v("width")&&null!==e.width||!v("height")&&null!==e.height)throw new Error("Height and width should be pixel values.");if(!v("format"))throw new Error("Export format is not "+o.join2(f.format.values,", "," or ")+".");var g={};function y(t,r){return o.coerce(e,g,f,t,r)}var m=y("format"),x=y("width"),b=y("height"),_=y("scale"),w=y("setBackground"),T=y("imageDataOnly"),k=document.createElement("div");k.style.position="absolute",k.style.left="-5000px",document.body.appendChild(k);var A=o.extendFlat({},h);x?A.width=x:null===e.width&&n(d.width)&&(A.width=d.width),b?A.height=b:null===e.height&&n(d.height)&&(A.height=d.height);var M=o.extendFlat({},p,{_exportedPlot:!0,staticPlot:!0,setBackground:w}),S=s.getRedrawFunc(k);function E(){return new Promise((function(t){setTimeout(t,s.getDelay(k._fullLayout))}))}function L(){return new Promise((function(t,e){var r=l(k,m,_),n=k._fullLayout.width,f=k._fullLayout.height;function h(){i.purge(k),document.body.removeChild(k)}if("full-json"===m){var p=a.graphJson(k,!1,"keepdata","object",!0,!0);return p.version=c,p=JSON.stringify(p),h(),t(T?p:s.encodeJSON(p))}if(h(),"svg"===m)return t(T?r:s.encodeSVG(r));var d=document.createElement("canvas");d.id=o.randstr(),u({format:m,width:n,height:f,scale:_,canvas:d,svg:r,promise:!0}).then(t).catch(e)}))}return new Promise((function(t,e){i.newPlot(k,r,A,M).then(S).then(E).then(L).then((function(e){t(function(t){return T?t.replace(s.IMAGE_URL_PREFIX,""):t}(e))})).catch((function(t){e(t)}))}))}},84936:function(t,e,r){"use strict";var n=r(71828),i=r(74875),a=r(86281),o=r(72075).dfltConfig,s=n.isPlainObject,l=Array.isArray,u=n.isArrayOrTypedArray;function c(t,e,r,i,a,o){o=o||[];for(var f=Object.keys(t),h=0;h<f.length;h++){var p=f[h];if("transforms"!==p){var y=o.slice();y.push(p);var m=t[p],x=e[p],b=g(r,p),_=(b||{}).valType,w="info_array"===_,T="colorscale"===_,k=(b||{}).items;if(v(r,p))if(s(m)&&s(x)&&"any"!==_)c(m,x,b,i,a,y);else if(w&&l(m)){m.length>x.length&&i.push(d("unused",a,y.concat(x.length)));var A,M,S,E,L,C=x.length,P=Array.isArray(k);if(P&&(C=Math.min(C,k.length)),2===b.dimensions)for(M=0;M<C;M++)if(l(m[M])){m[M].length>x[M].length&&i.push(d("unused",a,y.concat(M,x[M].length)));var O=x[M].length;for(A=0;A<(P?Math.min(O,k[M].length):O);A++)S=P?k[M][A]:k,E=m[M][A],L=x[M][A],n.validate(E,S)?L!==E&&L!==+E&&i.push(d("dynamic",a,y.concat(M,A),E,L)):i.push(d("value",a,y.concat(M,A),E))}else i.push(d("array",a,y.concat(M),m[M]));else for(M=0;M<C;M++)S=P?k[M]:k,E=m[M],L=x[M],n.validate(E,S)?L!==E&&L!==+E&&i.push(d("dynamic",a,y.concat(M),E,L)):i.push(d("value",a,y.concat(M),E))}else if(b.items&&!w&&l(m)){var I,D,z=k[Object.keys(k)[0]],R=[];for(I=0;I<x.length;I++){var F=x[I]._index||I;if((D=y.slice()).push(F),s(m[F])&&s(x[I])){R.push(F);var B=m[F],N=x[I];s(B)&&!1!==B.visible&&!1===N.visible?i.push(d("invisible",a,D)):c(B,N,z,i,a,D)}}for(I=0;I<m.length;I++)(D=y.slice()).push(I),s(m[I])?-1===R.indexOf(I)&&i.push(d("unused",a,D)):i.push(d("object",a,D,m[I]))}else!s(m)&&s(x)?i.push(d("object",a,y,m)):u(m)||!u(x)||w||T?p in e?n.validate(m,b)?"enumerated"===b.valType&&(b.coerceNumber&&m!==+x||m!==x)&&i.push(d("dynamic",a,y,m,x)):i.push(d("value",a,y,m)):i.push(d("unused",a,y,m)):i.push(d("array",a,y,m));else i.push(d("schema",a,y))}}return i}function f(t,e){for(var r=t.layout.layoutAttributes,i=0;i<e.length;i++){var a=e[i],o=t.traces[a.type],s=o.layoutAttributes;s&&(a.subplot?n.extendFlat(r[o.attributes.subplot.dflt],s):n.extendFlat(r,s))}return r}t.exports=function(t,e){void 0===t&&(t=[]),void 0===e&&(e={});var r,u,h=a.get(),p=[],v={_context:n.extendFlat({},o)};l(t)?(v.data=n.extendDeep([],t),r=t):(v.data=[],r=[],p.push(d("array","data"))),s(e)?(v.layout=n.extendDeep({},e),u=e):(v.layout={},u={},arguments.length>1&&p.push(d("object","layout"))),i.supplyDefaults(v);for(var g=v._fullData,y=r.length,m=0;m<y;m++){var x=r[m],b=["data",m];if(s(x)){var _=g[m],w=_.type,T=h.traces[w].attributes;T.type={valType:"enumerated",values:[w]},!1===_.visible&&!1!==x.visible&&p.push(d("invisible",b)),c(x,_,T,p,b);var k=x.transforms,A=_.transforms;if(k){l(k)||p.push(d("array",b,["transforms"])),b.push("transforms");for(var M=0;M<k.length;M++){var S=["transforms",M],E=k[M].type;if(s(k[M])){var L=h.transforms[E]?h.transforms[E].attributes:{};L.type={valType:"enumerated",values:Object.keys(h.transforms)},c(k[M],A[M],L,p,b,S)}else p.push(d("object",b,S))}}}else p.push(d("object",b))}var C=v._fullLayout,P=f(h,g);return c(u,C,P,p,"layout"),0===p.length?void 0:p};var h={object:function(t,e){return("layout"===t&&""===e?"The layout argument":"data"===t[0]&&""===e?"Trace "+t[1]+" in the data argument":p(t)+"key "+e)+" must be linked to an object container"},array:function(t,e){return("data"===t?"The data argument":p(t)+"key "+e)+" must be linked to an array container"},schema:function(t,e){return p(t)+"key "+e+" is not part of the schema"},unused:function(t,e,r){var n=s(r)?"container":"key";return p(t)+n+" "+e+" did not get coerced"},dynamic:function(t,e,r,n){return[p(t)+"key",e,"(set to '"+r+"')","got reset to","'"+n+"'","during defaults."].join(" ")},invisible:function(t,e){return(e?p(t)+"item "+e:"Trace "+t[1])+" got defaulted to be not visible"},value:function(t,e,r){return[p(t)+"key "+e,"is set to an invalid value ("+r+")"].join(" ")}};function p(t){return l(t)?"In data trace "+t[1]+", ":"In "+t+", "}function d(t,e,r,i,a){var o,s;r=r||"",l(e)?(o=e[0],s=e[1]):(o=e,s=null);var u=function(t){if(!l(t))return String(t);for(var e="",r=0;r<t.length;r++){var n=t[r];"number"==typeof n?e=e.substr(0,e.length-1)+"["+n+"]":e+=n,r<t.length-1&&(e+=".")}return e}(r),c=h[t](e,u,i,a);return n.log(c),{code:t,container:o,trace:s,path:r,astr:u,msg:c}}function v(t,e){var r=m(e),n=r.keyMinusId,i=r.id;return!!(n in t&&t[n]._isSubplotObj&&i)||e in t}function g(t,e){return e in t?t[e]:t[m(e).keyMinusId]}var y=n.counterRegex("([a-z]+)");function m(t){var e=t.match(y);return{keyMinusId:e&&e[1],id:e&&e[2]}}},85594:function(t){"use strict";t.exports={mode:{valType:"enumerated",dflt:"afterall",values:["immediate","next","afterall"]},direction:{valType:"enumerated",values:["forward","reverse"],dflt:"forward"},fromcurrent:{valType:"boolean",dflt:!1},frame:{duration:{valType:"number",min:0,dflt:500},redraw:{valType:"boolean",dflt:!0}},transition:{duration:{valType:"number",min:0,dflt:500,editType:"none"},easing:{valType:"enumerated",dflt:"cubic-in-out",values:["linear","quad","cubic","sin","exp","circle","elastic","back","bounce","linear-in","quad-in","cubic-in","sin-in","exp-in","circle-in","elastic-in","back-in","bounce-in","linear-out","quad-out","cubic-out","sin-out","exp-out","circle-out","elastic-out","back-out","bounce-out","linear-in-out","quad-in-out","cubic-in-out","sin-in-out","exp-in-out","circle-in-out","elastic-in-out","back-in-out","bounce-in-out"],editType:"none"},ordering:{valType:"enumerated",values:["layout first","traces first"],dflt:"layout first",editType:"none"}}}},85501:function(t,e,r){"use strict";var n=r(71828),i=r(44467);t.exports=function(t,e,r){var a,o,s=r.name,l=r.inclusionAttr||"visible",u=e[s],c=n.isArrayOrTypedArray(t[s])?t[s]:[],f=e[s]=[],h=i.arrayTemplater(e,s,l);for(a=0;a<c.length;a++){var p=c[a];n.isPlainObject(p)?o=h.newItem(p):(o=h.newItem({}))[l]=!1,o._index=a,!1!==o[l]&&r.handleItemDefaults(p,o,e,r),f.push(o)}var d=h.defaultItems();for(a=0;a<d.length;a++)(o=d[a])._index=f.length,r.handleItemDefaults({},o,e,r,{}),f.push(o);if(n.isArrayOrTypedArray(u)){var v=Math.min(u.length,f.length);for(a=0;a<v;a++)n.relinkPrivateKeys(f[a],u[a])}return f}},9012:function(t,e,r){"use strict";var n=r(41940),i=r(77914);t.exports={type:{valType:"enumerated",values:[],dflt:"scatter",editType:"calc+clearAxisTypes",_noTemplating:!0},visible:{valType:"enumerated",values:[!0,!1,"legendonly"],dflt:!0,editType:"calc"},showlegend:{valType:"boolean",dflt:!0,editType:"style"},legendgroup:{valType:"string",dflt:"",editType:"style"},legendgrouptitle:{text:{valType:"string",dflt:"",editType:"style"},font:n({editType:"style"}),editType:"style"},legendrank:{valType:"number",dflt:1e3,editType:"style"},legendwidth:{valType:"number",min:0,editType:"style"},opacity:{valType:"number",min:0,max:1,dflt:1,editType:"style"},name:{valType:"string",editType:"style"},uid:{valType:"string",editType:"plot",anim:!0},ids:{valType:"data_array",editType:"calc",anim:!0},customdata:{valType:"data_array",editType:"calc"},meta:{valType:"any",arrayOk:!0,editType:"plot"},selectedpoints:{valType:"any",editType:"calc"},hoverinfo:{valType:"flaglist",flags:["x","y","z","text","name"],extras:["all","none","skip"],arrayOk:!0,dflt:"all",editType:"none"},hoverlabel:i.hoverlabel,stream:{token:{valType:"string",noBlank:!0,strict:!0,editType:"calc"},maxpoints:{valType:"number",min:0,max:1e4,dflt:500,editType:"calc"},editType:"calc"},transforms:{_isLinkedToArray:"transform",editType:"calc"},uirevision:{valType:"any",editType:"none"}}},42973:function(t,e,r){"use strict";var n=r(92770),i=r(71828),a=i.dateTime2ms,o=i.incrementMonth,s=r(50606).ONEAVGMONTH;t.exports=function(t,e,r,i){if("date"!==e.type)return{vals:i};var l=t[r+"periodalignment"];if(!l)return{vals:i};var u,c=t[r+"period"];if(n(c)){if((c=+c)<=0)return{vals:i}}else if("string"==typeof c&&"M"===c.charAt(0)){var f=+c.substring(1);if(!(f>0&&Math.round(f)===f))return{vals:i};u=f}for(var h=e.calendar,p="start"===l,d="end"===l,v=t[r+"period0"],g=a(v,h)||0,y=[],m=[],x=[],b=i.length,_=0;_<b;_++){var w,T,k,A=i[_];if(u){for(w=Math.round((A-g)/(u*s)),k=o(g,u*w,h);k>A;)k=o(k,-u,h);for(;k<=A;)k=o(k,u,h);T=o(k,-u,h)}else{for(k=g+(w=Math.round((A-g)/c))*c;k>A;)k-=c;for(;k<=A;)k+=c;T=k-c}y[_]=p?T:d?k:(T+k)/2,m[_]=T,x[_]=k}return{vals:y,starts:m,ends:x}}},89502:function(t){"use strict";t.exports={xaxis:{valType:"subplotid",dflt:"x",editType:"calc+clearAxisTypes"},yaxis:{valType:"subplotid",dflt:"y",editType:"calc+clearAxisTypes"}}},71739:function(t,e,r){"use strict";var n=r(39898),i=r(92770),a=r(71828),o=r(50606).FP_SAFE,s=r(73972),l=r(91424),u=r(41675),c=u.getFromId,f=u.isLinked;function h(t,e){var r,n,i=[],o=t._fullLayout,s=d(o,e,0),l=d(o,e,1),u=v(t,e),c=u.min,f=u.max;if(0===c.length||0===f.length)return a.simpleMap(e.range,e.r2l);var h=c[0].val,g=f[0].val;for(r=1;r<c.length&&h===g;r++)h=Math.min(h,c[r].val);for(r=1;r<f.length&&h===g;r++)g=Math.max(g,f[r].val);var y=!1;if(e.range){var m=a.simpleMap(e.range,e.r2l);y=m[1]<m[0]}"reversed"===e.autorange&&(y=!0,e.autorange=!0);var x,b,_,w,T,k,A=e.rangemode,M="tozero"===A,S="nonnegative"===A,E=e._length,L=E/10,C=0;for(r=0;r<c.length;r++)for(x=c[r],n=0;n<f.length;n++)(k=(b=f[n]).val-x.val-p(e,x.val,b.val))>0&&((T=E-s(x)-l(b))>L?k/T>C&&(_=x,w=b,C=k/T):k/E>C&&(_={val:x.val,nopad:1},w={val:b.val,nopad:1},C=k/E));if(h===g){var P=h-1,O=h+1;if(M)if(0===h)i=[0,1];else{var I=(h>0?f:c).reduce((function(t,e){return Math.max(t,l(e))}),0),D=h/(1-Math.min(.5,I/E));i=h>0?[0,D]:[D,0]}else i=S?[Math.max(0,P),Math.max(1,O)]:[P,O]}else M?(_.val>=0&&(_={val:0,nopad:1}),w.val<=0&&(w={val:0,nopad:1})):S&&(_.val-C*s(_)<0&&(_={val:0,nopad:1}),w.val<=0&&(w={val:1,nopad:1})),C=(w.val-_.val-p(e,x.val,b.val))/(E-s(_)-l(w)),i=[_.val-C*s(_),w.val+C*l(w)];return y&&i.reverse(),a.simpleMap(i,e.l2r||Number)}function p(t,e,r){var n=0;if(t.rangebreaks)for(var i=t.locateBreaks(e,r),a=0;a<i.length;a++){var o=i[a];n+=o.max-o.min}return n}function d(t,e,r){var i=.05*e._length,o=e._anchorAxis||{};if(-1!==(e.ticklabelposition||"").indexOf("inside")||-1!==(o.ticklabelposition||"").indexOf("inside")){var s="reversed"===e.autorange;if(!s){var u=a.simpleMap(e.range,e.r2l);s=u[1]<u[0]}s&&(r=!r)}var c=0;return f(t,e._id)||(c=function(t,e,r){var i=0,o="x"===e._id.charAt(0);for(var s in t._plots){var u=t._plots[s];if(e._id===u.xaxis._id||e._id===u.yaxis._id){var c=(o?u.yaxis:u.xaxis)||{};if(-1!==(c.ticklabelposition||"").indexOf("inside")&&(!r&&("left"===c.side||"bottom"===c.side)||r&&("top"===c.side||"right"===c.side))){if(c._vals){var f=a.deg2rad(c._tickAngles[c._id+"tick"]||0),h=Math.abs(Math.cos(f)),p=Math.abs(Math.sin(f));if(!c._vals[0].bb){var d=c._id+"tick";c._selections[d].each((function(t){var e=n.select(this);e.select(".text-math-group").empty()&&(t.bb=l.bBox(e.node()))}))}for(var v=0;v<c._vals.length;v++){var g=c._vals[v].bb;if(g){var y=6+g.width,m=6+g.height;i=Math.max(i,o?Math.max(y*h,m*p):Math.max(m*h,y*p))}}}"inside"===c.ticks&&"inside"===c.ticklabelposition&&(i+=c.ticklen||0)}}}return i}(t,e,r)),i=Math.max(c,i),"domain"===e.constrain&&e._inputDomain&&(i*=(e._inputDomain[1]-e._inputDomain[0])/(e.domain[1]-e.domain[0])),function(t){return t.nopad?0:t.pad+(t.extrapad?i:c)}}function v(t,e,r){var n,i,a,o=e._id,s=t._fullData,l=t._fullLayout,u=[],f=[];function h(t,e){for(n=0;n<e.length;n++){var r=t[e[n]],s=(r._extremes||{})[o];if(!0===r.visible&&s){for(i=0;i<s.min.length;i++)a=s.min[i],g(u,a.val,a.pad,{extrapad:a.extrapad});for(i=0;i<s.max.length;i++)a=s.max[i],y(f,a.val,a.pad,{extrapad:a.extrapad})}}}if(h(s,e._traceIndices),h(l.annotations||[],e._annIndices||[]),h(l.shapes||[],e._shapeIndices||[]),e._matchGroup&&!r)for(var p in e._matchGroup)if(p!==e._id){var d=c(t,p),m=v(t,d,!0),x=e._length/d._length;for(i=0;i<m.min.length;i++)a=m.min[i],g(u,a.val,a.pad*x,{extrapad:a.extrapad});for(i=0;i<m.max.length;i++)a=m.max[i],y(f,a.val,a.pad*x,{extrapad:a.extrapad})}return{min:u,max:f}}function g(t,e,r,n){m(t,e,r,n,b)}function y(t,e,r,n){m(t,e,r,n,_)}function m(t,e,r,n,i){for(var a=n.tozero,o=n.extrapad,s=!0,l=0;l<t.length&&s;l++){var u=t[l];if(i(u.val,e)&&u.pad>=r&&(u.extrapad||!o)){s=!1;break}i(e,u.val)&&u.pad<=r&&(o||!u.extrapad)&&(t.splice(l,1),l--)}if(s){var c=a&&0===e;t.push({val:e,pad:c?0:r,extrapad:!c&&o})}}function x(t){return i(t)&&Math.abs(t)<o}function b(t,e){return t<=e}function _(t,e){return t>=e}t.exports={getAutoRange:h,makePadFn:d,doAutoRange:function(t,e,r){if(e.setScale(),e.autorange){e.range=r?r.slice():h(t,e),e._r=e.range.slice(),e._rl=a.simpleMap(e._r,e.r2l);var n=e._input,i={};i[e._attr+".range"]=e.range,i[e._attr+".autorange"]=e.autorange,s.call("_storeDirectGUIEdit",t.layout,t._fullLayout._preGUI,i),n.range=e.range.slice(),n.autorange=e.autorange}var o=e._anchorAxis;if(o&&o.rangeslider){var l=o.rangeslider[e._name];l&&"auto"===l.rangemode&&(l.range=h(t,e)),o._input.rangeslider[e._name]=a.extendFlat({},l)}},findExtremes:function(t,e,r){r||(r={}),t._m||t.setScale();var n,a,s,l,u,c,f,h,p,d=[],v=[],m=e.length,b=r.padded||!1,_=r.tozero&&("linear"===t.type||"-"===t.type),w="log"===t.type,T=!1,k=r.vpadLinearized||!1;function A(t){if(Array.isArray(t))return T=!0,function(e){return Math.max(Number(t[e]||0),0)};var e=Math.max(Number(t||0),0);return function(){return e}}var M=A((t._m>0?r.ppadplus:r.ppadminus)||r.ppad||0),S=A((t._m>0?r.ppadminus:r.ppadplus)||r.ppad||0),E=A(r.vpadplus||r.vpad),L=A(r.vpadminus||r.vpad);if(!T){if(h=1/0,p=-1/0,w)for(n=0;n<m;n++)(a=e[n])<h&&a>0&&(h=a),a>p&&a<o&&(p=a);else for(n=0;n<m;n++)(a=e[n])<h&&a>-o&&(h=a),a>p&&a<o&&(p=a);e=[h,p],m=2}var C={tozero:_,extrapad:b};function P(r){s=e[r],i(s)&&(c=M(r),f=S(r),k?(l=t.c2l(s)-L(r),u=t.c2l(s)+E(r)):(h=s-L(r),p=s+E(r),w&&h<p/10&&(h=p/10),l=t.c2l(h),u=t.c2l(p)),_&&(l=Math.min(0,l),u=Math.max(0,u)),x(l)&&g(d,l,f,C),x(u)&&y(v,u,c,C))}var O=Math.min(6,m);for(n=0;n<O;n++)P(n);for(n=m-1;n>=O;n--)P(n);return{min:d,max:v,opts:r}},concatExtremes:v}},89298:function(t,e,r){"use strict";var n=r(39898),i=r(92770),a=r(74875),o=r(73972),s=r(71828),l=s.strTranslate,u=r(63893),c=r(92998),f=r(7901),h=r(91424),p=r(13838),d=r(66287),v=r(50606),g=v.ONEMAXYEAR,y=v.ONEAVGYEAR,m=v.ONEMINYEAR,x=v.ONEMAXQUARTER,b=v.ONEAVGQUARTER,_=v.ONEMINQUARTER,w=v.ONEMAXMONTH,T=v.ONEAVGMONTH,k=v.ONEMINMONTH,A=v.ONEWEEK,M=v.ONEDAY,S=M/2,E=v.ONEHOUR,L=v.ONEMIN,C=v.ONESEC,P=v.MINUS_SIGN,O=v.BADNUM,I={K:"zeroline"},D={K:"gridline",L:"path"},z={K:"minor-gridline",L:"path"},R={K:"tick",L:"path"},F={K:"tick",L:"text"},B={width:["x","r","l","xl","xr"],height:["y","t","b","yt","yb"],right:["r","xr"],left:["l","xl"],top:["t","yt"],bottom:["b","yb"]},N=r(18783),j=N.MID_SHIFT,U=N.CAP_SHIFT,V=N.LINE_SPACING,H=N.OPPOSITE_SIDE,q=t.exports={};q.setConvert=r(21994);var G=r(4322),Z=r(41675),Y=Z.idSort,W=Z.isLinked;q.id2name=Z.id2name,q.name2id=Z.name2id,q.cleanId=Z.cleanId,q.list=Z.list,q.listIds=Z.listIds,q.getFromId=Z.getFromId,q.getFromTrace=Z.getFromTrace;var X=r(71739);function J(t){var e=1e-4*(t[1]-t[0]);return[t[0]-e,t[1]+e]}q.getAutoRange=X.getAutoRange,q.findExtremes=X.findExtremes,q.coerceRef=function(t,e,r,n,i,a){var o=n.charAt(n.length-1),l=r._fullLayout._subplots[o+"axis"],u=n+"ref",c={};return i||(i=l[0]||("string"==typeof a?a:a[0])),a||(a=i),l=l.concat(l.map((function(t){return t+" domain"}))),c[u]={valType:"enumerated",values:l.concat(a?"string"==typeof a?[a]:a:[]),dflt:i},s.coerce(t,e,c,u)},q.getRefType=function(t){return void 0===t?t:"paper"===t?"paper":"pixel"===t?"pixel":/( domain)$/.test(t)?"domain":"range"},q.coercePosition=function(t,e,r,n,i,a){var o,l;if("range"!==q.getRefType(n))o=s.ensureNumber,l=r(i,a);else{var u=q.getFromId(e,n);l=r(i,a=u.fraction2r(a)),o=u.cleanPos}t[i]=o(l)},q.cleanPosition=function(t,e,r){return("paper"===r||"pixel"===r?s.ensureNumber:q.getFromId(e,r).cleanPos)(t)},q.redrawComponents=function(t,e){e=e||q.listIds(t);var r=t._fullLayout;function n(n,i,a,s){for(var l=o.getComponentMethod(n,i),u={},c=0;c<e.length;c++)for(var f=r[q.id2name(e[c])][a],h=0;h<f.length;h++){var p=f[h];if(!u[p]&&(l(t,p),u[p]=1,s))return}}n("annotations","drawOne","_annIndices"),n("shapes","drawOne","_shapeIndices"),n("images","draw","_imgIndices",!0),n("selections","drawOne","_selectionIndices")};var K=q.getDataConversions=function(t,e,r,n){var i,a="x"===r||"y"===r||"z"===r?r:n;if(Array.isArray(a)){if(i={type:G(n,void 0,{autotypenumbers:t._fullLayout.autotypenumbers}),_categories:[]},q.setConvert(i),"category"===i.type)for(var o=0;o<n.length;o++)i.d2c(n[o])}else i=q.getFromTrace(t,e,a);return i?{d2c:i.d2c,c2d:i.c2d}:"ids"===a?{d2c:Q,c2d:Q}:{d2c:$,c2d:$}};function $(t){return+t}function Q(t){return String(t)}function tt(t,e){return Math.abs((t/e+.5)%1-.5)<.001}function et(t,e){return Math.abs(t/e-1)<.001}function rt(t){return+t.substring(1)}function nt(t,e){return t.rangebreaks&&(e=e.filter((function(e){return t.maskBreaks(e.x)!==O}))),e}function it(t){var e=t._mainAxis,r=[];if(e._vals)for(var n=0;n<e._vals.length;n++)if(!e._vals[n].noTick){var i=e.l2p(e._vals[n].x),a=t.p2l(i),o=q.tickText(t,a);e._vals[n].minor&&(o.minor=!0,o.text=""),r.push(o)}return nt(t,r)}function at(t){var e=J(s.simpleMap(t.range,t.r2l)),r=Math.min(e[0],e[1]),n=Math.max(e[0],e[1]),i="category"===t.type?t.d2l_noadd:t.d2l;"log"===t.type&&"L"!==String(t.dtick).charAt(0)&&(t.dtick="L"+Math.pow(10,Math.floor(Math.min(t.range[0],t.range[1]))-1));for(var a=[],o=0;o<=1;o++)if(!o||t.minor){var l=o?t.minor.tickvals:t.tickvals,u=o?[]:t.ticktext;if(l){Array.isArray(u)||(u=[]);for(var c=0;c<l.length;c++){var f=i(l[c]);if(f>r&&f<n){var h=void 0===u[c]?q.tickText(t,f):vt(t,f,String(u[c]));o&&(h.minor=!0,h.text=""),a.push(h)}}}}return nt(t,a)}q.getDataToCoordFunc=function(t,e,r,n){return K(t,e,r,n).d2c},q.counterLetter=function(t){var e=t.charAt(0);return"x"===e?"y":"y"===e?"x":void 0},q.minDtick=function(t,e,r,n){-1===["log","category","multicategory"].indexOf(t.type)&&n?void 0===t._minDtick?(t._minDtick=e,t._forceTick0=r):t._minDtick&&((t._minDtick/e+1e-6)%1<2e-6&&((r-t._forceTick0)/e%1+1.000001)%1<2e-6?(t._minDtick=e,t._forceTick0=r):((e/t._minDtick+1e-6)%1>2e-6||((r-t._forceTick0)/t._minDtick%1+1.000001)%1>2e-6)&&(t._minDtick=0)):t._minDtick=0},q.saveRangeInitial=function(t,e){for(var r=q.list(t,"",!0),n=!1,i=0;i<r.length;i++){var a=r[i],o=void 0===a._rangeInitial,s=o||!(a.range[0]===a._rangeInitial[0]&&a.range[1]===a._rangeInitial[1]);(o&&!1===a.autorange||e&&s)&&(a._rangeInitial=a.range.slice(),n=!0)}return n},q.saveShowSpikeInitial=function(t,e){for(var r=q.list(t,"",!0),n=!1,i="on",a=0;a<r.length;a++){var o=r[a],s=void 0===o._showSpikeInitial,l=s||!(o.showspikes===o._showspikes);(s||e&&l)&&(o._showSpikeInitial=o.showspikes,n=!0),"on"!==i||o.showspikes||(i="off")}return t._fullLayout._cartesianSpikesEnabled=i,n},q.autoBin=function(t,e,r,n,a,o){var l,u=s.aggNums(Math.min,null,t),c=s.aggNums(Math.max,null,t);if("category"===e.type||"multicategory"===e.type)return{start:u-.5,end:c+.5,size:Math.max(1,Math.round(o)||1),_dataSpan:c-u};if(a||(a=e.calendar),l="log"===e.type?{type:"linear",range:[u,c]}:{type:e.type,range:s.simpleMap([u,c],e.c2r,0,a),calendar:a},q.setConvert(l),o=o&&d.dtick(o,l.type))l.dtick=o,l.tick0=d.tick0(void 0,l.type,a);else{var f;if(r)f=(c-u)/r;else{var h=s.distinctVals(t),p=Math.pow(10,Math.floor(Math.log(h.minDiff)/Math.LN10)),v=p*s.roundUp(h.minDiff/p,[.9,1.9,4.9,9.9],!0);f=Math.max(v,2*s.stdev(t)/Math.pow(t.length,n?.25:.4)),i(f)||(f=1)}q.autoTicks(l,f)}var g,y=l.dtick,m=q.tickIncrement(q.tickFirst(l),y,"reverse",a);if("number"==typeof y)m=function(t,e,r,n,a){var o=0,s=0,l=0,u=0;function c(e){return(1+100*(e-t)/r.dtick)%100<2}for(var f=0;f<e.length;f++)e[f]%1==0?l++:i(e[f])||u++,c(e[f])&&o++,c(e[f]+r.dtick/2)&&s++;var h=e.length-u;if(l===h&&"date"!==r.type)r.dtick<1?t=n-.5*r.dtick:(t-=.5)+r.dtick<n&&(t+=r.dtick);else if(s<.1*h&&(o>.3*h||c(n)||c(a))){var p=r.dtick/2;t+=t+p<n?p:-p}return t}(m,t,l,u,c),g=m+(1+Math.floor((c-m)/y))*y;else for("M"===l.dtick.charAt(0)&&(m=function(t,e,r,n,i){var a=s.findExactDates(e,i);if(a.exactDays>.8){var o=Number(r.substr(1));a.exactYears>.8&&o%12==0?t=q.tickIncrement(t,"M6","reverse")+1.5*M:a.exactMonths>.8?t=q.tickIncrement(t,"M1","reverse")+15.5*M:t-=S;var l=q.tickIncrement(t,r);if(l<=n)return l}return t}(m,t,y,u,a)),g=m;g<=c;)g=q.tickIncrement(g,y,!1,a);return{start:e.c2r(m,0,a),end:e.c2r(g,0,a),size:y,_dataSpan:c-u}},q.prepMinorTicks=function(t,e,r){if(!e.minor.dtick){delete t.dtick;var n,a=e.dtick&&i(e._tmin);if(a){var o=q.tickIncrement(e._tmin,e.dtick,!0);n=[e._tmin,.99*o+.01*e._tmin]}else{var l=s.simpleMap(e.range,e.r2l);n=[l[0],.8*l[0]+.2*l[1]]}if(t.range=s.simpleMap(n,e.l2r),t._isMinor=!0,q.prepTicks(t,r),a){var u=i(e.dtick),c=i(t.dtick),f=u?e.dtick:+e.dtick.substring(1),h=c?t.dtick:+t.dtick.substring(1);u&&c?tt(f,h)?f===2*A&&h===2*M&&(t.dtick=A):f===2*A&&h===3*M?t.dtick=A:f!==A||(e._input.minor||{}).nticks?et(f/h,2.5)?t.dtick=f/2:t.dtick=f:t.dtick=M:"M"===String(e.dtick).charAt(0)?c?t.dtick="M1":tt(f,h)?f>=12&&2===h&&(t.dtick="M3"):t.dtick=e.dtick:"L"===String(t.dtick).charAt(0)?"L"===String(e.dtick).charAt(0)?tt(f,h)||(t.dtick=et(f/h,2.5)?e.dtick/2:e.dtick):t.dtick="D1":"D2"===t.dtick&&+e.dtick>1&&(t.dtick=1)}t.range=e.range}void 0===e.minor._tick0Init&&(t.tick0=e.tick0)},q.prepTicks=function(t,e){var r=s.simpleMap(t.range,t.r2l,void 0,void 0,e);if("auto"===t.tickmode||!t.dtick){var n,a=t.nticks;a||("category"===t.type||"multicategory"===t.type?(n=t.tickfont?s.bigFont(t.tickfont.size||12):15,a=t._length/n):(n="y"===t._id.charAt(0)?40:80,a=s.constrain(t._length/n,4,9)+1),"radialaxis"===t._name&&(a*=2)),t.minor&&"array"!==t.minor.tickmode||"array"===t.tickmode&&(a*=100),t._roughDTick=Math.abs(r[1]-r[0])/a,q.autoTicks(t,t._roughDTick),t._minDtick>0&&t.dtick<2*t._minDtick&&(t.dtick=t._minDtick,t.tick0=t.l2r(t._forceTick0))}"period"===t.ticklabelmode&&function(t){var e;function r(){return!(i(t.dtick)||"M"!==t.dtick.charAt(0))}var n=r(),a=q.getTickFormat(t);if(a){var o=t._dtickInit!==t.dtick;/%[fLQsSMX]/.test(a)||(/%[HI]/.test(a)?(e=E,o&&!n&&t.dtick<E&&(t.dtick=E)):/%p/.test(a)?(e=S,o&&!n&&t.dtick<S&&(t.dtick=S)):/%[Aadejuwx]/.test(a)?(e=M,o&&!n&&t.dtick<M&&(t.dtick=M)):/%[UVW]/.test(a)?(e=A,o&&!n&&t.dtick<A&&(t.dtick=A)):/%[Bbm]/.test(a)?(e=T,o&&(n?rt(t.dtick)<1:t.dtick<k)&&(t.dtick="M1")):/%[q]/.test(a)?(e=b,o&&(n?rt(t.dtick)<3:t.dtick<_)&&(t.dtick="M3")):/%[Yy]/.test(a)&&(e=y,o&&(n?rt(t.dtick)<12:t.dtick<m)&&(t.dtick="M12")))}(n=r())&&t.tick0===t._dowTick0&&(t.tick0=t._rawTick0),t._definedDelta=e}(t),t.tick0||(t.tick0="date"===t.type?"2000-01-01":0),"date"===t.type&&t.dtick<.1&&(t.dtick=.1),dt(t)},q.calcTicks=function(t,e){for(var r,n,a=t.type,o=t.calendar,l=t.ticklabelstep,u="period"===t.ticklabelmode,c=s.simpleMap(t.range,t.r2l,void 0,void 0,e),f=c[1]<c[0],h=Math.min(c[0],c[1]),p=Math.max(c[0],c[1]),d=Math.max(1e3,t._length||0),v=[],L=[],C=[],P=[],I=t.minor&&(t.minor.ticks||t.minor.showgrid),D=1;D>=(I?0:1);D--){var z=!D;D?(t._dtickInit=t.dtick,t._tick0Init=t.tick0):(t.minor._dtickInit=t.minor.dtick,t.minor._tick0Init=t.minor.tick0);var R=D?t:s.extendFlat({},t,t.minor);if(z?q.prepMinorTicks(R,t,e):q.prepTicks(R,e),"array"!==R.tickmode)if("sync"!==R.tickmode){var F=J(c),B=F[0],N=F[1],j=i(R.dtick),U="log"===a&&!(j||"L"===R.dtick.charAt(0)),V=q.tickFirst(R,e);if(D){if(t._tmin=V,V<B!==f)break;"category"!==a&&"multicategory"!==a||(N=f?Math.max(-.5,N):Math.min(t._categories.length-.5,N))}var H,G,Z=null,Y=V;D&&(j?G=t.dtick:"date"===a?"string"==typeof t.dtick&&"M"===t.dtick.charAt(0)&&(G=T*t.dtick.substring(1)):G=t._roughDTick,H=Math.round((t.r2l(Y)-t.r2l(t.tick0))/G)-1);var W=R.dtick;for(R.rangebreaks&&R._tick0Init!==R.tick0&&(Y=Dt(Y,t),f||(Y=q.tickIncrement(Y,W,!f,o))),D&&u&&(Y=q.tickIncrement(Y,W,!f,o),H--);f?Y>=N:Y<=N;Y=q.tickIncrement(Y,W,f,o)){if(D&&H++,R.rangebreaks&&!f){if(Y<B)continue;if(R.maskBreaks(Y)===O&&Dt(Y,R)>=p)break}if(C.length>d||Y===Z)break;Z=Y;var X={value:Y};D?(U&&Y!==(0|Y)&&(X.simpleLabel=!0),l>1&&H%l&&(X.skipLabel=!0),C.push(X)):(X.minor=!0,P.push(X))}}else C=[],v=it(t);else D?(C=[],v=at(t)):(P=[],L=at(t))}if(I&&!("inside"===t.minor.ticks&&"outside"===t.ticks||"outside"===t.minor.ticks&&"inside"===t.ticks)){for(var K=C.map((function(t){return t.value})),$=[],Q=0;Q<P.length;Q++){var tt=P[Q],et=tt.value;if(-1===K.indexOf(et)){for(var rt=!1,nt=0;!rt&&nt<C.length;nt++)1e7+C[nt].value===1e7+et&&(rt=!0);rt||$.push(tt)}}P=$}if(u&&function(t,e,r){for(var n=0;n<t.length;n++){var i=t[n].value,a=n,o=n+1;n<t.length-1?(a=n,o=n+1):n>0?(a=n-1,o=n):(a=n,o=n);var s,l=t[a].value,u=t[o].value,c=Math.abs(u-l),f=r||c,h=0;f>=m?h=c>=m&&c<=g?c:y:r===b&&f>=_?h=c>=_&&c<=x?c:b:f>=k?h=c>=k&&c<=w?c:T:r===A&&f>=A?h=A:f>=M?h=M:r===S&&f>=S?h=S:r===E&&f>=E&&(h=E),h>=c&&(h=c,s=!0);var p=i+h;if(e.rangebreaks&&h>0){for(var d=0,v=0;v<84;v++){var L=(v+.5)/84;e.maskBreaks(i*(1-L)+L*p)!==O&&d++}(h*=d/84)||(t[n].drop=!0),s&&c>A&&(h=c)}(h>0||0===n)&&(t[n].periodX=i+h/2)}}(C,t,t._definedDelta),t.rangebreaks){var ot="y"===t._id.charAt(0),st=1;"auto"===t.tickmode&&(st=t.tickfont?t.tickfont.size:12);var lt=NaN;for(r=C.length-1;r>-1;r--)if(C[r].drop)C.splice(r,1);else{C[r].value=Dt(C[r].value,t);var ut=t.c2p(C[r].value);(ot?lt>ut-st:lt<ut+st)?C.splice(f?r+1:r,1):lt=ut}}It(t)&&360===Math.abs(c[1]-c[0])&&C.pop(),t._tmax=(C[C.length-1]||{}).value,t._prevDateHead="",t._inCalcTicks=!0;var ct,ft,ht=function(e){e.text="",t._prevDateHead=n};for(C=C.concat(P),r=0;r<C.length;r++){var pt=C[r].minor,dt=C[r].value;pt?L.push({x:dt,minor:!0}):(n=t._prevDateHead,ct=q.tickText(t,dt,!1,C[r].simpleLabel),void 0!==(ft=C[r].periodX)&&(ct.periodX=ft,(ft>p||ft<h)&&(ft>p&&(ct.periodX=p),ft<h&&(ct.periodX=h),ht(ct))),C[r].skipLabel&&ht(ct),v.push(ct))}return v=v.concat(L),t._inCalcTicks=!1,u&&v.length&&(v[0].noTick=!0),v};var ot=[2,5,10],st=[1,2,3,6,12],lt=[1,2,5,10,15,30],ut=[1,2,3,7,14],ct=[-.046,0,.301,.477,.602,.699,.778,.845,.903,.954,1],ft=[-.301,0,.301,.699,1],ht=[15,30,45,90,180];function pt(t,e,r){return e*s.roundUp(t/e,r)}function dt(t){var e=t.dtick;if(t._tickexponent=0,i(e)||"string"==typeof e||(e=1),"category"!==t.type&&"multicategory"!==t.type||(t._tickround=null),"date"===t.type){var r=t.r2l(t.tick0),n=t.l2r(r).replace(/(^-|i)/g,""),a=n.length;if("M"===String(e).charAt(0))a>10||"01-01"!==n.substr(5)?t._tickround="d":t._tickround=+e.substr(1)%12==0?"y":"m";else if(e>=M&&a<=10||e>=15*M)t._tickround="d";else if(e>=L&&a<=16||e>=E)t._tickround="M";else if(e>=C&&a<=19||e>=L)t._tickround="S";else{var o=t.l2r(r+e).replace(/^-/,"").length;t._tickround=Math.max(a,o)-20,t._tickround<0&&(t._tickround=4)}}else if(i(e)||"L"===e.charAt(0)){var s=t.range.map(t.r2d||Number);i(e)||(e=Number(e.substr(1))),t._tickround=2-Math.floor(Math.log(e)/Math.LN10+.01);var l=Math.max(Math.abs(s[0]),Math.abs(s[1])),u=Math.floor(Math.log(l)/Math.LN10+.01),c=void 0===t.minexponent?3:t.minexponent;Math.abs(u)>c&&(yt(t.exponentformat)&&!mt(u)?t._tickexponent=3*Math.round((u-1)/3):t._tickexponent=u)}else t._tickround=null}function vt(t,e,r){var n=t.tickfont||{};return{x:e,dx:0,dy:0,text:r||"",fontSize:n.size,font:n.family,fontColor:n.color}}q.autoTicks=function(t,e,r){var n;function a(t){return Math.pow(t,Math.floor(Math.log(e)/Math.LN10))}if("date"===t.type){t.tick0=s.dateTick0(t.calendar,0);var o=2*e;if(o>y)e/=y,n=a(10),t.dtick="M"+12*pt(e,n,ot);else if(o>T)e/=T,t.dtick="M"+pt(e,1,st);else if(o>M){if(t.dtick=pt(e,M,t._hasDayOfWeekBreaks?[1,2,7,14]:ut),!r){var l=q.getTickFormat(t),u="period"===t.ticklabelmode;u&&(t._rawTick0=t.tick0),/%[uVW]/.test(l)?t.tick0=s.dateTick0(t.calendar,2):t.tick0=s.dateTick0(t.calendar,1),u&&(t._dowTick0=t.tick0)}}else o>E?t.dtick=pt(e,E,st):o>L?t.dtick=pt(e,L,lt):o>C?t.dtick=pt(e,C,lt):(n=a(10),t.dtick=pt(e,n,ot))}else if("log"===t.type){t.tick0=0;var c=s.simpleMap(t.range,t.r2l);if(t._isMinor&&(e*=1.5),e>.7)t.dtick=Math.ceil(e);else if(Math.abs(c[1]-c[0])<1){var f=1.5*Math.abs((c[1]-c[0])/e);e=Math.abs(Math.pow(10,c[1])-Math.pow(10,c[0]))/f,n=a(10),t.dtick="L"+pt(e,n,ot)}else t.dtick=e>.3?"D2":"D1"}else"category"===t.type||"multicategory"===t.type?(t.tick0=0,t.dtick=Math.ceil(Math.max(e,1))):It(t)?(t.tick0=0,n=1,t.dtick=pt(e,n,ht)):(t.tick0=0,n=a(10),t.dtick=pt(e,n,ot));if(0===t.dtick&&(t.dtick=1),!i(t.dtick)&&"string"!=typeof t.dtick){var h=t.dtick;throw t.dtick=1,"ax.dtick error: "+String(h)}},q.tickIncrement=function(t,e,r,a){var o=r?-1:1;if(i(e))return s.increment(t,o*e);var l=e.charAt(0),u=o*Number(e.substr(1));if("M"===l)return s.incrementMonth(t,u,a);if("L"===l)return Math.log(Math.pow(10,t)+u)/Math.LN10;if("D"===l){var c="D2"===e?ft:ct,f=t+.01*o,h=s.roundUp(s.mod(f,1),c,r);return Math.floor(f)+Math.log(n.round(Math.pow(10,h),1))/Math.LN10}throw"unrecognized dtick "+String(e)},q.tickFirst=function(t,e){var r=t.r2l||Number,a=s.simpleMap(t.range,r,void 0,void 0,e),o=a[1]<a[0],l=o?Math.floor:Math.ceil,u=J(a)[0],c=t.dtick,f=r(t.tick0);if(i(c)){var h=l((u-f)/c)*c+f;return"category"!==t.type&&"multicategory"!==t.type||(h=s.constrain(h,0,t._categories.length-1)),h}var p=c.charAt(0),d=Number(c.substr(1));if("M"===p){for(var v,g,y,m=0,x=f;m<10;){if(((v=q.tickIncrement(x,c,o,t.calendar))-u)*(x-u)<=0)return o?Math.min(x,v):Math.max(x,v);g=(u-(x+v)/2)/(v-x),y=p+(Math.abs(Math.round(g))||1)*d,x=q.tickIncrement(x,y,g<0?!o:o,t.calendar),m++}return s.error("tickFirst did not converge",t),x}if("L"===p)return Math.log(l((Math.pow(10,u)-f)/d)*d+f)/Math.LN10;if("D"===p){var b="D2"===c?ft:ct,_=s.roundUp(s.mod(u,1),b,o);return Math.floor(u)+Math.log(n.round(Math.pow(10,_),1))/Math.LN10}throw"unrecognized dtick "+String(c)},q.tickText=function(t,e,r,n){var a,o=vt(t,e),l="array"===t.tickmode,u=r||l,c=t.type,f="category"===c?t.d2l_noadd:t.d2l;if(l&&Array.isArray(t.ticktext)){var h=s.simpleMap(t.range,t.r2l),p=(Math.abs(h[1]-h[0])-(t._lBreaks||0))/1e4;for(a=0;a<t.ticktext.length&&!(Math.abs(e-f(t.tickvals[a]))<p);a++);if(a<t.ticktext.length)return o.text=String(t.ticktext[a]),o}function d(n){if(void 0===n)return!0;if(r)return"none"===n;var i={first:t._tmin,last:t._tmax}[n];return"all"!==n&&e!==i}var v=r?"never":"none"!==t.exponentformat&&d(t.showexponent)?"hide":"";if("date"===c?function(t,e,r,n){var a=t._tickround,o=r&&t.hoverformat||q.getTickFormat(t);n&&(a=i(a)?4:{y:"m",m:"d",d:"M",M:"S",S:4}[a]);var l,u=s.formatDate(e.x,o,a,t._dateFormat,t.calendar,t._extraFormat),c=u.indexOf("\n");if(-1!==c&&(l=u.substr(c+1),u=u.substr(0,c)),n&&("00:00:00"===u||"00:00"===u?(u=l,l=""):8===u.length&&(u=u.replace(/:00$/,""))),l)if(r)"d"===a?u+=", "+l:u=l+(u?", "+u:"");else if(t._inCalcTicks&&t._prevDateHead===l){var f=zt(t),h=t._trueSide||t.side;(!f&&"top"===h||f&&"bottom"===h)&&(u+="<br> ")}else t._prevDateHead=l,u+="<br>"+l;e.text=u}(t,o,r,u):"log"===c?function(t,e,r,n,a){var o=t.dtick,l=e.x,u=t.tickformat,c="string"==typeof o&&o.charAt(0);if("never"===a&&(a=""),n&&"L"!==c&&(o="L3",c="L"),u||"L"===c)e.text=xt(Math.pow(10,l),t,a,n);else if(i(o)||"D"===c&&s.mod(l+.01,1)<.1){var f=Math.round(l),h=Math.abs(f),p=t.exponentformat;"power"===p||yt(p)&&mt(f)?(e.text=0===f?1:1===f?"10":"10<sup>"+(f>1?"":P)+h+"</sup>",e.fontSize*=1.25):("e"===p||"E"===p)&&h>2?e.text="1"+p+(f>0?"+":P)+h:(e.text=xt(Math.pow(10,l),t,"","fakehover"),"D1"===o&&"y"===t._id.charAt(0)&&(e.dy-=e.fontSize/6))}else{if("D"!==c)throw"unrecognized dtick "+String(o);e.text=String(Math.round(Math.pow(10,s.mod(l,1)))),e.fontSize*=.75}if("D1"===t.dtick){var d=String(e.text).charAt(0);"0"!==d&&"1"!==d||("y"===t._id.charAt(0)?e.dx-=e.fontSize/4:(e.dy+=e.fontSize/2,e.dx+=(t.range[1]>t.range[0]?1:-1)*e.fontSize*(l<0?.5:.25)))}}(t,o,0,u,v):"category"===c?function(t,e){var r=t._categories[Math.round(e.x)];void 0===r&&(r=""),e.text=String(r)}(t,o):"multicategory"===c?function(t,e,r){var n=Math.round(e.x),i=t._categories[n]||[],a=void 0===i[1]?"":String(i[1]),o=void 0===i[0]?"":String(i[0]);r?e.text=o+" - "+a:(e.text=a,e.text2=o)}(t,o,r):It(t)?function(t,e,r,n,i){if("radians"!==t.thetaunit||r)e.text=xt(e.x,t,i,n);else{var a=e.x/180;if(0===a)e.text="0";else{var o=function(t){function e(t,e){return Math.abs(t-e)<=1e-6}var r=function(t){for(var r=1;!e(Math.round(t*r)/r,t);)r*=10;return r}(t),n=t*r,i=Math.abs(function t(r,n){return e(n,0)?r:t(n,r%n)}(n,r));return[Math.round(n/i),Math.round(r/i)]}(a);if(o[1]>=100)e.text=xt(s.deg2rad(e.x),t,i,n);else{var l=e.x<0;1===o[1]?1===o[0]?e.text="π":e.text=o[0]+"π":e.text=["<sup>",o[0],"</sup>","⁄","<sub>",o[1],"</sub>","π"].join(""),l&&(e.text=P+e.text)}}}}(t,o,r,u,v):function(t,e,r,n,i){"never"===i?i="":"all"===t.showexponent&&Math.abs(e.x/t.dtick)<1e-6&&(i="hide"),e.text=xt(e.x,t,i,n)}(t,o,0,u,v),n||(t.tickprefix&&!d(t.showtickprefix)&&(o.text=t.tickprefix+o.text),t.ticksuffix&&!d(t.showticksuffix)&&(o.text+=t.ticksuffix)),"boundaries"===t.tickson||t.showdividers){var g=function(e){var r=t.l2p(e);return r>=0&&r<=t._length?e:null};o.xbnd=[g(o.x-.5),g(o.x+t.dtick-.5)]}return o},q.hoverLabelText=function(t,e,r){r&&(t=s.extendFlat({},t,{hoverformat:r}));var n=Array.isArray(e)?e[0]:e,i=Array.isArray(e)?e[1]:void 0;if(void 0!==i&&i!==n)return q.hoverLabelText(t,n,r)+" - "+q.hoverLabelText(t,i,r);var a="log"===t.type&&n<=0,o=q.tickText(t,t.c2l(a?-n:n),"hover").text;return a?0===n?"0":P+o:o};var gt=["f","p","n","μ","m","","k","M","G","T"];function yt(t){return"SI"===t||"B"===t}function mt(t){return t>14||t<-15}function xt(t,e,r,n){var a=t<0,o=e._tickround,l=r||e.exponentformat||"B",u=e._tickexponent,c=q.getTickFormat(e),f=e.separatethousands;if(n){var h={exponentformat:l,minexponent:e.minexponent,dtick:"none"===e.showexponent?e.dtick:i(t)&&Math.abs(t)||1,range:"none"===e.showexponent?e.range.map(e.r2d):[0,t||1]};dt(h),o=(Number(h._tickround)||0)+4,u=h._tickexponent,e.hoverformat&&(c=e.hoverformat)}if(c)return e._numFormat(c)(t).replace(/-/g,P);var p,d=Math.pow(10,-o)/2;if("none"===l&&(u=0),(t=Math.abs(t))<d)t="0",a=!1;else{if(t+=d,u&&(t*=Math.pow(10,-u),o+=u),0===o)t=String(Math.floor(t));else if(o<0){t=(t=String(Math.round(t))).substr(0,t.length+o);for(var v=o;v<0;v++)t+="0"}else{var g=(t=String(t)).indexOf(".")+1;g&&(t=t.substr(0,g+o).replace(/\.?0+$/,""))}t=s.numSeparate(t,e._separators,f)}return u&&"hide"!==l&&(yt(l)&&mt(u)&&(l="power"),p=u<0?P+-u:"power"!==l?"+"+u:String(u),"e"===l||"E"===l?t+=l+p:"power"===l?t+="×10<sup>"+p+"</sup>":"B"===l&&9===u?t+="B":yt(l)&&(t+=gt[u/3+5])),a?P+t:t}function bt(t,e){if(t){var r=Object.keys(B).reduce((function(t,r){return-1!==e.indexOf(r)&&B[r].forEach((function(e){t[e]=1})),t}),{});Object.keys(t).forEach((function(e){r[e]||(1===e.length?t[e]=0:delete t[e])}))}}function _t(t,e){for(var r=[],n={},i=0;i<e.length;i++){var a=e[i];n[a.text2]?n[a.text2].push(a.x):n[a.text2]=[a.x]}for(var o in n)r.push(vt(t,s.interp(n[o],.5),o));return r}function wt(t){return void 0!==t.periodX?t.periodX:t.x}function Tt(t){return[t.text,t.x,t.axInfo,t.font,t.fontSize,t.fontColor].join("_")}function kt(t){var e=t.title.font.size,r=(t.title.text.match(u.BR_TAG_ALL)||[]).length;return t.title.hasOwnProperty("standoff")?r?e*(U+r*V):e*U:r?e*(r+1)*V:e}function At(t,e){var r=t.l2p(e);return r>1&&r<t._length-1}function Mt(t){var e=n.select(t),r=e.select(".text-math-group");return r.empty()?e.select("text"):r}function St(t){return t._id+".automargin"}function Et(t){return St(t)+".mirror"}function Lt(t){return t._id+".rangeslider"}function Ct(t,e){for(var r=0;r<e.length;r++)-1===t.indexOf(e[r])&&t.push(e[r])}function Pt(t,e,r){var n,i,a=[],o=[],l=t.layout;for(n=0;n<e.length;n++)a.push(q.getFromId(t,e[n]));for(n=0;n<r.length;n++)o.push(q.getFromId(t,r[n]));var u=Object.keys(p),c=["anchor","domain","overlaying","position","side","tickangle","editType"],f=["linear","log"];for(n=0;n<u.length;n++){var h=u[n],d=a[0][h],v=o[0][h],g=!0,y=!1,m=!1;if("_"!==h.charAt(0)&&"function"!=typeof d&&-1===c.indexOf(h)){for(i=1;i<a.length&&g;i++){var x=a[i][h];"type"===h&&-1!==f.indexOf(d)&&-1!==f.indexOf(x)&&d!==x?y=!0:x!==d&&(g=!1)}for(i=1;i<o.length&&g;i++){var b=o[i][h];"type"===h&&-1!==f.indexOf(v)&&-1!==f.indexOf(b)&&v!==b?m=!0:o[i][h]!==v&&(g=!1)}g&&(y&&(l[a[0]._name].type="linear"),m&&(l[o[0]._name].type="linear"),Ot(l,h,a,o,t._fullLayout._dfltTitle))}}for(n=0;n<t._fullLayout.annotations.length;n++){var _=t._fullLayout.annotations[n];-1!==e.indexOf(_.xref)&&-1!==r.indexOf(_.yref)&&s.swapAttrs(l.annotations[n],["?"])}}function Ot(t,e,r,n,i){var a,o=s.nestedProperty,l=o(t[r[0]._name],e).get(),u=o(t[n[0]._name],e).get();for("title"===e&&(l&&l.text===i.x&&(l.text=i.y),u&&u.text===i.y&&(u.text=i.x)),a=0;a<r.length;a++)o(t,r[a]._name+"."+e).set(u);for(a=0;a<n.length;a++)o(t,n[a]._name+"."+e).set(l)}function It(t){return"angularaxis"===t._id}function Dt(t,e){for(var r=e._rangebreaks.length,n=0;n<r;n++){var i=e._rangebreaks[n];if(t>=i.min&&t<i.max)return i.max}return t}function zt(t){return-1!==(t.ticklabelposition||"").indexOf("inside")}function Rt(t,e){zt(t._anchorAxis||{})&&t._hideCounterAxisInsideTickLabels&&t._hideCounterAxisInsideTickLabels(e)}function Ft(t,e,r,n){var i,a="free"===t.anchor||void 0!==t.overlaying&&!1!==t.overlaying?t.overlaying:t._id;i=n?"right"===t.side?e:-e:e,a in r||(r[a]={}),t.side in r[a]||(r[a][t.side]=0),r[a][t.side]+=i}q.getTickFormat=function(t){var e,r,n,i,a,o,s,l;function u(t){return"string"!=typeof t?t:Number(t.replace("M",""))*T}function c(t,e){var r=["L","D"];if(typeof t==typeof e){if("number"==typeof t)return t-e;var n=r.indexOf(t.charAt(0)),i=r.indexOf(e.charAt(0));return n===i?Number(t.replace(/(L|D)/g,""))-Number(e.replace(/(L|D)/g,"")):n-i}return"number"==typeof t?1:-1}function f(t,e){var r=null===e[0],n=null===e[1],i=c(t,e[0])>=0,a=c(t,e[1])<=0;return(r||i)&&(n||a)}if(t.tickformatstops&&t.tickformatstops.length>0)switch(t.type){case"date":case"linear":for(e=0;e<t.tickformatstops.length;e++)if((n=t.tickformatstops[e]).enabled&&(i=t.dtick,a=n.dtickrange,o=void 0,s=void 0,l=void 0,o=u||function(t){return t},s=a[0],l=a[1],(!s&&"number"!=typeof s||o(s)<=o(i))&&(!l&&"number"!=typeof l||o(l)>=o(i)))){r=n;break}break;case"log":for(e=0;e<t.tickformatstops.length;e++)if((n=t.tickformatstops[e]).enabled&&f(t.dtick,n.dtickrange)){r=n;break}}return r?r.value:t.tickformat},q.getSubplots=function(t,e){var r=t._fullLayout._subplots,n=r.cartesian.concat(r.gl2d||[]),i=e?q.findSubplotsWithAxis(n,e):n;return i.sort((function(t,e){var r=t.substr(1).split("y"),n=e.substr(1).split("y");return r[0]===n[0]?+r[1]-+n[1]:+r[0]-+n[0]})),i},q.findSubplotsWithAxis=function(t,e){for(var r=new RegExp("x"===e._id.charAt(0)?"^"+e._id+"y":e._id+"$"),n=[],i=0;i<t.length;i++){var a=t[i];r.test(a)&&n.push(a)}return n},q.makeClipPaths=function(t){var e=t._fullLayout;if(!e._hasOnlyLargeSploms){var r,i,a={_offset:0,_length:e.width,_id:""},o={_offset:0,_length:e.height,_id:""},s=q.list(t,"x",!0),l=q.list(t,"y",!0),u=[];for(r=0;r<s.length;r++)for(u.push({x:s[r],y:o}),i=0;i<l.length;i++)0===r&&u.push({x:a,y:l[i]}),u.push({x:s[r],y:l[i]});var c=e._clips.selectAll(".axesclip").data(u,(function(t){return t.x._id+t.y._id}));c.enter().append("clipPath").classed("axesclip",!0).attr("id",(function(t){return"clip"+e._uid+t.x._id+t.y._id})).append("rect"),c.exit().remove(),c.each((function(t){n.select(this).select("rect").attr({x:t.x._offset||0,y:t.y._offset||0,width:t.x._length||1,height:t.y._length||1})}))}},q.draw=function(t,e,r){var n=t._fullLayout;"redraw"===e&&n._paper.selectAll("g.subplot").each((function(t){var e=t[0],r=n._plots[e];if(r){var i=r.xaxis,a=r.yaxis;r.xaxislayer.selectAll("."+i._id+"tick").remove(),r.yaxislayer.selectAll("."+a._id+"tick").remove(),r.xaxislayer.selectAll("."+i._id+"tick2").remove(),r.yaxislayer.selectAll("."+a._id+"tick2").remove(),r.xaxislayer.selectAll("."+i._id+"divider").remove(),r.yaxislayer.selectAll("."+a._id+"divider").remove(),r.minorGridlayer&&r.minorGridlayer.selectAll("path").remove(),r.gridlayer&&r.gridlayer.selectAll("path").remove(),r.zerolinelayer&&r.zerolinelayer.selectAll("path").remove(),n._infolayer.select(".g-"+i._id+"title").remove(),n._infolayer.select(".g-"+a._id+"title").remove()}}));var i=e&&"redraw"!==e?e:q.listIds(t),a=q.list(t).filter((function(t){return t.autoshift})).map((function(t){return t.overlaying}));i.map((function(e){var r=q.getFromId(t,e);if("sync"===r.tickmode&&r.overlaying){var n=i.findIndex((function(t){return t===r.overlaying}));n>=0&&i.unshift(i.splice(n,1).shift())}}));var o={false:{left:0,right:0}};return s.syncOrAsync(i.map((function(e){return function(){if(e){var n=q.getFromId(t,e);r||(r={}),r.axShifts=o,r.overlayingShiftedAx=a;var i=q.drawOne(t,n,r);return n._shiftPusher&&Ft(n,n._fullDepth||0,o,!0),n._r=n.range.slice(),n._rl=s.simpleMap(n._r,n.r2l),i}}})))},q.drawOne=function(t,e,r){var n,i,l,u=(r=r||{}).axShifts||{},p=r.overlayingShiftedAx||[];e.setScale();var d=t._fullLayout,v=e._id,g=v.charAt(0),y=q.counterLetter(v),m=d._plots[e._mainSubplot];if(m){if(e._shiftPusher=e.autoshift||-1!==p.indexOf(e._id)||-1!==p.indexOf(e.overlaying),e._shiftPusher&"free"===e.anchor){var x=e.linewidth/2||0;"inside"===e.ticks&&(x+=e.ticklen),Ft(e,x,u,!0),Ft(e,e.shift||0,u,!1)}!0===r.skipTitle&&void 0!==e._shift||(e._shift=function(t,e){return t.autoshift?e[t.overlaying][t.side]:t.shift||0}(e,u));var b=m[g+"axislayer"],_=e._mainLinePosition,w=_+=e._shift,T=e._mainMirrorPosition,k=e._vals=q.calcTicks(e),A=[e.mirror,w,T].join("_");for(n=0;n<k.length;n++)k[n].axInfo=A;e._selections={},e._tickAngles&&(e._prevTickAngles=e._tickAngles),e._tickAngles={},e._depth=null;var M={};if(e.visible){var S,E,L=q.makeTransTickFn(e),C=q.makeTransTickLabelFn(e),P="inside"===e.ticks,O="outside"===e.ticks;if("boundaries"===e.tickson){var I=function(t,e){var r,n=[],i=function(t,e){var r=t.xbnd[e];null!==r&&n.push(s.extendFlat({},t,{x:r}))};if(e.length){for(r=0;r<e.length;r++)i(e[r],0);i(e[r-1],1)}return n}(0,k);E=q.clipEnds(e,I),S=P?E:I}else E=q.clipEnds(e,k),S=P&&"period"!==e.ticklabelmode?E:k;var D,z=e._gridVals=E,R=function(t,e){var r,n,i=[],a=e.length&&e[e.length-1].x<e[0].x,o=function(t,e){var r=t.xbnd[e];null!==r&&i.push(s.extendFlat({},t,{x:r}))};if(t.showdividers&&e.length){for(r=0;r<e.length;r++){var l=e[r];l.text2!==n&&o(l,a?1:0),n=l.text2}o(e[r-1],a?0:1)}return i}(e,k);if(!d._hasOnlyLargeSploms){var F=e._subplotsWith,B={};for(n=0;n<F.length;n++){i=F[n];var N=(l=d._plots[i])[y+"axis"],j=N._mainAxis._id;if(!B[j]){B[j]=1;var U="x"===g?"M0,"+N._offset+"v"+N._length:"M"+N._offset+",0h"+N._length;q.drawGrid(t,e,{vals:z,counterAxis:N,layer:l.gridlayer.select("."+v),minorLayer:l.minorGridlayer.select("."+v),path:U,transFn:L}),q.drawZeroLine(t,e,{counterAxis:N,layer:l.zerolinelayer,path:U,transFn:L})}}}var G=q.getTickSigns(e),Z=q.getTickSigns(e,"minor");if(e.ticks||e.minor&&e.minor.ticks){var Y,W,X,J,K=q.makeTickPath(e,w,G[2]),$=q.makeTickPath(e,w,Z[2],{minor:!0});if(e._anchorAxis&&e.mirror&&!0!==e.mirror?(Y=q.makeTickPath(e,T,G[3]),W=q.makeTickPath(e,T,Z[3],{minor:!0}),X=K+Y,J=$+W):(Y="",W="",X=K,J=$),e.showdividers&&O&&"boundaries"===e.tickson){var Q={};for(n=0;n<R.length;n++)Q[R[n].x]=1;D=function(t){return Q[t.x]?Y:X}}else D=function(t){return t.minor?J:X}}if(q.drawTicks(t,e,{vals:S,layer:b,path:D,transFn:L}),"allticks"===e.mirror){var tt=Object.keys(e._linepositions||{});for(n=0;n<tt.length;n++){i=tt[n],l=d._plots[i];var et=e._linepositions[i]||[],rt=et[0],nt=et[1],it=et[2],at=q.makeTickPath(e,rt,it?G[0]:Z[0],{minor:it})+q.makeTickPath(e,nt,it?G[1]:Z[1],{minor:it});q.drawTicks(t,e,{vals:S,layer:l[g+"axislayer"],path:at,transFn:L})}}var ot=[];if(ot.push((function(){return q.drawLabels(t,e,{vals:k,layer:b,plotinfo:l,transFn:C,labelFns:q.makeLabelFns(e,w)})})),"multicategory"===e.type){var st={x:2,y:10}[g];ot.push((function(){var r={x:"height",y:"width"}[g],n=ut()[r]+st+(e._tickAngles[v+"tick"]?e.tickfont.size*V:0);return q.drawLabels(t,e,{vals:_t(e,k),layer:b,cls:v+"tick2",repositionOnUpdate:!0,secondary:!0,transFn:L,labelFns:q.makeLabelFns(e,w+n*G[4])})})),ot.push((function(){return e._depth=G[4]*(ut("tick2")[e.side]-w),function(t,e,r){var n=e._id+"divider",i=r.vals,a=r.layer.selectAll("path."+n).data(i,Tt);a.exit().remove(),a.enter().insert("path",":first-child").classed(n,1).classed("crisp",1).call(f.stroke,e.dividercolor).style("stroke-width",h.crispRound(t,e.dividerwidth,1)+"px"),a.attr("transform",r.transFn).attr("d",r.path)}(t,e,{vals:R,layer:b,path:q.makeTickPath(e,w,G[4],{len:e._depth}),transFn:L})}))}else e.title.hasOwnProperty("standoff")&&ot.push((function(){e._depth=G[4]*(ut()[e.side]-w)}));var lt=o.getComponentMethod("rangeslider","isVisible")(e);return r.skipTitle||lt&&"bottom"===e.side||ot.push((function(){return function(t,e){var r,n=t._fullLayout,i=e._id,a=i.charAt(0),o=e.title.font.size;if(e.title.hasOwnProperty("standoff"))r=e._depth+e.title.standoff+kt(e);else{var s=zt(e);if("multicategory"===e.type)r=e._depth;else{var l=1.5*o;s&&(l=.5*o,"outside"===e.ticks&&(l+=e.ticklen)),r=10+l+(e.linewidth?e.linewidth-1:0)}s||(r+="x"===a?"top"===e.side?o*(e.showticklabels?1:0):o*(e.showticklabels?1.5:.5):"right"===e.side?o*(e.showticklabels?1:.5):o*(e.showticklabels?.5:0))}var u,f,p,d,v=q.getPxPosition(t,e);if("x"===a?(f=e._offset+e._length/2,p="top"===e.side?v-r:v+r):(p=e._offset+e._length/2,f="right"===e.side?v+r:v-r,u={rotate:"-90",offset:0}),"multicategory"!==e.type){var g=e._selections[e._id+"tick"];if(d={selection:g,side:e.side},g&&g.node()&&g.node().parentNode){var y=h.getTranslate(g.node().parentNode);d.offsetLeft=y.x,d.offsetTop=y.y}e.title.hasOwnProperty("standoff")&&(d.pad=0)}return e._titleStandoff=r,c.draw(t,i+"title",{propContainer:e,propName:e._name+".title.text",placeholder:n._dfltTitle[a],avoid:d,transform:u,attributes:{x:f,y:p,"text-anchor":"middle"}})}(t,e)})),ot.push((function(){var r,n,i,s,l=e.side.charAt(0),u=H[e.side].charAt(0),c=q.getPxPosition(t,e),f=O?e.ticklen:0;(e.automargin||lt||e._shiftPusher)&&("multicategory"===e.type?r=ut("tick2"):(r=ut(),"x"===g&&"b"===l&&(e._depth=Math.max(r.width>0?r.bottom-c:0,f))));var h=0,p=0;if(e._shiftPusher&&(h=Math.max(f,r.height>0?"l"===l?c-r.left:r.right-c:0),e.title.text!==d._dfltTitle[g]&&(p=(e._titleStandoff||0)+(e._titleScoot||0),"l"===l&&(p+=kt(e))),e._fullDepth=Math.max(h,p)),e.automargin){n={x:0,y:0,r:0,l:0,t:0,b:0};var v=[0,1],m="number"==typeof e._shift?e._shift:0;if("x"===g){if("b"===l?n[l]=e._depth:(n[l]=e._depth=Math.max(r.width>0?c-r.top:0,f),v.reverse()),r.width>0){var x=r.right-(e._offset+e._length);x>0&&(n.xr=1,n.r=x);var b=e._offset-r.left;b>0&&(n.xl=0,n.l=b)}}else if("l"===l?(e._depth=Math.max(r.height>0?c-r.left:0,f),n[l]=e._depth-m):(e._depth=Math.max(r.height>0?r.right-c:0,f),n[l]=e._depth+m,v.reverse()),r.height>0){var _=r.bottom-(e._offset+e._length);_>0&&(n.yb=0,n.b=_);var w=e._offset-r.top;w>0&&(n.yt=1,n.t=w)}n[y]="free"===e.anchor?e.position:e._anchorAxis.domain[v[0]],e.title.text!==d._dfltTitle[g]&&(n[l]+=kt(e)+(e.title.standoff||0)),e.mirror&&"free"!==e.anchor&&((i={x:0,y:0,r:0,l:0,t:0,b:0})[u]=e.linewidth,e.mirror&&!0!==e.mirror&&(i[u]+=f),!0===e.mirror||"ticks"===e.mirror?i[y]=e._anchorAxis.domain[v[1]]:"all"!==e.mirror&&"allticks"!==e.mirror||(i[y]=[e._counterDomainMin,e._counterDomainMax][v[1]]))}lt&&(s=o.getComponentMethod("rangeslider","autoMarginOpts")(t,e)),"string"==typeof e.automargin&&(bt(n,e.automargin),bt(i,e.automargin)),a.autoMargin(t,St(e),n),a.autoMargin(t,Et(e),i),a.autoMargin(t,Lt(e),s)})),s.syncOrAsync(ot)}}function ut(t){var r=v+(t||"tick");return M[r]||(M[r]=function(t,e){var r,n,i,a;return t._selections[e].size()?(r=1/0,n=-1/0,i=1/0,a=-1/0,t._selections[e].each((function(){var t=Mt(this),e=h.bBox(t.node().parentNode);r=Math.min(r,e.top),n=Math.max(n,e.bottom),i=Math.min(i,e.left),a=Math.max(a,e.right)}))):(r=0,n=0,i=0,a=0),{top:r,bottom:n,left:i,right:a,height:n-r,width:a-i}}(e,r)),M[r]}},q.getTickSigns=function(t,e){var r=t._id.charAt(0),n={x:"top",y:"right"}[r],i=t.side===n?1:-1,a=[-1,1,i,-i];return"inside"!==(e?(t.minor||{}).ticks:t.ticks)==("x"===r)&&(a=a.map((function(t){return-t}))),t.side&&a.push({l:-1,t:-1,r:1,b:1}[t.side.charAt(0)]),a},q.makeTransTickFn=function(t){return"x"===t._id.charAt(0)?function(e){return l(t._offset+t.l2p(e.x),0)}:function(e){return l(0,t._offset+t.l2p(e.x))}},q.makeTransTickLabelFn=function(t){var e=function(t){var e=t.ticklabelposition||"",r=function(t){return-1!==e.indexOf(t)},n=r("top"),i=r("left"),a=r("right"),o=r("bottom"),s=r("inside"),l=o||i||n||a;if(!l&&!s)return[0,0];var u=t.side,c=l?(t.tickwidth||0)/2:0,f=3,h=t.tickfont?t.tickfont.size:12;return(o||n)&&(c+=h*U,f+=(t.linewidth||0)/2),(i||a)&&(c+=(t.linewidth||0)/2,f+=3),s&&"top"===u&&(f-=h*(1-U)),(i||n)&&(c=-c),"bottom"!==u&&"right"!==u||(f=-f),[l?c:0,s?f:0]}(t),r=e[0],n=e[1];return"x"===t._id.charAt(0)?function(e){return l(r+t._offset+t.l2p(wt(e)),n)}:function(e){return l(n,r+t._offset+t.l2p(wt(e)))}},q.makeTickPath=function(t,e,r,n){n||(n={});var i=n.minor;if(i&&!t.minor)return"";var a=void 0!==n.len?n.len:i?t.minor.ticklen:t.ticklen,o=t._id.charAt(0),s=(t.linewidth||1)/2;return"x"===o?"M0,"+(e+s*r)+"v"+a*r:"M"+(e+s*r)+",0h"+a*r},q.makeLabelFns=function(t,e,r){var n=t.ticklabelposition||"",a=function(t){return-1!==n.indexOf(t)},o=a("top"),l=a("left"),u=a("right"),c=a("bottom")||l||o||u,f=a("inside"),h="inside"===n&&"inside"===t.ticks||!f&&"outside"===t.ticks&&"boundaries"!==t.tickson,p=0,d=0,v=h?t.ticklen:0;if(f?v*=-1:c&&(v=0),h&&(p+=v,r)){var g=s.deg2rad(r);p=v*Math.cos(g)+1,d=v*Math.sin(g)}t.showticklabels&&(h||t.showline)&&(p+=.2*t.tickfont.size);var y,m,x,b,_,w={labelStandoff:p+=(t.linewidth||1)/2*(f?-1:1),labelShift:d},T=0,k=t.side,A=t._id.charAt(0),M=t.tickangle;if("x"===A)b=(_=!f&&"bottom"===k||f&&"top"===k)?1:-1,f&&(b*=-1),y=d*b,m=e+p*b,x=_?1:-.2,90===Math.abs(M)&&(f?x+=j:x=-90===M&&"bottom"===k?U:90===M&&"top"===k?j:.5,T=j/2*(M/90)),w.xFn=function(t){return t.dx+y+T*t.fontSize},w.yFn=function(t){return t.dy+m+t.fontSize*x},w.anchorFn=function(t,e){if(c){if(l)return"end";if(u)return"start"}return i(e)&&0!==e&&180!==e?e*b<0!==f?"end":"start":"middle"},w.heightFn=function(e,r,n){return r<-60||r>60?-.5*n:"top"===t.side!==f?-n:0};else if("y"===A){if(b=(_=!f&&"left"===k||f&&"right"===k)?1:-1,f&&(b*=-1),y=p,m=d*b,x=0,f||90!==Math.abs(M)||(x=-90===M&&"left"===k||90===M&&"right"===k?U:.5),f){var S=i(M)?+M:0;if(0!==S){var E=s.deg2rad(S);T=Math.abs(Math.sin(E))*U*b,x=0}}w.xFn=function(t){return t.dx+e-(y+t.fontSize*x)*b+T*t.fontSize},w.yFn=function(t){return t.dy+m+t.fontSize*j},w.anchorFn=function(t,e){return i(e)&&90===Math.abs(e)?"middle":_?"end":"start"},w.heightFn=function(e,r,n){return"right"===t.side&&(r*=-1),r<-30?-n:r<30?-.5*n:0}}return w},q.drawTicks=function(t,e,r){r=r||{};var i=e._id+"tick",a=[].concat(e.minor&&e.minor.ticks?r.vals.filter((function(t){return t.minor&&!t.noTick})):[]).concat(e.ticks?r.vals.filter((function(t){return!t.minor&&!t.noTick})):[]),o=r.layer.selectAll("path."+i).data(a,Tt);o.exit().remove(),o.enter().append("path").classed(i,1).classed("ticks",1).classed("crisp",!1!==r.crisp).each((function(t){return f.stroke(n.select(this),t.minor?e.minor.tickcolor:e.tickcolor)})).style("stroke-width",(function(r){return h.crispRound(t,r.minor?e.minor.tickwidth:e.tickwidth,1)+"px"})).attr("d",r.path).style("display",null),Rt(e,[R]),o.attr("transform",r.transFn)},q.drawGrid=function(t,e,r){if(r=r||{},"sync"!==e.tickmode){var i=e._id+"grid",a=e.minor&&e.minor.showgrid,o=a?r.vals.filter((function(t){return t.minor})):[],s=e.showgrid?r.vals.filter((function(t){return!t.minor})):[],l=r.counterAxis;if(l&&q.shouldShowZeroLine(t,e,l))for(var u="array"===e.tickmode,c=0;c<s.length;c++){var p=s[c].x;if(u?!p:Math.abs(p)<e.dtick/100){if(s=s.slice(0,c).concat(s.slice(c+1)),!u)break;c--}}e._gw=h.crispRound(t,e.gridwidth,1);for(var d=a?h.crispRound(t,e.minor.gridwidth,1):0,v=r.layer,g=r.minorLayer,y=1;y>=0;y--){var m=y?v:g;if(m){var x=m.selectAll("path."+i).data(y?s:o,Tt);x.exit().remove(),x.enter().append("path").classed(i,1).classed("crisp",!1!==r.crisp),x.attr("transform",r.transFn).attr("d",r.path).each((function(t){return f.stroke(n.select(this),t.minor?e.minor.gridcolor:e.gridcolor||"#ddd")})).style("stroke-dasharray",(function(t){return h.dashStyle(t.minor?e.minor.griddash:e.griddash,t.minor?e.minor.gridwidth:e.gridwidth)})).style("stroke-width",(function(t){return(t.minor?d:e._gw)+"px"})).style("display",null),"function"==typeof r.path&&x.attr("d",r.path)}}Rt(e,[D,z])}},q.drawZeroLine=function(t,e,r){r=r||r;var n=e._id+"zl",i=q.shouldShowZeroLine(t,e,r.counterAxis),a=r.layer.selectAll("path."+n).data(i?[{x:0,id:e._id}]:[]);a.exit().remove(),a.enter().append("path").classed(n,1).classed("zl",1).classed("crisp",!1!==r.crisp).each((function(){r.layer.selectAll("path").sort((function(t,e){return Y(t.id,e.id)}))})),a.attr("transform",r.transFn).attr("d",r.path).call(f.stroke,e.zerolinecolor||f.defaultLine).style("stroke-width",h.crispRound(t,e.zerolinewidth,e._gw||1)+"px").style("display",null),Rt(e,[I])},q.drawLabels=function(t,e,r){r=r||{};var a=t._fullLayout,o=e._id,c=o.charAt(0),f=r.cls||o+"tick",p=r.vals.filter((function(t){return t.text})),d=r.labelFns,v=r.secondary?0:e.tickangle,g=(e._prevTickAngles||{})[f],y=r.layer.selectAll("g."+f).data(e.showticklabels?p:[],Tt),m=[];function x(t,a){t.each((function(t){var o=n.select(this),s=o.select(".text-math-group"),c=d.anchorFn(t,a),f=r.transFn.call(o.node(),t)+(i(a)&&0!=+a?" rotate("+a+","+d.xFn(t)+","+(d.yFn(t)-t.fontSize/2)+")":""),p=u.lineCount(o),v=V*t.fontSize,g=d.heightFn(t,i(a)?+a:0,(p-1)*v);if(g&&(f+=l(0,g)),s.empty()){var y=o.select("text");y.attr({transform:f,"text-anchor":c}),y.style("opacity",1),e._adjustTickLabelsOverflow&&e._adjustTickLabelsOverflow()}else{var m=h.bBox(s.node()).width*{end:-.5,start:.5}[c];s.attr("transform",f+l(m,0))}}))}y.enter().append("g").classed(f,1).append("text").attr("text-anchor","middle").each((function(e){var r=n.select(this),i=t._promises.length;r.call(u.positionText,d.xFn(e),d.yFn(e)).call(h.font,e.font,e.fontSize,e.fontColor).text(e.text).call(u.convertToTspans,t),t._promises[i]?m.push(t._promises.pop().then((function(){x(r,v)}))):x(r,v)})),Rt(e,[F]),y.exit().remove(),r.repositionOnUpdate&&y.each((function(t){n.select(this).select("text").call(u.positionText,d.xFn(t),d.yFn(t))})),e._adjustTickLabelsOverflow=function(){var r=e.ticklabeloverflow;if(r&&"allow"!==r){var i=-1!==r.indexOf("hide"),o="x"===e._id.charAt(0),l=0,u=o?t._fullLayout.width:t._fullLayout.height;if(-1!==r.indexOf("domain")){var c=s.simpleMap(e.range,e.r2l);l=e.l2p(c[0])+e._offset,u=e.l2p(c[1])+e._offset}var f=Math.min(l,u),p=Math.max(l,u),d=e.side,v=1/0,g=-1/0;for(var m in y.each((function(t){var r=n.select(this);if(r.select(".text-math-group").empty()){var a=h.bBox(r.node()),s=0;o?(a.right>p||a.left<f)&&(s=1):(a.bottom>p||a.top+(e.tickangle?0:t.fontSize/4)<f)&&(s=1);var l=r.select("text");s?i&&l.style("opacity",0):(l.style("opacity",1),v="bottom"===d||"right"===d?Math.min(v,o?a.top:a.left):-1/0,g="top"===d||"left"===d?Math.max(g,o?a.bottom:a.right):1/0)}})),a._plots){var x=a._plots[m];if(e._id===x.xaxis._id||e._id===x.yaxis._id){var b=o?x.yaxis:x.xaxis;b&&(b["_visibleLabelMin_"+e._id]=v,b["_visibleLabelMax_"+e._id]=g)}}}},e._hideCounterAxisInsideTickLabels=function(t){var r="x"===e._id.charAt(0),i=[];for(var o in a._plots){var s=a._plots[o];e._id!==s.xaxis._id&&e._id!==s.yaxis._id||i.push(r?s.yaxis:s.xaxis)}i.forEach((function(r,i){r&&zt(r)&&(t||[I,z,D,R,F]).forEach((function(t){var o="tick"===t.K&&"text"===t.L&&"period"===e.ticklabelmode,s=a._plots[e._mainSubplot];(t.K===I.K?s.zerolinelayer.selectAll("."+e._id+"zl"):t.K===z.K?s.minorGridlayer.selectAll("."+e._id):t.K===D.K?s.gridlayer.selectAll("."+e._id):s[e._id.charAt(0)+"axislayer"]).each((function(){var a=n.select(this);t.L&&(a=a.selectAll(t.L)),a.each((function(a){var s=e.l2p(o?wt(a):a.x)+e._offset,l=n.select(this);s<e["_visibleLabelMax_"+r._id]&&s>e["_visibleLabelMin_"+r._id]?l.style("display","none"):"tick"!==t.K||i||l.style("display",null)}))}))}))}))},x(y,g+1?g:v);var b=null;e._selections&&(e._selections[f]=y);var _=[function(){return m.length&&Promise.all(m)}];e.automargin&&a._redrawFromAutoMarginCount&&90===g?(b=90,_.push((function(){x(y,g)}))):_.push((function(){if(x(y,v),p.length&&"x"===c&&!i(v)&&("log"!==e.type||"D"!==String(e.dtick).charAt(0))){b=0;var t,n=0,a=[];if(y.each((function(t){n=Math.max(n,t.fontSize);var r=e.l2p(t.x),i=Mt(this),o=h.bBox(i.node());a.push({top:0,bottom:10,height:10,left:r-o.width/2,right:r+o.width/2+2,width:o.width+2})})),"boundaries"!==e.tickson&&!e.showdividers||r.secondary){var o=p.length,l=Math.abs((p[o-1].x-p[0].x)*e._m)/(o-1),u=e.ticklabelposition||"",f=function(t){return-1!==u.indexOf(t)},d=f("top"),g=f("left"),m=f("right"),_=f("bottom")||g||d||m?(e.tickwidth||0)+6:0,w=l<2.5*n||"multicategory"===e.type||"realaxis"===e._name;for(t=0;t<a.length-1;t++)if(s.bBoxIntersect(a[t],a[t+1],_)){b=w?90:30;break}}else{var T=2;for(e.ticks&&(T+=e.tickwidth/2),t=0;t<a.length;t++){var k=p[t].xbnd,A=a[t];if(null!==k[0]&&A.left-e.l2p(k[0])<T||null!==k[1]&&e.l2p(k[1])-A.right<T){b=90;break}}}b&&x(y,b)}})),e._tickAngles&&_.push((function(){e._tickAngles[f]=null===b?i(v)?v:0:b}));var w=e._anchorAxis;w&&w.autorange&&zt(e)&&!W(a,e._id)&&(a._insideTickLabelsAutorange||(a._insideTickLabelsAutorange={}),a._insideTickLabelsAutorange[w._name+".autorange"]=w.autorange,_.push((function(){y.each((function(t,r){var n=Mt(this);n.select(".text-math-group").empty()&&(e._vals[r].bb=h.bBox(n.node()))}))})));var T=s.syncOrAsync(_);return T&&T.then&&t._promises.push(T),T},q.getPxPosition=function(t,e){var r,n=t._fullLayout._size,i=e._id.charAt(0),a=e.side;return"free"!==e.anchor?r=e._anchorAxis:"x"===i?r={_offset:n.t+(1-(e.position||0))*n.h,_length:0}:"y"===i&&(r={_offset:n.l+(e.position||0)*n.w+e._shift,_length:0}),"top"===a||"left"===a?r._offset:"bottom"===a||"right"===a?r._offset+r._length:void 0},q.shouldShowZeroLine=function(t,e,r){var n=s.simpleMap(e.range,e.r2l);return n[0]*n[1]<=0&&e.zeroline&&("linear"===e.type||"-"===e.type)&&!(e.rangebreaks&&e.maskBreaks(0)===O)&&(At(e,0)||!function(t,e,r,n){var i=r._mainAxis;if(i){var a=t._fullLayout,o=e._id.charAt(0),s=q.counterLetter(e._id),l=e._offset+(Math.abs(n[0])<Math.abs(n[1])==("x"===o)?0:e._length),u=a._plots[r._mainSubplot];if(!(u.mainplotinfo||u).overlays.length)return p(r);for(var c=q.list(t,s),f=0;f<c.length;f++){var h=c[f];if(h._mainAxis===i&&p(h))return!0}}function p(t){if(!t.showline||!t.linewidth)return!1;var r=Math.max((t.linewidth+e.zerolinewidth)/2,1);function n(t){return"number"==typeof t&&Math.abs(t-l)<r}if(n(t._mainLinePosition)||n(t._mainMirrorPosition))return!0;var i=t._linepositions||{};for(var a in i)if(n(i[a][0])||n(i[a][1]))return!0}}(t,e,r,n)||function(t,e){for(var r=t._fullData,n=e._mainSubplot,i=e._id.charAt(0),a=0;a<r.length;a++){var s=r[a];if(!0===s.visible&&s.xaxis+s.yaxis===n){if(o.traceIs(s,"bar-like")&&s.orientation==={x:"h",y:"v"}[i])return!0;if(s.fill&&s.fill.charAt(s.fill.length-1)===i)return!0}}return!1}(t,e))},q.clipEnds=function(t,e){return e.filter((function(e){return At(t,e.x)}))},q.allowAutoMargin=function(t){for(var e=q.list(t,"",!0),r=0;r<e.length;r++){var n=e[r];n.automargin&&(a.allowAutoMargin(t,St(n)),n.mirror&&a.allowAutoMargin(t,Et(n))),o.getComponentMethod("rangeslider","isVisible")(n)&&a.allowAutoMargin(t,Lt(n))}},q.swap=function(t,e){for(var r=function(t,e){var r,n,i=[];for(r=0;r<e.length;r++){var a=[],o=t._fullData[e[r]].xaxis,s=t._fullData[e[r]].yaxis;if(o&&s){for(n=0;n<i.length;n++)-1===i[n].x.indexOf(o)&&-1===i[n].y.indexOf(s)||a.push(n);if(a.length){var l,u=i[a[0]];if(a.length>1)for(n=1;n<a.length;n++)l=i[a[n]],Ct(u.x,l.x),Ct(u.y,l.y);Ct(u.x,[o]),Ct(u.y,[s])}else i.push({x:[o],y:[s]})}}return i}(t,e),n=0;n<r.length;n++)Pt(t,r[n].x,r[n].y)}},4322:function(t,e,r){"use strict";var n=r(92770),i=r(71828),a=r(50606).BADNUM,o=i.isArrayOrTypedArray,s=i.isDateTime,l=i.cleanNumber,u=Math.round;function c(t,e){return e?n(t):"number"==typeof t}function f(t){return Math.max(1,(t-1)/1e3)}t.exports=function(t,e,r){var i=t,h=r.noMultiCategory;if(o(i)&&!i.length)return"-";if(!h&&function(t){return o(t[0])&&o(t[1])}(i))return"multicategory";if(h&&Array.isArray(i[0])){for(var p=[],d=0;d<i.length;d++)if(o(i[d]))for(var v=0;v<i[d].length;v++)p.push(i[d][v]);i=p}if(function(t,e){for(var r=t.length,i=f(r),a=0,o=0,l={},c=0;c<r;c+=i){var h=t[u(c)],p=String(h);l[p]||(l[p]=1,s(h,e)&&a++,n(h)&&o++)}return a>2*o}(i,e))return"date";var g="strict"!==r.autotypenumbers;return function(t,e){for(var r=t.length,n=f(r),i=0,o=0,s={},c=0;c<r;c+=n){var h=t[u(c)],p=String(h);if(!s[p]){s[p]=1;var d=typeof h;"boolean"===d?o++:(e?l(h)!==a:"number"===d)?i++:"string"===d&&o++}}return o>2*i}(i,g)?"category":function(t,e){for(var r=t.length,n=0;n<r;n++)if(c(t[n],e))return!0;return!1}(i,g)?"linear":"-"}},71453:function(t,e,r){"use strict";var n=r(92770),i=r(73972),a=r(71828),o=r(44467),s=r(85501),l=r(13838),u=r(26218),c=r(38701),f=r(96115),h=r(89426),p=r(15258),d=r(92128),v=r(21994),g=r(85555).WEEKDAY_PATTERN,y=r(85555).HOUR_PATTERN;function m(t,e,r){function i(r,n){return a.coerce(t,e,l.rangebreaks,r,n)}if(i("enabled")){var o=i("bounds");if(o&&o.length>=2){var s,u,c="";if(2===o.length)for(s=0;s<2;s++)if(u=b(o[s])){c=g;break}var f=i("pattern",c);if(f===g)for(s=0;s<2;s++)(u=b(o[s]))&&(e.bounds[s]=o[s]=u-1);if(f)for(s=0;s<2;s++)switch(u=o[s],f){case g:if(!n(u))return void(e.enabled=!1);if((u=+u)!==Math.floor(u)||u<0||u>=7)return void(e.enabled=!1);e.bounds[s]=o[s]=u;break;case y:if(!n(u))return void(e.enabled=!1);if((u=+u)<0||u>24)return void(e.enabled=!1);e.bounds[s]=o[s]=u}if(!1===r.autorange){var h=r.range;if(h[0]<h[1]){if(o[0]<h[0]&&o[1]>h[1])return void(e.enabled=!1)}else if(o[0]>h[0]&&o[1]<h[1])return void(e.enabled=!1)}}else{var p=i("values");if(!p||!p.length)return void(e.enabled=!1);i("dvalue")}}}t.exports=function(t,e,r,n,y){var x,b=n.letter,_=n.font||{},w=n.splomStash||{},T=r("visible",!n.visibleDflt),k=e._template||{},A=e.type||k.type||"-";"date"===A&&(i.getComponentMethod("calendars","handleDefaults")(t,e,"calendar",n.calendar),n.noTicklabelmode||(x=r("ticklabelmode")));var M="";n.noTicklabelposition&&"multicategory"!==A||(M=a.coerce(t,e,{ticklabelposition:{valType:"enumerated",dflt:"outside",values:"period"===x?["outside","inside"]:"x"===b?["outside","inside","outside left","inside left","outside right","inside right"]:["outside","inside","outside top","inside top","outside bottom","inside bottom"]}},"ticklabelposition")),n.noTicklabeloverflow||r("ticklabeloverflow",-1!==M.indexOf("inside")?"hide past domain":"category"===A||"multicategory"===A?"allow":"hide past div"),v(e,y);var S=!e.isValidRange(t.range);S&&n.reverseDflt&&(S="reversed"),!r("autorange",S)||"linear"!==A&&"-"!==A||r("rangemode"),r("range"),e.cleanRange(),p(t,e,r,n),"category"===A||n.noHover||r("hoverformat");var E=r("color"),L=E!==l.color.dflt?E:_.color,C=w.label||y._dfltTitle[b];if(h(t,e,r,A,n),!T)return e;r("title.text",C),a.coerceFont(r,"title.font",{family:_.family,size:a.bigFont(_.size),color:L}),u(t,e,r,A);var P=n.hasMinor;if(P&&(o.newContainer(e,"minor"),u(t,e,r,A,{isMinor:!0})),f(t,e,r,A,n),c(t,e,r,n),P){var O=n.isMinor;n.isMinor=!0,c(t,e,r,n),n.isMinor=O}d(t,e,r,{dfltColor:E,bgColor:n.bgColor,showGrid:n.showGrid,hasMinor:P,attributes:l}),!P||e.minor.ticks||e.minor.showgrid||delete e.minor,(e.showline||e.ticks)&&r("mirror");var I,D="multicategory"===A;if(n.noTickson||"category"!==A&&!D||!e.ticks&&!e.showgrid||(D&&(I="boundaries"),"boundaries"===r("tickson",I)&&delete e.ticklabelposition),D&&r("showdividers")&&(r("dividercolor"),r("dividerwidth")),"date"===A)if(s(t,e,{name:"rangebreaks",inclusionAttr:"enabled",handleItemDefaults:m}),e.rangebreaks.length){for(var z=0;z<e.rangebreaks.length;z++)if(e.rangebreaks[z].pattern===g){e._hasDayOfWeekBreaks=!0;break}if(v(e,y),y._has("scattergl")||y._has("splom"))for(var R=0;R<n.data.length;R++){var F=n.data[R];"scattergl"!==F.type&&"splom"!==F.type||(F.visible=!1,a.warn(F.type+" traces do not work on axes with rangebreaks. Setting trace "+F.index+" to `visible: false`."))}}else delete e.rangebreaks;return e};var x={sun:1,mon:2,tue:3,wed:4,thu:5,fri:6,sat:7};function b(t){if("string"==typeof t)return x[t.substr(0,3).toLowerCase()]}},12663:function(t,e,r){"use strict";var n=r(31562),i=n.FORMAT_LINK,a=n.DATE_FORMAT_LINK;function o(t,e){return["Sets the "+t+" formatting rule"+(e?"for `"+e+"` ":""),"using d3 formatting mini-languages","which are very similar to those in Python. For numbers, see: "+i+"."].join(" ")}function s(t,e){return o(t,e)+[" And for dates see: "+a+".","We add two items to d3's date formatter:","*%h* for half of the year as a decimal number as well as","*%{n}f* for fractional seconds","with n digits. For example, *2016-10-13 09:15:23.456* with tickformat","*%H~%M~%S.%2f* would display *09~15~23.46*"].join(" ")}t.exports={axisHoverFormat:function(t,e){return{valType:"string",dflt:"",editType:"none",description:(e?o:s)("hover text",t)+["By default the values are formatted using "+(e?"generic number format":"`"+t+"axis.hoverformat`")+"."].join(" ")}},descriptionOnlyNumbers:o,descriptionWithDates:s}},41675:function(t,e,r){"use strict";var n=r(73972),i=r(85555);function a(t,e){if(e&&e.length)for(var r=0;r<e.length;r++)if(e[r][t])return!0;return!1}e.id2name=function(t){if("string"==typeof t&&t.match(i.AX_ID_PATTERN)){var e=t.split(" ")[0].substr(1);return"1"===e&&(e=""),t.charAt(0)+"axis"+e}},e.name2id=function(t){if(t.match(i.AX_NAME_PATTERN)){var e=t.substr(5);return"1"===e&&(e=""),t.charAt(0)+e}},e.cleanId=function(t,e,r){var n=/( domain)$/.test(t);if("string"==typeof t&&t.match(i.AX_ID_PATTERN)&&(!e||t.charAt(0)===e)&&(!n||r)){var a=t.split(" ")[0].substr(1).replace(/^0+/,"");return"1"===a&&(a=""),t.charAt(0)+a+(n&&r?" domain":"")}},e.list=function(t,r,n){var i=t._fullLayout;if(!i)return[];var a,o=e.listIds(t,r),s=new Array(o.length);for(a=0;a<o.length;a++){var l=o[a];s[a]=i[l.charAt(0)+"axis"+l.substr(1)]}if(!n){var u=i._subplots.gl3d||[];for(a=0;a<u.length;a++){var c=i[u[a]];r?s.push(c[r+"axis"]):s.push(c.xaxis,c.yaxis,c.zaxis)}}return s},e.listIds=function(t,e){var r=t._fullLayout;if(!r)return[];var n=r._subplots;return e?n[e+"axis"]:n.xaxis.concat(n.yaxis)},e.getFromId=function(t,r,n){var i=t._fullLayout;return r=void 0===r||"string"!=typeof r?r:r.replace(" domain",""),"x"===n?r=r.replace(/y[0-9]*/,""):"y"===n&&(r=r.replace(/x[0-9]*/,"")),i[e.id2name(r)]},e.getFromTrace=function(t,r,i){var a=t._fullLayout,o=null;if(n.traceIs(r,"gl3d")){var s=r.scene;"scene"===s.substr(0,5)&&(o=a[s][i+"axis"])}else o=e.getFromId(t,r[i+"axis"]||i);return o},e.idSort=function(t,e){var r=t.charAt(0),n=e.charAt(0);return r!==n?r>n?1:-1:+(t.substr(1)||1)-+(e.substr(1)||1)},e.ref2id=function(t){return!!/^[xyz]/.test(t)&&t.split(" ")[0]},e.isLinked=function(t,e){return a(e,t._axisMatchGroups)||a(e,t._axisConstraintGroups)}},15258:function(t){"use strict";t.exports=function(t,e,r,n){if("category"===e.type){var i,a=t.categoryarray,o=Array.isArray(a)&&a.length>0;o&&(i="array");var s,l=r("categoryorder",i);"array"===l&&(s=r("categoryarray")),o||"array"!==l||(l=e.categoryorder="trace"),"trace"===l?e._initialCategories=[]:"array"===l?e._initialCategories=s.slice():(s=function(t,e){var r,n,i,a=e.dataAttr||t._id.charAt(0),o={};if(e.axData)r=e.axData;else for(r=[],n=0;n<e.data.length;n++){var s=e.data[n];s[a+"axis"]===t._id&&r.push(s)}for(n=0;n<r.length;n++){var l=r[n][a];for(i=0;i<l.length;i++){var u=l[i];null!=u&&(o[u]=1)}}return Object.keys(o)}(e,n).sort(),"category ascending"===l?e._initialCategories=s:"category descending"===l&&(e._initialCategories=s.reverse()))}}},66287:function(t,e,r){"use strict";var n=r(92770),i=r(71828),a=r(50606),o=a.ONEDAY,s=a.ONEWEEK;e.dtick=function(t,e){var r="log"===e,i="date"===e,a="category"===e,s=i?o:1;if(!t)return s;if(n(t))return(t=Number(t))<=0?s:a?Math.max(1,Math.round(t)):i?Math.max(.1,t):t;if("string"!=typeof t||!i&&!r)return s;var l=t.charAt(0),u=t.substr(1);return(u=n(u)?Number(u):0)<=0||!(i&&"M"===l&&u===Math.round(u)||r&&"L"===l||r&&"D"===l&&(1===u||2===u))?s:t},e.tick0=function(t,e,r,a){return"date"===e?i.cleanDate(t,i.dateTick0(r,a%s==0?1:0)):"D1"!==a&&"D2"!==a?n(t)?Number(t):0:void 0}},85555:function(t,e,r){"use strict";var n=r(30587).counter;t.exports={idRegex:{x:n("x","( domain)?"),y:n("y","( domain)?")},attrRegex:n("[xy]axis"),xAxisMatch:n("xaxis"),yAxisMatch:n("yaxis"),AX_ID_PATTERN:/^[xyz][0-9]*( domain)?$/,AX_NAME_PATTERN:/^[xyz]axis[0-9]*$/,SUBPLOT_PATTERN:/^x([0-9]*)y([0-9]*)$/,HOUR_PATTERN:"hour",WEEKDAY_PATTERN:"day of week",MINDRAG:8,MINZOOM:20,DRAGGERSIZE:20,REDRAWDELAY:50,DFLTRANGEX:[-1,6],DFLTRANGEY:[-1,4],traceLayerClasses:["imagelayer","heatmaplayer","contourcarpetlayer","contourlayer","funnellayer","waterfalllayer","barlayer","carpetlayer","violinlayer","boxlayer","ohlclayer","scattercarpetlayer","scatterlayer"],clipOnAxisFalseQuery:[".scatterlayer",".barlayer",".funnellayer",".waterfalllayer"],layerValue2layerClass:{"above traces":"above","below traces":"below"}}},99082:function(t,e,r){"use strict";var n=r(71828),i=r(71739),a=r(41675).id2name,o=r(13838),s=r(42449),l=r(21994),u=r(50606).ALMOST_EQUAL,c=r(18783).FROM_BL;function f(t,e,r){var i=r.axIds,s=r.layoutOut,l=r.hasImage,u=s._axisConstraintGroups,c=s._axisMatchGroups,f=e._id,v=f.charAt(0),g=((s._splomAxes||{})[v]||{})[f]||{},y=e._id,m="x"===y.charAt(0);function x(r,i){return n.coerce(t,e,o,r,i)}e._matchGroup=null,e._constraintGroup=null,x("constrain",l?"domain":"range"),n.coerce(t,e,{constraintoward:{valType:"enumerated",values:m?["left","center","right"]:["bottom","middle","top"],dflt:m?"center":"middle"}},"constraintoward");var b,_,w=e.type,T=[];for(b=0;b<i.length;b++)(_=i[b])!==y&&s[a(_)].type===w&&T.push(_);var k=p(u,y);if(k){var A=[];for(b=0;b<T.length;b++)k[_=T[b]]||A.push(_);T=A}var M,S,E=T.length;E&&(t.matches||g.matches)&&(M=n.coerce(t,e,{matches:{valType:"enumerated",values:T,dflt:-1!==T.indexOf(g.matches)?g.matches:void 0}},"matches"));var L=l&&!m?e.anchor:void 0;if(E&&!M&&(t.scaleanchor||L)&&(S=n.coerce(t,e,{scaleanchor:{valType:"enumerated",values:T}},"scaleanchor",L)),M){e._matchGroup=d(c,y,M,1);var C=s[a(M)],P=h(s,e)/h(s,C);m!==("x"===M.charAt(0))&&(P=(m?"x":"y")+P),d(u,y,M,P)}else t.matches&&-1!==i.indexOf(t.matches)&&n.warn("ignored "+e._name+'.matches: "'+t.matches+'" to avoid an infinite loop');if(S){var O=x("scaleratio");O||(O=e.scaleratio=1),d(u,y,S,O)}else t.scaleanchor&&-1!==i.indexOf(t.scaleanchor)&&n.warn("ignored "+e._name+'.scaleanchor: "'+t.scaleanchor+'" to avoid either an infinite loop and possibly inconsistent scaleratios, or because this axis declares a *matches* constraint.')}function h(t,e){var r=e.domain;return r||(r=t[a(e.overlaying)].domain),r[1]-r[0]}function p(t,e){for(var r=0;r<t.length;r++)if(t[r][e])return t[r];return null}function d(t,e,r,n){var i,a,o,s,l,u=p(t,e);null===u?((u={})[e]=1,l=t.length,t.push(u)):l=t.indexOf(u);var c=Object.keys(u);for(i=0;i<t.length;i++)if(o=t[i],i!==l&&o[r]){var f=o[r];for(a=0;a<c.length;a++)o[s=c[a]]=v(f,v(n,u[s]));return void t.splice(l,1)}if(1!==n)for(a=0;a<c.length;a++){var h=c[a];u[h]=v(n,u[h])}u[r]=1}function v(t,e){var r,n,i="",a="";"string"==typeof t&&(r=(i=t.match(/^[xy]*/)[0]).length,t=+t.substr(r)),"string"==typeof e&&(n=(a=e.match(/^[xy]*/)[0]).length,e=+e.substr(n));var o=t*e;return r||n?r&&n&&i.charAt(0)!==a.charAt(0)?r===n?o:(r>n?i.substr(n):a.substr(r))+o:i+a+t*e:o}function g(t,e){for(var r=e._size,n=r.h/r.w,i={},a=Object.keys(t),o=0;o<a.length;o++){var s=a[o],l=t[s];if("string"==typeof l){var u=l.match(/^[xy]*/)[0],c=u.length;l=+l.substr(c);for(var f="y"===u.charAt(0)?n:1/n,h=0;h<c;h++)l*=f}i[s]=l}return i}function y(t,e){var r=t._inputDomain,n=c[t.constraintoward],i=r[0]+(r[1]-r[0])*n;t.domain=t._input.domain=[i+(r[0]-i)/e,i+(r[1]-i)/e],t.setScale()}e.handleDefaults=function(t,e,r){var i,o,s,u,c,h,p,d,v=r.axIds,g=r.axHasImage,y=e._axisConstraintGroups=[],m=e._axisMatchGroups=[];for(i=0;i<v.length;i++)f(c=t[u=a(v[i])],h=e[u],{axIds:v,layoutOut:e,hasImage:g[u]});function x(t,r){for(i=0;i<t.length;i++)for(s in o=t[i])e[a(s)][r]=o}for(x(m,"_matchGroup"),i=0;i<y.length;i++)for(s in o=y[i])if((h=e[a(s)]).fixedrange){for(var b in o){var _=a(b);!1===(t[_]||{}).fixedrange&&n.warn("fixedrange was specified as false for axis "+_+" but was overridden because another axis in its constraint group has fixedrange true"),e[_].fixedrange=!0}break}for(i=0;i<y.length;){for(s in o=y[i]){(h=e[a(s)])._matchGroup&&Object.keys(h._matchGroup).length===Object.keys(o).length&&(y.splice(i,1),i--);break}i++}x(y,"_constraintGroup");var w=["constrain","range","autorange","rangemode","rangebreaks","categoryorder","categoryarray"],T=!1,k=!1;function A(){d=h[p],"rangebreaks"===p&&(k=h._hasDayOfWeekBreaks)}for(i=0;i<m.length;i++){o=m[i];for(var M=0;M<w.length;M++){var S;for(s in p=w[M],d=null,o)if(c=t[u=a(s)],h=e[u],p in h){if(!h.matches&&(S=h,p in c)){A();break}null===d&&p in c&&A()}if("range"===p&&d&&(T=!0),"autorange"===p&&null===d&&T&&(d=!1),null===d&&p in S&&(d=S[p]),null!==d)for(s in o)(h=e[a(s)])[p]="range"===p?d.slice():d,"rangebreaks"===p&&(h._hasDayOfWeekBreaks=k,l(h,e))}}},e.enforce=function(t){var e,r,n,o,l,c,f,h,p=t._fullLayout,d=p._axisConstraintGroups||[];for(e=0;e<d.length;e++){n=g(d[e],p);var v=Object.keys(n),m=1/0,x=0,b=1/0,_={},w={},T=!1;for(r=0;r<v.length;r++)w[o=v[r]]=l=p[a(o)],l._inputDomain?l.domain=l._inputDomain.slice():l._inputDomain=l.domain.slice(),l._inputRange||(l._inputRange=l.range.slice()),l.setScale(),_[o]=c=Math.abs(l._m)/n[o],m=Math.min(m,c),"domain"!==l.constrain&&l._constraintShrinkable||(b=Math.min(b,c)),delete l._constraintShrinkable,x=Math.max(x,c),"domain"===l.constrain&&(T=!0);if(!(m>u*x)||T)for(r=0;r<v.length;r++)if(c=_[o=v[r]],f=(l=w[o]).constrain,c!==b||"domain"===f)if(h=c/b,"range"===f)s(l,h);else{var k=l._inputDomain,A=(l.domain[1]-l.domain[0])/(k[1]-k[0]),M=(l.r2l(l.range[1])-l.r2l(l.range[0]))/(l.r2l(l._inputRange[1])-l.r2l(l._inputRange[0]));if((h/=A)*M<1){l.domain=l._input.domain=k.slice(),s(l,h);continue}if(M<1&&(l.range=l._input.range=l._inputRange.slice(),h*=M),l.autorange){var S=l.r2l(l.range[0]),E=l.r2l(l.range[1]),L=(S+E)/2,C=L,P=L,O=Math.abs(E-L),I=L-O*h*1.0001,D=L+O*h*1.0001,z=i.makePadFn(p,l,0),R=i.makePadFn(p,l,1);y(l,h);var F,B,N=Math.abs(l._m),j=i.concatExtremes(t,l),U=j.min,V=j.max;for(B=0;B<U.length;B++)(F=U[B].val-z(U[B])/N)>I&&F<C&&(C=F);for(B=0;B<V.length;B++)(F=V[B].val+R(V[B])/N)<D&&F>P&&(P=F);h/=(P-C)/(2*O),C=l.l2r(C),P=l.l2r(P),l.range=l._input.range=S<E?[C,P]:[P,C]}y(l,h)}}},e.getAxisGroup=function(t,e){for(var r=t._axisMatchGroups,n=0;n<r.length;n++)if(r[n][e])return"g"+n;return e},e.clean=function(t,e){if(e._inputDomain){for(var r=!1,n=e._id,i=t._fullLayout._axisConstraintGroups,a=0;a<i.length;a++)if(i[a][n]){r=!0;break}r&&"domain"===e.constrain||(e._input.domain=e.domain=e._inputDomain,delete e._inputDomain)}}},29323:function(t,e,r){"use strict";var n=r(39898),i=r(71828),a=i.numberFormat,o=r(84267),s=r(38520),l=r(73972),u=i.strTranslate,c=r(63893),f=r(7901),h=r(91424),p=r(30211),d=r(89298),v=r(6964),g=r(28569),y=r(64505),m=y.selectingOrDrawing,x=y.freeMode,b=r(18783).FROM_TL,_=r(33306),w=r(61549).redrawReglTraces,T=r(74875),k=r(41675).getFromId,A=r(47322).prepSelect,M=r(47322).clearOutline,S=r(47322).selectOnClick,E=r(42449),L=r(85555),C=L.MINDRAG,P=L.MINZOOM,O=!0;function I(t,e,r,n){var a=i.ensureSingle(t.draglayer,e,r,(function(e){e.classed("drag",!0).style({fill:"transparent","stroke-width":0}).attr("data-subplot",t.id)}));return a.call(v,n),a.node()}function D(t,e,r,i,a,o,s){var l=I(t,"rect",e,r);return n.select(l).call(h.setRect,i,a,o,s),l}function z(t,e){for(var r=0;r<t.length;r++)if(!t[r].fixedrange)return e;return""}function R(t,e,r,n,i){for(var a=0;a<t.length;a++){var o=t[a];if(!o.fixedrange)if(o.rangebreaks){var s="y"===o._id.charAt(0),l=s?1-e:e,u=s?1-r:r;n[o._name+".range[0]"]=o.l2r(o.p2l(l*o._length)),n[o._name+".range[1]"]=o.l2r(o.p2l(u*o._length))}else{var c=o._rl[0],f=o._rl[1]-c;n[o._name+".range[0]"]=o.l2r(c+f*e),n[o._name+".range[1]"]=o.l2r(c+f*r)}}if(i&&i.length){var h=(e+(1-r))/2;R(i,h,1-h,n,[])}}function F(t,e){for(var r=0;r<t.length;r++){var n=t[r];if(!n.fixedrange)if(n.rangebreaks){var i=n._length,a=(n.p2l(0+e)-n.p2l(0)+(n.p2l(i+e)-n.p2l(i)))/2;n.range=[n.l2r(n._rl[0]-a),n.l2r(n._rl[1]-a)]}else n.range=[n.l2r(n._rl[0]-e/n._m),n.l2r(n._rl[1]-e/n._m)]}}function B(t){return 1-(t>=0?Math.min(t,.9):1/(1/Math.max(t,-.3)+3.222))}function N(t,e,r,n,i){return t.append("path").attr("class","zoombox").style({fill:e>.2?"rgba(0,0,0,0)":"rgba(255,255,255,0)","stroke-width":0}).attr("transform",u(r,n)).attr("d",i+"Z")}function j(t,e,r){return t.append("path").attr("class","zoombox-corners").style({fill:f.background,stroke:f.defaultLine,"stroke-width":1,opacity:0}).attr("transform",u(e,r)).attr("d","M0,0Z")}function U(t,e,r,n,i,a){t.attr("d",n+"M"+r.l+","+r.t+"v"+r.h+"h"+r.w+"v-"+r.h+"h-"+r.w+"Z"),V(t,e,i,a)}function V(t,e,r,n){r||(t.transition().style("fill",n>.2?"rgba(0,0,0,0.4)":"rgba(255,255,255,0.3)").duration(200),e.transition().style("opacity",1).duration(200))}function H(t){n.select(t).selectAll(".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners").remove()}function q(t){O&&t.data&&t._context.showTips&&(i.notifier(i._(t,"Double-click to zoom back out"),"long"),O=!1)}function G(t){var e=Math.floor(Math.min(t.b-t.t,t.r-t.l,P)/2);return"M"+(t.l-3.5)+","+(t.t-.5+e)+"h3v"+-e+"h"+e+"v-3h-"+(e+3)+"ZM"+(t.r+3.5)+","+(t.t-.5+e)+"h-3v"+-e+"h"+-e+"v-3h"+(e+3)+"ZM"+(t.r+3.5)+","+(t.b+.5-e)+"h-3v"+e+"h"+-e+"v3h"+(e+3)+"ZM"+(t.l-3.5)+","+(t.b+.5-e)+"h3v"+e+"h"+e+"v3h-"+(e+3)+"Z"}function Z(t,e,r,n,a){for(var o,s,l,u,c=!1,f={},h={},p=(a||{}).xaHash,d=(a||{}).yaHash,v=0;v<e.length;v++){var g=e[v];for(o in r)if(g[o]){for(l in g)a&&(p[l]||d[l])||("x"===l.charAt(0)?r:n)[l]||(f[l]=o);for(s in n)a&&(p[s]||d[s])||!g[s]||(c=!0)}for(s in n)if(g[s])for(u in g)a&&(p[u]||d[u])||("x"===u.charAt(0)?r:n)[u]||(h[u]=s)}c&&(i.extendFlat(f,h),h={});var y={},m=[];for(l in f){var x=k(t,l);m.push(x),y[x._id]=x}var b={},_=[];for(u in h){var w=k(t,u);_.push(w),b[w._id]=w}return{xaHash:y,yaHash:b,xaxes:m,yaxes:_,xLinks:f,yLinks:h,isSubplotConstrained:c}}function Y(t,e){if(s){var r=void 0!==t.onwheel?"wheel":"mousewheel";t._onwheel&&t.removeEventListener(r,t._onwheel),t._onwheel=e,t.addEventListener(r,e,{passive:!1})}else void 0!==t.onwheel?t.onwheel=e:void 0!==t.onmousewheel?t.onmousewheel=e:t.isAddedWheelEvent||(t.isAddedWheelEvent=!0,t.addEventListener("wheel",e,{passive:!1}))}function W(t){var e=[];for(var r in t)e.push(t[r]);return e}t.exports={makeDragBox:function(t,e,r,s,u,f,v,y){var O,I,V,X,J,K,$,Q,tt,et,rt,nt,it,at,ot,st,lt,ut,ct,ft,ht,pt,dt,vt=t._fullLayout._zoomlayer,gt=v+y==="nsew",yt=1===(v+y).length;function mt(){if(O=e.xaxis,I=e.yaxis,tt=O._length,et=I._length,$=O._offset,Q=I._offset,(V={})[O._id]=O,(X={})[I._id]=I,v&&y)for(var r=e.overlays,n=0;n<r.length;n++){var i=r[n].xaxis;V[i._id]=i;var a=r[n].yaxis;X[a._id]=a}J=W(V),K=W(X),it=z(J,y),at=z(K,v),ot=!at&&!it,nt=Z(t,t._fullLayout._axisMatchGroups,V,X);var o=(rt=Z(t,t._fullLayout._axisConstraintGroups,V,X,nt)).isSubplotConstrained||nt.isSubplotConstrained;st=y||o,lt=v||o;var s=t._fullLayout;ut=s._has("scattergl"),ct=s._has("splom"),ft=s._has("svg")}r+=e.yaxis._shift,mt();var xt=function(t,e,r){return t?"nsew"===t?r?"":"pan"===e?"move":"crosshair":t.toLowerCase()+"-resize":"pointer"}(at+it,t._fullLayout.dragmode,gt),bt=D(e,v+y+"drag",xt,r,s,u,f);if(ot&&!gt)return bt.onmousedown=null,bt.style.pointerEvents="none",bt;var _t,wt,Tt,kt,At,Mt,St,Et,Lt,Ct,Pt={element:bt,gd:t,plotinfo:e};function Ot(){Pt.plotinfo.selection=!1,M(t)}function It(t,r){var i=Pt.gd;if(i._fullLayout._activeShapeIndex>=0)i._fullLayout._deactivateShape(i);else{var o=i._fullLayout.clickmode;if(H(i),2!==t||yt||qt(),gt)o.indexOf("select")>-1&&S(r,i,J,K,e.id,Pt),o.indexOf("event")>-1&&p.click(i,r,e.id);else if(1===t&&yt){var s=v?I:O,u="s"===v||"w"===y?0:1,f=s._name+".range["+u+"]",h=function(t,e){var r,n=t.range[e],i=Math.abs(n-t.range[1-e]);return"date"===t.type?n:"log"===t.type?(r=Math.ceil(Math.max(0,-Math.log(i)/Math.LN10))+3,a("."+r+"g")(Math.pow(10,n))):(r=Math.floor(Math.log(Math.abs(n))/Math.LN10)-Math.floor(Math.log(i)/Math.LN10)+4,a("."+String(r)+"g")(n))}(s,u),d="left",g="middle";if(s.fixedrange)return;v?(g="n"===v?"top":"bottom","right"===s.side&&(d="right")):"e"===y&&(d="right"),i._context.showAxisRangeEntryBoxes&&n.select(bt).call(c.makeEditable,{gd:i,immediate:!0,background:i._fullLayout.paper_bgcolor,text:String(h),fill:s.tickfont?s.tickfont.color:"#444",horizontalAlign:d,verticalAlign:g}).on("edit",(function(t){var e=s.d2r(t);void 0!==e&&l.call("_guiRelayout",i,f,e)}))}}}function Dt(e,r){if(t._transitioningWithDuration)return!1;var n=Math.max(0,Math.min(tt,pt*e+_t)),i=Math.max(0,Math.min(et,dt*r+wt)),a=Math.abs(n-_t),o=Math.abs(i-wt);function s(){St="",Tt.r=Tt.l,Tt.t=Tt.b,Lt.attr("d","M0,0Z")}if(Tt.l=Math.min(_t,n),Tt.r=Math.max(_t,n),Tt.t=Math.min(wt,i),Tt.b=Math.max(wt,i),rt.isSubplotConstrained)a>P||o>P?(St="xy",a/tt>o/et?(o=a*et/tt,wt>i?Tt.t=wt-o:Tt.b=wt+o):(a=o*tt/et,_t>n?Tt.l=_t-a:Tt.r=_t+a),Lt.attr("d",G(Tt))):s();else if(nt.isSubplotConstrained)if(a>P||o>P){St="xy";var l=Math.min(Tt.l/tt,(et-Tt.b)/et),u=Math.max(Tt.r/tt,(et-Tt.t)/et);Tt.l=l*tt,Tt.r=u*tt,Tt.b=(1-l)*et,Tt.t=(1-u)*et,Lt.attr("d",G(Tt))}else s();else!at||o<Math.min(Math.max(.6*a,C),P)?a<C||!it?s():(Tt.t=0,Tt.b=et,St="x",Lt.attr("d",function(t,e){return"M"+(t.l-.5)+","+(e-P-.5)+"h-3v"+(2*P+1)+"h3ZM"+(t.r+.5)+","+(e-P-.5)+"h3v"+(2*P+1)+"h-3Z"}(Tt,wt))):!it||a<Math.min(.6*o,P)?(Tt.l=0,Tt.r=tt,St="y",Lt.attr("d",function(t,e){return"M"+(e-P-.5)+","+(t.t-.5)+"v-3h"+(2*P+1)+"v3ZM"+(e-P-.5)+","+(t.b+.5)+"v3h"+(2*P+1)+"v-3Z"}(Tt,_t))):(St="xy",Lt.attr("d",G(Tt)));Tt.w=Tt.r-Tt.l,Tt.h=Tt.b-Tt.t,St&&(Ct=!0),t._dragged=Ct,U(Et,Lt,Tt,At,Mt,kt),zt(),t.emit("plotly_relayouting",ht),Mt=!0}function zt(){ht={},"xy"!==St&&"x"!==St||(R(J,Tt.l/tt,Tt.r/tt,ht,rt.xaxes),Vt("x",ht)),"xy"!==St&&"y"!==St||(R(K,(et-Tt.b)/et,(et-Tt.t)/et,ht,rt.yaxes),Vt("y",ht))}function Rt(){zt(),H(t),Gt(),q(t)}Pt.prepFn=function(e,r,n){var a=Pt.dragmode,s=t._fullLayout.dragmode;s!==a&&(Pt.dragmode=s),mt(),pt=t._fullLayout._invScaleX,dt=t._fullLayout._invScaleY,ot||(gt?e.shiftKey?"pan"===s?s="zoom":m(s)||(s="pan"):e.ctrlKey&&(s="pan"):s="pan"),x(s)?Pt.minDrag=1:Pt.minDrag=void 0,m(s)?(Pt.xaxes=J,Pt.yaxes=K,A(e,r,n,Pt,s)):(Pt.clickFn=It,m(a)&&Ot(),ot||("zoom"===s?(Pt.moveFn=Dt,Pt.doneFn=Rt,Pt.minDrag=1,function(e,r,n){var a=bt.getBoundingClientRect();_t=r-a.left,wt=n-a.top,t._fullLayout._calcInverseTransform(t);var s=i.apply3DTransform(t._fullLayout._invTransform)(_t,wt);_t=s[0],wt=s[1],Tt={l:_t,r:_t,w:0,t:wt,b:wt,h:0},kt=t._hmpixcount?t._hmlumcount/t._hmpixcount:o(t._fullLayout.plot_bgcolor).getLuminance(),Mt=!1,St="xy",Ct=!1,Et=N(vt,kt,$,Q,At="M0,0H"+tt+"V"+et+"H0V0"),Lt=j(vt,$,Q)}(0,r,n)):"pan"===s&&(Pt.moveFn=Ut,Pt.doneFn=Gt))),t._fullLayout._redrag=function(){var e=t._dragdata;if(e&&e.element===bt){var r=t._fullLayout.dragmode;m(r)||(mt(),Zt([0,0,tt,et]),Pt.moveFn(e.dx,e.dy))}}},g.init(Pt);var Ft=[0,0,tt,et],Bt=null,Nt=L.REDRAWDELAY,jt=e.mainplot?t._fullLayout._plots[e.mainplot]:e;function Ut(e,r){if(e*=pt,r*=dt,!t._transitioningWithDuration){if(t._fullLayout._replotting=!0,"ew"===it||"ns"===at){var n=it?-e:0,i=at?-r:0;if(nt.isSubplotConstrained){if(it&&at){var a=(e/tt-r/et)/2;n=-(e=a*tt),i=-(r=-a*et)}at?n=-i*tt/et:i=-n*et/tt}return it&&(F(J,e),Vt("x")),at&&(F(K,r),Vt("y")),Zt([n,i,tt,et]),Ht(),void t.emit("plotly_relayouting",ht)}var o,s,l="w"===it==("n"===at)?1:-1;if(it&&at&&(rt.isSubplotConstrained||nt.isSubplotConstrained)){var u=(e/tt+l*r/et)/2;e=u*tt,r=l*u*et}if("w"===it?e=p(J,0,e):"e"===it?e=p(J,1,-e):it||(e=0),"n"===at?r=p(K,1,r):"s"===at?r=p(K,0,-r):at||(r=0),o="w"===it?e:0,s="n"===at?r:0,rt.isSubplotConstrained&&!nt.isSubplotConstrained||nt.isSubplotConstrained&&it&&at&&l>0){var c;if(nt.isSubplotConstrained||!it&&1===at.length){for(c=0;c<J.length;c++)J[c].range=J[c]._r.slice(),E(J[c],1-r/et);o=(e=r*tt/et)/2}if(nt.isSubplotConstrained||!at&&1===it.length){for(c=0;c<K.length;c++)K[c].range=K[c]._r.slice(),E(K[c],1-e/tt);s=(r=e*et/tt)/2}}nt.isSubplotConstrained&&at||Vt("x"),nt.isSubplotConstrained&&it||Vt("y");var f=tt-e,h=et-r;!nt.isSubplotConstrained||it&&at||(it?(s=o?0:e*et/tt,h=f*et/tt):(o=s?0:r*tt/et,f=h*tt/et)),Zt([o,s,f,h]),Ht(),t.emit("plotly_relayouting",ht)}function p(t,e,r){for(var n,i,a=1-e,o=0;o<t.length;o++){var s=t[o];if(!s.fixedrange){n=s,i=s._rl[a]+(s._rl[e]-s._rl[a])/B(r/s._length);var l=s.l2r(i);!1!==l&&void 0!==l&&(s.range[e]=l)}}return n._length*(n._rl[e]-i)/(n._rl[e]-n._rl[a])}}function Vt(t,e){for(var r=nt.isSubplotConstrained?{x:K,y:J}[t]:nt[t+"axes"],n=nt.isSubplotConstrained?{x:J,y:K}[t]:[],i=0;i<r.length;i++){var a=r[i],o=a._id,s=nt.xLinks[o]||nt.yLinks[o],l=n[0]||V[s]||X[s];l&&(e?(e[a._name+".range[0]"]=e[l._name+".range[0]"],e[a._name+".range[1]"]=e[l._name+".range[1]"]):a.range=l.range.slice())}}function Ht(){var r,n=[];function i(t){for(r=0;r<t.length;r++)t[r].fixedrange||n.push(t[r]._id)}function a(t,e){for(r=0;r<t.length;r++){var i=t[r],a=i[e];i.fixedrange||"sync"!==a.tickmode||n.push(a._id)}}for(st&&(i(J),i(rt.xaxes),i(nt.xaxes),a(e.overlays,"xaxis")),lt&&(i(K),i(rt.yaxes),i(nt.yaxes),a(e.overlays,"yaxis")),ht={},r=0;r<n.length;r++){var o=n[r],s=k(t,o);d.drawOne(t,s,{skipTitle:!0}),ht[s._name+".range[0]"]=s.range[0],ht[s._name+".range[1]"]=s.range[1]}d.redrawComponents(t,n)}function qt(){if(!t._transitioningWithDuration){var e=t._context.doubleClick,r=[];it&&(r=r.concat(J)),at&&(r=r.concat(K)),nt.xaxes&&(r=r.concat(nt.xaxes)),nt.yaxes&&(r=r.concat(nt.yaxes));var n,i,a,o={};if("reset+autosize"===e)for(e="autosize",i=0;i<r.length;i++)if((n=r[i])._rangeInitial&&(n.range[0]!==n._rangeInitial[0]||n.range[1]!==n._rangeInitial[1])||!n._rangeInitial&&!n.autorange){e="reset";break}if("autosize"===e)for(i=0;i<r.length;i++)(n=r[i]).fixedrange||(o[n._name+".autorange"]=!0);else if("reset"===e)for((it||rt.isSubplotConstrained)&&(r=r.concat(rt.xaxes)),at&&!rt.isSubplotConstrained&&(r=r.concat(rt.yaxes)),rt.isSubplotConstrained&&(it?at||(r=r.concat(K)):r=r.concat(J)),i=0;i<r.length;i++)(n=r[i]).fixedrange||(n._rangeInitial?(a=n._rangeInitial,o[n._name+".range[0]"]=a[0],o[n._name+".range[1]"]=a[1]):o[n._name+".autorange"]=!0);t.emit("plotly_doubleclick",null),l.call("_guiRelayout",t,o)}}function Gt(){Zt([0,0,tt,et]),i.syncOrAsync([T.previousPromises,function(){t._fullLayout._replotting=!1,l.call("_guiRelayout",t,ht)}],t)}function Zt(e){var r,n,a,o,s=t._fullLayout,u=s._plots,c=s._subplots.cartesian;if(ct&&l.subplotsRegistry.splom.drag(t),ut)for(r=0;r<c.length;r++)if(a=(n=u[c[r]]).xaxis,o=n.yaxis,n._scene){var f=i.simpleMap(a.range,a.r2l),p=i.simpleMap(o.range,o.r2l);n._scene.update({range:[f[0],p[0],f[1],p[1]]})}if((ct||ut)&&(_(t),w(t)),ft){var d=e[2]/O._length,g=e[3]/I._length;for(r=0;r<c.length;r++){a=(n=u[c[r]]).xaxis,o=n.yaxis;var m,x,b,T,k=(st||nt.isSubplotConstrained)&&!a.fixedrange&&V[a._id],A=(lt||nt.isSubplotConstrained)&&!o.fixedrange&&X[o._id];if(k?(m=d,b=y||nt.isSubplotConstrained?e[0]:Xt(a,m)):nt.xaHash[a._id]?(m=d,b=e[0]*a._length/O._length):nt.yaHash[a._id]?(m=g,b="ns"===at?-e[1]*a._length/I._length:Xt(a,m,{n:"top",s:"bottom"}[at])):b=Wt(a,m=Yt(a,d,g)),A?(x=g,T=v||nt.isSubplotConstrained?e[1]:Xt(o,x)):nt.yaHash[o._id]?(x=g,T=e[1]*o._length/I._length):nt.xaHash[o._id]?(x=d,T="ew"===it?-e[0]*o._length/O._length:Xt(o,x,{e:"right",w:"left"}[it])):T=Wt(o,x=Yt(o,d,g)),m||x){m||(m=1),x||(x=1);var M=a._offset-b/m,S=o._offset-T/x;n.clipRect.call(h.setTranslate,b,T).call(h.setScale,m,x),n.plot.call(h.setTranslate,M,S).call(h.setScale,1/m,1/x),m===n.xScaleFactor&&x===n.yScaleFactor||(h.setPointGroupScale(n.zoomScalePts,m,x),h.setTextPointsScale(n.zoomScaleTxt,m,x)),h.hideOutsideRangePoints(n.clipOnAxisFalseTraces,n),n.xScaleFactor=m,n.yScaleFactor=x}}}}function Yt(t,e,r){return t.fixedrange?0:st&&rt.xaHash[t._id]?e:lt&&(rt.isSubplotConstrained?rt.xaHash:rt.yaHash)[t._id]?r:0}function Wt(t,e){return e?(t.range=t._r.slice(),E(t,e),Xt(t,e)):0}function Xt(t,e,r){return t._length*(1-e)*b[r||t.constraintoward||"middle"]}return v.length*y.length!=1&&Y(bt,(function(e){if(t._context._scrollZoom.cartesian||t._fullLayout._enablescrollzoom){if(Ot(),t._transitioningWithDuration)return e.preventDefault(),void e.stopPropagation();mt(),clearTimeout(Bt);var r=-e.deltaY;if(isFinite(r)||(r=e.wheelDelta/10),isFinite(r)){var n,a=Math.exp(-Math.min(Math.max(r,-20),20)/200),o=jt.draglayer.select(".nsewdrag").node().getBoundingClientRect(),s=(e.clientX-o.left)/o.width,l=(o.bottom-e.clientY)/o.height;if(st){for(y||(s=.5),n=0;n<J.length;n++)u(J[n],s,a);Vt("x"),Ft[2]*=a,Ft[0]+=Ft[2]*s*(1/a-1)}if(lt){for(v||(l=.5),n=0;n<K.length;n++)u(K[n],l,a);Vt("y"),Ft[3]*=a,Ft[1]+=Ft[3]*(1-l)*(1/a-1)}Zt(Ft),Ht(),t.emit("plotly_relayouting",ht),Bt=setTimeout((function(){t._fullLayout&&(Ft=[0,0,tt,et],Gt())}),Nt),e.preventDefault()}else i.log("Did not find wheel motion attributes: ",e)}function u(t,e,r){if(!t.fixedrange){var n=i.simpleMap(t.range,t.r2l),a=n[0]+(n[1]-n[0])*e;t.range=n.map((function(e){return t.l2r(a+(e-a)*r)}))}}})),bt},makeDragger:I,makeRectDragger:D,makeZoombox:N,makeCorners:j,updateZoombox:U,xyCorners:G,transitionZoombox:V,removeZoombox:H,showDoubleClickNotifier:q,attachWheelEventHandler:Y}},4305:function(t,e,r){"use strict";var n=r(39898),i=r(30211),a=r(28569),o=r(6964),s=r(29323).makeDragBox,l=r(85555).DRAGGERSIZE;e.initInteractions=function(t){var r=t._fullLayout;if(t._context.staticPlot)n.select(t).selectAll(".drag").remove();else if(r._has("cartesian")||r._has("splom")){Object.keys(r._plots||{}).sort((function(t,e){if((r._plots[t].mainplot&&!0)===(r._plots[e].mainplot&&!0)){var n=t.split("y"),i=e.split("y");return n[0]===i[0]?Number(n[1]||1)-Number(i[1]||1):Number(n[0]||1)-Number(i[0]||1)}return r._plots[t].mainplot?1:-1})).forEach((function(e){var n=r._plots[e],o=n.xaxis,u=n.yaxis;if(!n.mainplot){var c=s(t,n,o._offset,u._offset,o._length,u._length,"ns","ew");c.onmousemove=function(r){t._fullLayout._rehover=function(){t._fullLayout._hoversubplot===e&&t._fullLayout._plots[e]&&i.hover(t,r,e)},i.hover(t,r,e),t._fullLayout._lasthover=c,t._fullLayout._hoversubplot=e},c.onmouseout=function(e){t._dragging||(t._fullLayout._hoversubplot=null,a.unhover(t,e))},t._context.showAxisDragHandles&&(s(t,n,o._offset-l,u._offset-l,l,l,"n","w"),s(t,n,o._offset+o._length,u._offset-l,l,l,"n","e"),s(t,n,o._offset-l,u._offset+u._length,l,l,"s","w"),s(t,n,o._offset+o._length,u._offset+u._length,l,l,"s","e"))}if(t._context.showAxisDragHandles){if(e===o._mainSubplot){var f=o._mainLinePosition;"top"===o.side&&(f-=l),s(t,n,o._offset+.1*o._length,f,.8*o._length,l,"","ew"),s(t,n,o._offset,f,.1*o._length,l,"","w"),s(t,n,o._offset+.9*o._length,f,.1*o._length,l,"","e")}if(e===u._mainSubplot){var h=u._mainLinePosition;"right"!==u.side&&(h-=l),s(t,n,h,u._offset+.1*u._length,l,.8*u._length,"ns",""),s(t,n,h,u._offset+.9*u._length,l,.1*u._length,"s",""),s(t,n,h,u._offset,l,.1*u._length,"n","")}}}));var o=r._hoverlayer.node();o.onmousemove=function(e){e.target=t._fullLayout._lasthover,i.hover(t,e,r._hoversubplot)},o.onclick=function(e){e.target=t._fullLayout._lasthover,i.click(t,e)},o.onmousedown=function(e){t._fullLayout._lasthover.onmousedown(e)},e.updateFx(t)}},e.updateFx=function(t){var e=t._fullLayout,r="pan"===e.dragmode?"move":"crosshair";o(e._draggers,r)}},76325:function(t,e,r){"use strict";var n=r(73972),i=r(71828),a=r(41675);t.exports=function(t){return function(e,r){var o=e[t];if(Array.isArray(o))for(var s=n.subplotsRegistry.cartesian,l=s.idRegex,u=r._subplots,c=u.xaxis,f=u.yaxis,h=u.cartesian,p=r._has("cartesian")||r._has("gl2d"),d=0;d<o.length;d++){var v=o[d];if(i.isPlainObject(v)){var g=a.cleanId(v.xref,"x",!1),y=a.cleanId(v.yref,"y",!1),m=l.x.test(g),x=l.y.test(y);if(m||x){p||i.pushUnique(r._basePlotModules,s);var b=!1;m&&-1===c.indexOf(g)&&(c.push(g),b=!0),x&&-1===f.indexOf(y)&&(f.push(y),b=!0),b&&m&&x&&h.push(g+y)}}}}}},93612:function(t,e,r){"use strict";var n=r(39898),i=r(73972),a=r(71828),o=r(74875),s=r(91424),l=r(27659).a0,u=r(41675),c=r(85555),f=r(77922),h=a.ensureSingle;function p(t,e,r){return a.ensureSingle(t,e,r,(function(t){t.datum(r)}))}function d(t,e,r,a,o){for(var u,f,h,p=c.traceLayerClasses,d=t._fullLayout,v=d._modules,g=[],y=[],m=0;m<v.length;m++){var x=(u=v[m]).name,b=i.modules[x].categories;if(b.svg){var _=u.layerName||x+"layer",w=u.plot;h=(f=l(r,w))[0],r=f[1],h.length&&g.push({i:p.indexOf(_),className:_,plotMethod:w,cdModule:h}),b.zoomScale&&y.push("."+_)}}g.sort((function(t,e){return t.i-e.i}));var T=e.plot.selectAll("g.mlayer").data(g,(function(t){return t.className}));if(T.enter().append("g").attr("class",(function(t){return t.className})).classed("mlayer",!0).classed("rangeplot",e.isRangePlot),T.exit().remove(),T.order(),T.each((function(r){var i=n.select(this),l=r.className;r.plotMethod(t,e,r.cdModule,i,a,o),-1===c.clipOnAxisFalseQuery.indexOf("."+l)&&s.setClipUrl(i,e.layerClipId,t)})),d._has("scattergl")&&(u=i.getModule("scattergl"),h=l(r,u)[0],u.plot(t,e,h)),!t._context.staticPlot&&(e._hasClipOnAxisFalse&&(e.clipOnAxisFalseTraces=e.plot.selectAll(c.clipOnAxisFalseQuery.join(",")).selectAll(".trace")),y.length)){var k=e.plot.selectAll(y.join(",")).selectAll(".trace");e.zoomScalePts=k.selectAll("path.point"),e.zoomScaleTxt=k.selectAll(".textpoint")}}function v(t,e){var r=e.plotgroup,n=e.id,i=c.layerValue2layerClass[e.xaxis.layer],a=c.layerValue2layerClass[e.yaxis.layer],o=t._fullLayout._hasOnlyLargeSploms;if(e.mainplot){var s=e.mainplotinfo,l=s.plotgroup,f=n+"-x",d=n+"-y";e.minorGridlayer=s.minorGridlayer,e.gridlayer=s.gridlayer,e.zerolinelayer=s.zerolinelayer,h(s.overlinesBelow,"path",f),h(s.overlinesBelow,"path",d),h(s.overaxesBelow,"g",f),h(s.overaxesBelow,"g",d),e.plot=h(s.overplot,"g",n),h(s.overlinesAbove,"path",f),h(s.overlinesAbove,"path",d),h(s.overaxesAbove,"g",f),h(s.overaxesAbove,"g",d),e.xlines=l.select(".overlines-"+i).select("."+f),e.ylines=l.select(".overlines-"+a).select("."+d),e.xaxislayer=l.select(".overaxes-"+i).select("."+f),e.yaxislayer=l.select(".overaxes-"+a).select("."+d)}else if(o)e.xlines=h(r,"path","xlines-above"),e.ylines=h(r,"path","ylines-above"),e.xaxislayer=h(r,"g","xaxislayer-above"),e.yaxislayer=h(r,"g","yaxislayer-above");else{var v=h(r,"g","layer-subplot");e.shapelayer=h(v,"g","shapelayer"),e.imagelayer=h(v,"g","imagelayer"),e.minorGridlayer=h(r,"g","minor-gridlayer"),e.gridlayer=h(r,"g","gridlayer"),e.zerolinelayer=h(r,"g","zerolinelayer"),h(r,"path","xlines-below"),h(r,"path","ylines-below"),e.overlinesBelow=h(r,"g","overlines-below"),h(r,"g","xaxislayer-below"),h(r,"g","yaxislayer-below"),e.overaxesBelow=h(r,"g","overaxes-below"),e.plot=h(r,"g","plot"),e.overplot=h(r,"g","overplot"),e.xlines=h(r,"path","xlines-above"),e.ylines=h(r,"path","ylines-above"),e.overlinesAbove=h(r,"g","overlines-above"),h(r,"g","xaxislayer-above"),h(r,"g","yaxislayer-above"),e.overaxesAbove=h(r,"g","overaxes-above"),e.xlines=r.select(".xlines-"+i),e.ylines=r.select(".ylines-"+a),e.xaxislayer=r.select(".xaxislayer-"+i),e.yaxislayer=r.select(".yaxislayer-"+a)}o||(p(e.minorGridlayer,"g",e.xaxis._id),p(e.minorGridlayer,"g",e.yaxis._id),e.minorGridlayer.selectAll("g").map((function(t){return t[0]})).sort(u.idSort),p(e.gridlayer,"g",e.xaxis._id),p(e.gridlayer,"g",e.yaxis._id),e.gridlayer.selectAll("g").map((function(t){return t[0]})).sort(u.idSort)),e.xlines.style("fill","none").classed("crisp",!0),e.ylines.style("fill","none").classed("crisp",!0)}function g(t,e){if(t){var r={};for(var i in t.each((function(t){var i=t[0];n.select(this).remove(),y(i,e),r[i]=!0})),e._plots)for(var a=e._plots[i].overlays||[],o=0;o<a.length;o++){var s=a[o];r[s.id]&&s.plot.selectAll(".trace").remove()}}}function y(t,e){e._draggers.selectAll("g."+t).remove(),e._defs.select("#clip"+e._uid+t+"plot").remove()}e.name="cartesian",e.attr=["xaxis","yaxis"],e.idRoot=["x","y"],e.idRegex=c.idRegex,e.attrRegex=c.attrRegex,e.attributes=r(89502),e.layoutAttributes=r(13838),e.supplyLayoutDefaults=r(86763),e.transitionAxes=r(66847),e.finalizeSubplots=function(t,e){var r,n,i,o=e._subplots,s=o.xaxis,l=o.yaxis,f=o.cartesian,h=f.concat(o.gl2d||[]),p={},d={};for(r=0;r<h.length;r++){var v=h[r].split("y");p[v[0]]=1,d["y"+v[1]]=1}for(r=0;r<s.length;r++)p[n=s[r]]||(i=(t[u.id2name(n)]||{}).anchor,c.idRegex.y.test(i)||(i="y"),f.push(n+i),h.push(n+i),d[i]||(d[i]=1,a.pushUnique(l,i)));for(r=0;r<l.length;r++)d[i=l[r]]||(n=(t[u.id2name(i)]||{}).anchor,c.idRegex.x.test(n)||(n="x"),f.push(n+i),h.push(n+i),p[n]||(p[n]=1,a.pushUnique(s,n)));if(!h.length){for(var g in n="",i="",t)c.attrRegex.test(g)&&("x"===g.charAt(0)?(!n||+g.substr(5)<+n.substr(5))&&(n=g):(!i||+g.substr(5)<+i.substr(5))&&(i=g));n=n?u.name2id(n):"x",i=i?u.name2id(i):"y",s.push(n),l.push(i),f.push(n+i)}},e.plot=function(t,e,r,n){var i,a=t._fullLayout,o=a._subplots.cartesian,s=t.calcdata;if(!Array.isArray(e))for(e=[],i=0;i<s.length;i++)e.push(i);for(i=0;i<o.length;i++){for(var l,u=o[i],c=a._plots[u],f=[],h=0;h<s.length;h++){var p=s[h],v=p[0].trace;v.xaxis+v.yaxis===u&&((-1!==e.indexOf(v.index)||v.carpet)&&(l&&l[0].trace.xaxis+l[0].trace.yaxis===u&&-1!==["tonextx","tonexty","tonext"].indexOf(v.fill)&&-1===f.indexOf(l)&&f.push(l),f.push(p)),l=p)}d(t,c,f,r,n)}},e.clean=function(t,e,r,n){var i,a,o,s=n._plots||{},l=e._plots||{},c=n._subplots||{};if(n._hasOnlyLargeSploms&&!e._hasOnlyLargeSploms)for(o in s)(i=s[o]).plotgroup&&i.plotgroup.remove();var f=n._has&&n._has("gl"),h=e._has&&e._has("gl");if(f&&!h)for(o in s)(i=s[o])._scene&&i._scene.destroy();if(c.xaxis&&c.yaxis){var p=u.listIds({_fullLayout:n});for(a=0;a<p.length;a++){var d=p[a];e[u.id2name(d)]||n._infolayer.selectAll(".g-"+d+"title").remove()}}var v=n._has&&n._has("cartesian"),m=e._has&&e._has("cartesian");if(v&&!m)g(n._cartesianlayer.selectAll(".subplot"),n),n._defs.selectAll(".axesclip").remove(),delete n._axisConstraintGroups,delete n._axisMatchGroups;else if(c.cartesian)for(a=0;a<c.cartesian.length;a++){var x=c.cartesian[a];if(!l[x]){var b="."+x+",."+x+"-x,."+x+"-y";n._cartesianlayer.selectAll(b).remove(),y(x,n)}}},e.drawFramework=function(t){var e=t._fullLayout,r=function(t){var e,r,n,i,a,o,s=t._fullLayout,l=s._subplots.cartesian,u=l.length,c=[],f=[];for(e=0;e<u;e++){n=l[e],a=(i=s._plots[n]).xaxis,o=i.yaxis;var h=a._mainAxis,p=o._mainAxis,d=h._id+p._id,v=s._plots[d];i.overlays=[],d!==n&&v?(i.mainplot=d,i.mainplotinfo=v,f.push(n)):(i.mainplot=void 0,i.mainplotinfo=void 0,c.push(n))}for(e=0;e<f.length;e++)n=f[e],(i=s._plots[n]).mainplotinfo.overlays.push(i);var g=c.concat(f),y=new Array(u);for(e=0;e<u;e++){n=g[e],a=(i=s._plots[n]).xaxis,o=i.yaxis;var m=[n,a.layer,o.layer,a.overlaying||"",o.overlaying||""];for(r=0;r<i.overlays.length;r++)m.push(i.overlays[r].id);y[e]=m}return y}(t),i=e._cartesianlayer.selectAll(".subplot").data(r,String);i.enter().append("g").attr("class",(function(t){return"subplot "+t[0]})),i.order(),i.exit().call(g,e),i.each((function(r){var i=r[0],a=e._plots[i];a.plotgroup=n.select(this),v(t,a),a.draglayer=h(e._draggers,"g",i)}))},e.rangePlot=function(t,e,r){v(t,e),d(t,e,r),o.style(t)},e.toSVG=function(t){var e=t._fullLayout._glimages,r=n.select(t).selectAll(".svg-container");r.filter((function(t,e){return e===r.size()-1})).selectAll(".gl-canvas-context, .gl-canvas-focus").each((function(){var t=this,r=t.toDataURL("image/png");e.append("svg:image").attr({xmlns:f.svg,"xlink:href":r,preserveAspectRatio:"none",x:0,y:0,width:t.style.width,height:t.style.height})}))},e.updateFx=r(4305).updateFx},13838:function(t,e,r){"use strict";var n=r(41940),i=r(22399),a=r(79952).P,o=r(1426).extendFlat,s=r(44467).templatedArray,l=r(12663).descriptionWithDates,u=r(50606).ONEDAY,c=r(85555),f=c.HOUR_PATTERN,h=c.WEEKDAY_PATTERN,p={valType:"enumerated",values:["auto","linear","array"],editType:"ticks",impliedEdits:{tick0:void 0,dtick:void 0}},d=o({},p,{values:p.values.slice().concat(["sync"])});function v(t){return{valType:"integer",min:0,dflt:t?5:0,editType:"ticks"}}var g={valType:"any",editType:"ticks",impliedEdits:{tickmode:"linear"}},y={valType:"any",editType:"ticks",impliedEdits:{tickmode:"linear"}},m={valType:"data_array",editType:"ticks"},x={valType:"enumerated",values:["outside","inside",""],editType:"ticks"};function b(t){var e={valType:"number",min:0,editType:"ticks"};return t||(e.dflt=5),e}function _(t){var e={valType:"number",min:0,editType:"ticks"};return t||(e.dflt=1),e}var w={valType:"color",dflt:i.defaultLine,editType:"ticks"},T={valType:"color",dflt:i.lightLine,editType:"ticks"};function k(t){var e={valType:"number",min:0,editType:"ticks"};return t||(e.dflt=1),e}var A=o({},a,{editType:"ticks"}),M={valType:"boolean",editType:"ticks"};t.exports={visible:{valType:"boolean",editType:"plot"},color:{valType:"color",dflt:i.defaultLine,editType:"ticks"},title:{text:{valType:"string",editType:"ticks"},font:n({editType:"ticks"}),standoff:{valType:"number",min:0,editType:"ticks"},editType:"ticks"},type:{valType:"enumerated",values:["-","linear","log","date","category","multicategory"],dflt:"-",editType:"calc",_noTemplating:!0},autotypenumbers:{valType:"enumerated",values:["convert types","strict"],dflt:"convert types",editType:"calc"},autorange:{valType:"enumerated",values:[!0,!1,"reversed"],dflt:!0,editType:"axrange",impliedEdits:{"range[0]":void 0,"range[1]":void 0}},rangemode:{valType:"enumerated",values:["normal","tozero","nonnegative"],dflt:"normal",editType:"plot"},range:{valType:"info_array",items:[{valType:"any",editType:"axrange",impliedEdits:{"^autorange":!1},anim:!0},{valType:"any",editType:"axrange",impliedEdits:{"^autorange":!1},anim:!0}],editType:"axrange",impliedEdits:{autorange:!1},anim:!0},fixedrange:{valType:"boolean",dflt:!1,editType:"calc"},scaleanchor:{valType:"enumerated",values:[c.idRegex.x.toString(),c.idRegex.y.toString()],editType:"plot"},scaleratio:{valType:"number",min:0,dflt:1,editType:"plot"},constrain:{valType:"enumerated",values:["range","domain"],editType:"plot"},constraintoward:{valType:"enumerated",values:["left","center","right","top","middle","bottom"],editType:"plot"},matches:{valType:"enumerated",values:[c.idRegex.x.toString(),c.idRegex.y.toString()],editType:"calc"},rangebreaks:s("rangebreak",{enabled:{valType:"boolean",dflt:!0,editType:"calc"},bounds:{valType:"info_array",items:[{valType:"any",editType:"calc"},{valType:"any",editType:"calc"}],editType:"calc"},pattern:{valType:"enumerated",values:[h,f,""],editType:"calc"},values:{valType:"info_array",freeLength:!0,editType:"calc",items:{valType:"any",editType:"calc"}},dvalue:{valType:"number",editType:"calc",min:0,dflt:u},editType:"calc"}),tickmode:d,nticks:v(),tick0:g,dtick:y,ticklabelstep:{valType:"integer",min:1,dflt:1,editType:"ticks"},tickvals:m,ticktext:{valType:"data_array",editType:"ticks"},ticks:x,tickson:{valType:"enumerated",values:["labels","boundaries"],dflt:"labels",editType:"ticks"},ticklabelmode:{valType:"enumerated",values:["instant","period"],dflt:"instant",editType:"ticks"},ticklabelposition:{valType:"enumerated",values:["outside","inside","outside top","inside top","outside left","inside left","outside right","inside right","outside bottom","inside bottom"],dflt:"outside",editType:"calc"},ticklabeloverflow:{valType:"enumerated",values:["allow","hide past div","hide past domain"],editType:"calc"},mirror:{valType:"enumerated",values:[!0,"ticks",!1,"all","allticks"],dflt:!1,editType:"ticks+layoutstyle"},ticklen:b(),tickwidth:_(),tickcolor:w,showticklabels:{valType:"boolean",dflt:!0,editType:"ticks"},automargin:{valType:"flaglist",flags:["height","width","left","right","top","bottom"],extras:[!0,!1],dflt:!1,editType:"ticks"},showspikes:{valType:"boolean",dflt:!1,editType:"modebar"},spikecolor:{valType:"color",dflt:null,editType:"none"},spikethickness:{valType:"number",dflt:3,editType:"none"},spikedash:o({},a,{dflt:"dash",editType:"none"}),spikemode:{valType:"flaglist",flags:["toaxis","across","marker"],dflt:"toaxis",editType:"none"},spikesnap:{valType:"enumerated",values:["data","cursor","hovered data"],dflt:"hovered data",editType:"none"},tickfont:n({editType:"ticks"}),tickangle:{valType:"angle",dflt:"auto",editType:"ticks"},tickprefix:{valType:"string",dflt:"",editType:"ticks"},showtickprefix:{valType:"enumerated",values:["all","first","last","none"],dflt:"all",editType:"ticks"},ticksuffix:{valType:"string",dflt:"",editType:"ticks"},showticksuffix:{valType:"enumerated",values:["all","first","last","none"],dflt:"all",editType:"ticks"},showexponent:{valType:"enumerated",values:["all","first","last","none"],dflt:"all",editType:"ticks"},exponentformat:{valType:"enumerated",values:["none","e","E","power","SI","B"],dflt:"B",editType:"ticks"},minexponent:{valType:"number",dflt:3,min:0,editType:"ticks"},separatethousands:{valType:"boolean",dflt:!1,editType:"ticks"},tickformat:{valType:"string",dflt:"",editType:"ticks",description:l("tick label")},tickformatstops:s("tickformatstop",{enabled:{valType:"boolean",dflt:!0,editType:"ticks"},dtickrange:{valType:"info_array",items:[{valType:"any",editType:"ticks"},{valType:"any",editType:"ticks"}],editType:"ticks"},value:{valType:"string",dflt:"",editType:"ticks"},editType:"ticks"}),hoverformat:{valType:"string",dflt:"",editType:"none",description:l("hover text")},showline:{valType:"boolean",dflt:!1,editType:"ticks+layoutstyle"},linecolor:{valType:"color",dflt:i.defaultLine,editType:"layoutstyle"},linewidth:{valType:"number",min:0,dflt:1,editType:"ticks+layoutstyle"},showgrid:M,gridcolor:T,gridwidth:k(),griddash:A,zeroline:{valType:"boolean",editType:"ticks"},zerolinecolor:{valType:"color",dflt:i.defaultLine,editType:"ticks"},zerolinewidth:{valType:"number",dflt:1,editType:"ticks"},showdividers:{valType:"boolean",dflt:!0,editType:"ticks"},dividercolor:{valType:"color",dflt:i.defaultLine,editType:"ticks"},dividerwidth:{valType:"number",dflt:1,editType:"ticks"},anchor:{valType:"enumerated",values:["free",c.idRegex.x.toString(),c.idRegex.y.toString()],editType:"plot"},side:{valType:"enumerated",values:["top","bottom","left","right"],editType:"plot"},overlaying:{valType:"enumerated",values:["free",c.idRegex.x.toString(),c.idRegex.y.toString()],editType:"plot"},minor:{tickmode:p,nticks:v("minor"),tick0:g,dtick:y,tickvals:m,ticks:x,ticklen:b("minor"),tickwidth:_("minor"),tickcolor:w,gridcolor:T,gridwidth:k("minor"),griddash:A,showgrid:M,editType:"ticks"},layer:{valType:"enumerated",values:["above traces","below traces"],dflt:"above traces",editType:"plot"},domain:{valType:"info_array",items:[{valType:"number",min:0,max:1,editType:"plot"},{valType:"number",min:0,max:1,editType:"plot"}],dflt:[0,1],editType:"plot"},position:{valType:"number",min:0,max:1,dflt:0,editType:"plot"},autoshift:{valType:"boolean",dflt:!1,editType:"plot"},shift:{valType:"number",editType:"plot"},categoryorder:{valType:"enumerated",values:["trace","category ascending","category descending","array","total ascending","total descending","min ascending","min descending","max ascending","max descending","sum ascending","sum descending","mean ascending","mean descending","median ascending","median descending"],dflt:"trace",editType:"calc"},categoryarray:{valType:"data_array",editType:"calc"},uirevision:{valType:"any",editType:"none"},editType:"calc",_deprecated:{autotick:{valType:"boolean",editType:"ticks"},title:{valType:"string",editType:"ticks"},titlefont:n({editType:"ticks"})}}},86763:function(t,e,r){"use strict";var n=r(71828),i=r(7901),a=r(23469).isUnifiedHover,o=r(98212),s=r(44467),l=r(10820),u=r(13838),c=r(951),f=r(71453),h=r(99082),p=r(52830),d=r(41675),v=d.id2name,g=d.name2id,y=r(85555).AX_ID_PATTERN,m=r(73972),x=m.traceIs,b=m.getComponentMethod;function _(t,e,r){Array.isArray(t[e])?t[e].push(r):t[e]=[r]}t.exports=function(t,e,r){var m,w,T=e.autotypenumbers,k={},A={},M={},S={},E={},L={},C={},P={},O={},I={};for(m=0;m<r.length;m++){var D=r[m];if(x(D,"cartesian")||x(D,"gl2d")){var z,R;if(D.xaxis)z=v(D.xaxis),_(k,z,D);else if(D.xaxes)for(w=0;w<D.xaxes.length;w++)_(k,v(D.xaxes[w]),D);if(D.yaxis)R=v(D.yaxis),_(k,R,D);else if(D.yaxes)for(w=0;w<D.yaxes.length;w++)_(k,v(D.yaxes[w]),D);"funnel"===D.type?"h"===D.orientation?(z&&(A[z]=!0),R&&(C[R]=!0)):R&&(M[R]=!0):"image"===D.type?(R&&(P[R]=!0),z&&(P[z]=!0)):(R&&(E[R]=!0,L[R]=!0),x(D,"carpet")&&("carpet"!==D.type||D._cheater)||z&&(S[z]=!0)),"carpet"===D.type&&D._cheater&&z&&(A[z]=!0),x(D,"2dMap")&&(O[z]=!0,O[R]=!0),x(D,"oriented")&&(I["h"===D.orientation?R:z]=!0)}}var F=e._subplots,B=F.xaxis,N=F.yaxis,j=n.simpleMap(B,v),U=n.simpleMap(N,v),V=j.concat(U),H=i.background;B.length&&N.length&&(H=n.coerce(t,e,l,"plot_bgcolor"));var q,G,Z,Y,W,X=i.combine(H,e.paper_bgcolor);function J(){var t=k[q]||[];W._traceIndices=t.map((function(t){return t._expandedIndex})),W._annIndices=[],W._shapeIndices=[],W._selectionIndices=[],W._imgIndices=[],W._subplotsWith=[],W._counterAxes=[],W._name=W._attr=q,W._id=G}function K(t,e){return n.coerce(Y,W,u,t,e)}function $(t,e){return n.coerce2(Y,W,u,t,e)}function Q(t){return"x"===t?N:B}function tt(e,r){for(var n="x"===e?j:U,i=[],a=0;a<n.length;a++){var o=n[a];o===r||(t[o]||{}).overlaying||i.push(g(o))}return i}var et={x:Q("x"),y:Q("y")},rt=et.x.concat(et.y),nt={},it=[];function at(){var t=Y.matches;y.test(t)&&-1===rt.indexOf(t)&&(nt[t]=Y.type,it=Object.keys(nt))}var ot=o(t,e),st=a(ot);for(m=0;m<V.length;m++){q=V[m],G=g(q),Z=q.charAt(0),n.isPlainObject(t[q])||(t[q]={}),Y=t[q],W=s.newContainer(e,q,Z+"axis"),J();var lt="x"===Z&&!S[q]&&A[q]||"y"===Z&&!E[q]&&M[q],ut="y"===Z&&(!L[q]&&C[q]||P[q]),ct={hasMinor:!0,letter:Z,font:e.font,outerTicks:O[q],showGrid:!I[q],data:k[q]||[],bgColor:X,calendar:e.calendar,automargin:!0,visibleDflt:lt,reverseDflt:ut,autotypenumbersDflt:T,splomStash:((e._splomAxes||{})[Z]||{})[G]};K("uirevision",e.uirevision),c(Y,W,K,ct),f(Y,W,K,ct,e);var ft=st&&Z===ot.charAt(0),ht=$("spikecolor",st?W.color:void 0),pt=$("spikethickness",st?1.5:void 0),dt=$("spikedash",st?"dot":void 0),vt=$("spikemode",st?"across":void 0),gt=$("spikesnap");K("showspikes",!!(ft||ht||pt||dt||vt||gt))||(delete W.spikecolor,delete W.spikethickness,delete W.spikedash,delete W.spikemode,delete W.spikesnap);var yt=v(Y.overlaying),mt=[0,1];if(void 0!==e[yt]){var xt=v(e[yt].anchor);void 0!==e[xt]&&(mt=e[xt].domain)}p(Y,W,K,{letter:Z,counterAxes:et[Z],overlayableAxes:tt(Z,q),grid:e.grid,overlayingDomain:mt}),K("title.standoff"),at(),W._input=Y}for(m=0;m<it.length;){G=it[m++],Z=(q=v(G)).charAt(0),n.isPlainObject(t[q])||(t[q]={}),Y=t[q],W=s.newContainer(e,q,Z+"axis"),J();var bt={letter:Z,font:e.font,outerTicks:O[q],showGrid:!I[q],data:[],bgColor:X,calendar:e.calendar,automargin:!0,visibleDflt:!1,reverseDflt:!1,autotypenumbersDflt:T,splomStash:((e._splomAxes||{})[Z]||{})[G]};K("uirevision",e.uirevision),W.type=nt[G]||"linear",f(Y,W,K,bt,e),p(Y,W,K,{letter:Z,counterAxes:et[Z],overlayableAxes:tt(Z,q),grid:e.grid}),K("fixedrange"),at(),W._input=Y}var _t=b("rangeslider","handleDefaults"),wt=b("rangeselector","handleDefaults");for(m=0;m<j.length;m++)q=j[m],Y=t[q],W=e[q],_t(t,e,q),"date"===W.type&&wt(Y,W,e,U,W.calendar),K("fixedrange");for(m=0;m<U.length;m++){q=U[m],Y=t[q],W=e[q];var Tt=e[v(W.anchor)];K("fixedrange",b("rangeslider","isVisible")(Tt))}h.handleDefaults(t,e,{axIds:rt.concat(it).sort(d.idSort),axHasImage:P})}},92128:function(t,e,r){"use strict";var n=r(84267).mix,i=r(22399),a=r(71828);t.exports=function(t,e,r,o){var s=(o=o||{}).dfltColor;function l(r,n){return a.coerce2(t,e,o.attributes,r,n)}var u=l("linecolor",s),c=l("linewidth");r("showline",o.showLine||!!u||!!c)||(delete e.linecolor,delete e.linewidth);var f=l("gridcolor",n(s,o.bgColor,o.blend||i.lightFraction).toRgbString()),h=l("gridwidth"),p=l("griddash");if(r("showgrid",o.showGrid||!!f||!!h||!!p)||(delete e.gridcolor,delete e.gridwidth,delete e.griddash),o.hasMinor){var d=l("minor.gridcolor",n(e.gridcolor,o.bgColor,67).toRgbString()),v=l("minor.gridwidth",e.gridwidth||1),g=l("minor.griddash",e.griddash||"solid");r("minor.showgrid",!!d||!!v||!!g)||(delete e.minor.gridcolor,delete e.minor.gridwidth,delete e.minor.griddash)}if(!o.noZeroLine){var y=l("zerolinecolor",s),m=l("zerolinewidth");r("zeroline",o.showGrid||!!y||!!m)||(delete e.zerolinecolor,delete e.zerolinewidth)}}},52830:function(t,e,r){"use strict";var n=r(92770),i=r(71828);t.exports=function(t,e,r,a){var o,s,l,u,c,f,h=a.counterAxes||[],p=a.overlayableAxes||[],d=a.letter,v=a.grid,g=a.overlayingDomain;v&&(s=v._domains[d][v._axisMap[e._id]],o=v._anchors[e._id],s&&(l=v[d+"side"].split(" ")[0],u=v.domain[d]["right"===l||"top"===l?1:0])),s=s||[0,1],o=o||(n(t.position)?"free":h[0]||"free"),l=l||("x"===d?"bottom":"left"),u=u||0,c=0,f=!1;var y=i.coerce(t,e,{anchor:{valType:"enumerated",values:["free"].concat(h),dflt:o}},"anchor"),m=i.coerce(t,e,{side:{valType:"enumerated",values:"x"===d?["bottom","top"]:["left","right"],dflt:l}},"side");"free"===y&&("y"===d&&(r("autoshift")&&(u="left"===m?g[0]:g[1],f=!e.automargin||e.automargin,c="left"===m?-3:3),r("shift",c)),r("position",u)),r("automargin",f);var x=!1;if(p.length&&(x=i.coerce(t,e,{overlaying:{valType:"enumerated",values:[!1].concat(p),dflt:!1}},"overlaying")),!x){var b=r("domain",s);b[0]>b[1]-1/4096&&(e.domain=s),i.noneOrAll(t.domain,e.domain,s),"sync"===e.tickmode&&(e.tickmode="auto")}return r("layer"),e}},89426:function(t,e,r){"use strict";var n=r(59652);t.exports=function(t,e,r,i,a){a||(a={});var o=a.tickSuffixDflt,s=n(t);r("tickprefix")&&r("showtickprefix",s),r("ticksuffix",o)&&r("showticksuffix",s)}},42449:function(t,e,r){"use strict";var n=r(18783).FROM_BL;t.exports=function(t,e,r){void 0===r&&(r=n[t.constraintoward||"center"]);var i=[t.r2l(t.range[0]),t.r2l(t.range[1])],a=i[0]+(i[1]-i[0])*r;t.range=t._input.range=[t.l2r(a+(i[0]-a)*e),t.l2r(a+(i[1]-a)*e)],t.setScale()}},21994:function(t,e,r){"use strict";var n=r(39898),i=r(84096).g0,a=r(71828),o=a.numberFormat,s=r(92770),l=a.cleanNumber,u=a.ms2DateTime,c=a.dateTime2ms,f=a.ensureNumber,h=a.isArrayOrTypedArray,p=r(50606),d=p.FP_SAFE,v=p.BADNUM,g=p.LOG_CLIP,y=p.ONEWEEK,m=p.ONEDAY,x=p.ONEHOUR,b=p.ONEMIN,_=p.ONESEC,w=r(41675),T=r(85555),k=T.HOUR_PATTERN,A=T.WEEKDAY_PATTERN;function M(t){return Math.pow(10,t)}function S(t){return null!=t}t.exports=function(t,e){e=e||{};var r=t._id||"x",p=r.charAt(0);function E(e,r){if(e>0)return Math.log(e)/Math.LN10;if(e<=0&&r&&t.range&&2===t.range.length){var n=t.range[0],i=t.range[1];return.5*(n+i-2*g*Math.abs(n-i))}return v}function L(e,r,n,i){if((i||{}).msUTC&&s(e))return+e;var o=c(e,n||t.calendar);if(o===v){if(!s(e))return v;e=+e;var l=Math.floor(10*a.mod(e+.05,1)),u=Math.round(e-l/10);o=c(new Date(u))+l/10}return o}function C(e,r,n){return u(e,r,n||t.calendar)}function P(e){return t._categories[Math.round(e)]}function O(e){if(S(e)){if(void 0===t._categoriesMap&&(t._categoriesMap={}),void 0!==t._categoriesMap[e])return t._categoriesMap[e];t._categories.push("number"==typeof e?String(e):e);var r=t._categories.length-1;return t._categoriesMap[e]=r,r}return v}function I(e){if(t._categoriesMap)return t._categoriesMap[e]}function D(t){var e=I(t);return void 0!==e?e:s(t)?+t:void 0}function z(t){return s(t)?+t:I(t)}function R(t,e,r){return n.round(r+e*t,2)}function F(t,e,r){return(t-r)/e}var B=function(e){return s(e)?R(e,t._m,t._b):v},N=function(e){return F(e,t._m,t._b)};if(t.rangebreaks){var j="y"===p;B=function(e){if(!s(e))return v;var r=t._rangebreaks.length;if(!r)return R(e,t._m,t._b);var n=j;t.range[0]>t.range[1]&&(n=!n);for(var i=n?-1:1,a=i*e,o=0,l=0;l<r;l++){var u=i*t._rangebreaks[l].min,c=i*t._rangebreaks[l].max;if(a<u)break;if(!(a>c)){o=a<(u+c)/2?l:l+1;break}o=l+1}var f=t._B[o]||0;return isFinite(f)?R(e,t._m2,f):0},N=function(e){var r=t._rangebreaks.length;if(!r)return F(e,t._m,t._b);for(var n=0,i=0;i<r&&!(e<t._rangebreaks[i].pmin);i++)e>t._rangebreaks[i].pmax&&(n=i+1);return F(e,t._m2,t._B[n])}}t.c2l="log"===t.type?E:f,t.l2c="log"===t.type?M:f,t.l2p=B,t.p2l=N,t.c2p="log"===t.type?function(t,e){return B(E(t,e))}:B,t.p2c="log"===t.type?function(t){return M(N(t))}:N,-1!==["linear","-"].indexOf(t.type)?(t.d2r=t.r2d=t.d2c=t.r2c=t.d2l=t.r2l=l,t.c2d=t.c2r=t.l2d=t.l2r=f,t.d2p=t.r2p=function(e){return t.l2p(l(e))},t.p2d=t.p2r=N,t.cleanPos=f):"log"===t.type?(t.d2r=t.d2l=function(t,e){return E(l(t),e)},t.r2d=t.r2c=function(t){return M(l(t))},t.d2c=t.r2l=l,t.c2d=t.l2r=f,t.c2r=E,t.l2d=M,t.d2p=function(e,r){return t.l2p(t.d2r(e,r))},t.p2d=function(t){return M(N(t))},t.r2p=function(e){return t.l2p(l(e))},t.p2r=N,t.cleanPos=f):"date"===t.type?(t.d2r=t.r2d=a.identity,t.d2c=t.r2c=t.d2l=t.r2l=L,t.c2d=t.c2r=t.l2d=t.l2r=C,t.d2p=t.r2p=function(e,r,n){return t.l2p(L(e,0,n))},t.p2d=t.p2r=function(t,e,r){return C(N(t),e,r)},t.cleanPos=function(e){return a.cleanDate(e,v,t.calendar)}):"category"===t.type?(t.d2c=t.d2l=O,t.r2d=t.c2d=t.l2d=P,t.d2r=t.d2l_noadd=D,t.r2c=function(e){var r=z(e);return void 0!==r?r:t.fraction2r(.5)},t.l2r=t.c2r=f,t.r2l=z,t.d2p=function(e){return t.l2p(t.r2c(e))},t.p2d=function(t){return P(N(t))},t.r2p=t.d2p,t.p2r=N,t.cleanPos=function(t){return"string"==typeof t&&""!==t?t:f(t)}):"multicategory"===t.type&&(t.r2d=t.c2d=t.l2d=P,t.d2r=t.d2l_noadd=D,t.r2c=function(e){var r=D(e);return void 0!==r?r:t.fraction2r(.5)},t.r2c_just_indices=I,t.l2r=t.c2r=f,t.r2l=D,t.d2p=function(e){return t.l2p(t.r2c(e))},t.p2d=function(t){return P(N(t))},t.r2p=t.d2p,t.p2r=N,t.cleanPos=function(t){return Array.isArray(t)||"string"==typeof t&&""!==t?t:f(t)},t.setupMultiCategory=function(n){var i,o,s=t._traceIndices,l=t._matchGroup;if(l&&0===t._categories.length)for(var u in l)if(u!==r){var c=e[w.id2name(u)];s=s.concat(c._traceIndices)}var f=[[0,{}],[0,{}]],d=[];for(i=0;i<s.length;i++){var v=n[s[i]];if(p in v){var g=v[p],y=v._length||a.minRowLength(g);if(h(g[0])&&h(g[1]))for(o=0;o<y;o++){var m=g[0][o],x=g[1][o];S(m)&&S(x)&&(d.push([m,x]),m in f[0][1]||(f[0][1][m]=f[0][0]++),x in f[1][1]||(f[1][1][x]=f[1][0]++))}}}for(d.sort((function(t,e){var r=f[0][1],n=r[t[0]]-r[e[0]];if(n)return n;var i=f[1][1];return i[t[1]]-i[e[1]]})),i=0;i<d.length;i++)O(d[i])}),t.fraction2r=function(e){var r=t.r2l(t.range[0]),n=t.r2l(t.range[1]);return t.l2r(r+e*(n-r))},t.r2fraction=function(e){var r=t.r2l(t.range[0]),n=t.r2l(t.range[1]);return(t.r2l(e)-r)/(n-r)},t.cleanRange=function(e,r){r||(r={}),e||(e="range");var n,i,o=a.nestedProperty(t,e).get();if(i=(i="date"===t.type?a.dfltRange(t.calendar):"y"===p?T.DFLTRANGEY:"realaxis"===t._name?[0,1]:r.dfltRange||T.DFLTRANGEX).slice(),"tozero"!==t.rangemode&&"nonnegative"!==t.rangemode||(i[0]=0),o&&2===o.length)for("date"!==t.type||t.autorange||(o[0]=a.cleanDate(o[0],v,t.calendar),o[1]=a.cleanDate(o[1],v,t.calendar)),n=0;n<2;n++)if("date"===t.type){if(!a.isDateTime(o[n],t.calendar)){t[e]=i;break}if(t.r2l(o[0])===t.r2l(o[1])){var l=a.constrain(t.r2l(o[0]),a.MIN_MS+1e3,a.MAX_MS-1e3);o[0]=t.l2r(l-1e3),o[1]=t.l2r(l+1e3);break}}else{if(!s(o[n])){if(!s(o[1-n])){t[e]=i;break}o[n]=o[1-n]*(n?10:.1)}if(o[n]<-d?o[n]=-d:o[n]>d&&(o[n]=d),o[0]===o[1]){var u=Math.max(1,Math.abs(1e-6*o[0]));o[0]-=u,o[1]+=u}}else a.nestedProperty(t,e).set(i)},t.setScale=function(r){var n=e._size;if(t.overlaying){var i=w.getFromId({_fullLayout:e},t.overlaying);t.domain=i.domain}var a=r&&t._r?"_r":"range",o=t.calendar;t.cleanRange(a);var s,l,u=t.r2l(t[a][0],o),c=t.r2l(t[a][1],o),f="y"===p;if(f?(t._offset=n.t+(1-t.domain[1])*n.h,t._length=n.h*(t.domain[1]-t.domain[0]),t._m=t._length/(u-c),t._b=-t._m*c):(t._offset=n.l+t.domain[0]*n.w,t._length=n.w*(t.domain[1]-t.domain[0]),t._m=t._length/(c-u),t._b=-t._m*u),t._rangebreaks=[],t._lBreaks=0,t._m2=0,t._B=[],t.rangebreaks&&(t._rangebreaks=t.locateBreaks(Math.min(u,c),Math.max(u,c)),t._rangebreaks.length)){for(s=0;s<t._rangebreaks.length;s++)l=t._rangebreaks[s],t._lBreaks+=Math.abs(l.max-l.min);var h=f;u>c&&(h=!h),h&&t._rangebreaks.reverse();var d=h?-1:1;for(t._m2=d*t._length/(Math.abs(c-u)-t._lBreaks),t._B.push(-t._m2*(f?c:u)),s=0;s<t._rangebreaks.length;s++)l=t._rangebreaks[s],t._B.push(t._B[t._B.length-1]-d*t._m2*(l.max-l.min));for(s=0;s<t._rangebreaks.length;s++)(l=t._rangebreaks[s]).pmin=B(l.min),l.pmax=B(l.max)}if(!isFinite(t._m)||!isFinite(t._b)||t._length<0)throw e._replotting=!1,new Error("Something went wrong with axis scaling")},t.maskBreaks=function(e){var r,n,i,o,s,u=t.rangebreaks||[];u._cachedPatterns||(u._cachedPatterns=u.map((function(e){return e.enabled&&e.bounds?a.simpleMap(e.bounds,e.pattern?l:t.d2c):null}))),u._cachedValues||(u._cachedValues=u.map((function(e){return e.enabled&&e.values?a.simpleMap(e.values,t.d2c).sort(a.sorterAsc):null})));for(var c=0;c<u.length;c++){var f=u[c];if(f.enabled)if(f.bounds){var h=f.pattern;switch(n=(r=u._cachedPatterns[c])[0],i=r[1],h){case A:o=(s=new Date(e)).getUTCDay(),n>i&&(i+=7,o<n&&(o+=7));break;case k:o=(s=new Date(e)).getUTCHours()+(s.getUTCMinutes()/60+s.getUTCSeconds()/3600+s.getUTCMilliseconds()/36e5),n>i&&(i+=24,o<n&&(o+=24));break;case"":o=e}if(o>=n&&o<i)return v}else for(var p=u._cachedValues[c],d=0;d<p.length;d++)if(i=(n=p[d])+f.dvalue,e>=n&&e<i)return v}return e},t.locateBreaks=function(e,r){var n,i,o,s,u=[];if(!t.rangebreaks)return u;var c=t.rangebreaks.slice().sort((function(t,e){return t.pattern===A&&e.pattern===k?-1:e.pattern===A&&t.pattern===k?1:0})),f=function(t,n){if((t=a.constrain(t,e,r))!==(n=a.constrain(n,e,r))){for(var i=!0,o=0;o<u.length;o++){var s=u[o];t<s.max&&n>=s.min&&(t<s.min&&(s.min=t),n>s.max&&(s.max=n),i=!1)}i&&u.push({min:t,max:n})}};for(n=0;n<c.length;n++){var h=c[n];if(h.enabled)if(h.bounds){var p=e,d=r;h.pattern&&(p=Math.floor(p)),o=(i=a.simpleMap(h.bounds,h.pattern?l:t.r2l))[0],s=i[1];var v,g,w=new Date(p);switch(h.pattern){case A:g=y,v=(s-o+(s<o?7:0))*m,p+=o*m-(w.getUTCDay()*m+w.getUTCHours()*x+w.getUTCMinutes()*b+w.getUTCSeconds()*_+w.getUTCMilliseconds());break;case k:g=m,v=(s-o+(s<o?24:0))*x,p+=o*x-(w.getUTCHours()*x+w.getUTCMinutes()*b+w.getUTCSeconds()*_+w.getUTCMilliseconds());break;default:p=Math.min(i[0],i[1]),v=g=(d=Math.max(i[0],i[1]))-p}for(var T=p;T<d;T+=g)f(T,T+v)}else for(var M=a.simpleMap(h.values,t.d2c),S=0;S<M.length;S++)f(o=M[S],s=o+h.dvalue)}return u.sort((function(t,e){return t.min-e.min})),u},t.makeCalcdata=function(e,r,n){var i,o,s,l,u=t.type,c="date"===u&&e[r+"calendar"];if(r in e){if(i=e[r],l=e._length||a.minRowLength(i),a.isTypedArray(i)&&("linear"===u||"log"===u)){if(l===i.length)return i;if(i.subarray)return i.subarray(0,l)}if("multicategory"===u)return function(t,e){for(var r=new Array(e),n=0;n<e;n++){var i=(t[0]||[])[n],a=(t[1]||[])[n];r[n]=I([i,a])}return r}(i,l);for(o=new Array(l),s=0;s<l;s++)o[s]=t.d2c(i[s],0,c,n)}else{var f=r+"0"in e?t.d2c(e[r+"0"],0,c):0,h=e["d"+r]?Number(e["d"+r]):1;for(i=e[{x:"y",y:"x"}[r]],l=e._length||i.length,o=new Array(l),s=0;s<l;s++)o[s]=f+s*h}if(t.rangebreaks)for(s=0;s<l;s++)o[s]=t.maskBreaks(o[s]);return o},t.isValidRange=function(e){return Array.isArray(e)&&2===e.length&&s(t.r2l(e[0]))&&s(t.r2l(e[1]))},t.isPtWithinRange=function(e,r){var n=t.c2l(e[p],null,r),i=t.r2l(t.range[0]),a=t.r2l(t.range[1]);return i<a?i<=n&&n<=a:a<=n&&n<=i},t._emptyCategories=function(){t._categories=[],t._categoriesMap={}},t.clearCalc=function(){var r=t._matchGroup;if(r){var n=null,i=null;for(var a in r){var o=e[w.id2name(a)];if(o._categories){n=o._categories,i=o._categoriesMap;break}}n&&i?(t._categories=n,t._categoriesMap=i):t._emptyCategories()}else t._emptyCategories();if(t._initialCategories)for(var s=0;s<t._initialCategories.length;s++)O(t._initialCategories[s])},t.sortByInitialCategories=function(){var n=[];if(t._emptyCategories(),t._initialCategories)for(var i=0;i<t._initialCategories.length;i++)O(t._initialCategories[i]);n=n.concat(t._traceIndices);var a=t._matchGroup;for(var o in a)if(r!==o){var s=e[w.id2name(o)];s._categories=t._categories,s._categoriesMap=t._categoriesMap,n=n.concat(s._traceIndices)}return n};var U=e._d3locale;"date"===t.type&&(t._dateFormat=U?U.timeFormat:i,t._extraFormat=e._extraFormat),t._separators=e.separators,t._numFormat=U?U.numberFormat:o,delete t._minDtick,delete t._forceTick0}},59652:function(t){"use strict";t.exports=function(t){var e=["showexponent","showtickprefix","showticksuffix"].filter((function(e){return void 0!==t[e]}));if(e.every((function(r){return t[r]===t[e[0]]}))||1===e.length)return t[e[0]]}},96115:function(t,e,r){"use strict";var n=r(71828),i=r(7901).contrast,a=r(13838),o=r(59652),s=r(85501);function l(t,e){function r(r,i){return n.coerce(t,e,a.tickformatstops,r,i)}r("enabled")&&(r("dtickrange"),r("value"))}t.exports=function(t,e,r,u,c){c||(c={});var f=o(t);if(r("showticklabels")){var h=c.font||{},p=e.color,d=-1!==(e.ticklabelposition||"").indexOf("inside")?i(c.bgColor):p&&p!==a.color.dflt?p:h.color;if(n.coerceFont(r,"tickfont",{family:h.family,size:h.size,color:d}),c.noTicklabelstep||"multicategory"===u||"log"===u||r("ticklabelstep"),c.noAng||r("tickangle"),"category"!==u){var v=r("tickformat");s(t,e,{name:"tickformatstops",inclusionAttr:"enabled",handleItemDefaults:l}),e.tickformatstops.length||delete e.tickformatstops,c.noExp||v||"date"===u||(r("showexponent",f),r("exponentformat"),r("minexponent"),r("separatethousands"))}}}},38701:function(t,e,r){"use strict";var n=r(71828),i=r(13838);t.exports=function(t,e,r,a){var o=a.isMinor,s=o?t.minor||{}:t,l=o?e.minor:e,u=o?i.minor:i,c=o?"minor.":"",f=n.coerce2(s,l,u,"ticklen",o?.6*(e.ticklen||5):void 0),h=n.coerce2(s,l,u,"tickwidth",o?e.tickwidth||1:void 0),p=n.coerce2(s,l,u,"tickcolor",(o?e.tickcolor:void 0)||l.color);r(c+"ticks",!o&&a.outerTicks||f||h||p?"outside":"")||(delete l.ticklen,delete l.tickwidth,delete l.tickcolor)}},26218:function(t,e,r){"use strict";var n=r(66287),i=r(71828).isArrayOrTypedArray;t.exports=function(t,e,r,a,o){o||(o={});var s=o.isMinor,l=s?t.minor||{}:t,u=s?e.minor:e,c=s?"minor.":"";function f(t){var e=l[t];return void 0!==e?e:(u._template||{})[t]}var h=f("tick0"),p=f("dtick"),d=f("tickvals"),v=r(c+"tickmode",i(d)?"array":p?"linear":"auto");if("auto"===v||"sync"===v)r(c+"nticks");else if("linear"===v){var g=u.dtick=n.dtick(p,a);u.tick0=n.tick0(h,a,e.calendar,g)}else"multicategory"!==a&&(void 0===r(c+"tickvals")?u.tickmode="auto":s||r("ticktext"))}},66847:function(t,e,r){"use strict";var n=r(39898),i=r(73972),a=r(71828),o=r(91424),s=r(89298);t.exports=function(t,e,r,l){var u=t._fullLayout;if(0!==e.length){var c,f,h,p;l&&(c=l());var d=n.ease(r.easing);return t._transitionData._interruptCallbacks.push((function(){return window.cancelAnimationFrame(p),p=null,function(){for(var r={},n=0;n<e.length;n++){var a=e[n],o=a.plotinfo.xaxis,s=a.plotinfo.yaxis;a.xr0&&(r[o._name+".range"]=a.xr0.slice()),a.yr0&&(r[s._name+".range"]=a.yr0.slice())}return i.call("relayout",t,r).then((function(){for(var t=0;t<e.length;t++)v(e[t].plotinfo)}))}()})),f=Date.now(),p=window.requestAnimationFrame((function n(){h=Date.now();for(var a=Math.min(1,(h-f)/r.duration),o=d(a),s=0;s<e.length;s++)g(e[s],o);h-f>r.duration?(function(){for(var r={},n=0;n<e.length;n++){var a=e[n],o=a.plotinfo.xaxis,s=a.plotinfo.yaxis;a.xr1&&(r[o._name+".range"]=a.xr1.slice()),a.yr1&&(r[s._name+".range"]=a.yr1.slice())}c&&c(),i.call("relayout",t,r).then((function(){for(var t=0;t<e.length;t++)v(e[t].plotinfo)}))}(),p=window.cancelAnimationFrame(n)):p=window.requestAnimationFrame(n)})),Promise.resolve()}function v(t){var e=t.xaxis,r=t.yaxis;u._defs.select("#"+t.clipId+"> rect").call(o.setTranslate,0,0).call(o.setScale,1,1),t.plot.call(o.setTranslate,e._offset,r._offset).call(o.setScale,1,1);var n=t.plot.selectAll(".scatterlayer .trace");n.selectAll(".point").call(o.setPointGroupScale,1,1),n.selectAll(".textpoint").call(o.setTextPointsScale,1,1),n.call(o.hideOutsideRangePoints,t)}function g(e,r){var n=e.plotinfo,i=n.xaxis,l=n.yaxis,u=i._length,c=l._length,f=!!e.xr1,h=!!e.yr1,p=[];if(f){var d=a.simpleMap(e.xr0,i.r2l),v=a.simpleMap(e.xr1,i.r2l),g=d[1]-d[0],y=v[1]-v[0];p[0]=(d[0]*(1-r)+r*v[0]-d[0])/(d[1]-d[0])*u,p[2]=u*(1-r+r*y/g),i.range[0]=i.l2r(d[0]*(1-r)+r*v[0]),i.range[1]=i.l2r(d[1]*(1-r)+r*v[1])}else p[0]=0,p[2]=u;if(h){var m=a.simpleMap(e.yr0,l.r2l),x=a.simpleMap(e.yr1,l.r2l),b=m[1]-m[0],_=x[1]-x[0];p[1]=(m[1]*(1-r)+r*x[1]-m[1])/(m[0]-m[1])*c,p[3]=c*(1-r+r*_/b),l.range[0]=i.l2r(m[0]*(1-r)+r*x[0]),l.range[1]=l.l2r(m[1]*(1-r)+r*x[1])}else p[1]=0,p[3]=c;s.drawOne(t,i,{skipTitle:!0}),s.drawOne(t,l,{skipTitle:!0}),s.redrawComponents(t,[i._id,l._id]);var w=f?u/p[2]:1,T=h?c/p[3]:1,k=f?p[0]:0,A=h?p[1]:0,M=f?p[0]/p[2]*u:0,S=h?p[1]/p[3]*c:0,E=i._offset-M,L=l._offset-S;n.clipRect.call(o.setTranslate,k,A).call(o.setScale,1/w,1/T),n.plot.call(o.setTranslate,E,L).call(o.setScale,w,T),o.setPointGroupScale(n.zoomScalePts,1/w,1/T),o.setTextPointsScale(n.zoomScaleTxt,1/w,1/T)}s.redrawComponents(t)}},951:function(t,e,r){"use strict";var n=r(73972).traceIs,i=r(4322);function a(t){return{v:"x",h:"y"}[t.orientation||"v"]}function o(t,e){var r=a(t),i=n(t,"box-violin"),o=n(t._fullInput||{},"candlestick");return i&&!o&&e===r&&void 0===t[r]&&void 0===t[r+"0"]}t.exports=function(t,e,r,s){r("autotypenumbers",s.autotypenumbersDflt),"-"===r("type",(s.splomStash||{}).type)&&(function(t,e){if("-"===t.type){var r,s=t._id,l=s.charAt(0);-1!==s.indexOf("scene")&&(s=l);var u=function(t,e,r){for(var n=0;n<t.length;n++){var i=t[n];if("splom"===i.type&&i._length>0&&(i["_"+r+"axes"]||{})[e])return i;if((i[r+"axis"]||r)===e){if(o(i,r))return i;if((i[r]||[]).length||i[r+"0"])return i}}}(e,s,l);if(u)if("histogram"!==u.type||l!=={v:"y",h:"x"}[u.orientation||"v"]){var c=l+"calendar",f=u[c],h={noMultiCategory:!n(u,"cartesian")||n(u,"noMultiCategory")};if("box"===u.type&&u._hasPreCompStats&&l==={h:"x",v:"y"}[u.orientation||"v"]&&(h.noMultiCategory=!0),h.autotypenumbers=t.autotypenumbers,o(u,l)){var p=a(u),d=[];for(r=0;r<e.length;r++){var v=e[r];n(v,"box-violin")&&(v[l+"axis"]||l)===s&&(void 0!==v[p]?d.push(v[p][0]):void 0!==v.name?d.push(v.name):d.push("text"),v[c]!==f&&(f=void 0))}t.type=i(d,f,h)}else if("splom"===u.type){var g=u.dimensions[u._axesDim[s]];g.visible&&(t.type=i(g.values,f,h))}else t.type=i(u[l]||[u[l+"0"]],f,h)}else t.type="linear"}}(e,s.data),"-"===e.type?e.type="linear":t.type=e.type)}},31137:function(t,e,r){"use strict";var n=r(73972),i=r(71828);function a(t,e,r){var n,a,o,s=!1;if("data"===e.type)n=t._fullData[null!==e.traces?e.traces[0]:0];else{if("layout"!==e.type)return!1;n=t._fullLayout}return a=i.nestedProperty(n,e.prop).get(),(o=r[e.type]=r[e.type]||{}).hasOwnProperty(e.prop)&&o[e.prop]!==a&&(s=!0),o[e.prop]=a,{changed:s,value:a}}function o(t,e){var r=[],n=e[0],a={};if("string"==typeof n)a[n]=e[1];else{if(!i.isPlainObject(n))return r;a=n}return l(a,(function(t,e,n){r.push({type:"layout",prop:t,value:n})}),"",0),r}function s(t,e){var r,n,a,o,s=[];if(n=e[0],a=e[1],r=e[2],o={},"string"==typeof n)o[n]=a;else{if(!i.isPlainObject(n))return s;o=n,void 0===r&&(r=a)}return void 0===r&&(r=null),l(o,(function(e,n,i){var a,o;if(Array.isArray(i)){o=i.slice();var l=Math.min(o.length,t.data.length);r&&(l=Math.min(l,r.length)),a=[];for(var u=0;u<l;u++)a[u]=r?r[u]:u}else o=i,a=r?r.slice():null;if(null===a)Array.isArray(o)&&(o=o[0]);else if(Array.isArray(a)){if(!Array.isArray(o)){var c=o;o=[];for(var f=0;f<a.length;f++)o[f]=c}o.length=Math.min(a.length,o.length)}s.push({type:"data",prop:e,traces:a,value:o})}),"",0),s}function l(t,e,r,n){Object.keys(t).forEach((function(a){var o=t[a];if("_"!==a[0]){var s=r+(n>0?".":"")+a;i.isPlainObject(o)?l(o,e,s,n+1):e(s,a,o)}}))}e.manageCommandObserver=function(t,r,n,o){var s={},l=!0;r&&r._commandObserver&&(s=r._commandObserver),s.cache||(s.cache={}),s.lookupTable={};var u=e.hasSimpleAPICommandBindings(t,n,s.lookupTable);if(r&&r._commandObserver){if(u)return s;if(r._commandObserver.remove)return r._commandObserver.remove(),r._commandObserver=null,s}if(u){a(t,u,s.cache),s.check=function(){if(l){var e=a(t,u,s.cache);return e.changed&&o&&void 0!==s.lookupTable[e.value]&&(s.disable(),Promise.resolve(o({value:e.value,type:u.type,prop:u.prop,traces:u.traces,index:s.lookupTable[e.value]})).then(s.enable,s.enable)),e.changed}};for(var c=["plotly_relayout","plotly_redraw","plotly_restyle","plotly_update","plotly_animatingframe","plotly_afterplot"],f=0;f<c.length;f++)t._internalOn(c[f],s.check);s.remove=function(){for(var e=0;e<c.length;e++)t._removeInternalListener(c[e],s.check)}}else i.log("Unable to automatically bind plot updates to API command"),s.lookupTable={},s.remove=function(){};return s.disable=function(){l=!1},s.enable=function(){l=!0},r&&(r._commandObserver=s),s},e.hasSimpleAPICommandBindings=function(t,r,n){var i,a,o=r.length;for(i=0;i<o;i++){var s,l=r[i],u=l.method,c=l.args;if(Array.isArray(c)||(c=[]),!u)return!1;var f=e.computeAPICommandBindings(t,u,c);if(1!==f.length)return!1;if(a){if((s=f[0]).type!==a.type)return!1;if(s.prop!==a.prop)return!1;if(Array.isArray(a.traces)){if(!Array.isArray(s.traces))return!1;s.traces.sort();for(var h=0;h<a.traces.length;h++)if(a.traces[h]!==s.traces[h])return!1}else if(s.prop!==a.prop)return!1}else a=f[0],Array.isArray(a.traces)&&a.traces.sort();var p=(s=f[0]).value;if(Array.isArray(p)){if(1!==p.length)return!1;p=p[0]}n&&(n[p]=i)}return a},e.executeAPICommand=function(t,e,r){if("skip"===e)return Promise.resolve();var a=n.apiMethodRegistry[e],o=[t];Array.isArray(r)||(r=[]);for(var s=0;s<r.length;s++)o.push(r[s]);return a.apply(null,o).catch((function(t){return i.warn("API call to Plotly."+e+" rejected.",t),Promise.reject(t)}))},e.computeAPICommandBindings=function(t,e,r){var n;switch(Array.isArray(r)||(r=[]),e){case"restyle":n=s(t,r);break;case"relayout":n=o(0,r);break;case"update":n=s(t,[r[0],r[2]]).concat(o(0,[r[1]]));break;case"animate":n=function(t,e){return Array.isArray(e[0])&&1===e[0].length&&-1!==["string","number"].indexOf(typeof e[0][0])?[{type:"layout",prop:"_currentFrame",value:e[0][0].toString()}]:[]}(0,r);break;default:n=[]}return n}},27670:function(t,e,r){"use strict";var n=r(1426).extendFlat;e.Y=function(t,e){e=e||{};var r={valType:"info_array",editType:(t=t||{}).editType,items:[{valType:"number",min:0,max:1,editType:t.editType},{valType:"number",min:0,max:1,editType:t.editType}],dflt:[0,1]},i=(t.name&&t.name,t.trace,e.description&&e.description,{x:n({},r,{}),y:n({},r,{}),editType:t.editType});return t.noGridCell||(i.row={valType:"integer",min:0,dflt:0,editType:t.editType},i.column={valType:"integer",min:0,dflt:0,editType:t.editType}),i},e.c=function(t,e,r,n){var i=n&&n.x||[0,1],a=n&&n.y||[0,1],o=e.grid;if(o){var s=r("domain.column");void 0!==s&&(s<o.columns?i=o._domains.x[s]:delete t.domain.column);var l=r("domain.row");void 0!==l&&(l<o.rows?a=o._domains.y[l]:delete t.domain.row)}var u=r("domain.x",i),c=r("domain.y",a);u[0]<u[1]||(t.domain.x=i.slice()),c[0]<c[1]||(t.domain.y=a.slice())}},41940:function(t){"use strict";t.exports=function(t){var e=t.editType,r=t.colorEditType;void 0===r&&(r=e);var n={family:{valType:"string",noBlank:!0,strict:!0,editType:e},size:{valType:"number",min:1,editType:e},color:{valType:"color",editType:r},editType:e};return t.autoSize&&(n.size.dflt="auto"),t.autoColor&&(n.color.dflt="auto"),t.arrayOk&&(n.family.arrayOk=!0,n.size.arrayOk=!0,n.color.arrayOk=!0),n}},31391:function(t){"use strict";t.exports={_isLinkedToArray:"frames_entry",group:{valType:"string"},name:{valType:"string"},traces:{valType:"any"},baseframe:{valType:"string"},data:{valType:"any"},layout:{valType:"any"}}},78776:function(t,e){"use strict";e.projNames={airy:"airy",aitoff:"aitoff","albers usa":"albersUsa",albers:"albers",august:"august","azimuthal equal area":"azimuthalEqualArea","azimuthal equidistant":"azimuthalEquidistant",baker:"baker",bertin1953:"bertin1953",boggs:"boggs",bonne:"bonne",bottomley:"bottomley",bromley:"bromley",collignon:"collignon","conic conformal":"conicConformal","conic equal area":"conicEqualArea","conic equidistant":"conicEquidistant",craig:"craig",craster:"craster","cylindrical equal area":"cylindricalEqualArea","cylindrical stereographic":"cylindricalStereographic",eckert1:"eckert1",eckert2:"eckert2",eckert3:"eckert3",eckert4:"eckert4",eckert5:"eckert5",eckert6:"eckert6",eisenlohr:"eisenlohr",equirectangular:"equirectangular",fahey:"fahey","foucaut sinusoidal":"foucautSinusoidal",foucaut:"foucaut",ginzburg4:"ginzburg4",ginzburg5:"ginzburg5",ginzburg6:"ginzburg6",ginzburg8:"ginzburg8",ginzburg9:"ginzburg9",gnomonic:"gnomonic","gringorten quincuncial":"gringortenQuincuncial",gringorten:"gringorten",guyou:"guyou",hammer:"hammer",hill:"hill",homolosine:"homolosine",hufnagel:"hufnagel",hyperelliptical:"hyperelliptical",kavrayskiy7:"kavrayskiy7",lagrange:"lagrange",larrivee:"larrivee",laskowski:"laskowski",loximuthal:"loximuthal",mercator:"mercator",miller:"miller",mollweide:"mollweide","mt flat polar parabolic":"mtFlatPolarParabolic","mt flat polar quartic":"mtFlatPolarQuartic","mt flat polar sinusoidal":"mtFlatPolarSinusoidal","natural earth":"naturalEarth","natural earth1":"naturalEarth1","natural earth2":"naturalEarth2","nell hammer":"nellHammer",nicolosi:"nicolosi",orthographic:"orthographic",patterson:"patterson","peirce quincuncial":"peirceQuincuncial",polyconic:"polyconic","rectangular polyconic":"rectangularPolyconic",robinson:"robinson",satellite:"satellite","sinu mollweide":"sinuMollweide",sinusoidal:"sinusoidal",stereographic:"stereographic",times:"times","transverse mercator":"transverseMercator","van der grinten":"vanDerGrinten","van der grinten2":"vanDerGrinten2","van der grinten3":"vanDerGrinten3","van der grinten4":"vanDerGrinten4",wagner4:"wagner4",wagner6:"wagner6",wiechel:"wiechel","winkel tripel":"winkel3",winkel3:"winkel3"},e.axesNames=["lonaxis","lataxis"],e.lonaxisSpan={orthographic:180,"azimuthal equal area":360,"azimuthal equidistant":360,"conic conformal":180,gnomonic:160,stereographic:180,"transverse mercator":180,"*":360},e.lataxisSpan={"conic conformal":150,stereographic:179.5,"*":180},e.scopeDefaults={world:{lonaxisRange:[-180,180],lataxisRange:[-90,90],projType:"equirectangular",projRotate:[0,0,0]},usa:{lonaxisRange:[-180,-50],lataxisRange:[15,80],projType:"albers usa"},europe:{lonaxisRange:[-30,60],lataxisRange:[30,85],projType:"conic conformal",projRotate:[15,0,0],projParallels:[0,60]},asia:{lonaxisRange:[22,160],lataxisRange:[-15,55],projType:"mercator",projRotate:[0,0,0]},africa:{lonaxisRange:[-30,60],lataxisRange:[-40,40],projType:"mercator",projRotate:[0,0,0]},"north america":{lonaxisRange:[-180,-45],lataxisRange:[5,85],projType:"conic conformal",projRotate:[-100,0,0],projParallels:[29.5,45.5]},"south america":{lonaxisRange:[-100,-30],lataxisRange:[-60,15],projType:"mercator",projRotate:[0,0,0]}},e.clipPad=.001,e.precision=.1,e.landColor="#F0DC82",e.waterColor="#3399FF",e.locationmodeToLayer={"ISO-3":"countries","USA-states":"subunits","country names":"countries"},e.sphereSVG={type:"Sphere"},e.fillLayers={ocean:1,land:1,lakes:1},e.lineLayers={subunits:1,countries:1,coastlines:1,rivers:1,frame:1},e.layers=["bg","ocean","land","lakes","subunits","countries","coastlines","rivers","lataxis","lonaxis","frame","backplot","frontplot"],e.layersForChoropleth=["bg","ocean","land","subunits","countries","coastlines","lataxis","lonaxis","frame","backplot","rivers","lakes","frontplot"],e.layerNameToAdjective={ocean:"ocean",land:"land",lakes:"lake",subunits:"subunit",countries:"country",coastlines:"coastline",rivers:"river",frame:"frame"}},69082:function(t,e,r){"use strict";var n=r(39898),i=r(27362),a=i.geoPath,o=i.geoDistance,s=r(65704),l=r(73972),u=r(71828),c=u.strTranslate,f=r(7901),h=r(91424),p=r(30211),d=r(74875),v=r(89298),g=r(71739).getAutoRange,y=r(28569),m=r(47322).prepSelect,x=r(47322).clearOutline,b=r(47322).selectOnClick,_=r(74455),w=r(78776),T=r(41327),k=r(90973),A=r(96892).zL;function M(t){this.id=t.id,this.graphDiv=t.graphDiv,this.container=t.container,this.topojsonURL=t.topojsonURL,this.isStatic=t.staticPlot,this.topojsonName=null,this.topojson=null,this.projection=null,this.scope=null,this.viewInitial=null,this.fitScale=null,this.bounds=null,this.midPt=null,this.hasChoropleth=!1,this.traceHash={},this.layers={},this.basePaths={},this.dataPaths={},this.dataPoints={},this.clipDef=null,this.clipRect=null,this.bgRect=null,this.makeFramework()}var S=M.prototype;function E(t,e){var r=w.clipPad,n=t[0]+r,i=t[1]-r,a=e[0]+r,o=e[1]-r;n>0&&i<0&&(i+=360);var s=(i-n)/4;return{type:"Polygon",coordinates:[[[n,a],[n,o],[n+s,o],[n+2*s,o],[n+3*s,o],[i,o],[i,a],[i-s,a],[i-2*s,a],[i-3*s,a],[n,a]]]}}t.exports=function(t){return new M(t)},S.plot=function(t,e,r,n){var i=this;if(n)return i.update(t,e,!0);i._geoCalcData=t,i._fullLayout=e;var a=e[this.id],o=[],s=!1;for(var l in w.layerNameToAdjective)if("frame"!==l&&a["show"+l]){s=!0;break}for(var u=!1,c=0;c<t.length;c++){var f=t[0][0].trace;f._geo=i,f.locationmode&&(s=!0);var h=f.marker;if(h){var p=h.angle,d=h.angleref;(p||"north"===d||"previous"===d)&&(u=!0)}}if(this._hasMarkerAngles=u,s){var v=k.getTopojsonName(a);null!==i.topojson&&v===i.topojsonName||(i.topojsonName=v,void 0===PlotlyGeoAssets.topojson[i.topojsonName]&&o.push(i.fetchTopojson()))}o=o.concat(T.fetchTraceGeoData(t)),r.push(new Promise((function(r,n){Promise.all(o).then((function(){i.topojson=PlotlyGeoAssets.topojson[i.topojsonName],i.update(t,e),r()})).catch(n)})))},S.fetchTopojson=function(){var t=this,e=k.getTopojsonPath(t.topojsonURL,t.topojsonName);return new Promise((function(r,i){n.json(e,(function(n,a){if(n)return 404===n.status?i(new Error(["plotly.js could not find topojson file at",e+".","Make sure the *topojsonURL* plot config option","is set properly."].join(" "))):i(new Error(["unexpected error while fetching topojson file at",e].join(" ")));PlotlyGeoAssets.topojson[t.topojsonName]=a,r()}))}))},S.update=function(t,e,r){var n=e[this.id];this.hasChoropleth=!1;for(var i=0;i<t.length;i++){var a=t[i],o=a[0].trace;"choropleth"===o.type&&(this.hasChoropleth=!0),!0===o.visible&&o._length>0&&o._module.calcGeoJSON(a,e)}if(!r){if(this.updateProjection(t,e))return;this.viewInitial&&this.scope===n.scope||this.saveViewInitial(n)}this.scope=n.scope,this.updateBaseLayers(e,n),this.updateDims(e,n),this.updateFx(e,n),d.generalUpdatePerTraceModule(this.graphDiv,this,t,n);var s=this.layers.frontplot.select(".scatterlayer");this.dataPoints.point=s.selectAll(".point"),this.dataPoints.text=s.selectAll("text"),this.dataPaths.line=s.selectAll(".js-line");var l=this.layers.backplot.select(".choroplethlayer");this.dataPaths.choropleth=l.selectAll("path"),this._render()},S.updateProjection=function(t,e){var r=this.graphDiv,n=e[this.id],l=e._size,c=n.domain,f=n.projection,h=n.lonaxis,p=n.lataxis,d=h._ax,v=p._ax,y=this.projection=function(t){var e=t.projection,r=e.type,n=w.projNames[r];n="geo"+u.titleCase(n);for(var l=(i[n]||s[n])(),c=t._isSatellite?180*Math.acos(1/e.distance)/Math.PI:t._isClipped?w.lonaxisSpan[r]/2:null,f=["center","rotate","parallels","clipExtent"],h=function(t){return t?l:[]},p=0;p<f.length;p++){var d=f[p];"function"!=typeof l[d]&&(l[d]=h)}return l.isLonLatOverEdges=function(t){if(null===l(t))return!0;if(c){var e=l.rotate();return o(t,[-e[0],-e[1]])>c*Math.PI/180}return!1},l.getPath=function(){return a().projection(l)},l.getBounds=function(t){return l.getPath().bounds(t)},l.precision(w.precision),t._isSatellite&&l.tilt(e.tilt).distance(e.distance),c&&l.clipAngle(c-w.clipPad),l}(n),m=[[l.l+l.w*c.x[0],l.t+l.h*(1-c.y[1])],[l.l+l.w*c.x[1],l.t+l.h*(1-c.y[0])]],x=n.center||{},b=f.rotation||{},_=h.range||[],T=p.range||[];if(n.fitbounds){d._length=m[1][0]-m[0][0],v._length=m[1][1]-m[0][1],d.range=g(r,d),v.range=g(r,v);var k=(d.range[0]+d.range[1])/2,A=(v.range[0]+v.range[1])/2;if(n._isScoped)x={lon:k,lat:A};else if(n._isClipped){x={lon:k,lat:A},b={lon:k,lat:A,roll:b.roll};var M=f.type,S=w.lonaxisSpan[M]/2||180,L=w.lataxisSpan[M]/2||90;_=[k-S,k+S],T=[A-L,A+L]}else x={lon:k,lat:A},b={lon:k,lat:b.lat,roll:b.roll}}y.center([x.lon-b.lon,x.lat-b.lat]).rotate([-b.lon,-b.lat,b.roll]).parallels(f.parallels);var C=E(_,T);y.fitExtent(m,C);var P=this.bounds=y.getBounds(C),O=this.fitScale=y.scale(),I=y.translate();if(n.fitbounds){var D=y.getBounds(E(d.range,v.range)),z=Math.min((P[1][0]-P[0][0])/(D[1][0]-D[0][0]),(P[1][1]-P[0][1])/(D[1][1]-D[0][1]));isFinite(z)?y.scale(z*O):u.warn("Something went wrong during"+this.id+"fitbounds computations.")}else y.scale(f.scale*O);var R=this.midPt=[(P[0][0]+P[1][0])/2,(P[0][1]+P[1][1])/2];if(y.translate([I[0]+(R[0]-I[0]),I[1]+(R[1]-I[1])]).clipExtent(P),n._isAlbersUsa){var F=y([x.lon,x.lat]),B=y.translate();y.translate([B[0]-(F[0]-B[0]),B[1]-(F[1]-B[1])])}},S.updateBaseLayers=function(t,e){var r=this,i=r.topojson,a=r.layers,o=r.basePaths;function s(t){return"lonaxis"===t||"lataxis"===t}function l(t){return Boolean(w.lineLayers[t])}function u(t){return Boolean(w.fillLayers[t])}var c=(this.hasChoropleth?w.layersForChoropleth:w.layers).filter((function(t){return l(t)||u(t)?e["show"+t]:!s(t)||e[t].showgrid})),p=r.framework.selectAll(".layer").data(c,String);p.exit().each((function(t){delete a[t],delete o[t],n.select(this).remove()})),p.enter().append("g").attr("class",(function(t){return"layer "+t})).each((function(t){var e=a[t]=n.select(this);"bg"===t?r.bgRect=e.append("rect").style("pointer-events","all"):s(t)?o[t]=e.append("path").style("fill","none"):"backplot"===t?e.append("g").classed("choroplethlayer",!0):"frontplot"===t?e.append("g").classed("scatterlayer",!0):l(t)?o[t]=e.append("path").style("fill","none").style("stroke-miterlimit",2):u(t)&&(o[t]=e.append("path").style("stroke","none"))})),p.order(),p.each((function(r){var n=o[r],a=w.layerNameToAdjective[r];"frame"===r?n.datum(w.sphereSVG):l(r)||u(r)?n.datum(A(i,i.objects[r])):s(r)&&n.datum(function(t,e,r){var n,i,a,o=e[t],s=w.scopeDefaults[e.scope];"lonaxis"===t?(n=s.lonaxisRange,i=s.lataxisRange,a=function(t,e){return[t,e]}):"lataxis"===t&&(n=s.lataxisRange,i=s.lonaxisRange,a=function(t,e){return[e,t]});var l={type:"linear",range:[n[0],n[1]-1e-6],tick0:o.tick0,dtick:o.dtick};v.setConvert(l,r);var u=v.calcTicks(l);e.isScoped||"lonaxis"!==t||u.pop();for(var c=u.length,f=new Array(c),h=0;h<c;h++)for(var p=u[h].x,d=f[h]=[],g=i[0];g<i[1]+2.5;g+=2.5)d.push(a(p,g));return{type:"MultiLineString",coordinates:f}}(r,e,t)).call(f.stroke,e[r].gridcolor).call(h.dashLine,e[r].griddash,e[r].gridwidth),l(r)?n.call(f.stroke,e[a+"color"]).call(h.dashLine,"",e[a+"width"]):u(r)&&n.call(f.fill,e[a+"color"])}))},S.updateDims=function(t,e){var r=this.bounds,n=(e.framewidth||0)/2,i=r[0][0]-n,a=r[0][1]-n,o=r[1][0]-i+n,s=r[1][1]-a+n;h.setRect(this.clipRect,i,a,o,s),this.bgRect.call(h.setRect,i,a,o,s).call(f.fill,e.bgcolor),this.xaxis._offset=i,this.xaxis._length=o,this.yaxis._offset=a,this.yaxis._length=s},S.updateFx=function(t,e){var r=this,i=r.graphDiv,a=r.bgRect,o=t.dragmode,s=t.clickmode;if(!r.isStatic){var c={element:r.bgRect.node(),gd:i,plotinfo:{id:r.id,xaxis:r.xaxis,yaxis:r.yaxis,fillRangeItems:function(t,e){e.isRect?(t.range={})[r.id]=[f([e.xmin,e.ymin]),f([e.xmax,e.ymax])]:(t.lassoPoints={})[r.id]=e.map(f)}},xaxes:[r.xaxis],yaxes:[r.yaxis],subplot:r.id,clickFn:function(t){2===t&&x(i)}};"pan"===o?(a.node().onmousedown=null,a.call(_(r,e)),a.on("dblclick.zoom",(function(){var t=r.viewInitial,e={};for(var n in t)e[r.id+"."+n]=t[n];l.call("_guiRelayout",i,e),i.emit("plotly_doubleclick",null)})),i._context._scrollZoom.geo||a.on("wheel.zoom",null)):"select"!==o&&"lasso"!==o||(a.on(".zoom",null),c.prepFn=function(t,e,r){m(t,e,r,c,o)},y.init(c)),a.on("mousemove",(function(){var t=r.projection.invert(u.getPositionFromD3Event());if(!t)return y.unhover(i,n.event);r.xaxis.p2c=function(){return t[0]},r.yaxis.p2c=function(){return t[1]},p.hover(i,n.event,r.id)})),a.on("mouseout",(function(){i._dragging||y.unhover(i,n.event)})),a.on("click",(function(){"select"!==o&&"lasso"!==o&&(s.indexOf("select")>-1&&b(n.event,i,[r.xaxis],[r.yaxis],r.id,c),s.indexOf("event")>-1&&p.click(i,n.event))}))}function f(t){return r.projection.invert([t[0]+r.xaxis._offset,t[1]+r.yaxis._offset])}},S.makeFramework=function(){var t=this,e=t.graphDiv,r=e._fullLayout,i="clip"+r._uid+t.id;t.clipDef=r._clips.append("clipPath").attr("id",i),t.clipRect=t.clipDef.append("rect"),t.framework=n.select(t.container).append("g").attr("class","geo "+t.id).call(h.setClipUrl,i,e),t.project=function(e){var r=t.projection(e);return r?[r[0]-t.xaxis._offset,r[1]-t.yaxis._offset]:[null,null]},t.xaxis={_id:"x",c2p:function(e){return t.project(e)[0]}},t.yaxis={_id:"y",c2p:function(e){return t.project(e)[1]}},t.mockAxis={type:"linear",showexponent:"all",exponentformat:"B"},v.setConvert(t.mockAxis,r)},S.saveViewInitial=function(t){var e,r=t.center||{},n=t.projection,i=n.rotation||{};this.viewInitial={fitbounds:t.fitbounds,"projection.scale":n.scale},e=t._isScoped?{"center.lon":r.lon,"center.lat":r.lat}:t._isClipped?{"projection.rotation.lon":i.lon,"projection.rotation.lat":i.lat}:{"center.lon":r.lon,"center.lat":r.lat,"projection.rotation.lon":i.lon},u.extendFlat(this.viewInitial,e)},S.render=function(t){this._hasMarkerAngles&&t?this.plot(this._geoCalcData,this._fullLayout,[],!0):this._render()},S._render=function(){var t,e=this.projection,r=e.getPath();function n(t){var r=e(t.lonlat);return r?c(r[0],r[1]):null}function i(t){return e.isLonLatOverEdges(t.lonlat)?"none":null}for(t in this.basePaths)this.basePaths[t].attr("d",r);for(t in this.dataPaths)this.dataPaths[t].attr("d",(function(t){return r(t.geojson)}));for(t in this.dataPoints)this.dataPoints[t].attr("display",i).attr("transform",n)}},44622:function(t,e,r){"use strict";var n=r(27659).AU,i=r(71828).counterRegex,a=r(69082),o="geo",s=i(o),l={};l.geo={valType:"subplotid",dflt:o,editType:"calc"},t.exports={attr:o,name:o,idRoot:o,idRegex:s,attrRegex:s,attributes:l,layoutAttributes:r(77519),supplyLayoutDefaults:r(82161),plot:function(t){for(var e=t._fullLayout,r=t.calcdata,i=e._subplots.geo,s=0;s<i.length;s++){var l=i[s],u=n(r,o,l),c=e[l]._subplot;c||(c=a({id:l,graphDiv:t,container:e._geolayer.node(),topojsonURL:t._context.topojsonURL,staticPlot:t._context.staticPlot}),e[l]._subplot=c),c.plot(u,e,t._promises)}},updateFx:function(t){for(var e=t._fullLayout,r=e._subplots.geo,n=0;n<r.length;n++){var i=e[r[n]];i._subplot.updateFx(e,i)}},clean:function(t,e,r,n){for(var i=n._subplots.geo||[],a=0;a<i.length;a++){var o=i[a],s=n[o]._subplot;!e[o]&&s&&(s.framework.remove(),s.clipDef.remove())}}}},77519:function(t,e,r){"use strict";var n=r(22399),i=r(27670).Y,a=r(79952).P,o=r(78776),s=r(30962).overrideAll,l=r(78607),u={range:{valType:"info_array",items:[{valType:"number"},{valType:"number"}]},showgrid:{valType:"boolean",dflt:!1},tick0:{valType:"number",dflt:0},dtick:{valType:"number"},gridcolor:{valType:"color",dflt:n.lightLine},gridwidth:{valType:"number",min:0,dflt:1},griddash:a};(t.exports=s({domain:i({name:"geo"},{}),fitbounds:{valType:"enumerated",values:[!1,"locations","geojson"],dflt:!1,editType:"plot"},resolution:{valType:"enumerated",values:[110,50],dflt:110,coerceNumber:!0},scope:{valType:"enumerated",values:l(o.scopeDefaults),dflt:"world"},projection:{type:{valType:"enumerated",values:l(o.projNames)},rotation:{lon:{valType:"number"},lat:{valType:"number"},roll:{valType:"number"}},tilt:{valType:"number",dflt:0},distance:{valType:"number",min:1.001,dflt:2},parallels:{valType:"info_array",items:[{valType:"number"},{valType:"number"}]},scale:{valType:"number",min:0,dflt:1}},center:{lon:{valType:"number"},lat:{valType:"number"}},visible:{valType:"boolean",dflt:!0},showcoastlines:{valType:"boolean"},coastlinecolor:{valType:"color",dflt:n.defaultLine},coastlinewidth:{valType:"number",min:0,dflt:1},showland:{valType:"boolean",dflt:!1},landcolor:{valType:"color",dflt:o.landColor},showocean:{valType:"boolean",dflt:!1},oceancolor:{valType:"color",dflt:o.waterColor},showlakes:{valType:"boolean",dflt:!1},lakecolor:{valType:"color",dflt:o.waterColor},showrivers:{valType:"boolean",dflt:!1},rivercolor:{valType:"color",dflt:o.waterColor},riverwidth:{valType:"number",min:0,dflt:1},showcountries:{valType:"boolean"},countrycolor:{valType:"color",dflt:n.defaultLine},countrywidth:{valType:"number",min:0,dflt:1},showsubunits:{valType:"boolean"},subunitcolor:{valType:"color",dflt:n.defaultLine},subunitwidth:{valType:"number",min:0,dflt:1},showframe:{valType:"boolean"},framecolor:{valType:"color",dflt:n.defaultLine},framewidth:{valType:"number",min:0,dflt:1},bgcolor:{valType:"color",dflt:n.background},lonaxis:u,lataxis:u},"plot","from-root")).uirevision={valType:"any",editType:"none"}},82161:function(t,e,r){"use strict";var n=r(71828),i=r(49119),a=r(27659).NG,o=r(78776),s=r(77519),l=o.axesNames;function u(t,e,r,i){var s=a(i.fullData,"geo",i.id).map((function(t){return t._expandedIndex})),u=r("resolution"),c=r("scope"),f=o.scopeDefaults[c],h=r("projection.type",f.projType),p=e._isAlbersUsa="albers usa"===h;p&&(c=e.scope="usa");var d=e._isScoped="world"!==c,v=e._isSatellite="satellite"===h,g=e._isConic=-1!==h.indexOf("conic")||"albers"===h,y=e._isClipped=!!o.lonaxisSpan[h];if(!1===t.visible){var m=n.extendDeep({},e._template);m.showcoastlines=!1,m.showcountries=!1,m.showframe=!1,m.showlakes=!1,m.showland=!1,m.showocean=!1,m.showrivers=!1,m.showsubunits=!1,m.lonaxis&&(m.lonaxis.showgrid=!1),m.lataxis&&(m.lataxis.showgrid=!1),e._template=m}for(var x=r("visible"),b=0;b<l.length;b++){var _,w=l[b],T=[30,10][b];if(d)_=f[w+"Range"];else{var k=o[w+"Span"],A=(k[h]||k["*"])/2,M=r("projection.rotation."+w.substr(0,3),f.projRotate[b]);_=[M-A,M+A]}var S=r(w+".range",_);r(w+".tick0"),r(w+".dtick",T),r(w+".showgrid",!!x&&void 0)&&(r(w+".gridcolor"),r(w+".gridwidth"),r(w+".griddash")),e[w]._ax={type:"linear",_id:w.slice(0,3),_traceIndices:s,setScale:n.identity,c2l:n.identity,r2l:n.identity,autorange:!0,range:S.slice(),_m:1,_input:{}}}var E=e.lonaxis.range,L=e.lataxis.range,C=E[0],P=E[1];C>0&&P<0&&(P+=360);var O,I,D,z=(C+P)/2;if(!p){var R=d?f.projRotate:[z,0,0];O=r("projection.rotation.lon",R[0]),r("projection.rotation.lat",R[1]),r("projection.rotation.roll",R[2]),r("showcoastlines",!d&&x)&&(r("coastlinecolor"),r("coastlinewidth")),r("showocean",!!x&&void 0)&&r("oceancolor")}p?(I=-96.6,D=38.7):(I=d?z:O,D=(L[0]+L[1])/2),r("center.lon",I),r("center.lat",D),v&&(r("projection.tilt"),r("projection.distance")),g&&r("projection.parallels",f.projParallels||[0,60]),r("projection.scale"),r("showland",!!x&&void 0)&&r("landcolor"),r("showlakes",!!x&&void 0)&&r("lakecolor"),r("showrivers",!!x&&void 0)&&(r("rivercolor"),r("riverwidth")),r("showcountries",d&&"usa"!==c&&x)&&(r("countrycolor"),r("countrywidth")),("usa"===c||"north america"===c&&50===u)&&(r("showsubunits",x),r("subunitcolor"),r("subunitwidth")),d||r("showframe",x)&&(r("framecolor"),r("framewidth")),r("bgcolor"),r("fitbounds")&&(delete e.projection.scale,d?(delete e.center.lon,delete e.center.lat):y?(delete e.center.lon,delete e.center.lat,delete e.projection.rotation.lon,delete e.projection.rotation.lat,delete e.lonaxis.range,delete e.lataxis.range):(delete e.center.lon,delete e.center.lat,delete e.projection.rotation.lon))}t.exports=function(t,e,r){i(t,e,r,{type:"geo",attributes:s,handleDefaults:u,fullData:r,partition:"y"})}},74455:function(t,e,r){"use strict";var n=r(39898),i=r(71828),a=r(73972),o=Math.PI/180,s=180/Math.PI,l={cursor:"pointer"},u={cursor:"auto"};function c(t,e){return n.behavior.zoom().translate(e.translate()).scale(e.scale())}function f(t,e,r){var n=t.id,o=t.graphDiv,s=o.layout,l=s[n],u=o._fullLayout,c=u[n],f={},h={};function p(t,e){f[n+"."+t]=i.nestedProperty(l,t).get(),a.call("_storeDirectGUIEdit",s,u._preGUI,f);var r=i.nestedProperty(c,t);r.get()!==e&&(r.set(e),i.nestedProperty(l,t).set(e),h[n+"."+t]=e)}r(p),p("projection.scale",e.scale()/t.fitScale),p("fitbounds",!1),o.emit("plotly_relayout",h)}function h(t,e){var r=c(0,e);function i(r){var n=e.invert(t.midPt);r("center.lon",n[0]),r("center.lat",n[1])}return r.on("zoomstart",(function(){n.select(this).style(l)})).on("zoom",(function(){e.scale(n.event.scale).translate(n.event.translate),t.render(!0);var r=e.invert(t.midPt);t.graphDiv.emit("plotly_relayouting",{"geo.projection.scale":e.scale()/t.fitScale,"geo.center.lon":r[0],"geo.center.lat":r[1]})})).on("zoomend",(function(){n.select(this).style(u),f(t,e,i)})),r}function p(t,e){var r,i,a,o,s,h,p,d,v,g=c(0,e);function y(t){return e.invert(t)}function m(r){var n=e.rotate(),i=e.invert(t.midPt);r("projection.rotation.lon",-n[0]),r("center.lon",i[0]),r("center.lat",i[1])}return g.on("zoomstart",(function(){n.select(this).style(l),r=n.mouse(this),i=e.rotate(),a=e.translate(),o=i,s=y(r)})).on("zoom",(function(){if(h=n.mouse(this),function(t){var r=y(t);if(!r)return!0;var n=e(r);return Math.abs(n[0]-t[0])>2||Math.abs(n[1]-t[1])>2}(r))return g.scale(e.scale()),void g.translate(e.translate());e.scale(n.event.scale),e.translate([a[0],n.event.translate[1]]),s?y(h)&&(d=y(h),p=[o[0]+(d[0]-s[0]),i[1],i[2]],e.rotate(p),o=p):s=y(r=h),v=!0,t.render(!0);var l=e.rotate(),u=e.invert(t.midPt);t.graphDiv.emit("plotly_relayouting",{"geo.projection.scale":e.scale()/t.fitScale,"geo.center.lon":u[0],"geo.center.lat":u[1],"geo.projection.rotation.lon":-l[0]})})).on("zoomend",(function(){n.select(this).style(u),v&&f(t,e,m)})),g}function d(t,e){var r,i={r:e.rotate(),k:e.scale()},a=c(0,e),o=function(t){for(var e=0,r=arguments.length,i=[];++e<r;)i.push(arguments[e]);var a=n.dispatch.apply(null,i);return a.of=function(e,r){return function(i){var o;try{o=i.sourceEvent=n.event,i.target=t,n.event=i,a[i.type].apply(e,r)}finally{n.event=o}}},a}(a,"zoomstart","zoom","zoomend"),s=0,h=a.on;function p(t){s++||t({type:"zoomstart"})}function d(t){t({type:"zoom"})}function b(t){--s||t({type:"zoomend"})}function _(t){var r=e.rotate();t("projection.rotation.lon",-r[0]),t("projection.rotation.lat",-r[1])}return a.on("zoomstart",(function(){n.select(this).style(l);var t=n.mouse(this),s=e.rotate(),u=s,c=e.translate(),f=g(s);r=v(e,t),h.call(a,"zoom",(function(){var a=n.mouse(this);if(e.scale(i.k=n.event.scale),r){if(v(e,a)){e.rotate(s).translate(c);var l=v(e,a),h=m(r,l),p=T(y(f,h)),g=i.r=x(p,r,u);isFinite(g[0])&&isFinite(g[1])&&isFinite(g[2])||(g=u),e.rotate(g),u=g}}else r=v(e,t=a);d(o.of(this,arguments))})),p(o.of(this,arguments))})).on("zoomend",(function(){n.select(this).style(u),h.call(a,"zoom",null),b(o.of(this,arguments)),f(t,e,_)})).on("zoom.redraw",(function(){t.render(!0);var r=e.rotate();t.graphDiv.emit("plotly_relayouting",{"geo.projection.scale":e.scale()/t.fitScale,"geo.projection.rotation.lon":-r[0],"geo.projection.rotation.lat":-r[1]})})),n.rebind(a,o,"on")}function v(t,e){var r=t.invert(e);return r&&isFinite(r[0])&&isFinite(r[1])&&function(t){var e=t[0]*o,r=t[1]*o,n=Math.cos(r);return[n*Math.cos(e),n*Math.sin(e),Math.sin(r)]}(r)}function g(t){var e=.5*t[0]*o,r=.5*t[1]*o,n=.5*t[2]*o,i=Math.sin(e),a=Math.cos(e),s=Math.sin(r),l=Math.cos(r),u=Math.sin(n),c=Math.cos(n);return[a*l*c+i*s*u,i*l*c-a*s*u,a*s*c+i*l*u,a*l*u-i*s*c]}function y(t,e){var r=t[0],n=t[1],i=t[2],a=t[3],o=e[0],s=e[1],l=e[2],u=e[3];return[r*o-n*s-i*l-a*u,r*s+n*o+i*u-a*l,r*l-n*u+i*o+a*s,r*u+n*l-i*s+a*o]}function m(t,e){if(t&&e){var r=function(t,e){return[t[1]*e[2]-t[2]*e[1],t[2]*e[0]-t[0]*e[2],t[0]*e[1]-t[1]*e[0]]}(t,e),n=Math.sqrt(k(r,r)),i=.5*Math.acos(Math.max(-1,Math.min(1,k(t,e)))),a=Math.sin(i)/n;return n&&[Math.cos(i),r[2]*a,-r[1]*a,r[0]*a]}}function x(t,e,r){var n=w(e,2,t[0]);n=w(n,1,t[1]),n=w(n,0,t[2]-r[2]);var i,a,o=e[0],l=e[1],u=e[2],c=n[0],f=n[1],h=n[2],p=Math.atan2(l,o)*s,d=Math.sqrt(o*o+l*l);Math.abs(f)>d?(a=(f>0?90:-90)-p,i=0):(a=Math.asin(f/d)*s-p,i=Math.sqrt(d*d-f*f));var v=180-a-2*p,g=(Math.atan2(h,c)-Math.atan2(u,i))*s,y=(Math.atan2(h,c)-Math.atan2(u,-i))*s;return b(r[0],r[1],a,g)<=b(r[0],r[1],v,y)?[a,g,r[2]]:[v,y,r[2]]}function b(t,e,r,n){var i=_(r-t),a=_(n-e);return Math.sqrt(i*i+a*a)}function _(t){return(t%360+540)%360-180}function w(t,e,r){var n=r*o,i=t.slice(),a=0===e?1:0,s=2===e?1:2,l=Math.cos(n),u=Math.sin(n);return i[a]=t[a]*l-t[s]*u,i[s]=t[s]*l+t[a]*u,i}function T(t){return[Math.atan2(2*(t[0]*t[1]+t[2]*t[3]),1-2*(t[1]*t[1]+t[2]*t[2]))*s,Math.asin(Math.max(-1,Math.min(1,2*(t[0]*t[2]-t[3]*t[1]))))*s,Math.atan2(2*(t[0]*t[3]+t[1]*t[2]),1-2*(t[2]*t[2]+t[3]*t[3]))*s]}function k(t,e){for(var r=0,n=0,i=t.length;n<i;++n)r+=t[n]*e[n];return r}t.exports=function(t,e){var r=t.projection;return(e._isScoped?h:e._isClipped?d:p)(t,r)}},27659:function(t,e,r){"use strict";var n=r(73972),i=r(85555).SUBPLOT_PATTERN;e.AU=function(t,e,r){var i=n.subplotsRegistry[e];if(!i)return[];for(var a=i.attr,o=[],s=0;s<t.length;s++){var l=t[s];l[0].trace[a]===r&&o.push(l)}return o},e.a0=function(t,e){var r,i=[],a=[];if(!(r="string"==typeof e?n.getModule(e).plot:"function"==typeof e?e:e.plot))return[i,t];for(var o=0;o<t.length;o++){var s=t[o],l=s[0].trace;!0===l.visible&&0!==l._length&&(l._module.plot===r?i.push(s):a.push(s))}return[i,a]},e.NG=function(t,e,r){if(!n.subplotsRegistry[e])return[];var a,o,s,l=n.subplotsRegistry[e].attr,u=[];if("gl2d"===e){var c=r.match(i);o="x"+c[1],s="y"+c[2]}for(var f=0;f<t.length;f++)a=t[f],"gl2d"===e&&n.traceIs(a,"gl2d")?a[l[0]]===o&&a[l[1]]===s&&u.push(a):a[l]===r&&u.push(a);return u}},75071:function(t,e,r){"use strict";var n=r(16825),i=r(1195),a=r(48956),o=r(85555),s=r(38520);function l(t,e){this.element=t,this.plot=e,this.mouseListener=null,this.wheelListener=null,this.lastInputTime=Date.now(),this.lastPos=[0,0],this.boxEnabled=!1,this.boxInited=!1,this.boxStart=[0,0],this.boxEnd=[0,0],this.dragStart=[0,0]}t.exports=function(t){var e=t.mouseContainer,r=t.glplot,u=new l(e,r);function c(){t.xaxis.autorange=!1,t.yaxis.autorange=!1}function f(e,n,i){var a,s,l=t.calcDataBox(),f=r.viewBox,h=u.lastPos[0],p=u.lastPos[1],d=o.MINDRAG*r.pixelRatio,v=o.MINZOOM*r.pixelRatio;function g(e,r,n){var i=Math.min(r,n),a=Math.max(r,n);i!==a?(l[e]=i,l[e+2]=a,u.dataBox=l,t.setRanges(l)):(t.selectBox.selectBox=[0,0,1,1],t.glplot.setDirty())}switch(n*=r.pixelRatio,i*=r.pixelRatio,i=f[3]-f[1]-i,t.fullLayout.dragmode){case"zoom":if(e){var y=n/(f[2]-f[0])*(l[2]-l[0])+l[0],m=i/(f[3]-f[1])*(l[3]-l[1])+l[1];u.boxInited||(u.boxStart[0]=y,u.boxStart[1]=m,u.dragStart[0]=n,u.dragStart[1]=i),u.boxEnd[0]=y,u.boxEnd[1]=m,u.boxInited=!0,u.boxEnabled||u.boxStart[0]===u.boxEnd[0]&&u.boxStart[1]===u.boxEnd[1]||(u.boxEnabled=!0);var x=Math.abs(u.dragStart[0]-n)<v,b=Math.abs(u.dragStart[1]-i)<v;if(!function(){for(var e=t.graphDiv._fullLayout._axisConstraintGroups,r=t.xaxis._id,n=t.yaxis._id,i=0;i<e.length;i++)if(-1!==e[i][r]){if(-1!==e[i][n])return!0;break}return!1}()||x&&b)x&&(u.boxEnd[0]=u.boxStart[0]),b&&(u.boxEnd[1]=u.boxStart[1]);else{a=u.boxEnd[0]-u.boxStart[0],s=u.boxEnd[1]-u.boxStart[1];var _=(l[3]-l[1])/(l[2]-l[0]);Math.abs(a*_)>Math.abs(s)?(u.boxEnd[1]=u.boxStart[1]+Math.abs(a)*_*(s>=0?1:-1),u.boxEnd[1]<l[1]?(u.boxEnd[1]=l[1],u.boxEnd[0]=u.boxStart[0]+(l[1]-u.boxStart[1])/Math.abs(_)):u.boxEnd[1]>l[3]&&(u.boxEnd[1]=l[3],u.boxEnd[0]=u.boxStart[0]+(l[3]-u.boxStart[1])/Math.abs(_))):(u.boxEnd[0]=u.boxStart[0]+Math.abs(s)/_*(a>=0?1:-1),u.boxEnd[0]<l[0]?(u.boxEnd[0]=l[0],u.boxEnd[1]=u.boxStart[1]+(l[0]-u.boxStart[0])*Math.abs(_)):u.boxEnd[0]>l[2]&&(u.boxEnd[0]=l[2],u.boxEnd[1]=u.boxStart[1]+(l[2]-u.boxStart[0])*Math.abs(_)))}}else u.boxEnabled?(a=u.boxStart[0]!==u.boxEnd[0],s=u.boxStart[1]!==u.boxEnd[1],a||s?(a&&(g(0,u.boxStart[0],u.boxEnd[0]),t.xaxis.autorange=!1),s&&(g(1,u.boxStart[1],u.boxEnd[1]),t.yaxis.autorange=!1),t.relayoutCallback()):t.glplot.setDirty(),u.boxEnabled=!1,u.boxInited=!1):u.boxInited&&(u.boxInited=!1);break;case"pan":u.boxEnabled=!1,u.boxInited=!1,e?(u.panning||(u.dragStart[0]=n,u.dragStart[1]=i),Math.abs(u.dragStart[0]-n)<d&&(n=u.dragStart[0]),Math.abs(u.dragStart[1]-i)<d&&(i=u.dragStart[1]),a=(h-n)*(l[2]-l[0])/(r.viewBox[2]-r.viewBox[0]),s=(p-i)*(l[3]-l[1])/(r.viewBox[3]-r.viewBox[1]),l[0]+=a,l[2]+=a,l[1]+=s,l[3]+=s,t.setRanges(l),u.panning=!0,u.lastInputTime=Date.now(),c(),t.cameraChanged(),t.handleAnnotations()):u.panning&&(u.panning=!1,t.relayoutCallback())}u.lastPos[0]=n,u.lastPos[1]=i}return u.mouseListener=n(e,f),e.addEventListener("touchstart",(function(t){var r=a(t.changedTouches[0],e);f(0,r[0],r[1]),f(1,r[0],r[1]),t.preventDefault()}),!!s&&{passive:!1}),e.addEventListener("touchmove",(function(t){t.preventDefault();var r=a(t.changedTouches[0],e);f(1,r[0],r[1]),t.preventDefault()}),!!s&&{passive:!1}),e.addEventListener("touchend",(function(t){f(0,u.lastPos[0],u.lastPos[1]),t.preventDefault()}),!!s&&{passive:!1}),u.wheelListener=i(e,(function(e,n){if(!t.scrollZoom)return!1;var i=t.calcDataBox(),a=r.viewBox,o=u.lastPos[0],s=u.lastPos[1],l=Math.exp(5*n/(a[3]-a[1])),f=o/(a[2]-a[0])*(i[2]-i[0])+i[0],h=s/(a[3]-a[1])*(i[3]-i[1])+i[1];return i[0]=(i[0]-f)*l+f,i[2]=(i[2]-f)*l+f,i[1]=(i[1]-h)*l+h,i[3]=(i[3]-h)*l+h,t.setRanges(i),u.lastInputTime=Date.now(),c(),t.cameraChanged(),t.handleAnnotations(),t.relayoutCallback(),!0}),!0),u}},82961:function(t,e,r){"use strict";var n=r(89298),i=r(78614);function a(t){this.scene=t,this.gl=t.gl,this.pixelRatio=t.pixelRatio,this.screenBox=[0,0,1,1],this.viewBox=[0,0,1,1],this.dataBox=[-1,-1,1,1],this.borderLineEnable=[!1,!1,!1,!1],this.borderLineWidth=[1,1,1,1],this.borderLineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.ticks=[[],[]],this.tickEnable=[!0,!0,!1,!1],this.tickPad=[15,15,15,15],this.tickAngle=[0,0,0,0],this.tickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.tickMarkLength=[0,0,0,0],this.tickMarkWidth=[0,0,0,0],this.tickMarkColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.labels=["x","y"],this.labelEnable=[!0,!0,!1,!1],this.labelAngle=[0,Math.PI/2,0,3*Math.PI/2],this.labelPad=[15,15,15,15],this.labelSize=[12,12],this.labelFont=["sans-serif","sans-serif"],this.labelColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.title="",this.titleEnable=!0,this.titleCenter=[0,0,0,0],this.titleAngle=0,this.titleColor=[0,0,0,1],this.titleFont="sans-serif",this.titleSize=18,this.gridLineEnable=[!0,!0],this.gridLineColor=[[0,0,0,.5],[0,0,0,.5]],this.gridLineWidth=[1,1],this.zeroLineEnable=[!0,!0],this.zeroLineWidth=[1,1],this.zeroLineColor=[[0,0,0,1],[0,0,0,1]],this.borderColor=[0,0,0,0],this.backgroundColor=[0,0,0,0],this.static=this.scene.staticPlot}var o=a.prototype,s=["xaxis","yaxis"];o.merge=function(t){var e,r,n,a,o,l,u,c,f,h,p;for(this.titleEnable=!1,this.backgroundColor=i(t.plot_bgcolor),h=0;h<2;++h){var d=(e=s[h]).charAt(0);for(n=(r=t[this.scene[e]._name]).title.text===this.scene.fullLayout._dfltTitle[d]?"":r.title.text,p=0;p<=2;p+=2)this.labelEnable[h+p]=!1,this.labels[h+p]=n,this.labelColor[h+p]=i(r.title.font.color),this.labelFont[h+p]=r.title.font.family,this.labelSize[h+p]=r.title.font.size,this.labelPad[h+p]=this.getLabelPad(e,r),this.tickEnable[h+p]=!1,this.tickColor[h+p]=i((r.tickfont||{}).color),this.tickAngle[h+p]="auto"===r.tickangle?0:Math.PI*-r.tickangle/180,this.tickPad[h+p]=this.getTickPad(r),this.tickMarkLength[h+p]=0,this.tickMarkWidth[h+p]=r.tickwidth||0,this.tickMarkColor[h+p]=i(r.tickcolor),this.borderLineEnable[h+p]=!1,this.borderLineColor[h+p]=i(r.linecolor),this.borderLineWidth[h+p]=r.linewidth||0;u=this.hasSharedAxis(r),o=this.hasAxisInDfltPos(e,r)&&!u,l=this.hasAxisInAltrPos(e,r)&&!u,a=r.mirror||!1,c=u?-1!==String(a).indexOf("all"):!!a,f=u?"allticks"===a:-1!==String(a).indexOf("ticks"),o?this.labelEnable[h]=!0:l&&(this.labelEnable[h+2]=!0),o?this.tickEnable[h]=r.showticklabels:l&&(this.tickEnable[h+2]=r.showticklabels),(o||c)&&(this.borderLineEnable[h]=r.showline),(l||c)&&(this.borderLineEnable[h+2]=r.showline),(o||f)&&(this.tickMarkLength[h]=this.getTickMarkLength(r)),(l||f)&&(this.tickMarkLength[h+2]=this.getTickMarkLength(r)),this.gridLineEnable[h]=r.showgrid,this.gridLineColor[h]=i(r.gridcolor),this.gridLineWidth[h]=r.gridwidth,this.zeroLineEnable[h]=r.zeroline,this.zeroLineColor[h]=i(r.zerolinecolor),this.zeroLineWidth[h]=r.zerolinewidth}},o.hasSharedAxis=function(t){var e=this.scene,r=e.fullLayout._subplots.gl2d;return 0!==n.findSubplotsWithAxis(r,t).indexOf(e.id)},o.hasAxisInDfltPos=function(t,e){var r=e.side;return"xaxis"===t?"bottom"===r:"yaxis"===t?"left"===r:void 0},o.hasAxisInAltrPos=function(t,e){var r=e.side;return"xaxis"===t?"top"===r:"yaxis"===t?"right"===r:void 0},o.getLabelPad=function(t,e){var r=1.5,n=e.title.font.size,i=e.showticklabels;return"xaxis"===t?"top"===e.side?n*(r+(i?1:0))-10:n*(r+(i?.5:0))-10:"yaxis"===t?"right"===e.side?10+n*(r+(i?1:.5)):10+n*(r+(i?.5:0)):void 0},o.getTickPad=function(t){return"outside"===t.ticks?10+t.ticklen:15},o.getTickMarkLength=function(t){if(!t.ticks)return 0;var e=t.ticklen;return"inside"===t.ticks?-e:e},t.exports=function(t){return new a(t)}},4796:function(t,e,r){"use strict";var n=r(30962).overrideAll,i=r(92918),a=r(10820),o=r(77922),s=r(85555),l=r(93612),u=r(528),c=r(27659).NG;e.name="gl2d",e.attr=["xaxis","yaxis"],e.idRoot=["x","y"],e.idRegex=s.idRegex,e.attrRegex=s.attrRegex,e.attributes=r(89502),e.supplyLayoutDefaults=function(t,e,r){e._has("cartesian")||l.supplyLayoutDefaults(t,e,r)},e.layoutAttrOverrides=n(l.layoutAttributes,"plot","from-root"),e.baseLayoutAttrOverrides=n({plot_bgcolor:a.plot_bgcolor,hoverlabel:u.hoverlabel},"plot","nested"),e.plot=function(t){for(var e=t._fullLayout,r=t._fullData,n=e._subplots.gl2d,a=0;a<n.length;a++){var o=n[a],s=e._plots[o],l=c(r,"gl2d",o),u=s._scene2d;void 0===u&&(u=new i({id:o,graphDiv:t,container:t.querySelector(".gl-container"),staticPlot:t._context.staticPlot,plotGlPixelRatio:t._context.plotGlPixelRatio},e),s._scene2d=u),u.plot(l,t.calcdata,e,t.layout)}},e.clean=function(t,e,r,n){for(var i=n._subplots.gl2d||[],a=0;a<i.length;a++){var o=i[a],s=n._plots[o];if(s._scene2d){var u=c(t,"gl2d",o);0===u.length&&(s._scene2d.destroy(),delete n._plots[o])}}l.clean.apply(this,arguments)},e.drawFramework=function(t){t._context.staticPlot||l.drawFramework(t)},e.toSVG=function(t){for(var e=t._fullLayout,r=e._subplots.gl2d,n=0;n<r.length;n++){var i=e._plots[r[n]]._scene2d,a=i.toImage("png");e._glimages.append("svg:image").attr({xmlns:o.svg,"xlink:href":a,x:0,y:0,width:"100%",height:"100%",preserveAspectRatio:"none"}),i.destroy()}},e.updateFx=function(t){for(var e=t._fullLayout,r=e._subplots.gl2d,n=0;n<r.length;n++)e._plots[r[n]]._scene2d.updateFx(e.dragmode)}},92918:function(t,e,r){"use strict";var n,i,a=r(73972),o=r(89298),s=r(30211),l=r(9330).gl_plot2d,u=r(9330).gl_spikes2d,c=r(9330).gl_select_box,f=r(40372),h=r(82961),p=r(75071),d=r(58617),v=r(99082),g=v.enforce,y=v.clean,m=r(71739).doAutoRange,x=r(64505),b=x.drawMode,_=x.selectMode,w=["xaxis","yaxis"],T=r(85555).SUBPLOT_PATTERN;function k(t,e){this.container=t.container,this.graphDiv=t.graphDiv,this.pixelRatio=t.plotGlPixelRatio||window.devicePixelRatio,this.id=t.id,this.staticPlot=!!t.staticPlot,this.scrollZoom=this.graphDiv._context._scrollZoom.cartesian,this.fullData=null,this.updateRefs(e),this.makeFramework(),this.stopped||(this.glplotOptions=h(this),this.glplotOptions.merge(e),this.glplot=l(this.glplotOptions),this.camera=p(this),this.traces={},this.spikes=u(this.glplot),this.selectBox=c(this.glplot,{innerFill:!1,outerFill:!0}),this.lastButtonState=0,this.pickResult=null,this.isMouseOver=!0,this.stopped=!1,this.redraw=this.draw.bind(this),this.redraw())}t.exports=k;var A=k.prototype;A.makeFramework=function(){if(this.staticPlot){if(!(i||(n=document.createElement("canvas"),i=f({canvas:n,preserveDrawingBuffer:!1,premultipliedAlpha:!0,antialias:!0}))))throw new Error("Error creating static canvas/context for image server");this.canvas=n,this.gl=i}else{var t=this.container.querySelector(".gl-canvas-focus"),e=f({canvas:t,preserveDrawingBuffer:!0,premultipliedAlpha:!0});if(!e)return d(this),void(this.stopped=!0);this.canvas=t,this.gl=e}var r=this.canvas;r.style.width="100%",r.style.height="100%",r.style.position="absolute",r.style.top="0px",r.style.left="0px",r.style["pointer-events"]="none",this.updateSize(r);var a=this.svgContainer=document.createElementNS("http://www.w3.org/2000/svg","svg");a.style.position="absolute",a.style.top=a.style.left="0px",a.style.width=a.style.height="100%",a.style["z-index"]=20,a.style["pointer-events"]="none";var o=this.mouseContainer=document.createElement("div");o.style.position="absolute",o.style["pointer-events"]="auto",this.pickCanvas=this.container.querySelector(".gl-canvas-pick");var s=this.container;s.appendChild(a),s.appendChild(o);var l=this;o.addEventListener("mouseout",(function(){l.isMouseOver=!1,l.unhover()})),o.addEventListener("mouseover",(function(){l.isMouseOver=!0}))},A.toImage=function(t){t||(t="png"),this.stopped=!0,this.staticPlot&&this.container.appendChild(n),this.updateSize(this.canvas);var e=this.glplot.gl,r=e.drawingBufferWidth,i=e.drawingBufferHeight;e.clearColor(1,1,1,0),e.clear(e.COLOR_BUFFER_BIT|e.DEPTH_BUFFER_BIT),this.glplot.setDirty(),this.glplot.draw(),e.bindFramebuffer(e.FRAMEBUFFER,null);var a=new Uint8Array(r*i*4);e.readPixels(0,0,r,i,e.RGBA,e.UNSIGNED_BYTE,a);for(var o=0,s=i-1;o<s;++o,--s)for(var l=0;l<r;++l)for(var u=0;u<4;++u){var c=a[4*(r*o+l)+u];a[4*(r*o+l)+u]=a[4*(r*s+l)+u],a[4*(r*s+l)+u]=c}var f=document.createElement("canvas");f.width=r,f.height=i;var h,p=f.getContext("2d",{willReadFrequently:!0}),d=p.createImageData(r,i);switch(d.data.set(a),p.putImageData(d,0,0),t){case"jpeg":h=f.toDataURL("image/jpeg");break;case"webp":h=f.toDataURL("image/webp");break;default:h=f.toDataURL("image/png")}return this.staticPlot&&this.container.removeChild(n),h},A.updateSize=function(t){t||(t=this.canvas);var e=this.pixelRatio,r=this.fullLayout,n=r.width,i=r.height,a=0|Math.ceil(e*n),o=0|Math.ceil(e*i);return t.width===a&&t.height===o||(t.width=a,t.height=o),t},A.computeTickMarks=function(){this.xaxis.setScale(),this.yaxis.setScale();for(var t=[o.calcTicks(this.xaxis),o.calcTicks(this.yaxis)],e=0;e<2;++e)for(var r=0;r<t[e].length;++r)t[e][r].text=t[e][r].text+"";return t},A.updateRefs=function(t){this.fullLayout=t;var e=this.id.match(T),r="xaxis"+e[1],n="yaxis"+e[2];this.xaxis=this.fullLayout[r],this.yaxis=this.fullLayout[n]},A.relayoutCallback=function(){var t=this.graphDiv,e=this.xaxis,r=this.yaxis,n=t.layout,i={},o=i[e._name+".range"]=e.range.slice(),s=i[r._name+".range"]=r.range.slice();i[e._name+".autorange"]=e.autorange,i[r._name+".autorange"]=r.autorange,a.call("_storeDirectGUIEdit",t.layout,t._fullLayout._preGUI,i);var l=n[e._name];l.range=o,l.autorange=e.autorange;var u=n[r._name];u.range=s,u.autorange=r.autorange,i.lastInputTime=this.camera.lastInputTime,t.emit("plotly_relayout",i)},A.cameraChanged=function(){var t=this.camera;this.glplot.setDataBox(this.calcDataBox());var e=this.computeTickMarks();(function(t,e){for(var r=0;r<2;++r){var n=t[r],i=e[r];if(n.length!==i.length)return!0;for(var a=0;a<n.length;++a)if(n[a].x!==i[a].x)return!0}return!1})(e,this.glplotOptions.ticks)&&(this.glplotOptions.ticks=e,this.glplotOptions.dataBox=t.dataBox,this.glplot.update(this.glplotOptions),this.handleAnnotations())},A.handleAnnotations=function(){for(var t=this.graphDiv,e=this.fullLayout.annotations,r=0;r<e.length;r++){var n=e[r];n.xref===this.xaxis._id&&n.yref===this.yaxis._id&&a.getComponentMethod("annotations","drawOne")(t,r)}},A.destroy=function(){if(this.glplot){var t=this.traces;t&&Object.keys(t).map((function(e){t[e].dispose(),delete t[e]})),this.glplot.dispose(),this.container.removeChild(this.svgContainer),this.container.removeChild(this.mouseContainer),this.fullData=null,this.glplot=null,this.stopped=!0,this.camera.mouseListener.enabled=!1,this.mouseContainer.removeEventListener("wheel",this.camera.wheelListener),this.camera=null}},A.plot=function(t,e,r){var n=this.glplot;this.updateRefs(r),this.xaxis.clearCalc(),this.yaxis.clearCalc(),this.updateTraces(t,e),this.updateFx(r.dragmode);var i=r.width,a=r.height;this.updateSize(this.canvas);var o=this.glplotOptions;o.merge(r),o.screenBox=[0,0,i,a];var s={_fullLayout:{_axisConstraintGroups:r._axisConstraintGroups,xaxis:this.xaxis,yaxis:this.yaxis,_size:r._size}};y(s,this.xaxis),y(s,this.yaxis);var l,u,c=r._size,f=this.xaxis.domain,h=this.yaxis.domain;for(o.viewBox=[c.l+f[0]*c.w,c.b+h[0]*c.h,i-c.r-(1-f[1])*c.w,a-c.t-(1-h[1])*c.h],this.mouseContainer.style.width=c.w*(f[1]-f[0])+"px",this.mouseContainer.style.height=c.h*(h[1]-h[0])+"px",this.mouseContainer.height=c.h*(h[1]-h[0]),this.mouseContainer.style.left=c.l+f[0]*c.w+"px",this.mouseContainer.style.top=c.t+(1-h[1])*c.h+"px",u=0;u<2;++u)(l=this[w[u]])._length=o.viewBox[u+2]-o.viewBox[u],m(this.graphDiv,l),l.setScale();g(s),o.ticks=this.computeTickMarks(),o.dataBox=this.calcDataBox(),o.merge(r),n.update(o),this.glplot.draw()},A.calcDataBox=function(){var t=this.xaxis,e=this.yaxis,r=t.range,n=e.range,i=t.r2l,a=e.r2l;return[i(r[0]),a(n[0]),i(r[1]),a(n[1])]},A.setRanges=function(t){var e=this.xaxis,r=this.yaxis,n=e.l2r,i=r.l2r;e.range=[n(t[0]),n(t[2])],r.range=[i(t[1]),i(t[3])]},A.updateTraces=function(t,e){var r,n,i,a=Object.keys(this.traces);this.fullData=t;t:for(r=0;r<a.length;r++){var o=a[r],s=this.traces[o];for(n=0;n<t.length;n++)if((i=t[n]).uid===o&&i.type===s.type)continue t;s.dispose(),delete this.traces[o]}for(r=0;r<t.length;r++){i=t[r];var l=e[r],u=this.traces[i.uid];u?u.update(i,l):(u=i._module.plot(this,i,l),this.traces[i.uid]=u)}this.glplot.objects.sort((function(t,e){return t._trace.index-e._trace.index}))},A.updateFx=function(t){_(t)||b(t)?(this.pickCanvas.style["pointer-events"]="none",this.mouseContainer.style["pointer-events"]="none"):(this.pickCanvas.style["pointer-events"]="auto",this.mouseContainer.style["pointer-events"]="auto"),this.mouseContainer.style.cursor="pan"===t?"move":"zoom"===t?"crosshair":null},A.emitPointAction=function(t,e){for(var r,n=t.trace.uid,i=t.pointIndex,a=0;a<this.fullData.length;a++)this.fullData[a].uid===n&&(r=this.fullData[a]);var o={x:t.traceCoord[0],y:t.traceCoord[1],curveNumber:r.index,pointNumber:i,data:r._input,fullData:this.fullData,xaxis:this.xaxis,yaxis:this.yaxis};s.appendArrayPointValue(o,r,i),this.graphDiv.emit(e,{points:[o]})},A.draw=function(){if(!this.stopped){requestAnimationFrame(this.redraw);var t=this.glplot,e=this.camera,r=e.mouseListener,n=1===this.lastButtonState&&0===r.buttons,i=this.fullLayout;this.lastButtonState=r.buttons,this.cameraChanged();var a,o=r.x*t.pixelRatio,l=this.canvas.height-t.pixelRatio*r.y;if(e.boxEnabled&&"zoom"===i.dragmode){this.selectBox.enabled=!0;for(var u=this.selectBox.selectBox=[Math.min(e.boxStart[0],e.boxEnd[0]),Math.min(e.boxStart[1],e.boxEnd[1]),Math.max(e.boxStart[0],e.boxEnd[0]),Math.max(e.boxStart[1],e.boxEnd[1])],c=0;c<2;c++)e.boxStart[c]===e.boxEnd[c]&&(u[c]=t.dataBox[c],u[c+2]=t.dataBox[c+2]);t.setDirty()}else if(!e.panning&&this.isMouseOver){this.selectBox.enabled=!1;var f=i._size,h=this.xaxis.domain,p=this.yaxis.domain,d=(a=t.pick(o/t.pixelRatio+f.l+h[0]*f.w,l/t.pixelRatio-(f.t+(1-p[1])*f.h)))&&a.object._trace.handlePick(a);if(d&&n&&this.emitPointAction(d,"plotly_click"),a&&"skip"!==a.object._trace.hoverinfo&&i.hovermode&&d&&(!this.lastPickResult||this.lastPickResult.traceUid!==d.trace.uid||this.lastPickResult.dataCoord[0]!==d.dataCoord[0]||this.lastPickResult.dataCoord[1]!==d.dataCoord[1])){var v=d;this.lastPickResult={traceUid:d.trace?d.trace.uid:null,dataCoord:d.dataCoord.slice()},this.spikes.update({center:a.dataCoord}),v.screenCoord=[((t.viewBox[2]-t.viewBox[0])*(a.dataCoord[0]-t.dataBox[0])/(t.dataBox[2]-t.dataBox[0])+t.viewBox[0])/t.pixelRatio,(this.canvas.height-(t.viewBox[3]-t.viewBox[1])*(a.dataCoord[1]-t.dataBox[1])/(t.dataBox[3]-t.dataBox[1])-t.viewBox[1])/t.pixelRatio],this.emitPointAction(d,"plotly_hover");var g=this.fullData[v.trace.index]||{},y=v.pointIndex,m=s.castHoverinfo(g,i,y);if(m&&"all"!==m){var x=m.split("+");-1===x.indexOf("x")&&(v.traceCoord[0]=void 0),-1===x.indexOf("y")&&(v.traceCoord[1]=void 0),-1===x.indexOf("z")&&(v.traceCoord[2]=void 0),-1===x.indexOf("text")&&(v.textLabel=void 0),-1===x.indexOf("name")&&(v.name=void 0)}s.loneHover({x:v.screenCoord[0],y:v.screenCoord[1],xLabel:this.hoverFormatter("xaxis",v.traceCoord[0]),yLabel:this.hoverFormatter("yaxis",v.traceCoord[1]),zLabel:v.traceCoord[2],text:v.textLabel,name:v.name,color:s.castHoverOption(g,y,"bgcolor")||v.color,borderColor:s.castHoverOption(g,y,"bordercolor"),fontFamily:s.castHoverOption(g,y,"font.family"),fontSize:s.castHoverOption(g,y,"font.size"),fontColor:s.castHoverOption(g,y,"font.color"),nameLength:s.castHoverOption(g,y,"namelength"),textAlign:s.castHoverOption(g,y,"align")},{container:this.svgContainer,gd:this.graphDiv})}}a||this.unhover(),t.draw()}},A.unhover=function(){this.lastPickResult&&(this.spikes.update({}),this.lastPickResult=null,this.graphDiv.emit("plotly_unhover"),s.loneUnhover(this.svgContainer))},A.hoverFormatter=function(t,e){if(void 0!==e){var r=this[t];return o.tickText(r,r.c2l(e),"hover").text}}},58547:function(t,e,r){"use strict";var n=r(30962).overrideAll,i=r(528),a=r(33539),o=r(27659).NG,s=r(71828),l=r(77922),u="gl3d",c="scene";e.name=u,e.attr=c,e.idRoot=c,e.idRegex=e.attrRegex=s.counterRegex("scene"),e.attributes=r(59084),e.layoutAttributes=r(65500),e.baseLayoutAttrOverrides=n({hoverlabel:i.hoverlabel},"plot","nested"),e.supplyLayoutDefaults=r(24682),e.plot=function(t){for(var e=t._fullLayout,r=t._fullData,n=e._subplots.gl3d,i=0;i<n.length;i++){var s=n[i],l=o(r,u,s),c=e[s],f=c.camera,h=c._scene;h||(h=new a({id:s,graphDiv:t,container:t.querySelector(".gl-container"),staticPlot:t._context.staticPlot,plotGlPixelRatio:t._context.plotGlPixelRatio,camera:f},e),c._scene=h),h.viewInitial||(h.viewInitial={up:{x:f.up.x,y:f.up.y,z:f.up.z},eye:{x:f.eye.x,y:f.eye.y,z:f.eye.z},center:{x:f.center.x,y:f.center.y,z:f.center.z}}),h.plot(l,e,t.layout)}},e.clean=function(t,e,r,n){for(var i=n._subplots.gl3d||[],a=0;a<i.length;a++){var o=i[a];!e[o]&&n[o]._scene&&(n[o]._scene.destroy(),n._infolayer&&n._infolayer.selectAll(".annotation-"+o).remove())}},e.toSVG=function(t){for(var e=t._fullLayout,r=e._subplots.gl3d,n=e._size,i=0;i<r.length;i++){var a=e[r[i]],o=a.domain,s=a._scene,u=s.toImage("png");e._glimages.append("svg:image").attr({xmlns:l.svg,"xlink:href":u,x:n.l+n.w*o.x[0],y:n.t+n.h*(1-o.y[1]),width:n.w*(o.x[1]-o.x[0]),height:n.h*(o.y[1]-o.y[0]),preserveAspectRatio:"none"}),s.destroy()}},e.cleanId=function(t){if(t.match(/^scene[0-9]*$/)){var e=t.substr(5);return"1"===e&&(e=""),c+e}},e.updateFx=function(t){for(var e=t._fullLayout,r=e._subplots.gl3d,n=0;n<r.length;n++)e[r[n]]._scene.updateFx(e.dragmode,e.hovermode)}},59084:function(t){"use strict";t.exports={scene:{valType:"subplotid",dflt:"scene",editType:"calc+clearAxisTypes"}}},77894:function(t,e,r){"use strict";var n=r(7901),i=r(13838),a=r(1426).extendFlat,o=r(30962).overrideAll;t.exports=o({visible:i.visible,showspikes:{valType:"boolean",dflt:!0},spikesides:{valType:"boolean",dflt:!0},spikethickness:{valType:"number",min:0,dflt:2},spikecolor:{valType:"color",dflt:n.defaultLine},showbackground:{valType:"boolean",dflt:!1},backgroundcolor:{valType:"color",dflt:"rgba(204, 204, 204, 0.5)"},showaxeslabels:{valType:"boolean",dflt:!0},color:i.color,categoryorder:i.categoryorder,categoryarray:i.categoryarray,title:{text:i.title.text,font:i.title.font},type:a({},i.type,{values:["-","linear","log","date","category"]}),autotypenumbers:i.autotypenumbers,autorange:i.autorange,rangemode:i.rangemode,range:a({},i.range,{items:[{valType:"any",editType:"plot",impliedEdits:{"^autorange":!1}},{valType:"any",editType:"plot",impliedEdits:{"^autorange":!1}}],anim:!1}),tickmode:i.minor.tickmode,nticks:i.nticks,tick0:i.tick0,dtick:i.dtick,tickvals:i.tickvals,ticktext:i.ticktext,ticks:i.ticks,mirror:i.mirror,ticklen:i.ticklen,tickwidth:i.tickwidth,tickcolor:i.tickcolor,showticklabels:i.showticklabels,tickfont:i.tickfont,tickangle:i.tickangle,tickprefix:i.tickprefix,showtickprefix:i.showtickprefix,ticksuffix:i.ticksuffix,showticksuffix:i.showticksuffix,showexponent:i.showexponent,exponentformat:i.exponentformat,minexponent:i.minexponent,separatethousands:i.separatethousands,tickformat:i.tickformat,tickformatstops:i.tickformatstops,hoverformat:i.hoverformat,showline:i.showline,linecolor:i.linecolor,linewidth:i.linewidth,showgrid:i.showgrid,gridcolor:a({},i.gridcolor,{dflt:"rgb(204, 204, 204)"}),gridwidth:i.gridwidth,zeroline:i.zeroline,zerolinecolor:i.zerolinecolor,zerolinewidth:i.zerolinewidth,_deprecated:{title:i._deprecated.title,titlefont:i._deprecated.titlefont}},"plot","from-root")},3277:function(t,e,r){"use strict";var n=r(84267).mix,i=r(71828),a=r(44467),o=r(77894),s=r(951),l=r(71453),u=["xaxis","yaxis","zaxis"];t.exports=function(t,e,r){var c,f;function h(t,e){return i.coerce(c,f,o,t,e)}for(var p=0;p<u.length;p++){var d=u[p];c=t[d]||{},(f=a.newContainer(e,d))._id=d[0]+r.scene,f._name=d,s(c,f,h,r),l(c,f,h,{font:r.font,letter:d[0],data:r.data,showGrid:!0,noTickson:!0,noTicklabelmode:!0,noTicklabelstep:!0,noTicklabelposition:!0,noTicklabeloverflow:!0,bgColor:r.bgColor,calendar:r.calendar},r.fullLayout),h("gridcolor",n(f.color,r.bgColor,72.72727272727273).toRgbString()),h("title.text",d[0]),f.setScale=i.noop,h("showspikes")&&(h("spikesides"),h("spikethickness"),h("spikecolor",f.color)),h("showaxeslabels"),h("showbackground")&&h("backgroundcolor")}}},30422:function(t,e,r){"use strict";var n=r(78614),i=r(71828),a=["xaxis","yaxis","zaxis"];function o(){this.bounds=[[-10,-10,-10],[10,10,10]],this.ticks=[[],[],[]],this.tickEnable=[!0,!0,!0],this.tickFont=["sans-serif","sans-serif","sans-serif"],this.tickSize=[12,12,12],this.tickAngle=[0,0,0],this.tickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.tickPad=[18,18,18],this.labels=["x","y","z"],this.labelEnable=[!0,!0,!0],this.labelFont=["Open Sans","Open Sans","Open Sans"],this.labelSize=[20,20,20],this.labelColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.labelPad=[30,30,30],this.lineEnable=[!0,!0,!0],this.lineMirror=[!1,!1,!1],this.lineWidth=[1,1,1],this.lineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.lineTickEnable=[!0,!0,!0],this.lineTickMirror=[!1,!1,!1],this.lineTickLength=[10,10,10],this.lineTickWidth=[1,1,1],this.lineTickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.gridEnable=[!0,!0,!0],this.gridWidth=[1,1,1],this.gridColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.zeroEnable=[!0,!0,!0],this.zeroLineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.zeroLineWidth=[2,2,2],this.backgroundEnable=[!0,!0,!0],this.backgroundColor=[[.8,.8,.8,.5],[.8,.8,.8,.5],[.8,.8,.8,.5]],this._defaultTickPad=this.tickPad.slice(),this._defaultLabelPad=this.labelPad.slice(),this._defaultLineTickLength=this.lineTickLength.slice()}o.prototype.merge=function(t,e){for(var r=this,o=0;o<3;++o){var s=e[a[o]];s.visible?(r.labels[o]=t._meta?i.templateString(s.title.text,t._meta):s.title.text,"font"in s.title&&(s.title.font.color&&(r.labelColor[o]=n(s.title.font.color)),s.title.font.family&&(r.labelFont[o]=s.title.font.family),s.title.font.size&&(r.labelSize[o]=s.title.font.size)),"showline"in s&&(r.lineEnable[o]=s.showline),"linecolor"in s&&(r.lineColor[o]=n(s.linecolor)),"linewidth"in s&&(r.lineWidth[o]=s.linewidth),"showgrid"in s&&(r.gridEnable[o]=s.showgrid),"gridcolor"in s&&(r.gridColor[o]=n(s.gridcolor)),"gridwidth"in s&&(r.gridWidth[o]=s.gridwidth),"log"===s.type?r.zeroEnable[o]=!1:"zeroline"in s&&(r.zeroEnable[o]=s.zeroline),"zerolinecolor"in s&&(r.zeroLineColor[o]=n(s.zerolinecolor)),"zerolinewidth"in s&&(r.zeroLineWidth[o]=s.zerolinewidth),"ticks"in s&&s.ticks?r.lineTickEnable[o]=!0:r.lineTickEnable[o]=!1,"ticklen"in s&&(r.lineTickLength[o]=r._defaultLineTickLength[o]=s.ticklen),"tickcolor"in s&&(r.lineTickColor[o]=n(s.tickcolor)),"tickwidth"in s&&(r.lineTickWidth[o]=s.tickwidth),"tickangle"in s&&(r.tickAngle[o]="auto"===s.tickangle?-3600:Math.PI*-s.tickangle/180),"showticklabels"in s&&(r.tickEnable[o]=s.showticklabels),"tickfont"in s&&(s.tickfont.color&&(r.tickColor[o]=n(s.tickfont.color)),s.tickfont.family&&(r.tickFont[o]=s.tickfont.family),s.tickfont.size&&(r.tickSize[o]=s.tickfont.size)),"mirror"in s?-1!==["ticks","all","allticks"].indexOf(s.mirror)?(r.lineTickMirror[o]=!0,r.lineMirror[o]=!0):!0===s.mirror?(r.lineTickMirror[o]=!1,r.lineMirror[o]=!0):(r.lineTickMirror[o]=!1,r.lineMirror[o]=!1):r.lineMirror[o]=!1,"showbackground"in s&&!1!==s.showbackground?(r.backgroundEnable[o]=!0,r.backgroundColor[o]=n(s.backgroundcolor)):r.backgroundEnable[o]=!1):(r.tickEnable[o]=!1,r.labelEnable[o]=!1,r.lineEnable[o]=!1,r.lineTickEnable[o]=!1,r.gridEnable[o]=!1,r.zeroEnable[o]=!1,r.backgroundEnable[o]=!1)}},t.exports=function(t,e){var r=new o;return r.merge(t,e),r}},24682:function(t,e,r){"use strict";var n=r(71828),i=r(7901),a=r(73972),o=r(49119),s=r(3277),l=r(65500),u=r(27659).NG,c="gl3d";function f(t,e,r,n){for(var o=r("bgcolor"),l=i.combine(o,n.paper_bgcolor),f=["up","center","eye"],h=0;h<f.length;h++)r("camera."+f[h]+".x"),r("camera."+f[h]+".y"),r("camera."+f[h]+".z");r("camera.projection.type");var p=!!r("aspectratio.x")&&!!r("aspectratio.y")&&!!r("aspectratio.z"),d=r("aspectmode",p?"manual":"auto");p||(t.aspectratio=e.aspectratio={x:1,y:1,z:1},"manual"===d&&(e.aspectmode="auto"),t.aspectmode=e.aspectmode);var v=u(n.fullData,c,n.id);s(t,e,{font:n.font,scene:n.id,data:v,bgColor:l,calendar:n.calendar,autotypenumbersDflt:n.autotypenumbersDflt,fullLayout:n.fullLayout}),a.getComponentMethod("annotations3d","handleDefaults")(t,e,n);var g=n.getDfltFromLayout("dragmode");if(!1!==g&&!g)if(g="orbit",t.camera&&t.camera.up){var y=t.camera.up.x,m=t.camera.up.y,x=t.camera.up.z;0!==x&&(y&&m&&x?x/Math.sqrt(y*y+m*m+x*x)>.999&&(g="turntable"):g="turntable")}else g="turntable";r("dragmode",g),r("hovermode",n.getDfltFromLayout("hovermode"))}t.exports=function(t,e,r){var i=e._basePlotModules.length>1;o(t,e,r,{type:c,attributes:l,handleDefaults:f,fullLayout:e,font:e.font,fullData:r,getDfltFromLayout:function(e){if(!i)return n.validate(t[e],l[e])?t[e]:void 0},autotypenumbersDflt:e.autotypenumbers,paper_bgcolor:e.paper_bgcolor,calendar:e.calendar})}},65500:function(t,e,r){"use strict";var n=r(77894),i=r(27670).Y,a=r(1426).extendFlat,o=r(71828).counterRegex;function s(t,e,r){return{x:{valType:"number",dflt:t,editType:"camera"},y:{valType:"number",dflt:e,editType:"camera"},z:{valType:"number",dflt:r,editType:"camera"},editType:"camera"}}t.exports={_arrayAttrRegexps:[o("scene",".annotations",!0)],bgcolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"plot"},camera:{up:a(s(0,0,1),{}),center:a(s(0,0,0),{}),eye:a(s(1.25,1.25,1.25),{}),projection:{type:{valType:"enumerated",values:["perspective","orthographic"],dflt:"perspective",editType:"calc"},editType:"calc"},editType:"camera"},domain:i({name:"scene",editType:"plot"}),aspectmode:{valType:"enumerated",values:["auto","cube","data","manual"],dflt:"auto",editType:"plot",impliedEdits:{"aspectratio.x":void 0,"aspectratio.y":void 0,"aspectratio.z":void 0}},aspectratio:{x:{valType:"number",min:0,editType:"plot",impliedEdits:{"^aspectmode":"manual"}},y:{valType:"number",min:0,editType:"plot",impliedEdits:{"^aspectmode":"manual"}},z:{valType:"number",min:0,editType:"plot",impliedEdits:{"^aspectmode":"manual"}},editType:"plot",impliedEdits:{aspectmode:"manual"}},xaxis:n,yaxis:n,zaxis:n,dragmode:{valType:"enumerated",values:["orbit","turntable","zoom","pan",!1],editType:"plot"},hovermode:{valType:"enumerated",values:["closest",!1],dflt:"closest",editType:"modebar"},uirevision:{valType:"any",editType:"none"},editType:"plot",_deprecated:{cameraposition:{valType:"info_array",editType:"camera"}}}},13133:function(t,e,r){"use strict";var n=r(78614),i=["xaxis","yaxis","zaxis"];function a(){this.enabled=[!0,!0,!0],this.colors=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.drawSides=[!0,!0,!0],this.lineWidth=[1,1,1]}a.prototype.merge=function(t){for(var e=0;e<3;++e){var r=t[i[e]];r.visible?(this.enabled[e]=r.showspikes,this.colors[e]=n(r.spikecolor),this.drawSides[e]=r.spikesides,this.lineWidth[e]=r.spikethickness):(this.enabled[e]=!1,this.drawSides[e]=!1)}},t.exports=function(t){var e=new a;return e.merge(t),e}},96085:function(t,e,r){"use strict";t.exports=function(t){for(var e=t.axesOptions,r=t.glplot.axesPixels,s=t.fullSceneLayout,l=[[],[],[]],u=0;u<3;++u){var c=s[a[u]];if(c._length=(r[u].hi-r[u].lo)*r[u].pixelsPerDataUnit/t.dataScale[u],Math.abs(c._length)===1/0||isNaN(c._length))l[u]=[];else{c._input_range=c.range.slice(),c.range[0]=r[u].lo/t.dataScale[u],c.range[1]=r[u].hi/t.dataScale[u],c._m=1/(t.dataScale[u]*r[u].pixelsPerDataUnit),c.range[0]===c.range[1]&&(c.range[0]-=1,c.range[1]+=1);var f=c.tickmode;if("auto"===c.tickmode){c.tickmode="linear";var h=c.nticks||i.constrain(c._length/40,4,9);n.autoTicks(c,Math.abs(c.range[1]-c.range[0])/h)}for(var p=n.calcTicks(c,{msUTC:!0}),d=0;d<p.length;++d)p[d].x=p[d].x*t.dataScale[u],"date"===c.type&&(p[d].text=p[d].text.replace(/\<br\>/g," "));l[u]=p,c.tickmode=f}}for(e.ticks=l,u=0;u<3;++u)for(o[u]=.5*(t.glplot.bounds[0][u]+t.glplot.bounds[1][u]),d=0;d<2;++d)e.bounds[d][u]=t.glplot.bounds[d][u];t.contourLevels=function(t){for(var e=new Array(3),r=0;r<3;++r){for(var n=t[r],i=new Array(n.length),a=0;a<n.length;++a)i[a]=n[a].x;e[r]=i}return e}(l)};var n=r(89298),i=r(71828),a=["xaxis","yaxis","zaxis"],o=[0,0,0]},63538:function(t){"use strict";function e(t,e){var r,n,i=[0,0,0,0];for(r=0;r<4;++r)for(n=0;n<4;++n)i[n]+=t[4*r+n]*e[r];return i}t.exports=function(t,r){return e(t.projection,e(t.view,e(t.model,[r[0],r[1],r[2],1])))}},33539:function(t,e,r){"use strict";var n,i,a=r(9330).gl_plot3d,o=a.createCamera,s=a.createScene,l=r(40372),u=r(38520),c=r(73972),f=r(71828),h=f.preserveDrawingBuffer(),p=r(89298),d=r(30211),v=r(78614),g=r(58617),y=r(63538),m=r(30422),x=r(13133),b=r(96085);function _(t,e){var r=document.createElement("div"),n=t.container;this.graphDiv=t.graphDiv;var i=document.createElementNS("http://www.w3.org/2000/svg","svg");i.style.position="absolute",i.style.top=i.style.left="0px",i.style.width=i.style.height="100%",i.style["z-index"]=20,i.style["pointer-events"]="none",r.appendChild(i),this.svgContainer=i,r.id=t.id,r.style.position="absolute",r.style.top=r.style.left="0px",r.style.width=r.style.height="100%",n.appendChild(r),this.fullLayout=e,this.id=t.id||"scene",this.fullSceneLayout=e[this.id],this.plotArgs=[[],{},{}],this.axesOptions=m(e,e[this.id]),this.spikeOptions=x(e[this.id]),this.container=r,this.staticMode=!!t.staticPlot,this.pixelRatio=this.pixelRatio||t.plotGlPixelRatio||2,this.dataScale=[1,1,1],this.contourLevels=[[],[],[]],this.convertAnnotations=c.getComponentMethod("annotations3d","convert"),this.drawAnnotations=c.getComponentMethod("annotations3d","draw"),this.initializeGLPlot()}var w=_.prototype;w.prepareOptions=function(){var t=this,e={canvas:t.canvas,gl:t.gl,glOptions:{preserveDrawingBuffer:h,premultipliedAlpha:!0,antialias:!0},container:t.container,axes:t.axesOptions,spikes:t.spikeOptions,pickRadius:10,snapToData:!0,autoScale:!0,autoBounds:!1,cameraObject:t.camera,pixelRatio:t.pixelRatio};if(t.staticMode){if(!(i||(n=document.createElement("canvas"),i=l({canvas:n,preserveDrawingBuffer:!0,premultipliedAlpha:!0,antialias:!0}))))throw new Error("error creating static canvas/context for image server");e.gl=i,e.canvas=n}return e};var T=!0;w.tryCreatePlot=function(){var t=this,e=t.prepareOptions(),r=!0;try{t.glplot=s(e)}catch(n){if(t.staticMode||!T||h)r=!1;else{f.warn(["webgl setup failed possibly due to","false preserveDrawingBuffer config.","The mobile/tablet device may not be detected by is-mobile module.","Enabling preserveDrawingBuffer in second attempt to create webgl scene..."].join(" "));try{h=e.glOptions.preserveDrawingBuffer=!0,t.glplot=s(e)}catch(t){h=e.glOptions.preserveDrawingBuffer=!1,r=!1}}}return T=!1,r},w.initializeGLCamera=function(){var t=this,e=t.fullSceneLayout.camera,r="orthographic"===e.projection.type;t.camera=o(t.container,{center:[e.center.x,e.center.y,e.center.z],eye:[e.eye.x,e.eye.y,e.eye.z],up:[e.up.x,e.up.y,e.up.z],_ortho:r,zoomMin:.01,zoomMax:100,mode:"orbit"})},w.initializeGLPlot=function(){var t=this;if(t.initializeGLCamera(),!t.tryCreatePlot())return g(t);t.traces={},t.make4thDimension();var e=t.graphDiv,r=e.layout,n=function(){var e={};return t.isCameraChanged(r)&&(e[t.id+".camera"]=t.getCamera()),t.isAspectChanged(r)&&(e[t.id+".aspectratio"]=t.glplot.getAspectratio(),"manual"!==r[t.id].aspectmode&&(t.fullSceneLayout.aspectmode=r[t.id].aspectmode=e[t.id+".aspectmode"]="manual")),e},i=function(t){if(!1!==t.fullSceneLayout.dragmode){var e=n();t.saveLayout(r),t.graphDiv.emit("plotly_relayout",e)}};return t.glplot.canvas&&(t.glplot.canvas.addEventListener("mouseup",(function(){i(t)})),t.glplot.canvas.addEventListener("wheel",(function(r){if(e._context._scrollZoom.gl3d){if(t.camera._ortho){var n=r.deltaX>r.deltaY?1.1:1/1.1,a=t.glplot.getAspectratio();t.glplot.setAspectratio({x:n*a.x,y:n*a.y,z:n*a.z})}i(t)}}),!!u&&{passive:!1}),t.glplot.canvas.addEventListener("mousemove",(function(){if(!1!==t.fullSceneLayout.dragmode&&0!==t.camera.mouseListener.buttons){var e=n();t.graphDiv.emit("plotly_relayouting",e)}})),t.staticMode||t.glplot.canvas.addEventListener("webglcontextlost",(function(r){e&&e.emit&&e.emit("plotly_webglcontextlost",{event:r,layer:t.id})}),!1)),t.glplot.oncontextloss=function(){t.recoverContext()},t.glplot.onrender=function(){t.render()},!0},w.render=function(){var t,e=this,r=e.graphDiv,n=e.svgContainer,i=e.container.getBoundingClientRect();r._fullLayout._calcInverseTransform(r);var a=r._fullLayout._invScaleX,o=r._fullLayout._invScaleY,s=i.width*a,l=i.height*o;n.setAttributeNS(null,"viewBox","0 0 "+s+" "+l),n.setAttributeNS(null,"width",s),n.setAttributeNS(null,"height",l),b(e),e.glplot.axes.update(e.axesOptions);for(var u=Object.keys(e.traces),c=null,h=e.glplot.selection,v=0;v<u.length;++v)"skip"!==(t=e.traces[u[v]]).data.hoverinfo&&t.handlePick(h)&&(c=t),t.setContourLevels&&t.setContourLevels();function g(t,r,n){var i=e.fullSceneLayout[t+"axis"];return"log"!==i.type&&(r=i.d2l(r)),p.hoverLabelText(i,r,n)}if(null!==c){var m=y(e.glplot.cameraParams,h.dataCoordinate);t=c.data;var x,_=r._fullData[t.index],w=h.index,T={xLabel:g("x",h.traceCoordinate[0],t.xhoverformat),yLabel:g("y",h.traceCoordinate[1],t.yhoverformat),zLabel:g("z",h.traceCoordinate[2],t.zhoverformat)},k=d.castHoverinfo(_,e.fullLayout,w),A=(k||"").split("+"),M=k&&"all"===k;_.hovertemplate||M||(-1===A.indexOf("x")&&(T.xLabel=void 0),-1===A.indexOf("y")&&(T.yLabel=void 0),-1===A.indexOf("z")&&(T.zLabel=void 0),-1===A.indexOf("text")&&(h.textLabel=void 0),-1===A.indexOf("name")&&(c.name=void 0));var S=[];"cone"===t.type||"streamtube"===t.type?(T.uLabel=g("x",h.traceCoordinate[3],t.uhoverformat),(M||-1!==A.indexOf("u"))&&S.push("u: "+T.uLabel),T.vLabel=g("y",h.traceCoordinate[4],t.vhoverformat),(M||-1!==A.indexOf("v"))&&S.push("v: "+T.vLabel),T.wLabel=g("z",h.traceCoordinate[5],t.whoverformat),(M||-1!==A.indexOf("w"))&&S.push("w: "+T.wLabel),T.normLabel=h.traceCoordinate[6].toPrecision(3),(M||-1!==A.indexOf("norm"))&&S.push("norm: "+T.normLabel),"streamtube"===t.type&&(T.divergenceLabel=h.traceCoordinate[7].toPrecision(3),(M||-1!==A.indexOf("divergence"))&&S.push("divergence: "+T.divergenceLabel)),h.textLabel&&S.push(h.textLabel),x=S.join("<br>")):"isosurface"===t.type||"volume"===t.type?(T.valueLabel=p.hoverLabelText(e._mockAxis,e._mockAxis.d2l(h.traceCoordinate[3]),t.valuehoverformat),S.push("value: "+T.valueLabel),h.textLabel&&S.push(h.textLabel),x=S.join("<br>")):x=h.textLabel;var E={x:h.traceCoordinate[0],y:h.traceCoordinate[1],z:h.traceCoordinate[2],data:_._input,fullData:_,curveNumber:_.index,pointNumber:w};d.appendArrayPointValue(E,_,w),t._module.eventData&&(E=_._module.eventData(E,h,_,{},w));var L={points:[E]};if(e.fullSceneLayout.hovermode){var C=[];d.loneHover({trace:_,x:(.5+.5*m[0]/m[3])*s,y:(.5-.5*m[1]/m[3])*l,xLabel:T.xLabel,yLabel:T.yLabel,zLabel:T.zLabel,text:x,name:c.name,color:d.castHoverOption(_,w,"bgcolor")||c.color,borderColor:d.castHoverOption(_,w,"bordercolor"),fontFamily:d.castHoverOption(_,w,"font.family"),fontSize:d.castHoverOption(_,w,"font.size"),fontColor:d.castHoverOption(_,w,"font.color"),nameLength:d.castHoverOption(_,w,"namelength"),textAlign:d.castHoverOption(_,w,"align"),hovertemplate:f.castOption(_,w,"hovertemplate"),hovertemplateLabels:f.extendFlat({},E,T),eventData:[E]},{container:n,gd:r,inOut_bbox:C}),E.bbox=C[0]}h.buttons&&h.distance<5?r.emit("plotly_click",L):r.emit("plotly_hover",L),this.oldEventData=L}else d.loneUnhover(n),this.oldEventData&&r.emit("plotly_unhover",this.oldEventData),this.oldEventData=void 0;e.drawAnnotations(e)},w.recoverContext=function(){var t=this;t.glplot.dispose();var e=function(){t.glplot.gl.isContextLost()?requestAnimationFrame(e):t.initializeGLPlot()?t.plot.apply(t,t.plotArgs):f.error("Catastrophic and unrecoverable WebGL error. Context lost.")};requestAnimationFrame(e)};var k=["xaxis","yaxis","zaxis"];function A(t,e,r){for(var n=t.fullSceneLayout,i=0;i<3;i++){var a=k[i],o=a.charAt(0),s=n[a],l=e[o],u=e[o+"calendar"],c=e["_"+o+"length"];if(f.isArrayOrTypedArray(l))for(var h,p=0;p<(c||l.length);p++)if(f.isArrayOrTypedArray(l[p]))for(var d=0;d<l[p].length;++d)h=s.d2l(l[p][d],0,u),!isNaN(h)&&isFinite(h)&&(r[0][i]=Math.min(r[0][i],h),r[1][i]=Math.max(r[1][i],h));else h=s.d2l(l[p],0,u),!isNaN(h)&&isFinite(h)&&(r[0][i]=Math.min(r[0][i],h),r[1][i]=Math.max(r[1][i],h));else r[0][i]=Math.min(r[0][i],0),r[1][i]=Math.max(r[1][i],c-1)}}w.plot=function(t,e,r){var n=this;if(n.plotArgs=[t,e,r],!n.glplot.contextLost){var i,a,o,s,l,u,c=e[n.id],f=r[n.id];n.fullLayout=e,n.fullSceneLayout=c,n.axesOptions.merge(e,c),n.spikeOptions.merge(c),n.setViewport(c),n.updateFx(c.dragmode,c.hovermode),n.camera.enableWheel=n.graphDiv._context._scrollZoom.gl3d,n.glplot.setClearColor(v(c.bgcolor)),n.setConvert(l),t?Array.isArray(t)||(t=[t]):t=[];var h=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]];for(o=0;o<t.length;++o)!0===(i=t[o]).visible&&0!==i._length&&A(this,i,h);!function(t,e){for(var r=t.fullSceneLayout,n=r.annotations||[],i=0;i<3;i++)for(var a=k[i],o=a.charAt(0),s=r[a],l=0;l<n.length;l++){var u=n[l];if(u.visible){var c=s.r2l(u[o]);!isNaN(c)&&isFinite(c)&&(e[0][i]=Math.min(e[0][i],c),e[1][i]=Math.max(e[1][i],c))}}}(this,h);var p=[1,1,1];for(s=0;s<3;++s)h[1][s]===h[0][s]?p[s]=1:p[s]=1/(h[1][s]-h[0][s]);for(n.dataScale=p,n.convertAnnotations(this),o=0;o<t.length;++o)!0===(i=t[o]).visible&&0!==i._length&&((a=n.traces[i.uid])?a.data.type===i.type?a.update(i):(a.dispose(),a=i._module.plot(this,i),n.traces[i.uid]=a):(a=i._module.plot(this,i),n.traces[i.uid]=a),a.name=i.name);var d=Object.keys(n.traces);t:for(o=0;o<d.length;++o){for(s=0;s<t.length;++s)if(t[s].uid===d[o]&&!0===t[s].visible&&0!==t[s]._length)continue t;(a=n.traces[d[o]]).dispose(),delete n.traces[d[o]]}n.glplot.objects.sort((function(t,e){return t._trace.data.index-e._trace.data.index}));var g,y=[[0,0,0],[0,0,0]],m=[],x={};for(o=0;o<3;++o){if((u=(l=c[k[o]]).type)in x?(x[u].acc*=p[o],x[u].count+=1):x[u]={acc:p[o],count:1},l.autorange){y[0][o]=1/0,y[1][o]=-1/0;var b=n.glplot.objects,_=n.fullSceneLayout.annotations||[],w=l._name.charAt(0);for(s=0;s<b.length;s++){var T=b[s],M=T.bounds,S=T._trace.data._pad||0;"ErrorBars"===T.constructor.name&&l._lowerLogErrorBound?y[0][o]=Math.min(y[0][o],l._lowerLogErrorBound):y[0][o]=Math.min(y[0][o],M[0][o]/p[o]-S),y[1][o]=Math.max(y[1][o],M[1][o]/p[o]+S)}for(s=0;s<_.length;s++){var E=_[s];if(E.visible){var L=l.r2l(E[w]);y[0][o]=Math.min(y[0][o],L),y[1][o]=Math.max(y[1][o],L)}}if("rangemode"in l&&"tozero"===l.rangemode&&(y[0][o]=Math.min(y[0][o],0),y[1][o]=Math.max(y[1][o],0)),y[0][o]>y[1][o])y[0][o]=-1,y[1][o]=1;else{var C=y[1][o]-y[0][o];y[0][o]-=C/32,y[1][o]+=C/32}if("reversed"===l.autorange){var P=y[0][o];y[0][o]=y[1][o],y[1][o]=P}}else{var O=l.range;y[0][o]=l.r2l(O[0]),y[1][o]=l.r2l(O[1])}y[0][o]===y[1][o]&&(y[0][o]-=1,y[1][o]+=1),m[o]=y[1][o]-y[0][o],n.glplot.setBounds(o,{min:y[0][o]*p[o],max:y[1][o]*p[o]})}var I=c.aspectmode;if("cube"===I)g=[1,1,1];else if("manual"===I){var D=c.aspectratio;g=[D.x,D.y,D.z]}else{if("auto"!==I&&"data"!==I)throw new Error("scene.js aspectRatio was not one of the enumerated types");var z=[1,1,1];for(o=0;o<3;++o){var R=x[u=(l=c[k[o]]).type];z[o]=Math.pow(R.acc,1/R.count)/p[o]}g="data"===I||Math.max.apply(null,z)/Math.min.apply(null,z)<=4?z:[1,1,1]}c.aspectratio.x=f.aspectratio.x=g[0],c.aspectratio.y=f.aspectratio.y=g[1],c.aspectratio.z=f.aspectratio.z=g[2],n.glplot.setAspectratio(c.aspectratio),n.viewInitial.aspectratio||(n.viewInitial.aspectratio={x:c.aspectratio.x,y:c.aspectratio.y,z:c.aspectratio.z}),n.viewInitial.aspectmode||(n.viewInitial.aspectmode=c.aspectmode);var F=c.domain||null,B=e._size||null;if(F&&B){var N=n.container.style;N.position="absolute",N.left=B.l+F.x[0]*B.w+"px",N.top=B.t+(1-F.y[1])*B.h+"px",N.width=B.w*(F.x[1]-F.x[0])+"px",N.height=B.h*(F.y[1]-F.y[0])+"px"}n.glplot.redraw()}},w.destroy=function(){var t=this;t.glplot&&(t.camera.mouseListener.enabled=!1,t.container.removeEventListener("wheel",t.camera.wheelListener),t.camera=null,t.glplot.dispose(),t.container.parentNode.removeChild(t.container),t.glplot=null)},w.getCamera=function(){var t,e=this;return e.camera.view.recalcMatrix(e.camera.view.lastT()),{up:{x:(t=e.camera).up[0],y:t.up[1],z:t.up[2]},center:{x:t.center[0],y:t.center[1],z:t.center[2]},eye:{x:t.eye[0],y:t.eye[1],z:t.eye[2]},projection:{type:!0===t._ortho?"orthographic":"perspective"}}},w.setViewport=function(t){var e,r=this,n=t.camera;r.camera.lookAt.apply(this,[[(e=n).eye.x,e.eye.y,e.eye.z],[e.center.x,e.center.y,e.center.z],[e.up.x,e.up.y,e.up.z]]),r.glplot.setAspectratio(t.aspectratio),"orthographic"===n.projection.type!==r.camera._ortho&&(r.glplot.redraw(),r.glplot.clearRGBA(),r.glplot.dispose(),r.initializeGLPlot())},w.isCameraChanged=function(t){var e=this.getCamera(),r=f.nestedProperty(t,this.id+".camera").get();function n(t,e,r,n){var i=["up","center","eye"],a=["x","y","z"];return e[i[r]]&&t[i[r]][a[n]]===e[i[r]][a[n]]}var i=!1;if(void 0===r)i=!0;else{for(var a=0;a<3;a++)for(var o=0;o<3;o++)if(!n(e,r,a,o)){i=!0;break}(!r.projection||e.projection&&e.projection.type!==r.projection.type)&&(i=!0)}return i},w.isAspectChanged=function(t){var e=this.glplot.getAspectratio(),r=f.nestedProperty(t,this.id+".aspectratio").get();return void 0===r||r.x!==e.x||r.y!==e.y||r.z!==e.z},w.saveLayout=function(t){var e,r,n,i,a,o,s=this,l=s.fullLayout,u=s.isCameraChanged(t),h=s.isAspectChanged(t),p=u||h;if(p){var d={};u&&(e=s.getCamera(),n=(r=f.nestedProperty(t,s.id+".camera")).get(),d[s.id+".camera"]=n),h&&(i=s.glplot.getAspectratio(),o=(a=f.nestedProperty(t,s.id+".aspectratio")).get(),d[s.id+".aspectratio"]=o),c.call("_storeDirectGUIEdit",t,l._preGUI,d),u&&(r.set(e),f.nestedProperty(l,s.id+".camera").set(e)),h&&(a.set(i),f.nestedProperty(l,s.id+".aspectratio").set(i),s.glplot.redraw())}return p},w.updateFx=function(t,e){var r=this,n=r.camera;if(n)if("orbit"===t)n.mode="orbit",n.keyBindingMode="rotate";else if("turntable"===t){n.up=[0,0,1],n.mode="turntable",n.keyBindingMode="rotate";var i=r.graphDiv,a=i._fullLayout,o=r.fullSceneLayout.camera,s=o.up.x,l=o.up.y,u=o.up.z;if(u/Math.sqrt(s*s+l*l+u*u)<.999){var h=r.id+".camera.up",p={x:0,y:0,z:1},d={};d[h]=p;var v=i.layout;c.call("_storeDirectGUIEdit",v,a._preGUI,d),o.up=p,f.nestedProperty(v,h).set(p)}}else n.keyBindingMode=t;r.fullSceneLayout.hovermode=e},w.toImage=function(t){var e=this;t||(t="png"),e.staticMode&&e.container.appendChild(n),e.glplot.redraw();var r=e.glplot.gl,i=r.drawingBufferWidth,a=r.drawingBufferHeight;r.bindFramebuffer(r.FRAMEBUFFER,null);var o=new Uint8Array(i*a*4);r.readPixels(0,0,i,a,r.RGBA,r.UNSIGNED_BYTE,o),function(t,e,r){for(var n=0,i=r-1;n<i;++n,--i)for(var a=0;a<e;++a)for(var o=0;o<4;++o){var s=4*(e*n+a)+o,l=4*(e*i+a)+o,u=t[s];t[s]=t[l],t[l]=u}}(o,i,a),function(t,e,r){for(var n=0;n<r;++n)for(var i=0;i<e;++i){var a=4*(e*n+i),o=t[a+3];if(o>0)for(var s=255/o,l=0;l<3;++l)t[a+l]=Math.min(s*t[a+l],255)}}(o,i,a);var s=document.createElement("canvas");s.width=i,s.height=a;var l,u=s.getContext("2d",{willReadFrequently:!0}),c=u.createImageData(i,a);switch(c.data.set(o),u.putImageData(c,0,0),t){case"jpeg":l=s.toDataURL("image/jpeg");break;case"webp":l=s.toDataURL("image/webp");break;default:l=s.toDataURL("image/png")}return e.staticMode&&e.container.removeChild(n),l},w.setConvert=function(){for(var t=0;t<3;t++){var e=this.fullSceneLayout[k[t]];p.setConvert(e,this.fullLayout),e.setScale=f.noop}},w.make4thDimension=function(){var t=this,e=t.graphDiv._fullLayout;t._mockAxis={type:"linear",showexponent:"all",exponentformat:"B"},p.setConvert(t._mockAxis,e)},t.exports=_},90060:function(t){"use strict";t.exports=function(t,e,r,n){n=n||t.length;for(var i=new Array(n),a=0;a<n;a++)i[a]=[t[a],e[a],r[a]];return i}},10820:function(t,e,r){"use strict";var n=r(41940),i=r(85594),a=r(22399),o=r(29241),s=r(53777),l=r(35025),u=r(1426).extendFlat,c=n({editType:"calc"});c.family.dflt='"Open Sans", verdana, arial, sans-serif',c.size.dflt=12,c.color.dflt=a.defaultLine,t.exports={font:c,title:{text:{valType:"string",editType:"layoutstyle"},font:n({editType:"layoutstyle"}),xref:{valType:"enumerated",dflt:"container",values:["container","paper"],editType:"layoutstyle"},yref:{valType:"enumerated",dflt:"container",values:["container","paper"],editType:"layoutstyle"},x:{valType:"number",min:0,max:1,dflt:.5,editType:"layoutstyle"},y:{valType:"number",min:0,max:1,dflt:"auto",editType:"layoutstyle"},xanchor:{valType:"enumerated",dflt:"auto",values:["auto","left","center","right"],editType:"layoutstyle"},yanchor:{valType:"enumerated",dflt:"auto",values:["auto","top","middle","bottom"],editType:"layoutstyle"},pad:u(l({editType:"layoutstyle"}),{}),editType:"layoutstyle"},uniformtext:{mode:{valType:"enumerated",values:[!1,"hide","show"],dflt:!1,editType:"plot"},minsize:{valType:"number",min:0,dflt:0,editType:"plot"},editType:"plot"},autosize:{valType:"boolean",dflt:!1,editType:"none"},width:{valType:"number",min:10,dflt:700,editType:"plot"},height:{valType:"number",min:10,dflt:450,editType:"plot"},minreducedwidth:{valType:"number",min:2,dflt:64,editType:"plot"},minreducedheight:{valType:"number",min:2,dflt:64,editType:"plot"},margin:{l:{valType:"number",min:0,dflt:80,editType:"plot"},r:{valType:"number",min:0,dflt:80,editType:"plot"},t:{valType:"number",min:0,dflt:100,editType:"plot"},b:{valType:"number",min:0,dflt:80,editType:"plot"},pad:{valType:"number",min:0,dflt:0,editType:"plot"},autoexpand:{valType:"boolean",dflt:!0,editType:"plot"},editType:"plot"},computed:{valType:"any",editType:"none"},paper_bgcolor:{valType:"color",dflt:a.background,editType:"plot"},plot_bgcolor:{valType:"color",dflt:a.background,editType:"layoutstyle"},autotypenumbers:{valType:"enumerated",values:["convert types","strict"],dflt:"convert types",editType:"calc"},separators:{valType:"string",editType:"plot"},hidesources:{valType:"boolean",dflt:!1,editType:"plot"},showlegend:{valType:"boolean",editType:"legend"},colorway:{valType:"colorlist",dflt:a.defaults,editType:"calc"},datarevision:{valType:"any",editType:"calc"},uirevision:{valType:"any",editType:"none"},editrevision:{valType:"any",editType:"none"},selectionrevision:{valType:"any",editType:"none"},template:{valType:"any",editType:"calc"},newshape:o.newshape,activeshape:o.activeshape,newselection:s.newselection,activeselection:s.activeselection,meta:{valType:"any",arrayOk:!0,editType:"plot"},transition:u({},i.transition,{editType:"none"}),_deprecated:{title:{valType:"string",editType:"layoutstyle"},titlefont:n({editType:"layoutstyle"})}}},77734:function(t,e,r){"use strict";var n=r(78607),i='© <a target="_blank" href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors',a=['© <a target="_blank" href="https://carto.com/">Carto</a>',i].join(" "),o=['Map tiles by <a target="_blank" href="https://stamen.com">Stamen Design</a>','under <a target="_blank" href="https://creativecommons.org/licenses/by/3.0">CC BY 3.0</a>',"|",'Data by <a target="_blank" href="https://openstreetmap.org">OpenStreetMap</a> contributors','under <a target="_blank" href="https://www.openstreetmap.org/copyright">ODbL</a>'].join(" "),s={"open-street-map":{id:"osm",version:8,sources:{"plotly-osm-tiles":{type:"raster",attribution:i,tiles:["https://a.tile.openstreetmap.org/{z}/{x}/{y}.png","https://b.tile.openstreetmap.org/{z}/{x}/{y}.png"],tileSize:256}},layers:[{id:"plotly-osm-tiles",type:"raster",source:"plotly-osm-tiles",minzoom:0,maxzoom:22}]},"white-bg":{id:"white-bg",version:8,sources:{},layers:[{id:"white-bg",type:"background",paint:{"background-color":"#FFFFFF"},minzoom:0,maxzoom:22}]},"carto-positron":{id:"carto-positron",version:8,sources:{"plotly-carto-positron":{type:"raster",attribution:a,tiles:["https://cartodb-basemaps-c.global.ssl.fastly.net/light_all/{z}/{x}/{y}.png"],tileSize:256}},layers:[{id:"plotly-carto-positron",type:"raster",source:"plotly-carto-positron",minzoom:0,maxzoom:22}]},"carto-darkmatter":{id:"carto-darkmatter",version:8,sources:{"plotly-carto-darkmatter":{type:"raster",attribution:a,tiles:["https://cartodb-basemaps-c.global.ssl.fastly.net/dark_all/{z}/{x}/{y}.png"],tileSize:256}},layers:[{id:"plotly-carto-darkmatter",type:"raster",source:"plotly-carto-darkmatter",minzoom:0,maxzoom:22}]},"stamen-terrain":{id:"stamen-terrain",version:8,sources:{"plotly-stamen-terrain":{type:"raster",attribution:o,tiles:["https://stamen-tiles.a.ssl.fastly.net/terrain/{z}/{x}/{y}.png"],tileSize:256}},layers:[{id:"plotly-stamen-terrain",type:"raster",source:"plotly-stamen-terrain",minzoom:0,maxzoom:22}]},"stamen-toner":{id:"stamen-toner",version:8,sources:{"plotly-stamen-toner":{type:"raster",attribution:o,tiles:["https://stamen-tiles.a.ssl.fastly.net/toner/{z}/{x}/{y}.png"],tileSize:256}},layers:[{id:"plotly-stamen-toner",type:"raster",source:"plotly-stamen-toner",minzoom:0,maxzoom:22}]},"stamen-watercolor":{id:"stamen-watercolor",version:8,sources:{"plotly-stamen-watercolor":{type:"raster",attribution:['Map tiles by <a target="_blank" href="https://stamen.com">Stamen Design</a>','under <a target="_blank" href="https://creativecommons.org/licenses/by/3.0">CC BY 3.0</a>',"|",'Data by <a target="_blank" href="https://openstreetmap.org">OpenStreetMap</a> contributors','under <a target="_blank" href="https://creativecommons.org/licenses/by-sa/3.0">CC BY SA</a>'].join(" "),tiles:["https://stamen-tiles.a.ssl.fastly.net/watercolor/{z}/{x}/{y}.png"],tileSize:256}},layers:[{id:"plotly-stamen-watercolor",type:"raster",source:"plotly-stamen-watercolor",minzoom:0,maxzoom:22}]}},l=n(s);t.exports={requiredVersion:"1.10.1",styleUrlPrefix:"mapbox://styles/mapbox/",styleUrlSuffix:"v9",styleValuesMapbox:["basic","streets","outdoors","light","dark","satellite","satellite-streets"],styleValueDflt:"basic",stylesNonMapbox:s,styleValuesNonMapbox:l,traceLayerPrefix:"plotly-trace-layer-",layoutLayerPrefix:"plotly-layout-layer-",wrongVersionErrorMsg:["Your custom plotly.js bundle is not using the correct mapbox-gl version","Please install mapbox-gl@1.10.1."].join("\n"),noAccessTokenErrorMsg:["Missing Mapbox access token.","Mapbox trace type require a Mapbox access token to be registered.","For example:"," Plotly.newPlot(gd, data, layout, { mapboxAccessToken: 'my-access-token' });","More info here: https://www.mapbox.com/help/define-access-token/"].join("\n"),missingStyleErrorMsg:["No valid mapbox style found, please set `mapbox.style` to one of:",l.join(", "),"or register a Mapbox access token to use a Mapbox-served style."].join("\n"),multipleTokensErrorMsg:["Set multiple mapbox access token across different mapbox subplot,","using first token found as mapbox-gl does not allow multipleaccess tokens on the same page."].join("\n"),mapOnErrorMsg:"Mapbox error.",mapboxLogo:{path0:"m 10.5,1.24 c -5.11,0 -9.25,4.15 -9.25,9.25 0,5.1 4.15,9.25 9.25,9.25 5.1,0 9.25,-4.15 9.25,-9.25 0,-5.11 -4.14,-9.25 -9.25,-9.25 z m 4.39,11.53 c -1.93,1.93 -4.78,2.31 -6.7,2.31 -0.7,0 -1.41,-0.05 -2.1,-0.16 0,0 -1.02,-5.64 2.14,-8.81 0.83,-0.83 1.95,-1.28 3.13,-1.28 1.27,0 2.49,0.51 3.39,1.42 1.84,1.84 1.89,4.75 0.14,6.52 z",path1:"M 10.5,-0.01 C 4.7,-0.01 0,4.7 0,10.49 c 0,5.79 4.7,10.5 10.5,10.5 5.8,0 10.5,-4.7 10.5,-10.5 C 20.99,4.7 16.3,-0.01 10.5,-0.01 Z m 0,19.75 c -5.11,0 -9.25,-4.15 -9.25,-9.25 0,-5.1 4.14,-9.26 9.25,-9.26 5.11,0 9.25,4.15 9.25,9.25 0,5.13 -4.14,9.26 -9.25,9.26 z",path2:"M 14.74,6.25 C 12.9,4.41 9.98,4.35 8.23,6.1 5.07,9.27 6.09,14.91 6.09,14.91 c 0,0 5.64,1.02 8.81,-2.14 C 16.64,11 16.59,8.09 14.74,6.25 Z m -2.27,4.09 -0.91,1.87 -0.9,-1.87 -1.86,-0.91 1.86,-0.9 0.9,-1.87 0.91,1.87 1.86,0.9 z",polygon:"11.56,12.21 10.66,10.34 8.8,9.43 10.66,8.53 11.56,6.66 12.47,8.53 14.33,9.43 12.47,10.34"},styleRules:{map:"overflow:hidden;position:relative;","missing-css":"display:none;",canary:"background-color:salmon;","ctrl-bottom-left":"position: absolute; pointer-events: none; z-index: 2; bottom: 0; left: 0;","ctrl-bottom-right":"position: absolute; pointer-events: none; z-index: 2; right: 0; bottom: 0;",ctrl:"clear: both; pointer-events: auto; transform: translate(0, 0);","ctrl-attrib.mapboxgl-compact .mapboxgl-ctrl-attrib-inner":"display: none;","ctrl-attrib.mapboxgl-compact:hover .mapboxgl-ctrl-attrib-inner":"display: block; margin-top:2px","ctrl-attrib.mapboxgl-compact:hover":"padding: 2px 24px 2px 4px; visibility: visible; margin-top: 6px;","ctrl-attrib.mapboxgl-compact::after":'content: ""; cursor: pointer; position: absolute; background-image: url(\'data:image/svg+xml;charset=utf-8,%3Csvg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"%3E %3Cpath fill="%23333333" fill-rule="evenodd" d="M4,10a6,6 0 1,0 12,0a6,6 0 1,0 -12,0 M9,7a1,1 0 1,0 2,0a1,1 0 1,0 -2,0 M9,10a1,1 0 1,1 2,0l0,3a1,1 0 1,1 -2,0"/%3E %3C/svg%3E\'); background-color: rgba(255, 255, 255, 0.5); width: 24px; height: 24px; box-sizing: border-box; border-radius: 12px;',"ctrl-attrib.mapboxgl-compact":"min-height: 20px; padding: 0; margin: 10px; position: relative; background-color: #fff; border-radius: 3px 12px 12px 3px;","ctrl-bottom-right > .mapboxgl-ctrl-attrib.mapboxgl-compact::after":"bottom: 0; right: 0","ctrl-bottom-left > .mapboxgl-ctrl-attrib.mapboxgl-compact::after":"bottom: 0; left: 0","ctrl-bottom-left .mapboxgl-ctrl":"margin: 0 0 10px 10px; float: left;","ctrl-bottom-right .mapboxgl-ctrl":"margin: 0 10px 10px 0; float: right;","ctrl-attrib":"color: rgba(0, 0, 0, 0.75); text-decoration: none; font-size: 12px","ctrl-attrib a":"color: rgba(0, 0, 0, 0.75); text-decoration: none; font-size: 12px","ctrl-attrib a:hover":"color: inherit; text-decoration: underline;","ctrl-attrib .mapbox-improve-map":"font-weight: bold; margin-left: 2px;","attrib-empty":"display: none;","ctrl-logo":'display:block; width: 21px; height: 21px; background-image: url(\'data:image/svg+xml;charset=utf-8,%3C?xml version="1.0" encoding="utf-8"?%3E %3Csvg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 21 21" style="enable-background:new 0 0 21 21;" xml:space="preserve"%3E%3Cg transform="translate(0,0.01)"%3E%3Cpath d="m 10.5,1.24 c -5.11,0 -9.25,4.15 -9.25,9.25 0,5.1 4.15,9.25 9.25,9.25 5.1,0 9.25,-4.15 9.25,-9.25 0,-5.11 -4.14,-9.25 -9.25,-9.25 z m 4.39,11.53 c -1.93,1.93 -4.78,2.31 -6.7,2.31 -0.7,0 -1.41,-0.05 -2.1,-0.16 0,0 -1.02,-5.64 2.14,-8.81 0.83,-0.83 1.95,-1.28 3.13,-1.28 1.27,0 2.49,0.51 3.39,1.42 1.84,1.84 1.89,4.75 0.14,6.52 z" style="opacity:0.9;fill:%23ffffff;enable-background:new" class="st0"/%3E%3Cpath d="M 10.5,-0.01 C 4.7,-0.01 0,4.7 0,10.49 c 0,5.79 4.7,10.5 10.5,10.5 5.8,0 10.5,-4.7 10.5,-10.5 C 20.99,4.7 16.3,-0.01 10.5,-0.01 Z m 0,19.75 c -5.11,0 -9.25,-4.15 -9.25,-9.25 0,-5.1 4.14,-9.26 9.25,-9.26 5.11,0 9.25,4.15 9.25,9.25 0,5.13 -4.14,9.26 -9.25,9.26 z" style="opacity:0.35;enable-background:new" class="st1"/%3E%3Cpath d="M 14.74,6.25 C 12.9,4.41 9.98,4.35 8.23,6.1 5.07,9.27 6.09,14.91 6.09,14.91 c 0,0 5.64,1.02 8.81,-2.14 C 16.64,11 16.59,8.09 14.74,6.25 Z m -2.27,4.09 -0.91,1.87 -0.9,-1.87 -1.86,-0.91 1.86,-0.9 0.9,-1.87 0.91,1.87 1.86,0.9 z" style="opacity:0.35;enable-background:new" class="st1"/%3E%3Cpolygon points="11.56,12.21 10.66,10.34 8.8,9.43 10.66,8.53 11.56,6.66 12.47,8.53 14.33,9.43 12.47,10.34 " style="opacity:0.9;fill:%23ffffff;enable-background:new" class="st0"/%3E%3C/g%3E%3C/svg%3E\')'}}},13056:function(t,e,r){"use strict";var n=r(71828);t.exports=function(t,e){var r=t.split(" "),i=r[0],a=r[1],o=n.isArrayOrTypedArray(e)?n.mean(e):e,s=.5+o/100,l=1.5+o/100,u=["",""],c=[0,0];switch(i){case"top":u[0]="top",c[1]=-l;break;case"bottom":u[0]="bottom",c[1]=l}switch(a){case"left":u[1]="right",c[0]=-s;break;case"right":u[1]="left",c[0]=s}return{anchor:u[0]&&u[1]?u.join("-"):u[0]?u[0]:u[1]?u[1]:"center",offset:c}}},50101:function(t,e,r){"use strict";var n=r(44517),i=r(71828),a=i.strTranslate,o=i.strScale,s=r(27659).AU,l=r(77922),u=r(39898),c=r(91424),f=r(63893),h=r(10481),p="mapbox",d=e.constants=r(77734);function v(t){return"string"==typeof t&&(-1!==d.styleValuesMapbox.indexOf(t)||0===t.indexOf("mapbox://"))}e.name=p,e.attr="subplot",e.idRoot=p,e.idRegex=e.attrRegex=i.counterRegex(p),e.attributes={subplot:{valType:"subplotid",dflt:"mapbox",editType:"calc"}},e.layoutAttributes=r(23585),e.supplyLayoutDefaults=r(77882),e.plot=function(t){var e=t._fullLayout,r=t.calcdata,a=e._subplots.mapbox;if(n.version!==d.requiredVersion)throw new Error(d.wrongVersionErrorMsg);var o=function(t,e){var r=t._fullLayout;if(""===t._context.mapboxAccessToken)return"";for(var n=[],a=[],o=!1,s=!1,l=0;l<e.length;l++){var u=r[e[l]],c=u.accesstoken;v(u.style)&&(c?i.pushUnique(n,c):(v(u._input.style)&&(i.error("Uses Mapbox map style, but did not set an access token."),o=!0),s=!0)),c&&i.pushUnique(a,c)}if(s){var f=o?d.noAccessTokenErrorMsg:d.missingStyleErrorMsg;throw i.error(f),new Error(f)}return n.length?(n.length>1&&i.warn(d.multipleTokensErrorMsg),n[0]):(a.length&&i.log(["Listed mapbox access token(s)",a.join(","),"but did not use a Mapbox map style, ignoring token(s)."].join(" ")),"")}(t,a);n.accessToken=o;for(var l=0;l<a.length;l++){var u=a[l],c=s(r,p,u),f=e[u],g=f._subplot;g||(g=new h(t,u),e[u]._subplot=g),g.viewInitial||(g.viewInitial={center:i.extendFlat({},f.center),zoom:f.zoom,bearing:f.bearing,pitch:f.pitch}),g.plot(c,e,t._promises)}},e.clean=function(t,e,r,n){for(var i=n._subplots.mapbox||[],a=0;a<i.length;a++){var o=i[a];!e[o]&&n[o]._subplot&&n[o]._subplot.destroy()}},e.toSVG=function(t){for(var e=t._fullLayout,r=e._subplots.mapbox,n=e._size,i=0;i<r.length;i++){var s=e[r[i]],h=s.domain,p=s._subplot.toImage("png");e._glimages.append("svg:image").attr({xmlns:l.svg,"xlink:href":p,x:n.l+n.w*h.x[0],y:n.t+n.h*(1-h.y[1]),width:n.w*(h.x[1]-h.x[0]),height:n.h*(h.y[1]-h.y[0]),preserveAspectRatio:"none"});var v=u.select(s._subplot.div);if(null!==v.select(".mapboxgl-ctrl-logo").node().offsetParent){var g=e._glimages.append("g");g.attr("transform",a(n.l+n.w*h.x[0]+10,n.t+n.h*(1-h.y[0])-31)),g.append("path").attr("d",d.mapboxLogo.path0).style({opacity:.9,fill:"#ffffff","enable-background":"new"}),g.append("path").attr("d",d.mapboxLogo.path1).style("opacity",.35).style("enable-background","new"),g.append("path").attr("d",d.mapboxLogo.path2).style("opacity",.35).style("enable-background","new"),g.append("polygon").attr("points",d.mapboxLogo.polygon).style({opacity:.9,fill:"#ffffff","enable-background":"new"})}var y=v.select(".mapboxgl-ctrl-attrib").text().replace("Improve this map",""),m=e._glimages.append("g"),x=m.append("text");x.text(y).classed("static-attribution",!0).attr({"font-size":12,"font-family":"Arial",color:"rgba(0, 0, 0, 0.75)","text-anchor":"end","data-unformatted":y});var b=c.bBox(x.node()),_=n.w*(h.x[1]-h.x[0]);if(b.width>_/2){var w=y.split("|").join("<br>");x.text(w).attr("data-unformatted",w).call(f.convertToTspans,t),b=c.bBox(x.node())}x.attr("transform",a(-3,8-b.height)),m.insert("rect",".static-attribution").attr({x:-b.width-6,y:-b.height-3,width:b.width+6,height:b.height+3,fill:"rgba(255, 255, 255, 0.75)"});var T=1;b.width+6>_&&(T=_/(b.width+6));var k=[n.l+n.w*h.x[1],n.t+n.h*(1-h.y[0])];m.attr("transform",a(k[0],k[1])+o(T))}},e.updateFx=function(t){for(var e=t._fullLayout,r=e._subplots.mapbox,n=0;n<r.length;n++)e[r[n]]._subplot.updateFx(e)}},67911:function(t,e,r){"use strict";var n=r(71828),i=r(63893).sanitizeHTML,a=r(13056),o=r(77734);function s(t,e){this.subplot=t,this.uid=t.uid+"-"+e,this.index=e,this.idSource="source-"+this.uid,this.idLayer=o.layoutLayerPrefix+this.uid,this.sourceType=null,this.source=null,this.layerType=null,this.below=null,this.visible=!1}var l=s.prototype;function u(t){if(!t.visible)return!1;var e=t.source;if(Array.isArray(e)&&e.length>0){for(var r=0;r<e.length;r++)if("string"!=typeof e[r]||0===e[r].length)return!1;return!0}return n.isPlainObject(e)||"string"==typeof e&&e.length>0}function c(t){var e={},r={};switch(t.type){case"circle":n.extendFlat(r,{"circle-radius":t.circle.radius,"circle-color":t.color,"circle-opacity":t.opacity});break;case"line":n.extendFlat(r,{"line-width":t.line.width,"line-color":t.color,"line-opacity":t.opacity,"line-dasharray":t.line.dash});break;case"fill":n.extendFlat(r,{"fill-color":t.color,"fill-outline-color":t.fill.outlinecolor,"fill-opacity":t.opacity});break;case"symbol":var i=t.symbol,o=a(i.textposition,i.iconsize);n.extendFlat(e,{"icon-image":i.icon+"-15","icon-size":i.iconsize/10,"text-field":i.text,"text-size":i.textfont.size,"text-anchor":o.anchor,"text-offset":o.offset,"symbol-placement":i.placement}),n.extendFlat(r,{"icon-color":t.color,"text-color":i.textfont.color,"text-opacity":t.opacity});break;case"raster":n.extendFlat(r,{"raster-fade-duration":0,"raster-opacity":t.opacity})}return{layout:e,paint:r}}l.update=function(t){this.visible?this.needsNewImage(t)?this.updateImage(t):this.needsNewSource(t)?(this.removeLayer(),this.updateSource(t),this.updateLayer(t)):this.needsNewLayer(t)?this.updateLayer(t):this.updateStyle(t):(this.updateSource(t),this.updateLayer(t)),this.visible=u(t)},l.needsNewImage=function(t){return this.subplot.map.getSource(this.idSource)&&"image"===this.sourceType&&"image"===t.sourcetype&&(this.source!==t.source||JSON.stringify(this.coordinates)!==JSON.stringify(t.coordinates))},l.needsNewSource=function(t){return this.sourceType!==t.sourcetype||JSON.stringify(this.source)!==JSON.stringify(t.source)||this.layerType!==t.type},l.needsNewLayer=function(t){return this.layerType!==t.type||this.below!==this.subplot.belowLookup["layout-"+this.index]},l.lookupBelow=function(){return this.subplot.belowLookup["layout-"+this.index]},l.updateImage=function(t){this.subplot.map.getSource(this.idSource).updateImage({url:t.source,coordinates:t.coordinates});var e=this.findFollowingMapboxLayerId(this.lookupBelow());null!==e&&this.subplot.map.moveLayer(this.idLayer,e)},l.updateSource=function(t){var e=this.subplot.map;if(e.getSource(this.idSource)&&e.removeSource(this.idSource),this.sourceType=t.sourcetype,this.source=t.source,u(t)){var r=function(t){var e,r=t.sourcetype,n=t.source,a={type:r};return"geojson"===r?e="data":"vector"===r?e="string"==typeof n?"url":"tiles":"raster"===r?(e="tiles",a.tileSize=256):"image"===r&&(e="url",a.coordinates=t.coordinates),a[e]=n,t.sourceattribution&&(a.attribution=i(t.sourceattribution)),a}(t);e.addSource(this.idSource,r)}},l.findFollowingMapboxLayerId=function(t){if("traces"===t)for(var e=this.subplot.getMapLayers(),r=0;r<e.length;r++){var n=e[r].id;if("string"==typeof n&&0===n.indexOf(o.traceLayerPrefix)){t=n;break}}return t},l.updateLayer=function(t){var e=this.subplot,r=c(t),n=this.lookupBelow(),i=this.findFollowingMapboxLayerId(n);this.removeLayer(),u(t)&&e.addLayer({id:this.idLayer,source:this.idSource,"source-layer":t.sourcelayer||"",type:t.type,minzoom:t.minzoom,maxzoom:t.maxzoom,layout:r.layout,paint:r.paint},i),this.layerType=t.type,this.below=n},l.updateStyle=function(t){if(u(t)){var e=c(t);this.subplot.setOptions(this.idLayer,"setLayoutProperty",e.layout),this.subplot.setOptions(this.idLayer,"setPaintProperty",e.paint)}},l.removeLayer=function(){var t=this.subplot.map;t.getLayer(this.idLayer)&&t.removeLayer(this.idLayer)},l.dispose=function(){var t=this.subplot.map;t.getLayer(this.idLayer)&&t.removeLayer(this.idLayer),t.getSource(this.idSource)&&t.removeSource(this.idSource)},t.exports=function(t,e,r){var n=new s(t,e);return n.update(r),n}},23585:function(t,e,r){"use strict";var n=r(71828),i=r(7901).defaultLine,a=r(27670).Y,o=r(41940),s=r(82196).textposition,l=r(30962).overrideAll,u=r(44467).templatedArray,c=r(77734),f=o({});f.family.dflt="Open Sans Regular, Arial Unicode MS Regular",(t.exports=l({_arrayAttrRegexps:[n.counterRegex("mapbox",".layers",!0)],domain:a({name:"mapbox"}),accesstoken:{valType:"string",noBlank:!0,strict:!0},style:{valType:"any",values:c.styleValuesMapbox.concat(c.styleValuesNonMapbox),dflt:c.styleValueDflt},center:{lon:{valType:"number",dflt:0},lat:{valType:"number",dflt:0}},zoom:{valType:"number",dflt:1},bearing:{valType:"number",dflt:0},pitch:{valType:"number",dflt:0},bounds:{west:{valType:"number"},east:{valType:"number"},south:{valType:"number"},north:{valType:"number"}},layers:u("layer",{visible:{valType:"boolean",dflt:!0},sourcetype:{valType:"enumerated",values:["geojson","vector","raster","image"],dflt:"geojson"},source:{valType:"any"},sourcelayer:{valType:"string",dflt:""},sourceattribution:{valType:"string"},type:{valType:"enumerated",values:["circle","line","fill","symbol","raster"],dflt:"circle"},coordinates:{valType:"any"},below:{valType:"string"},color:{valType:"color",dflt:i},opacity:{valType:"number",min:0,max:1,dflt:1},minzoom:{valType:"number",min:0,max:24,dflt:0},maxzoom:{valType:"number",min:0,max:24,dflt:24},circle:{radius:{valType:"number",dflt:15}},line:{width:{valType:"number",dflt:2},dash:{valType:"data_array"}},fill:{outlinecolor:{valType:"color",dflt:i}},symbol:{icon:{valType:"string",dflt:"marker"},iconsize:{valType:"number",dflt:10},text:{valType:"string",dflt:""},placement:{valType:"enumerated",values:["point","line","line-center"],dflt:"point"},textfont:f,textposition:n.extendFlat({},s,{arrayOk:!1})}})},"plot","from-root")).uirevision={valType:"any",editType:"none"}},77882:function(t,e,r){"use strict";var n=r(71828),i=r(49119),a=r(85501),o=r(23585);function s(t,e,r,n){r("accesstoken",n.accessToken),r("style"),r("center.lon"),r("center.lat"),r("zoom"),r("bearing"),r("pitch");var i=r("bounds.west"),o=r("bounds.east"),s=r("bounds.south"),u=r("bounds.north");void 0!==i&&void 0!==o&&void 0!==s&&void 0!==u||delete e.bounds,a(t,e,{name:"layers",handleItemDefaults:l}),e._input=t}function l(t,e){function r(r,i){return n.coerce(t,e,o.layers,r,i)}if(r("visible")){var i,a=r("sourcetype"),s="raster"===a||"image"===a;r("source"),r("sourceattribution"),"vector"===a&&r("sourcelayer"),"image"===a&&r("coordinates"),s&&(i="raster");var l=r("type",i);s&&"raster"!==l&&(l=e.type="raster",n.log("Source types *raster* and *image* must drawn *raster* layer type.")),r("below"),r("color"),r("opacity"),r("minzoom"),r("maxzoom"),"circle"===l&&r("circle.radius"),"line"===l&&(r("line.width"),r("line.dash")),"fill"===l&&r("fill.outlinecolor"),"symbol"===l&&(r("symbol.icon"),r("symbol.iconsize"),r("symbol.text"),n.coerceFont(r,"symbol.textfont"),r("symbol.textposition"),r("symbol.placement"))}}t.exports=function(t,e,r){i(t,e,r,{type:"mapbox",attributes:o,handleDefaults:s,partition:"y",accessToken:e._mapboxAccessToken})}},10481:function(t,e,r){"use strict";var n=r(44517),i=r(71828),a=r(41327),o=r(73972),s=r(89298),l=r(28569),u=r(30211),c=r(64505),f=c.drawMode,h=c.selectMode,p=r(47322).prepSelect,d=r(47322).clearOutline,v=r(47322).clearSelectionsCache,g=r(47322).selectOnClick,y=r(77734),m=r(67911);function x(t,e){this.id=e,this.gd=t;var r=t._fullLayout,n=t._context;this.container=r._glcontainer.node(),this.isStatic=n.staticPlot,this.uid=r._uid+"-"+this.id,this.div=null,this.xaxis=null,this.yaxis=null,this.createFramework(r),this.map=null,this.accessToken=null,this.styleObj=null,this.traceHash={},this.layerList=[],this.belowLookup={},this.dragging=!1,this.wheeling=!1}var b=x.prototype;b.plot=function(t,e,r){var n,i=this,a=e[i.id];i.map&&a.accesstoken!==i.accessToken&&(i.map.remove(),i.map=null,i.styleObj=null,i.traceHash={},i.layerList=[]),n=i.map?new Promise((function(r,n){i.updateMap(t,e,r,n)})):new Promise((function(r,n){i.createMap(t,e,r,n)})),r.push(n)},b.createMap=function(t,e,r,i){var o=this,s=e[o.id],l=o.styleObj=w(s.style);o.accessToken=s.accesstoken;var u=s.bounds,c=u?[[u.west,u.south],[u.east,u.north]]:null,f=o.map=new n.Map({container:o.div,style:l.style,center:k(s.center),zoom:s.zoom,bearing:s.bearing,pitch:s.pitch,maxBounds:c,interactive:!o.isStatic,preserveDrawingBuffer:o.isStatic,doubleClickZoom:!1,boxZoom:!1,attributionControl:!1}).addControl(new n.AttributionControl({compact:!0}));f._canvas.style.left="0px",f._canvas.style.top="0px",o.rejectOnError(i),o.isStatic||o.initFx(t,e);var h=[];h.push(new Promise((function(t){f.once("load",t)}))),h=h.concat(a.fetchTraceGeoData(t)),Promise.all(h).then((function(){o.fillBelowLookup(t,e),o.updateData(t),o.updateLayout(e),o.resolveOnRender(r)})).catch(i)},b.updateMap=function(t,e,r,n){var i=this,o=i.map,s=e[this.id];i.rejectOnError(n);var l=[],u=w(s.style);JSON.stringify(i.styleObj)!==JSON.stringify(u)&&(i.styleObj=u,o.setStyle(u.style),i.traceHash={},l.push(new Promise((function(t){o.once("styledata",t)})))),l=l.concat(a.fetchTraceGeoData(t)),Promise.all(l).then((function(){i.fillBelowLookup(t,e),i.updateData(t),i.updateLayout(e),i.resolveOnRender(r)})).catch(n)},b.fillBelowLookup=function(t,e){var r,n,i=e[this.id].layers,a=this.belowLookup={},o=!1;for(r=0;r<t.length;r++){var s=t[r][0].trace,l=s._module;"string"==typeof s.below?n=s.below:l.getBelow&&(n=l.getBelow(s,this)),""===n&&(o=!0),a["trace-"+s.uid]=n||""}for(r=0;r<i.length;r++){var u=i[r];n="string"==typeof u.below?u.below:o?"traces":"",a["layout-"+r]=n}var c,f,h={};for(c in a)h[n=a[c]]?h[n].push(c):h[n]=[c];for(n in h){var p=h[n];if(p.length>1)for(r=0;r<p.length;r++)0===(c=p[r]).indexOf("trace-")?(f=c.split("trace-")[1],this.traceHash[f]&&(this.traceHash[f].below=null)):0===c.indexOf("layout-")&&(f=c.split("layout-")[1],this.layerList[f]&&(this.layerList[f].below=null))}};var _={choroplethmapbox:0,densitymapbox:1,scattermapbox:2};function w(t){var e={};return i.isPlainObject(t)?(e.id=t.id,e.style=t):"string"==typeof t?(e.id=t,-1!==y.styleValuesMapbox.indexOf(t)?e.style=T(t):y.stylesNonMapbox[t]?e.style=y.stylesNonMapbox[t]:e.style=t):(e.id=y.styleValueDflt,e.style=T(y.styleValueDflt)),e.transition={duration:0,delay:0},e}function T(t){return y.styleUrlPrefix+t+"-"+y.styleUrlSuffix}function k(t){return[t.lon,t.lat]}b.updateData=function(t){var e,r,n,i,a=this.traceHash,o=t.slice().sort((function(t,e){return _[t[0].trace.type]-_[e[0].trace.type]}));for(n=0;n<o.length;n++){var s=o[n],l=!1;(e=a[(r=s[0].trace).uid])&&(e.type===r.type?(e.update(s),l=!0):e.dispose()),!l&&r._module&&(a[r.uid]=r._module.plot(this,s))}var u=Object.keys(a);t:for(n=0;n<u.length;n++){var c=u[n];for(i=0;i<t.length;i++)if(c===(r=t[i][0].trace).uid)continue t;(e=a[c]).dispose(),delete a[c]}},b.updateLayout=function(t){var e=this.map,r=t[this.id];this.dragging||this.wheeling||(e.setCenter(k(r.center)),e.setZoom(r.zoom),e.setBearing(r.bearing),e.setPitch(r.pitch)),this.updateLayers(t),this.updateFramework(t),this.updateFx(t),this.map.resize(),this.gd._context._scrollZoom.mapbox?e.scrollZoom.enable():e.scrollZoom.disable()},b.resolveOnRender=function(t){var e=this.map;e.on("render",(function r(){e.loaded()&&(e.off("render",r),setTimeout(t,10))}))},b.rejectOnError=function(t){var e=this.map;function r(){t(new Error(y.mapOnErrorMsg))}e.once("error",r),e.once("style.error",r),e.once("source.error",r),e.once("tile.error",r),e.once("layer.error",r)},b.createFramework=function(t){var e=this,r=e.div=document.createElement("div");r.id=e.uid,r.style.position="absolute",e.container.appendChild(r),e.xaxis={_id:"x",c2p:function(t){return e.project(t).x}},e.yaxis={_id:"y",c2p:function(t){return e.project(t).y}},e.updateFramework(t),e.mockAxis={type:"linear",showexponent:"all",exponentformat:"B"},s.setConvert(e.mockAxis,t)},b.initFx=function(t,e){var r=this,n=r.gd,i=r.map;function a(){u.loneUnhover(e._hoverlayer)}function s(){var t=r.getView();n.emit("plotly_relayouting",r.getViewEditsWithDerived(t))}i.on("moveend",(function(t){if(r.map){var e=n._fullLayout;if(t.originalEvent||r.wheeling){var i=e[r.id];o.call("_storeDirectGUIEdit",n.layout,e._preGUI,r.getViewEdits(i));var a=r.getView();i._input.center=i.center=a.center,i._input.zoom=i.zoom=a.zoom,i._input.bearing=i.bearing=a.bearing,i._input.pitch=i.pitch=a.pitch,n.emit("plotly_relayout",r.getViewEditsWithDerived(a))}t.originalEvent&&"mouseup"===t.originalEvent.type?r.dragging=!1:r.wheeling&&(r.wheeling=!1),e._rehover&&e._rehover()}})),i.on("wheel",(function(){r.wheeling=!0})),i.on("mousemove",(function(t){var e=r.div.getBoundingClientRect(),a=[t.originalEvent.offsetX,t.originalEvent.offsetY];t.target.getBoundingClientRect=function(){return e},r.xaxis.p2c=function(){return i.unproject(a).lng},r.yaxis.p2c=function(){return i.unproject(a).lat},n._fullLayout._rehover=function(){n._fullLayout._hoversubplot===r.id&&n._fullLayout[r.id]&&u.hover(n,t,r.id)},u.hover(n,t,r.id),n._fullLayout._hoversubplot=r.id})),i.on("dragstart",(function(){r.dragging=!0,a()})),i.on("zoomstart",a),i.on("mouseout",(function(){n._fullLayout._hoversubplot=null})),i.on("drag",s),i.on("zoom",s),i.on("dblclick",(function(){var t=n._fullLayout[r.id];o.call("_storeDirectGUIEdit",n.layout,n._fullLayout._preGUI,r.getViewEdits(t));var e=r.viewInitial;i.setCenter(k(e.center)),i.setZoom(e.zoom),i.setBearing(e.bearing),i.setPitch(e.pitch);var a=r.getView();t._input.center=t.center=a.center,t._input.zoom=t.zoom=a.zoom,t._input.bearing=t.bearing=a.bearing,t._input.pitch=t.pitch=a.pitch,n.emit("plotly_doubleclick",null),n.emit("plotly_relayout",r.getViewEditsWithDerived(a))})),r.clearOutline=function(){v(r.dragOptions),d(r.dragOptions.gd)},r.onClickInPanFn=function(t){return function(e){var i=n._fullLayout.clickmode;i.indexOf("select")>-1&&g(e.originalEvent,n,[r.xaxis],[r.yaxis],r.id,t),i.indexOf("event")>-1&&u.click(n,e.originalEvent)}}},b.updateFx=function(t){var e=this,r=e.map,n=e.gd;if(!e.isStatic){var a,o=t.dragmode;a=function(t,r){r.isRect?(t.range={})[e.id]=[u([r.xmin,r.ymin]),u([r.xmax,r.ymax])]:(t.lassoPoints={})[e.id]=r.map(u)};var s=e.dragOptions;e.dragOptions=i.extendDeep(s||{},{dragmode:t.dragmode,element:e.div,gd:n,plotinfo:{id:e.id,domain:t[e.id].domain,xaxis:e.xaxis,yaxis:e.yaxis,fillRangeItems:a},xaxes:[e.xaxis],yaxes:[e.yaxis],subplot:e.id}),r.off("click",e.onClickInPanHandler),h(o)||f(o)?(r.dragPan.disable(),r.on("zoomstart",e.clearOutline),e.dragOptions.prepFn=function(t,r,n){p(t,r,n,e.dragOptions,o)},l.init(e.dragOptions)):(r.dragPan.enable(),r.off("zoomstart",e.clearOutline),e.div.onmousedown=null,e.div.ontouchstart=null,e.div.removeEventListener("touchstart",e.div._ontouchstart),e.onClickInPanHandler=e.onClickInPanFn(e.dragOptions),r.on("click",e.onClickInPanHandler))}function u(t){var r=e.map.unproject(t);return[r.lng,r.lat]}},b.updateFramework=function(t){var e=t[this.id].domain,r=t._size,n=this.div.style;n.width=r.w*(e.x[1]-e.x[0])+"px",n.height=r.h*(e.y[1]-e.y[0])+"px",n.left=r.l+e.x[0]*r.w+"px",n.top=r.t+(1-e.y[1])*r.h+"px",this.xaxis._offset=r.l+e.x[0]*r.w,this.xaxis._length=r.w*(e.x[1]-e.x[0]),this.yaxis._offset=r.t+(1-e.y[1])*r.h,this.yaxis._length=r.h*(e.y[1]-e.y[0])},b.updateLayers=function(t){var e,r=t[this.id].layers,n=this.layerList;if(r.length!==n.length){for(e=0;e<n.length;e++)n[e].dispose();for(n=this.layerList=[],e=0;e<r.length;e++)n.push(m(this,e,r[e]))}else for(e=0;e<r.length;e++)n[e].update(r[e])},b.destroy=function(){this.map&&(this.map.remove(),this.map=null,this.container.removeChild(this.div))},b.toImage=function(){return this.map.stop(),this.map.getCanvas().toDataURL()},b.setOptions=function(t,e,r){for(var n in r)this.map[e](t,n,r[n])},b.getMapLayers=function(){return this.map.getStyle().layers},b.addLayer=function(t,e){var r=this.map;if("string"==typeof e){if(""===e)return void r.addLayer(t,e);for(var n=this.getMapLayers(),a=0;a<n.length;a++)if(e===n[a].id)return void r.addLayer(t,e);i.warn(["Trying to add layer with *below* value",e,"referencing a layer that does not exist","or that does not yet exist."].join(" "))}r.addLayer(t)},b.project=function(t){return this.map.project(new n.LngLat(t[0],t[1]))},b.getView=function(){var t=this.map,e=t.getCenter(),r={lon:e.lng,lat:e.lat},n=t.getCanvas(),i=parseInt(n.style.width),a=parseInt(n.style.height);return{center:r,zoom:t.getZoom(),bearing:t.getBearing(),pitch:t.getPitch(),_derived:{coordinates:[t.unproject([0,0]).toArray(),t.unproject([i,0]).toArray(),t.unproject([i,a]).toArray(),t.unproject([0,a]).toArray()]}}},b.getViewEdits=function(t){for(var e=this.id,r=["center","zoom","bearing","pitch"],n={},i=0;i<r.length;i++){var a=r[i];n[e+"."+a]=t[a]}return n},b.getViewEditsWithDerived=function(t){var e=this.id,r=this.getViewEdits(t);return r[e+"._derived"]=t._derived,r},t.exports=x},35025:function(t){"use strict";t.exports=function(t){var e=t.editType;return{t:{valType:"number",dflt:0,editType:e},r:{valType:"number",dflt:0,editType:e},b:{valType:"number",dflt:0,editType:e},l:{valType:"number",dflt:0,editType:e},editType:e}}},74875:function(t,e,r){"use strict";var n=r(39898),i=r(84096).Dq,a=r(60721).FF,o=r(92770),s=r(73972),l=r(86281),u=r(44467),c=r(71828),f=r(7901),h=r(50606).BADNUM,p=r(41675),d=r(51873).clearOutline,v=r(21479),g=r(85594),y=r(31391),m=r(27659).a0,x=c.relinkPrivateKeys,b=c._,_=t.exports={};c.extendFlat(_,s),_.attributes=r(9012),_.attributes.type.values=_.allTypes,_.fontAttrs=r(41940),_.layoutAttributes=r(10820),_.fontWeight="normal";var w=_.transformsRegistry,T=r(31137);_.executeAPICommand=T.executeAPICommand,_.computeAPICommandBindings=T.computeAPICommandBindings,_.manageCommandObserver=T.manageCommandObserver,_.hasSimpleAPICommandBindings=T.hasSimpleAPICommandBindings,_.redrawText=function(t){return t=c.getGraphDiv(t),new Promise((function(e){setTimeout((function(){t._fullLayout&&(s.getComponentMethod("annotations","draw")(t),s.getComponentMethod("legend","draw")(t),s.getComponentMethod("colorbar","draw")(t),e(_.previousPromises(t)))}),300)}))},_.resize=function(t){var e;t=c.getGraphDiv(t);var r=new Promise((function(r,n){t&&!c.isHidden(t)||n(new Error("Resize must be passed a displayed plot div element.")),t._redrawTimer&&clearTimeout(t._redrawTimer),t._resolveResize&&(e=t._resolveResize),t._resolveResize=r,t._redrawTimer=setTimeout((function(){if(!t.layout||t.layout.width&&t.layout.height||c.isHidden(t))r(t);else{delete t.layout.width,delete t.layout.height;var e=t.changed;t.autoplay=!0,s.call("relayout",t,{autosize:!0}).then((function(){t.changed=e,t._resolveResize===r&&(delete t._resolveResize,r(t))}))}}),100)}));return e&&e(r),r},_.previousPromises=function(t){if((t._promises||[]).length)return Promise.all(t._promises).then((function(){t._promises=[]}))},_.addLinks=function(t){if(t._context.showLink||t._context.showSources){var e=t._fullLayout,r=c.ensureSingle(e._paper,"text","js-plot-link-container",(function(t){t.style({"font-family":'"Open Sans", Arial, sans-serif',"font-size":"12px",fill:f.defaultLine,"pointer-events":"all"}).each((function(){var t=n.select(this);t.append("tspan").classed("js-link-to-tool",!0),t.append("tspan").classed("js-link-spacer",!0),t.append("tspan").classed("js-sourcelinks",!0)}))})),i=r.node(),a={y:e._paper.attr("height")-9};document.body.contains(i)&&i.getComputedTextLength()>=e.width-20?(a["text-anchor"]="start",a.x=5):(a["text-anchor"]="end",a.x=e._paper.attr("width")-7),r.attr(a);var o=r.select(".js-link-to-tool"),s=r.select(".js-link-spacer"),l=r.select(".js-sourcelinks");t._context.showSources&&t._context.showSources(t),t._context.showLink&&function(t,e){e.text("");var r=e.append("a").attr({"xlink:xlink:href":"#",class:"link--impt link--embedview","font-weight":"bold"}).text(t._context.linkText+" "+String.fromCharCode(187));if(t._context.sendData)r.on("click",(function(){_.sendDataToCloud(t)}));else{var n=window.location.pathname.split("/"),i=window.location.search;r.attr({"xlink:xlink:show":"new","xlink:xlink:href":"/"+n[2].split(".")[0]+"/"+n[1]+i})}}(t,o),s.text(o.text()&&l.text()?" - ":"")}},_.sendDataToCloud=function(t){var e=(window.PLOTLYENV||{}).BASE_URL||t._context.plotlyServerURL;if(e){t.emit("plotly_beforeexport");var r=n.select(t).append("div").attr("id","hiddenform").style("display","none"),i=r.append("form").attr({action:e+"/external",method:"post",target:"_blank"});return i.append("input").attr({type:"text",name:"data"}).node().value=_.graphJson(t,!1,"keepdata"),i.node().submit(),r.remove(),t.emit("plotly_afterexport"),!1}};var k=["days","shortDays","months","shortMonths","periods","dateTime","date","time","decimal","thousands","grouping","currency"],A=["year","month","dayMonth","dayMonthYear"];function M(t,e){var r=t._context.locale;r||(r="en-US");var n=!1,i={};function a(t){for(var r=!0,a=0;a<e.length;a++){var o=e[a];i[o]||(t[o]?i[o]=t[o]:r=!1)}r&&(n=!0)}for(var o=0;o<2;o++){for(var l=t._context.locales,u=0;u<2;u++){var c=(l[r]||{}).format;if(c&&(a(c),n))break;l=s.localeRegistry}var f=r.split("-")[0];if(n||f===r)break;r=f}return n||a(s.localeRegistry.en.format),i}function S(t,e){var r={_fullLayout:e},n="x"===t._id.charAt(0),i=t._mainAxis._anchorAxis,a="",o="",s="";if(i&&(s=i._mainAxis._id,a=n?t._id+s:s+t._id),!a||!e._plots[a]){a="";for(var l=t._counterAxes,u=0;u<l.length;u++){var c=l[u],f=n?t._id+c:c+t._id;o||(o=f);var h=p.getFromId(r,c);if(s&&h.overlaying===s){a=f;break}}}return a||o}function E(t){var e=t.transforms;if(Array.isArray(e)&&e.length)for(var r=0;r<e.length;r++){var n=e[r],i=n._module||w[n.type];if(i&&i.makesData)return!0}return!1}function L(t,e,r,n){for(var i=t.transforms,a=[t],o=0;o<i.length;o++){var s=i[o],l=w[s.type];l&&l.transform&&(a=l.transform(a,{transform:s,fullTrace:t,fullData:e,layout:r,fullLayout:n,transformIndex:o}))}return a}function C(t){return"string"==typeof t&&"px"===t.substr(t.length-2)&&parseFloat(t)}function P(t){var e=t.margin;if(!t._size){var r=t._size={l:Math.round(e.l),r:Math.round(e.r),t:Math.round(e.t),b:Math.round(e.b),p:Math.round(e.pad)};r.w=Math.round(t.width)-r.l-r.r,r.h=Math.round(t.height)-r.t-r.b}t._pushmargin||(t._pushmargin={}),t._pushmarginIds||(t._pushmarginIds={})}_.supplyDefaults=function(t,e){var r=e&&e.skipUpdateCalc,n=t._fullLayout||{};if(n._skipDefaults)delete n._skipDefaults;else{var o,l=t._fullLayout={},u=t.layout||{},f=t._fullData||[],h=t._fullData=[],p=t.data||[],v=t.calcdata||[],g=t._context||{};t._transitionData||_.createTransitionData(t),l._dfltTitle={plot:b(t,"Click to enter Plot title"),x:b(t,"Click to enter X axis title"),y:b(t,"Click to enter Y axis title"),colorbar:b(t,"Click to enter Colorscale title"),annotation:b(t,"new text")},l._traceWord=b(t,"trace");var y=M(t,k);if(l._mapboxAccessToken=g.mapboxAccessToken,n._initialAutoSizeIsDone){var m=n.width,w=n.height;_.supplyLayoutGlobalDefaults(u,l,y),u.width||(l.width=m),u.height||(l.height=w),_.sanitizeMargins(l)}else{_.supplyLayoutGlobalDefaults(u,l,y);var T=!u.width||!u.height,S=l.autosize,E=g.autosizable;T&&(S||E)?_.plotAutoSize(t,u,l):T&&_.sanitizeMargins(l),!S&&T&&(u.width=l.width,u.height=l.height)}l._d3locale=function(t,e){return t.decimal=e.charAt(0),t.thousands=e.charAt(1),{numberFormat:function(e){try{e=a(t).format(c.adjustFormat(e))}catch(t){return c.warnBadFormat(e),c.noFormat}return e},timeFormat:i(t).utcFormat}}(y,l.separators),l._extraFormat=M(t,A),l._initialAutoSizeIsDone=!0,l._dataLength=p.length,l._modules=[],l._visibleModules=[],l._basePlotModules=[];var L=l._subplots=function(){var t,e,r=s.collectableSubplotTypes,n={};if(!r){r=[];var i=s.subplotsRegistry;for(var a in i){var o=i[a].attr;if(o&&(r.push(a),Array.isArray(o)))for(e=0;e<o.length;e++)c.pushUnique(r,o[e])}}for(t=0;t<r.length;t++)n[r[t]]=[];return n}(),C=l._splomAxes={x:{},y:{}},O=l._splomSubplots={};l._splomGridDflt={},l._scatterStackOpts={},l._firstScatter={},l._alignmentOpts={},l._colorAxes={},l._requestRangeslider={},l._traceUids=function(t,e){var r,n,i=e.length,a=[];for(r=0;r<t.length;r++){var o=t[r]._fullInput;o!==n&&a.push(o),n=o}var s=a.length,l=new Array(i),u={};function f(t,e){l[e]=t,u[t]=1}function h(t,e){if(t&&"string"==typeof t&&!u[t])return f(t,e),!0}for(r=0;r<i;r++){var p=e[r].uid;"number"==typeof p&&(p=String(p)),h(p,r)||r<s&&h(a[r].uid,r)||f(c.randstr(u),r)}return l}(f,p),l._globalTransforms=(t._context||{}).globalTransforms,_.supplyDataDefaults(p,h,u,l);var I=Object.keys(C.x),D=Object.keys(C.y);if(I.length>1&&D.length>1){for(s.getComponentMethod("grid","sizeDefaults")(u,l),o=0;o<I.length;o++)c.pushUnique(L.xaxis,I[o]);for(o=0;o<D.length;o++)c.pushUnique(L.yaxis,D[o]);for(var z in O)c.pushUnique(L.cartesian,z)}if(l._has=_._hasPlotType.bind(l),f.length===h.length)for(o=0;o<h.length;o++)x(h[o],f[o]);_.supplyLayoutModuleDefaults(u,l,h,t._transitionData);var R=l._visibleModules,F=[];for(o=0;o<R.length;o++){var B=R[o].crossTraceDefaults;B&&c.pushUnique(F,B)}for(o=0;o<F.length;o++)F[o](h,l);l._hasOnlyLargeSploms=1===l._basePlotModules.length&&"splom"===l._basePlotModules[0].name&&I.length>15&&D.length>15&&0===l.shapes.length&&0===l.images.length,_.linkSubplots(h,l,f,n),_.cleanPlot(h,l,f,n);var N=!(!n._has||!n._has("gl2d")),j=!(!l._has||!l._has("gl2d")),U=!(!n._has||!n._has("cartesian"))||N,V=!(!l._has||!l._has("cartesian"))||j;U&&!V?n._bgLayer.remove():V&&!U&&(l._shouldCreateBgLayer=!0),n._zoomlayer&&!t._dragging&&d({_fullLayout:n}),function(t,e){var r,n=[];e.meta&&(r=e._meta={meta:e.meta,layout:{meta:e.meta}});for(var i=0;i<t.length;i++){var a=t[i];a.meta?n[a.index]=a._meta={meta:a.meta}:e.meta&&(a._meta={meta:e.meta}),e.meta&&(a._meta.layout={meta:e.meta})}n.length&&(r||(r=e._meta={}),r.data=n)}(h,l),x(l,n),s.getComponentMethod("colorscale","crossTraceDefaults")(h,l),l._preGUI||(l._preGUI={}),l._tracePreGUI||(l._tracePreGUI={});var H,q=l._tracePreGUI,G={};for(H in q)G[H]="old";for(o=0;o<h.length;o++)G[H=h[o]._fullInput.uid]||(q[H]={}),G[H]="new";for(H in G)"old"===G[H]&&delete q[H];P(l),s.getComponentMethod("rangeslider","makeData")(l),r||v.length!==h.length||_.supplyDefaultsUpdateCalc(v,h)}},_.supplyDefaultsUpdateCalc=function(t,e){for(var r=0;r<e.length;r++){var n=e[r],i=(t[r]||[])[0];if(i&&i.trace){var a=i.trace;if(a._hasCalcTransform){var o,s,l,u=a._arrayAttrs;for(o=0;o<u.length;o++)s=u[o],l=c.nestedProperty(a,s).get().slice(),c.nestedProperty(n,s).set(l)}i.trace=n}}},_.createTransitionData=function(t){t._transitionData||(t._transitionData={}),t._transitionData._frames||(t._transitionData._frames=[]),t._transitionData._frameHash||(t._transitionData._frameHash={}),t._transitionData._counter||(t._transitionData._counter=0),t._transitionData._interruptCallbacks||(t._transitionData._interruptCallbacks=[])},_._hasPlotType=function(t){var e,r=this._basePlotModules||[];for(e=0;e<r.length;e++)if(r[e].name===t)return!0;var n=this._modules||[];for(e=0;e<n.length;e++){var i=n[e].name;if(i===t)return!0;var a=s.modules[i];if(a&&a.categories[t])return!0}return!1},_.cleanPlot=function(t,e,r,n){var i,a,o=n._basePlotModules||[];for(i=0;i<o.length;i++){var s=o[i];s.clean&&s.clean(t,e,r,n)}var l=n._has&&n._has("gl"),u=e._has&&e._has("gl");l&&!u&&void 0!==n._glcontainer&&(n._glcontainer.selectAll(".gl-canvas").remove(),n._glcontainer.selectAll(".no-webgl").remove(),n._glcanvas=null);var c=!!n._infolayer;t:for(i=0;i<r.length;i++){var f=r[i].uid;for(a=0;a<t.length;a++)if(f===t[a].uid)continue t;c&&n._infolayer.select(".cb"+f).remove()}},_.linkSubplots=function(t,e,r,n){var i,a,o=n._plots||{},l=e._plots={},u=e._subplots,f={_fullData:t,_fullLayout:e},h=u.cartesian.concat(u.gl2d||[]);for(i=0;i<h.length;i++){var d,v=h[i],g=o[v],y=p.getFromId(f,v,"x"),m=p.getFromId(f,v,"y");for(g?d=l[v]=g:(d=l[v]={}).id=v,y._counterAxes.push(m._id),m._counterAxes.push(y._id),y._subplotsWith.push(v),m._subplotsWith.push(v),d.xaxis=y,d.yaxis=m,d._hasClipOnAxisFalse=!1,a=0;a<t.length;a++){var x=t[a];if(x.xaxis===d.xaxis._id&&x.yaxis===d.yaxis._id&&!1===x.cliponaxis){d._hasClipOnAxisFalse=!0;break}}}var b,_=p.list(f,null,!0);for(i=0;i<_.length;i++){var w=null;(b=_[i]).overlaying&&(w=p.getFromId(f,b.overlaying))&&w.overlaying&&(b.overlaying=!1,w=null),b._mainAxis=w||b,w&&(b.domain=w.domain.slice()),b._anchorAxis="free"===b.anchor?null:p.getFromId(f,b.anchor)}for(i=0;i<_.length;i++)if((b=_[i])._counterAxes.sort(p.idSort),b._subplotsWith.sort(c.subplotSort),b._mainSubplot=S(b,e),b._counterAxes.length&&(b.spikemode&&-1!==b.spikemode.indexOf("across")||b.automargin&&b.mirror&&"free"!==b.anchor||s.getComponentMethod("rangeslider","isVisible")(b))){var T=1,k=0;for(a=0;a<b._counterAxes.length;a++){var A=p.getFromId(f,b._counterAxes[a]);T=Math.min(T,A.domain[0]),k=Math.max(k,A.domain[1])}T<k&&(b._counterDomainMin=T,b._counterDomainMax=k)}},_.clearExpandedTraceDefaultColors=function(t){var e,r,n;for(r=[],(e=t._module._colorAttrs)||(t._module._colorAttrs=e=[],l.crawl(t._module.attributes,(function(t,n,i,a){r[a]=n,r.length=a+1,"color"===t.valType&&void 0===t.dflt&&e.push(r.join("."))}))),n=0;n<e.length;n++)c.nestedProperty(t,"_input."+e[n]).get()||c.nestedProperty(t,e[n]).set(null)},_.supplyDataDefaults=function(t,e,r,n){var i,a,o,l=n._modules,f=n._visibleModules,h=n._basePlotModules,p=0,d=0;function v(t){e.push(t);var r=t._module;r&&(c.pushUnique(l,r),!0===t.visible&&c.pushUnique(f,r),c.pushUnique(h,t._module.basePlotModule),p++,!1!==t._input.visible&&d++)}n._transformModules=[];var g={},y=[],m=(r.template||{}).data||{},b=u.traceTemplater(m);for(i=0;i<t.length;i++){if(o=t[i],(a=b.newTrace(o)).uid=n._traceUids[i],_.supplyTraceDefaults(o,a,d,n,i),a.index=i,a._input=o,a._expandedIndex=p,a.transforms&&a.transforms.length)for(var w=!1!==o.visible&&!1===a.visible,T=L(a,e,r,n),k=0;k<T.length;k++){var A=T[k],M={_template:a._template,type:a.type,uid:a.uid+k};w&&!1===A.visible&&delete A.visible,_.supplyTraceDefaults(A,M,p,n,i),x(M,A),M.index=i,M._input=o,M._fullInput=a,M._expandedIndex=p,M._expandedInput=A,v(M)}else a._fullInput=a,a._expandedInput=a,v(a);s.traceIs(a,"carpetAxis")&&(g[a.carpet]=a),s.traceIs(a,"carpetDependent")&&y.push(i)}for(i=0;i<y.length;i++)if((a=e[y[i]]).visible){var S=g[a.carpet];a._carpet=S,S&&S.visible?(a.xaxis=S.xaxis,a.yaxis=S.yaxis):a.visible=!1}},_.supplyAnimationDefaults=function(t){var e;t=t||{};var r={};function n(e,n){return c.coerce(t||{},r,g,e,n)}if(n("mode"),n("direction"),n("fromcurrent"),Array.isArray(t.frame))for(r.frame=[],e=0;e<t.frame.length;e++)r.frame[e]=_.supplyAnimationFrameDefaults(t.frame[e]||{});else r.frame=_.supplyAnimationFrameDefaults(t.frame||{});if(Array.isArray(t.transition))for(r.transition=[],e=0;e<t.transition.length;e++)r.transition[e]=_.supplyAnimationTransitionDefaults(t.transition[e]||{});else r.transition=_.supplyAnimationTransitionDefaults(t.transition||{});return r},_.supplyAnimationFrameDefaults=function(t){var e={};function r(r,n){return c.coerce(t||{},e,g.frame,r,n)}return r("duration"),r("redraw"),e},_.supplyAnimationTransitionDefaults=function(t){var e={};function r(r,n){return c.coerce(t||{},e,g.transition,r,n)}return r("duration"),r("easing"),e},_.supplyFrameDefaults=function(t){var e={};function r(r,n){return c.coerce(t,e,y,r,n)}return r("group"),r("name"),r("traces"),r("baseframe"),r("data"),r("layout"),e},_.supplyTraceDefaults=function(t,e,r,n,i){var a,o=n.colorway||f.defaults,l=o[r%o.length];function u(r,n){return c.coerce(t,e,_.attributes,r,n)}var h=u("visible");u("type"),u("name",n._traceWord+" "+i),u("uirevision",n.uirevision);var p=_.getModule(e);if(e._module=p,p){var d=p.basePlotModule,v=d.attr,g=d.attributes;if(v&&g){var y=n._subplots,m="";if(h||"gl2d"!==d.name){if(Array.isArray(v))for(a=0;a<v.length;a++){var x=v[a],b=c.coerce(t,e,g,x);y[x]&&c.pushUnique(y[x],b),m+=b}else m=c.coerce(t,e,g,v);y[d.name]&&c.pushUnique(y[d.name],m)}}}return h&&(u("customdata"),u("ids"),u("meta"),s.traceIs(e,"showLegend")?(c.coerce(t,e,p.attributes.showlegend?p.attributes:_.attributes,"showlegend"),u("legendwidth"),u("legendgroup"),u("legendgrouptitle.text"),u("legendrank"),e._dfltShowLegend=!0):e._dfltShowLegend=!1,p&&p.supplyDefaults(t,e,l,n),s.traceIs(e,"noOpacity")||u("opacity"),s.traceIs(e,"notLegendIsolatable")&&(e.visible=!!e.visible),s.traceIs(e,"noHover")||(e.hovertemplate||c.coerceHoverinfo(t,e,n),"parcats"!==e.type&&s.getComponentMethod("fx","supplyDefaults")(t,e,l,n)),p&&p.selectPoints&&u("selectedpoints"),_.supplyTransformDefaults(t,e,n)),e},_.hasMakesDataTransform=E,_.supplyTransformDefaults=function(t,e,r){if(e._length||E(t)){var n=r._globalTransforms||[],i=r._transformModules||[];if(Array.isArray(t.transforms)||0!==n.length)for(var a=t.transforms||[],o=n.concat(a),s=e.transforms=[],l=0;l<o.length;l++){var u,f=o[l],h=f.type,p=w[h],d=!(f._module&&f._module===p),v=p&&"function"==typeof p.transform;p||c.warn("Unrecognized transform type "+h+"."),p&&p.supplyDefaults&&(d||v)?((u=p.supplyDefaults(f,e,r,t)).type=h,u._module=p,c.pushUnique(i,p)):u=c.extendFlat({},f),s.push(u)}}},_.supplyLayoutGlobalDefaults=function(t,e,r){function n(r,n){return c.coerce(t,e,_.layoutAttributes,r,n)}var i=t.template;c.isPlainObject(i)&&(e.template=i,e._template=i.layout,e._dataTemplate=i.data),n("autotypenumbers");var a=c.coerceFont(n,"font"),o=a.size;c.coerceFont(n,"title.font",c.extendFlat({},a,{size:Math.round(1.4*o)})),n("title.text",e._dfltTitle.plot),n("title.xref"),n("title.yref"),n("title.x"),n("title.y"),n("title.xanchor"),n("title.yanchor"),n("title.pad.t"),n("title.pad.r"),n("title.pad.b"),n("title.pad.l"),n("uniformtext.mode")&&n("uniformtext.minsize"),n("autosize",!(t.width&&t.height)),n("width"),n("height"),n("minreducedwidth"),n("minreducedheight"),n("margin.l"),n("margin.r"),n("margin.t"),n("margin.b"),n("margin.pad"),n("margin.autoexpand"),t.width&&t.height&&_.sanitizeMargins(e),s.getComponentMethod("grid","sizeDefaults")(t,e),n("paper_bgcolor"),n("separators",r.decimal+r.thousands),n("hidesources"),n("colorway"),n("datarevision");var l=n("uirevision");n("editrevision",l),n("selectionrevision",l),s.getComponentMethod("modebar","supplyLayoutDefaults")(t,e),s.getComponentMethod("shapes","supplyDrawNewShapeDefaults")(t,e,n),s.getComponentMethod("selections","supplyDrawNewSelectionDefaults")(t,e,n),n("meta"),c.isPlainObject(t.transition)&&(n("transition.duration"),n("transition.easing"),n("transition.ordering")),s.getComponentMethod("calendars","handleDefaults")(t,e,"calendar"),s.getComponentMethod("fx","supplyLayoutGlobalDefaults")(t,e,n),c.coerce(t,e,v,"scattermode")},_.plotAutoSize=function(t,e,r){var n,i,a=t._context||{},s=a.frameMargins,l=c.isPlotDiv(t);if(l&&t.emit("plotly_autosize"),a.fillFrame)n=window.innerWidth,i=window.innerHeight,document.body.style.overflow="hidden";else{var u=l?window.getComputedStyle(t):{};if(n=C(u.width)||C(u.maxWidth)||r.width,i=C(u.height)||C(u.maxHeight)||r.height,o(s)&&s>0){var f=1-2*s;n=Math.round(f*n),i=Math.round(f*i)}}var h=_.layoutAttributes.width.min,p=_.layoutAttributes.height.min;n<h&&(n=h),i<p&&(i=p);var d=!e.width&&Math.abs(r.width-n)>1,v=!e.height&&Math.abs(r.height-i)>1;(v||d)&&(d&&(r.width=n),v&&(r.height=i)),t._initialAutoSize||(t._initialAutoSize={width:n,height:i}),_.sanitizeMargins(r)},_.supplyLayoutModuleDefaults=function(t,e,r,n){var i,a,o,l=s.componentsRegistry,u=e._basePlotModules,f=s.subplotsRegistry.cartesian;for(i in l)(o=l[i]).includeBasePlot&&o.includeBasePlot(t,e);for(var h in u.length||u.push(f),e._has("cartesian")&&(s.getComponentMethod("grid","contentDefaults")(t,e),f.finalizeSubplots(t,e)),e._subplots)e._subplots[h].sort(c.subplotSort);for(a=0;a<u.length;a++)(o=u[a]).supplyLayoutDefaults&&o.supplyLayoutDefaults(t,e,r);var p=e._modules;for(a=0;a<p.length;a++)(o=p[a]).supplyLayoutDefaults&&o.supplyLayoutDefaults(t,e,r);var d=e._transformModules;for(a=0;a<d.length;a++)(o=d[a]).supplyLayoutDefaults&&o.supplyLayoutDefaults(t,e,r,n);for(i in l)(o=l[i]).supplyLayoutDefaults&&o.supplyLayoutDefaults(t,e,r)},_.purge=function(t){var e=t._fullLayout||{};void 0!==e._glcontainer&&(e._glcontainer.selectAll(".gl-canvas").remove(),e._glcontainer.remove(),e._glcanvas=null),e._modeBar&&e._modeBar.destroy(),t._transitionData&&(t._transitionData._interruptCallbacks&&(t._transitionData._interruptCallbacks.length=0),t._transitionData._animationRaf&&window.cancelAnimationFrame(t._transitionData._animationRaf)),c.clearThrottle(),c.clearResponsive(t),delete t.data,delete t.layout,delete t._fullData,delete t._fullLayout,delete t.calcdata,delete t.empty,delete t.fid,delete t.undoqueue,delete t.undonum,delete t.autoplay,delete t.changed,delete t._promises,delete t._redrawTimer,delete t._hmlumcount,delete t._hmpixcount,delete t._transitionData,delete t._transitioning,delete t._initialAutoSize,delete t._transitioningWithDuration,delete t._dragging,delete t._dragged,delete t._dragdata,delete t._hoverdata,delete t._snapshotInProgress,delete t._editing,delete t._mouseDownTime,delete t._legendMouseDownTime,t.removeAllListeners&&t.removeAllListeners()},_.style=function(t){var e,r=t._fullLayout._visibleModules,n=[];for(e=0;e<r.length;e++){var i=r[e];i.style&&c.pushUnique(n,i.style)}for(e=0;e<n.length;e++)n[e](t)},_.sanitizeMargins=function(t){if(t&&t.margin){var e,r=t.width,n=t.height,i=t.margin,a=r-(i.l+i.r),o=n-(i.t+i.b);a<0&&(e=(r-1)/(i.l+i.r),i.l=Math.floor(e*i.l),i.r=Math.floor(e*i.r)),o<0&&(e=(n-1)/(i.t+i.b),i.t=Math.floor(e*i.t),i.b=Math.floor(e*i.b))}},_.clearAutoMarginIds=function(t){t._fullLayout._pushmarginIds={}},_.allowAutoMargin=function(t,e){t._fullLayout._pushmarginIds[e]=1},_.autoMargin=function(t,e,r){var n=t._fullLayout,i=n.width,a=n.height,o=n.margin,s=n.minreducedwidth,l=n.minreducedheight,u=c.constrain(i-o.l-o.r,2,s),f=c.constrain(a-o.t-o.b,2,l),h=Math.max(0,i-u),p=Math.max(0,a-f),d=n._pushmargin,v=n._pushmarginIds;if(!1!==o.autoexpand){if(r){var g=r.pad;if(void 0===g&&(g=Math.min(12,o.l,o.r,o.t,o.b)),h){var y=(r.l+r.r)/h;y>1&&(r.l/=y,r.r/=y)}if(p){var m=(r.t+r.b)/p;m>1&&(r.t/=m,r.b/=m)}var x=void 0!==r.xl?r.xl:r.x,b=void 0!==r.xr?r.xr:r.x,w=void 0!==r.yt?r.yt:r.y,T=void 0!==r.yb?r.yb:r.y;d[e]={l:{val:x,size:r.l+g},r:{val:b,size:r.r+g},b:{val:T,size:r.b+g},t:{val:w,size:r.t+g}},v[e]=1}else delete d[e],delete v[e];if(!n._replotting)return _.doAutoMargin(t)}},_.doAutoMargin=function(t){var e=t._fullLayout,r=e.width,n=e.height;e._size||(e._size={}),P(e);var i=e._size,a=e.margin,l=c.extendFlat({},i),u=a.l,f=a.r,h=a.t,d=a.b,v=e._pushmargin,g=e._pushmarginIds,y=e.minreducedwidth,m=e.minreducedheight;if(!1!==e.margin.autoexpand){for(var x in v)g[x]||delete v[x];for(var b in v.base={l:{val:0,size:u},r:{val:1,size:f},t:{val:1,size:h},b:{val:0,size:d}},v){var w=v[b].l||{},T=v[b].b||{},k=w.val,A=w.size,M=T.val,S=T.size;for(var E in v){if(o(A)&&v[E].r){var L=v[E].r.val,C=v[E].r.size;if(L>k){var O=(A*L+(C-r)*k)/(L-k),I=(C*(1-k)+(A-r)*(1-L))/(L-k);O+I>u+f&&(u=O,f=I)}}if(o(S)&&v[E].t){var D=v[E].t.val,z=v[E].t.size;if(D>M){var R=(S*D+(z-n)*M)/(D-M),F=(z*(1-M)+(S-n)*(1-D))/(D-M);R+F>d+h&&(d=R,h=F)}}}}}var B=c.constrain(r-a.l-a.r,2,y),N=c.constrain(n-a.t-a.b,2,m),j=Math.max(0,r-B),U=Math.max(0,n-N);if(j){var V=(u+f)/j;V>1&&(u/=V,f/=V)}if(U){var H=(d+h)/U;H>1&&(d/=H,h/=H)}if(i.l=Math.round(u),i.r=Math.round(f),i.t=Math.round(h),i.b=Math.round(d),i.p=Math.round(a.pad),i.w=Math.round(r)-i.l-i.r,i.h=Math.round(n)-i.t-i.b,!e._replotting&&(_.didMarginChange(l,i)||function(t){if("_redrawFromAutoMarginCount"in t._fullLayout)return!1;var e=p.list(t,"",!0);for(var r in e)if(e[r].autoshift||e[r].shift)return!0;return!1}(t))){"_redrawFromAutoMarginCount"in e?e._redrawFromAutoMarginCount++:e._redrawFromAutoMarginCount=1;var q=3*(1+Object.keys(g).length);if(e._redrawFromAutoMarginCount<q)return s.call("_doPlot",t);e._size=l,c.warn("Too many auto-margin redraws.")}!function(t){var e=p.list(t,"",!0);["_adjustTickLabelsOverflow","_hideCounterAxisInsideTickLabels"].forEach((function(t){for(var r=0;r<e.length;r++){var n=e[r][t];n&&n()}}))}(t)};var O=["l","r","t","b","p","w","h"];function I(t,e,r){var n=!1,i=[_.previousPromises,function(){if(t._transitionData)return t._transitioning=!1,function(t){var e=Promise.resolve();if(!t)return e;for(;t.length;)e=e.then(t.shift());return e}(t._transitionData._interruptCallbacks)},r.prepareFn,_.rehover,_.reselect,function(){return t.emit("plotly_transitioning",[]),new Promise((function(i){t._transitioning=!0,e.duration>0&&(t._transitioningWithDuration=!0),t._transitionData._interruptCallbacks.push((function(){n=!0})),r.redraw&&t._transitionData._interruptCallbacks.push((function(){return s.call("redraw",t)})),t._transitionData._interruptCallbacks.push((function(){t.emit("plotly_transitioninterrupted",[])}));var a=0,o=0;function l(){return a++,function(){var e;o++,n||o!==a||(e=i,t._transitionData&&(function(t){if(t)for(;t.length;)t.shift()}(t._transitionData._interruptCallbacks),Promise.resolve().then((function(){if(r.redraw)return s.call("redraw",t)})).then((function(){t._transitioning=!1,t._transitioningWithDuration=!1,t.emit("plotly_transitioned",[])})).then(e)))}}r.runFn(l),setTimeout(l())}))}],a=c.syncOrAsync(i,t);return a&&a.then||(a=Promise.resolve()),a.then((function(){return t}))}_.didMarginChange=function(t,e){for(var r=0;r<O.length;r++){var n=O[r],i=t[n],a=e[n];if(!o(i)||Math.abs(a-i)>1)return!0}return!1},_.graphJson=function(t,e,r,n,i,a){(i&&e&&!t._fullData||i&&!e&&!t._fullLayout)&&_.supplyDefaults(t);var o=i?t._fullData:t.data,s=i?t._fullLayout:t.layout,l=(t._transitionData||{})._frames;function u(t,e){if("function"==typeof t)return e?"_function_":null;if(c.isPlainObject(t)){var n,i={};return Object.keys(t).sort().forEach((function(a){if(-1===["_","["].indexOf(a.charAt(0)))if("function"!=typeof t[a]){if("keepdata"===r){if("src"===a.substr(a.length-3))return}else if("keepstream"===r){if("string"==typeof(n=t[a+"src"])&&n.indexOf(":")>0&&!c.isPlainObject(t.stream))return}else if("keepall"!==r&&"string"==typeof(n=t[a+"src"])&&n.indexOf(":")>0)return;i[a]=u(t[a],e)}else e&&(i[a]="_function")})),i}return Array.isArray(t)?t.map((function(t){return u(t,e)})):c.isTypedArray(t)?c.simpleMap(t,c.identity):c.isJSDate(t)?c.ms2DateTimeLocal(+t):t}var f={data:(o||[]).map((function(t){var r=u(t);return e&&delete r.fit,r}))};if(!e&&(f.layout=u(s),i)){var h=s._size;f.layout.computed={margin:{b:h.b,l:h.l,r:h.r,t:h.t}}}return l&&(f.frames=u(l)),a&&(f.config=u(t._context,!0)),"object"===n?f:JSON.stringify(f)},_.modifyFrames=function(t,e){var r,n,i,a=t._transitionData._frames,o=t._transitionData._frameHash;for(r=0;r<e.length;r++)switch((n=e[r]).type){case"replace":i=n.value;var s=(a[n.index]||{}).name,l=i.name;a[n.index]=o[l]=i,l!==s&&(delete o[s],o[l]=i);break;case"insert":o[(i=n.value).name]=i,a.splice(n.index,0,i);break;case"delete":delete o[(i=a[n.index]).name],a.splice(n.index,1)}return Promise.resolve()},_.computeFrame=function(t,e){var r,n,i,a,o=t._transitionData._frameHash;if(!e)throw new Error("computeFrame must be given a string frame name");var s=o[e.toString()];if(!s)return!1;for(var l=[s],u=[s.name];s.baseframe&&(s=o[s.baseframe.toString()])&&-1===u.indexOf(s.name);)l.push(s),u.push(s.name);for(var c={};s=l.pop();)if(s.layout&&(c.layout=_.extendLayout(c.layout,s.layout)),s.data){if(c.data||(c.data=[]),!(n=s.traces))for(n=[],r=0;r<s.data.length;r++)n[r]=r;for(c.traces||(c.traces=[]),r=0;r<s.data.length;r++)null!=(i=n[r])&&(-1===(a=c.traces.indexOf(i))&&(a=c.data.length,c.traces[a]=i),c.data[a]=_.extendTrace(c.data[a],s.data[r]))}return c},_.recomputeFrameHash=function(t){for(var e=t._transitionData._frameHash={},r=t._transitionData._frames,n=0;n<r.length;n++){var i=r[n];i&&i.name&&(e[i.name]=i)}},_.extendObjectWithContainers=function(t,e,r){var n,i,a,o,s,l,u,f=c.extendDeepNoArrays({},e||{}),h=c.expandObjectPaths(f),p={};if(r&&r.length)for(a=0;a<r.length;a++)void 0===(i=(n=c.nestedProperty(h,r[a])).get())?c.nestedProperty(p,r[a]).set(null):(n.set(null),c.nestedProperty(p,r[a]).set(i));if(t=c.extendDeepNoArrays(t||{},h),r&&r.length)for(a=0;a<r.length;a++)if(l=c.nestedProperty(p,r[a]).get()){for(u=(s=c.nestedProperty(t,r[a])).get(),Array.isArray(u)||(u=[],s.set(u)),o=0;o<l.length;o++){var d=l[o];u[o]=null===d?null:_.extendObjectWithContainers(u[o],d)}s.set(u)}return t},_.dataArrayContainers=["transforms","dimensions"],_.layoutArrayContainers=s.layoutArrayContainers,_.extendTrace=function(t,e){return _.extendObjectWithContainers(t,e,_.dataArrayContainers)},_.extendLayout=function(t,e){return _.extendObjectWithContainers(t,e,_.layoutArrayContainers)},_.transition=function(t,e,r,n,i,a){var o={redraw:i.redraw},s={},l=[];return o.prepareFn=function(){for(var i=Array.isArray(e)?e.length:0,a=n.slice(0,i),o=0;o<a.length;o++){var u=a[o],f=t._fullData[u]._module;if(f){if(f.animatable){var h=f.basePlotModule.name;s[h]||(s[h]=[]),s[h].push(u)}t.data[a[o]]=_.extendTrace(t.data[a[o]],e[o])}}var p=c.expandObjectPaths(c.extendDeepNoArrays({},r)),d=/^[xy]axis[0-9]*$/;for(var v in p)d.test(v)&&delete p[v].range;_.extendLayout(t.layout,p),delete t.calcdata,_.supplyDefaults(t),_.doCalcdata(t);var g=c.expandObjectPaths(r);if(g){var y=t._fullLayout._plots;for(var m in y){var x=y[m],b=x.xaxis,w=x.yaxis,T=b.range.slice(),k=w.range.slice(),A=null,M=null,S=null,E=null;Array.isArray(g[b._name+".range"])?A=g[b._name+".range"].slice():Array.isArray((g[b._name]||{}).range)&&(A=g[b._name].range.slice()),Array.isArray(g[w._name+".range"])?M=g[w._name+".range"].slice():Array.isArray((g[w._name]||{}).range)&&(M=g[w._name].range.slice()),T&&A&&(b.r2l(T[0])!==b.r2l(A[0])||b.r2l(T[1])!==b.r2l(A[1]))&&(S={xr0:T,xr1:A}),k&&M&&(w.r2l(k[0])!==w.r2l(M[0])||w.r2l(k[1])!==w.r2l(M[1]))&&(E={yr0:k,yr1:M}),(S||E)&&l.push(c.extendFlat({plotinfo:x},S,E))}}return Promise.resolve()},o.runFn=function(e){var n,i,o=t._fullLayout._basePlotModules,u=l.length;if(r)for(i=0;i<o.length;i++)o[i].transitionAxes&&o[i].transitionAxes(t,l,a,e);for(var f in u?((n=c.extendFlat({},a)).duration=0,delete s.cartesian):n=a,s){var h=s[f];t._fullData[h[0]]._module.basePlotModule.plot(t,h,n,e)}},I(t,a,o)},_.transitionFromReact=function(t,e,r,n){var i=t._fullLayout,a=i.transition,o={},s=[];return o.prepareFn=function(){var t=i._plots;for(var a in o.redraw=!1,"some"===e.anim&&(o.redraw=!0),"some"===r.anim&&(o.redraw=!0),t){var l=t[a],u=l.xaxis,f=l.yaxis,h=n[u._name].range.slice(),p=n[f._name].range.slice(),d=u.range.slice(),v=f.range.slice();u.setScale(),f.setScale();var g=null,y=null;u.r2l(h[0])===u.r2l(d[0])&&u.r2l(h[1])===u.r2l(d[1])||(g={xr0:h,xr1:d}),f.r2l(p[0])===f.r2l(v[0])&&f.r2l(p[1])===f.r2l(v[1])||(y={yr0:p,yr1:v}),(g||y)&&s.push(c.extendFlat({plotinfo:l},g,y))}return Promise.resolve()},o.runFn=function(r){for(var n,i,o,l=t._fullData,u=t._fullLayout._basePlotModules,f=[],h=0;h<l.length;h++)f.push(h);function p(){if(t._fullLayout)for(var e=0;e<u.length;e++)u[e].transitionAxes&&u[e].transitionAxes(t,s,n,r)}function d(){if(t._fullLayout)for(var e=0;e<u.length;e++)u[e].plot(t,o,i,r)}s.length&&e.anim?"traces first"===a.ordering?(n=c.extendFlat({},a,{duration:0}),o=f,i=a,setTimeout(p,a.duration),d()):(n=a,o=null,i=c.extendFlat({},a,{duration:0}),setTimeout(d,n.duration),p()):s.length?(n=a,p()):e.anim&&(o=f,i=a,d())},I(t,a,o)},_.doCalcdata=function(t,e){var r,n,i,a,o=p.list(t),u=t._fullData,f=t._fullLayout,d=new Array(u.length),v=(t.calcdata||[]).slice();for(t.calcdata=d,f._numBoxes=0,f._numViolins=0,f._violinScaleGroupStats={},t._hmpixcount=0,t._hmlumcount=0,f._piecolormap={},f._sunburstcolormap={},f._treemapcolormap={},f._iciclecolormap={},f._funnelareacolormap={},i=0;i<u.length;i++)Array.isArray(e)&&-1===e.indexOf(i)&&(d[i]=v[i]);for(i=0;i<u.length;i++)(r=u[i])._arrayAttrs=l.findArrayAttributes(r),r._extremes={};var g=f._subplots.polar||[];for(i=0;i<g.length;i++)o.push(f[g[i]].radialaxis,f[g[i]].angularaxis);for(var y in f._colorAxes){var m=f[y];!1!==m.cauto&&(delete m.cmin,delete m.cmax)}var x=!1;function b(e){if(r=u[e],n=r._module,!0===r.visible&&r.transforms){if(n&&n.calc){var i=n.calc(t,r);i[0]&&i[0].t&&i[0].t._scene&&delete i[0].t._scene.dirty}for(a=0;a<r.transforms.length;a++){var o=r.transforms[a];(n=w[o.type])&&n.calcTransform&&(r._hasCalcTransform=!0,x=!0,n.calcTransform(t,r,o))}}}function _(e,i){if(r=u[e],!!(n=r._module).isContainer===i){var o=[];if(!0===r.visible&&0!==r._length){delete r._indexToPoints;var s=r.transforms||[];for(a=s.length-1;a>=0;a--)if(s[a].enabled){r._indexToPoints=s[a]._indexToPoints;break}n&&n.calc&&(o=n.calc(t,r))}Array.isArray(o)&&o[0]||(o=[{x:h,y:h}]),o[0].t||(o[0].t={}),o[0].trace=r,d[e]=o}}for(z(o,u,f),i=0;i<u.length;i++)_(i,!0);for(i=0;i<u.length;i++)b(i);for(x&&z(o,u,f),i=0;i<u.length;i++)_(i,!0);for(i=0;i<u.length;i++)_(i,!1);R(t);var T=function(t,e){var r,n,i,a,o,l=[];function u(t,r,n){var i=r._id.charAt(0);if("histogram2dcontour"===t){var a=r._counterAxes[0],o=p.getFromId(e,a),s="x"===i||"x"===a&&"category"===o.type,l="y"===i||"y"===a&&"category"===o.type;return function(t,e){return 0===t||0===e||s&&t===n[e].length-1||l&&e===n.length-1?-1:("y"===i?e:t)-1}}return function(t,e){return"y"===i?e:t}}var f={min:function(t){return c.aggNums(Math.min,null,t)},max:function(t){return c.aggNums(Math.max,null,t)},sum:function(t){return c.aggNums((function(t,e){return t+e}),null,t)},total:function(t){return c.aggNums((function(t,e){return t+e}),null,t)},mean:function(t){return c.mean(t)},median:function(t){return c.median(t)}};for(r=0;r<t.length;r++){var h=t[r];if("category"===h.type){var d=h.categoryorder.match(D);if(d){var v=d[1],g=d[2],y=h._id.charAt(0),m="x"===y,x=[];for(n=0;n<h._categories.length;n++)x.push([h._categories[n],[]]);for(n=0;n<h._traceIndices.length;n++){var b=h._traceIndices[n],_=e._fullData[b];if(!0===_.visible){var w=_.type;s.traceIs(_,"histogram")&&(delete _._xautoBinFinished,delete _._yautoBinFinished);var T="splom"===w,k="scattergl"===w,A=e.calcdata[b];for(i=0;i<A.length;i++){var M,S,E=A[i];if(T){var L=_._axesDim[h._id];if(!m){var C=_._diag[L][0];C&&(h=e._fullLayout[p.id2name(C)])}var P=E.trace.dimensions[L].values;for(a=0;a<P.length;a++)for(M=h._categoriesMap[P[a]],o=0;o<E.trace.dimensions.length;o++)if(o!==L){var O=E.trace.dimensions[o];x[M][1].push(O.values[a])}}else if(k){for(a=0;a<E.t.x.length;a++)m?(M=E.t.x[a],S=E.t.y[a]):(M=E.t.y[a],S=E.t.x[a]),x[M][1].push(S);E.t&&E.t._scene&&delete E.t._scene.dirty}else if(E.hasOwnProperty("z")){S=E.z;var I=u(_.type,h,S);for(a=0;a<S.length;a++)for(o=0;o<S[a].length;o++)(M=I(o,a))+1&&x[M][1].push(S[a][o])}else for(void 0===(M=E.p)&&(M=E[y]),void 0===(S=E.s)&&(S=E.v),void 0===S&&(S=m?E.y:E.x),Array.isArray(S)||(S=void 0===S?[]:[S]),a=0;a<S.length;a++)x[M][1].push(S[a])}}}h._categoriesValue=x;var z=[];for(n=0;n<x.length;n++)z.push([x[n][0],f[v](x[n][1])]);z.sort((function(t,e){return t[1]-e[1]})),h._categoriesAggregatedValue=z,h._initialCategories=z.map((function(t){return t[0]})),"descending"===g&&h._initialCategories.reverse(),l=l.concat(h.sortByInitialCategories())}}}return l}(o,t);if(T.length){for(f._numBoxes=0,f._numViolins=0,i=0;i<T.length;i++)_(T[i],!0);for(i=0;i<T.length;i++)_(T[i],!1);R(t)}s.getComponentMethod("fx","calc")(t),s.getComponentMethod("errorbars","calc")(t)};var D=/(total|sum|min|max|mean|median) (ascending|descending)/;function z(t,e,r){var n={};function i(t){t.clearCalc(),"multicategory"===t.type&&t.setupMultiCategory(e),n[t._id]=1}c.simpleMap(t,i);for(var a=r._axisMatchGroups||[],o=0;o<a.length;o++)for(var s in a[o])n[s]||i(r[p.id2name(s)])}function R(t){var e,r,n,i=t._fullLayout,a=i._visibleModules,o={};for(r=0;r<a.length;r++){var s=a[r],l=s.crossTraceCalc;if(l){var u=s.basePlotModule.name;o[u]?c.pushUnique(o[u],l):o[u]=[l]}}for(n in o){var f=o[n],h=i._subplots[n];if(Array.isArray(h))for(e=0;e<h.length;e++){var p=h[e],d="cartesian"===n?i._plots[p]:i[p];for(r=0;r<f.length;r++)f[r](t,d,p)}else for(r=0;r<f.length;r++)f[r](t)}}_.rehover=function(t){t._fullLayout._rehover&&t._fullLayout._rehover()},_.redrag=function(t){t._fullLayout._redrag&&t._fullLayout._redrag()},_.reselect=function(t){var e=t._fullLayout,r=(t.layout||{}).selections,n=e._previousSelections;e._previousSelections=r;var i=e._reselect||JSON.stringify(r)!==JSON.stringify(n);s.getComponentMethod("selections","reselect")(t,i)},_.generalUpdatePerTraceModule=function(t,e,r,n){var i,a=e.traceHash,o={};for(i=0;i<r.length;i++){var s=r[i],l=s[0].trace;l.visible&&(o[l.type]=o[l.type]||[],o[l.type].push(s))}for(var u in a)if(!o[u]){var f=a[u][0];f[0].trace.visible=!1,o[u]=[f]}for(var h in o){var p=o[h];p[0][0].trace._module.plot(t,e,c.filterVisible(p),n)}e.traceHash=o},_.plotBasePlot=function(t,e,r,n,i){var a=s.getModule(t),o=m(e.calcdata,a)[0];a.plot(e,o,n,i)},_.cleanBasePlot=function(t,e,r,n,i){var a=i._has&&i._has(t),o=r._has&&r._has(t);a&&!o&&i["_"+t+"layer"].selectAll("g.trace").remove()}},9813:function(t){"use strict";t.exports={attr:"subplot",name:"polar",axisNames:["angularaxis","radialaxis"],axisName2dataArray:{angularaxis:"theta",radialaxis:"r"},layerNames:["draglayer","plotbg","backplot","angular-grid","radial-grid","frontplot","angular-line","radial-line","angular-axis","radial-axis"],radialDragBoxSize:50,angularDragBoxSize:30,cornerLen:25,cornerHalfWidth:2,MINDRAG:8,MINZOOM:20,OFFEDGE:20}},10869:function(t,e,r){"use strict";var n=r(71828),i=r(61082).tester,a=n.findIndexOfMin,o=n.isAngleInsideSector,s=n.angleDelta,l=n.angleDist;function u(t,e,r,n){var i,a,o=n[0],s=n[1],l=f(Math.sin(e)-Math.sin(t)),u=f(Math.cos(e)-Math.cos(t)),c=Math.tan(r),h=f(1/c),p=l/u,d=s-p*o;return h?l&&u?a=c*(i=d/(c-p)):u?(i=s*h,a=s):(i=o,a=o*c):l&&u?(i=0,a=d):u?(i=0,a=s):i=a=NaN,[i,a]}function c(t,e,r,i){return n.isFullCircle([e,r])?function(t,e){var r,n=e.length,i=new Array(n+1);for(r=0;r<n;r++){var a=e[r];i[r]=[t*Math.cos(a),t*Math.sin(a)]}return i[r]=i[0].slice(),i}(t,i):function(t,e,r,i){var s,c,f=i.length,h=[];function p(e){return[t*Math.cos(e),t*Math.sin(e)]}function d(t,e,r){return u(t,e,r,p(t))}function v(t){return n.mod(t,f)}function g(t){return o(t,[e,r])}var y=a(i,(function(t){return g(t)?l(t,e):1/0})),m=d(i[y],i[v(y-1)],e);for(h.push(m),s=y,c=0;c<f;s++,c++){var x=i[v(s)];if(!g(x))break;h.push(p(x))}var b=a(i,(function(t){return g(t)?l(t,r):1/0})),_=d(i[b],i[v(b+1)],r);return h.push(_),h.push([0,0]),h.push(h[0].slice()),h}(t,e,r,i)}function f(t){return Math.abs(t)>1e-10?t:0}function h(t,e,r){e=e||0,r=r||0;for(var n=t.length,i=new Array(n),a=0;a<n;a++){var o=t[a];i[a]=[e+o[0],r-o[1]]}return i}t.exports={isPtInsidePolygon:function(t,e,r,n,a){if(!o(e,n))return!1;var s,l;r[0]<r[1]?(s=r[0],l=r[1]):(s=r[1],l=r[0]);var u=i(c(s,n[0],n[1],a)),f=i(c(l,n[0],n[1],a)),h=[t*Math.cos(e),t*Math.sin(e)];return f.contains(h)&&!u.contains(h)},findPolygonOffset:function(t,e,r,n){for(var i=1/0,a=1/0,o=c(t,e,r,n),s=0;s<o.length;s++){var l=o[s];i=Math.min(i,l[0]),a=Math.min(a,-l[1])}return[i,a]},findEnclosingVertexAngles:function(t,e){var r=a(e,(function(e){var r=s(e,t);return r>0?r:1/0})),i=n.mod(r+1,e.length);return[e[r],e[i]]},findIntersectionXY:u,findXYatLength:function(t,e,r,n){var i=-e*r,a=e*e+1,o=2*(e*i-r),s=i*i+r*r-t*t,l=Math.sqrt(o*o-4*a*s),u=(-o+l)/(2*a),c=(-o-l)/(2*a);return[[u,e*u+i+n],[c,e*c+i+n]]},clampTiny:f,pathPolygon:function(t,e,r,n,i,a){return"M"+h(c(t,e,r,n),i,a).join("L")},pathPolygonAnnulus:function(t,e,r,n,i,a,o){var s,l;t<e?(s=t,l=e):(s=e,l=t);var u=h(c(s,r,n,i),a,o);return"M"+h(c(l,r,n,i),a,o).reverse().join("L")+"M"+u.join("L")}}},23580:function(t,e,r){"use strict";var n=r(27659).AU,i=r(71828).counterRegex,a=r(77997),o=r(9813),s=o.attr,l=o.name,u=i(l),c={};c[s]={valType:"subplotid",dflt:l,editType:"calc"},t.exports={attr:s,name:l,idRoot:l,idRegex:u,attrRegex:u,attributes:c,layoutAttributes:r(73812),supplyLayoutDefaults:r(68993),plot:function(t){for(var e=t._fullLayout,r=t.calcdata,i=e._subplots[l],o=0;o<i.length;o++){var s=i[o],u=n(r,l,s),c=e[s]._subplot;c||(c=a(t,s),e[s]._subplot=c),c.plot(u,e,t._promises)}},clean:function(t,e,r,n){for(var i=n._subplots[l]||[],a=n._has&&n._has("gl"),o=e._has&&e._has("gl"),s=a&&!o,u=0;u<i.length;u++){var c=i[u],f=n[c]._subplot;if(!e[c]&&f)for(var h in f.framework.remove(),f.layers["radial-axis-title"].remove(),f.clipPaths)f.clipPaths[h].remove();s&&f._scene&&(f._scene.destroy(),f._scene=null)}},toSVG:r(93612).toSVG}},73812:function(t,e,r){"use strict";var n=r(22399),i=r(13838),a=r(27670).Y,o=r(71828).extendFlat,s=r(30962).overrideAll,l=s({color:i.color,showline:o({},i.showline,{dflt:!0}),linecolor:i.linecolor,linewidth:i.linewidth,showgrid:o({},i.showgrid,{dflt:!0}),gridcolor:i.gridcolor,gridwidth:i.gridwidth,griddash:i.griddash},"plot","from-root"),u=s({tickmode:i.minor.tickmode,nticks:i.nticks,tick0:i.tick0,dtick:i.dtick,tickvals:i.tickvals,ticktext:i.ticktext,ticks:i.ticks,ticklen:i.ticklen,tickwidth:i.tickwidth,tickcolor:i.tickcolor,ticklabelstep:i.ticklabelstep,showticklabels:i.showticklabels,showtickprefix:i.showtickprefix,tickprefix:i.tickprefix,showticksuffix:i.showticksuffix,ticksuffix:i.ticksuffix,showexponent:i.showexponent,exponentformat:i.exponentformat,minexponent:i.minexponent,separatethousands:i.separatethousands,tickfont:i.tickfont,tickangle:i.tickangle,tickformat:i.tickformat,tickformatstops:i.tickformatstops,layer:i.layer},"plot","from-root"),c={visible:o({},i.visible,{dflt:!0}),type:o({},i.type,{values:["-","linear","log","date","category"]}),autotypenumbers:i.autotypenumbers,autorange:o({},i.autorange,{editType:"plot"}),rangemode:{valType:"enumerated",values:["tozero","nonnegative","normal"],dflt:"tozero",editType:"calc"},range:o({},i.range,{items:[{valType:"any",editType:"plot",impliedEdits:{"^autorange":!1}},{valType:"any",editType:"plot",impliedEdits:{"^autorange":!1}}],editType:"plot"}),categoryorder:i.categoryorder,categoryarray:i.categoryarray,angle:{valType:"angle",editType:"plot"},side:{valType:"enumerated",values:["clockwise","counterclockwise"],dflt:"clockwise",editType:"plot"},title:{text:o({},i.title.text,{editType:"plot",dflt:""}),font:o({},i.title.font,{editType:"plot"}),editType:"plot"},hoverformat:i.hoverformat,uirevision:{valType:"any",editType:"none"},editType:"calc",_deprecated:{title:i._deprecated.title,titlefont:i._deprecated.titlefont}};o(c,l,u);var f={visible:o({},i.visible,{dflt:!0}),type:{valType:"enumerated",values:["-","linear","category"],dflt:"-",editType:"calc",_noTemplating:!0},autotypenumbers:i.autotypenumbers,categoryorder:i.categoryorder,categoryarray:i.categoryarray,thetaunit:{valType:"enumerated",values:["radians","degrees"],dflt:"degrees",editType:"calc"},period:{valType:"number",editType:"calc",min:0},direction:{valType:"enumerated",values:["counterclockwise","clockwise"],dflt:"counterclockwise",editType:"calc"},rotation:{valType:"angle",editType:"calc"},hoverformat:i.hoverformat,uirevision:{valType:"any",editType:"none"},editType:"calc"};o(f,l,u),t.exports={domain:a({name:"polar",editType:"plot"}),sector:{valType:"info_array",items:[{valType:"number",editType:"plot"},{valType:"number",editType:"plot"}],dflt:[0,360],editType:"plot"},hole:{valType:"number",min:0,max:1,dflt:0,editType:"plot"},bgcolor:{valType:"color",editType:"plot",dflt:n.background},radialaxis:c,angularaxis:f,gridshape:{valType:"enumerated",values:["circular","linear"],dflt:"circular",editType:"plot"},uirevision:{valType:"any",editType:"none"},editType:"calc"}},68993:function(t,e,r){"use strict";var n=r(71828),i=r(7901),a=r(44467),o=r(49119),s=r(27659).NG,l=r(26218),u=r(38701),c=r(96115),f=r(89426),h=r(15258),p=r(92128),d=r(4322),v=r(73812),g=r(12101),y=r(9813),m=y.axisNames;function x(t,e,r,o){var d=r("bgcolor");o.bgColor=i.combine(d,o.paper_bgcolor);var x=r("sector");r("hole");var _,w=s(o.fullData,y.name,o.id),T=o.layoutOut;function k(t,e){return r(_+"."+t,e)}for(var A=0;A<m.length;A++){_=m[A],n.isPlainObject(t[_])||(t[_]={});var M=t[_],S=a.newContainer(e,_);S._id=S._name=_,S._attr=o.id+"."+_,S._traceIndices=w.map((function(t){return t._expandedIndex}));var E=y.axisName2dataArray[_],L=b(M,S,k,w,E,o);h(M,S,k,{axData:w,dataAttr:E});var C=k("visible");switch(g(S,e,T),k("uirevision",e.uirevision),S._m=1,_){case"radialaxis":var P=k("autorange",!S.isValidRange(M.range));M.autorange=P,!P||"linear"!==L&&"-"!==L||k("rangemode"),"reversed"===P&&(S._m=-1),k("range"),S.cleanRange("range",{dfltRange:[0,1]});break;case"angularaxis":if("date"===L){n.log("Polar plots do not support date angular axes yet.");for(var O=0;O<w.length;O++)w[O].visible=!1;L=M.type=S.type="linear"}k("linear"===L?"thetaunit":"period");var I=k("direction");k("rotation",{counterclockwise:0,clockwise:90}[I])}if(f(M,S,k,S.type,{tickSuffixDflt:"degrees"===S.thetaunit?"°":void 0}),C){var D,z,R,F,B=o.font||{};z=(D=k("color"))===M.color?D:B.color,R=B.size,F=B.family,l(M,S,k,S.type),c(M,S,k,S.type,{font:{color:z,size:R,family:F}}),u(M,S,k,{outerTicks:!0}),p(M,S,k,{dfltColor:D,bgColor:o.bgColor,blend:60,showLine:!0,showGrid:!0,noZeroLine:!0,attributes:v[_]}),k("layer"),"radialaxis"===_&&(k("side"),k("angle",x[0]),k("title.text"),n.coerceFont(k,"title.font",{color:z,size:n.bigFont(R),family:F}))}"category"!==L&&k("hoverformat"),S._input=M}"category"===e.angularaxis.type&&r("gridshape")}function b(t,e,r,n,i,a){var o=r("autotypenumbers",a.autotypenumbersDflt);if("-"===r("type")){for(var s,l=0;l<n.length;l++)if(n[l].visible){s=n[l];break}s&&s[i]&&(e.type=d(s[i],"gregorian",{noMultiCategory:!0,autotypenumbers:o})),"-"===e.type?e.type="linear":t.type=e.type}return e.type}t.exports=function(t,e,r){o(t,e,r,{type:y.name,attributes:v,handleDefaults:x,font:e.font,autotypenumbersDflt:e.autotypenumbers,paper_bgcolor:e.paper_bgcolor,fullData:r,layoutOut:e})}},77997:function(t,e,r){"use strict";var n=r(39898),i=r(84267),a=r(73972),o=r(71828),s=o.strRotate,l=o.strTranslate,u=r(7901),c=r(91424),f=r(74875),h=r(89298),p=r(21994),d=r(12101),v=r(71739).doAutoRange,g=r(29323),y=r(28569),m=r(30211),x=r(92998),b=r(47322).prepSelect,_=r(47322).selectOnClick,w=r(47322).clearOutline,T=r(6964),k=r(33306),A=r(61549).redrawReglTraces,M=r(18783).MID_SHIFT,S=r(9813),E=r(10869),L=r(23893),C=L.smith,P=L.reactanceArc,O=L.resistanceArc,I=L.smithTransform,D=o._,z=o.mod,R=o.deg2rad,F=o.rad2deg;function B(t,e,r){this.isSmith=r||!1,this.id=e,this.gd=t,this._hasClipOnAxisFalse=null,this.vangles=null,this.radialAxisAngle=null,this.traceHash={},this.layers={},this.clipPaths={},this.clipIds={},this.viewInitial={};var n=t._fullLayout,i="clip"+n._uid+e;this.clipIds.forTraces=i+"-for-traces",this.clipPaths.forTraces=n._clips.append("clipPath").attr("id",this.clipIds.forTraces),this.clipPaths.forTraces.append("path"),this.framework=n["_"+(r?"smith":"polar")+"layer"].append("g").attr("class",e),this.getHole=function(t){return this.isSmith?0:t.hole},this.getSector=function(t){return this.isSmith?[0,360]:t.sector},this.getRadial=function(t){return this.isSmith?t.realaxis:t.radialaxis},this.getAngular=function(t){return this.isSmith?t.imaginaryaxis:t.angularaxis},r||(this.radialTickLayout=null,this.angularTickLayout=null)}var N=B.prototype;function j(t){var e=t.ticks+String(t.ticklen)+String(t.showticklabels);return"side"in t&&(e+=t.side),e}function U(t,e){return e[o.findIndexOfMin(e,(function(e){return o.angleDist(t,e)}))]}function V(t,e,r){return e?(t.attr("display",null),t.attr(r)):t&&t.attr("display","none"),t}t.exports=function(t,e,r){return new B(t,e,r)},N.plot=function(t,e){for(var r=this,n=e[r.id],i=!1,a=0;a<t.length;a++)if(!1===t[a][0].trace.cliponaxis){i=!0;break}r._hasClipOnAxisFalse=i,r.updateLayers(e,n),r.updateLayout(e,n),f.generalUpdatePerTraceModule(r.gd,r,t,n),r.updateFx(e,n),r.isSmith&&(delete n.realaxis.range,delete n.imaginaryaxis.range)},N.updateLayers=function(t,e){var r=this,i=r.isSmith,a=r.layers,o=r.getRadial(e),s=r.getAngular(e),l=S.layerNames,u=l.indexOf("frontplot"),c=l.slice(0,u),f="below traces"===s.layer,h="below traces"===o.layer;f&&c.push("angular-line"),h&&c.push("radial-line"),f&&c.push("angular-axis"),h&&c.push("radial-axis"),c.push("frontplot"),f||c.push("angular-line"),h||c.push("radial-line"),f||c.push("angular-axis"),h||c.push("radial-axis");var p=(i?"smith":"polar")+"sublayer",d=r.framework.selectAll("."+p).data(c,String);d.enter().append("g").attr("class",(function(t){return p+" "+t})).each((function(t){var e=a[t]=n.select(this);switch(t){case"frontplot":i||e.append("g").classed("barlayer",!0),e.append("g").classed("scatterlayer",!0);break;case"backplot":e.append("g").classed("maplayer",!0);break;case"plotbg":a.bg=e.append("path");break;case"radial-grid":case"angular-grid":e.style("fill","none");break;case"radial-line":e.append("line").style("fill","none");break;case"angular-line":e.append("path").style("fill","none")}})),d.order()},N.updateLayout=function(t,e){var r=this,n=r.layers,i=t._size,a=r.getRadial(e),o=r.getAngular(e),s=e.domain.x,f=e.domain.y;r.xOffset=i.l+i.w*s[0],r.yOffset=i.t+i.h*(1-f[1]);var h=r.xLength=i.w*(s[1]-s[0]),p=r.yLength=i.h*(f[1]-f[0]),d=r.getSector(e);r.sectorInRad=d.map(R);var v,g,y,m,x,b=r.sectorBBox=function(t){var e,r=t[0],n=t[1]-r,i=z(r,360),a=i+n,o=Math.cos(R(i)),s=Math.sin(R(i)),l=Math.cos(R(a)),u=Math.sin(R(a));return e=i<=90&&a>=90||i>90&&a>=450?1:s<=0&&u<=0?0:Math.max(s,u),[i<=180&&a>=180||i>180&&a>=540?-1:o>=0&&l>=0?0:Math.min(o,l),i<=270&&a>=270||i>270&&a>=630?-1:s>=0&&u>=0?0:Math.min(s,u),a>=360?1:o<=0&&l<=0?0:Math.max(o,l),e]}(d),_=b[2]-b[0],w=b[3]-b[1],T=p/h,k=Math.abs(w/_);T>k?(v=h,x=(p-(g=h*k))/i.h/2,y=[s[0],s[1]],m=[f[0]+x,f[1]-x]):(g=p,x=(h-(v=p/k))/i.w/2,y=[s[0]+x,s[1]-x],m=[f[0],f[1]]),r.xLength2=v,r.yLength2=g,r.xDomain2=y,r.yDomain2=m;var A,M=r.xOffset2=i.l+i.w*y[0],S=r.yOffset2=i.t+i.h*(1-m[1]),E=r.radius=v/_,L=r.innerRadius=r.getHole(e)*E,C=r.cx=M-E*b[0],P=r.cy=S+E*b[3],O=r.cxx=C-M,I=r.cyy=P-S,D=a.side;"counterclockwise"===D?(A=D,D="top"):"clockwise"===D&&(A=D,D="bottom"),r.radialAxis=r.mockAxis(t,e,a,{_id:"x",side:D,_trueSide:A,domain:[L/i.w,E/i.w]}),r.angularAxis=r.mockAxis(t,e,o,{side:"right",domain:[0,Math.PI],autorange:!1}),r.doAutoRange(t,e),r.updateAngularAxis(t,e),r.updateRadialAxis(t,e),r.updateRadialAxisTitle(t,e),r.xaxis=r.mockCartesianAxis(t,e,{_id:"x",domain:y}),r.yaxis=r.mockCartesianAxis(t,e,{_id:"y",domain:m});var F=r.pathSubplot();r.clipPaths.forTraces.select("path").attr("d",F).attr("transform",l(O,I)),n.frontplot.attr("transform",l(M,S)).call(c.setClipUrl,r._hasClipOnAxisFalse?null:r.clipIds.forTraces,r.gd),n.bg.attr("d",F).attr("transform",l(C,P)).call(u.fill,e.bgcolor)},N.mockAxis=function(t,e,r,n){var i=o.extendFlat({},r,n);return d(i,e,t),i},N.mockCartesianAxis=function(t,e,r){var n=this,i=n.isSmith,a=r._id,s=o.extendFlat({type:"linear"},r);p(s,t);var l={x:[0,2],y:[1,3]};return s.setRange=function(){var t=n.sectorBBox,r=l[a],i=n.radialAxis._rl,o=(i[1]-i[0])/(1-n.getHole(e));s.range=[t[r[0]]*o,t[r[1]]*o]},s.isPtWithinRange="x"!==a||i?function(){return!0}:function(t){return n.isPtInside(t)},s.setRange(),s.setScale(),s},N.doAutoRange=function(t,e){var r=this,n=r.gd,i=r.radialAxis,a=r.getRadial(e);v(n,i);var o=i.range;a.range=o.slice(),a._input.range=o.slice(),i._rl=[i.r2l(o[0],null,"gregorian"),i.r2l(o[1],null,"gregorian")]},N.updateRadialAxis=function(t,e){var r=this,n=r.gd,i=r.layers,a=r.radius,c=r.innerRadius,f=r.cx,p=r.cy,d=r.getRadial(e),v=z(r.getSector(e)[0],360),g=r.radialAxis,y=c<a,m=r.isSmith;m||(r.fillViewInitialKey("radialaxis.angle",d.angle),r.fillViewInitialKey("radialaxis.range",g.range.slice()),g.setGeometry()),"auto"===g.tickangle&&v>90&&v<=270&&(g.tickangle=180);var x=m?function(t){var e=I(r,C([t.x,0]));return l(e[0]-f,e[1]-p)}:function(t){return l(g.l2p(t.x)+c,0)},b=m?function(t){return O(r,t.x,-1/0,1/0)}:function(t){return r.pathArc(g.r2p(t.x)+c)},_=j(d);if(r.radialTickLayout!==_&&(i["radial-axis"].selectAll(".xtick").remove(),r.radialTickLayout=_),y){g.setScale();var w=0,T=m?(g.tickvals||[]).filter((function(t){return t>=0})).map((function(t){return h.tickText(g,t,!0,!1)})):h.calcTicks(g),k=m?T:h.clipEnds(g,T),A=h.getTickSigns(g)[2];m&&(("top"===g.ticks&&"bottom"===g.side||"bottom"===g.ticks&&"top"===g.side)&&(A=-A),"top"===g.ticks&&"top"===g.side&&(w=-g.ticklen),"bottom"===g.ticks&&"bottom"===g.side&&(w=g.ticklen)),h.drawTicks(n,g,{vals:T,layer:i["radial-axis"],path:h.makeTickPath(g,0,A),transFn:x,crisp:!1}),h.drawGrid(n,g,{vals:k,layer:i["radial-grid"],path:b,transFn:o.noop,crisp:!1}),h.drawLabels(n,g,{vals:T,layer:i["radial-axis"],transFn:x,labelFns:h.makeLabelFns(g,w)})}var M=r.radialAxisAngle=r.vangles?F(U(R(d.angle),r.vangles)):d.angle,S=l(f,p),E=S+s(-M);V(i["radial-axis"],y&&(d.showticklabels||d.ticks),{transform:E}),V(i["radial-grid"],y&&d.showgrid,{transform:m?"":S}),V(i["radial-line"].select("line"),y&&d.showline,{x1:m?-a:c,y1:0,x2:a,y2:0,transform:E}).attr("stroke-width",d.linewidth).call(u.stroke,d.linecolor)},N.updateRadialAxisTitle=function(t,e,r){if(!this.isSmith){var n=this,i=n.gd,a=n.radius,o=n.cx,s=n.cy,l=n.getRadial(e),u=n.id+"title",f=0;if(l.title){var h=c.bBox(n.layers["radial-axis"].node()).height,p=l.title.font.size,d=l.side;f="top"===d?p:"counterclockwise"===d?-(h+.4*p):h+.8*p}var v=void 0!==r?r:n.radialAxisAngle,g=R(v),y=Math.cos(g),m=Math.sin(g),b=o+a/2*y+f*m,_=s-a/2*m+f*y;n.layers["radial-axis-title"]=x.draw(i,u,{propContainer:l,propName:n.id+".radialaxis.title",placeholder:D(i,"Click to enter radial axis title"),attributes:{x:b,y:_,"text-anchor":"middle"},transform:{rotate:-v}})}},N.updateAngularAxis=function(t,e){var r=this,n=r.gd,i=r.layers,a=r.radius,c=r.innerRadius,f=r.cx,p=r.cy,d=r.getAngular(e),v=r.angularAxis,g=r.isSmith;g||(r.fillViewInitialKey("angularaxis.rotation",d.rotation),v.setGeometry(),v.setScale());var y=g?function(t){var e=I(r,C([0,t.x]));return Math.atan2(e[0]-f,e[1]-p)-Math.PI/2}:function(t){return v.t2g(t.x)};"linear"===v.type&&"radians"===v.thetaunit&&(v.tick0=F(v.tick0),v.dtick=F(v.dtick));var m=function(t){return l(f+a*Math.cos(t),p-a*Math.sin(t))},x=g?function(t){var e=I(r,C([0,t.x]));return l(e[0],e[1])}:function(t){return m(y(t))},b=g?function(t){var e=I(r,C([0,t.x])),n=Math.atan2(e[0]-f,e[1]-p)-Math.PI/2;return l(e[0],e[1])+s(-F(n))}:function(t){var e=y(t);return m(e)+s(-F(e))},_=g?function(t){return P(r,t.x,0,1/0)}:function(t){var e=y(t),r=Math.cos(e),n=Math.sin(e);return"M"+[f+c*r,p-c*n]+"L"+[f+a*r,p-a*n]},w=h.makeLabelFns(v,0).labelStandoff,T={xFn:function(t){var e=y(t);return Math.cos(e)*w},yFn:function(t){var e=y(t),r=Math.sin(e)>0?.2:1;return-Math.sin(e)*(w+t.fontSize*r)+Math.abs(Math.cos(e))*(t.fontSize*M)},anchorFn:function(t){var e=y(t),r=Math.cos(e);return Math.abs(r)<.1?"middle":r>0?"start":"end"},heightFn:function(t,e,r){var n=y(t);return-.5*(1+Math.sin(n))*r}},k=j(d);r.angularTickLayout!==k&&(i["angular-axis"].selectAll("."+v._id+"tick").remove(),r.angularTickLayout=k);var A,S=g?[1/0].concat(v.tickvals||[]).map((function(t){return h.tickText(v,t,!0,!1)})):h.calcTicks(v);if(g&&(S[0].text="∞",S[0].fontSize*=1.75),"linear"===e.gridshape?(A=S.map(y),o.angleDelta(A[0],A[1])<0&&(A=A.slice().reverse())):A=null,r.vangles=A,"category"===v.type&&(S=S.filter((function(t){return o.isAngleInsideSector(y(t),r.sectorInRad)}))),v.visible){var E="inside"===v.ticks?-1:1,L=(v.linewidth||1)/2;h.drawTicks(n,v,{vals:S,layer:i["angular-axis"],path:"M"+E*L+",0h"+E*v.ticklen,transFn:b,crisp:!1}),h.drawGrid(n,v,{vals:S,layer:i["angular-grid"],path:_,transFn:o.noop,crisp:!1}),h.drawLabels(n,v,{vals:S,layer:i["angular-axis"],repositionOnUpdate:!0,transFn:x,labelFns:T})}V(i["angular-line"].select("path"),d.showline,{d:r.pathSubplot(),transform:l(f,p)}).attr("stroke-width",d.linewidth).call(u.stroke,d.linecolor)},N.updateFx=function(t,e){this.gd._context.staticPlot||(!this.isSmith&&(this.updateAngularDrag(t),this.updateRadialDrag(t,e,0),this.updateRadialDrag(t,e,1)),this.updateHoverAndMainDrag(t))},N.updateHoverAndMainDrag=function(t){var e,r,s=this,u=s.isSmith,c=s.gd,f=s.layers,h=t._zoomlayer,p=S.MINZOOM,d=S.OFFEDGE,v=s.radius,x=s.innerRadius,T=s.cx,k=s.cy,A=s.cxx,M=s.cyy,L=s.sectorInRad,C=s.vangles,P=s.radialAxis,O=E.clampTiny,I=E.findXYatLength,D=E.findEnclosingVertexAngles,z=S.cornerHalfWidth,R=S.cornerLen/2,F=g.makeDragger(f,"path","maindrag",!1===t.dragmode?"none":"crosshair");n.select(F).attr("d",s.pathSubplot()).attr("transform",l(T,k)),F.onmousemove=function(t){m.hover(c,t,s.id),c._fullLayout._lasthover=F,c._fullLayout._hoversubplot=s.id},F.onmouseout=function(t){c._dragging||y.unhover(c,t)};var B,N,j,U,V,H,q,G,Z,Y={element:F,gd:c,subplot:s.id,plotinfo:{id:s.id,xaxis:s.xaxis,yaxis:s.yaxis},xaxes:[s.xaxis],yaxes:[s.yaxis]};function W(t,e){return Math.sqrt(t*t+e*e)}function X(t,e){return W(t-A,e-M)}function J(t,e){return Math.atan2(M-e,t-A)}function K(t,e){return[t*Math.cos(e),t*Math.sin(-e)]}function $(t,e){if(0===t)return s.pathSector(2*z);var r=R/t,n=e-r,i=e+r,a=Math.max(0,Math.min(t,v)),o=a-z,l=a+z;return"M"+K(o,n)+"A"+[o,o]+" 0,0,0 "+K(o,i)+"L"+K(l,i)+"A"+[l,l]+" 0,0,1 "+K(l,n)+"Z"}function Q(t,e,r){if(0===t)return s.pathSector(2*z);var n,i,a=K(t,e),o=K(t,r),l=O((a[0]+o[0])/2),u=O((a[1]+o[1])/2);if(l&&u){var c=u/l,f=-1/c,h=I(z,c,l,u);n=I(R,f,h[0][0],h[0][1]),i=I(R,f,h[1][0],h[1][1])}else{var p,d;u?(p=R,d=z):(p=z,d=R),n=[[l-p,u-d],[l+p,u-d]],i=[[l-p,u+d],[l+p,u+d]]}return"M"+n.join("L")+"L"+i.reverse().join("L")+"Z"}function tt(t,e){return e=Math.max(Math.min(e,v),x),t<d?t=0:v-t<d?t=v:e<d?e=0:v-e<d&&(e=v),Math.abs(e-t)>p?(t<e?(j=t,U=e):(j=e,U=t),!0):(j=null,U=null,!1)}function et(t,e){t=t||V,e=e||"M0,0Z",G.attr("d",t),Z.attr("d",e),g.transitionZoombox(G,Z,H,q),H=!0;var r={};ot(r),c.emit("plotly_relayouting",r)}function rt(t,n){var i,a,o=B+(t*=e),l=N+(n*=r),u=X(B,N),c=Math.min(X(o,l),v),f=J(B,N);tt(u,c)&&(i=V+s.pathSector(U),j&&(i+=s.pathSector(j)),a=$(j,f)+$(U,f)),et(i,a)}function nt(t,e,r,n){var i=E.findIntersectionXY(r,n,r,[t-A,M-e]);return W(i[0],i[1])}function it(t,e){var r,n,i=B+t,a=N+e,o=J(B,N),l=J(i,a),u=D(o,C),c=D(l,C);tt(nt(B,N,u[0],u[1]),Math.min(nt(i,a,c[0],c[1]),v))&&(r=V+s.pathSector(U),j&&(r+=s.pathSector(j)),n=[Q(j,u[0],u[1]),Q(U,u[0],u[1])].join(" ")),et(r,n)}function at(){if(g.removeZoombox(c),null!==j&&null!==U){var t={};ot(t),g.showDoubleClickNotifier(c),a.call("_guiRelayout",c,t)}}function ot(t){var e=P._rl,r=(e[1]-e[0])/(1-x/v)/v,n=[e[0]+(j-x)*r,e[0]+(U-x)*r];t[s.id+".radialaxis.range"]=n}function st(t,e){var r=c._fullLayout.clickmode;if(g.removeZoombox(c),2===t){var n={};for(var i in s.viewInitial)n[s.id+"."+i]=s.viewInitial[i];c.emit("plotly_doubleclick",null),a.call("_guiRelayout",c,n)}r.indexOf("select")>-1&&1===t&&_(e,c,[s.xaxis],[s.yaxis],s.id,Y),r.indexOf("event")>-1&&m.click(c,e,s.id)}Y.prepFn=function(t,n,a){var l=c._fullLayout.dragmode,f=F.getBoundingClientRect();c._fullLayout._calcInverseTransform(c);var p=c._fullLayout._invTransform;e=c._fullLayout._invScaleX,r=c._fullLayout._invScaleY;var d=o.apply3DTransform(p)(n-f.left,a-f.top);if(B=d[0],N=d[1],C){var y=E.findPolygonOffset(v,L[0],L[1],C);B+=A+y[0],N+=M+y[1]}switch(l){case"zoom":Y.clickFn=st,u||(Y.moveFn=C?it:rt,Y.doneFn=at,function(){j=null,U=null,V=s.pathSubplot(),H=!1;var t=c._fullLayout[s.id];q=i(t.bgcolor).getLuminance(),(G=g.makeZoombox(h,q,T,k,V)).attr("fill-rule","evenodd"),Z=g.makeCorners(h,T,k),w(c)}());break;case"select":case"lasso":b(t,n,a,Y,l)}},y.init(Y)},N.updateRadialDrag=function(t,e,r){var i=this,u=i.gd,c=i.layers,f=i.radius,h=i.innerRadius,p=i.cx,d=i.cy,v=i.radialAxis,m=S.radialDragBoxSize,x=m/2;if(v.visible){var b,_,T,M=R(i.radialAxisAngle),E=v._rl,L=E[0],C=E[1],P=E[r],O=.75*(E[1]-E[0])/(1-i.getHole(e))/f;r?(b=p+(f+x)*Math.cos(M),_=d-(f+x)*Math.sin(M),T="radialdrag"):(b=p+(h-x)*Math.cos(M),_=d-(h-x)*Math.sin(M),T="radialdrag-inner");var I,D,z,B=g.makeRectDragger(c,T,"crosshair",-x,-x,m,m),N={element:B,gd:u};!1===t.dragmode&&(N.dragmode=!1),V(n.select(B),v.visible&&h<f,{transform:l(b,_)}),N.prepFn=function(){I=null,D=null,z=null,N.moveFn=j,N.doneFn=H,w(u)},N.clampFn=function(t,e){return Math.sqrt(t*t+e*e)<S.MINDRAG&&(t=0,e=0),[t,e]},y.init(N)}function j(t,e){if(I)I(t,e);else{var n=[t,-e],a=[Math.cos(M),Math.sin(M)],s=Math.abs(o.dot(n,a)/Math.sqrt(o.dot(n,n)));isNaN(s)||(I=s<.5?q:G)}var l={};!function(t){null!==D?t[i.id+".radialaxis.angle"]=D:null!==z&&(t[i.id+".radialaxis.range["+r+"]"]=z)}(l),u.emit("plotly_relayouting",l)}function H(){null!==D?a.call("_guiRelayout",u,i.id+".radialaxis.angle",D):null!==z&&a.call("_guiRelayout",u,i.id+".radialaxis.range["+r+"]",z)}function q(t,e){if(0!==r){var n=b+t,a=_+e;D=Math.atan2(d-a,n-p),i.vangles&&(D=U(D,i.vangles)),D=F(D);var o=l(p,d)+s(-D);c["radial-axis"].attr("transform",o),c["radial-line"].select("line").attr("transform",o);var u=i.gd._fullLayout,f=u[i.id];i.updateRadialAxisTitle(u,f,D)}}function G(t,e){var n=o.dot([t,-e],[Math.cos(M),Math.sin(M)]);if(z=P-O*n,O>0==(r?z>L:z<C)){var s=u._fullLayout,l=s[i.id];v.range[r]=z,v._rl[r]=z,i.updateRadialAxis(s,l),i.xaxis.setRange(),i.xaxis.setScale(),i.yaxis.setRange(),i.yaxis.setScale();var c=!1;for(var f in i.traceHash){var h=i.traceHash[f],p=o.filterVisible(h);h[0][0].trace._module.plot(u,i,p,l),a.traceIs(f,"gl")&&p.length&&(c=!0)}c&&(k(u),A(u))}else z=null}},N.updateAngularDrag=function(t){var e=this,r=e.gd,i=e.layers,u=e.radius,f=e.angularAxis,h=e.cx,p=e.cy,d=e.cxx,v=e.cyy,m=S.angularDragBoxSize,x=g.makeDragger(i,"path","angulardrag",!1===t.dragmode?"none":"move"),b={element:x,gd:r};function _(t,e){return Math.atan2(v+m-e,t-d-m)}!1===t.dragmode?b.dragmode=!1:n.select(x).attr("d",e.pathAnnulus(u,u+m)).attr("transform",l(h,p)).call(T,"move");var M,E,L,C,P,O,I=i.frontplot.select(".scatterlayer").selectAll(".trace"),D=I.selectAll(".point"),z=I.selectAll(".textpoint");function R(u,g){var y=e.gd._fullLayout,m=y[e.id],x=_(M+u*t._invScaleX,E+g*t._invScaleY),b=F(x-O);if(C=L+b,i.frontplot.attr("transform",l(e.xOffset2,e.yOffset2)+s([-b,d,v])),e.vangles){P=e.radialAxisAngle+b;var w=l(h,p)+s(-b),T=l(h,p)+s(-P);i.bg.attr("transform",w),i["radial-grid"].attr("transform",w),i["radial-axis"].attr("transform",T),i["radial-line"].select("line").attr("transform",T),e.updateRadialAxisTitle(y,m,P)}else e.clipPaths.forTraces.select("path").attr("transform",l(d,v)+s(b));D.each((function(){var t=n.select(this),e=c.getTranslate(t);t.attr("transform",l(e.x,e.y)+s([b]))})),z.each((function(){var t=n.select(this),e=t.select("text"),r=c.getTranslate(t);t.attr("transform",s([b,e.attr("x"),e.attr("y")])+l(r.x,r.y))})),f.rotation=o.modHalf(C,360),e.updateAngularAxis(y,m),e._hasClipOnAxisFalse&&!o.isFullCircle(e.sectorInRad)&&I.call(c.hideOutsideRangePoints,e);var S=!1;for(var R in e.traceHash)if(a.traceIs(R,"gl")){var N=e.traceHash[R],j=o.filterVisible(N);N[0][0].trace._module.plot(r,e,j,m),j.length&&(S=!0)}S&&(k(r),A(r));var U={};B(U),r.emit("plotly_relayouting",U)}function B(t){t[e.id+".angularaxis.rotation"]=C,e.vangles&&(t[e.id+".radialaxis.angle"]=P)}function N(){z.select("text").attr("transform",null);var t={};B(t),a.call("_guiRelayout",r,t)}b.prepFn=function(n,i,a){var s=t[e.id];L=s.angularaxis.rotation;var l=x.getBoundingClientRect();M=i-l.left,E=a-l.top,r._fullLayout._calcInverseTransform(r);var u=o.apply3DTransform(t._invTransform)(M,E);M=u[0],E=u[1],O=_(M,E),b.moveFn=R,b.doneFn=N,w(r)},e.vangles&&!o.isFullCircle(e.sectorInRad)&&(b.prepFn=o.noop,T(n.select(x),null)),y.init(b)},N.isPtInside=function(t){if(this.isSmith)return!0;var e=this.sectorInRad,r=this.vangles,n=this.angularAxis.c2g(t.theta),i=this.radialAxis,a=i.c2l(t.r),s=i._rl;return(r?E.isPtInsidePolygon:o.isPtInsideSector)(a,n,s,e,r)},N.pathArc=function(t){var e=this.sectorInRad,r=this.vangles;return(r?E.pathPolygon:o.pathArc)(t,e[0],e[1],r)},N.pathSector=function(t){var e=this.sectorInRad,r=this.vangles;return(r?E.pathPolygon:o.pathSector)(t,e[0],e[1],r)},N.pathAnnulus=function(t,e){var r=this.sectorInRad,n=this.vangles;return(n?E.pathPolygonAnnulus:o.pathAnnulus)(t,e,r[0],r[1],n)},N.pathSubplot=function(){var t=this.innerRadius,e=this.radius;return t?this.pathAnnulus(t,e):this.pathSector(e)},N.fillViewInitialKey=function(t,e){t in this.viewInitial||(this.viewInitial[t]=e)}},12101:function(t,e,r){"use strict";var n=r(71828),i=r(21994),a=n.deg2rad,o=n.rad2deg;t.exports=function(t,e,r){switch(i(t,r),t._id){case"x":case"radialaxis":!function(t,e){var r=e._subplot;t.setGeometry=function(){var e=t._rl[0],n=t._rl[1],i=r.innerRadius,a=(r.radius-i)/(n-e),o=i/a,s=e>n?function(t){return t<=0}:function(t){return t>=0};t.c2g=function(r){var n=t.c2l(r)-e;return(s(n)?n:0)+o},t.g2c=function(r){return t.l2c(r+e-o)},t.g2p=function(t){return t*a},t.c2p=function(e){return t.g2p(t.c2g(e))}}}(t,e);break;case"angularaxis":!function(t,e){var r=t.type;if("linear"===r){var i=t.d2c,s=t.c2d;t.d2c=function(t,e){return function(t,e){return"degrees"===e?a(t):t}(i(t),e)},t.c2d=function(t,e){return s(function(t,e){return"degrees"===e?o(t):t}(t,e))}}t.makeCalcdata=function(e,i){var a,o,s=e[i],l=e._length,u=function(r){return t.d2c(r,e.thetaunit)};if(s){if(n.isTypedArray(s)&&"linear"===r){if(l===s.length)return s;if(s.subarray)return s.subarray(0,l)}for(a=new Array(l),o=0;o<l;o++)a[o]=u(s[o])}else{var c=i+"0",f="d"+i,h=c in e?u(e[c]):0,p=e[f]?u(e[f]):(t.period||2*Math.PI)/l;for(a=new Array(l),o=0;o<l;o++)a[o]=h+o*p}return a},t.setGeometry=function(){var i,s,l,u,c=e.sector,f=c.map(a),h={clockwise:-1,counterclockwise:1}[t.direction],p=a(t.rotation),d=function(t){return h*t+p},v=function(t){return(t-p)/h};switch(r){case"linear":s=i=n.identity,u=a,l=o,t.range=n.isFullCircle(f)?[c[0],c[0]+360]:f.map(v).map(o);break;case"category":var g=t._categories.length,y=t.period?Math.max(t.period,g):g;0===y&&(y=1),s=u=function(t){return 2*t*Math.PI/y},i=l=function(t){return t*y/Math.PI/2},t.range=[0,y]}t.c2g=function(t){return d(s(t))},t.g2c=function(t){return i(v(t))},t.t2g=function(t){return d(u(t))},t.g2t=function(t){return l(v(t))}}}(t,e)}}},39779:function(t){"use strict";t.exports={attr:"subplot",name:"smith",axisNames:["realaxis","imaginaryaxis"],axisName2dataArray:{imaginaryaxis:"imag",realaxis:"real"}}},23893:function(t){"use strict";function e(t){return t<0?-1:t>0?1:0}function r(t){var e=t[0],r=t[1];if(!isFinite(e)||!isFinite(r))return[1,0];var n=(e+1)*(e+1)+r*r;return[(e*e+r*r-1)/n,2*r/n]}function n(t,e){var r=e[0],n=e[1];return[r*t.radius+t.cx,-n*t.radius+t.cy]}function i(t,e){return e*t.radius}t.exports={smith:r,reactanceArc:function(t,e,a,o){var s=n(t,r([a,e])),l=s[0],u=s[1],c=n(t,r([o,e])),f=c[0],h=c[1];if(0===e)return["M"+l+","+u,"L"+f+","+h].join(" ");var p=i(t,1/Math.abs(e));return["M"+l+","+u,"A"+p+","+p+" 0 0,"+(e<0?1:0)+" "+f+","+h].join(" ")},resistanceArc:function(t,a,o,s){var l=i(t,1/(a+1)),u=n(t,r([a,o])),c=u[0],f=u[1],h=n(t,r([a,s])),p=h[0],d=h[1];if(e(o)!==e(s)){var v=n(t,r([a,0]));return["M"+c+","+f,"A"+l+","+l+" 0 0,"+(0<o?0:1)+" "+v[0]+","+v[1],"A"+l+","+l+" 0 0,"+(s<0?0:1)+p+","+d].join(" ")}return["M"+c+","+f,"A"+l+","+l+" 0 0,"+(s<o?0:1)+" "+p+","+d].join(" ")},smithTransform:n}},7504:function(t,e,r){"use strict";var n=r(27659).AU,i=r(71828).counterRegex,a=r(77997),o=r(39779),s=o.attr,l=o.name,u=i(l),c={};c[s]={valType:"subplotid",dflt:l,editType:"calc"},t.exports={attr:s,name:l,idRoot:l,idRegex:u,attrRegex:u,attributes:c,layoutAttributes:r(33419),supplyLayoutDefaults:r(9558),plot:function(t){for(var e=t._fullLayout,r=t.calcdata,i=e._subplots[l],o=0;o<i.length;o++){var s=i[o],u=n(r,l,s),c=e[s]._subplot;c||(c=a(t,s,!0),e[s]._subplot=c),c.plot(u,e,t._promises)}},clean:function(t,e,r,n){for(var i=n._subplots[l]||[],a=0;a<i.length;a++){var o=i[a],s=n[o]._subplot;if(!e[o]&&s)for(var u in s.framework.remove(),s.clipPaths)s.clipPaths[u].remove()}},toSVG:r(93612).toSVG}},33419:function(t,e,r){"use strict";var n=r(22399),i=r(13838),a=r(27670).Y,o=r(71828).extendFlat,s=r(30962).overrideAll,l=s({color:i.color,showline:o({},i.showline,{dflt:!0}),linecolor:i.linecolor,linewidth:i.linewidth,showgrid:o({},i.showgrid,{dflt:!0}),gridcolor:i.gridcolor,gridwidth:i.gridwidth,griddash:i.griddash},"plot","from-root"),u=s({ticklen:i.ticklen,tickwidth:o({},i.tickwidth,{dflt:2}),tickcolor:i.tickcolor,showticklabels:i.showticklabels,showtickprefix:i.showtickprefix,tickprefix:i.tickprefix,showticksuffix:i.showticksuffix,ticksuffix:i.ticksuffix,tickfont:i.tickfont,tickformat:i.tickformat,hoverformat:i.hoverformat,layer:i.layer},"plot","from-root"),c=o({visible:o({},i.visible,{dflt:!0}),tickvals:{dflt:[.2,.5,1,2,5],valType:"data_array",editType:"plot"},tickangle:o({},i.tickangle,{dflt:90}),ticks:{valType:"enumerated",values:["top","bottom",""],editType:"ticks"},side:{valType:"enumerated",values:["top","bottom"],dflt:"top",editType:"plot"},editType:"calc"},l,u),f=o({visible:o({},i.visible,{dflt:!0}),tickvals:{valType:"data_array",editType:"plot"},ticks:i.ticks,editType:"calc"},l,u);t.exports={domain:a({name:"smith",editType:"plot"}),bgcolor:{valType:"color",editType:"plot",dflt:n.background},realaxis:c,imaginaryaxis:f,editType:"calc"}},9558:function(t,e,r){"use strict";var n,i,a,o=r(71828),s=r(7901),l=r(44467),u=r(49119),c=r(27659).NG,f=r(89426),h=r(96115),p=r(92128),d=r(21994),v=r(33419),g=r(39779),y=g.axisNames,m=(n=function(t){return t.slice().reverse().map((function(t){return-t})).concat([0]).concat(t)},i=String,a={},function(t){var e=i?i(t):t;if(e in a)return a[e];var r=n(t);return a[e]=r,r});function x(t,e,r,n){var i=r("bgcolor");n.bgColor=s.combine(i,n.paper_bgcolor);var a,u=c(n.fullData,g.name,n.id),x=n.layoutOut;function b(t,e){return r(a+"."+t,e)}for(var _=0;_<y.length;_++){a=y[_],o.isPlainObject(t[a])||(t[a]={});var w=t[a],T=l.newContainer(e,a);T._id=T._name=a,T._attr=n.id+"."+a,T._traceIndices=u.map((function(t){return t._expandedIndex}));var k=b("visible");if(T.type="linear",d(T,x),f(w,T,b,T.type),k){var A,M,S,E,L="realaxis"===a;L&&b("side"),L?b("tickvals"):b("tickvals",m(e.realaxis.tickvals||v.realaxis.tickvals.dflt));var C=n.font||{};k&&(M=(A=b("color"))===w.color?A:C.color,S=C.size,E=C.family),h(w,T,b,T.type,{noTicklabelstep:!0,noAng:!L,noExp:!0,font:{color:M,size:S,family:E}}),o.coerce2(t,e,v,a+".ticklen"),o.coerce2(t,e,v,a+".tickwidth"),o.coerce2(t,e,v,a+".tickcolor",e.color),b("ticks")||(delete e[a].ticklen,delete e[a].tickwidth,delete e[a].tickcolor),p(w,T,b,{dfltColor:A,bgColor:n.bgColor,blend:60,showLine:!0,showGrid:!0,noZeroLine:!0,attributes:v[a]}),b("layer")}b("hoverformat"),delete T.type,T._input=w}}t.exports=function(t,e,r){u(t,e,r,{noUirevision:!0,type:g.name,attributes:v,handleDefaults:x,font:e.font,paper_bgcolor:e.paper_bgcolor,fullData:r,layoutOut:e})}},49119:function(t,e,r){"use strict";var n=r(71828),i=r(44467),a=r(27670).c;t.exports=function(t,e,r,o){var s,l,u=o.type,c=o.attributes,f=o.handleDefaults,h=o.partition||"x",p=e._subplots[u],d=p.length,v=d&&p[0].replace(/\d+$/,"");function g(t,e){return n.coerce(s,l,c,t,e)}for(var y=0;y<d;y++){var m=p[y];s=t[m]?t[m]:t[m]={},l=i.newContainer(e,m,v),o.noUirevision||g("uirevision",e.uirevision);var x={};x[h]=[y/d,(y+1)/d],a(l,e,g,x),o.id=m,f(s,l,g,o)}}},5386:function(t,e,r){"use strict";var n=r(31562);function i(t){var e=t.description?" "+t.description:"",r=t.keys||[];if(r.length>0){for(var n=[],i=0;i<r.length;i++)n[i]="`"+r[i]+"`";e+="Finally, the template string has access to ",e=1===r.length?"variable "+n[0]:"variables "+n.slice(0,-1).join(", ")+" and "+n.slice(-1)+"."}return e}n.FORMAT_LINK,n.DATE_FORMAT_LINK,e.f=function(t,e){t=t||{},i(e=e||{});var r={valType:"string",dflt:"",editType:t.editType||"none"};return!1!==t.arrayOk&&(r.arrayOk=!0),r},e.s=function(t,e){t=t||{},i(e=e||{});var r={valType:"string",dflt:"",editType:t.editType||"calc"};return!1!==t.arrayOk&&(r.arrayOk=!0),r}},61639:function(t,e,r){"use strict";var n=r(64380),i=r(27659).AU,a=r(71828).counterRegex,o="ternary";e.name=o;var s=e.attr="subplot";e.idRoot=o,e.idRegex=e.attrRegex=a(o),(e.attributes={})[s]={valType:"subplotid",dflt:"ternary",editType:"calc"},e.layoutAttributes=r(81367),e.supplyLayoutDefaults=r(25369),e.plot=function(t){for(var e=t._fullLayout,r=t.calcdata,a=e._subplots.ternary,s=0;s<a.length;s++){var l=a[s],u=i(r,o,l),c=e[l]._subplot;c||(c=new n({id:l,graphDiv:t,container:e._ternarylayer.node()},e),e[l]._subplot=c),c.plot(u,e,t._promises)}},e.clean=function(t,e,r,n){for(var i=n._subplots.ternary||[],a=0;a<i.length;a++){var o=i[a],s=n[o]._subplot;!e[o]&&s&&(s.plotContainer.remove(),s.clipDef.remove(),s.clipDefRelative.remove(),s.layers["a-title"].remove(),s.layers["b-title"].remove(),s.layers["c-title"].remove())}}},81367:function(t,e,r){"use strict";var n=r(22399),i=r(27670).Y,a=r(13838),o=r(30962).overrideAll,s=r(1426).extendFlat,l={title:{text:a.title.text,font:a.title.font},color:a.color,tickmode:a.minor.tickmode,nticks:s({},a.nticks,{dflt:6,min:1}),tick0:a.tick0,dtick:a.dtick,tickvals:a.tickvals,ticktext:a.ticktext,ticks:a.ticks,ticklen:a.ticklen,tickwidth:a.tickwidth,tickcolor:a.tickcolor,ticklabelstep:a.ticklabelstep,showticklabels:a.showticklabels,showtickprefix:a.showtickprefix,tickprefix:a.tickprefix,showticksuffix:a.showticksuffix,ticksuffix:a.ticksuffix,showexponent:a.showexponent,exponentformat:a.exponentformat,minexponent:a.minexponent,separatethousands:a.separatethousands,tickfont:a.tickfont,tickangle:a.tickangle,tickformat:a.tickformat,tickformatstops:a.tickformatstops,hoverformat:a.hoverformat,showline:s({},a.showline,{dflt:!0}),linecolor:a.linecolor,linewidth:a.linewidth,showgrid:s({},a.showgrid,{dflt:!0}),gridcolor:a.gridcolor,gridwidth:a.gridwidth,griddash:a.griddash,layer:a.layer,min:{valType:"number",dflt:0,min:0},_deprecated:{title:a._deprecated.title,titlefont:a._deprecated.titlefont}},u=t.exports=o({domain:i({name:"ternary"}),bgcolor:{valType:"color",dflt:n.background},sum:{valType:"number",dflt:1,min:0},aaxis:l,baxis:l,caxis:l},"plot","from-root");u.uirevision={valType:"any",editType:"none"},u.aaxis.uirevision=u.baxis.uirevision=u.caxis.uirevision={valType:"any",editType:"none"}},25369:function(t,e,r){"use strict";var n=r(7901),i=r(44467),a=r(71828),o=r(49119),s=r(96115),l=r(89426),u=r(38701),c=r(26218),f=r(92128),h=r(81367),p=["aaxis","baxis","caxis"];function d(t,e,r,a){var o,s,l,u=r("bgcolor"),c=r("sum");a.bgColor=n.combine(u,a.paper_bgcolor);for(var f=0;f<p.length;f++)s=t[o=p[f]]||{},(l=i.newContainer(e,o))._name=o,v(s,l,a,e);var h=e.aaxis,d=e.baxis,g=e.caxis;h.min+d.min+g.min>=c&&(h.min=0,d.min=0,g.min=0,t.aaxis&&delete t.aaxis.min,t.baxis&&delete t.baxis.min,t.caxis&&delete t.caxis.min)}function v(t,e,r,n){var i=h[e._name];function o(r,n){return a.coerce(t,e,i,r,n)}o("uirevision",n.uirevision),e.type="linear";var p=o("color"),d=p!==i.color.dflt?p:r.font.color,v=e._name.charAt(0).toUpperCase(),g="Component "+v,y=o("title.text",g);e._hovertitle=y===g?y:v,a.coerceFont(o,"title.font",{family:r.font.family,size:a.bigFont(r.font.size),color:d}),o("min"),c(t,e,o,"linear"),l(t,e,o,"linear"),s(t,e,o,"linear"),u(t,e,o,{outerTicks:!0}),o("showticklabels")&&(a.coerceFont(o,"tickfont",{family:r.font.family,size:r.font.size,color:d}),o("tickangle"),o("tickformat")),f(t,e,o,{dfltColor:p,bgColor:r.bgColor,blend:60,showLine:!0,showGrid:!0,noZeroLine:!0,attributes:i}),o("hoverformat"),o("layer")}t.exports=function(t,e,r){o(t,e,r,{type:"ternary",attributes:h,handleDefaults:d,font:e.font,paper_bgcolor:e.paper_bgcolor})}},64380:function(t,e,r){"use strict";var n=r(39898),i=r(84267),a=r(73972),o=r(71828),s=o.strTranslate,l=o._,u=r(7901),c=r(91424),f=r(21994),h=r(1426).extendFlat,p=r(74875),d=r(89298),v=r(28569),g=r(30211),y=r(64505),m=y.freeMode,x=y.rectMode,b=r(92998),_=r(47322).prepSelect,w=r(47322).selectOnClick,T=r(47322).clearOutline,k=r(47322).clearSelectionsCache,A=r(85555);function M(t,e){this.id=t.id,this.graphDiv=t.graphDiv,this.init(e),this.makeFramework(e),this.aTickLayout=null,this.bTickLayout=null,this.cTickLayout=null}t.exports=M;var S=M.prototype;S.init=function(t){this.container=t._ternarylayer,this.defs=t._defs,this.layoutId=t._uid,this.traceHash={},this.layers={}},S.plot=function(t,e){var r=this,n=e[r.id],i=e._size;r._hasClipOnAxisFalse=!1;for(var a=0;a<t.length;a++)if(!1===t[a][0].trace.cliponaxis){r._hasClipOnAxisFalse=!0;break}r.updateLayers(n),r.adjustLayout(n,i),p.generalUpdatePerTraceModule(r.graphDiv,r,t,n),r.layers.plotbg.select("path").call(u.fill,n.bgcolor)},S.makeFramework=function(t){var e=this,r=e.graphDiv,n=t[e.id],i=e.clipId="clip"+e.layoutId+e.id,a=e.clipIdRelative="clip-relative"+e.layoutId+e.id;e.clipDef=o.ensureSingleById(t._clips,"clipPath",i,(function(t){t.append("path").attr("d","M0,0Z")})),e.clipDefRelative=o.ensureSingleById(t._clips,"clipPath",a,(function(t){t.append("path").attr("d","M0,0Z")})),e.plotContainer=o.ensureSingle(e.container,"g",e.id),e.updateLayers(n),c.setClipUrl(e.layers.backplot,i,r),c.setClipUrl(e.layers.grids,i,r)},S.updateLayers=function(t){var e=this.layers,r=["draglayer","plotbg","backplot","grids"];"below traces"===t.aaxis.layer&&r.push("aaxis","aline"),"below traces"===t.baxis.layer&&r.push("baxis","bline"),"below traces"===t.caxis.layer&&r.push("caxis","cline"),r.push("frontplot"),"above traces"===t.aaxis.layer&&r.push("aaxis","aline"),"above traces"===t.baxis.layer&&r.push("baxis","bline"),"above traces"===t.caxis.layer&&r.push("caxis","cline");var i=this.plotContainer.selectAll("g.toplevel").data(r,String),a=["agrid","bgrid","cgrid"];i.enter().append("g").attr("class",(function(t){return"toplevel "+t})).each((function(t){var r=n.select(this);e[t]=r,"frontplot"===t?r.append("g").classed("scatterlayer",!0):"backplot"===t?r.append("g").classed("maplayer",!0):"plotbg"===t?r.append("path").attr("d","M0,0Z"):"aline"===t||"bline"===t||"cline"===t?r.append("path"):"grids"===t&&a.forEach((function(t){e[t]=r.append("g").classed("grid "+t,!0)}))})),i.order()};var E=Math.sqrt(4/3);S.adjustLayout=function(t,e){var r,n,i,a,o,l,p=this,d=t.domain,v=(d.x[0]+d.x[1])/2,g=(d.y[0]+d.y[1])/2,y=d.x[1]-d.x[0],m=d.y[1]-d.y[0],x=y*e.w,b=m*e.h,_=t.sum,w=t.aaxis.min,T=t.baxis.min,k=t.caxis.min;x>E*b?i=(a=b)*E:a=(i=x)/E,o=y*i/x,l=m*a/b,r=e.l+e.w*v-i/2,n=e.t+e.h*(1-g)-a/2,p.x0=r,p.y0=n,p.w=i,p.h=a,p.sum=_,p.xaxis={type:"linear",range:[w+2*k-_,_-w-2*T],domain:[v-o/2,v+o/2],_id:"x"},f(p.xaxis,p.graphDiv._fullLayout),p.xaxis.setScale(),p.xaxis.isPtWithinRange=function(t){return t.a>=p.aaxis.range[0]&&t.a<=p.aaxis.range[1]&&t.b>=p.baxis.range[1]&&t.b<=p.baxis.range[0]&&t.c>=p.caxis.range[1]&&t.c<=p.caxis.range[0]},p.yaxis={type:"linear",range:[w,_-T-k],domain:[g-l/2,g+l/2],_id:"y"},f(p.yaxis,p.graphDiv._fullLayout),p.yaxis.setScale(),p.yaxis.isPtWithinRange=function(){return!0};var A=p.yaxis.domain[0],M=p.aaxis=h({},t.aaxis,{range:[w,_-T-k],side:"left",tickangle:(+t.aaxis.tickangle||0)-30,domain:[A,A+l*E],anchor:"free",position:0,_id:"y",_length:i});f(M,p.graphDiv._fullLayout),M.setScale();var S=p.baxis=h({},t.baxis,{range:[_-w-k,T],side:"bottom",domain:p.xaxis.domain,anchor:"free",position:0,_id:"x",_length:i});f(S,p.graphDiv._fullLayout),S.setScale();var L=p.caxis=h({},t.caxis,{range:[_-w-T,k],side:"right",tickangle:(+t.caxis.tickangle||0)+30,domain:[A,A+l*E],anchor:"free",position:0,_id:"y",_length:i});f(L,p.graphDiv._fullLayout),L.setScale();var C="M"+r+","+(n+a)+"h"+i+"l-"+i/2+",-"+a+"Z";p.clipDef.select("path").attr("d",C),p.layers.plotbg.select("path").attr("d",C);var P="M0,"+a+"h"+i+"l-"+i/2+",-"+a+"Z";p.clipDefRelative.select("path").attr("d",P);var O=s(r,n);p.plotContainer.selectAll(".scatterlayer,.maplayer").attr("transform",O),p.clipDefRelative.select("path").attr("transform",null);var I=s(r-S._offset,n+a);p.layers.baxis.attr("transform",I),p.layers.bgrid.attr("transform",I);var D=s(r+i/2,n)+"rotate(30)"+s(0,-M._offset);p.layers.aaxis.attr("transform",D),p.layers.agrid.attr("transform",D);var z=s(r+i/2,n)+"rotate(-30)"+s(0,-L._offset);p.layers.caxis.attr("transform",z),p.layers.cgrid.attr("transform",z),p.drawAxes(!0),p.layers.aline.select("path").attr("d",M.showline?"M"+r+","+(n+a)+"l"+i/2+",-"+a:"M0,0").call(u.stroke,M.linecolor||"#000").style("stroke-width",(M.linewidth||0)+"px"),p.layers.bline.select("path").attr("d",S.showline?"M"+r+","+(n+a)+"h"+i:"M0,0").call(u.stroke,S.linecolor||"#000").style("stroke-width",(S.linewidth||0)+"px"),p.layers.cline.select("path").attr("d",L.showline?"M"+(r+i/2)+","+n+"l"+i/2+","+a:"M0,0").call(u.stroke,L.linecolor||"#000").style("stroke-width",(L.linewidth||0)+"px"),p.graphDiv._context.staticPlot||p.initInteractions(),c.setClipUrl(p.layers.frontplot,p._hasClipOnAxisFalse?null:p.clipId,p.graphDiv)},S.drawAxes=function(t){var e=this,r=e.graphDiv,n=e.id.substr(7)+"title",i=e.layers,a=e.aaxis,o=e.baxis,s=e.caxis;if(e.drawAx(a),e.drawAx(o),e.drawAx(s),t){var u=Math.max(a.showticklabels?a.tickfont.size/2:0,(s.showticklabels?.75*s.tickfont.size:0)+("outside"===s.ticks?.87*s.ticklen:0)),c=(o.showticklabels?o.tickfont.size:0)+("outside"===o.ticks?o.ticklen:0)+3;i["a-title"]=b.draw(r,"a"+n,{propContainer:a,propName:e.id+".aaxis.title",placeholder:l(r,"Click to enter Component A title"),attributes:{x:e.x0+e.w/2,y:e.y0-a.title.font.size/3-u,"text-anchor":"middle"}}),i["b-title"]=b.draw(r,"b"+n,{propContainer:o,propName:e.id+".baxis.title",placeholder:l(r,"Click to enter Component B title"),attributes:{x:e.x0-c,y:e.y0+e.h+.83*o.title.font.size+c,"text-anchor":"middle"}}),i["c-title"]=b.draw(r,"c"+n,{propContainer:s,propName:e.id+".caxis.title",placeholder:l(r,"Click to enter Component C title"),attributes:{x:e.x0+e.w+c,y:e.y0+e.h+.83*s.title.font.size+c,"text-anchor":"middle"}})}},S.drawAx=function(t){var e,r=this,n=r.graphDiv,i=t._name,a=i.charAt(0),s=t._id,l=r.layers[i],u=a+"tickLayout",c=(e=t).ticks+String(e.ticklen)+String(e.showticklabels);r[u]!==c&&(l.selectAll("."+s+"tick").remove(),r[u]=c),t.setScale();var f=d.calcTicks(t),h=d.clipEnds(t,f),p=d.makeTransTickFn(t),v=d.getTickSigns(t)[2],g=o.deg2rad(30),y=v*(t.linewidth||1)/2,m=v*t.ticklen,x=r.w,b=r.h,_="b"===a?"M0,"+y+"l"+Math.sin(g)*m+","+Math.cos(g)*m:"M"+y+",0l"+Math.cos(g)*m+","+-Math.sin(g)*m,w={a:"M0,0l"+b+",-"+x/2,b:"M0,0l-"+x/2+",-"+b,c:"M0,0l-"+b+","+x/2}[a];d.drawTicks(n,t,{vals:"inside"===t.ticks?h:f,layer:l,path:_,transFn:p,crisp:!1}),d.drawGrid(n,t,{vals:h,layer:r.layers[a+"grid"],path:w,transFn:p,crisp:!1}),d.drawLabels(n,t,{vals:f,layer:l,transFn:p,labelFns:d.makeLabelFns(t,0,30)})};var L=A.MINZOOM/2+.87,C="m-0.87,.5h"+L+"v3h-"+(L+5.2)+"l"+(L/2+2.6)+",-"+(.87*L+4.5)+"l2.6,1.5l-"+L/2+","+.87*L+"Z",P="m0.87,.5h-"+L+"v3h"+(L+5.2)+"l-"+(L/2+2.6)+",-"+(.87*L+4.5)+"l-2.6,1.5l"+L/2+","+.87*L+"Z",O="m0,1l"+L/2+","+.87*L+"l2.6,-1.5l-"+(L/2+2.6)+",-"+(.87*L+4.5)+"l-"+(L/2+2.6)+","+(.87*L+4.5)+"l2.6,1.5l"+L/2+",-"+.87*L+"Z",I=!0;function D(t){n.select(t).selectAll(".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners").remove()}S.clearOutline=function(){k(this.dragOptions),T(this.dragOptions.gd)},S.initInteractions=function(){var t,e,r,n,f,h,p,d,y,b,T,k,M=this,S=M.layers.plotbg.select("path").node(),L=M.graphDiv,z=L._fullLayout._zoomlayer;function R(t){var e={};return e[M.id+".aaxis.min"]=t.a,e[M.id+".baxis.min"]=t.b,e[M.id+".caxis.min"]=t.c,e}function F(t,e){var r=L._fullLayout.clickmode;D(L),2===t&&(L.emit("plotly_doubleclick",null),a.call("_guiRelayout",L,R({a:0,b:0,c:0}))),r.indexOf("select")>-1&&1===t&&w(e,L,[M.xaxis],[M.yaxis],M.id,M.dragOptions),r.indexOf("event")>-1&&g.click(L,e,M.id)}function B(t,e){return 1-e/M.h}function N(t,e){return 1-(t+(M.h-e)/Math.sqrt(3))/M.w}function j(t,e){return(t-(M.h-e)/Math.sqrt(3))/M.w}function U(i,a){var o=r+i*t,s=n+a*e,l=Math.max(0,Math.min(1,B(0,n),B(0,s))),u=Math.max(0,Math.min(1,N(r,n),N(o,s))),c=Math.max(0,Math.min(1,j(r,n),j(o,s))),v=(l/2+c)*M.w,g=(1-l/2-u)*M.w,m=(v+g)/2,x=g-v,_=(1-l)*M.h,w=_-x/E;x<A.MINZOOM?(p=f,T.attr("d",y),k.attr("d","M0,0Z")):(p={a:f.a+l*h,b:f.b+u*h,c:f.c+c*h},T.attr("d",y+"M"+v+","+_+"H"+g+"L"+m+","+w+"L"+v+","+_+"Z"),k.attr("d","M"+r+","+n+"m0.5,0.5h5v-2h-5v-5h-2v5h-5v2h5v5h2ZM"+v+","+_+C+"M"+g+","+_+P+"M"+m+","+w+O)),b||(T.transition().style("fill",d>.2?"rgba(0,0,0,0.4)":"rgba(255,255,255,0.3)").duration(200),k.transition().style("opacity",1).duration(200),b=!0),L.emit("plotly_relayouting",R(p))}function V(){D(L),p!==f&&(a.call("_guiRelayout",L,R(p)),I&&L.data&&L._context.showTips&&(o.notifier(l(L,"Double-click to zoom back out"),"long"),I=!1))}function H(t,e){var r=t/M.xaxis._m,n=e/M.yaxis._m,i=[(p={a:f.a-n,b:f.b+(r+n)/2,c:f.c-(r-n)/2}).a,p.b,p.c].sort(o.sorterAsc),a=i.indexOf(p.a),l=i.indexOf(p.b),u=i.indexOf(p.c);i[0]<0&&(i[1]+i[0]/2<0?(i[2]+=i[0]+i[1],i[0]=i[1]=0):(i[2]+=i[0]/2,i[1]+=i[0]/2,i[0]=0),p={a:i[a],b:i[l],c:i[u]},e=(f.a-p.a)*M.yaxis._m,t=(f.c-p.c-f.b+p.b)*M.xaxis._m);var h=s(M.x0+t,M.y0+e);M.plotContainer.selectAll(".scatterlayer,.maplayer").attr("transform",h);var d=s(-t,-e);M.clipDefRelative.select("path").attr("transform",d),M.aaxis.range=[p.a,M.sum-p.b-p.c],M.baxis.range=[M.sum-p.a-p.c,p.b],M.caxis.range=[M.sum-p.a-p.b,p.c],M.drawAxes(!1),M._hasClipOnAxisFalse&&M.plotContainer.select(".scatterlayer").selectAll(".trace").call(c.hideOutsideRangePoints,M),L.emit("plotly_relayouting",R(p))}function q(){a.call("_guiRelayout",L,R(p))}this.dragOptions={element:S,gd:L,plotinfo:{id:M.id,domain:L._fullLayout[M.id].domain,xaxis:M.xaxis,yaxis:M.yaxis},subplot:M.id,prepFn:function(a,l,c){M.dragOptions.xaxes=[M.xaxis],M.dragOptions.yaxes=[M.yaxis],t=L._fullLayout._invScaleX,e=L._fullLayout._invScaleY;var v=M.dragOptions.dragmode=L._fullLayout.dragmode;m(v)?M.dragOptions.minDrag=1:M.dragOptions.minDrag=void 0,"zoom"===v?(M.dragOptions.moveFn=U,M.dragOptions.clickFn=F,M.dragOptions.doneFn=V,function(t,e,a){var l=S.getBoundingClientRect();r=e-l.left,n=a-l.top,L._fullLayout._calcInverseTransform(L);var c=L._fullLayout._invTransform,v=o.apply3DTransform(c)(r,n);r=v[0],n=v[1],f={a:M.aaxis.range[0],b:M.baxis.range[1],c:M.caxis.range[1]},p=f,h=M.aaxis.range[1]-f.a,d=i(M.graphDiv._fullLayout[M.id].bgcolor).getLuminance(),y="M0,"+M.h+"L"+M.w/2+", 0L"+M.w+","+M.h+"Z",b=!1,T=z.append("path").attr("class","zoombox").attr("transform",s(M.x0,M.y0)).style({fill:d>.2?"rgba(0,0,0,0)":"rgba(255,255,255,0)","stroke-width":0}).attr("d",y),k=z.append("path").attr("class","zoombox-corners").attr("transform",s(M.x0,M.y0)).style({fill:u.background,stroke:u.defaultLine,"stroke-width":1,opacity:0}).attr("d","M0,0Z"),M.clearOutline(L)}(0,l,c)):"pan"===v?(M.dragOptions.moveFn=H,M.dragOptions.clickFn=F,M.dragOptions.doneFn=q,f={a:M.aaxis.range[0],b:M.baxis.range[1],c:M.caxis.range[1]},p=f,M.clearOutline(L)):(x(v)||m(v))&&_(a,l,c,M.dragOptions,v)}},S.onmousemove=function(t){g.hover(L,t,M.id),L._fullLayout._lasthover=S,L._fullLayout._hoversubplot=M.id},S.onmouseout=function(t){L._dragging||v.unhover(L,t)},v.init(this.dragOptions)}},73972:function(t,e,r){"use strict";var n=r(47769),i=r(64213),a=r(75138),o=r(41965),s=r(24401).addStyleRule,l=r(1426),u=r(9012),c=r(10820),f=l.extendFlat,h=l.extendDeepAll;function p(t){var r=t.name,i=t.categories,a=t.meta;if(e.modules[r])n.log("Type "+r+" already registered");else{e.subplotsRegistry[t.basePlotModule.name]||function(t){var r=t.name;if(e.subplotsRegistry[r])n.log("Plot type "+r+" already registered.");else for(var i in y(t),e.subplotsRegistry[r]=t,e.componentsRegistry)b(i,t.name)}(t.basePlotModule);for(var o={},l=0;l<i.length;l++)o[i[l]]=!0,e.allCategories[i[l]]=!0;for(var u in e.modules[r]={_module:t,categories:o},a&&Object.keys(a).length&&(e.modules[r].meta=a),e.allTypes.push(r),e.componentsRegistry)m(u,r);t.layoutAttributes&&f(e.traceLayoutAttributes,t.layoutAttributes);var c=t.basePlotModule,h=c.name;if("mapbox"===h){var p=c.constants.styleRules;for(var d in p)s(".js-plotly-plot .plotly .mapboxgl-"+d,p[d])}"geo"!==h&&"mapbox"!==h||void 0!==window.PlotlyGeoAssets||(window.PlotlyGeoAssets={topojson:{}})}}function d(t){if("string"!=typeof t.name)throw new Error("Component module *name* must be a string.");var r=t.name;for(var n in e.componentsRegistry[r]=t,t.layoutAttributes&&(t.layoutAttributes._isLinkedToArray&&a(e.layoutArrayContainers,r),y(t)),e.modules)m(r,n);for(var i in e.subplotsRegistry)b(r,i);for(var o in e.transformsRegistry)x(r,o);t.schema&&t.schema.layout&&h(c,t.schema.layout)}function v(t){if("string"!=typeof t.name)throw new Error("Transform module *name* must be a string.");var r="Transform module "+t.name,i="function"==typeof t.transform,a="function"==typeof t.calcTransform;if(!i&&!a)throw new Error(r+" is missing a *transform* or *calcTransform* method.");for(var s in i&&a&&n.log([r+" has both a *transform* and *calcTransform* methods.","Please note that all *transform* methods are executed","before all *calcTransform* methods."].join(" ")),o(t.attributes)||n.log(r+" registered without an *attributes* object."),"function"!=typeof t.supplyDefaults&&n.log(r+" registered without a *supplyDefaults* method."),e.transformsRegistry[t.name]=t,e.componentsRegistry)x(s,t.name)}function g(t){var r=t.name,n=r.split("-")[0],i=t.dictionary,a=t.format,o=i&&Object.keys(i).length,s=a&&Object.keys(a).length,l=e.localeRegistry,u=l[r];if(u||(l[r]=u={}),n!==r){var c=l[n];c||(l[n]=c={}),o&&c.dictionary===u.dictionary&&(c.dictionary=i),s&&c.format===u.format&&(c.format=a)}o&&(u.dictionary=i),s&&(u.format=a)}function y(t){if(t.layoutAttributes){var r=t.layoutAttributes._arrayAttrRegexps;if(r)for(var n=0;n<r.length;n++)a(e.layoutArrayRegexes,r[n])}}function m(t,r){var n=e.componentsRegistry[t].schema;if(n&&n.traces){var i=n.traces[r];i&&h(e.modules[r]._module.attributes,i)}}function x(t,r){var n=e.componentsRegistry[t].schema;if(n&&n.transforms){var i=n.transforms[r];i&&h(e.transformsRegistry[r].attributes,i)}}function b(t,r){var n=e.componentsRegistry[t].schema;if(n&&n.subplots){var i=e.subplotsRegistry[r],a=i.layoutAttributes,o="subplot"===i.attr?i.name:i.attr;Array.isArray(o)&&(o=o[0]);var s=n.subplots[o];a&&s&&h(a,s)}}function _(t){return"object"==typeof t&&(t=t.type),t}e.modules={},e.allCategories={},e.allTypes=[],e.subplotsRegistry={},e.transformsRegistry={},e.componentsRegistry={},e.layoutArrayContainers=[],e.layoutArrayRegexes=[],e.traceLayoutAttributes={},e.localeRegistry={},e.apiMethodRegistry={},e.collectableSubplotTypes=null,e.register=function(t){if(e.collectableSubplotTypes=null,!t)throw new Error("No argument passed to Plotly.register.");t&&!Array.isArray(t)&&(t=[t]);for(var r=0;r<t.length;r++){var n=t[r];if(!n)throw new Error("Invalid module was attempted to be registered!");switch(n.moduleType){case"trace":p(n);break;case"transform":v(n);break;case"component":d(n);break;case"locale":g(n);break;case"apiMethod":var i=n.name;e.apiMethodRegistry[i]=n.fn;break;default:throw new Error("Invalid module was attempted to be registered!")}}},e.getModule=function(t){var r=e.modules[_(t)];return!!r&&r._module},e.traceIs=function(t,r){if("various"===(t=_(t)))return!1;var i=e.modules[t];return i||(t&&n.log("Unrecognized trace type "+t+"."),i=e.modules[u.type.dflt]),!!i.categories[r]},e.getTransformIndices=function(t,e){for(var r=[],n=t.transforms||[],i=0;i<n.length;i++)n[i].type===e&&r.push(i);return r},e.hasTransform=function(t,e){for(var r=t.transforms||[],n=0;n<r.length;n++)if(r[n].type===e)return!0;return!1},e.getComponentMethod=function(t,r){var n=e.componentsRegistry[t];return n&&n[r]||i},e.call=function(){var t=arguments[0],r=[].slice.call(arguments,1);return e.apiMethodRegistry[t].apply(null,r)}},61914:function(t,e,r){"use strict";var n=r(73972),i=r(71828),a=i.extendFlat,o=i.extendDeep;function s(t){var e;switch(t){case"themes__thumb":e={autosize:!0,width:150,height:150,title:{text:""},showlegend:!1,margin:{l:5,r:5,t:5,b:5,pad:0},annotations:[]};break;case"thumbnail":e={title:{text:""},hidesources:!0,showlegend:!1,borderwidth:0,bordercolor:"",margin:{l:1,r:1,t:1,b:1,pad:0},annotations:[]};break;default:e={}}return e}t.exports=function(t,e){var r,i,l=t.data,u=t.layout,c=o([],l),f=o({},u,s(e.tileClass)),h=t._context||{};if(e.width&&(f.width=e.width),e.height&&(f.height=e.height),"thumbnail"===e.tileClass||"themes__thumb"===e.tileClass){f.annotations=[];var p=Object.keys(f);for(r=0;r<p.length;r++)i=p[r],["xaxis","yaxis","zaxis"].indexOf(i.slice(0,5))>-1&&(f[p[r]].title={text:""});for(r=0;r<c.length;r++){var d=c[r];d.showscale=!1,d.marker&&(d.marker.showscale=!1),n.traceIs(d,"pie-like")&&(d.textposition="none")}}if(Array.isArray(e.annotations))for(r=0;r<e.annotations.length;r++)f.annotations.push(e.annotations[r]);var v=Object.keys(f).filter((function(t){return t.match(/^scene\d*$/)}));if(v.length){var g={};for("thumbnail"===e.tileClass&&(g={title:{text:""},showaxeslabels:!1,showticklabels:!1,linetickenable:!1}),r=0;r<v.length;r++){var y=f[v[r]];y.xaxis||(y.xaxis={}),y.yaxis||(y.yaxis={}),y.zaxis||(y.zaxis={}),a(y.xaxis,g),a(y.yaxis,g),a(y.zaxis,g),y._scene=null}}var m=document.createElement("div");e.tileClass&&(m.className=e.tileClass);var x={gd:m,td:m,layout:f,data:c,config:{staticPlot:void 0===e.staticPlot||e.staticPlot,plotGlPixelRatio:void 0===e.plotGlPixelRatio?2:e.plotGlPixelRatio,displaylogo:e.displaylogo||!1,showLink:e.showLink||!1,showTips:e.showTips||!1,mapboxAccessToken:h.mapboxAccessToken}};return"transparent"!==e.setBackground&&(x.config.setBackground=e.setBackground||"opaque"),x.gd.defaultLayout=s(e.tileClass),x}},7239:function(t,e,r){"use strict";var n=r(71828),i=r(403),a=r(22435),o=r(25095);t.exports=function(t,e){var r;return n.isPlainObject(t)||(r=n.getGraphDiv(t)),(e=e||{}).format=e.format||"png",e.width=e.width||null,e.height=e.height||null,e.imageDataOnly=!0,new Promise((function(s,l){r&&r._snapshotInProgress&&l(new Error("Snapshotting already in progress.")),n.isIE()&&"svg"!==e.format&&l(new Error(o.MSG_IE_BAD_FORMAT)),r&&(r._snapshotInProgress=!0);var u=i(t,e),c=e.filename||t.fn||"newplot";c+="."+e.format.replace("-","."),u.then((function(t){return r&&(r._snapshotInProgress=!1),a(t,c,e.format)})).then((function(t){s(t)})).catch((function(t){r&&(r._snapshotInProgress=!1),l(t)}))}))}},22435:function(t,e,r){"use strict";var n=r(71828),i=r(25095);t.exports=function(t,e,r){var a=document.createElement("a"),o="download"in a;return new Promise((function(s,l){var u,c;if(n.isIE())return u=i.createBlob(t,"svg"),window.navigator.msSaveBlob(u,e),u=null,s(e);if(o)return u=i.createBlob(t,r),c=i.createObjectURL(u),a.href=c,a.download=e,document.body.appendChild(a),a.click(),document.body.removeChild(a),i.revokeObjectURL(c),u=null,s(e);if(n.isSafari()){var f="svg"===r?",":";base64,";return i.octetStream(f+encodeURIComponent(t)),s(e)}l(new Error("download error"))}))}},25095:function(t,e,r){"use strict";var n=r(73972);e.getDelay=function(t){return t._has&&(t._has("gl3d")||t._has("gl2d")||t._has("mapbox"))?500:0},e.getRedrawFunc=function(t){return function(){n.getComponentMethod("colorbar","draw")(t)}},e.encodeSVG=function(t){return"data:image/svg+xml,"+encodeURIComponent(t)},e.encodeJSON=function(t){return"data:application/json,"+encodeURIComponent(t)};var i=window.URL||window.webkitURL;e.createObjectURL=function(t){return i.createObjectURL(t)},e.revokeObjectURL=function(t){return i.revokeObjectURL(t)},e.createBlob=function(t,e){if("svg"===e)return new window.Blob([t],{type:"image/svg+xml;charset=utf-8"});if("full-json"===e)return new window.Blob([t],{type:"application/json;charset=utf-8"});var r=function(t){for(var e=t.length,r=new ArrayBuffer(e),n=new Uint8Array(r),i=0;i<e;i++)n[i]=t.charCodeAt(i);return r}(window.atob(t));return new window.Blob([r],{type:"image/"+e})},e.octetStream=function(t){document.location.href="data:application/octet-stream"+t},e.IMAGE_URL_PREFIX=/^data:image\/\w+;base64,/,e.MSG_IE_BAD_FORMAT="Sorry IE does not support downloading from canvas. Try {format:'svg'} instead."},44511:function(t,e,r){"use strict";var n=r(25095),i={getDelay:n.getDelay,getRedrawFunc:n.getRedrawFunc,clone:r(61914),toSVG:r(5900),svgToImg:r(70942),toImage:r(56395),downloadImage:r(7239)};t.exports=i},70942:function(t,e,r){"use strict";var n=r(71828),i=r(15398).EventEmitter,a=r(25095);t.exports=function(t){var e=t.emitter||new i,r=new Promise((function(i,o){var s=window.Image,l=t.svg,u=t.format||"png";if(n.isIE()&&"svg"!==u){var c=new Error(a.MSG_IE_BAD_FORMAT);return o(c),t.promise?r:e.emit("error",c)}var f,h,p=t.canvas,d=t.scale||1,v=t.width||300,g=t.height||150,y=d*v,m=d*g,x=p.getContext("2d",{willReadFrequently:!0}),b=new s;"svg"===u||n.isSafari()?h=a.encodeSVG(l):(f=a.createBlob(l,"svg"),h=a.createObjectURL(f)),p.width=y,p.height=m,b.onload=function(){var r;switch(f=null,a.revokeObjectURL(h),"svg"!==u&&x.drawImage(b,0,0,y,m),u){case"jpeg":r=p.toDataURL("image/jpeg");break;case"png":r=p.toDataURL("image/png");break;case"webp":r=p.toDataURL("image/webp");break;case"svg":r=h;break;default:var n="Image format is not jpeg, png, svg or webp.";if(o(new Error(n)),!t.promise)return e.emit("error",n)}i(r),t.promise||e.emit("success",r)},b.onerror=function(r){if(f=null,a.revokeObjectURL(h),o(r),!t.promise)return e.emit("error",r)},b.src=h}));return t.promise?r:e}},56395:function(t,e,r){"use strict";var n=r(15398).EventEmitter,i=r(73972),a=r(71828),o=r(25095),s=r(61914),l=r(5900),u=r(70942);t.exports=function(t,e){var r=new n,c=s(t,{format:"png"}),f=c.gd;f.style.position="absolute",f.style.left="-5000px",document.body.appendChild(f);var h=o.getRedrawFunc(f);return i.call("_doPlot",f,c.data,c.layout,c.config).then(h).then((function(){var t=o.getDelay(f._fullLayout);setTimeout((function(){var t=l(f),n=document.createElement("canvas");n.id=a.randstr(),(r=u({format:e.format,width:f._fullLayout.width,height:f._fullLayout.height,canvas:n,emitter:r,svg:t})).clean=function(){f&&document.body.removeChild(f)}}),t)})).catch((function(t){r.emit("error",t)})),r}},5900:function(t,e,r){"use strict";var n=r(39898),i=r(71828),a=r(91424),o=r(7901),s=r(77922),l=/"/g,u="TOBESTRIPPED",c=new RegExp('("TOBESTRIPPED)|(TOBESTRIPPED")',"g");t.exports=function(t,e,r){var f,h=t._fullLayout,p=h._paper,d=h._toppaper,v=h.width,g=h.height;p.insert("rect",":first-child").call(a.setRect,0,0,v,g).call(o.fill,h.paper_bgcolor);var y=h._basePlotModules||[];for(f=0;f<y.length;f++){var m=y[f];m.toSVG&&m.toSVG(t)}if(d){var x=d.node().childNodes,b=Array.prototype.slice.call(x);for(f=0;f<b.length;f++){var _=b[f];_.childNodes.length&&p.node().appendChild(_)}}h._draggers&&h._draggers.remove(),p.node().style.background="",p.selectAll("text").attr({"data-unformatted":null,"data-math":null}).each((function(){var t=n.select(this);if("hidden"!==this.style.visibility&&"none"!==this.style.display){t.style({visibility:null,display:null});var e=this.style.fontFamily;e&&-1!==e.indexOf('"')&&t.style("font-family",e.replace(l,u))}else t.remove()})),p.selectAll(".gradient_filled,.pattern_filled").each((function(){var t=n.select(this),e=this.style.fill;e&&-1!==e.indexOf("url(")&&t.style("fill",e.replace(l,u));var r=this.style.stroke;r&&-1!==r.indexOf("url(")&&t.style("stroke",r.replace(l,u))})),"pdf"!==e&&"eps"!==e||p.selectAll("#MathJax_SVG_glyphs path").attr("stroke-width",0),p.node().setAttributeNS(s.xmlns,"xmlns",s.svg),p.node().setAttributeNS(s.xmlns,"xmlns:xlink",s.xlink),"svg"===e&&r&&(p.attr("width",r*v),p.attr("height",r*g),p.attr("viewBox","0 0 "+v+" "+g));var w=(new window.XMLSerializer).serializeToString(p.node());return w=(w=(w=function(t){var e=n.select("body").append("div").style({display:"none"}).html(""),r=t.replace(/(&[^;]*;)/gi,(function(t){return"<"===t?"<":"&rt;"===t?">":-1!==t.indexOf("<")||-1!==t.indexOf(">")?"":e.html(t).text()}));return e.remove(),r}(w)).replace(/&(?!\w+;|\#[0-9]+;| \#x[0-9A-F]+;)/g,"&")).replace(c,"'"),i.isIE()&&(w=(w=(w=w.replace(/"/gi,"'")).replace(/(\('#)([^']*)('\))/gi,'("#$2")')).replace(/(\\')/gi,'"')),w}},75341:function(t,e,r){"use strict";var n=r(71828);t.exports=function(t,e){for(var r=0;r<t.length;r++)t[r].i=r;n.mergeArray(e.text,t,"tx"),n.mergeArray(e.hovertext,t,"htx");var i=e.marker;if(i){n.mergeArray(i.opacity,t,"mo",!0),n.mergeArray(i.color,t,"mc");var a=i.line;a&&(n.mergeArray(a.color,t,"mlc"),n.mergeArrayCastPositive(a.width,t,"mlw"))}}},1486:function(t,e,r){"use strict";var n=r(82196),i=r(12663).axisHoverFormat,a=r(5386).f,o=r(5386).s,s=r(50693),l=r(41940),u=r(97313),c=r(79952).u,f=r(1426).extendFlat,h=l({editType:"calc",arrayOk:!0,colorEditType:"style"}),p=f({},n.marker.line.width,{dflt:0}),d=f({width:p,editType:"calc"},s("marker.line")),v=f({line:d,editType:"calc"},s("marker"),{opacity:{valType:"number",arrayOk:!0,dflt:1,min:0,max:1,editType:"style"},pattern:c});t.exports={x:n.x,x0:n.x0,dx:n.dx,y:n.y,y0:n.y0,dy:n.dy,xperiod:n.xperiod,yperiod:n.yperiod,xperiod0:n.xperiod0,yperiod0:n.yperiod0,xperiodalignment:n.xperiodalignment,yperiodalignment:n.yperiodalignment,xhoverformat:i("x"),yhoverformat:i("y"),text:n.text,texttemplate:o({editType:"plot"},{keys:u.eventDataKeys}),hovertext:n.hovertext,hovertemplate:a({},{keys:u.eventDataKeys}),textposition:{valType:"enumerated",values:["inside","outside","auto","none"],dflt:"auto",arrayOk:!0,editType:"calc"},insidetextanchor:{valType:"enumerated",values:["end","middle","start"],dflt:"end",editType:"plot"},textangle:{valType:"angle",dflt:"auto",editType:"plot"},textfont:f({},h,{}),insidetextfont:f({},h,{}),outsidetextfont:f({},h,{}),constraintext:{valType:"enumerated",values:["inside","outside","both","none"],dflt:"both",editType:"calc"},cliponaxis:f({},n.cliponaxis,{}),orientation:{valType:"enumerated",values:["v","h"],editType:"calc+clearAxisTypes"},base:{valType:"any",dflt:null,arrayOk:!0,editType:"calc"},offset:{valType:"number",dflt:null,arrayOk:!0,editType:"calc"},width:{valType:"number",dflt:null,min:0,arrayOk:!0,editType:"calc"},marker:v,offsetgroup:n.offsetgroup,alignmentgroup:n.alignmentgroup,selected:{marker:{opacity:n.selected.marker.opacity,color:n.selected.marker.color,editType:"style"},textfont:n.selected.textfont,editType:"style"},unselected:{marker:{opacity:n.unselected.marker.opacity,color:n.unselected.marker.color,editType:"style"},textfont:n.unselected.textfont,editType:"style"},_deprecated:{bardir:{valType:"enumerated",editType:"calc",values:["v","h"]}}}},92290:function(t,e,r){"use strict";var n=r(89298),i=r(42973),a=r(52075).hasColorscale,o=r(78803),s=r(75341),l=r(66279);t.exports=function(t,e){var r,u,c,f,h,p,d=n.getFromId(t,e.xaxis||"x"),v=n.getFromId(t,e.yaxis||"y"),g={msUTC:!(!e.base&&0!==e.base)};"h"===e.orientation?(r=d.makeCalcdata(e,"x",g),c=v.makeCalcdata(e,"y"),f=i(e,v,"y",c),h=!!e.yperiodalignment,p="y"):(r=v.makeCalcdata(e,"y",g),c=d.makeCalcdata(e,"x"),f=i(e,d,"x",c),h=!!e.xperiodalignment,p="x"),u=f.vals;for(var y=Math.min(u.length,r.length),m=new Array(y),x=0;x<y;x++)m[x]={p:u[x],s:r[x]},h&&(m[x].orig_p=c[x],m[x][p+"End"]=f.ends[x],m[x][p+"Start"]=f.starts[x]),e.ids&&(m[x].id=String(e.ids[x]));return a(e,"marker")&&o(t,e,{vals:e.marker.color,containerStr:"marker",cLetter:"c"}),a(e,"marker.line")&&o(t,e,{vals:e.marker.line.color,containerStr:"marker.line",cLetter:"c"}),s(m,e),l(m,e),m}},97313:function(t){"use strict";t.exports={TEXTPAD:3,eventDataKeys:["value","label"]}},11661:function(t,e,r){"use strict";var n=r(92770),i=r(71828).isArrayOrTypedArray,a=r(50606).BADNUM,o=r(73972),s=r(89298),l=r(99082).getAxisGroup,u=r(61546);function c(t,e,r,o,c){if(o.length){var b,_,w,T;switch(function(t,e){var r,a;for(r=0;r<e.length;r++){var o,s=e[r],l=s[0].trace,u="funnel"===l.type?l._base:l.base,c="h"===l.orientation?l.xcalendar:l.ycalendar,f="category"===t.type||"multicategory"===t.type?function(){return null}:t.d2c;if(i(u)){for(a=0;a<Math.min(u.length,s.length);a++)o=f(u[a],0,c),n(o)?(s[a].b=+o,s[a].hasB=1):s[a].b=0;for(;a<s.length;a++)s[a].b=0}else{o=f(u,0,c);var h=n(o);for(o=h?o:0,a=0;a<s.length;a++)s[a].b=o,h&&(s[a].hasB=1)}}}(r,o),c.mode){case"overlay":f(e,r,o,c);break;case"group":for(b=[],_=[],w=0;w<o.length;w++)void 0===(T=o[w])[0].trace.offset?_.push(T):b.push(T);_.length&&function(t,e,r,n,i){var o=new u(n,{posAxis:e,sepNegVal:!1,overlapNoMerge:!i.norm});(function(t,e,r,n){for(var i=t._fullLayout,a=r.positions,o=r.distinctPositions,s=r.minDiff,u=r.traces,c=u.length,f=a.length!==o.length,h=s*(1-n.gap),g=l(i,e._id)+u[0][0].trace.orientation,y=i._alignmentOpts[g]||{},m=0;m<c;m++){var x,b,_=u[m],w=_[0].trace,T=y[w.alignmentgroup]||{},k=Object.keys(T.offsetGroups||{}).length,A=(x=k?h/k:f?h/c:h)*(1-(n.groupgap||0));b=k?((2*w._offsetIndex+1-k)*x-A)/2:f?((2*m+1-c)*x-A)/2:-A/2;var M=_[0].t;M.barwidth=A,M.poffset=b,M.bargroupwidth=h,M.bardelta=s}r.binWidth=u[0][0].t.barwidth/100,p(r),d(e,r),v(e,r,f)})(t,e,o,i),function(t,e){for(var r=t.traces,n=0;n<r.length;n++){var i=r[n];if(void 0===i[0].trace.base)for(var o=new u([i],{posAxis:e,sepNegVal:!0,overlapNoMerge:!0}),s=0;s<i.length;s++){var l=i[s];if(l.p!==a){var c=o.put(l.p,l.b+l.s);c&&(l.b=c)}}}}(o,e),i.norm?(y(o),m(r,o,i)):g(r,o)}(t,e,r,_,c),b.length&&f(e,r,b,c);break;case"stack":case"relative":for(b=[],_=[],w=0;w<o.length;w++)void 0===(T=o[w])[0].trace.base?_.push(T):b.push(T);_.length&&function(t,e,r,n,i){var o=new u(n,{posAxis:e,sepNegVal:"relative"===i.mode,overlapNoMerge:!(i.norm||"stack"===i.mode||"relative"===i.mode)});h(e,o,i),function(t,e,r){var n,i,o,l,u,c,f=x(t),h=e.traces;for(l=0;l<h.length;l++)if("funnel"===(i=(n=h[l])[0].trace).type)for(u=0;u<n.length;u++)(c=n[u]).s!==a&&e.put(c.p,-.5*c.s);for(l=0;l<h.length;l++){o="funnel"===(i=(n=h[l])[0].trace).type;var p=[];for(u=0;u<n.length;u++)if((c=n[u]).s!==a){var d;d=o?c.s:c.s+c.b;var v=e.put(c.p,d),g=v+d;c.b=v,c[f]=g,r.norm||(p.push(g),c.hasB&&p.push(v))}r.norm||(i._extremes[t._id]=s.findExtremes(t,p,{tozero:!0,padded:!0}))}}(r,o,i);for(var l=0;l<n.length;l++)for(var c=n[l],f=0;f<c.length;f++){var p=c[f];p.s!==a&&p.b+p.s===o.get(p.p,p.s)&&(p._outmost=!0)}i.norm&&m(r,o,i)}(0,e,r,_,c),b.length&&f(e,r,b,c)}!function(t,e){var r,i,a,o=x(e),s={},l=1/0,u=-1/0;for(r=0;r<t.length;r++)for(a=t[r],i=0;i<a.length;i++){var c=a[i].p;n(c)&&(l=Math.min(l,c),u=Math.max(u,c))}var f=1e4/(u-l),h=s.round=function(t){return String(Math.round(f*(t-l)))};for(r=0;r<t.length;r++){(a=t[r])[0].t.extents=s;var p=a[0].t.poffset,d=Array.isArray(p);for(i=0;i<a.length;i++){var v=a[i],g=v[o]-v.w/2;if(n(g)){var y=v[o]+v.w/2,m=h(v.p);s[m]?s[m]=[Math.min(g,s[m][0]),Math.max(y,s[m][1])]:s[m]=[g,y]}v.p0=v.p+(d?p[i]:p),v.p1=v.p0+v.w,v.s0=v.b,v.s1=v.s0+v.s}}}(o,e)}}function f(t,e,r,n){for(var i=0;i<r.length;i++){var a=r[i],o=new u([a],{posAxis:t,sepNegVal:!1,overlapNoMerge:!n.norm});h(t,o,n),n.norm?(y(o),m(e,o,n)):g(e,o)}}function h(t,e,r){for(var n=e.minDiff,i=e.traces,a=n*(1-r.gap),o=a*(1-(r.groupgap||0)),s=-o/2,l=0;l<i.length;l++){var u=i[l][0].t;u.barwidth=o,u.poffset=s,u.bargroupwidth=a,u.bardelta=n}e.binWidth=i[0][0].t.barwidth/100,p(e),d(t,e),v(t,e)}function p(t){var e,r,a=t.traces;for(e=0;e<a.length;e++){var o,s=a[e],l=s[0],u=l.trace,c=l.t,f=u._offset||u.offset,h=c.poffset;if(i(f)){for(o=Array.prototype.slice.call(f,0,s.length),r=0;r<o.length;r++)n(o[r])||(o[r]=h);for(r=o.length;r<s.length;r++)o.push(h);c.poffset=o}else void 0!==f&&(c.poffset=f);var p=u._width||u.width,d=c.barwidth;if(i(p)){var v=Array.prototype.slice.call(p,0,s.length);for(r=0;r<v.length;r++)n(v[r])||(v[r]=d);for(r=v.length;r<s.length;r++)v.push(d);if(c.barwidth=v,void 0===f){for(o=[],r=0;r<s.length;r++)o.push(h+(d-v[r])/2);c.poffset=o}}else void 0!==p&&(c.barwidth=p,void 0===f&&(c.poffset=h+(d-p)/2))}}function d(t,e){for(var r=e.traces,n=x(t),i=0;i<r.length;i++)for(var a=r[i],o=a[0].t,s=o.poffset,l=Array.isArray(s),u=o.barwidth,c=Array.isArray(u),f=0;f<a.length;f++){var h=a[f],p=h.w=c?u[f]:u;void 0===h.p&&(h.p=h[n],h["orig_"+n]=h[n]);var d=(l?s[f]:s)+p/2;h[n]=h.p+d}}function v(t,e,r){var n=e.traces,i=e.minDiff/2;s.minDtick(t,e.minDiff,e.distinctPositions[0],r);for(var a=0;a<n.length;a++){var o,l,u,c,f=n[a],h=f[0],p=h.trace,d=[];for(c=0;c<f.length;c++)l=(o=f[c]).p-i,u=o.p+i,d.push(l,u);if(p.width||p.offset){var v=h.t,g=v.poffset,y=v.barwidth,m=Array.isArray(g),x=Array.isArray(y);for(c=0;c<f.length;c++){o=f[c];var b=m?g[c]:g,_=x?y[c]:y;u=(l=o.p+b)+_,d.push(l,u)}}p._extremes[t._id]=s.findExtremes(t,d,{padded:!1})}}function g(t,e){for(var r=e.traces,n=x(t),i=0;i<r.length;i++){for(var a=r[i],o=a[0].trace,l="scatter"===o.type,u="v"===o.orientation,c=[],f=!1,h=0;h<a.length;h++){var p=a[h],d=l?0:p.b,v=l?u?p.y:p.x:d+p.s;p[n]=v,c.push(v),p.hasB&&c.push(d),p.hasB&&p.b||(f=!0)}o._extremes[t._id]=s.findExtremes(t,c,{tozero:f,padded:!0})}}function y(t){for(var e=t.traces,r=0;r<e.length;r++)for(var n=e[r],i=0;i<n.length;i++){var o=n[i];o.s!==a&&t.put(o.p,o.b+o.s)}}function m(t,e,r){var i=e.traces,o=x(t),l="fraction"===r.norm?1:100,u=l/1e9,c=t.l2c(t.c2l(0)),f="stack"===r.mode?l:c;function h(e){return n(t.c2l(e))&&(e<c-u||e>f+u||!n(c))}for(var p=0;p<i.length;p++){for(var d=i[p],v=d[0].trace,g=[],y=!1,m=!1,b=0;b<d.length;b++){var _=d[b];if(_.s!==a){var w=Math.abs(l/e.get(_.p,_.s));_.b*=w,_.s*=w;var T=_.b,k=T+_.s;_[o]=k,g.push(k),m=m||h(k),_.hasB&&(g.push(T),m=m||h(T)),_.hasB&&_.b||(y=!0)}}v._extremes[t._id]=s.findExtremes(t,g,{tozero:y,padded:m})}}function x(t){return t._id.charAt(0)}t.exports={crossTraceCalc:function(t,e){for(var r=e.xaxis,n=e.yaxis,i=t._fullLayout,a=t._fullData,s=t.calcdata,l=[],u=[],f=0;f<a.length;f++){var h=a[f];if(!0===h.visible&&o.traceIs(h,"bar")&&h.xaxis===r._id&&h.yaxis===n._id&&("h"===h.orientation?l.push(s[f]):u.push(s[f]),h._computePh))for(var p=t.calcdata[f],d=0;d<p.length;d++)"function"==typeof p[d].ph0&&(p[d].ph0=p[d].ph0()),"function"==typeof p[d].ph1&&(p[d].ph1=p[d].ph1())}var v={xCat:"category"===r.type||"multicategory"===r.type,yCat:"category"===n.type||"multicategory"===n.type,mode:i.barmode,norm:i.barnorm,gap:i.bargap,groupgap:i.bargroupgap};c(t,r,n,u,v),c(t,n,r,l,v)},setGroupPositions:c}},90769:function(t,e,r){"use strict";var n=r(71828),i=r(7901),a=r(73972),o=r(67513),s=r(73927),l=r(98340),u=r(26125),c=r(1486),f=n.coerceFont;function h(t,e,r,i,a,o){var s=!(!1===(o=o||{}).moduleHasSelected),l=!(!1===o.moduleHasUnselected),u=!(!1===o.moduleHasConstrain),c=!(!1===o.moduleHasCliponaxis),h=!(!1===o.moduleHasTextangle),p=!(!1===o.moduleHasInsideanchor),d=!!o.hasPathbar,v=Array.isArray(a)||"auto"===a,g=v||"inside"===a,y=v||"outside"===a;if(g||y){var m=f(i,"textfont",r.font),x=n.extendFlat({},m),b=!(t.textfont&&t.textfont.color);if(b&&delete x.color,f(i,"insidetextfont",x),d){var _=n.extendFlat({},m);b&&delete _.color,f(i,"pathbar.textfont",_)}y&&f(i,"outsidetextfont",m),s&&i("selected.textfont.color"),l&&i("unselected.textfont.color"),u&&i("constraintext"),c&&i("cliponaxis"),h&&i("textangle"),i("texttemplate")}g&&p&&i("insidetextanchor")}t.exports={supplyDefaults:function(t,e,r,u){function f(r,i){return n.coerce(t,e,c,r,i)}if(o(t,e,u,f)){s(t,e,u,f),f("xhoverformat"),f("yhoverformat"),f("orientation",e.x&&!e.y?"h":"v"),f("base"),f("offset"),f("width"),f("text"),f("hovertext"),f("hovertemplate");var p=f("textposition");h(t,0,u,f,p,{moduleHasSelected:!0,moduleHasUnselected:!0,moduleHasConstrain:!0,moduleHasCliponaxis:!0,moduleHasTextangle:!0,moduleHasInsideanchor:!0}),l(t,e,f,r,u);var d=(e.marker.line||{}).color,v=a.getComponentMethod("errorbars","supplyDefaults");v(t,e,d||i.defaultLine,{axis:"y"}),v(t,e,d||i.defaultLine,{axis:"x",inherit:"y"}),n.coerceSelectionMarkerOpacity(e,f)}else e.visible=!1},crossTraceDefaults:function(t,e){var r,i;function a(t){return n.coerce(i._input,i,c,t)}if("group"===e.barmode)for(var o=0;o<t.length;o++)"bar"===(i=t[o]).type&&(r=i._input,u(r,i,e,a))},handleText:h}},58065:function(t){"use strict";t.exports=function(t,e,r){return t.x="xVal"in e?e.xVal:e.x,t.y="yVal"in e?e.yVal:e.y,e.xa&&(t.xaxis=e.xa),e.ya&&(t.yaxis=e.ya),"h"===r.orientation?(t.label=t.y,t.value=t.x):(t.label=t.x,t.value=t.y),t}},69383:function(t,e,r){"use strict";var n=r(92770),i=r(84267),a=r(71828).isArrayOrTypedArray;e.coerceString=function(t,e,r){if("string"==typeof e){if(e||!t.noBlank)return e}else if(("number"==typeof e||!0===e)&&!t.strict)return String(e);return void 0!==r?r:t.dflt},e.coerceNumber=function(t,e,r){if(n(e)){e=+e;var i=t.min,a=t.max;if(!(void 0!==i&&e<i||void 0!==a&&e>a))return e}return void 0!==r?r:t.dflt},e.coerceColor=function(t,e,r){return i(e).isValid()?e:void 0!==r?r:t.dflt},e.coerceEnumerated=function(t,e,r){return t.coerceNumber&&(e=+e),-1!==t.values.indexOf(e)?e:void 0!==r?r:t.dflt},e.getValue=function(t,e){var r;return Array.isArray(t)?e<t.length&&(r=t[e]):r=t,r},e.getLineWidth=function(t,e){return 0<e.mlw?e.mlw:a(t.marker.line.width)?0:t.marker.line.width}},95423:function(t,e,r){"use strict";var n=r(30211),i=r(73972),a=r(7901),o=r(71828).fillText,s=r(69383).getLineWidth,l=r(89298).hoverLabelText,u=r(50606).BADNUM;function c(t,e,r,i,a){var s,c,f,h,p,d,v,g=t.cd,y=g[0].trace,m=g[0].t,x="closest"===i,b="waterfall"===y.type,_=t.maxHoverDistance,w=t.maxSpikeDistance;"h"===y.orientation?(s=r,c=e,f="y",h="x",p=D,d=O):(s=e,c=r,f="x",h="y",d=D,p=O);var T=y[f+"period"],k=x||T;function A(t){return S(t,-1)}function M(t){return S(t,1)}function S(t,e){var r=t.w;return t[f]+e*r/2}function E(t){return t[f+"End"]-t[f+"Start"]}var L=x?A:T?function(t){return t.p-E(t)/2}:function(t){return Math.min(A(t),t.p-m.bardelta/2)},C=x?M:T?function(t){return t.p+E(t)/2}:function(t){return Math.max(M(t),t.p+m.bardelta/2)};function P(t,e,r){return a.finiteRange&&(r=0),n.inbox(t-s,e-s,r+Math.min(1,Math.abs(e-t)/v)-1)}function O(t){return P(L(t),C(t),_)}function I(t){var e=t[h];if(b){var r=Math.abs(t.rawS)||0;c>0?e+=r:c<0&&(e-=r)}return e}function D(t){var e=c,r=t.b,i=I(t);return n.inbox(r-e,i-e,_+(i-e)/(i-r)-1)}var z=t[f+"a"],R=t[h+"a"];v=Math.abs(z.r2c(z.range[1])-z.r2c(z.range[0]));var F=n.getDistanceFunction(i,p,d,(function(t){return(p(t)+d(t))/2}));if(n.getClosest(g,F,t),!1!==t.index&&g[t.index].p!==u){k||(L=function(t){return Math.min(A(t),t.p-m.bargroupwidth/2)},C=function(t){return Math.max(M(t),t.p+m.bargroupwidth/2)});var B=g[t.index],N=y.base?B.b+B.s:B.s;t[h+"0"]=t[h+"1"]=R.c2p(B[h],!0),t[h+"LabelVal"]=N;var j=m.extents[m.extents.round(B.p)];t[f+"0"]=z.c2p(x?L(B):j[0],!0),t[f+"1"]=z.c2p(x?C(B):j[1],!0);var U=void 0!==B.orig_p;return t[f+"LabelVal"]=U?B.orig_p:B.p,t.labelLabel=l(z,t[f+"LabelVal"],y[f+"hoverformat"]),t.valueLabel=l(R,t[h+"LabelVal"],y[h+"hoverformat"]),t.baseLabel=l(R,B.b,y[h+"hoverformat"]),t.spikeDistance=(function(t){var e=c,r=t.b,i=I(t);return n.inbox(r-e,i-e,w+(i-e)/(i-r)-1)}(B)+function(t){return P(A(t),M(t),w)}(B))/2,t[f+"Spike"]=z.c2p(B.p,!0),o(B,y,t),t.hovertemplate=y.hovertemplate,t}}function f(t,e){var r=e.mcc||t.marker.color,n=e.mlcc||t.marker.line.color,i=s(t,e);return a.opacity(r)?r:a.opacity(n)&&i?n:void 0}t.exports={hoverPoints:function(t,e,r,n,a){var o=c(t,e,r,n,a);if(o){var s=o.cd,l=s[0].trace,u=s[o.index];return o.color=f(l,u),i.getComponentMethod("errorbars","hoverInfo")(u,l,o),[o]}},hoverOnBars:c,getTraceColor:f}},60822:function(t,e,r){"use strict";t.exports={attributes:r(1486),layoutAttributes:r(43641),supplyDefaults:r(90769).supplyDefaults,crossTraceDefaults:r(90769).crossTraceDefaults,supplyLayoutDefaults:r(13957),calc:r(92290),crossTraceCalc:r(11661).crossTraceCalc,colorbar:r(4898),arraysToCalcdata:r(75341),plot:r(17295).plot,style:r(16688).style,styleOnSelect:r(16688).styleOnSelect,hoverPoints:r(95423).hoverPoints,eventData:r(58065),selectPoints:r(81974),moduleType:"trace",name:"bar",basePlotModule:r(93612),categories:["bar-like","cartesian","svg","bar","oriented","errorBarsOK","showLegend","zoomScale"],animatable:!0,meta:{}}},43641:function(t){"use strict";t.exports={barmode:{valType:"enumerated",values:["stack","group","overlay","relative"],dflt:"group",editType:"calc"},barnorm:{valType:"enumerated",values:["","fraction","percent"],dflt:"",editType:"calc"},bargap:{valType:"number",min:0,max:1,editType:"calc"},bargroupgap:{valType:"number",min:0,max:1,dflt:0,editType:"calc"}}},13957:function(t,e,r){"use strict";var n=r(73972),i=r(89298),a=r(71828),o=r(43641);t.exports=function(t,e,r){function s(r,n){return a.coerce(t,e,o,r,n)}for(var l=!1,u=!1,c=!1,f={},h=s("barmode"),p=0;p<r.length;p++){var d=r[p];if(n.traceIs(d,"bar")&&d.visible){if(l=!0,"group"===h){var v=d.xaxis+d.yaxis;f[v]&&(c=!0),f[v]=!0}d.visible&&"histogram"===d.type&&"category"!==i.getFromId({_fullLayout:e},d["v"===d.orientation?"xaxis":"yaxis"]).type&&(u=!0)}}l?("overlay"!==h&&s("barnorm"),s("bargap",u&&!c?0:.2),s("bargroupgap")):delete e.barmode}},17295:function(t,e,r){"use strict";var n=r(39898),i=r(92770),a=r(71828),o=r(63893),s=r(7901),l=r(91424),u=r(73972),c=r(89298).tickText,f=r(72597),h=f.recordMinTextSize,p=f.clearMinTextSize,d=r(16688),v=r(69383),g=r(97313),y=r(1486),m=y.text,x=y.textposition,b=r(23469).appendArrayPointValue,_=g.TEXTPAD;function w(t){return t.id}function T(t){if(t.ids)return w}function k(t,e){return t<e?1:-1}function A(t,e,r,n){var i;return!e.uniformtext.mode&&M(r)?(n&&(i=n()),t.transition().duration(r.duration).ease(r.easing).each("end",(function(){i&&i()})).each("interrupt",(function(){i&&i()}))):t}function M(t){return t&&t.duration>0}function S(t){return"auto"===t?0:t}function E(t,e){var r=Math.PI/180*e,n=Math.abs(Math.sin(r)),i=Math.abs(Math.cos(r));return{x:t.width*i+t.height*n,y:t.width*n+t.height*i}}function L(t,e,r,n,i,a){var o=!!a.isHorizontal,s=!!a.constrained,l=a.angle||0,u=a.anchor||"end",c="end"===u,f="start"===u,h=((a.leftToRight||0)+1)/2,p=1-h,d=i.width,v=i.height,g=Math.abs(e-t),y=Math.abs(n-r),m=g>2*_&&y>2*_?_:0;g-=2*m,y-=2*m;var x=S(l);"auto"!==l||d<=g&&v<=y||!(d>g||v>y)||(d>y||v>g)&&d<v==g<y||(x+=90);var b=E(i,x),w=1;s&&(w=Math.min(1,g/b.x,y/b.y));var T=i.left*p+i.right*h,A=(i.top+i.bottom)/2,M=(t+_)*p+(e-_)*h,L=(r+n)/2,C=0,P=0;if(f||c){var O=(o?b.x:b.y)/2,I=o?k(t,e):k(r,n);o?f?(M=t+I*m,C=-I*O):(M=e-I*m,C=I*O):f?(L=r+I*m,P=-I*O):(L=n-I*m,P=I*O)}return{textX:T,textY:A,targetX:M,targetY:L,anchorX:C,anchorY:P,scale:w,rotate:x}}t.exports={plot:function(t,e,r,f,g,y){var w=e.xaxis,C=e.yaxis,P=t._fullLayout;g||(g={mode:P.barmode,norm:P.barmode,gap:P.bargap,groupgap:P.bargroupgap},p("bar",P));var O=a.makeTraceGroups(f,r,"trace bars").each((function(r){var u=n.select(this),f=r[0].trace,p="waterfall"===f.type,O="funnel"===f.type,I="bar"===f.type||O,D=0;p&&f.connector.visible&&"between"===f.connector.mode&&(D=f.connector.line.width/2);var z="h"===f.orientation,R=M(g),F=a.ensureSingle(u,"g","points"),B=T(f),N=F.selectAll("g.point").data(a.identity,B);N.enter().append("g").classed("point",!0),N.exit().remove(),N.each((function(u,p){var T,M,O=n.select(this),F=function(t,e,r,n){var i=[],a=[],o=n?e:r,s=n?r:e;return i[0]=o.c2p(t.s0,!0),a[0]=s.c2p(t.p0,!0),i[1]=o.c2p(t.s1,!0),a[1]=s.c2p(t.p1,!0),n?[i,a]:[a,i]}(u,w,C,z),B=F[0][0],N=F[0][1],j=F[1][0],U=F[1][1],V=0==(z?N-B:U-j);if(V&&I&&v.getLineWidth(f,u)&&(V=!1),V||(V=!(i(B)&&i(N)&&i(j)&&i(U))),u.isBlank=V,V&&(z?N=B:U=j),D&&!V&&(z?(B-=k(B,N)*D,N+=k(B,N)*D):(j-=k(j,U)*D,U+=k(j,U)*D)),"waterfall"===f.type){if(!V){var H=f[u.dir].marker;T=H.line.width,M=H.color}}else T=v.getLineWidth(f,u),M=u.mc||f.marker.color;function q(t){var e=n.round(T/2%1,2);return 0===g.gap&&0===g.groupgap?n.round(Math.round(t)-e,2):t}if(!t._context.staticPlot){var G=s.opacity(M)<1||T>.01?q:function(t,e,r){return r&&t===e?t:Math.abs(t-e)>=2?q(t):t>e?Math.ceil(t):Math.floor(t)};B=G(B,N,z),N=G(N,B,z),j=G(j,U,!z),U=G(U,j,!z)}var Z=A(a.ensureSingle(O,"path"),P,g,y);if(Z.style("vector-effect","non-scaling-stroke").attr("d",isNaN((N-B)*(U-j))||V&&t._context.staticPlot?"M0,0Z":"M"+B+","+j+"V"+U+"H"+N+"V"+j+"Z").call(l.setClipUrl,e.layerClipId,t),!P.uniformtext.mode&&R){var Y=l.makePointStyleFns(f);l.singlePointStyle(u,Z,f,Y,t)}!function(t,e,r,n,i,s,u,f,p,g,y){var w,T=e.xaxis,M=e.yaxis,C=t._fullLayout;function P(e,r,n){return a.ensureSingle(e,"text").text(r).attr({class:"bartext bartext-"+w,"text-anchor":"middle","data-notex":1}).call(l.font,n).call(o.convertToTspans,t)}var O=n[0].trace,I="h"===O.orientation,D=function(t,e,r,n,i){var o,s=e[0].trace;return o=s.texttemplate?function(t,e,r,n,i){var o=e[0].trace,s=a.castOption(o,r,"texttemplate");if(!s)return"";var l,u,f,h,p="histogram"===o.type,d="waterfall"===o.type,v="funnel"===o.type,g="h"===o.orientation;function y(t){return c(h,h.c2l(t),!0).text}g?(l="y",u=i,f="x",h=n):(l="x",u=n,f="y",h=i);var m,x=e[r],_={};_.label=x.p,_.labelLabel=_[l+"Label"]=(m=x.p,c(u,u.c2l(m),!0).text);var w=a.castOption(o,x.i,"text");(0===w||w)&&(_.text=w),_.value=x.s,_.valueLabel=_[f+"Label"]=y(x.s);var T={};b(T,o,x.i),(p||void 0===T.x)&&(T.x=g?_.value:_.label),(p||void 0===T.y)&&(T.y=g?_.label:_.value),(p||void 0===T.xLabel)&&(T.xLabel=g?_.valueLabel:_.labelLabel),(p||void 0===T.yLabel)&&(T.yLabel=g?_.labelLabel:_.valueLabel),d&&(_.delta=+x.rawS||x.s,_.deltaLabel=y(_.delta),_.final=x.v,_.finalLabel=y(_.final),_.initial=_.final-_.delta,_.initialLabel=y(_.initial)),v&&(_.value=x.s,_.valueLabel=y(_.value),_.percentInitial=x.begR,_.percentInitialLabel=a.formatPercent(x.begR),_.percentPrevious=x.difR,_.percentPreviousLabel=a.formatPercent(x.difR),_.percentTotal=x.sumR,_.percenTotalLabel=a.formatPercent(x.sumR));var k=a.castOption(o,x.i,"customdata");return k&&(_.customdata=k),a.texttemplateString(s,_,t._d3locale,T,_,o._meta||{})}(t,e,r,n,i):s.textinfo?function(t,e,r,n){var i=t[0].trace,o="h"===i.orientation,s="waterfall"===i.type,l="funnel"===i.type;function u(t){return c(o?r:n,+t,!0).text}var f,h,p=i.textinfo,d=t[e],v=p.split("+"),g=[],y=function(t){return-1!==v.indexOf(t)};if(y("label")&&g.push((h=t[e].p,c(o?n:r,h,!0).text)),y("text")&&(0===(f=a.castOption(i,d.i,"text"))||f)&&g.push(f),s){var m=+d.rawS||d.s,x=d.v,b=x-m;y("initial")&&g.push(u(b)),y("delta")&&g.push(u(m)),y("final")&&g.push(u(x))}if(l){y("value")&&g.push(u(d.s));var _=0;y("percent initial")&&_++,y("percent previous")&&_++,y("percent total")&&_++;var w=_>1;y("percent initial")&&(f=a.formatPercent(d.begR),w&&(f+=" of initial"),g.push(f)),y("percent previous")&&(f=a.formatPercent(d.difR),w&&(f+=" of previous"),g.push(f)),y("percent total")&&(f=a.formatPercent(d.sumR),w&&(f+=" of total"),g.push(f))}return g.join("<br>")}(e,r,n,i):v.getValue(s.text,r),v.coerceString(m,o)}(C,n,i,T,M);w=function(t,e){var r=v.getValue(t.textposition,e);return v.coerceEnumerated(x,r)}(O,i);var z="stack"===g.mode||"relative"===g.mode,R=n[i],F=!z||R._outmost;if(D&&"none"!==w&&(!R.isBlank&&s!==u&&f!==p||"auto"!==w&&"inside"!==w)){var B=C.font,N=d.getBarColor(n[i],O),j=d.getInsideTextFont(O,i,B,N),U=d.getOutsideTextFont(O,i,B),V=r.datum();I?"log"===T.type&&V.s0<=0&&(s=T.range[0]<T.range[1]?0:T._length):"log"===M.type&&V.s0<=0&&(f=M.range[0]<M.range[1]?M._length:0);var H,q,G,Z,Y,W=Math.abs(u-s)-2*_,X=Math.abs(p-f)-2*_;if("outside"===w&&(F||R.hasB||(w="inside")),"auto"===w&&(F?(w="inside",H=P(r,D,Y=a.ensureUniformFontSize(t,j)),G=(q=l.bBox(H.node())).width,Z=q.height,G>0&&Z>0&&(G<=W&&Z<=X||G<=X&&Z<=W||(I?W>=G*(X/Z):X>=Z*(W/G)))?w="inside":(w="outside",H.remove(),H=null)):w="inside"),!H){var J=(H=P(r,D,Y=a.ensureUniformFontSize(t,"outside"===w?U:j))).attr("transform");if(H.attr("transform",""),G=(q=l.bBox(H.node())).width,Z=q.height,H.attr("transform",J),G<=0||Z<=0)return void H.remove()}var K,$=O.textangle;K="outside"===w?function(t,e,r,n,i,a){var o,s=!!a.isHorizontal,l=!!a.constrained,u=a.angle||0,c=i.width,f=i.height,h=Math.abs(e-t),p=Math.abs(n-r);o=s?p>2*_?_:0:h>2*_?_:0;var d=1;l&&(d=s?Math.min(1,p/f):Math.min(1,h/c));var v=S(u),g=E(i,v),y=(s?g.x:g.y)/2,m=(i.left+i.right)/2,x=(i.top+i.bottom)/2,b=(t+e)/2,w=(r+n)/2,T=0,A=0,M=s?k(e,t):k(r,n);return s?(b=e-M*o,T=M*y):(w=n+M*o,A=-M*y),{textX:m,textY:x,targetX:b,targetY:w,anchorX:T,anchorY:A,scale:d,rotate:v}}(s,u,f,p,q,{isHorizontal:I,constrained:"both"===O.constraintext||"outside"===O.constraintext,angle:$}):L(s,u,f,p,q,{isHorizontal:I,constrained:"both"===O.constraintext||"inside"===O.constraintext,angle:$,anchor:O.insidetextanchor}),K.fontSize=Y.size,h("histogram"===O.type?"bar":O.type,K,C),R.transform=K;var Q=A(H,C,g,y);a.setTransormAndDisplay(Q,K)}else r.select("text").remove()}(t,e,O,r,p,B,N,j,U,g,y),e.layerClipId&&l.hideOutsideRangePoint(u,O.select("text"),w,C,f.xcalendar,f.ycalendar)}));var j=!1===f.cliponaxis;l.setClipUrl(u,j?null:e.layerClipId,t)}));u.getComponentMethod("errorbars","plot")(t,O,e,g)},toMoveInsideBar:L}},81974:function(t){"use strict";function e(t,e,r,n,i){var a=e.c2p(n?t.s0:t.p0,!0),o=e.c2p(n?t.s1:t.p1,!0),s=r.c2p(n?t.p0:t.s0,!0),l=r.c2p(n?t.p1:t.s1,!0);return i?[(a+o)/2,(s+l)/2]:n?[o,(s+l)/2]:[(a+o)/2,l]}t.exports=function(t,r){var n,i=t.cd,a=t.xaxis,o=t.yaxis,s=i[0].trace,l="funnel"===s.type,u="h"===s.orientation,c=[];if(!1===r)for(n=0;n<i.length;n++)i[n].selected=0;else for(n=0;n<i.length;n++){var f=i[n],h="ct"in f?f.ct:e(f,a,o,u,l);r.contains(h,!1,n,t)?(c.push({pointNumber:n,x:a.c2d(f.x),y:o.c2d(f.y)}),f.selected=1):f.selected=0}return c}},61546:function(t,e,r){"use strict";t.exports=i;var n=r(71828).distinctVals;function i(t,e){this.traces=t,this.sepNegVal=e.sepNegVal,this.overlapNoMerge=e.overlapNoMerge;for(var r=1/0,i=e.posAxis._id.charAt(0),a=[],o=0;o<t.length;o++){for(var s=t[o],l=0;l<s.length;l++){var u=s[l],c=u.p;void 0===c&&(c=u[i]),void 0!==c&&a.push(c)}s[0]&&s[0].width1&&(r=Math.min(s[0].width1,r))}this.positions=a;var f=n(a);this.distinctPositions=f.vals,1===f.vals.length&&r!==1/0?this.minDiff=r:this.minDiff=Math.min(f.minDiff,r);var h=(e.posAxis||{}).type;"category"!==h&&"multicategory"!==h||(this.minDiff=1),this.binWidth=this.minDiff,this.bins={}}i.prototype.put=function(t,e){var r=this.getLabel(t,e),n=this.bins[r]||0;return this.bins[r]=n+e,n},i.prototype.get=function(t,e){var r=this.getLabel(t,e);return this.bins[r]||0},i.prototype.getLabel=function(t,e){return(e<0&&this.sepNegVal?"v":"^")+(this.overlapNoMerge?t:Math.round(t/this.binWidth))}},16688:function(t,e,r){"use strict";var n=r(39898),i=r(7901),a=r(91424),o=r(71828),s=r(73972),l=r(72597).resizeText,u=r(1486),c=u.textfont,f=u.insidetextfont,h=u.outsidetextfont,p=r(69383);function d(t,e,r){a.pointStyle(t.selectAll("path"),e,r),v(t,e,r)}function v(t,e,r){t.selectAll("text").each((function(t){var i=n.select(this),s=o.ensureUniformFontSize(r,g(i,t,e,r));a.font(i,s)}))}function g(t,e,r,n){var i=n._fullLayout.font,a=r.textfont;if(t.classed("bartext-inside")){var o=_(e,r);a=m(r,e.i,i,o)}else t.classed("bartext-outside")&&(a=x(r,e.i,i));return a}function y(t,e,r){return b(c,t.textfont,e,r)}function m(t,e,r,n){var a=y(t,e,r);return(void 0===t._input.textfont||void 0===t._input.textfont.color||Array.isArray(t.textfont.color)&&void 0===t.textfont.color[e])&&(a={color:i.contrast(n),family:a.family,size:a.size}),b(f,t.insidetextfont,e,a)}function x(t,e,r){var n=y(t,e,r);return b(h,t.outsidetextfont,e,n)}function b(t,e,r,n){e=e||{};var i=p.getValue(e.family,r),a=p.getValue(e.size,r),o=p.getValue(e.color,r);return{family:p.coerceString(t.family,i,n.family),size:p.coerceNumber(t.size,a,n.size),color:p.coerceColor(t.color,o,n.color)}}function _(t,e){return"waterfall"===e.type?e[t.dir].marker.color:t.mcc||t.mc||e.marker.color}t.exports={style:function(t){var e=n.select(t).selectAll("g.barlayer").selectAll("g.trace");l(t,e,"bar");var r=e.size(),i=t._fullLayout;e.style("opacity",(function(t){return t[0].trace.opacity})).each((function(t){("stack"===i.barmode&&r>1||0===i.bargap&&0===i.bargroupgap&&!t[0].trace.marker.line.width)&&n.select(this).attr("shape-rendering","crispEdges")})),e.selectAll("g.points").each((function(e){d(n.select(this),e[0].trace,t)})),s.getComponentMethod("errorbars","style")(e)},styleTextPoints:v,styleOnSelect:function(t,e,r){var i=e[0].trace;i.selectedpoints?function(t,e,r){a.selectedPointStyle(t.selectAll("path"),e),function(t,e,r){t.each((function(t){var i,s=n.select(this);if(t.selected){i=o.ensureUniformFontSize(r,g(s,t,e,r));var l=e.selected.textfont&&e.selected.textfont.color;l&&(i.color=l),a.font(s,i)}else a.selectedTextStyle(s,e)}))}(t.selectAll("text"),e,r)}(r,i,t):(d(r,i,t),s.getComponentMethod("errorbars","style")(r))},getInsideTextFont:m,getOutsideTextFont:x,getBarColor:_,resizeText:l}},98340:function(t,e,r){"use strict";var n=r(7901),i=r(52075).hasColorscale,a=r(1586),o=r(71828).coercePattern;t.exports=function(t,e,r,s,l){var u=r("marker.color",s),c=i(t,"marker");c&&a(t,e,l,r,{prefix:"marker.",cLetter:"c"}),r("marker.line.color",n.defaultLine),i(t,"marker.line")&&a(t,e,l,r,{prefix:"marker.line.",cLetter:"c"}),r("marker.line.width"),r("marker.opacity"),o(r,"marker.pattern",u,c),r("selected.marker.color"),r("unselected.marker.color")}},72597:function(t,e,r){"use strict";var n=r(39898),i=r(71828);function a(t){return"_"+t+"Text_minsize"}t.exports={recordMinTextSize:function(t,e,r){if(r.uniformtext.mode){var n=a(t),i=r.uniformtext.minsize,o=e.scale*e.fontSize;e.hide=o<i,r[n]=r[n]||1/0,e.hide||(r[n]=Math.min(r[n],Math.max(o,i)))}},clearMinTextSize:function(t,e){e[a(t)]=void 0},resizeText:function(t,e,r){var a=t._fullLayout,o=a["_"+r+"Text_minsize"];if(o){var s,l="hide"===a.uniformtext.mode;switch(r){case"funnelarea":case"pie":case"sunburst":s="g.slice";break;case"treemap":case"icicle":s="g.slice, g.pathbar";break;default:s="g.points > g.point"}e.selectAll(s).each((function(t){var e=t.transform;if(e){e.scale=l&&e.hide?0:o/e.fontSize;var r=n.select(this).select("text");i.setTransormAndDisplay(r,e)}}))}}}},55023:function(t,e,r){"use strict";var n=r(5386).f,i=r(1426).extendFlat,a=r(81245),o=r(1486);t.exports={r:a.r,theta:a.theta,r0:a.r0,dr:a.dr,theta0:a.theta0,dtheta:a.dtheta,thetaunit:a.thetaunit,base:i({},o.base,{}),offset:i({},o.offset,{}),width:i({},o.width,{}),text:i({},o.text,{}),hovertext:i({},o.hovertext,{}),marker:o.marker,hoverinfo:a.hoverinfo,hovertemplate:n(),selected:o.selected,unselected:o.unselected}},74692:function(t,e,r){"use strict";var n=r(52075).hasColorscale,i=r(78803),a=r(75341),o=r(11661).setGroupPositions,s=r(66279),l=r(73972).traceIs,u=r(71828).extendFlat;t.exports={calc:function(t,e){for(var r=t._fullLayout,o=e.subplot,l=r[o].radialaxis,u=r[o].angularaxis,c=l.makeCalcdata(e,"r"),f=u.makeCalcdata(e,"theta"),h=e._length,p=new Array(h),d=c,v=f,g=0;g<h;g++)p[g]={p:v[g],s:d[g]};function y(t){var r=e[t];void 0!==r&&(e["_"+t]=Array.isArray(r)?u.makeCalcdata(e,t):u.d2c(r,e.thetaunit))}return"linear"===u.type&&(y("width"),y("offset")),n(e,"marker")&&i(t,e,{vals:e.marker.color,containerStr:"marker",cLetter:"c"}),n(e,"marker.line")&&i(t,e,{vals:e.marker.line.color,containerStr:"marker.line",cLetter:"c"}),a(p,e),s(p,e),p},crossTraceCalc:function(t,e,r){for(var n=t.calcdata,i=[],a=0;a<n.length;a++){var s=n[a],c=s[0].trace;!0===c.visible&&l(c,"bar")&&c.subplot===r&&i.push(s)}var f=u({},e.radialaxis,{_id:"x"}),h=e.angularaxis;o(t,h,f,i,{mode:e.barmode,norm:e.barnorm,gap:e.bargap,groupgap:e.bargroupgap})}}},6135:function(t,e,r){"use strict";var n=r(71828),i=r(22184).handleRThetaDefaults,a=r(98340),o=r(55023);t.exports=function(t,e,r,s){function l(r,i){return n.coerce(t,e,o,r,i)}i(t,e,s,l)?(l("thetaunit"),l("base"),l("offset"),l("width"),l("text"),l("hovertext"),l("hovertemplate"),a(t,e,l,r,s),n.coerceSelectionMarkerOpacity(e,l)):e.visible=!1}},27379:function(t,e,r){"use strict";var n=r(30211),i=r(71828),a=r(95423).getTraceColor,o=i.fillText,s=r(59150).makeHoverPointText,l=r(10869).isPtInsidePolygon;t.exports=function(t,e,r){var u=t.cd,c=u[0].trace,f=t.subplot,h=f.radialAxis,p=f.angularAxis,d=f.vangles,v=d?l:i.isPtInsideSector,g=t.maxHoverDistance,y=p._period||2*Math.PI,m=Math.abs(h.g2p(Math.sqrt(e*e+r*r))),x=Math.atan2(r,e);if(h.range[0]>h.range[1]&&(x+=Math.PI),n.getClosest(u,(function(t){return v(m,x,[t.rp0,t.rp1],[t.thetag0,t.thetag1],d)?g+Math.min(1,Math.abs(t.thetag1-t.thetag0)/y)-1+(t.rp1-m)/(t.rp1-t.rp0)-1:1/0}),t),!1!==t.index){var b=u[t.index];t.x0=t.x1=b.ct[0],t.y0=t.y1=b.ct[1];var _=i.extendFlat({},b,{r:b.s,theta:b.p});return o(b,c,t),s(_,c,f,t),t.hovertemplate=c.hovertemplate,t.color=a(c,b),t.xLabelVal=t.yLabelVal=void 0,b.s<0&&(t.idealAlign="left"),[t]}}},23381:function(t,e,r){"use strict";t.exports={moduleType:"trace",name:"barpolar",basePlotModule:r(23580),categories:["polar","bar","showLegend"],attributes:r(55023),layoutAttributes:r(40151),supplyDefaults:r(6135),supplyLayoutDefaults:r(19860),calc:r(74692).calc,crossTraceCalc:r(74692).crossTraceCalc,plot:r(60173),colorbar:r(4898),formatLabels:r(98608),style:r(16688).style,styleOnSelect:r(16688).styleOnSelect,hoverPoints:r(27379),selectPoints:r(81974),meta:{}}},40151:function(t){"use strict";t.exports={barmode:{valType:"enumerated",values:["stack","overlay"],dflt:"stack",editType:"calc"},bargap:{valType:"number",dflt:.1,min:0,max:1,editType:"calc"}}},19860:function(t,e,r){"use strict";var n=r(71828),i=r(40151);t.exports=function(t,e,r){var a,o={};function s(r,o){return n.coerce(t[a]||{},e[a],i,r,o)}for(var l=0;l<r.length;l++){var u=r[l];"barpolar"===u.type&&!0===u.visible&&(o[a=u.subplot]||(s("barmode"),s("bargap"),o[a]=1))}}},60173:function(t,e,r){"use strict";var n=r(39898),i=r(92770),a=r(71828),o=r(91424),s=r(10869);t.exports=function(t,e,r){var l=e.xaxis,u=e.yaxis,c=e.radialAxis,f=e.angularAxis,h=function(t){var e=t.cxx,r=t.cyy;return t.vangles?function(n,i,o,l){var u,c;a.angleDelta(o,l)>0?(u=o,c=l):(u=l,c=o);var f=[s.findEnclosingVertexAngles(u,t.vangles)[0],(u+c)/2,s.findEnclosingVertexAngles(c,t.vangles)[1]];return s.pathPolygonAnnulus(n,i,u,c,f,e,r)}:function(t,n,i,o){return a.pathAnnulus(t,n,i,o,e,r)}}(e),p=e.layers.frontplot.select("g.barlayer");a.makeTraceGroups(p,r,"trace bars").each((function(){var r=n.select(this),s=a.ensureSingle(r,"g","points").selectAll("g.point").data(a.identity);s.enter().append("g").style("vector-effect","non-scaling-stroke").style("stroke-miterlimit",2).classed("point",!0),s.exit().remove(),s.each((function(t){var e,r=n.select(this),o=t.rp0=c.c2p(t.s0),s=t.rp1=c.c2p(t.s1),p=t.thetag0=f.c2g(t.p0),d=t.thetag1=f.c2g(t.p1);if(i(o)&&i(s)&&i(p)&&i(d)&&o!==s&&p!==d){var v=c.c2g(t.s1),g=(p+d)/2;t.ct=[l.c2p(v*Math.cos(g)),u.c2p(v*Math.sin(g))],e=h(o,s,p,d)}else e="M0,0Z";a.ensureSingle(r,"path").attr("d",e)})),o.setClipUrl(r,e._hasClipOnAxisFalse?e.clipIds.forTraces:null,t)}))}},53522:function(t,e,r){"use strict";var n=r(82196),i=r(1486),a=r(22399),o=r(12663).axisHoverFormat,s=r(5386).f,l=r(1426).extendFlat,u=n.marker,c=u.line;t.exports={y:{valType:"data_array",editType:"calc+clearAxisTypes"},x:{valType:"data_array",editType:"calc+clearAxisTypes"},x0:{valType:"any",editType:"calc+clearAxisTypes"},y0:{valType:"any",editType:"calc+clearAxisTypes"},dx:{valType:"number",editType:"calc"},dy:{valType:"number",editType:"calc"},xperiod:n.xperiod,yperiod:n.yperiod,xperiod0:n.xperiod0,yperiod0:n.yperiod0,xperiodalignment:n.xperiodalignment,yperiodalignment:n.yperiodalignment,xhoverformat:o("x"),yhoverformat:o("y"),name:{valType:"string",editType:"calc+clearAxisTypes"},q1:{valType:"data_array",editType:"calc+clearAxisTypes"},median:{valType:"data_array",editType:"calc+clearAxisTypes"},q3:{valType:"data_array",editType:"calc+clearAxisTypes"},lowerfence:{valType:"data_array",editType:"calc"},upperfence:{valType:"data_array",editType:"calc"},notched:{valType:"boolean",editType:"calc"},notchwidth:{valType:"number",min:0,max:.5,dflt:.25,editType:"calc"},notchspan:{valType:"data_array",editType:"calc"},boxpoints:{valType:"enumerated",values:["all","outliers","suspectedoutliers",!1],editType:"calc"},jitter:{valType:"number",min:0,max:1,editType:"calc"},pointpos:{valType:"number",min:-2,max:2,editType:"calc"},boxmean:{valType:"enumerated",values:[!0,"sd",!1],editType:"calc"},mean:{valType:"data_array",editType:"calc"},sd:{valType:"data_array",editType:"calc"},orientation:{valType:"enumerated",values:["v","h"],editType:"calc+clearAxisTypes"},quartilemethod:{valType:"enumerated",values:["linear","exclusive","inclusive"],dflt:"linear",editType:"calc"},width:{valType:"number",min:0,dflt:0,editType:"calc"},marker:{outliercolor:{valType:"color",dflt:"rgba(0, 0, 0, 0)",editType:"style"},symbol:l({},u.symbol,{arrayOk:!1,editType:"plot"}),opacity:l({},u.opacity,{arrayOk:!1,dflt:1,editType:"style"}),angle:l({},u.angle,{arrayOk:!1,editType:"calc"}),size:l({},u.size,{arrayOk:!1,editType:"calc"}),color:l({},u.color,{arrayOk:!1,editType:"style"}),line:{color:l({},c.color,{arrayOk:!1,dflt:a.defaultLine,editType:"style"}),width:l({},c.width,{arrayOk:!1,dflt:0,editType:"style"}),outliercolor:{valType:"color",editType:"style"},outlierwidth:{valType:"number",min:0,dflt:1,editType:"style"},editType:"style"},editType:"plot"},line:{color:{valType:"color",editType:"style"},width:{valType:"number",min:0,dflt:2,editType:"style"},editType:"plot"},fillcolor:n.fillcolor,whiskerwidth:{valType:"number",min:0,max:1,dflt:.5,editType:"calc"},offsetgroup:i.offsetgroup,alignmentgroup:i.alignmentgroup,selected:{marker:n.selected.marker,editType:"style"},unselected:{marker:n.unselected.marker,editType:"style"},text:l({},n.text,{}),hovertext:l({},n.hovertext,{}),hovertemplate:s({}),hoveron:{valType:"flaglist",flags:["boxes","points"],dflt:"boxes+points",editType:"style"}}},48518:function(t,e,r){"use strict";var n=r(92770),i=r(89298),a=r(42973),o=r(71828),s=r(50606).BADNUM,l=o._;t.exports=function(t,e){var r,u,m,x,b,_,w,T=t._fullLayout,k=i.getFromId(t,e.xaxis||"x"),A=i.getFromId(t,e.yaxis||"y"),M=[],S="violin"===e.type?"_numViolins":"_numBoxes";"h"===e.orientation?(m=k,x="x",b=A,_="y",w=!!e.yperiodalignment):(m=A,x="y",b=k,_="x",w=!!e.xperiodalignment);var E,L,C,P,O,I,D=function(t,e,r,i){var s,l=e+"0"in t;if(e in t||l&&"d"+e in t){var u=r.makeCalcdata(t,e);return[a(t,r,e,u).vals,u]}s=l?t[e+"0"]:"name"in t&&("category"===r.type||n(t.name)&&-1!==["linear","log"].indexOf(r.type)||o.isDateTime(t.name)&&"date"===r.type)?t.name:i;for(var c="multicategory"===r.type?r.r2c_just_indices(s):r.d2c(s,0,t[e+"calendar"]),f=t._length,h=new Array(f),p=0;p<f;p++)h[p]=c;return[h]}(e,_,b,T[S]),z=D[0],R=D[1],F=o.distinctVals(z,b),B=F.vals,N=F.minDiff/2,j="all"===(e.boxpoints||e.points)?o.identity:function(t){return t.v<E.lf||t.v>E.uf};if(e._hasPreCompStats){var U=e[x],V=function(t){return m.d2c((e[t]||[])[r])},H=1/0,q=-1/0;for(r=0;r<e._length;r++){var G=z[r];if(n(G)){if((E={}).pos=E[_]=G,w&&R&&(E.orig_p=R[r]),E.q1=V("q1"),E.med=V("median"),E.q3=V("q3"),L=[],U&&o.isArrayOrTypedArray(U[r]))for(u=0;u<U[r].length;u++)(I=m.d2c(U[r][u]))!==s&&(c(O={v:I,i:[r,u]},e,[r,u]),L.push(O));if(E.pts=L.sort(f),P=(C=E[x]=L.map(h)).length,E.med!==s&&E.q1!==s&&E.q3!==s&&E.med>=E.q1&&E.q3>=E.med){var Z=V("lowerfence");E.lf=Z!==s&&Z<=E.q1?Z:p(E,C,P);var Y=V("upperfence");E.uf=Y!==s&&Y>=E.q3?Y:d(E,C,P);var W=V("mean");E.mean=W!==s?W:P?o.mean(C,P):(E.q1+E.q3)/2;var X=V("sd");E.sd=W!==s&&X>=0?X:P?o.stdev(C,P,E.mean):E.q3-E.q1,E.lo=v(E),E.uo=g(E);var J=V("notchspan");J=J!==s&&J>0?J:y(E,P),E.ln=E.med-J,E.un=E.med+J;var K=E.lf,$=E.uf;e.boxpoints&&C.length&&(K=Math.min(K,C[0]),$=Math.max($,C[P-1])),e.notched&&(K=Math.min(K,E.ln),$=Math.max($,E.un)),E.min=K,E.max=$}else{var Q;o.warn(["Invalid input - make sure that q1 <= median <= q3","q1 = "+E.q1,"median = "+E.med,"q3 = "+E.q3].join("\n")),Q=E.med!==s?E.med:E.q1!==s?E.q3!==s?(E.q1+E.q3)/2:E.q1:E.q3!==s?E.q3:0,E.med=Q,E.q1=E.q3=Q,E.lf=E.uf=Q,E.mean=E.sd=Q,E.ln=E.un=Q,E.min=E.max=Q}H=Math.min(H,E.min),q=Math.max(q,E.max),E.pts2=L.filter(j),M.push(E)}}e._extremes[m._id]=i.findExtremes(m,[H,q],{padded:!0})}else{var tt=m.makeCalcdata(e,x),et=function(t,e){for(var r=t.length,n=new Array(r+1),i=0;i<r;i++)n[i]=t[i]-e;return n[r]=t[r-1]+e,n}(B,N),rt=B.length,nt=function(t){for(var e=new Array(t),r=0;r<t;r++)e[r]=[];return e}(rt);for(r=0;r<e._length;r++)if(I=tt[r],n(I)){var it=o.findBin(z[r],et);it>=0&&it<rt&&(c(O={v:I,i:r},e,r),nt[it].push(O))}var at=1/0,ot=-1/0,st=e.quartilemethod,lt="exclusive"===st,ut="inclusive"===st;for(r=0;r<rt;r++)if(nt[r].length>0){var ct,ft;(E={}).pos=E[_]=B[r],L=E.pts=nt[r].sort(f),P=(C=E[x]=L.map(h)).length,E.min=C[0],E.max=C[P-1],E.mean=o.mean(C,P),E.sd=o.stdev(C,P,E.mean),E.med=o.interp(C,.5),P%2&&(lt||ut)?(lt?(ct=C.slice(0,P/2),ft=C.slice(P/2+1)):ut&&(ct=C.slice(0,P/2+1),ft=C.slice(P/2)),E.q1=o.interp(ct,.5),E.q3=o.interp(ft,.5)):(E.q1=o.interp(C,.25),E.q3=o.interp(C,.75)),E.lf=p(E,C,P),E.uf=d(E,C,P),E.lo=v(E),E.uo=g(E);var ht=y(E,P);E.ln=E.med-ht,E.un=E.med+ht,at=Math.min(at,E.ln),ot=Math.max(ot,E.un),E.pts2=L.filter(j),M.push(E)}e._extremes[m._id]=i.findExtremes(m,e.notched?tt.concat([at,ot]):tt,{padded:!0})}return function(t,e){if(o.isArrayOrTypedArray(e.selectedpoints))for(var r=0;r<t.length;r++){for(var n=t[r].pts||[],i={},a=0;a<n.length;a++)i[n[a].i]=a;o.tagSelected(n,e,i)}}(M,e),M.length>0?(M[0].t={num:T[S],dPos:N,posLetter:_,valLetter:x,labels:{med:l(t,"median:"),min:l(t,"min:"),q1:l(t,"q1:"),q3:l(t,"q3:"),max:l(t,"max:"),mean:"sd"===e.boxmean?l(t,"mean ± σ:"):l(t,"mean:"),lf:l(t,"lower fence:"),uf:l(t,"upper fence:")}},T[S]++,M):[{t:{empty:!0}}]};var u={text:"tx",hovertext:"htx"};function c(t,e,r){for(var n in u)o.isArrayOrTypedArray(e[n])&&(Array.isArray(r)?o.isArrayOrTypedArray(e[n][r[0]])&&(t[u[n]]=e[n][r[0]][r[1]]):t[u[n]]=e[n][r])}function f(t,e){return t.v-e.v}function h(t){return t.v}function p(t,e,r){return 0===r?t.q1:Math.min(t.q1,e[Math.min(o.findBin(2.5*t.q1-1.5*t.q3,e,!0)+1,r-1)])}function d(t,e,r){return 0===r?t.q3:Math.max(t.q3,e[Math.max(o.findBin(2.5*t.q3-1.5*t.q1,e),0)])}function v(t){return 4*t.q1-3*t.q3}function g(t){return 4*t.q3-3*t.q1}function y(t,e){return 0===e?0:1.57*(t.q3-t.q1)/Math.sqrt(e)}},37188:function(t,e,r){"use strict";var n=r(89298),i=r(71828),a=r(99082).getAxisGroup,o=["v","h"];function s(t,e,r,o){var s,l,u,c=e.calcdata,f=e._fullLayout,h=o._id,p=h.charAt(0),d=[],v=0;for(s=0;s<r.length;s++)for(u=c[r[s]],l=0;l<u.length;l++)d.push(o.c2l(u[l].pos,!0)),v+=(u[l].pts2||[]).length;if(d.length){var g=i.distinctVals(d);"category"!==o.type&&"multicategory"!==o.type||(g.minDiff=1);var y=g.minDiff/2;n.minDtick(o,g.minDiff,g.vals[0],!0);var m=f["violin"===t?"_numViolins":"_numBoxes"],x="group"===f[t+"mode"]&&m>1,b=1-f[t+"gap"],_=1-f[t+"groupgap"];for(s=0;s<r.length;s++){var w,T,k,A,M,S,E=(u=c[r[s]])[0].trace,L=u[0].t,C=E.width,P=E.side;if(C)w=T=A=C/2,k=0;else if(w=y,x){var O=a(f,o._id)+E.orientation,I=(f._alignmentOpts[O]||{})[E.alignmentgroup]||{},D=Object.keys(I.offsetGroups||{}).length,z=D||m;T=w*b*_/z,k=2*w*(((D?E._offsetIndex:L.num)+.5)/z-.5)*b,A=w*b/z}else T=w*b*_,k=0,A=w;L.dPos=w,L.bPos=k,L.bdPos=T,L.wHover=A;var R,F,B,N,j,U,V=k+T,H=Boolean(C);if("positive"===P?(M=w*(C?1:.5),R=V,S=R=k):"negative"===P?(M=R=k,S=w*(C?1:.5),F=V):(M=S=w,R=F=V),(E.boxpoints||E.points)&&v>0){var q=E.pointpos,G=E.jitter,Z=E.marker.size/2,Y=0;q+G>=0&&((Y=V*(q+G))>M?(H=!0,j=Z,B=Y):Y>R&&(j=Z,B=M)),Y<=M&&(B=M);var W=0;q-G<=0&&((W=-V*(q-G))>S?(H=!0,U=Z,N=W):W>F&&(U=Z,N=S)),W<=S&&(N=S)}else B=M,N=S;var X=new Array(u.length);for(l=0;l<u.length;l++)X[l]=u[l].pos;E._extremes[h]=n.findExtremes(o,X,{padded:H,vpadminus:N,vpadplus:B,vpadLinearized:!0,ppadminus:{x:U,y:j}[p],ppadplus:{x:j,y:U}[p]})}}}t.exports={crossTraceCalc:function(t,e){for(var r=t.calcdata,n=e.xaxis,i=e.yaxis,a=0;a<o.length;a++){for(var l=o[a],u="h"===l?i:n,c=[],f=0;f<r.length;f++){var h=r[f],p=h[0].t,d=h[0].trace;!0!==d.visible||"box"!==d.type&&"candlestick"!==d.type||p.empty||(d.orientation||"v")!==l||d.xaxis!==n._id||d.yaxis!==i._id||c.push(f)}s("box",t,c,u)}},setPositionOffset:s}},36411:function(t,e,r){"use strict";var n=r(71828),i=r(73972),a=r(7901),o=r(73927),s=r(26125),l=r(4322),u=r(53522);function c(t,e,r,a){function o(t){var e=0;return t&&t.length&&(e+=1,n.isArrayOrTypedArray(t[0])&&t[0].length&&(e+=1)),e}function s(e){return n.validate(t[e],u[e])}var c,f=r("y"),h=r("x");if("box"===e.type){var p=r("q1"),d=r("median"),v=r("q3");e._hasPreCompStats=p&&p.length&&d&&d.length&&v&&v.length,c=Math.min(n.minRowLength(p),n.minRowLength(d),n.minRowLength(v))}var g,y,m=o(f),x=o(h),b=m&&n.minRowLength(f),_=x&&n.minRowLength(h),w=a.calendar,T={autotypenumbers:a.autotypenumbers};if(e._hasPreCompStats)switch(String(x)+String(m)){case"00":var k=s("x0")||s("dx");g=!s("y0")&&!s("dy")||k?"v":"h",y=c;break;case"10":g="v",y=Math.min(c,_);break;case"20":g="h",y=Math.min(c,h.length);break;case"01":g="h",y=Math.min(c,b);break;case"02":g="v",y=Math.min(c,f.length);break;case"12":g="v",y=Math.min(c,_,f.length);break;case"21":g="h",y=Math.min(c,h.length,b);break;case"11":y=0;break;case"22":var A,M=!1;for(A=0;A<h.length;A++)if("category"===l(h[A],w,T)){M=!0;break}if(M)g="v",y=Math.min(c,_,f.length);else{for(A=0;A<f.length;A++)if("category"===l(f[A],w,T)){M=!0;break}M?(g="h",y=Math.min(c,h.length,b)):(g="v",y=Math.min(c,_,f.length))}}else m>0?(g="v",y=x>0?Math.min(_,b):Math.min(b)):x>0?(g="h",y=Math.min(_)):y=0;if(y){e._length=y;var S=r("orientation",g);e._hasPreCompStats?"v"===S&&0===x?(r("x0",0),r("dx",1)):"h"===S&&0===m&&(r("y0",0),r("dy",1)):"v"===S&&0===x?r("x0"):"h"===S&&0===m&&r("y0"),i.getComponentMethod("calendars","handleTraceDefaults")(t,e,["x","y"],a)}else e.visible=!1}function f(t,e,r,i){var a=i.prefix,o=n.coerce2(t,e,u,"marker.outliercolor"),s=r("marker.line.outliercolor"),l="outliers";e._hasPreCompStats?l="all":(o||s)&&(l="suspectedoutliers");var c=r(a+"points",l);c?(r("jitter","all"===c?.3:0),r("pointpos","all"===c?-1.5:0),r("marker.symbol"),r("marker.opacity"),r("marker.size"),r("marker.angle"),r("marker.color",e.line.color),r("marker.line.color"),r("marker.line.width"),"suspectedoutliers"===c&&(r("marker.line.outliercolor",e.marker.color),r("marker.line.outlierwidth")),r("selected.marker.color"),r("unselected.marker.color"),r("selected.marker.size"),r("unselected.marker.size"),r("text"),r("hovertext")):delete e.marker;var f=r("hoveron");"all"!==f&&-1===f.indexOf("points")||r("hovertemplate"),n.coerceSelectionMarkerOpacity(e,r)}t.exports={supplyDefaults:function(t,e,r,i){function s(r,i){return n.coerce(t,e,u,r,i)}if(c(t,e,s,i),!1!==e.visible){o(t,e,i,s),s("xhoverformat"),s("yhoverformat");var l=e._hasPreCompStats;l&&(s("lowerfence"),s("upperfence")),s("line.color",(t.marker||{}).color||r),s("line.width"),s("fillcolor",a.addOpacity(e.line.color,.5));var h=!1;if(l){var p=s("mean"),d=s("sd");p&&p.length&&(h=!0,d&&d.length&&(h="sd"))}s("boxmean",h),s("whiskerwidth"),s("width"),s("quartilemethod");var v=!1;if(l){var g=s("notchspan");g&&g.length&&(v=!0)}else n.validate(t.notchwidth,u.notchwidth)&&(v=!0);s("notched",v)&&s("notchwidth"),f(t,e,s,{prefix:"box"})}},crossTraceDefaults:function(t,e){var r,i;function a(t){return n.coerce(i._input,i,u,t)}for(var o=0;o<t.length;o++){var l=(i=t[o]).type;"box"!==l&&"violin"!==l||(r=i._input,"group"===e[l+"mode"]&&s(r,i,e,a))}},handleSampleDefaults:c,handlePointsDefaults:f}},74907:function(t){"use strict";t.exports=function(t,e){return e.hoverOnBox&&(t.hoverOnBox=e.hoverOnBox),"xVal"in e&&(t.x=e.xVal),"yVal"in e&&(t.y=e.yVal),e.xa&&(t.xaxis=e.xa),e.ya&&(t.yaxis=e.ya),t}},41868:function(t,e,r){"use strict";var n=r(89298),i=r(71828),a=r(30211),o=r(7901),s=i.fillText;function l(t,e,r,s){var l,u,c,f,h,p,d,v,g,y,m,x,b,_,w=t.cd,T=t.xa,k=t.ya,A=w[0].trace,M=w[0].t,S="violin"===A.type,E=M.bdPos,L=M.wHover,C=function(t){return c.c2l(t.pos)+M.bPos-c.c2l(p)};S&&"both"!==A.side?("positive"===A.side&&(g=function(t){var e=C(t);return a.inbox(e,e+L,y)},x=E,b=0),"negative"===A.side&&(g=function(t){var e=C(t);return a.inbox(e-L,e,y)},x=0,b=E)):(g=function(t){var e=C(t);return a.inbox(e-L,e+L,y)},x=b=E),_=S?function(t){return a.inbox(t.span[0]-h,t.span[1]-h,y)}:function(t){return a.inbox(t.min-h,t.max-h,y)},"h"===A.orientation?(h=e,p=r,d=_,v=g,l="y",c=k,u="x",f=T):(h=r,p=e,d=g,v=_,l="x",c=T,u="y",f=k);var P=Math.min(1,E/Math.abs(c.r2c(c.range[1])-c.r2c(c.range[0])));function O(t){return(d(t)+v(t))/2}y=t.maxHoverDistance-P,m=t.maxSpikeDistance-P;var I=a.getDistanceFunction(s,d,v,O);if(a.getClosest(w,I,t),!1===t.index)return[];var D=w[t.index],z=A.line.color,R=(A.marker||{}).color;o.opacity(z)&&A.line.width?t.color=z:o.opacity(R)&&A.boxpoints?t.color=R:t.color=A.fillcolor,t[l+"0"]=c.c2p(D.pos+M.bPos-b,!0),t[l+"1"]=c.c2p(D.pos+M.bPos+x,!0),t[l+"LabelVal"]=void 0!==D.orig_p?D.orig_p:D.pos;var F=l+"Spike";t.spikeDistance=O(D)*m/y,t[F]=c.c2p(D.pos,!0);var B=A.boxmean||(A.meanline||{}).visible,N=A.boxpoints||A.points,j=N&&B?["max","uf","q3","med","mean","q1","lf","min"]:N&&!B?["max","uf","q3","med","q1","lf","min"]:!N&&B?["max","q3","med","mean","q1","min"]:["max","q3","med","q1","min"],U=f.range[1]<f.range[0];A.orientation===(U?"v":"h")&&j.reverse();for(var V=t.spikeDistance,H=t[F],q=[],G=0;G<j.length;G++){var Z=j[G];if(Z in D){var Y=D[Z],W=f.c2p(Y,!0),X=i.extendFlat({},t);X.attr=Z,X[u+"0"]=X[u+"1"]=W,X[u+"LabelVal"]=Y,X[u+"Label"]=(M.labels?M.labels[Z]+" ":"")+n.hoverLabelText(f,Y,A[u+"hoverformat"]),X.hoverOnBox=!0,"mean"===Z&&"sd"in D&&"sd"===A.boxmean&&(X[u+"err"]=D.sd),X.hovertemplate=!1,q.push(X)}}t.name="",t.spikeDistance=void 0,t[F]=void 0;for(var J=0;J<q.length;J++)"med"!==q[J].attr?(q[J].name="",q[J].spikeDistance=void 0,q[J][F]=void 0):(q[J].spikeDistance=V,q[J][F]=H);return q}function u(t,e,r){for(var n,o,l,u=t.cd,c=t.xa,f=t.ya,h=u[0].trace,p=c.c2p(e),d=f.c2p(r),v=a.quadrature((function(t){var e=Math.max(3,t.mrc||0);return Math.max(Math.abs(c.c2p(t.x)-p)-e,1-3/e)}),(function(t){var e=Math.max(3,t.mrc||0);return Math.max(Math.abs(f.c2p(t.y)-d)-e,1-3/e)})),g=!1,y=0;y<u.length;y++){o=u[y];for(var m=0;m<(o.pts||[]).length;m++){var x=v(l=o.pts[m]);x<=t.distance&&(t.distance=x,g=[y,m])}}if(!g)return!1;l=(o=u[g[0]]).pts[g[1]];var b=c.c2p(l.x,!0),_=f.c2p(l.y,!0),w=l.mrc||1;n=i.extendFlat({},t,{index:l.i,color:(h.marker||{}).color,name:h.name,x0:b-w,x1:b+w,y0:_-w,y1:_+w,spikeDistance:t.distance,hovertemplate:h.hovertemplate});var T,k=o.orig_p,A=void 0!==k?k:o.pos;return"h"===h.orientation?(T=f,n.xLabelVal=l.x,n.yLabelVal=A):(T=c,n.xLabelVal=A,n.yLabelVal=l.y),n[T._id.charAt(0)+"Spike"]=T.c2p(o.pos,!0),s(l,h,n),n}t.exports={hoverPoints:function(t,e,r,n){var i,a=t.cd[0].trace.hoveron,o=[];return-1!==a.indexOf("boxes")&&(o=o.concat(l(t,e,r,n))),-1!==a.indexOf("points")&&(i=u(t,e,r)),"closest"===n?i?[i]:o:i?(o.push(i),o):o},hoverOnBoxes:l,hoverOnPoints:u}},83832:function(t,e,r){"use strict";t.exports={attributes:r(53522),layoutAttributes:r(40094),supplyDefaults:r(36411).supplyDefaults,crossTraceDefaults:r(36411).crossTraceDefaults,supplyLayoutDefaults:r(4199).supplyLayoutDefaults,calc:r(48518),crossTraceCalc:r(37188).crossTraceCalc,plot:r(86047).plot,style:r(58063).style,styleOnSelect:r(58063).styleOnSelect,hoverPoints:r(41868).hoverPoints,eventData:r(74907),selectPoints:r(24626),moduleType:"trace",name:"box",basePlotModule:r(93612),categories:["cartesian","svg","symbols","oriented","box-violin","showLegend","boxLayout","zoomScale"],meta:{}}},40094:function(t){"use strict";t.exports={boxmode:{valType:"enumerated",values:["group","overlay"],dflt:"overlay",editType:"calc"},boxgap:{valType:"number",min:0,max:1,dflt:.3,editType:"calc"},boxgroupgap:{valType:"number",min:0,max:1,dflt:.3,editType:"calc"}}},4199:function(t,e,r){"use strict";var n=r(73972),i=r(71828),a=r(40094);function o(t,e,r,i,a){for(var o=a+"Layout",s=!1,l=0;l<r.length;l++){var u=r[l];if(n.traceIs(u,o)){s=!0;break}}s&&(i(a+"mode"),i(a+"gap"),i(a+"groupgap"))}t.exports={supplyLayoutDefaults:function(t,e,r){o(0,0,r,(function(r,n){return i.coerce(t,e,a,r,n)}),"box")},_supply:o}},86047:function(t,e,r){"use strict";var n=r(39898),i=r(71828),a=r(91424);function o(t,e,r,a){var o,s,l="h"===r.orientation,u=e.val,c=e.pos,f=!!c.rangebreaks,h=a.bPos,p=a.wdPos||0,d=a.bPosPxOffset||0,v=r.whiskerwidth||0,g=r.notched||!1,y=g?1-2*r.notchwidth:1;Array.isArray(a.bdPos)?(o=a.bdPos[0],s=a.bdPos[1]):(o=a.bdPos,s=a.bdPos);var m=t.selectAll("path.box").data("violin"!==r.type||r.box.visible?i.identity:[]);m.enter().append("path").style("vector-effect","non-scaling-stroke").attr("class","box"),m.exit().remove(),m.each((function(t){if(t.empty)return"M0,0Z";var e=c.c2l(t.pos+h,!0),a=c.l2p(e-o)+d,m=c.l2p(e+s)+d,x=f?(a+m)/2:c.l2p(e)+d,b=r.whiskerwidth,_=f?a*b+(1-b)*x:c.l2p(e-p)+d,w=f?m*b+(1-b)*x:c.l2p(e+p)+d,T=c.l2p(e-o*y)+d,k=c.l2p(e+s*y)+d,A=u.c2p(t.q1,!0),M=u.c2p(t.q3,!0),S=i.constrain(u.c2p(t.med,!0),Math.min(A,M)+1,Math.max(A,M)-1),E=void 0===t.lf||!1===r.boxpoints,L=u.c2p(E?t.min:t.lf,!0),C=u.c2p(E?t.max:t.uf,!0),P=u.c2p(t.ln,!0),O=u.c2p(t.un,!0);l?n.select(this).attr("d","M"+S+","+T+"V"+k+"M"+A+","+a+"V"+m+(g?"H"+P+"L"+S+","+k+"L"+O+","+m:"")+"H"+M+"V"+a+(g?"H"+O+"L"+S+","+T+"L"+P+","+a:"")+"ZM"+A+","+x+"H"+L+"M"+M+","+x+"H"+C+(0===v?"":"M"+L+","+_+"V"+w+"M"+C+","+_+"V"+w)):n.select(this).attr("d","M"+T+","+S+"H"+k+"M"+a+","+A+"H"+m+(g?"V"+P+"L"+k+","+S+"L"+m+","+O:"")+"V"+M+"H"+a+(g?"V"+O+"L"+T+","+S+"L"+a+","+P:"")+"ZM"+x+","+A+"V"+L+"M"+x+","+M+"V"+C+(0===v?"":"M"+_+","+L+"H"+w+"M"+_+","+C+"H"+w))}))}function s(t,e,r,n){var o=e.x,s=e.y,l=n.bdPos,u=n.bPos,c=r.boxpoints||r.points;i.seedPseudoRandom();var f=t.selectAll("g.points").data(c?function(t){return t.forEach((function(t){t.t=n,t.trace=r})),t}:[]);f.enter().append("g").attr("class","points"),f.exit().remove();var h=f.selectAll("path").data((function(t){var e,n,a=t.pts2,o=Math.max((t.max-t.min)/10,t.q3-t.q1),s=1e-9*o,f=.01*o,h=[],p=0;if(r.jitter){if(0===o)for(p=1,h=new Array(a.length),e=0;e<a.length;e++)h[e]=1;else for(e=0;e<a.length;e++){var d=Math.max(0,e-5),v=a[d].v,g=Math.min(a.length-1,e+5),y=a[g].v;"all"!==c&&(a[e].v<t.lf?y=Math.min(y,t.lf):v=Math.max(v,t.uf));var m=Math.sqrt(f*(g-d)/(y-v+s))||0;m=i.constrain(Math.abs(m),0,1),h.push(m),p=Math.max(m,p)}n=2*r.jitter/(p||1)}for(e=0;e<a.length;e++){var x=a[e],b=x.v,_=r.jitter?n*h[e]*(i.pseudoRandom()-.5):0,w=t.pos+u+l*(r.pointpos+_);"h"===r.orientation?(x.y=w,x.x=b):(x.x=w,x.y=b),"suspectedoutliers"===c&&b<t.uo&&b>t.lo&&(x.so=!0)}return a}));h.enter().append("path").classed("point",!0),h.exit().remove(),h.call(a.translatePoints,o,s)}function l(t,e,r,a){var o,s,l=e.val,u=e.pos,c=!!u.rangebreaks,f=a.bPos,h=a.bPosPxOffset||0,p=r.boxmean||(r.meanline||{}).visible;Array.isArray(a.bdPos)?(o=a.bdPos[0],s=a.bdPos[1]):(o=a.bdPos,s=a.bdPos);var d=t.selectAll("path.mean").data("box"===r.type&&r.boxmean||"violin"===r.type&&r.box.visible&&r.meanline.visible?i.identity:[]);d.enter().append("path").attr("class","mean").style({fill:"none","vector-effect":"non-scaling-stroke"}),d.exit().remove(),d.each((function(t){var e=u.c2l(t.pos+f,!0),i=u.l2p(e-o)+h,a=u.l2p(e+s)+h,d=c?(i+a)/2:u.l2p(e)+h,v=l.c2p(t.mean,!0),g=l.c2p(t.mean-t.sd,!0),y=l.c2p(t.mean+t.sd,!0);"h"===r.orientation?n.select(this).attr("d","M"+v+","+i+"V"+a+("sd"===p?"m0,0L"+g+","+d+"L"+v+","+i+"L"+y+","+d+"Z":"")):n.select(this).attr("d","M"+i+","+v+"H"+a+("sd"===p?"m0,0L"+d+","+g+"L"+i+","+v+"L"+d+","+y+"Z":""))}))}t.exports={plot:function(t,e,r,a){var u=e.xaxis,c=e.yaxis;i.makeTraceGroups(a,r,"trace boxes").each((function(t){var e,r,i=n.select(this),a=t[0],f=a.t,h=a.trace;f.wdPos=f.bdPos*h.whiskerwidth,!0!==h.visible||f.empty?i.remove():("h"===h.orientation?(e=c,r=u):(e=u,r=c),o(i,{pos:e,val:r},h,f),s(i,{x:u,y:c},h,f),l(i,{pos:e,val:r},h,f))}))},plotBoxAndWhiskers:o,plotPoints:s,plotBoxMean:l}},24626:function(t){"use strict";t.exports=function(t,e){var r,n,i=t.cd,a=t.xaxis,o=t.yaxis,s=[];if(!1===e)for(r=0;r<i.length;r++)for(n=0;n<(i[r].pts||[]).length;n++)i[r].pts[n].selected=0;else for(r=0;r<i.length;r++)for(n=0;n<(i[r].pts||[]).length;n++){var l=i[r].pts[n],u=a.c2p(l.x),c=o.c2p(l.y);e.contains([u,c],null,l.i,t)?(s.push({pointNumber:l.i,x:a.c2d(l.x),y:o.c2d(l.y)}),l.selected=1):l.selected=0}return s}},58063:function(t,e,r){"use strict";var n=r(39898),i=r(7901),a=r(91424);t.exports={style:function(t,e,r){var o=r||n.select(t).selectAll("g.trace.boxes");o.style("opacity",(function(t){return t[0].trace.opacity})),o.each((function(e){var r=n.select(this),o=e[0].trace,s=o.line.width;function l(t,e,r,n){t.style("stroke-width",e+"px").call(i.stroke,r).call(i.fill,n)}var u=r.selectAll("path.box");if("candlestick"===o.type)u.each((function(t){if(!t.empty){var e=n.select(this),r=o[t.dir];l(e,r.line.width,r.line.color,r.fillcolor),e.style("opacity",o.selectedpoints&&!t.selected?.3:1)}}));else{l(u,s,o.line.color,o.fillcolor),r.selectAll("path.mean").style({"stroke-width":s,"stroke-dasharray":2*s+"px,"+s+"px"}).call(i.stroke,o.line.color);var c=r.selectAll("path.point");a.pointStyle(c,o,t)}}))},styleOnSelect:function(t,e,r){var n=e[0].trace,i=r.selectAll("path.point");n.selectedpoints?a.selectedPointStyle(i,n):a.pointStyle(i,n,t)}}},75343:function(t,e,r){"use strict";var n=r(71828).extendFlat,i=r(12663).axisHoverFormat,a=r(2522),o=r(53522);function s(t){return{line:{color:n({},o.line.color,{dflt:t}),width:o.line.width,editType:"style"},fillcolor:o.fillcolor,editType:"style"}}t.exports={xperiod:a.xperiod,xperiod0:a.xperiod0,xperiodalignment:a.xperiodalignment,xhoverformat:i("x"),yhoverformat:i("y"),x:a.x,open:a.open,high:a.high,low:a.low,close:a.close,line:{width:n({},o.line.width,{}),editType:"style"},increasing:s(a.increasing.line.color.dflt),decreasing:s(a.decreasing.line.color.dflt),text:a.text,hovertext:a.hovertext,whiskerwidth:n({},o.whiskerwidth,{dflt:0}),hoverlabel:a.hoverlabel}},41197:function(t,e,r){"use strict";var n=r(71828),i=r(89298),a=r(42973),o=r(3485).calcCommon;function s(t,e,r,n){return{min:r,q1:Math.min(t,n),med:n,q3:Math.max(t,n),max:e}}t.exports=function(t,e){var r=t._fullLayout,l=i.getFromId(t,e.xaxis),u=i.getFromId(t,e.yaxis),c=l.makeCalcdata(e,"x"),f=a(e,l,"x",c).vals,h=o(t,e,c,f,u,s);return h.length?(n.extendFlat(h[0].t,{num:r._numBoxes,dPos:n.distinctVals(f).minDiff/2,posLetter:"x",valLetter:"y"}),r._numBoxes++,h):[{t:{empty:!0}}]}},1026:function(t,e,r){"use strict";var n=r(71828),i=r(7901),a=r(14555),o=r(73927),s=r(75343);function l(t,e,r,n){var a=r(n+".line.color");r(n+".line.width",e.line.width),r(n+".fillcolor",i.addOpacity(a,.5))}t.exports=function(t,e,r,i){function u(r,i){return n.coerce(t,e,s,r,i)}a(t,e,u,i)?(o(t,e,i,u,{x:!0}),u("xhoverformat"),u("yhoverformat"),u("line.width"),l(0,e,u,"increasing"),l(0,e,u,"decreasing"),u("text"),u("hovertext"),u("whiskerwidth"),i._requestRangeslider[e.xaxis]=!0):e.visible=!1}},91815:function(t,e,r){"use strict";t.exports={moduleType:"trace",name:"candlestick",basePlotModule:r(93612),categories:["cartesian","svg","showLegend","candlestick","boxLayout"],meta:{},attributes:r(75343),layoutAttributes:r(40094),supplyLayoutDefaults:r(4199).supplyLayoutDefaults,crossTraceCalc:r(37188).crossTraceCalc,supplyDefaults:r(1026),calc:r(41197),plot:r(86047).plot,layerName:"boxlayer",style:r(58063).style,hoverPoints:r(66449).hoverPoints,selectPoints:r(67324)}},13145:function(t,e,r){"use strict";var n=r(11500),i=r(44467);t.exports=function(t,e,r,a,o){a("a")||(a("da"),a("a0")),a("b")||(a("db"),a("b0")),function(t,e,r,a){["aaxis","baxis"].forEach((function(o){var s=o.charAt(0),l=t[o]||{},u=i.newContainer(e,o),c={noTicklabelstep:!0,tickfont:"x",id:s+"axis",letter:s,font:e.font,name:o,data:t[s],calendar:e.calendar,dfltColor:a,bgColor:r.paper_bgcolor,autotypenumbersDflt:r.autotypenumbers,fullLayout:r};n(l,u,c),u._categories=u._categories||[],t[o]||"-"===l.type||(t[o]={type:l.type})}))}(t,e,r,o)}},402:function(t,e,r){"use strict";var n=r(71828).isArrayOrTypedArray;function i(t,e){if(!n(t)||e>=10)return null;for(var r=1/0,a=-1/0,o=t.length,s=0;s<o;s++){var l=t[s];if(n(l)){var u=i(l,e+1);u&&(r=Math.min(u[0],r),a=Math.max(u[1],a))}else r=Math.min(l,r),a=Math.max(l,a)}return[r,a]}t.exports=function(t){return i(t,0)}},99798:function(t,e,r){"use strict";var n=r(41940),i=r(1928),a=r(22399),o=n({editType:"calc"});o.family.dflt='"Open Sans", verdana, arial, sans-serif',o.size.dflt=12,o.color.dflt=a.defaultLine,t.exports={carpet:{valType:"string",editType:"calc"},x:{valType:"data_array",editType:"calc+clearAxisTypes"},y:{valType:"data_array",editType:"calc+clearAxisTypes"},a:{valType:"data_array",editType:"calc"},a0:{valType:"number",dflt:0,editType:"calc"},da:{valType:"number",dflt:1,editType:"calc"},b:{valType:"data_array",editType:"calc"},b0:{valType:"number",dflt:0,editType:"calc"},db:{valType:"number",dflt:1,editType:"calc"},cheaterslope:{valType:"number",dflt:1,editType:"calc"},aaxis:i,baxis:i,font:o,color:{valType:"color",dflt:a.defaultLine,editType:"plot"},transforms:void 0}},4536:function(t,e,r){"use strict";var n=r(71828).isArrayOrTypedArray;t.exports=function(t,e,r,i){var a,o,s,l,u,c,f,h,p,d,v,g,y,m=n(r)?"a":"b",x=("a"===m?t.aaxis:t.baxis).smoothing,b="a"===m?t.a2i:t.b2j,_="a"===m?r:i,w="a"===m?i:r,T="a"===m?e.a.length:e.b.length,k="a"===m?e.b.length:e.a.length,A=Math.floor("a"===m?t.b2j(w):t.a2i(w)),M="a"===m?function(e){return t.evalxy([],e,A)}:function(e){return t.evalxy([],A,e)};x&&(s=Math.max(0,Math.min(k-2,A)),l=A-s,o="a"===m?function(e,r){return t.dxydi([],e,s,r,l)}:function(e,r){return t.dxydj([],s,e,l,r)});var S=b(_[0]),E=b(_[1]),L=S<E?1:-1,C=1e-8*(E-S),P=L>0?Math.floor:Math.ceil,O=L>0?Math.ceil:Math.floor,I=L>0?Math.min:Math.max,D=L>0?Math.max:Math.min,z=P(S+C),R=O(E-C),F=[[f=M(S)]];for(a=z;a*L<R*L;a+=L)u=[],v=D(S,a),y=(g=I(E,a+L))-v,c=Math.max(0,Math.min(T-2,Math.floor(.5*(v+g)))),h=M(g),x&&(p=o(c,v-c),d=o(c,g-c),u.push([f[0]+p[0]/3*y,f[1]+p[1]/3*y]),u.push([h[0]-d[0]/3*y,h[1]-d[1]/3*y])),u.push(h),F.push(u),f=h;return F}},1928:function(t,e,r){"use strict";var n=r(41940),i=r(22399),a=r(13838),o=r(12663).descriptionWithDates,s=r(30962).overrideAll,l=r(79952).P,u=r(1426).extendFlat;t.exports={color:{valType:"color",editType:"calc"},smoothing:{valType:"number",dflt:1,min:0,max:1.3,editType:"calc"},title:{text:{valType:"string",dflt:"",editType:"calc"},font:n({editType:"calc"}),offset:{valType:"number",dflt:10,editType:"calc"},editType:"calc"},type:{valType:"enumerated",values:["-","linear","date","category"],dflt:"-",editType:"calc"},autotypenumbers:a.autotypenumbers,autorange:{valType:"enumerated",values:[!0,!1,"reversed"],dflt:!0,editType:"calc"},rangemode:{valType:"enumerated",values:["normal","tozero","nonnegative"],dflt:"normal",editType:"calc"},range:{valType:"info_array",editType:"calc",items:[{valType:"any",editType:"calc"},{valType:"any",editType:"calc"}]},fixedrange:{valType:"boolean",dflt:!1,editType:"calc"},cheatertype:{valType:"enumerated",values:["index","value"],dflt:"value",editType:"calc"},tickmode:{valType:"enumerated",values:["linear","array"],dflt:"array",editType:"calc"},nticks:{valType:"integer",min:0,dflt:0,editType:"calc"},tickvals:{valType:"data_array",editType:"calc"},ticktext:{valType:"data_array",editType:"calc"},showticklabels:{valType:"enumerated",values:["start","end","both","none"],dflt:"start",editType:"calc"},tickfont:n({editType:"calc"}),tickangle:{valType:"angle",dflt:"auto",editType:"calc"},tickprefix:{valType:"string",dflt:"",editType:"calc"},showtickprefix:{valType:"enumerated",values:["all","first","last","none"],dflt:"all",editType:"calc"},ticksuffix:{valType:"string",dflt:"",editType:"calc"},showticksuffix:{valType:"enumerated",values:["all","first","last","none"],dflt:"all",editType:"calc"},showexponent:{valType:"enumerated",values:["all","first","last","none"],dflt:"all",editType:"calc"},exponentformat:{valType:"enumerated",values:["none","e","E","power","SI","B"],dflt:"B",editType:"calc"},minexponent:{valType:"number",dflt:3,min:0,editType:"calc"},separatethousands:{valType:"boolean",dflt:!1,editType:"calc"},tickformat:{valType:"string",dflt:"",editType:"calc",description:o("tick label")},tickformatstops:s(a.tickformatstops,"calc","from-root"),categoryorder:{valType:"enumerated",values:["trace","category ascending","category descending","array"],dflt:"trace",editType:"calc"},categoryarray:{valType:"data_array",editType:"calc"},labelpadding:{valType:"integer",dflt:10,editType:"calc"},labelprefix:{valType:"string",editType:"calc"},labelsuffix:{valType:"string",dflt:"",editType:"calc"},showline:{valType:"boolean",dflt:!1,editType:"calc"},linecolor:{valType:"color",dflt:i.defaultLine,editType:"calc"},linewidth:{valType:"number",min:0,dflt:1,editType:"calc"},gridcolor:{valType:"color",editType:"calc"},gridwidth:{valType:"number",min:0,dflt:1,editType:"calc"},griddash:u({},l,{editType:"calc"}),showgrid:{valType:"boolean",dflt:!0,editType:"calc"},minorgridcount:{valType:"integer",min:0,dflt:0,editType:"calc"},minorgridwidth:{valType:"number",min:0,dflt:1,editType:"calc"},minorgriddash:u({},l,{editType:"calc"}),minorgridcolor:{valType:"color",dflt:i.lightLine,editType:"calc"},startline:{valType:"boolean",editType:"calc"},startlinecolor:{valType:"color",editType:"calc"},startlinewidth:{valType:"number",dflt:1,editType:"calc"},endline:{valType:"boolean",editType:"calc"},endlinewidth:{valType:"number",dflt:1,editType:"calc"},endlinecolor:{valType:"color",editType:"calc"},tick0:{valType:"number",min:0,dflt:0,editType:"calc"},dtick:{valType:"number",min:0,dflt:1,editType:"calc"},arraytick0:{valType:"integer",min:0,dflt:0,editType:"calc"},arraydtick:{valType:"integer",min:1,dflt:1,editType:"calc"},_deprecated:{title:{valType:"string",editType:"calc"},titlefont:n({editType:"calc"}),titleoffset:{valType:"number",dflt:10,editType:"calc"}},editType:"calc"}},11500:function(t,e,r){"use strict";var n=r(99798),i=r(7901).addOpacity,a=r(73972),o=r(71828),s=r(26218),l=r(96115),u=r(89426),c=r(15258),f=r(21994),h=r(4322);t.exports=function(t,e,r){var p=r.letter,d=r.font||{},v=n[p+"axis"];function g(r,n){return o.coerce(t,e,v,r,n)}function y(r,n){return o.coerce2(t,e,v,r,n)}r.name&&(e._name=r.name,e._id=r.name),g("autotypenumbers",r.autotypenumbersDflt);var m=g("type");"-"===m&&(r.data&&function(t,e){if("-"===t.type){var r=t._id.charAt(0),n=t[r+"calendar"];t.type=h(e,n,{autotypenumbers:t.autotypenumbers})}}(e,r.data),"-"===e.type?e.type="linear":m=t.type=e.type),g("smoothing"),g("cheatertype"),g("showticklabels"),g("labelprefix",p+" = "),g("labelsuffix"),g("showtickprefix"),g("showticksuffix"),g("separatethousands"),g("tickformat"),g("exponentformat"),g("minexponent"),g("showexponent"),g("categoryorder"),g("tickmode"),g("tickvals"),g("ticktext"),g("tick0"),g("dtick"),"array"===e.tickmode&&(g("arraytick0"),g("arraydtick")),g("labelpadding"),e._hovertitle=p,"date"===m&&a.getComponentMethod("calendars","handleDefaults")(t,e,"calendar",r.calendar),f(e,r.fullLayout),e.c2p=o.identity;var x=g("color",r.dfltColor),b=x===t.color?x:d.color;g("title.text")&&(o.coerceFont(g,"title.font",{family:d.family,size:o.bigFont(d.size),color:b}),g("title.offset")),g("tickangle"),g("autorange",!e.isValidRange(t.range))&&g("rangemode"),g("range"),e.cleanRange(),g("fixedrange"),s(t,e,g,m),u(t,e,g,m,r),l(t,e,g,m,r),c(t,e,g,{data:r.data,dataAttr:p});var _=y("gridcolor",i(x,.3)),w=y("gridwidth"),T=y("griddash"),k=g("showgrid");k||(delete e.gridcolor,delete e.gridwidth,delete e.griddash);var A=y("startlinecolor",x),M=y("startlinewidth",w);g("startline",e.showgrid||!!A||!!M)||(delete e.startlinecolor,delete e.startlinewidth);var S=y("endlinecolor",x),E=y("endlinewidth",w);return g("endline",e.showgrid||!!S||!!E)||(delete e.endlinecolor,delete e.endlinewidth),k?(g("minorgridcount"),g("minorgridwidth",w),g("minorgriddash",T),g("minorgridcolor",i(_,.06)),e.minorgridcount||(delete e.minorgridwidth,delete e.minorgriddash,delete e.minorgridcolor)):(delete e.gridcolor,delete e.gridwidth,delete e.griddash),"none"===e.showticklabels&&(delete e.tickfont,delete e.tickangle,delete e.showexponent,delete e.exponentformat,delete e.minexponent,delete e.tickformat,delete e.showticksuffix,delete e.showtickprefix),e.showticksuffix||delete e.ticksuffix,e.showtickprefix||delete e.tickprefix,g("tickmode"),e}},25281:function(t,e,r){"use strict";var n=r(89298),i=r(71828).isArray1D,a=r(53824),o=r(402),s=r(20347),l=r(83311),u=r(44807),c=r(4742),f=r(72505),h=r(68296),p=r(11435);t.exports=function(t,e){var r=n.getFromId(t,e.xaxis),d=n.getFromId(t,e.yaxis),v=e.aaxis,g=e.baxis,y=e.x,m=e.y,x=[];y&&i(y)&&x.push("x"),m&&i(m)&&x.push("y"),x.length&&h(e,v,g,"a","b",x);var b=e._a=e._a||e.a,_=e._b=e._b||e.b;y=e._x||e.x,m=e._y||e.y;var w={};if(e._cheater){var T="index"===v.cheatertype?b.length:b,k="index"===g.cheatertype?_.length:_;y=a(T,k,e.cheaterslope)}e._x=y=c(y),e._y=m=c(m),f(y,b,_),f(m,b,_),p(e),e.setScale();var A=o(y),M=o(m),S=.5*(A[1]-A[0]),E=.5*(A[1]+A[0]),L=.5*(M[1]-M[0]),C=.5*(M[1]+M[0]),P=1.3;return A=[E-S*P,E+S*P],M=[C-L*P,C+L*P],e._extremes[r._id]=n.findExtremes(r,A,{padded:!0}),e._extremes[d._id]=n.findExtremes(d,M,{padded:!0}),s(e,"a","b"),s(e,"b","a"),l(e,v),l(e,g),w.clipsegments=u(e._xctrl,e._yctrl,v,g),w.x=y,w.y=m,w.a=b,w.b=_,[w]}},44807:function(t){"use strict";t.exports=function(t,e,r,n){var i,a,o,s=[],l=!!r.smoothing,u=!!n.smoothing,c=t[0].length-1,f=t.length-1;for(i=0,a=[],o=[];i<=c;i++)a[i]=t[0][i],o[i]=e[0][i];for(s.push({x:a,y:o,bicubic:l}),i=0,a=[],o=[];i<=f;i++)a[i]=t[i][c],o[i]=e[i][c];for(s.push({x:a,y:o,bicubic:u}),i=c,a=[],o=[];i>=0;i--)a[c-i]=t[f][i],o[c-i]=e[f][i];for(s.push({x:a,y:o,bicubic:l}),i=f,a=[],o=[];i>=0;i--)a[f-i]=t[i][0],o[f-i]=e[i][0];return s.push({x:a,y:o,bicubic:u}),s}},20347:function(t,e,r){"use strict";var n=r(89298),i=r(1426).extendFlat;t.exports=function(t,e,r){var a,o,s,l,u,c,f,h,p,d,v,g,y,m,x=t["_"+e],b=t[e+"axis"],_=b._gridlines=[],w=b._minorgridlines=[],T=b._boundarylines=[],k=t["_"+r],A=t[r+"axis"];"array"===b.tickmode&&(b.tickvals=x.slice());var M=t._xctrl,S=t._yctrl,E=M[0].length,L=M.length,C=t._a.length,P=t._b.length;n.prepTicks(b),"array"===b.tickmode&&delete b.tickvals;var O=b.smoothing?3:1;function I(n){var i,a,o,s,l,u,c,f,p,d,v,g,y=[],m=[],x={};if("b"===e)for(a=t.b2j(n),o=Math.floor(Math.max(0,Math.min(P-2,a))),s=a-o,x.length=P,x.crossLength=C,x.xy=function(e){return t.evalxy([],e,a)},x.dxy=function(e,r){return t.dxydi([],e,o,r,s)},i=0;i<C;i++)u=Math.min(C-2,i),c=i-u,f=t.evalxy([],i,a),A.smoothing&&i>0&&(p=t.dxydi([],i-1,o,0,s),y.push(l[0]+p[0]/3),m.push(l[1]+p[1]/3),d=t.dxydi([],i-1,o,1,s),y.push(f[0]-d[0]/3),m.push(f[1]-d[1]/3)),y.push(f[0]),m.push(f[1]),l=f;else for(i=t.a2i(n),u=Math.floor(Math.max(0,Math.min(C-2,i))),c=i-u,x.length=C,x.crossLength=P,x.xy=function(e){return t.evalxy([],i,e)},x.dxy=function(e,r){return t.dxydj([],u,e,c,r)},a=0;a<P;a++)o=Math.min(P-2,a),s=a-o,f=t.evalxy([],i,a),A.smoothing&&a>0&&(v=t.dxydj([],u,a-1,c,0),y.push(l[0]+v[0]/3),m.push(l[1]+v[1]/3),g=t.dxydj([],u,a-1,c,1),y.push(f[0]-g[0]/3),m.push(f[1]-g[1]/3)),y.push(f[0]),m.push(f[1]),l=f;return x.axisLetter=e,x.axis=b,x.crossAxis=A,x.value=n,x.constvar=r,x.index=h,x.x=y,x.y=m,x.smoothing=A.smoothing,x}function D(n){var i,a,o,s,l,u=[],c=[],f={};if(f.length=x.length,f.crossLength=k.length,"b"===e)for(o=Math.max(0,Math.min(P-2,n)),l=Math.min(1,Math.max(0,n-o)),f.xy=function(e){return t.evalxy([],e,n)},f.dxy=function(e,r){return t.dxydi([],e,o,r,l)},i=0;i<E;i++)u[i]=M[n*O][i],c[i]=S[n*O][i];else for(a=Math.max(0,Math.min(C-2,n)),s=Math.min(1,Math.max(0,n-a)),f.xy=function(e){return t.evalxy([],n,e)},f.dxy=function(e,r){return t.dxydj([],a,e,s,r)},i=0;i<L;i++)u[i]=M[i][n*O],c[i]=S[i][n*O];return f.axisLetter=e,f.axis=b,f.crossAxis=A,f.value=x[n],f.constvar=r,f.index=n,f.x=u,f.y=c,f.smoothing=A.smoothing,f}if("array"===b.tickmode){for(l=5e-15,c=(u=[Math.floor((x.length-1-b.arraytick0)/b.arraydtick*(1+l)),Math.ceil(-b.arraytick0/b.arraydtick/(1+l))].sort((function(t,e){return t-e})))[0]-1,f=u[1]+1,h=c;h<f;h++)(o=b.arraytick0+b.arraydtick*h)<0||o>x.length-1||_.push(i(D(o),{color:b.gridcolor,width:b.gridwidth,dash:b.griddash}));for(h=c;h<f;h++)if(s=b.arraytick0+b.arraydtick*h,v=Math.min(s+b.arraydtick,x.length-1),!(s<0||s>x.length-1||v<0||v>x.length-1))for(g=x[s],y=x[v],a=0;a<b.minorgridcount;a++)(m=v-s)<=0||(d=g+(y-g)*(a+1)/(b.minorgridcount+1)*(b.arraydtick/m))<x[0]||d>x[x.length-1]||w.push(i(I(d),{color:b.minorgridcolor,width:b.minorgridwidth,dash:b.minorgriddash}));b.startline&&T.push(i(D(0),{color:b.startlinecolor,width:b.startlinewidth})),b.endline&&T.push(i(D(x.length-1),{color:b.endlinecolor,width:b.endlinewidth}))}else{for(l=5e-15,c=(u=[Math.floor((x[x.length-1]-b.tick0)/b.dtick*(1+l)),Math.ceil((x[0]-b.tick0)/b.dtick/(1+l))].sort((function(t,e){return t-e})))[0],f=u[1],h=c;h<=f;h++)p=b.tick0+b.dtick*h,_.push(i(I(p),{color:b.gridcolor,width:b.gridwidth,dash:b.griddash}));for(h=c-1;h<f+1;h++)for(p=b.tick0+b.dtick*h,a=0;a<b.minorgridcount;a++)(d=p+b.dtick*(a+1)/(b.minorgridcount+1))<x[0]||d>x[x.length-1]||w.push(i(I(d),{color:b.minorgridcolor,width:b.minorgridwidth,dash:b.minorgriddash}));b.startline&&T.push(i(I(x[0]),{color:b.startlinecolor,width:b.startlinewidth})),b.endline&&T.push(i(I(x[x.length-1]),{color:b.endlinecolor,width:b.endlinewidth}))}}},83311:function(t,e,r){"use strict";var n=r(89298),i=r(1426).extendFlat;t.exports=function(t,e){var r,a,o,s=e._labels=[],l=e._gridlines;for(r=0;r<l.length;r++)o=l[r],-1!==["start","both"].indexOf(e.showticklabels)&&(a=n.tickText(e,o.value),i(a,{prefix:void 0,suffix:void 0,endAnchor:!0,xy:o.xy(0),dxy:o.dxy(0,0),axis:o.axis,length:o.crossAxis.length,font:o.axis.tickfont,isFirst:0===r,isLast:r===l.length-1}),s.push(a)),-1!==["end","both"].indexOf(e.showticklabels)&&(a=n.tickText(e,o.value),i(a,{endAnchor:!1,xy:o.xy(o.crossLength-1),dxy:o.dxy(o.crossLength-2,1),axis:o.axis,length:o.crossAxis.length,font:o.axis.tickfont,isFirst:0===r,isLast:r===l.length-1}),s.push(a))}},42048:function(t){"use strict";t.exports=function(t,e,r,n){var i=t[0]-e[0],a=t[1]-e[1],o=r[0]-e[0],s=r[1]-e[1],l=Math.pow(i*i+a*a,.25),u=Math.pow(o*o+s*s,.25),c=(u*u*i-l*l*o)*n,f=(u*u*a-l*l*s)*n,h=u*(l+u)*3,p=l*(l+u)*3;return[[e[0]+(h&&c/h),e[1]+(h&&f/h)],[e[0]-(p&&c/p),e[1]-(p&&f/p)]]}},53824:function(t,e,r){"use strict";var n=r(71828).isArrayOrTypedArray;t.exports=function(t,e,r){var i,a,o,s,l,u,c=[],f=n(t)?t.length:t,h=n(e)?e.length:e,p=n(t)?t:null,d=n(e)?e:null;p&&(o=(p.length-1)/(p[p.length-1]-p[0])/(f-1)),d&&(s=(d.length-1)/(d[d.length-1]-d[0])/(h-1));var v=1/0,g=-1/0;for(a=0;a<h;a++)for(c[a]=[],l=d?(d[a]-d[0])*s:a/(h-1),i=0;i<f;i++)u=(p?(p[i]-p[0])*o:i/(f-1))-l*r,v=Math.min(u,v),g=Math.max(u,g),c[a][i]=u;var y=1/(g-v),m=-v*y;for(a=0;a<h;a++)for(i=0;i<f;i++)c[a][i]=y*c[a][i]+m;return c}},45664:function(t,e,r){"use strict";var n=r(42048),i=r(71828).ensureArray;function a(t,e,r){var n=-.5*r[0]+1.5*e[0],i=-.5*r[1]+1.5*e[1];return[(2*n+t[0])/3,(2*i+t[1])/3]}t.exports=function(t,e,r,o,s,l){var u,c,f,h,p,d,v,g,y,m,x=r[0].length,b=r.length,_=s?3*x-2:x,w=l?3*b-2:b;for(t=i(t,w),e=i(e,w),f=0;f<w;f++)t[f]=i(t[f],_),e[f]=i(e[f],_);for(c=0,h=0;c<b;c++,h+=l?3:1)for(p=t[h],d=e[h],v=r[c],g=o[c],u=0,f=0;u<x;u++,f+=s?3:1)p[f]=v[u],d[f]=g[u];if(s)for(c=0,h=0;c<b;c++,h+=l?3:1){for(u=1,f=3;u<x-1;u++,f+=3)y=n([r[c][u-1],o[c][u-1]],[r[c][u],o[c][u]],[r[c][u+1],o[c][u+1]],s),t[h][f-1]=y[0][0],e[h][f-1]=y[0][1],t[h][f+1]=y[1][0],e[h][f+1]=y[1][1];m=a([t[h][0],e[h][0]],[t[h][2],e[h][2]],[t[h][3],e[h][3]]),t[h][1]=m[0],e[h][1]=m[1],m=a([t[h][_-1],e[h][_-1]],[t[h][_-3],e[h][_-3]],[t[h][_-4],e[h][_-4]]),t[h][_-2]=m[0],e[h][_-2]=m[1]}if(l)for(f=0;f<_;f++){for(h=3;h<w-3;h+=3)y=n([t[h-3][f],e[h-3][f]],[t[h][f],e[h][f]],[t[h+3][f],e[h+3][f]],l),t[h-1][f]=y[0][0],e[h-1][f]=y[0][1],t[h+1][f]=y[1][0],e[h+1][f]=y[1][1];m=a([t[0][f],e[0][f]],[t[2][f],e[2][f]],[t[3][f],e[3][f]]),t[1][f]=m[0],e[1][f]=m[1],m=a([t[w-1][f],e[w-1][f]],[t[w-3][f],e[w-3][f]],[t[w-4][f],e[w-4][f]]),t[w-2][f]=m[0],e[w-2][f]=m[1]}if(s&&l)for(h=1;h<w;h+=(h+1)%3==0?2:1){for(f=3;f<_-3;f+=3)y=n([t[h][f-3],e[h][f-3]],[t[h][f],e[h][f]],[t[h][f+3],e[h][f+3]],s),t[h][f-1]=.5*(t[h][f-1]+y[0][0]),e[h][f-1]=.5*(e[h][f-1]+y[0][1]),t[h][f+1]=.5*(t[h][f+1]+y[1][0]),e[h][f+1]=.5*(e[h][f+1]+y[1][1]);m=a([t[h][0],e[h][0]],[t[h][2],e[h][2]],[t[h][3],e[h][3]]),t[h][1]=.5*(t[h][1]+m[0]),e[h][1]=.5*(e[h][1]+m[1]),m=a([t[h][_-1],e[h][_-1]],[t[h][_-3],e[h][_-3]],[t[h][_-4],e[h][_-4]]),t[h][_-2]=.5*(t[h][_-2]+m[0]),e[h][_-2]=.5*(e[h][_-2]+m[1])}return[t,e]}},35509:function(t){"use strict";t.exports={RELATIVE_CULL_TOLERANCE:1e-6}},54495:function(t){"use strict";t.exports=function(t,e,r){return e&&r?function(e,r,n,i,a){var o,s,l,u,c,f;e||(e=[]),r*=3,n*=3;var h=i*i,p=1-i,d=p*p,v=p*i*2,g=-3*d,y=3*(d-v),m=3*(v-h),x=3*h,b=a*a,_=b*a,w=1-a,T=w*w,k=T*w;for(f=0;f<t.length;f++)o=g*(c=t[f])[n][r]+y*c[n][r+1]+m*c[n][r+2]+x*c[n][r+3],s=g*c[n+1][r]+y*c[n+1][r+1]+m*c[n+1][r+2]+x*c[n+1][r+3],l=g*c[n+2][r]+y*c[n+2][r+1]+m*c[n+2][r+2]+x*c[n+2][r+3],u=g*c[n+3][r]+y*c[n+3][r+1]+m*c[n+3][r+2]+x*c[n+3][r+3],e[f]=k*o+3*(T*a*s+w*b*l)+_*u;return e}:e?function(e,r,n,i,a){var o,s,l,u;e||(e=[]),r*=3;var c=i*i,f=1-i,h=f*f,p=f*i*2,d=-3*h,v=3*(h-p),g=3*(p-c),y=3*c,m=1-a;for(l=0;l<t.length;l++)o=d*(u=t[l])[n][r]+v*u[n][r+1]+g*u[n][r+2]+y*u[n][r+3],s=d*u[n+1][r]+v*u[n+1][r+1]+g*u[n+1][r+2]+y*u[n+1][r+3],e[l]=m*o+a*s;return e}:r?function(e,r,n,i,a){var o,s,l,u,c,f;e||(e=[]),n*=3;var h=a*a,p=h*a,d=1-a,v=d*d,g=v*d;for(c=0;c<t.length;c++)o=(f=t[c])[n][r+1]-f[n][r],s=f[n+1][r+1]-f[n+1][r],l=f[n+2][r+1]-f[n+2][r],u=f[n+3][r+1]-f[n+3][r],e[c]=g*o+3*(v*a*s+d*h*l)+p*u;return e}:function(e,r,n,i,a){var o,s,l,u;e||(e=[]);var c=1-a;for(l=0;l<t.length;l++)o=(u=t[l])[n][r+1]-u[n][r],s=u[n+1][r+1]-u[n+1][r],e[l]=c*o+a*s;return e}}},73057:function(t){"use strict";t.exports=function(t,e,r){return e&&r?function(e,r,n,i,a){var o,s,l,u,c,f;e||(e=[]),r*=3,n*=3;var h=i*i,p=h*i,d=1-i,v=d*d,g=v*d,y=a*a,m=1-a,x=m*m,b=m*a*2,_=-3*x,w=3*(x-b),T=3*(b-y),k=3*y;for(f=0;f<t.length;f++)o=_*(c=t[f])[n][r]+w*c[n+1][r]+T*c[n+2][r]+k*c[n+3][r],s=_*c[n][r+1]+w*c[n+1][r+1]+T*c[n+2][r+1]+k*c[n+3][r+1],l=_*c[n][r+2]+w*c[n+1][r+2]+T*c[n+2][r+2]+k*c[n+3][r+2],u=_*c[n][r+3]+w*c[n+1][r+3]+T*c[n+2][r+3]+k*c[n+3][r+3],e[f]=g*o+3*(v*i*s+d*h*l)+p*u;return e}:e?function(e,r,n,i,a){var o,s,l,u,c,f;e||(e=[]),r*=3;var h=a*a,p=h*a,d=1-a,v=d*d,g=v*d;for(c=0;c<t.length;c++)o=(f=t[c])[n+1][r]-f[n][r],s=f[n+1][r+1]-f[n][r+1],l=f[n+1][r+2]-f[n][r+2],u=f[n+1][r+3]-f[n][r+3],e[c]=g*o+3*(v*a*s+d*h*l)+p*u;return e}:r?function(e,r,n,i,a){var o,s,l,u;e||(e=[]),n*=3;var c=1-i,f=a*a,h=1-a,p=h*h,d=h*a*2,v=-3*p,g=3*(p-d),y=3*(d-f),m=3*f;for(l=0;l<t.length;l++)o=v*(u=t[l])[n][r]+g*u[n+1][r]+y*u[n+2][r]+m*u[n+3][r],s=v*u[n][r+1]+g*u[n+1][r+1]+y*u[n+2][r+1]+m*u[n+3][r+1],e[l]=c*o+i*s;return e}:function(e,r,n,i,a){var o,s,l,u;e||(e=[]);var c=1-i;for(l=0;l<t.length;l++)o=(u=t[l])[n+1][r]-u[n][r],s=u[n+1][r+1]-u[n][r+1],e[l]=c*o+i*s;return e}}},20349:function(t){"use strict";t.exports=function(t,e,r,n,i){var a=e-2,o=r-2;return n&&i?function(e,r,n){var i,s,l,u,c,f;e||(e=[]);var h=Math.max(0,Math.min(Math.floor(r),a)),p=Math.max(0,Math.min(Math.floor(n),o)),d=Math.max(0,Math.min(1,r-h)),v=Math.max(0,Math.min(1,n-p));h*=3,p*=3;var g=d*d,y=g*d,m=1-d,x=m*m,b=x*m,_=v*v,w=_*v,T=1-v,k=T*T,A=k*T;for(f=0;f<t.length;f++)i=b*(c=t[f])[p][h]+3*(x*d*c[p][h+1]+m*g*c[p][h+2])+y*c[p][h+3],s=b*c[p+1][h]+3*(x*d*c[p+1][h+1]+m*g*c[p+1][h+2])+y*c[p+1][h+3],l=b*c[p+2][h]+3*(x*d*c[p+2][h+1]+m*g*c[p+2][h+2])+y*c[p+2][h+3],u=b*c[p+3][h]+3*(x*d*c[p+3][h+1]+m*g*c[p+3][h+2])+y*c[p+3][h+3],e[f]=A*i+3*(k*v*s+T*_*l)+w*u;return e}:n?function(e,r,n){e||(e=[]);var i,s,l,u,c,f,h=Math.max(0,Math.min(Math.floor(r),a)),p=Math.max(0,Math.min(Math.floor(n),o)),d=Math.max(0,Math.min(1,r-h)),v=Math.max(0,Math.min(1,n-p));h*=3;var g=d*d,y=g*d,m=1-d,x=m*m,b=x*m,_=1-v;for(c=0;c<t.length;c++)i=_*(f=t[c])[p][h]+v*f[p+1][h],s=_*f[p][h+1]+v*f[p+1][h+1],l=_*f[p][h+2]+v*f[p+1][h+1],u=_*f[p][h+3]+v*f[p+1][h+1],e[c]=b*i+3*(x*d*s+m*g*l)+y*u;return e}:i?function(e,r,n){e||(e=[]);var i,s,l,u,c,f,h=Math.max(0,Math.min(Math.floor(r),a)),p=Math.max(0,Math.min(Math.floor(n),o)),d=Math.max(0,Math.min(1,r-h)),v=Math.max(0,Math.min(1,n-p));p*=3;var g=v*v,y=g*v,m=1-v,x=m*m,b=x*m,_=1-d;for(c=0;c<t.length;c++)i=_*(f=t[c])[p][h]+d*f[p][h+1],s=_*f[p+1][h]+d*f[p+1][h+1],l=_*f[p+2][h]+d*f[p+2][h+1],u=_*f[p+3][h]+d*f[p+3][h+1],e[c]=b*i+3*(x*v*s+m*g*l)+y*u;return e}:function(e,r,n){e||(e=[]);var i,s,l,u,c=Math.max(0,Math.min(Math.floor(r),a)),f=Math.max(0,Math.min(Math.floor(n),o)),h=Math.max(0,Math.min(1,r-c)),p=Math.max(0,Math.min(1,n-f)),d=1-p,v=1-h;for(l=0;l<t.length;l++)i=v*(u=t[l])[f][c]+h*u[f][c+1],s=v*u[f+1][c]+h*u[f+1][c+1],e[l]=d*i+p*s;return e}}},92087:function(t,e,r){"use strict";var n=r(71828),i=r(19237),a=r(13145),o=r(99798),s=r(22399);t.exports=function(t,e,r,l){function u(r,i){return n.coerce(t,e,o,r,i)}e._clipPathId="clip"+e.uid+"carpet";var c=u("color",s.defaultLine);n.coerceFont(u,"font"),u("carpet"),a(t,e,l,u,c),e.a&&e.b?(e.a.length<3&&(e.aaxis.smoothing=0),e.b.length<3&&(e.baxis.smoothing=0),i(t,e,u)||(e.visible=!1),e._cheater&&u("cheaterslope")):e.visible=!1}},21462:function(t,e,r){"use strict";t.exports={attributes:r(99798),supplyDefaults:r(92087),plot:r(89740),calc:r(25281),animatable:!0,isContainer:!0,moduleType:"trace",name:"carpet",basePlotModule:r(93612),categories:["cartesian","svg","carpet","carpetAxis","notLegendIsolatable","noMultiCategory","noHover","noSortingByValue"],meta:{}}},22882:function(t){"use strict";t.exports=function(t,e){for(var r,n=t._fullData.length,i=0;i<n;i++){var a=t._fullData[i];if(a.index!==e.index&&"carpet"===a.type&&(r||(r=a),a.carpet===e.carpet))return a}return r}},67961:function(t){"use strict";t.exports=function(t,e,r){if(0===t.length)return"";var n,i=[],a=r?3:1;for(n=0;n<t.length;n+=a)i.push(t[n]+","+e[n]),r&&n<t.length-a&&(i.push("C"),i.push([t[n+1]+","+e[n+1],t[n+2]+","+e[n+2]+" "].join(" ")));return i.join(r?"":"L")}},27669:function(t,e,r){"use strict";var n=r(71828).isArrayOrTypedArray;t.exports=function(t,e,r){var i;for(n(t)?t.length>e.length&&(t=t.slice(0,e.length)):t=[],i=0;i<e.length;i++)t[i]=r(e[i]);return t}},11651:function(t){"use strict";t.exports=function(t,e,r,n,i,a){var o=i[0]*t.dpdx(e),s=i[1]*t.dpdy(r),l=1,u=1;if(a){var c=Math.sqrt(i[0]*i[0]+i[1]*i[1]),f=Math.sqrt(a[0]*a[0]+a[1]*a[1]),h=(i[0]*a[0]+i[1]*a[1])/c/f;u=Math.max(0,h)}var p=180*Math.atan2(s,o)/Math.PI;return p<-90?(p+=180,l=-l):p>90&&(p-=180,l=-l),{angle:p,flip:l,p:t.c2p(n,e,r),offsetMultplier:u}}},89740:function(t,e,r){"use strict";var n=r(39898),i=r(91424),a=r(27669),o=r(67961),s=r(11651),l=r(63893),u=r(71828),c=u.strRotate,f=u.strTranslate,h=r(18783);function p(t,e,r,s,l,u){var c="const-"+l+"-lines",f=r.selectAll("."+c).data(u);f.enter().append("path").classed(c,!0).style("vector-effect","non-scaling-stroke"),f.each((function(r){var s=r,l=s.x,u=s.y,c=a([],l,t.c2p),f=a([],u,e.c2p),h="M"+o(c,f,s.smoothing);n.select(this).attr("d",h).style("stroke-width",s.width).style("stroke",s.color).style("stroke-dasharray",i.dashStyle(s.dash,s.width)).style("fill","none")})),f.exit().remove()}function d(t,e,r,a,o,u,h,p){var d=u.selectAll("text."+p).data(h);d.enter().append("text").classed(p,!0);var v=0,g={};return d.each((function(o,u){var h;if("auto"===o.axis.tickangle)h=s(a,e,r,o.xy,o.dxy);else{var p=(o.axis.tickangle+180)*Math.PI/180;h=s(a,e,r,o.xy,[Math.cos(p),Math.sin(p)])}u||(g={angle:h.angle,flip:h.flip});var d=(o.endAnchor?-1:1)*h.flip,y=n.select(this).attr({"text-anchor":d>0?"start":"end","data-notex":1}).call(i.font,o.font).text(o.text).call(l.convertToTspans,t),m=i.bBox(this);y.attr("transform",f(h.p[0],h.p[1])+c(h.angle)+f(o.axis.labelpadding*d,.3*m.height)),v=Math.max(v,m.width+o.axis.labelpadding)})),d.exit().remove(),g.maxExtent=v,g}t.exports=function(t,e,r,i){var l=e.xaxis,c=e.yaxis,f=t._fullLayout._clips;u.makeTraceGroups(i,r,"trace").each((function(e){var r=n.select(this),i=e[0],h=i.trace,v=h.aaxis,g=h.baxis,m=u.ensureSingle(r,"g","minorlayer"),x=u.ensureSingle(r,"g","majorlayer"),b=u.ensureSingle(r,"g","boundarylayer"),_=u.ensureSingle(r,"g","labellayer");r.style("opacity",h.opacity),p(l,c,x,0,"a",v._gridlines),p(l,c,x,0,"b",g._gridlines),p(l,c,m,0,"a",v._minorgridlines),p(l,c,m,0,"b",g._minorgridlines),p(l,c,b,0,"a-boundary",v._boundarylines),p(l,c,b,0,"b-boundary",g._boundarylines);var w=d(t,l,c,h,0,_,v._labels,"a-label"),T=d(t,l,c,h,0,_,g._labels,"b-label");!function(t,e,r,n,i,a,o,l){var c,f,h,p,d=u.aggNums(Math.min,null,r.a),v=u.aggNums(Math.max,null,r.a),g=u.aggNums(Math.min,null,r.b),m=u.aggNums(Math.max,null,r.b);c=.5*(d+v),f=g,h=r.ab2xy(c,f,!0),p=r.dxyda_rough(c,f),void 0===o.angle&&u.extendFlat(o,s(r,i,a,h,r.dxydb_rough(c,f))),y(t,e,r,0,h,p,r.aaxis,i,a,o,"a-title"),c=d,f=.5*(g+m),h=r.ab2xy(c,f,!0),p=r.dxydb_rough(c,f),void 0===l.angle&&u.extendFlat(l,s(r,i,a,h,r.dxyda_rough(c,f))),y(t,e,r,0,h,p,r.baxis,i,a,l,"b-title")}(t,_,h,0,l,c,w,T),function(t,e,r,n,i){var s,l,c,f,h=r.select("#"+t._clipPathId);h.size()||(h=r.append("clipPath").classed("carpetclip",!0));var p=u.ensureSingle(h,"path","carpetboundary"),d=e.clipsegments,v=[];for(f=0;f<d.length;f++)s=d[f],l=a([],s.x,n.c2p),c=a([],s.y,i.c2p),v.push(o(l,c,s.bicubic));var g="M"+v.join("L")+"Z";h.attr("id",t._clipPathId),p.attr("d",g)}(h,i,f,l,c)}))};var v=h.LINE_SPACING,g=(1-h.MID_SHIFT)/v+1;function y(t,e,r,a,o,u,h,p,d,y,m){var x=[];h.title.text&&x.push(h.title.text);var b=e.selectAll("text."+m).data(x),_=y.maxExtent;b.enter().append("text").classed(m,!0),b.each((function(){var e=s(r,p,d,o,u);-1===["start","both"].indexOf(h.showticklabels)&&(_=0);var a=h.title.font.size;_+=a+h.title.offset;var m=(y.angle+(y.flip<0?180:0)-e.angle+450)%360,x=m>90&&m<270,b=n.select(this);b.text(h.title.text).call(l.convertToTspans,t),x&&(_=(-l.lineCount(b)+g)*v*a-_),b.attr("transform",f(e.p[0],e.p[1])+c(e.angle)+f(0,_)).attr("text-anchor","middle").call(i.font,h.title.font)})),b.exit().remove()}},11435:function(t,e,r){"use strict";var n=r(35509),i=r(65888).findBin,a=r(45664),o=r(20349),s=r(54495),l=r(73057);t.exports=function(t){var e=t._a,r=t._b,u=e.length,c=r.length,f=t.aaxis,h=t.baxis,p=e[0],d=e[u-1],v=r[0],g=r[c-1],y=e[e.length-1]-e[0],m=r[r.length-1]-r[0],x=y*n.RELATIVE_CULL_TOLERANCE,b=m*n.RELATIVE_CULL_TOLERANCE;p-=x,d+=x,v-=b,g+=b,t.isVisible=function(t,e){return t>p&&t<d&&e>v&&e<g},t.isOccluded=function(t,e){return t<p||t>d||e<v||e>g},t.setScale=function(){var e=t._x,r=t._y,n=a(t._xctrl,t._yctrl,e,r,f.smoothing,h.smoothing);t._xctrl=n[0],t._yctrl=n[1],t.evalxy=o([t._xctrl,t._yctrl],u,c,f.smoothing,h.smoothing),t.dxydi=s([t._xctrl,t._yctrl],f.smoothing,h.smoothing),t.dxydj=l([t._xctrl,t._yctrl],f.smoothing,h.smoothing)},t.i2a=function(t){var r=Math.max(0,Math.floor(t[0]),u-2),n=t[0]-r;return(1-n)*e[r]+n*e[r+1]},t.j2b=function(t){var e=Math.max(0,Math.floor(t[1]),u-2),n=t[1]-e;return(1-n)*r[e]+n*r[e+1]},t.ij2ab=function(e){return[t.i2a(e[0]),t.j2b(e[1])]},t.a2i=function(t){var r=Math.max(0,Math.min(i(t,e),u-2)),n=e[r],a=e[r+1];return Math.max(0,Math.min(u-1,r+(t-n)/(a-n)))},t.b2j=function(t){var e=Math.max(0,Math.min(i(t,r),c-2)),n=r[e],a=r[e+1];return Math.max(0,Math.min(c-1,e+(t-n)/(a-n)))},t.ab2ij=function(e){return[t.a2i(e[0]),t.b2j(e[1])]},t.i2c=function(e,r){return t.evalxy([],e,r)},t.ab2xy=function(n,i,a){if(!a&&(n<e[0]||n>e[u-1]|i<r[0]||i>r[c-1]))return[!1,!1];var o=t.a2i(n),s=t.b2j(i),l=t.evalxy([],o,s);if(a){var f,h,p,d,v=0,g=0,y=[];n<e[0]?(f=0,h=0,v=(n-e[0])/(e[1]-e[0])):n>e[u-1]?(f=u-2,h=1,v=(n-e[u-1])/(e[u-1]-e[u-2])):h=o-(f=Math.max(0,Math.min(u-2,Math.floor(o)))),i<r[0]?(p=0,d=0,g=(i-r[0])/(r[1]-r[0])):i>r[c-1]?(p=c-2,d=1,g=(i-r[c-1])/(r[c-1]-r[c-2])):d=s-(p=Math.max(0,Math.min(c-2,Math.floor(s)))),v&&(t.dxydi(y,f,p,h,d),l[0]+=y[0]*v,l[1]+=y[1]*v),g&&(t.dxydj(y,f,p,h,d),l[0]+=y[0]*g,l[1]+=y[1]*g)}return l},t.c2p=function(t,e,r){return[e.c2p(t[0]),r.c2p(t[1])]},t.p2x=function(t,e,r){return[e.p2c(t[0]),r.p2c(t[1])]},t.dadi=function(t){var r=Math.max(0,Math.min(e.length-2,t));return e[r+1]-e[r]},t.dbdj=function(t){var e=Math.max(0,Math.min(r.length-2,t));return r[e+1]-r[e]},t.dxyda=function(e,r,n,i){var a=t.dxydi(null,e,r,n,i),o=t.dadi(e,n);return[a[0]/o,a[1]/o]},t.dxydb=function(e,r,n,i){var a=t.dxydj(null,e,r,n,i),o=t.dbdj(r,i);return[a[0]/o,a[1]/o]},t.dxyda_rough=function(e,r,n){var i=y*(n||.1),a=t.ab2xy(e+i,r,!0),o=t.ab2xy(e-i,r,!0);return[.5*(a[0]-o[0])/i,.5*(a[1]-o[1])/i]},t.dxydb_rough=function(e,r,n){var i=m*(n||.1),a=t.ab2xy(e,r+i,!0),o=t.ab2xy(e,r-i,!0);return[.5*(a[0]-o[0])/i,.5*(a[1]-o[1])/i]},t.dpdx=function(t){return t._m},t.dpdy=function(t){return t._m}}},72505:function(t,e,r){"use strict";var n=r(71828);t.exports=function(t,e,r){var i,a,o,s=[],l=[],u=t[0].length,c=t.length;function f(e,r){var n,i=0,a=0;return e>0&&void 0!==(n=t[r][e-1])&&(a++,i+=n),e<u-1&&void 0!==(n=t[r][e+1])&&(a++,i+=n),r>0&&void 0!==(n=t[r-1][e])&&(a++,i+=n),r<c-1&&void 0!==(n=t[r+1][e])&&(a++,i+=n),i/Math.max(1,a)}var h,p,d,v,g,y,m,x,b,_,w,T=0;for(i=0;i<u;i++)for(a=0;a<c;a++)void 0===t[a][i]&&(s.push(i),l.push(a),t[a][i]=f(i,a)),T=Math.max(T,Math.abs(t[a][i]));if(!s.length)return t;var k=0,A=0,M=s.length;do{for(k=0,o=0;o<M;o++){i=s[o],a=l[o];var S,E,L,C,P,O,I=0,D=0;0===i?(L=e[P=Math.min(u-1,2)],C=e[1],S=t[a][P],D+=(E=t[a][1])+(E-S)*(e[0]-C)/(C-L),I++):i===u-1&&(L=e[P=Math.max(0,u-3)],C=e[u-2],S=t[a][P],D+=(E=t[a][u-2])+(E-S)*(e[u-1]-C)/(C-L),I++),(0===i||i===u-1)&&a>0&&a<c-1&&(h=r[a+1]-r[a],D+=((p=r[a]-r[a-1])*t[a+1][i]+h*t[a-1][i])/(p+h),I++),0===a?(L=r[O=Math.min(c-1,2)],C=r[1],S=t[O][i],D+=(E=t[1][i])+(E-S)*(r[0]-C)/(C-L),I++):a===c-1&&(L=r[O=Math.max(0,c-3)],C=r[c-2],S=t[O][i],D+=(E=t[c-2][i])+(E-S)*(r[c-1]-C)/(C-L),I++),(0===a||a===c-1)&&i>0&&i<u-1&&(h=e[i+1]-e[i],D+=((p=e[i]-e[i-1])*t[a][i+1]+h*t[a][i-1])/(p+h),I++),I?D/=I:(d=e[i+1]-e[i],v=e[i]-e[i-1],x=(g=r[a+1]-r[a])*(y=r[a]-r[a-1])*(g+y),D=((m=d*v*(d+v))*(y*t[a+1][i]+g*t[a-1][i])+x*(v*t[a][i+1]+d*t[a][i-1]))/(x*(v+d)+m*(y+g))),k+=(_=(b=D-t[a][i])/T)*_,w=I?0:.85,t[a][i]+=b*(1+w)}k=Math.sqrt(k)}while(A++<100&&k>1e-5);return n.log("Smoother converged to",k,"after",A,"iterations"),t}},19237:function(t,e,r){"use strict";var n=r(71828).isArray1D;t.exports=function(t,e,r){var i=r("x"),a=i&&i.length,o=r("y"),s=o&&o.length;if(!a&&!s)return!1;if(e._cheater=!i,a&&!n(i)||s&&!n(o))e._length=null;else{var l=a?i.length:1/0;s&&(l=Math.min(l,o.length)),e.a&&e.a.length&&(l=Math.min(l,e.a.length)),e.b&&e.b.length&&(l=Math.min(l,e.b.length)),e._length=l}return!0}},69568:function(t,e,r){"use strict";var n=r(5386).f,i=r(19316),a=r(50693),o=r(9012),s=r(22399).defaultLine,l=r(1426).extendFlat,u=i.marker.line;t.exports=l({locations:{valType:"data_array",editType:"calc"},locationmode:i.locationmode,z:{valType:"data_array",editType:"calc"},geojson:l({},i.geojson,{}),featureidkey:i.featureidkey,text:l({},i.text,{}),hovertext:l({},i.hovertext,{}),marker:{line:{color:l({},u.color,{dflt:s}),width:l({},u.width,{dflt:1}),editType:"calc"},opacity:{valType:"number",arrayOk:!0,min:0,max:1,dflt:1,editType:"style"},editType:"calc"},selected:{marker:{opacity:i.selected.marker.opacity,editType:"plot"},editType:"plot"},unselected:{marker:{opacity:i.unselected.marker.opacity,editType:"plot"},editType:"plot"},hoverinfo:l({},o.hoverinfo,{editType:"calc",flags:["location","z","text","name"]}),hovertemplate:n(),showlegend:l({},o.showlegend,{dflt:!1})},a("",{cLetter:"z",editTypeOverride:"calc"}))},38675:function(t,e,r){"use strict";var n=r(92770),i=r(50606).BADNUM,a=r(78803),o=r(75225),s=r(66279);function l(t){return t&&"string"==typeof t}t.exports=function(t,e){var r,u=e._length,c=new Array(u);r=e.geojson?function(t){return l(t)||n(t)}:l;for(var f=0;f<u;f++){var h=c[f]={},p=e.locations[f],d=e.z[f];r(p)&&n(d)?(h.loc=p,h.z=d):(h.loc=null,h.z=i),h.index=f}return o(c,e),a(t,e,{vals:e.z,containerStr:"",cLetter:"z"}),s(c,e),c}},61869:function(t,e,r){"use strict";var n=r(71828),i=r(1586),a=r(69568);t.exports=function(t,e,r,o){function s(r,i){return n.coerce(t,e,a,r,i)}var l=s("locations"),u=s("z");if(l&&l.length&&n.isArrayOrTypedArray(u)&&u.length){e._length=Math.min(l.length,u.length);var c,f=s("geojson");("string"==typeof f&&""!==f||n.isPlainObject(f))&&(c="geojson-id"),"geojson-id"===s("locationmode",c)&&s("featureidkey"),s("text"),s("hovertext"),s("hovertemplate"),s("marker.line.width")&&s("marker.line.color"),s("marker.opacity"),i(t,e,o,s,{prefix:"",cLetter:"z"}),n.coerceSelectionMarkerOpacity(e,s)}else e.visible=!1}},92069:function(t){"use strict";t.exports=function(t,e,r,n,i){t.location=e.location,t.z=e.z;var a=n[i];return a.fIn&&a.fIn.properties&&(t.properties=a.fIn.properties),t.ct=a.ct,t}},42300:function(t,e,r){"use strict";var n=r(89298),i=r(69568),a=r(71828).fillText;t.exports=function(t,e,r){var o,s,l,u,c=t.cd,f=c[0].trace,h=t.subplot,p=[e,r],d=[e+360,r];for(s=0;s<c.length;s++)if(u=!1,(o=c[s])._polygons){for(l=0;l<o._polygons.length;l++)o._polygons[l].contains(p)&&(u=!u),o._polygons[l].contains(d)&&(u=!u);if(u)break}if(u&&o)return t.x0=t.x1=t.xa.c2p(o.ct),t.y0=t.y1=t.ya.c2p(o.ct),t.index=o.index,t.location=o.loc,t.z=o.z,t.zLabel=n.tickText(h.mockAxis,h.mockAxis.c2l(o.z),"hover").text,t.hovertemplate=o.hovertemplate,function(t,e,r){if(!e.hovertemplate){var n=r.hi||e.hoverinfo,o=String(r.loc),s="all"===n?i.hoverinfo.flags:n.split("+"),l=-1!==s.indexOf("name"),u=-1!==s.indexOf("location"),c=-1!==s.indexOf("z"),f=-1!==s.indexOf("text"),h=[];!l&&u?t.nameOverride=o:(l&&(t.nameOverride=e.name),u&&h.push(o)),c&&h.push(t.zLabel),f&&a(r,e,h),t.extraText=h.join("<br>")}}(t,f,o),[t]}},51319:function(t,e,r){"use strict";t.exports={attributes:r(69568),supplyDefaults:r(61869),colorbar:r(61243),calc:r(38675),calcGeoJSON:r(99841).calcGeoJSON,plot:r(99841).plot,style:r(99636).style,styleOnSelect:r(99636).styleOnSelect,hoverPoints:r(42300),eventData:r(92069),selectPoints:r(81253),moduleType:"trace",name:"choropleth",basePlotModule:r(44622),categories:["geo","noOpacity","showLegend"],meta:{}}},99841:function(t,e,r){"use strict";var n=r(39898),i=r(71828),a=r(41327),o=r(90973).getTopojsonFeatures,s=r(71739).findExtremes,l=r(99636).style;t.exports={calcGeoJSON:function(t,e){for(var r=t[0].trace,n=e[r.geo],i=n._subplot,l=r.locationmode,u=r._length,c="geojson-id"===l?a.extractTraceFeature(t):o(r,i.topojson),f=[],h=[],p=0;p<u;p++){var d=t[p],v="geojson-id"===l?d.fOut:a.locationToFeature(l,d.loc,c);if(v){d.geojson=v,d.ct=v.properties.ct,d._polygons=a.feature2polygons(v);var g=a.computeBbox(v);f.push(g[0],g[2]),h.push(g[1],g[3])}else d.geojson=null}if("geojson"===n.fitbounds&&"geojson-id"===l){var y=a.computeBbox(a.getTraceGeojson(r));f=[y[0],y[2]],h=[y[1],y[3]]}var m={padded:!0};r._extremes.lon=s(n.lonaxis._ax,f,m),r._extremes.lat=s(n.lataxis._ax,h,m)},plot:function(t,e,r){var a=e.layers.backplot.select(".choroplethlayer");i.makeTraceGroups(a,r,"trace choropleth").each((function(e){var r=n.select(this).selectAll("path.choroplethlocation").data(i.identity);r.enter().append("path").classed("choroplethlocation",!0),r.exit().remove(),l(t,e)}))}}},81253:function(t){"use strict";t.exports=function(t,e){var r,n,i,a,o,s=t.cd,l=t.xaxis,u=t.yaxis,c=[];if(!1===e)for(r=0;r<s.length;r++)s[r].selected=0;else for(r=0;r<s.length;r++)(i=(n=s[r]).ct)&&(a=l.c2p(i),o=u.c2p(i),e.contains([a,o],null,r,t)?(c.push({pointNumber:r,lon:i[0],lat:i[1]}),n.selected=1):n.selected=0);return c}},99636:function(t,e,r){"use strict";var n=r(39898),i=r(7901),a=r(91424),o=r(21081);function s(t,e){var r=e[0].trace,s=e[0].node3.selectAll(".choroplethlocation"),l=r.marker||{},u=l.line||{},c=o.makeColorScaleFuncFromTrace(r);s.each((function(t){n.select(this).attr("fill",c(t.z)).call(i.stroke,t.mlc||u.color).call(a.dashLine,"",t.mlw||u.width||0).style("opacity",l.opacity)})),a.selectedPointStyle(s,r)}t.exports={style:function(t,e){e&&s(0,e)},styleOnSelect:function(t,e){var r=e[0].node3,n=e[0].trace;n.selectedpoints?a.selectedPointStyle(r.selectAll(".choroplethlocation"),n):s(0,e)}}},64496:function(t,e,r){"use strict";var n=r(69568),i=r(50693),a=r(5386).f,o=r(9012),s=r(1426).extendFlat;t.exports=s({locations:{valType:"data_array",editType:"calc"},z:{valType:"data_array",editType:"calc"},geojson:{valType:"any",editType:"calc"},featureidkey:s({},n.featureidkey,{}),below:{valType:"string",editType:"plot"},text:n.text,hovertext:n.hovertext,marker:{line:{color:s({},n.marker.line.color,{editType:"plot"}),width:s({},n.marker.line.width,{editType:"plot"}),editType:"calc"},opacity:s({},n.marker.opacity,{editType:"plot"}),editType:"calc"},selected:{marker:{opacity:s({},n.selected.marker.opacity,{editType:"plot"}),editType:"plot"},editType:"plot"},unselected:{marker:{opacity:s({},n.unselected.marker.opacity,{editType:"plot"}),editType:"plot"},editType:"plot"},hoverinfo:n.hoverinfo,hovertemplate:a({},{keys:["properties"]}),showlegend:s({},o.showlegend,{dflt:!1})},i("",{cLetter:"z",editTypeOverride:"calc"}))},82004:function(t,e,r){"use strict";var n=r(92770),i=r(71828),a=r(21081),o=r(91424),s=r(18214).makeBlank,l=r(41327);function u(t){var e,r=t[0].trace,n=r._opts;if(r.selectedpoints){for(var a=o.makeSelectedPointStyleFns(r),s=0;s<t.length;s++){var l=t[s];l.fOut&&(l.fOut.properties.mo2=a.selectedOpacityFn(l))}e={type:"identity",property:"mo2"}}else e=i.isArrayOrTypedArray(r.marker.opacity)?{type:"identity",property:"mo"}:r.marker.opacity;return i.extendFlat(n.fill.paint,{"fill-opacity":e}),i.extendFlat(n.line.paint,{"line-opacity":e}),n}t.exports={convert:function(t){var e=t[0].trace,r=!0===e.visible&&0!==e._length,o={layout:{visibility:"none"},paint:{}},c={layout:{visibility:"none"},paint:{}},f=e._opts={fill:o,line:c,geojson:s()};if(!r)return f;var h=l.extractTraceFeature(t);if(!h)return f;var p,d,v,g=a.makeColorScaleFuncFromTrace(e),y=e.marker,m=y.line||{};i.isArrayOrTypedArray(y.opacity)&&(p=function(t){var e=t.mo;return n(e)?+i.constrain(e,0,1):0}),i.isArrayOrTypedArray(m.color)&&(d=function(t){return t.mlc}),i.isArrayOrTypedArray(m.width)&&(v=function(t){return t.mlw});for(var x=0;x<t.length;x++){var b=t[x],_=b.fOut;if(_){var w=_.properties;w.fc=g(b.z),p&&(w.mo=p(b)),d&&(w.mlc=d(b)),v&&(w.mlw=v(b)),b.ct=w.ct,b._polygons=l.feature2polygons(_)}}var T=p?{type:"identity",property:"mo"}:y.opacity;return i.extendFlat(o.paint,{"fill-color":{type:"identity",property:"fc"},"fill-opacity":T}),i.extendFlat(c.paint,{"line-color":d?{type:"identity",property:"mlc"}:m.color,"line-width":v?{type:"identity",property:"mlw"}:m.width,"line-opacity":T}),o.layout.visibility="visible",c.layout.visibility="visible",f.geojson={type:"FeatureCollection",features:h},u(t),f},convertOnSelect:u}},22654:function(t,e,r){"use strict";var n=r(71828),i=r(1586),a=r(64496);t.exports=function(t,e,r,o){function s(r,i){return n.coerce(t,e,a,r,i)}var l=s("locations"),u=s("z"),c=s("geojson");n.isArrayOrTypedArray(l)&&l.length&&n.isArrayOrTypedArray(u)&&u.length&&("string"==typeof c&&""!==c||n.isPlainObject(c))?(s("featureidkey"),e._length=Math.min(l.length,u.length),s("below"),s("text"),s("hovertext"),s("hovertemplate"),s("marker.line.width")&&s("marker.line.color"),s("marker.opacity"),i(t,e,o,s,{prefix:"",cLetter:"z"}),n.coerceSelectionMarkerOpacity(e,s)):e.visible=!1}},57516:function(t,e,r){"use strict";t.exports={attributes:r(64496),supplyDefaults:r(22654),colorbar:r(61243),calc:r(38675),plot:r(7852),hoverPoints:r(42300),eventData:r(92069),selectPoints:r(81253),styleOnSelect:function(t,e){e&&e[0].trace._glTrace.updateOnSelect(e)},getBelow:function(t,e){for(var r=e.getMapLayers(),n=r.length-2;n>=0;n--){var i=r[n].id;if("string"==typeof i&&0===i.indexOf("water"))for(var a=n+1;a<r.length;a++)if("string"==typeof(i=r[a].id)&&-1===i.indexOf("plotly-"))return i}},moduleType:"trace",name:"choroplethmapbox",basePlotModule:r(50101),categories:["mapbox","gl","noOpacity","showLegend"],meta:{hr_name:"choropleth_mapbox"}}},7852:function(t,e,r){"use strict";var n=r(82004).convert,i=r(82004).convertOnSelect,a=r(77734).traceLayerPrefix;function o(t,e){this.type="choroplethmapbox",this.subplot=t,this.uid=e,this.sourceId="source-"+e,this.layerList=[["fill",a+e+"-fill"],["line",a+e+"-line"]],this.below=null}var s=o.prototype;s.update=function(t){this._update(n(t)),t[0].trace._glTrace=this},s.updateOnSelect=function(t){this._update(i(t))},s._update=function(t){var e=this.subplot,r=this.layerList,n=e.belowLookup["trace-"+this.uid];e.map.getSource(this.sourceId).setData(t.geojson),n!==this.below&&(this._removeLayers(),this._addLayers(t,n),this.below=n);for(var i=0;i<r.length;i++){var a=r[i],o=a[0],s=a[1],l=t[o];e.setOptions(s,"setLayoutProperty",l.layout),"visible"===l.layout.visibility&&e.setOptions(s,"setPaintProperty",l.paint)}},s._addLayers=function(t,e){for(var r=this.subplot,n=this.layerList,i=this.sourceId,a=0;a<n.length;a++){var o=n[a],s=o[0],l=t[s];r.addLayer({type:s,id:o[1],source:i,layout:l.layout,paint:l.paint},e)}},s._removeLayers=function(){for(var t=this.subplot.map,e=this.layerList,r=e.length-1;r>=0;r--)t.removeLayer(e[r][1])},s.dispose=function(){var t=this.subplot.map;this._removeLayers(),t.removeSource(this.sourceId)},t.exports=function(t,e){var r=e[0].trace,i=new o(t,r.uid),a=i.sourceId,s=n(e),l=i.below=t.belowLookup["trace-"+r.uid];return t.map.addSource(a,{type:"geojson",data:s.geojson}),i._addLayers(s,l),e[0].trace._glTrace=i,i}},12674:function(t,e,r){"use strict";var n=r(50693),i=r(12663).axisHoverFormat,a=r(5386).f,o=r(2418),s=r(9012),l=r(1426).extendFlat,u={x:{valType:"data_array",editType:"calc+clearAxisTypes"},y:{valType:"data_array",editType:"calc+clearAxisTypes"},z:{valType:"data_array",editType:"calc+clearAxisTypes"},u:{valType:"data_array",editType:"calc"},v:{valType:"data_array",editType:"calc"},w:{valType:"data_array",editType:"calc"},sizemode:{valType:"enumerated",values:["scaled","absolute"],editType:"calc",dflt:"scaled"},sizeref:{valType:"number",editType:"calc",min:0},anchor:{valType:"enumerated",editType:"calc",values:["tip","tail","cm","center"],dflt:"cm"},text:{valType:"string",dflt:"",arrayOk:!0,editType:"calc"},hovertext:{valType:"string",dflt:"",arrayOk:!0,editType:"calc"},hovertemplate:a({editType:"calc"},{keys:["norm"]}),uhoverformat:i("u",1),vhoverformat:i("v",1),whoverformat:i("w",1),xhoverformat:i("x"),yhoverformat:i("y"),zhoverformat:i("z"),showlegend:l({},s.showlegend,{dflt:!1})};l(u,n("",{colorAttr:"u/v/w norm",showScaleDflt:!0,editTypeOverride:"calc"})),["opacity","lightposition","lighting"].forEach((function(t){u[t]=o[t]})),u.hoverinfo=l({},s.hoverinfo,{editType:"calc",flags:["x","y","z","u","v","w","norm","text","name"],dflt:"x+y+z+norm+text+name"}),u.transforms=void 0,t.exports=u},31371:function(t,e,r){"use strict";var n=r(78803);t.exports=function(t,e){for(var r=e.u,i=e.v,a=e.w,o=Math.min(e.x.length,e.y.length,e.z.length,r.length,i.length,a.length),s=-1/0,l=1/0,u=0;u<o;u++){var c=r[u],f=i[u],h=a[u],p=Math.sqrt(c*c+f*f+h*h);s=Math.max(s,p),l=Math.min(l,p)}e._len=o,e._normMax=s,n(t,e,{vals:[l,s],containerStr:"",cLetter:"c"})}},5453:function(t,e,r){"use strict";var n=r(9330).gl_cone3d,i=r(9330).gl_cone3d.createConeMesh,a=r(71828).simpleMap,o=r(81697).parseColorScale,s=r(21081).extractOpts,l=r(90060);function u(t,e){this.scene=t,this.uid=e,this.mesh=null,this.data=null}var c=u.prototype;c.handlePick=function(t){if(t.object===this.mesh){var e=t.index=t.data.index,r=this.data.x[e],n=this.data.y[e],i=this.data.z[e],a=this.data.u[e],o=this.data.v[e],s=this.data.w[e];t.traceCoordinate=[r,n,i,a,o,s,Math.sqrt(a*a+o*o+s*s)];var l=this.data.hovertext||this.data.text;return Array.isArray(l)&&void 0!==l[e]?t.textLabel=l[e]:l&&(t.textLabel=l),!0}};var f={xaxis:0,yaxis:1,zaxis:2},h={tip:1,tail:0,cm:.25,center:.5},p={tip:1,tail:1,cm:.75,center:.5};function d(t,e){var r=t.fullSceneLayout,i=t.dataScale,u={};function c(t,e){var n=r[e],o=i[f[e]];return a(t,(function(t){return n.d2l(t)*o}))}u.vectors=l(c(e.u,"xaxis"),c(e.v,"yaxis"),c(e.w,"zaxis"),e._len),u.positions=l(c(e.x,"xaxis"),c(e.y,"yaxis"),c(e.z,"zaxis"),e._len);var d=s(e);u.colormap=o(e),u.vertexIntensityBounds=[d.min/e._normMax,d.max/e._normMax],u.coneOffset=h[e.anchor],"scaled"===e.sizemode?u.coneSize=e.sizeref||.5:u.coneSize=e.sizeref&&e._normMax?e.sizeref/e._normMax:.5;var v=n(u),g=e.lightposition;return v.lightPosition=[g.x,g.y,g.z],v.ambient=e.lighting.ambient,v.diffuse=e.lighting.diffuse,v.specular=e.lighting.specular,v.roughness=e.lighting.roughness,v.fresnel=e.lighting.fresnel,v.opacity=e.opacity,e._pad=p[e.anchor]*v.vectorScale*v.coneScale*e._normMax,v}c.update=function(t){this.data=t;var e=d(this.scene,t);this.mesh.update(e)},c.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()},t.exports=function(t,e){var r=t.glplot.gl,n=d(t,e),a=i(r,n),o=new u(t,e.uid);return o.mesh=a,o.data=e,a._trace=o,t.glplot.add(a),o}},91750:function(t,e,r){"use strict";var n=r(71828),i=r(1586),a=r(12674);t.exports=function(t,e,r,o){function s(r,i){return n.coerce(t,e,a,r,i)}var l=s("u"),u=s("v"),c=s("w"),f=s("x"),h=s("y"),p=s("z");l&&l.length&&u&&u.length&&c&&c.length&&f&&f.length&&h&&h.length&&p&&p.length?(s("sizeref"),s("sizemode"),s("anchor"),s("lighting.ambient"),s("lighting.diffuse"),s("lighting.specular"),s("lighting.roughness"),s("lighting.fresnel"),s("lightposition.x"),s("lightposition.y"),s("lightposition.z"),i(t,e,o,s,{prefix:"",cLetter:"c"}),s("text"),s("hovertext"),s("hovertemplate"),s("uhoverformat"),s("vhoverformat"),s("whoverformat"),s("xhoverformat"),s("yhoverformat"),s("zhoverformat"),e._length=null):e.visible=!1}},98128:function(t,e,r){"use strict";t.exports={moduleType:"trace",name:"cone",basePlotModule:r(58547),categories:["gl3d","showLegend"],attributes:r(12674),supplyDefaults:r(91750),colorbar:{min:"cmin",max:"cmax"},calc:r(31371),plot:r(5453),eventData:function(t,e){return t.norm=e.traceCoordinate[6],t},meta:{}}},70600:function(t,e,r){"use strict";var n=r(21606),i=r(82196),a=r(12663),o=a.axisHoverFormat,s=a.descriptionOnlyNumbers,l=r(50693),u=r(79952).P,c=r(41940),f=r(1426).extendFlat,h=r(74808),p=h.COMPARISON_OPS2,d=h.INTERVAL_OPS,v=i.line;t.exports=f({z:n.z,x:n.x,x0:n.x0,dx:n.dx,y:n.y,y0:n.y0,dy:n.dy,xperiod:n.xperiod,yperiod:n.yperiod,xperiod0:i.xperiod0,yperiod0:i.yperiod0,xperiodalignment:n.xperiodalignment,yperiodalignment:n.yperiodalignment,text:n.text,hovertext:n.hovertext,transpose:n.transpose,xtype:n.xtype,ytype:n.ytype,xhoverformat:o("x"),yhoverformat:o("y"),zhoverformat:o("z",1),hovertemplate:n.hovertemplate,texttemplate:f({},n.texttemplate,{}),textfont:f({},n.textfont,{}),hoverongaps:n.hoverongaps,connectgaps:f({},n.connectgaps,{}),fillcolor:{valType:"color",editType:"calc"},autocontour:{valType:"boolean",dflt:!0,editType:"calc",impliedEdits:{"contours.start":void 0,"contours.end":void 0,"contours.size":void 0}},ncontours:{valType:"integer",dflt:15,min:1,editType:"calc"},contours:{type:{valType:"enumerated",values:["levels","constraint"],dflt:"levels",editType:"calc"},start:{valType:"number",dflt:null,editType:"plot",impliedEdits:{"^autocontour":!1}},end:{valType:"number",dflt:null,editType:"plot",impliedEdits:{"^autocontour":!1}},size:{valType:"number",dflt:null,min:0,editType:"plot",impliedEdits:{"^autocontour":!1}},coloring:{valType:"enumerated",values:["fill","heatmap","lines","none"],dflt:"fill",editType:"calc"},showlines:{valType:"boolean",dflt:!0,editType:"plot"},showlabels:{valType:"boolean",dflt:!1,editType:"plot"},labelfont:c({editType:"plot",colorEditType:"style"}),labelformat:{valType:"string",dflt:"",editType:"plot",description:s("contour label")},operation:{valType:"enumerated",values:[].concat(p).concat(d),dflt:"=",editType:"calc"},value:{valType:"any",dflt:0,editType:"calc"},editType:"calc",impliedEdits:{autocontour:!1}},line:{color:f({},v.color,{editType:"style+colorbars"}),width:{valType:"number",min:0,editType:"style+colorbars"},dash:u,smoothing:f({},v.smoothing,{}),editType:"plot"}},l("",{cLetter:"z",autoColorDflt:!1,editTypeOverride:"calc"}))},27529:function(t,e,r){"use strict";var n=r(21081),i=r(90757),a=r(18670),o=r(53572);t.exports=function(t,e){var r=i(t,e),s=r[0].z;a(e,s);var l,u=e.contours,c=n.extractOpts(e);if("heatmap"===u.coloring&&c.auto&&!1===e.autocontour){var f=u.start,h=o(u),p=u.size||1,d=Math.floor((h-f)/p)+1;isFinite(p)||(p=1,d=1);var v=f-p/2;l=[v,v+d*p]}else l=s;return n.calc(t,e,{vals:l,cLetter:"z"}),r}},20083:function(t){"use strict";t.exports=function(t,e){var r,n=t[0],i=n.z;switch(e.type){case"levels":var a=Math.min(i[0][0],i[0][1]);for(r=0;r<t.length;r++){var o=t[r];o.prefixBoundary=!o.edgepaths.length&&(a>o.level||o.starts.length&&a===o.level)}break;case"constraint":if(n.prefixBoundary=!1,n.edgepaths.length)return;var s=n.x.length,l=n.y.length,u=-1/0,c=1/0;for(r=0;r<l;r++)c=Math.min(c,i[r][0]),c=Math.min(c,i[r][s-1]),u=Math.max(u,i[r][0]),u=Math.max(u,i[r][s-1]);for(r=1;r<s-1;r++)c=Math.min(c,i[0][r]),c=Math.min(c,i[l-1][r]),u=Math.max(u,i[0][r]),u=Math.max(u,i[l-1][r]);var f,h,p=e.value;switch(e._operation){case">":p>u&&(n.prefixBoundary=!0);break;case"<":(p<c||n.starts.length&&p===c)&&(n.prefixBoundary=!0);break;case"[]":f=Math.min(p[0],p[1]),((h=Math.max(p[0],p[1]))<c||f>u||n.starts.length&&h===c)&&(n.prefixBoundary=!0);break;case"][":f=Math.min(p[0],p[1]),h=Math.max(p[0],p[1]),f<c&&h>u&&(n.prefixBoundary=!0)}}}},90654:function(t,e,r){"use strict";var n=r(21081),i=r(86068),a=r(53572);t.exports={min:"zmin",max:"zmax",calc:function(t,e,r){var o=e.contours,s=e.line,l=o.size||1,u=o.coloring,c=i(e,{isColorbar:!0});if("heatmap"===u){var f=n.extractOpts(e);r._fillgradient=f.reversescale?n.flipScale(f.colorscale):f.colorscale,r._zrange=[f.min,f.max]}else"fill"===u&&(r._fillcolor=c);r._line={color:"lines"===u?c:s.color,width:!1!==o.showlines?s.width:0,dash:s.dash},r._levels={start:o.start,end:a(o),size:l}}}},36914:function(t){"use strict";t.exports={BOTTOMSTART:[1,9,13,104,713],TOPSTART:[4,6,7,104,713],LEFTSTART:[8,12,14,208,1114],RIGHTSTART:[2,3,11,208,1114],NEWDELTA:[null,[-1,0],[0,-1],[-1,0],[1,0],null,[0,-1],[-1,0],[0,1],[0,1],null,[0,1],[1,0],[1,0],[0,-1]],CHOOSESADDLE:{104:[4,1],208:[2,8],713:[7,13],1114:[11,14]},SADDLEREMAINDER:{1:4,2:8,4:1,7:13,8:2,11:14,13:7,14:11},LABELDISTANCE:2,LABELINCREASE:10,LABELMIN:3,LABELMAX:10,LABELOPTIMIZER:{EDGECOST:1,ANGLECOST:1,NEIGHBORCOST:5,SAMELEVELFACTOR:10,SAMELEVELDISTANCE:5,MAXCOST:100,INITIALSEARCHPOINTS:10,ITERATIONS:5}}},83179:function(t,e,r){"use strict";var n=r(92770),i=r(14523),a=r(7901),o=a.addOpacity,s=a.opacity,l=r(74808),u=l.CONSTRAINT_REDUCTION,c=l.COMPARISON_OPS2;t.exports=function(t,e,r,a,l,f){var h,p,d,v=e.contours,g=r("contours.operation");v._operation=u[g],function(t,e){var r;-1===c.indexOf(e.operation)?(t("contours.value",[0,1]),Array.isArray(e.value)?e.value.length>2?e.value=e.value.slice(2):0===e.length?e.value=[0,1]:e.length<2?(r=parseFloat(e.value[0]),e.value=[r,r+1]):e.value=[parseFloat(e.value[0]),parseFloat(e.value[1])]:n(e.value)&&(r=parseFloat(e.value),e.value=[r,r+1])):(t("contours.value",0),n(e.value)||(Array.isArray(e.value)?e.value=parseFloat(e.value[0]):e.value=0))}(r,v),"="===g?h=v.showlines=!0:(h=r("contours.showlines"),d=r("fillcolor",o((t.line||{}).color||l,.5))),h&&(p=r("line.color",d&&s(d)?o(e.fillcolor,1):l),r("line.width",2),r("line.dash")),r("line.smoothing"),i(r,a,p,f)}},64237:function(t,e,r){"use strict";var n=r(74808),i=r(92770);function a(t,e){var r,a=Array.isArray(e);function o(t){return i(t)?+t:null}return-1!==n.COMPARISON_OPS2.indexOf(t)?r=o(a?e[0]:e):-1!==n.INTERVAL_OPS.indexOf(t)?r=a?[o(e[0]),o(e[1])]:[o(e),o(e)]:-1!==n.SET_OPS.indexOf(t)&&(r=a?e.map(o):[o(e)]),r}function o(t){return function(e){e=a(t,e);var r=Math.min(e[0],e[1]),n=Math.max(e[0],e[1]);return{start:r,end:n,size:n-r}}}function s(t){return function(e){return{start:e=a(t,e),end:1/0,size:1/0}}}t.exports={"[]":o("[]"),"][":o("]["),">":s(">"),"<":s("<"),"=":s("=")}},67217:function(t){"use strict";t.exports=function(t,e,r,n){var i=n("contours.start"),a=n("contours.end"),o=!1===i||!1===a,s=r("contours.size");!(o?e.autocontour=!0:r("autocontour",!1))&&s||r("ncontours")}},84857:function(t,e,r){"use strict";var n=r(71828);function i(t){return n.extendFlat({},t,{edgepaths:n.extendDeep([],t.edgepaths),paths:n.extendDeep([],t.paths),starts:n.extendDeep([],t.starts)})}t.exports=function(t,e){var r,a,o,s=function(t){return t.reverse()},l=function(t){return t};switch(e){case"=":case"<":return t;case">":for(1!==t.length&&n.warn("Contour data invalid for the specified inequality operation."),a=t[0],r=0;r<a.edgepaths.length;r++)a.edgepaths[r]=s(a.edgepaths[r]);for(r=0;r<a.paths.length;r++)a.paths[r]=s(a.paths[r]);for(r=0;r<a.starts.length;r++)a.starts[r]=s(a.starts[r]);return t;case"][":var u=s;s=l,l=u;case"[]":for(2!==t.length&&n.warn("Contour data invalid for the specified inequality range operation."),a=i(t[0]),o=i(t[1]),r=0;r<a.edgepaths.length;r++)a.edgepaths[r]=s(a.edgepaths[r]);for(r=0;r<a.paths.length;r++)a.paths[r]=s(a.paths[r]);for(r=0;r<a.starts.length;r++)a.starts[r]=s(a.starts[r]);for(;o.edgepaths.length;)a.edgepaths.push(l(o.edgepaths.shift()));for(;o.paths.length;)a.paths.push(l(o.paths.shift()));for(;o.starts.length;)a.starts.push(l(o.starts.shift()));return[a]}}},13031:function(t,e,r){"use strict";var n=r(71828),i=r(67684),a=r(73927),o=r(83179),s=r(67217),l=r(8724),u=r(58623),c=r(70600);t.exports=function(t,e,r,f){function h(r,i){return n.coerce(t,e,c,r,i)}if(i(t,e,h,f)){a(t,e,f,h),h("xhoverformat"),h("yhoverformat"),h("text"),h("hovertext"),h("hoverongaps"),h("hovertemplate");var p="constraint"===h("contours.type");h("connectgaps",n.isArray1D(e.z)),p?o(t,e,h,f,r):(s(t,e,h,(function(r){return n.coerce2(t,e,c,r)})),l(t,e,h,f)),e.contours&&"heatmap"===e.contours.coloring&&u(h,f)}else e.visible=!1}},87558:function(t,e,r){"use strict";var n=r(71828),i=r(64237),a=r(53572);t.exports=function(t,e,r){for(var o="constraint"===t.type?i[t._operation](t.value):t,s=o.size,l=[],u=a(o),c=r.trace._carpetTrace,f=c?{xaxis:c.aaxis,yaxis:c.baxis,x:r.a,y:r.b}:{xaxis:e.xaxis,yaxis:e.yaxis,x:r.x,y:r.y},h=o.start;h<u;h+=s)if(l.push(n.extendFlat({level:h,crossings:{},starts:[],edgepaths:[],paths:[],z:r.z,smoothing:r.trace.line.smoothing},f)),l.length>1e3){n.warn("Too many contours, clipping at 1000",t);break}return l}},53572:function(t){"use strict";t.exports=function(t){return t.end+t.size/1e6}},81696:function(t,e,r){"use strict";var n=r(71828),i=r(36914);function a(t,e,r,n){return Math.abs(t[0]-e[0])<r&&Math.abs(t[1]-e[1])<n}function o(t,e,r,o,l){var u,c=e.join(","),f=t.crossings[c],h=function(t,e,r){var n=0,a=0;return t>20&&e?208===t||1114===t?n=0===r[0]?1:-1:a=0===r[1]?1:-1:-1!==i.BOTTOMSTART.indexOf(t)?a=1:-1!==i.LEFTSTART.indexOf(t)?n=1:-1!==i.TOPSTART.indexOf(t)?a=-1:n=-1,[n,a]}(f,r,e),p=[s(t,e,[-h[0],-h[1]])],d=t.z.length,v=t.z[0].length,g=e.slice(),y=h.slice();for(u=0;u<1e4;u++){if(f>20?(f=i.CHOOSESADDLE[f][(h[0]||h[1])<0?0:1],t.crossings[c]=i.SADDLEREMAINDER[f]):delete t.crossings[c],!(h=i.NEWDELTA[f])){n.log("Found bad marching index:",f,e,t.level);break}p.push(s(t,e,h)),e[0]+=h[0],e[1]+=h[1],c=e.join(","),a(p[p.length-1],p[p.length-2],o,l)&&p.pop();var m=h[0]&&(e[0]<0||e[0]>v-2)||h[1]&&(e[1]<0||e[1]>d-2);if(e[0]===g[0]&&e[1]===g[1]&&h[0]===y[0]&&h[1]===y[1]||r&&m)break;f=t.crossings[c]}1e4===u&&n.log("Infinite loop in contour?");var x,b,_,w,T,k,A,M,S,E,L,C,P,O,I,D=a(p[0],p[p.length-1],o,l),z=0,R=.2*t.smoothing,F=[],B=0;for(u=1;u<p.length;u++)C=p[u],P=p[u-1],void 0,void 0,O=C[2]-P[2],I=C[3]-P[3],z+=A=Math.sqrt(O*O+I*I),F.push(A);var N=z/F.length*R;function j(t){return p[t%p.length]}for(u=p.length-2;u>=B;u--)if((x=F[u])<N){for(_=0,b=u-1;b>=B&&x+F[b]<N;b--)x+=F[b];if(D&&u===p.length-2)for(_=0;_<b&&x+F[_]<N;_++)x+=F[_];T=u-b+_+1,k=Math.floor((u+b+_+2)/2),w=D||u!==p.length-2?D||-1!==b?T%2?j(k):[(j(k)[0]+j(k+1)[0])/2,(j(k)[1]+j(k+1)[1])/2]:p[0]:p[p.length-1],p.splice(b+1,u-b+1,w),u=b+1,_&&(B=_),D&&(u===p.length-2?p[_]=p[p.length-1]:0===u&&(p[p.length-1]=p[0]))}for(p.splice(0,B),u=0;u<p.length;u++)p[u].length=2;if(!(p.length<2))if(D)p.pop(),t.paths.push(p);else{r||n.log("Unclosed interior contour?",t.level,g.join(","),p.join("L"));var U=!1;for(M=0;M<t.edgepaths.length;M++)if(E=t.edgepaths[M],!U&&a(E[0],p[p.length-1],o,l)){p.pop(),U=!0;var V=!1;for(S=0;S<t.edgepaths.length;S++)if(a((L=t.edgepaths[S])[L.length-1],p[0],o,l)){V=!0,p.shift(),t.edgepaths.splice(M,1),S===M?t.paths.push(p.concat(L)):(S>M&&S--,t.edgepaths[S]=L.concat(p,E));break}V||(t.edgepaths[M]=p.concat(E))}for(M=0;M<t.edgepaths.length&&!U;M++)a((E=t.edgepaths[M])[E.length-1],p[0],o,l)&&(p.shift(),t.edgepaths[M]=E.concat(p),U=!0);U||t.edgepaths.push(p)}}function s(t,e,r){var n=e[0]+Math.max(r[0],0),i=e[1]+Math.max(r[1],0),a=t.z[i][n],o=t.xaxis,s=t.yaxis;if(r[1]){var l=(t.level-a)/(t.z[i][n+1]-a),u=(1!==l?(1-l)*o.c2l(t.x[n]):0)+(0!==l?l*o.c2l(t.x[n+1]):0);return[o.c2p(o.l2c(u),!0),s.c2p(t.y[i],!0),n+l,i]}var c=(t.level-a)/(t.z[i+1][n]-a),f=(1!==c?(1-c)*s.c2l(t.y[i]):0)+(0!==c?c*s.c2l(t.y[i+1]):0);return[o.c2p(t.x[n],!0),s.c2p(s.l2c(f),!0),n,i+c]}t.exports=function(t,e,r){var i,a,s,l;for(e=e||.01,r=r||.01,a=0;a<t.length;a++){for(s=t[a],l=0;l<s.starts.length;l++)o(s,s.starts[l],"edge",e,r);for(i=0;Object.keys(s.crossings).length&&i<1e4;)i++,o(s,Object.keys(s.crossings)[0].split(",").map(Number),void 0,e,r);1e4===i&&n.log("Infinite loop in contour?")}}},52421:function(t,e,r){"use strict";var n=r(7901),i=r(46248);t.exports=function(t,e,r,a,o){o||(o={}),o.isContour=!0;var s=i(t,e,r,a,o);return s&&s.forEach((function(t){var e=t.trace;"constraint"===e.contours.type&&(e.fillcolor&&n.opacity(e.fillcolor)?t.color=n.addOpacity(e.fillcolor,1):e.contours.showlines&&n.opacity(e.line.color)&&(t.color=n.addOpacity(e.line.color,1)))})),s}},99442:function(t,e,r){"use strict";t.exports={attributes:r(70600),supplyDefaults:r(13031),calc:r(27529),plot:r(29854).plot,style:r(84426),colorbar:r(90654),hoverPoints:r(52421),moduleType:"trace",name:"contour",basePlotModule:r(93612),categories:["cartesian","svg","2dMap","contour","showLegend"],meta:{}}},14523:function(t,e,r){"use strict";var n=r(71828);t.exports=function(t,e,r,i){if(i||(i={}),t("contours.showlabels")){var a=e.font;n.coerceFont(t,"contours.labelfont",{family:a.family,size:a.size,color:r}),t("contours.labelformat")}!1!==i.hasHover&&t("zhoverformat")}},86068:function(t,e,r){"use strict";var n=r(39898),i=r(21081),a=r(53572);t.exports=function(t){var e=t.contours,r=e.start,o=a(e),s=e.size||1,l=Math.floor((o-r)/s)+1,u="lines"===e.coloring?0:1,c=i.extractOpts(t);isFinite(s)||(s=1,l=1);var f,h,p=c.reversescale?i.flipScale(c.colorscale):c.colorscale,d=p.length,v=new Array(d),g=new Array(d);if("heatmap"===e.coloring){var y=c.min,m=c.max;for(h=0;h<d;h++)f=p[h],v[h]=f[0]*(m-y)+y,g[h]=f[1];var x=n.extent([y,m,e.start,e.start+s*(l-1)]),b=x[y<m?0:1],_=x[y<m?1:0];b!==y&&(v.splice(0,0,b),g.splice(0,0,g[0])),_!==m&&(v.push(_),g.push(g[g.length-1]))}else for(h=0;h<d;h++)f=p[h],v[h]=(f[0]*(l+u-1)-u/2)*s+r,g[h]=f[1];return i.makeColorScaleFunc({domain:v,range:g},{noNumericCheck:!0})}},87678:function(t,e,r){"use strict";var n=r(36914);function i(t,e){var r=(e[0][0]>t?0:1)+(e[0][1]>t?0:2)+(e[1][1]>t?0:4)+(e[1][0]>t?0:8);return 5===r||10===r?t>(e[0][0]+e[0][1]+e[1][0]+e[1][1])/4?5===r?713:1114:5===r?104:208:15===r?0:r}t.exports=function(t){var e,r,a,o,s,l,u,c,f,h=t[0].z,p=h.length,d=h[0].length,v=2===p||2===d;for(r=0;r<p-1;r++)for(o=[],0===r&&(o=o.concat(n.BOTTOMSTART)),r===p-2&&(o=o.concat(n.TOPSTART)),e=0;e<d-1;e++)for(a=o.slice(),0===e&&(a=a.concat(n.LEFTSTART)),e===d-2&&(a=a.concat(n.RIGHTSTART)),s=e+","+r,l=[[h[r][e],h[r][e+1]],[h[r+1][e],h[r+1][e+1]]],f=0;f<t.length;f++)(u=i((c=t[f]).level,l))&&(c.crossings[s]=u,-1!==a.indexOf(u)&&(c.starts.push([e,r]),v&&-1!==a.indexOf(u,a.indexOf(u)+1)&&c.starts.push([e,r])))}},29854:function(t,e,r){"use strict";var n=r(39898),i=r(71828),a=r(91424),o=r(21081),s=r(63893),l=r(89298),u=r(21994),c=r(50347),f=r(87678),h=r(81696),p=r(87558),d=r(84857),v=r(20083),g=r(36914),y=g.LABELOPTIMIZER;function m(t,e){var r,n,o,s,l,u,c,f="",h=0,p=t.edgepaths.map((function(t,e){return e})),d=!0;function v(t){return Math.abs(t[1]-e[2][1])<.01}function g(t){return Math.abs(t[0]-e[0][0])<.01}function y(t){return Math.abs(t[0]-e[2][0])<.01}for(;p.length;){for(u=a.smoothopen(t.edgepaths[h],t.smoothing),f+=d?u:u.replace(/^M/,"L"),p.splice(p.indexOf(h),1),r=t.edgepaths[h][t.edgepaths[h].length-1],s=-1,o=0;o<4;o++){if(!r){i.log("Missing end?",h,t);break}for(c=r,Math.abs(c[1]-e[0][1])<.01&&!y(r)?n=e[1]:g(r)?n=e[0]:v(r)?n=e[3]:y(r)&&(n=e[2]),l=0;l<t.edgepaths.length;l++){var m=t.edgepaths[l][0];Math.abs(r[0]-n[0])<.01?Math.abs(r[0]-m[0])<.01&&(m[1]-r[1])*(n[1]-m[1])>=0&&(n=m,s=l):Math.abs(r[1]-n[1])<.01?Math.abs(r[1]-m[1])<.01&&(m[0]-r[0])*(n[0]-m[0])>=0&&(n=m,s=l):i.log("endpt to newendpt is not vert. or horz.",r,n,m)}if(r=n,s>=0)break;f+="L"+n}if(s===t.edgepaths.length){i.log("unclosed perimeter path");break}h=s,(d=-1===p.indexOf(h))&&(h=p[0],f+="Z")}for(h=0;h<t.paths.length;h++)f+=a.smoothclosed(t.paths[h],t.smoothing);return f}function x(t,e,r,n){var a=e.width/2,o=e.height/2,s=t.x,l=t.y,u=t.theta,c=Math.cos(u)*a,f=Math.sin(u)*a,h=(s>n.center?n.right-s:s-n.left)/(c+Math.abs(Math.sin(u)*o)),p=(l>n.middle?n.bottom-l:l-n.top)/(Math.abs(f)+Math.cos(u)*o);if(h<1||p<1)return 1/0;var d=y.EDGECOST*(1/(h-1)+1/(p-1));d+=y.ANGLECOST*u*u;for(var v=s-c,g=l-f,m=s+c,x=l+f,b=0;b<r.length;b++){var _=r[b],w=Math.cos(_.theta)*_.width/2,T=Math.sin(_.theta)*_.width/2,k=2*i.segmentDistance(v,g,m,x,_.x-w,_.y-T,_.x+w,_.y+T)/(e.height+_.height),A=_.level===e.level,M=A?y.SAMELEVELDISTANCE:1;if(k<=M)return 1/0;d+=y.NEIGHBORCOST*(A?y.SAMELEVELFACTOR:1)/(k-M)}return d}function b(t){var e,r,n=t.trace._emptypoints,i=[],a=t.z.length,o=t.z[0].length,s=[];for(e=0;e<o;e++)s.push(1);for(e=0;e<a;e++)i.push(s.slice());for(e=0;e<n.length;e++)i[(r=n[e])[0]][r[1]]=0;return t.zmask=i,i}e.plot=function(t,r,o,s){var l=r.xaxis,u=r.yaxis;i.makeTraceGroups(s,o,"contour").each((function(o){var s=n.select(this),y=o[0],x=y.trace,_=y.x,w=y.y,T=x.contours,k=p(T,r,y),A=i.ensureSingle(s,"g","heatmapcoloring"),M=[];"heatmap"===T.coloring&&(M=[o]),c(t,r,M,A),f(k),h(k);var S=l.c2p(_[0],!0),E=l.c2p(_[_.length-1],!0),L=u.c2p(w[0],!0),C=u.c2p(w[w.length-1],!0),P=[[S,C],[E,C],[E,L],[S,L]],O=k;"constraint"===T.type&&(O=d(k,T._operation)),function(t,e,r){var n=i.ensureSingle(t,"g","contourbg").selectAll("path").data("fill"===r.coloring?[0]:[]);n.enter().append("path"),n.exit().remove(),n.attr("d","M"+e.join("L")+"Z").style("stroke","none")}(s,P,T),function(t,e,r,a){var o="fill"===a.coloring||"constraint"===a.type&&"="!==a._operation,s="M"+r.join("L")+"Z";o&&v(e,a);var l=i.ensureSingle(t,"g","contourfill").selectAll("path").data(o?e:[]);l.enter().append("path"),l.exit().remove(),l.each((function(t){var e=(t.prefixBoundary?s:"")+m(t,r);e?n.select(this).attr("d",e).style("stroke","none"):n.select(this).remove()}))}(s,O,P,T),function(t,r,o,s,l){var u=i.ensureSingle(t,"g","contourlines"),c=!1!==l.showlines,f=l.showlabels,h=c&&f,p=e.createLines(u,c||f,r),d=e.createLineClip(u,h,o,s.trace.uid),v=t.selectAll("g.contourlabels").data(f?[0]:[]);if(v.exit().remove(),v.enter().append("g").classed("contourlabels",!0),f){var y=[],m=[];i.clearLocationCache();var x=e.labelFormatter(o,s),b=a.tester.append("text").attr("data-notex",1).call(a.font,l.labelfont),_=r[0].xaxis,w=r[0].yaxis,T=_._length,k=w._length,A=_.range,M=w.range,S=i.aggNums(Math.min,null,s.x),E=i.aggNums(Math.max,null,s.x),L=i.aggNums(Math.min,null,s.y),C=i.aggNums(Math.max,null,s.y),P=Math.max(_.c2p(S,!0),0),O=Math.min(_.c2p(E,!0),T),I=Math.max(w.c2p(C,!0),0),D=Math.min(w.c2p(L,!0),k),z={};A[0]<A[1]?(z.left=P,z.right=O):(z.left=O,z.right=P),M[0]<M[1]?(z.top=I,z.bottom=D):(z.top=D,z.bottom=I),z.middle=(z.top+z.bottom)/2,z.center=(z.left+z.right)/2,y.push([[z.left,z.top],[z.right,z.top],[z.right,z.bottom],[z.left,z.bottom]]);var R=Math.sqrt(T*T+k*k),F=g.LABELDISTANCE*R/Math.max(1,r.length/g.LABELINCREASE);p.each((function(t){var r=e.calcTextOpts(t.level,x,b,o);n.select(this).selectAll("path").each((function(){var t=i.getVisibleSegment(this,z,r.height/2);if(t&&!(t.len<(r.width+r.height)*g.LABELMIN))for(var n=Math.min(Math.ceil(t.len/F),g.LABELMAX),a=0;a<n;a++){var o=e.findBestTextLocation(this,t,r,m,z);if(!o)break;e.addLabelData(o,r,m,y)}}))})),b.remove(),e.drawLabels(v,m,o,d,h?y:null)}f&&!c&&p.remove()}(s,k,t,y,T),function(t,e,r,n,o){var s=n.trace,l=r._fullLayout._clips,u="clip"+s.uid,c=l.selectAll("#"+u).data(s.connectgaps?[]:[0]);if(c.enter().append("clipPath").classed("contourclip",!0).attr("id",u),c.exit().remove(),!1===s.connectgaps){var p={level:.9,crossings:{},starts:[],edgepaths:[],paths:[],xaxis:e.xaxis,yaxis:e.yaxis,x:n.x,y:n.y,z:b(n),smoothing:0};f([p]),h([p]),v([p],{type:"levels"}),i.ensureSingle(c,"path","").attr("d",(p.prefixBoundary?"M"+o.join("L")+"Z":"")+m(p,o))}else u=null;a.setClipUrl(t,u,r)}(s,r,t,y,P)}))},e.createLines=function(t,e,r){var n=r[0].smoothing,i=t.selectAll("g.contourlevel").data(e?r:[]);if(i.exit().remove(),i.enter().append("g").classed("contourlevel",!0),e){var o=i.selectAll("path.openline").data((function(t){return t.pedgepaths||t.edgepaths}));o.exit().remove(),o.enter().append("path").classed("openline",!0),o.attr("d",(function(t){return a.smoothopen(t,n)})).style("stroke-miterlimit",1).style("vector-effect","non-scaling-stroke");var s=i.selectAll("path.closedline").data((function(t){return t.ppaths||t.paths}));s.exit().remove(),s.enter().append("path").classed("closedline",!0),s.attr("d",(function(t){return a.smoothclosed(t,n)})).style("stroke-miterlimit",1).style("vector-effect","non-scaling-stroke")}return i},e.createLineClip=function(t,e,r,n){var i=e?"clipline"+n:null,o=r._fullLayout._clips.selectAll("#"+i).data(e?[0]:[]);return o.exit().remove(),o.enter().append("clipPath").classed("contourlineclip",!0).attr("id",i),a.setClipUrl(t,i,r),o},e.labelFormatter=function(t,e){var r=t._fullLayout,n=e.trace,i=n.contours,a={type:"linear",_id:"ycontour",showexponent:"all",exponentformat:"B"};if(i.labelformat)a.tickformat=i.labelformat,u(a,r);else{var s=o.extractOpts(n);if(s&&s.colorbar&&s.colorbar._axis)a=s.colorbar._axis;else{if("constraint"===i.type){var c=i.value;Array.isArray(c)?a.range=[c[0],c[c.length-1]]:a.range=[c,c]}else a.range=[i.start,i.end],a.nticks=(i.end-i.start)/i.size;a.range[0]===a.range[1]&&(a.range[1]+=a.range[0]||1),a.nticks||(a.nticks=1e3),u(a,r),l.prepTicks(a),a._tmin=null,a._tmax=null}}return function(t){return l.tickText(a,t).text}},e.calcTextOpts=function(t,e,r,n){var i=e(t);r.text(i).call(s.convertToTspans,n);var o=r.node(),l=a.bBox(o,!0);return{text:i,width:l.width,height:l.height,fontSize:+o.style["font-size"].replace("px",""),level:t,dy:(l.top+l.bottom)/2}},e.findBestTextLocation=function(t,e,r,n,a){var o,s,l,u,c,f=r.width;e.isClosed?(s=e.len/y.INITIALSEARCHPOINTS,o=e.min+s/2,l=e.max):(s=(e.len-f)/(y.INITIALSEARCHPOINTS+1),o=e.min+s+f/2,l=e.max-(s+f)/2);for(var h=1/0,p=0;p<y.ITERATIONS;p++){for(var d=o;d<l;d+=s){var v=i.getTextLocation(t,e.total,d,f),g=x(v,r,n,a);g<h&&(h=g,c=v,u=d)}if(h>2*y.MAXCOST)break;p&&(s/=2),l=(o=u-s/2)+1.5*s}if(h<=y.MAXCOST)return c},e.addLabelData=function(t,e,r,n){var i=e.fontSize,a=e.width+i/3,o=Math.max(0,e.height-i/3),s=t.x,l=t.y,u=t.theta,c=Math.sin(u),f=Math.cos(u),h=function(t,e){return[s+t*f-e*c,l+t*c+e*f]},p=[h(-a/2,-o/2),h(-a/2,o/2),h(a/2,o/2),h(a/2,-o/2)];r.push({text:e.text,x:s,y:l,dy:e.dy,theta:u,level:e.level,width:a,height:o}),n.push(p)},e.drawLabels=function(t,e,r,a,o){var l=t.selectAll("text").data(e,(function(t){return t.text+","+t.x+","+t.y+","+t.theta}));if(l.exit().remove(),l.enter().append("text").attr({"data-notex":1,"text-anchor":"middle"}).each((function(t){var e=t.x+Math.sin(t.theta)*t.dy,i=t.y-Math.cos(t.theta)*t.dy;n.select(this).text(t.text).attr({x:e,y:i,transform:"rotate("+180*t.theta/Math.PI+" "+e+" "+i+")"}).call(s.convertToTspans,r)})),o){for(var u="",c=0;c<o.length;c++)u+="M"+o[c].join("L")+"Z";i.ensureSingle(a,"path","").attr("d",u)}}},18670:function(t,e,r){"use strict";var n=r(89298),i=r(71828);function a(t,e,r){var i={type:"linear",range:[t,e]};return n.autoTicks(i,(e-t)/(r||15)),i}t.exports=function(t,e){var r=t.contours;if(t.autocontour){var o=t.zmin,s=t.zmax;(t.zauto||void 0===o)&&(o=i.aggNums(Math.min,null,e)),(t.zauto||void 0===s)&&(s=i.aggNums(Math.max,null,e));var l=a(o,s,t.ncontours);r.size=l.dtick,r.start=n.tickFirst(l),l.range.reverse(),r.end=n.tickFirst(l),r.start===o&&(r.start+=r.size),r.end===s&&(r.end-=r.size),r.start>r.end&&(r.start=r.end=(r.start+r.end)/2),t._input.contours||(t._input.contours={}),i.extendFlat(t._input.contours,{start:r.start,end:r.end,size:r.size}),t._input.autocontour=!0}else if("constraint"!==r.type){var u,c=r.start,f=r.end,h=t._input.contours;c>f&&(r.start=h.start=f,f=r.end=h.end=c,c=r.start),r.size>0||(u=c===f?1:a(c,f,t.ncontours).dtick,h.size=r.size=u)}}},84426:function(t,e,r){"use strict";var n=r(39898),i=r(91424),a=r(70035),o=r(86068);t.exports=function(t){var e=n.select(t).selectAll("g.contour");e.style("opacity",(function(t){return t[0].trace.opacity})),e.each((function(t){var e=n.select(this),r=t[0].trace,a=r.contours,s=r.line,l=a.size||1,u=a.start,c="constraint"===a.type,f=!c&&"lines"===a.coloring,h=!c&&"fill"===a.coloring,p=f||h?o(r):null;e.selectAll("g.contourlevel").each((function(t){n.select(this).selectAll("path").call(i.lineGroupStyle,s.width,f?p(t.level):s.color,s.dash)}));var d=a.labelfont;if(e.selectAll("g.contourlabels text").each((function(t){i.font(n.select(this),{family:d.family,size:d.size,color:d.color||(f?p(t.level):s.color)})})),c)e.selectAll("g.contourfill path").style("fill",r.fillcolor);else if(h){var v;e.selectAll("g.contourfill path").style("fill",(function(t){return void 0===v&&(v=t.level),p(t.level+.5*l)})),void 0===v&&(v=u),e.selectAll("g.contourbg path").style("fill",p(v-.5*l))}})),a(t)}},8724:function(t,e,r){"use strict";var n=r(1586),i=r(14523);t.exports=function(t,e,r,a,o){var s,l=r("contours.coloring"),u="";"fill"===l&&(s=r("contours.showlines")),!1!==s&&("lines"!==l&&(u=r("line.color","#000")),r("line.width",.5),r("line.dash")),"none"!==l&&(!0!==t.showlegend&&(e.showlegend=!1),e._dfltShowLegend=!1,n(t,e,a,r,{prefix:"",cLetter:"z"})),r("line.smoothing"),i(r,a,u,o)}},88085:function(t,e,r){"use strict";var n=r(21606),i=r(70600),a=r(50693),o=r(1426).extendFlat,s=i.contours;t.exports=o({carpet:{valType:"string",editType:"calc"},z:n.z,a:n.x,a0:n.x0,da:n.dx,b:n.y,b0:n.y0,db:n.dy,text:n.text,hovertext:n.hovertext,transpose:n.transpose,atype:n.xtype,btype:n.ytype,fillcolor:i.fillcolor,autocontour:i.autocontour,ncontours:i.ncontours,contours:{type:s.type,start:s.start,end:s.end,size:s.size,coloring:{valType:"enumerated",values:["fill","lines","none"],dflt:"fill",editType:"calc"},showlines:s.showlines,showlabels:s.showlabels,labelfont:s.labelfont,labelformat:s.labelformat,operation:s.operation,value:s.value,editType:"calc",impliedEdits:{autocontour:!1}},line:{color:i.line.color,width:i.line.width,dash:i.line.dash,smoothing:i.line.smoothing,editType:"plot"},transforms:void 0},a("",{cLetter:"z",autoColorDflt:!1}))},59885:function(t,e,r){"use strict";var n=r(78803),i=r(71828),a=r(68296),o=r(4742),s=r(824),l=r(43907),u=r(70769),c=r(75005),f=r(22882),h=r(18670);t.exports=function(t,e){var r=e._carpetTrace=f(t,e);if(r&&r.visible&&"legendonly"!==r.visible){if(!e.a||!e.b){var p=t.data[r.index],d=t.data[e.index];d.a||(d.a=p.a),d.b||(d.b=p.b),c(d,e,e._defaultColor,t._fullLayout)}var v=function(t,e){var r,c,f,h,p,d,v,g=e._carpetTrace,y=g.aaxis,m=g.baxis;y._minDtick=0,m._minDtick=0,i.isArray1D(e.z)&&a(e,y,m,"a","b",["z"]),r=e._a=e._a||e.a,h=e._b=e._b||e.b,r=r?y.makeCalcdata(e,"_a"):[],h=h?m.makeCalcdata(e,"_b"):[],c=e.a0||0,f=e.da||1,p=e.b0||0,d=e.db||1,v=e._z=o(e._z||e.z,e.transpose),e._emptypoints=l(v),s(v,e._emptypoints);var x=i.maxRowLength(v),b="scaled"===e.xtype?"":r,_=u(e,b,c,f,x,y),w="scaled"===e.ytype?"":h,T={a:_,b:u(e,w,p,d,v.length,m),z:v};return"levels"===e.contours.type&&"none"!==e.contours.coloring&&n(t,e,{vals:v,containerStr:"",cLetter:"z"}),[T]}(t,e);return h(e,e._z),v}}},75005:function(t,e,r){"use strict";var n=r(71828),i=r(67684),a=r(88085),o=r(83179),s=r(67217),l=r(8724);t.exports=function(t,e,r,u){function c(r,i){return n.coerce(t,e,a,r,i)}if(c("carpet"),t.a&&t.b){if(!i(t,e,c,u,"a","b"))return void(e.visible=!1);c("text"),"constraint"===c("contours.type")?o(t,e,c,u,r,{hasHover:!1}):(s(t,e,c,(function(r){return n.coerce2(t,e,a,r)})),l(t,e,c,u,{hasHover:!1}))}else e._defaultColor=r,e._length=null}},93740:function(t,e,r){"use strict";t.exports={attributes:r(88085),supplyDefaults:r(75005),colorbar:r(90654),calc:r(59885),plot:r(51048),style:r(84426),moduleType:"trace",name:"contourcarpet",basePlotModule:r(93612),categories:["cartesian","svg","carpet","contour","symbols","showLegend","hasLines","carpetDependent","noHover","noSortingByValue"],meta:{}}},51048:function(t,e,r){"use strict";var n=r(39898),i=r(27669),a=r(67961),o=r(91424),s=r(71828),l=r(87678),u=r(81696),c=r(29854),f=r(36914),h=r(84857),p=r(87558),d=r(20083),v=r(22882),g=r(4536);function y(t,e,r){var n=t.getPointAtLength(e),i=t.getPointAtLength(r),a=i.x-n.x,o=i.y-n.y,s=Math.sqrt(a*a+o*o);return[a/s,o/s]}function m(t){var e=Math.sqrt(t[0]*t[0]+t[1]*t[1]);return[t[0]/e,t[1]/e]}function x(t,e){var r=Math.abs(t[0]*e[0]+t[1]*e[1]);return Math.sqrt(1-r*r)/r}t.exports=function(t,e,r,b){var _=e.xaxis,w=e.yaxis;s.makeTraceGroups(b,r,"contour").each((function(r){var b=n.select(this),T=r[0],k=T.trace,A=k._carpetTrace=v(t,k),M=t.calcdata[A.index][0];if(A.visible&&"legendonly"!==A.visible){var S=T.a,E=T.b,L=k.contours,C=p(L,e,T),P="constraint"===L.type,O=L._operation,I=P?"="===O?"lines":"fill":L.coloring,D=[[S[0],E[E.length-1]],[S[S.length-1],E[E.length-1]],[S[S.length-1],E[0]],[S[0],E[0]]];l(C);var z=1e-8*(S[S.length-1]-S[0]),R=1e-8*(E[E.length-1]-E[0]);u(C,z,R);var F,B,N,j,U=C;"constraint"===L.type&&(U=h(C,O)),function(t,e){var r,n,i,a,o,s,l,u,c;for(r=0;r<t.length;r++){for(o=(a=t[r]).pedgepaths=[],s=a.ppaths=[],n=0;n<a.edgepaths.length;n++){for(c=a.edgepaths[n],l=[],i=0;i<c.length;i++)l[i]=e(c[i]);o.push(l)}for(n=0;n<a.paths.length;n++){for(c=a.paths[n],u=[],i=0;i<c.length;i++)u[i]=e(c[i]);s.push(u)}}}(C,q);var V=[];for(j=M.clipsegments.length-1;j>=0;j--)F=M.clipsegments[j],B=i([],F.x,_.c2p),N=i([],F.y,w.c2p),B.reverse(),N.reverse(),V.push(a(B,N,F.bicubic));var H="M"+V.join("L")+"Z";!function(t,e,r,n,o,l){var u,c,f,h,p=s.ensureSingle(t,"g","contourbg").selectAll("path").data("fill"!==l||o?[]:[0]);p.enter().append("path"),p.exit().remove();var d=[];for(h=0;h<e.length;h++)u=e[h],c=i([],u.x,r.c2p),f=i([],u.y,n.c2p),d.push(a(c,f,u.bicubic));p.attr("d","M"+d.join("L")+"Z").style("stroke","none")}(b,M.clipsegments,_,w,P,I),function(t,e,r,i,a,l,u,c,f,h,p){var v="fill"===h;v&&d(a,t.contours);var y=s.ensureSingle(e,"g","contourfill").selectAll("path").data(v?a:[]);y.enter().append("path"),y.exit().remove(),y.each((function(t){var e=(t.prefixBoundary?p:"")+function(t,e,r,n,i,a,l,u){var c,f,h,p,d,v,y,m="",x=e.edgepaths.map((function(t,e){return e})),b=!0,_=1e-4*Math.abs(r[0][0]-r[2][0]),w=1e-4*Math.abs(r[0][1]-r[2][1]);function T(t){return Math.abs(t[1]-r[0][1])<w}function k(t){return Math.abs(t[1]-r[2][1])<w}function A(t){return Math.abs(t[0]-r[0][0])<_}function M(t){return Math.abs(t[0]-r[2][0])<_}function S(t,e){var r,n,o,s,c="";for(T(t)&&!M(t)||k(t)&&!A(t)?(s=i.aaxis,o=g(i,a,[t[0],e[0]],.5*(t[1]+e[1]))):(s=i.baxis,o=g(i,a,.5*(t[0]+e[0]),[t[1],e[1]])),r=1;r<o.length;r++)for(c+=s.smoothing?"C":"L",n=0;n<o[r].length;n++){var f=o[r][n];c+=[l.c2p(f[0]),u.c2p(f[1])]+" "}return c}for(c=0,f=null;x.length;){var E=e.edgepaths[c][0];for(f&&(m+=S(f,E)),y=o.smoothopen(e.edgepaths[c].map(n),e.smoothing),m+=b?y:y.replace(/^M/,"L"),x.splice(x.indexOf(c),1),f=e.edgepaths[c][e.edgepaths[c].length-1],d=-1,p=0;p<4;p++){if(!f){s.log("Missing end?",c,e);break}for(T(f)&&!M(f)?h=r[1]:A(f)?h=r[0]:k(f)?h=r[3]:M(f)&&(h=r[2]),v=0;v<e.edgepaths.length;v++){var L=e.edgepaths[v][0];Math.abs(f[0]-h[0])<_?Math.abs(f[0]-L[0])<_&&(L[1]-f[1])*(h[1]-L[1])>=0&&(h=L,d=v):Math.abs(f[1]-h[1])<w?Math.abs(f[1]-L[1])<w&&(L[0]-f[0])*(h[0]-L[0])>=0&&(h=L,d=v):s.log("endpt to newendpt is not vert. or horz.",f,h,L)}if(d>=0)break;m+=S(f,h),f=h}if(d===e.edgepaths.length){s.log("unclosed perimeter path");break}c=d,(b=-1===x.indexOf(c))&&(c=x[0],m+=S(f,h)+"Z",f=null)}for(c=0;c<e.paths.length;c++)m+=o.smoothclosed(e.paths[c].map(n),e.smoothing);return m}(0,t,l,u,c,f,r,i);e?n.select(this).attr("d",e).style("stroke","none"):n.select(this).remove()}))}(k,b,_,w,U,D,q,A,M,I,H),function(t,e,r,i,a,l,u){var h=s.ensureSingle(t,"g","contourlines"),p=!1!==a.showlines,d=a.showlabels,v=p&&d,g=c.createLines(h,p||d,e),b=c.createLineClip(h,v,r,i.trace.uid),_=t.selectAll("g.contourlabels").data(d?[0]:[]);if(_.exit().remove(),_.enter().append("g").classed("contourlabels",!0),d){var w=l.xaxis,T=l.yaxis,k=w._length,A=T._length,M=[[[0,0],[k,0],[k,A],[0,A]]],S=[];s.clearLocationCache();var E=c.labelFormatter(r,i),L=o.tester.append("text").attr("data-notex",1).call(o.font,a.labelfont),C={left:0,right:k,center:k/2,top:0,bottom:A,middle:A/2},P=Math.sqrt(k*k+A*A),O=f.LABELDISTANCE*P/Math.max(1,e.length/f.LABELINCREASE);g.each((function(t){var e=c.calcTextOpts(t.level,E,L,r);n.select(this).selectAll("path").each((function(r){var n=this,i=s.getVisibleSegment(n,C,e.height/2);if(i&&(function(t,e,r,n,i,a){for(var o,s=0;s<r.pedgepaths.length;s++)e===r.pedgepaths[s]&&(o=r.edgepaths[s]);if(o){var l=i.a[0],u=i.a[i.a.length-1],c=i.b[0],f=i.b[i.b.length-1],h=y(t,0,1),p=y(t,n.total,n.total-1),d=g(o[0],h),v=n.total-g(o[o.length-1],p);n.min<d&&(n.min=d),n.max>v&&(n.max=v),n.len=n.max-n.min}function g(t,e){var r,n=0,o=.1;return(Math.abs(t[0]-l)<o||Math.abs(t[0]-u)<o)&&(r=m(i.dxydb_rough(t[0],t[1],o)),n=Math.max(n,a*x(e,r)/2)),(Math.abs(t[1]-c)<o||Math.abs(t[1]-f)<o)&&(r=m(i.dxyda_rough(t[0],t[1],o)),n=Math.max(n,a*x(e,r)/2)),n}}(n,r,t,i,u,e.height),!(i.len<(e.width+e.height)*f.LABELMIN)))for(var a=Math.min(Math.ceil(i.len/O),f.LABELMAX),o=0;o<a;o++){var l=c.findBestTextLocation(n,i,e,S,C);if(!l)break;c.addLabelData(l,e,S,M)}}))})),L.remove(),c.drawLabels(_,S,r,b,v?M:null)}d&&!p&&g.remove()}(b,C,t,T,L,e,A),o.setClipUrl(b,A._clipPathId,t)}function q(t){var e=A.ab2xy(t[0],t[1],!0);return[_.c2p(e[0]),w.c2p(e[1])]}}))}},64096:function(t,e,r){"use strict";var n=r(50693),i=r(5386).f,a=r(9012),o=r(99181),s=r(1426).extendFlat;t.exports=s({lon:o.lon,lat:o.lat,z:{valType:"data_array",editType:"calc"},radius:{valType:"number",editType:"plot",arrayOk:!0,min:1,dflt:30},below:{valType:"string",editType:"plot"},text:o.text,hovertext:o.hovertext,hoverinfo:s({},a.hoverinfo,{flags:["lon","lat","z","text","name"]}),hovertemplate:i(),showlegend:s({},a.showlegend,{dflt:!1})},n("",{cLetter:"z",editTypeOverride:"calc"}))},85070:function(t,e,r){"use strict";var n=r(92770),i=r(71828).isArrayOrTypedArray,a=r(50606).BADNUM,o=r(78803),s=r(71828)._;t.exports=function(t,e){for(var r=e._length,l=new Array(r),u=e.z,c=i(u)&&u.length,f=0;f<r;f++){var h=l[f]={},p=e.lon[f],d=e.lat[f];if(h.lonlat=n(p)&&n(d)?[+p,+d]:[a,a],c){var v=u[f];h.z=n(v)?v:a}}return o(t,e,{vals:c?u:[0,1],containerStr:"",cLetter:"z"}),r&&(l[0].t={labels:{lat:s(t,"lat:")+" ",lon:s(t,"lon:")+" "}}),l}},52414:function(t,e,r){"use strict";var n=r(92770),i=r(71828),a=r(7901),o=r(21081),s=r(50606).BADNUM,l=r(18214).makeBlank;t.exports=function(t){var e=t[0].trace,r=!0===e.visible&&0!==e._length,u=e._opts={heatmap:{layout:{visibility:"none"},paint:{}},geojson:l()};if(!r)return u;var c,f=[],h=e.z,p=e.radius,d=i.isArrayOrTypedArray(h)&&h.length,v=i.isArrayOrTypedArray(p);for(c=0;c<t.length;c++){var g=t[c],y=g.lonlat;if(y[0]!==s){var m={};if(d){var x=g.z;m.z=x!==s?x:0}v&&(m.r=n(p[c])&&p[c]>0?+p[c]:0),f.push({type:"Feature",geometry:{type:"Point",coordinates:y},properties:m})}}var b=o.extractOpts(e),_=b.reversescale?o.flipScale(b.colorscale):b.colorscale,w=_[0][1],T=["interpolate",["linear"],["heatmap-density"],0,a.opacity(w)<1?w:a.addOpacity(w,0)];for(c=1;c<_.length;c++)T.push(_[c][0],_[c][1]);var k=["interpolate",["linear"],["get","z"],b.min,0,b.max,1];return i.extendFlat(u.heatmap.paint,{"heatmap-weight":d?k:1/(b.max-b.min),"heatmap-color":T,"heatmap-radius":v?{type:"identity",property:"r"}:e.radius,"heatmap-opacity":e.opacity}),u.geojson={type:"FeatureCollection",features:f},u.heatmap.layout.visibility="visible",u}},79429:function(t,e,r){"use strict";var n=r(71828),i=r(1586),a=r(64096);t.exports=function(t,e,r,o){function s(r,i){return n.coerce(t,e,a,r,i)}var l=s("lon")||[],u=s("lat")||[],c=Math.min(l.length,u.length);c?(e._length=c,s("z"),s("radius"),s("below"),s("text"),s("hovertext"),s("hovertemplate"),i(t,e,o,s,{prefix:"",cLetter:"z"})):e.visible=!1}},62474:function(t){"use strict";t.exports=function(t,e){return t.lon=e.lon,t.lat=e.lat,t.z=e.z,t}},84684:function(t,e,r){"use strict";var n=r(89298),i=r(28178).hoverPoints,a=r(28178).getExtraText;t.exports=function(t,e,r){var o=i(t,e,r);if(o){var s=o[0],l=s.cd,u=l[0].trace,c=l[s.index];if(delete s.color,"z"in c){var f=s.subplot.mockAxis;s.z=c.z,s.zLabel=n.tickText(f,f.c2l(c.z),"hover").text}return s.extraText=a(u,c,l[0].t.labels),[s]}}},93814:function(t,e,r){"use strict";t.exports={attributes:r(64096),supplyDefaults:r(79429),colorbar:r(61243),formatLabels:r(15636),calc:r(85070),plot:r(7336),hoverPoints:r(84684),eventData:r(62474),getBelow:function(t,e){for(var r=e.getMapLayers(),n=0;n<r.length;n++){var i=r[n],a=i.id;if("symbol"===i.type&&"string"==typeof a&&-1===a.indexOf("plotly-"))return a}},moduleType:"trace",name:"densitymapbox",basePlotModule:r(50101),categories:["mapbox","gl","showLegend"],meta:{hr_name:"density_mapbox"}}},7336:function(t,e,r){"use strict";var n=r(52414),i=r(77734).traceLayerPrefix;function a(t,e){this.type="densitymapbox",this.subplot=t,this.uid=e,this.sourceId="source-"+e,this.layerList=[["heatmap",i+e+"-heatmap"]],this.below=null}var o=a.prototype;o.update=function(t){var e=this.subplot,r=this.layerList,i=n(t),a=e.belowLookup["trace-"+this.uid];e.map.getSource(this.sourceId).setData(i.geojson),a!==this.below&&(this._removeLayers(),this._addLayers(i,a),this.below=a);for(var o=0;o<r.length;o++){var s=r[o],l=s[0],u=s[1],c=i[l];e.setOptions(u,"setLayoutProperty",c.layout),"visible"===c.layout.visibility&&e.setOptions(u,"setPaintProperty",c.paint)}},o._addLayers=function(t,e){for(var r=this.subplot,n=this.layerList,i=this.sourceId,a=0;a<n.length;a++){var o=n[a],s=o[0],l=t[s];r.addLayer({type:s,id:o[1],source:i,layout:l.layout,paint:l.paint},e)}},o._removeLayers=function(){for(var t=this.subplot.map,e=this.layerList,r=e.length-1;r>=0;r--)t.removeLayer(e[r][1])},o.dispose=function(){var t=this.subplot.map;this._removeLayers(),t.removeSource(this.sourceId)},t.exports=function(t,e){var r=e[0].trace,i=new a(t,r.uid),o=i.sourceId,s=n(e),l=i.below=t.belowLookup["trace-"+r.uid];return t.map.addSource(o,{type:"geojson",data:s.geojson}),i._addLayers(s,l),i}},49789:function(t,e,r){"use strict";var n=r(71828);t.exports=function(t,e){for(var r=0;r<t.length;r++)t[r].i=r;n.mergeArray(e.text,t,"tx"),n.mergeArray(e.hovertext,t,"htx");var i=e.marker;if(i){n.mergeArray(i.opacity,t,"mo"),n.mergeArray(i.color,t,"mc");var a=i.line;a&&(n.mergeArray(a.color,t,"mlc"),n.mergeArrayCastPositive(a.width,t,"mlw"))}}},1285:function(t,e,r){"use strict";var n,i=r(1486),a=r(82196).line,o=r(9012),s=r(12663).axisHoverFormat,l=r(5386).f,u=r(5386).s,c=r(18517),f=r(1426).extendFlat,h=r(7901);t.exports={x:i.x,x0:i.x0,dx:i.dx,y:i.y,y0:i.y0,dy:i.dy,xperiod:i.xperiod,yperiod:i.yperiod,xperiod0:i.xperiod0,yperiod0:i.yperiod0,xperiodalignment:i.xperiodalignment,yperiodalignment:i.yperiodalignment,xhoverformat:s("x"),yhoverformat:s("y"),hovertext:i.hovertext,hovertemplate:l({},{keys:c.eventDataKeys}),hoverinfo:f({},o.hoverinfo,{flags:["name","x","y","text","percent initial","percent previous","percent total"]}),textinfo:{valType:"flaglist",flags:["label","text","percent initial","percent previous","percent total","value"],extras:["none"],editType:"plot",arrayOk:!1},texttemplate:u({editType:"plot"},{keys:c.eventDataKeys.concat(["label","value"])}),text:i.text,textposition:i.textposition,insidetextanchor:f({},i.insidetextanchor,{dflt:"middle"}),textangle:f({},i.textangle,{dflt:0}),textfont:i.textfont,insidetextfont:i.insidetextfont,outsidetextfont:i.outsidetextfont,constraintext:i.constraintext,cliponaxis:i.cliponaxis,orientation:f({},i.orientation,{}),offset:f({},i.offset,{arrayOk:!1}),width:f({},i.width,{arrayOk:!1}),marker:(n=f({},i.marker),delete n.pattern,n),connector:{fillcolor:{valType:"color",editType:"style"},line:{color:f({},a.color,{dflt:h.defaultLine}),width:f({},a.width,{dflt:0,editType:"plot"}),dash:a.dash,editType:"style"},visible:{valType:"boolean",dflt:!0,editType:"plot"},editType:"plot"},offsetgroup:i.offsetgroup,alignmentgroup:i.alignmentgroup}},9532:function(t,e,r){"use strict";var n=r(89298),i=r(42973),a=r(49789),o=r(66279),s=r(50606).BADNUM;function l(t){return t===s?0:t}t.exports=function(t,e){var r,u,c,f,h,p,d,v,g=n.getFromId(t,e.xaxis||"x"),y=n.getFromId(t,e.yaxis||"y");"h"===e.orientation?(r=g.makeCalcdata(e,"x"),c=y.makeCalcdata(e,"y"),f=i(e,y,"y",c),h=!!e.yperiodalignment,p="y"):(r=y.makeCalcdata(e,"y"),c=g.makeCalcdata(e,"x"),f=i(e,g,"x",c),h=!!e.xperiodalignment,p="x"),u=f.vals;var m,x=Math.min(u.length,r.length),b=new Array(x);for(e._base=[],d=0;d<x;d++){r[d]<0&&(r[d]=s);var _=!1;r[d]!==s&&d+1<x&&r[d+1]!==s&&(_=!0),v=b[d]={p:u[d],s:r[d],cNext:_},e._base[d]=-.5*v.s,h&&(b[d].orig_p=c[d],b[d][p+"End"]=f.ends[d],b[d][p+"Start"]=f.starts[d]),e.ids&&(v.id=String(e.ids[d])),0===d&&(b[0].vTotal=0),b[0].vTotal+=l(v.s),v.begR=l(v.s)/l(b[0].s)}for(d=0;d<x;d++)(v=b[d]).s!==s&&(v.sumR=v.s/b[0].vTotal,v.difR=void 0!==m?v.s/m:1,m=v.s);return a(b,e),o(b,e),b}},18517:function(t){"use strict";t.exports={eventDataKeys:["percentInitial","percentPrevious","percentTotal"]}},8984:function(t,e,r){"use strict";var n=r(11661).setGroupPositions;t.exports=function(t,e){var r,i,a=t._fullLayout,o=t._fullData,s=t.calcdata,l=e.xaxis,u=e.yaxis,c=[],f=[],h=[];for(i=0;i<o.length;i++){var p=o[i],d="h"===p.orientation;!0===p.visible&&p.xaxis===l._id&&p.yaxis===u._id&&"funnel"===p.type&&(r=s[i],d?h.push(r):f.push(r),c.push(r))}var v={mode:a.funnelmode,norm:a.funnelnorm,gap:a.funnelgap,groupgap:a.funnelgroupgap};for(n(t,l,u,f,v),n(t,u,l,h,v),i=0;i<c.length;i++){r=c[i];for(var g=0;g<r.length;g++)g+1<r.length&&(r[g].nextP0=r[g+1].p0,r[g].nextS0=r[g+1].s0,r[g].nextP1=r[g+1].p1,r[g].nextS1=r[g+1].s1)}}},26199:function(t,e,r){"use strict";var n=r(71828),i=r(26125),a=r(90769).handleText,o=r(67513),s=r(73927),l=r(1285),u=r(7901);t.exports={supplyDefaults:function(t,e,r,i){function c(r,i){return n.coerce(t,e,l,r,i)}if(o(t,e,i,c)){s(t,e,i,c),c("xhoverformat"),c("yhoverformat"),c("orientation",e.y&&!e.x?"v":"h"),c("offset"),c("width");var f=c("text");c("hovertext"),c("hovertemplate");var h=c("textposition");a(t,e,i,c,h,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!0,moduleHasCliponaxis:!0,moduleHasTextangle:!0,moduleHasInsideanchor:!0}),"none"===e.textposition||e.texttemplate||c("textinfo",Array.isArray(f)?"text+value":"value");var p=c("marker.color",r);c("marker.line.color",u.defaultLine),c("marker.line.width"),c("connector.visible")&&(c("connector.fillcolor",function(t){var e=n.isArrayOrTypedArray(t)?"#000":t;return u.addOpacity(e,.5*u.opacity(e))}(p)),c("connector.line.width")&&(c("connector.line.color"),c("connector.line.dash")))}else e.visible=!1},crossTraceDefaults:function(t,e){var r,a;function o(t){return n.coerce(a._input,a,l,t)}if("group"===e.funnelmode)for(var s=0;s<t.length;s++)r=(a=t[s])._input,i(r,a,e,o)}}},34598:function(t){"use strict";t.exports=function(t,e){return t.x="xVal"in e?e.xVal:e.x,t.y="yVal"in e?e.yVal:e.y,"percentInitial"in e&&(t.percentInitial=e.percentInitial),"percentPrevious"in e&&(t.percentPrevious=e.percentPrevious),"percentTotal"in e&&(t.percentTotal=e.percentTotal),e.xa&&(t.xaxis=e.xa),e.ya&&(t.yaxis=e.ya),t}},63341:function(t,e,r){"use strict";var n=r(7901).opacity,i=r(95423).hoverOnBars,a=r(71828).formatPercent;t.exports=function(t,e,r,o,s){var l=i(t,e,r,o,s);if(l){var u=l.cd,c=u[0].trace,f="h"===c.orientation,h=u[l.index];l[(f?"x":"y")+"LabelVal"]=h.s,l.percentInitial=h.begR,l.percentInitialLabel=a(h.begR,1),l.percentPrevious=h.difR,l.percentPreviousLabel=a(h.difR,1),l.percentTotal=h.sumR,l.percentTotalLabel=a(h.sumR,1);var p=h.hi||c.hoverinfo,d=[];if(p&&"none"!==p&&"skip"!==p){var v="all"===p,g=p.split("+"),y=function(t){return v||-1!==g.indexOf(t)};y("percent initial")&&d.push(l.percentInitialLabel+" of initial"),y("percent previous")&&d.push(l.percentPreviousLabel+" of previous"),y("percent total")&&d.push(l.percentTotalLabel+" of total")}return l.extraText=d.join("<br>"),l.color=function(t,e){var r=t.marker,i=e.mc||r.color,a=e.mlc||r.line.color,o=e.mlw||r.line.width;return n(i)?i:n(a)&&o?a:void 0}(c,h),[l]}}},51759:function(t,e,r){"use strict";t.exports={attributes:r(1285),layoutAttributes:r(10440),supplyDefaults:r(26199).supplyDefaults,crossTraceDefaults:r(26199).crossTraceDefaults,supplyLayoutDefaults:r(93138),calc:r(9532),crossTraceCalc:r(8984),plot:r(80461),style:r(68266).style,hoverPoints:r(63341),eventData:r(34598),selectPoints:r(81974),moduleType:"trace",name:"funnel",basePlotModule:r(93612),categories:["bar-like","cartesian","svg","oriented","showLegend","zoomScale"],meta:{}}},10440:function(t){"use strict";t.exports={funnelmode:{valType:"enumerated",values:["stack","group","overlay"],dflt:"stack",editType:"calc"},funnelgap:{valType:"number",min:0,max:1,editType:"calc"},funnelgroupgap:{valType:"number",min:0,max:1,dflt:0,editType:"calc"}}},93138:function(t,e,r){"use strict";var n=r(71828),i=r(10440);t.exports=function(t,e,r){var a=!1;function o(r,a){return n.coerce(t,e,i,r,a)}for(var s=0;s<r.length;s++){var l=r[s];if(l.visible&&"funnel"===l.type){a=!0;break}}a&&(o("funnelmode"),o("funnelgap",.2),o("funnelgroupgap"))}},80461:function(t,e,r){"use strict";var n=r(39898),i=r(71828),a=r(91424),o=r(50606).BADNUM,s=r(17295),l=r(72597).clearMinTextSize;function u(t,e,r,n){var i=[],a=[],o=n?e:r,s=n?r:e;return i[0]=o.c2p(t.s0,!0),a[0]=s.c2p(t.p0,!0),i[1]=o.c2p(t.s1,!0),a[1]=s.c2p(t.p1,!0),i[2]=o.c2p(t.nextS0,!0),a[2]=s.c2p(t.nextP0,!0),i[3]=o.c2p(t.nextS1,!0),a[3]=s.c2p(t.nextP1,!0),n?[i,a]:[a,i]}t.exports=function(t,e,r,c){var f=t._fullLayout;l("funnel",f),function(t,e,r,s){var l=e.xaxis,c=e.yaxis;i.makeTraceGroups(s,r,"trace bars").each((function(r){var s=n.select(this),f=r[0].trace,h=i.ensureSingle(s,"g","regions");if(f.connector&&f.connector.visible){var p="h"===f.orientation,d=h.selectAll("g.region").data(i.identity);d.enter().append("g").classed("region",!0),d.exit().remove();var v=d.size();d.each((function(r,s){if(s===v-1||r.cNext){var f=u(r,l,c,p),h=f[0],d=f[1],g="";h[0]!==o&&d[0]!==o&&h[1]!==o&&d[1]!==o&&h[2]!==o&&d[2]!==o&&h[3]!==o&&d[3]!==o&&(g+=p?"M"+h[0]+","+d[1]+"L"+h[2]+","+d[2]+"H"+h[3]+"L"+h[1]+","+d[1]+"Z":"M"+h[1]+","+d[1]+"L"+h[2]+","+d[3]+"V"+d[2]+"L"+h[1]+","+d[0]+"Z"),""===g&&(g="M0,0Z"),i.ensureSingle(n.select(this),"path").attr("d",g).call(a.setClipUrl,e.layerClipId,t)}}))}else h.remove()}))}(t,e,r,c),function(t,e,r,o){var s=e.xaxis,l=e.yaxis;i.makeTraceGroups(o,r,"trace bars").each((function(r){var o=n.select(this),c=r[0].trace,f=i.ensureSingle(o,"g","lines");if(c.connector&&c.connector.visible&&c.connector.line.width){var h="h"===c.orientation,p=f.selectAll("g.line").data(i.identity);p.enter().append("g").classed("line",!0),p.exit().remove();var d=p.size();p.each((function(r,o){if(o===d-1||r.cNext){var c=u(r,s,l,h),f=c[0],p=c[1],v="";void 0!==f[3]&&void 0!==p[3]&&(h?(v+="M"+f[0]+","+p[1]+"L"+f[2]+","+p[2],v+="M"+f[1]+","+p[1]+"L"+f[3]+","+p[2]):(v+="M"+f[1]+","+p[1]+"L"+f[2]+","+p[3],v+="M"+f[1]+","+p[0]+"L"+f[2]+","+p[2])),""===v&&(v="M0,0Z"),i.ensureSingle(n.select(this),"path").attr("d",v).call(a.setClipUrl,e.layerClipId,t)}}))}else f.remove()}))}(t,e,r,c),s.plot(t,e,r,c,{mode:f.funnelmode,norm:f.funnelmode,gap:f.funnelgap,groupgap:f.funnelgroupgap})}},68266:function(t,e,r){"use strict";var n=r(39898),i=r(91424),a=r(7901),o=r(37822).DESELECTDIM,s=r(16688),l=r(72597).resizeText,u=s.styleTextPoints;t.exports={style:function(t,e,r){var s=r||n.select(t).selectAll("g.funnellayer").selectAll("g.trace");l(t,s,"funnel"),s.style("opacity",(function(t){return t[0].trace.opacity})),s.each((function(e){var r=n.select(this),s=e[0].trace;r.selectAll(".point > path").each((function(t){if(!t.isBlank){var e=s.marker;n.select(this).call(a.fill,t.mc||e.color).call(a.stroke,t.mlc||e.line.color).call(i.dashLine,e.line.dash,t.mlw||e.line.width).style("opacity",s.selectedpoints&&!t.selected?o:1)}})),u(r,s,t),r.selectAll(".regions").each((function(){n.select(this).selectAll("path").style("stroke-width",0).call(a.fill,s.connector.fillcolor)})),r.selectAll(".lines").each((function(){var t=s.connector.line;i.lineGroupStyle(n.select(this).selectAll("path"),t.width,t.color,t.dash)}))}))}}},86807:function(t,e,r){"use strict";var n=r(34e3),i=r(9012),a=r(27670).Y,o=r(5386).f,s=r(5386).s,l=r(1426).extendFlat;t.exports={labels:n.labels,label0:n.label0,dlabel:n.dlabel,values:n.values,marker:{colors:n.marker.colors,line:{color:l({},n.marker.line.color,{dflt:null}),width:l({},n.marker.line.width,{dflt:1}),editType:"calc"},editType:"calc"},text:n.text,hovertext:n.hovertext,scalegroup:l({},n.scalegroup,{}),textinfo:l({},n.textinfo,{flags:["label","text","value","percent"]}),texttemplate:s({editType:"plot"},{keys:["label","color","value","text","percent"]}),hoverinfo:l({},i.hoverinfo,{flags:["label","text","value","percent","name"]}),hovertemplate:o({},{keys:["label","color","value","text","percent"]}),textposition:l({},n.textposition,{values:["inside","none"],dflt:"inside"}),textfont:n.textfont,insidetextfont:n.insidetextfont,title:{text:n.title.text,font:n.title.font,position:l({},n.title.position,{values:["top left","top center","top right"],dflt:"top center"}),editType:"plot"},domain:a({name:"funnelarea",trace:!0,editType:"calc"}),aspectratio:{valType:"number",min:0,dflt:1,editType:"plot"},baseratio:{valType:"number",min:0,max:1,dflt:.333,editType:"plot"}}},6452:function(t,e,r){"use strict";var n=r(74875);e.name="funnelarea",e.plot=function(t,r,i,a){n.plotBasePlot(e.name,t,r,i,a)},e.clean=function(t,r,i,a){n.cleanBasePlot(e.name,t,r,i,a)}},89574:function(t,e,r){"use strict";var n=r(32354);t.exports={calc:function(t,e){return n.calc(t,e)},crossTraceCalc:function(t){n.crossTraceCalc(t,{type:"funnelarea"})}}},86282:function(t,e,r){"use strict";var n=r(71828),i=r(86807),a=r(27670).c,o=r(90769).handleText,s=r(37434).handleLabelsAndValues;t.exports=function(t,e,r,l){function u(r,a){return n.coerce(t,e,i,r,a)}var c=u("labels"),f=u("values"),h=s(c,f),p=h.len;if(e._hasLabels=h.hasLabels,e._hasValues=h.hasValues,!e._hasLabels&&e._hasValues&&(u("label0"),u("dlabel")),p){e._length=p,u("marker.line.width")&&u("marker.line.color",l.paper_bgcolor),u("marker.colors"),u("scalegroup");var d,v=u("text"),g=u("texttemplate");if(g||(d=u("textinfo",Array.isArray(v)?"text+percent":"percent")),u("hovertext"),u("hovertemplate"),g||d&&"none"!==d){var y=u("textposition");o(t,e,l,u,y,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1})}a(e,l,u),u("title.text")&&(u("title.position"),n.coerceFont(u,"title.font",l.font)),u("aspectratio"),u("baseratio")}else e.visible=!1}},10421:function(t,e,r){"use strict";t.exports={moduleType:"trace",name:"funnelarea",basePlotModule:r(6452),categories:["pie-like","funnelarea","showLegend"],attributes:r(86807),layoutAttributes:r(80097),supplyDefaults:r(86282),supplyLayoutDefaults:r(57402),calc:r(89574).calc,crossTraceCalc:r(89574).crossTraceCalc,plot:r(79187),style:r(71858),styleOne:r(63463),meta:{}}},80097:function(t,e,r){"use strict";var n=r(92774).hiddenlabels;t.exports={hiddenlabels:n,funnelareacolorway:{valType:"colorlist",editType:"calc"},extendfunnelareacolors:{valType:"boolean",dflt:!0,editType:"calc"}}},57402:function(t,e,r){"use strict";var n=r(71828),i=r(80097);t.exports=function(t,e){function r(r,a){return n.coerce(t,e,i,r,a)}r("hiddenlabels"),r("funnelareacolorway",e.colorway),r("extendfunnelareacolors")}},79187:function(t,e,r){"use strict";var n=r(39898),i=r(91424),a=r(71828),o=a.strScale,s=a.strTranslate,l=r(63893),u=r(17295).toMoveInsideBar,c=r(72597),f=c.recordMinTextSize,h=c.clearMinTextSize,p=r(53581),d=r(14575),v=d.attachFxHandlers,g=d.determineInsideTextFont,y=d.layoutAreas,m=d.prerenderTitles,x=d.positionTitleOutside,b=d.formatSliceLabel;function _(t,e){return"l"+(e[0]-t[0])+","+(e[1]-t[1])}t.exports=function(t,e){var r=t._context.staticPlot,c=t._fullLayout;h("funnelarea",c),m(e,t),y(e,c._size),a.makeTraceGroups(c._funnelarealayer,e,"trace").each((function(e){var h=n.select(this),d=e[0],y=d.trace;!function(t){if(t.length){var e=t[0],r=e.trace,n=r.aspectratio,i=r.baseratio;i>.999&&(i=.999);var a,o,s,l=Math.pow(i,2),u=e.vTotal,c=u,f=u*l/(1-l)/u,h=[];for(h.push(E()),o=t.length-1;o>-1;o--)if(!(s=t[o]).hidden){var p=s.v/c;f+=p,h.push(E())}var d=1/0,v=-1/0;for(o=0;o<h.length;o++)a=h[o],d=Math.min(d,a[1]),v=Math.max(v,a[1]);for(o=0;o<h.length;o++)h[o][1]-=(v+d)/2;var g=h[h.length-1][0],y=e.r,m=(v-d)/2,x=y/g,b=y/m*n;for(e.r=b*m,o=0;o<h.length;o++)h[o][0]*=x,h[o][1]*=b;var _,w,T=[-(a=h[0])[0],a[1]],k=[a[0],a[1]],A=0;for(o=t.length-1;o>-1;o--)if(!(s=t[o]).hidden){var M=h[A+=1][0],S=h[A][1];s.TL=[-M,S],s.TR=[M,S],s.BL=T,s.BR=k,s.pxmid=(_=s.TR,w=s.BR,[.5*(_[0]+w[0]),.5*(_[1]+w[1])]),T=s.TL,k=s.TR}}function E(){var t,e={x:t=Math.sqrt(f),y:-t};return[e.x,e.y]}}(e),h.each((function(){var h=n.select(this).selectAll("g.slice").data(e);h.enter().append("g").classed("slice",!0),h.exit().remove(),h.each((function(o,s){if(o.hidden)n.select(this).selectAll("path,g").remove();else{o.pointNumber=o.i,o.curveNumber=y.index;var h=d.cx,m=d.cy,x=n.select(this),w=x.selectAll("path.surface").data([o]);w.enter().append("path").classed("surface",!0).style({"pointer-events":r?"none":"all"}),x.call(v,t,e);var T="M"+(h+o.TR[0])+","+(m+o.TR[1])+_(o.TR,o.BR)+_(o.BR,o.BL)+_(o.BL,o.TL)+"Z";w.attr("d",T),b(t,o,d);var k=p.castOption(y.textposition,o.pts),A=x.selectAll("g.slicetext").data(o.text&&"none"!==k?[0]:[]);A.enter().append("g").classed("slicetext",!0),A.exit().remove(),A.each((function(){var r=a.ensureSingle(n.select(this),"text","",(function(t){t.attr("data-notex",1)})),p=a.ensureUniformFontSize(t,g(y,o,c.font));r.text(o.text).attr({class:"slicetext",transform:"","text-anchor":"middle"}).call(i.font,p).call(l.convertToTspans,t);var d,v,x,b=i.bBox(r.node()),_=Math.min(o.BL[1],o.BR[1])+m,w=Math.max(o.TL[1],o.TR[1])+m;v=Math.max(o.TL[0],o.BL[0])+h,x=Math.min(o.TR[0],o.BR[0])+h,(d=u(v,x,_,w,b,{isHorizontal:!0,constrained:!0,angle:0,anchor:"middle"})).fontSize=p.size,f(y.type,d,c),e[s].transform=d,a.setTransormAndDisplay(r,d)}))}}));var m=n.select(this).selectAll("g.titletext").data(y.title.text?[0]:[]);m.enter().append("g").classed("titletext",!0),m.exit().remove(),m.each((function(){var e=a.ensureSingle(n.select(this),"text","",(function(t){t.attr("data-notex",1)})),r=y.title.text;y._meta&&(r=a.templateString(r,y._meta)),e.text(r).attr({class:"titletext",transform:"","text-anchor":"middle"}).call(i.font,y.title.font).call(l.convertToTspans,t);var u=x(d,c._size);e.attr("transform",s(u.x,u.y)+o(Math.min(1,u.scale))+s(u.tx,u.ty))}))}))}))}},71858:function(t,e,r){"use strict";var n=r(39898),i=r(63463),a=r(72597).resizeText;t.exports=function(t){var e=t._fullLayout._funnelarealayer.selectAll(".trace");a(t,e,"funnelarea"),e.each((function(t){var e=t[0].trace,r=n.select(this);r.style({opacity:e.opacity}),r.selectAll("path.surface").each((function(t){n.select(this).call(i,t,e)}))}))}},21606:function(t,e,r){"use strict";var n=r(82196),i=r(9012),a=r(41940),o=r(12663).axisHoverFormat,s=r(5386).f,l=r(5386).s,u=r(50693),c=r(1426).extendFlat;t.exports=c({z:{valType:"data_array",editType:"calc"},x:c({},n.x,{impliedEdits:{xtype:"array"}}),x0:c({},n.x0,{impliedEdits:{xtype:"scaled"}}),dx:c({},n.dx,{impliedEdits:{xtype:"scaled"}}),y:c({},n.y,{impliedEdits:{ytype:"array"}}),y0:c({},n.y0,{impliedEdits:{ytype:"scaled"}}),dy:c({},n.dy,{impliedEdits:{ytype:"scaled"}}),xperiod:c({},n.xperiod,{impliedEdits:{xtype:"scaled"}}),yperiod:c({},n.yperiod,{impliedEdits:{ytype:"scaled"}}),xperiod0:c({},n.xperiod0,{impliedEdits:{xtype:"scaled"}}),yperiod0:c({},n.yperiod0,{impliedEdits:{ytype:"scaled"}}),xperiodalignment:c({},n.xperiodalignment,{impliedEdits:{xtype:"scaled"}}),yperiodalignment:c({},n.yperiodalignment,{impliedEdits:{ytype:"scaled"}}),text:{valType:"data_array",editType:"calc"},hovertext:{valType:"data_array",editType:"calc"},transpose:{valType:"boolean",dflt:!1,editType:"calc"},xtype:{valType:"enumerated",values:["array","scaled"],editType:"calc+clearAxisTypes"},ytype:{valType:"enumerated",values:["array","scaled"],editType:"calc+clearAxisTypes"},zsmooth:{valType:"enumerated",values:["fast","best",!1],dflt:!1,editType:"calc"},hoverongaps:{valType:"boolean",dflt:!0,editType:"none"},connectgaps:{valType:"boolean",editType:"calc"},xgap:{valType:"number",dflt:0,min:0,editType:"plot"},ygap:{valType:"number",dflt:0,min:0,editType:"plot"},xhoverformat:o("x"),yhoverformat:o("y"),zhoverformat:o("z",1),hovertemplate:s(),texttemplate:l({arrayOk:!1,editType:"plot"},{keys:["x","y","z","text"]}),textfont:a({editType:"plot",autoSize:!0,autoColor:!0,colorEditType:"style"}),showlegend:c({},i.showlegend,{dflt:!1})},{transforms:void 0},u("",{cLetter:"z",autoColorDflt:!1}))},90757:function(t,e,r){"use strict";var n=r(73972),i=r(71828),a=r(89298),o=r(42973),s=r(17562),l=r(78803),u=r(68296),c=r(4742),f=r(824),h=r(43907),p=r(70769),d=r(50606).BADNUM;function v(t){for(var e=[],r=t.length,n=0;n<r;n++){var i=t[n];i!==d&&e.push(i)}return e}t.exports=function(t,e){var r,g,y,m,x,b,_,w,T,k,A,M=a.getFromId(t,e.xaxis||"x"),S=a.getFromId(t,e.yaxis||"y"),E=n.traceIs(e,"contour"),L=n.traceIs(e,"histogram"),C=n.traceIs(e,"gl2d"),P=E?"best":e.zsmooth;if(M._minDtick=0,S._minDtick=0,L)m=(A=s(t,e)).orig_x,r=A.x,g=A.x0,y=A.dx,w=A.orig_y,x=A.y,b=A.y0,_=A.dy,T=A.z;else{var O=e.z;i.isArray1D(O)?(u(e,M,S,"x","y",["z"]),r=e._x,x=e._y,O=e._z):(m=e.x?M.makeCalcdata(e,"x"):[],w=e.y?S.makeCalcdata(e,"y"):[],r=o(e,M,"x",m).vals,x=o(e,S,"y",w).vals,e._x=r,e._y=x),g=e.x0,y=e.dx,b=e.y0,_=e.dy,T=c(O,e,M,S)}function I(t){P=e._input.zsmooth=e.zsmooth=!1,i.warn('cannot use zsmooth: "fast": '+t)}if((M.rangebreaks||S.rangebreaks)&&(T=function(t,e,r){for(var n=[],i=-1,a=0;a<r.length;a++)if(e[a]!==d){n[++i]=[];for(var o=0;o<r[a].length;o++)t[o]!==d&&n[i].push(r[a][o])}return n}(r,x,T),L||(r=v(r),x=v(x),e._x=r,e._y=x)),L||!E&&!e.connectgaps||(e._emptypoints=h(T),f(T,e._emptypoints)),"fast"===P)if("log"===M.type||"log"===S.type)I("log axis found");else if(!L){if(r.length){var D=(r[r.length-1]-r[0])/(r.length-1),z=Math.abs(D/100);for(k=0;k<r.length-1;k++)if(Math.abs(r[k+1]-r[k]-D)>z){I("x scale is not linear");break}}if(x.length&&"fast"===P){var R=(x[x.length-1]-x[0])/(x.length-1),F=Math.abs(R/100);for(k=0;k<x.length-1;k++)if(Math.abs(x[k+1]-x[k]-R)>F){I("y scale is not linear");break}}}var B=i.maxRowLength(T),N="scaled"===e.xtype?"":r,j=p(e,N,g,y,B,M),U="scaled"===e.ytype?"":x,V=p(e,U,b,_,T.length,S);C||(e._extremes[M._id]=a.findExtremes(M,j),e._extremes[S._id]=a.findExtremes(S,V));var H={x:j,y:V,z:T,text:e._text||e.text,hovertext:e._hovertext||e.hovertext};if(e.xperiodalignment&&m&&(H.orig_x=m),e.yperiodalignment&&w&&(H.orig_y=w),N&&N.length===j.length-1&&(H.xCenter=N),U&&U.length===V.length-1&&(H.yCenter=U),L&&(H.xRanges=A.xRanges,H.yRanges=A.yRanges,H.pts=A.pts),E||l(t,e,{vals:T,cLetter:"z"}),E&&e.contours&&"heatmap"===e.contours.coloring){var q={type:"contour"===e.type?"heatmap":"histogram2d",xcalendar:e.xcalendar,ycalendar:e.ycalendar};H.xfill=p(q,N,g,y,B,M),H.yfill=p(q,U,b,_,T.length,S)}return[H]}},4742:function(t,e,r){"use strict";var n=r(92770),i=r(71828),a=r(50606).BADNUM;t.exports=function(t,e,r,o){var s,l,u,c,f,h;function p(t){if(n(t))return+t}if(e&&e.transpose){for(s=0,f=0;f<t.length;f++)s=Math.max(s,t[f].length);if(0===s)return!1;u=function(t){return t.length},c=function(t,e,r){return(t[r]||[])[e]}}else s=t.length,u=function(t,e){return t[e].length},c=function(t,e,r){return(t[e]||[])[r]};var d=function(t,e,r){return e===a||r===a?a:c(t,e,r)};function v(t){if(e&&"carpet"!==e.type&&"contourcarpet"!==e.type&&t&&"category"===t.type&&e["_"+t._id.charAt(0)].length){var r=t._id.charAt(0),n={},o=e["_"+r+"CategoryMap"]||e[r];for(f=0;f<o.length;f++)n[o[f]]=f;return function(e){var r=n[t._categories[e]];return r+1?r:a}}return i.identity}var g=v(r),y=v(o);o&&"category"===o.type&&(s=o._categories.length);var m=new Array(s);for(f=0;f<s;f++)for(l=r&&"category"===r.type?r._categories.length:u(t,f),m[f]=new Array(l),h=0;h<l;h++)m[f][h]=p(d(t,y(f),g(h)));return m}},61243:function(t){"use strict";t.exports={min:"zmin",max:"zmax"}},68296:function(t,e,r){"use strict";var n=r(71828),i=r(50606).BADNUM,a=r(42973);t.exports=function(t,e,r,o,s,l){var u=t._length,c=e.makeCalcdata(t,o),f=r.makeCalcdata(t,s);c=a(t,e,o,c).vals,f=a(t,r,s,f).vals;var h,p,d,v,g=t.text,y=void 0!==g&&n.isArray1D(g),m=t.hovertext,x=void 0!==m&&n.isArray1D(m),b=n.distinctVals(c),_=b.vals,w=n.distinctVals(f),T=w.vals,k=[],A=T.length,M=_.length;for(h=0;h<l.length;h++)k[h]=n.init2dArray(A,M);y&&(d=n.init2dArray(A,M)),x&&(v=n.init2dArray(A,M));var S=n.init2dArray(A,M);for(h=0;h<u;h++)if(c[h]!==i&&f[h]!==i){var E=n.findBin(c[h]+b.minDiff/2,_),L=n.findBin(f[h]+w.minDiff/2,T);for(p=0;p<l.length;p++){var C=t[l[p]];k[p][L][E]=C[h],S[L][E]=h}y&&(d[L][E]=g[h]),x&&(v[L][E]=m[h])}for(t["_"+o]=_,t["_"+s]=T,p=0;p<l.length;p++)t["_"+l[p]]=k[p];y&&(t._text=d),x&&(t._hovertext=v),e&&"category"===e.type&&(t["_"+o+"CategoryMap"]=_.map((function(t){return e._categories[t]}))),r&&"category"===r.type&&(t["_"+s+"CategoryMap"]=T.map((function(t){return r._categories[t]}))),t._after2before=S}},76382:function(t,e,r){"use strict";var n=r(71828),i=r(67684),a=r(58623),o=r(73927),s=r(49901),l=r(1586),u=r(21606);t.exports=function(t,e,r,c){function f(r,i){return n.coerce(t,e,u,r,i)}i(t,e,f,c)?(o(t,e,c,f),f("xhoverformat"),f("yhoverformat"),f("text"),f("hovertext"),f("hovertemplate"),a(f,c),s(t,e,f,c),f("hoverongaps"),f("connectgaps",n.isArray1D(e.z)&&!1!==e.zsmooth),l(t,e,c,f,{prefix:"",cLetter:"z"})):e.visible=!1}},43907:function(t,e,r){"use strict";var n=r(71828).maxRowLength;t.exports=function(t){var e,r,i,a,o,s,l,u,c=[],f={},h=[],p=t[0],d=[],v=[0,0,0],g=n(t);for(r=0;r<t.length;r++)for(e=d,d=p,p=t[r+1]||[],i=0;i<g;i++)void 0===d[i]&&((s=(void 0!==d[i-1]?1:0)+(void 0!==d[i+1]?1:0)+(void 0!==e[i]?1:0)+(void 0!==p[i]?1:0))?(0===r&&s++,0===i&&s++,r===t.length-1&&s++,i===d.length-1&&s++,s<4&&(f[[r,i]]=[r,i,s]),c.push([r,i,s])):h.push([r,i]));for(;h.length;){for(l={},u=!1,o=h.length-1;o>=0;o--)(s=((f[[(r=(a=h[o])[0])-1,i=a[1]]]||v)[2]+(f[[r+1,i]]||v)[2]+(f[[r,i-1]]||v)[2]+(f[[r,i+1]]||v)[2])/20)&&(l[a]=[r,i,s],h.splice(o,1),u=!0);if(!u)throw"findEmpties iterated with no new neighbors";for(a in l)f[a]=l[a],c.push(l[a])}return c.sort((function(t,e){return e[2]-t[2]}))}},46248:function(t,e,r){"use strict";var n=r(30211),i=r(71828),a=r(89298),o=r(21081).extractOpts;t.exports=function(t,e,r,s,l){l||(l={});var u,c,f,h,p=l.isContour,d=t.cd[0],v=d.trace,g=t.xa,y=t.ya,m=d.x,x=d.y,b=d.z,_=d.xCenter,w=d.yCenter,T=d.zmask,k=v.zhoverformat,A=m,M=x;if(!1!==t.index){try{f=Math.round(t.index[1]),h=Math.round(t.index[0])}catch(e){return void i.error("Error hovering on heatmap, pointNumber must be [row,col], found:",t.index)}if(f<0||f>=b[0].length||h<0||h>b.length)return}else{if(n.inbox(e-m[0],e-m[m.length-1],0)>0||n.inbox(r-x[0],r-x[x.length-1],0)>0)return;if(p){var S;for(A=[2*m[0]-m[1]],S=1;S<m.length;S++)A.push((m[S]+m[S-1])/2);for(A.push([2*m[m.length-1]-m[m.length-2]]),M=[2*x[0]-x[1]],S=1;S<x.length;S++)M.push((x[S]+x[S-1])/2);M.push([2*x[x.length-1]-x[x.length-2]])}f=Math.max(0,Math.min(A.length-2,i.findBin(e,A))),h=Math.max(0,Math.min(M.length-2,i.findBin(r,M)))}var E,L,C=g.c2p(m[f]),P=g.c2p(m[f+1]),O=y.c2p(x[h]),I=y.c2p(x[h+1]);p?(E=d.orig_x||m,L=d.orig_y||x,P=C,u=E[f],I=O,c=L[h]):(E=d.orig_x||_||m,L=d.orig_y||w||x,u=_?E[f]:(E[f]+E[f+1])/2,c=w?L[h]:(L[h]+L[h+1])/2,g&&"category"===g.type&&(u=m[f]),y&&"category"===y.type&&(c=x[h]),v.zsmooth&&(C=P=g.c2p(u),O=I=y.c2p(c)));var D=b[h][f];if(T&&!T[h][f]&&(D=void 0),void 0!==D||v.hoverongaps){var z;Array.isArray(d.hovertext)&&Array.isArray(d.hovertext[h])?z=d.hovertext[h][f]:Array.isArray(d.text)&&Array.isArray(d.text[h])&&(z=d.text[h][f]);var R=o(v),F={type:"linear",range:[R.min,R.max],hoverformat:k,_separators:g._separators,_numFormat:g._numFormat},B=a.tickText(F,D,"hover").text;return[i.extendFlat(t,{index:v._after2before?v._after2before[h][f]:[h,f],distance:t.maxHoverDistance,spikeDistance:t.maxSpikeDistance,x0:C,x1:P,y0:O,y1:I,xLabelVal:u,yLabelVal:c,zLabelVal:D,zLabel:B,text:z})]}}},92165:function(t,e,r){"use strict";t.exports={attributes:r(21606),supplyDefaults:r(76382),calc:r(90757),plot:r(50347),colorbar:r(61243),style:r(70035),hoverPoints:r(46248),moduleType:"trace",name:"heatmap",basePlotModule:r(93612),categories:["cartesian","svg","2dMap","showLegend"],meta:{}}},824:function(t,e,r){"use strict";var n=r(71828),i=[[-1,0],[1,0],[0,-1],[0,1]];function a(t){return.5-.25*Math.min(1,.5*t)}function o(t,e,r){var n,a,o,s,l,u,c,f,h,p,d,v,g,y=0;for(s=0;s<e.length;s++){for(a=(n=e[s])[0],o=n[1],d=t[a][o],p=0,h=0,l=0;l<4;l++)(c=t[a+(u=i[l])[0]])&&void 0!==(f=c[o+u[1]])&&(0===p?v=g=f:(v=Math.min(v,f),g=Math.max(g,f)),h++,p+=f);if(0===h)throw"iterateInterp2d order is wrong: no defined neighbors";t[a][o]=p/h,void 0===d?h<4&&(y=1):(t[a][o]=(1+r)*t[a][o]-r*d,g>v&&(y=Math.max(y,Math.abs(t[a][o]-d)/(g-v))))}return y}t.exports=function(t,e){var r,i=1;for(o(t,e),r=0;r<e.length&&!(e[r][2]<4);r++);for(e=e.slice(r),r=0;r<100&&i>.01;r++)i=o(t,e,a(i));return i>.01&&n.log("interp2d didn't converge quickly",i),t}},58623:function(t,e,r){"use strict";var n=r(71828);t.exports=function(t,e){t("texttemplate");var r=n.extendFlat({},e.font,{color:"auto",size:"auto"});n.coerceFont(t,"textfont",r)}},70769:function(t,e,r){"use strict";var n=r(73972),i=r(71828).isArrayOrTypedArray;t.exports=function(t,e,r,a,o,s){var l,u,c,f=[],h=n.traceIs(t,"contour"),p=n.traceIs(t,"histogram"),d=n.traceIs(t,"gl2d");if(i(e)&&e.length>1&&!p&&"category"!==s.type){var v=e.length;if(!(v<=o))return h?e.slice(0,o):e.slice(0,o+1);if(h||d)f=e.slice(0,o);else if(1===o)f=[e[0]-.5,e[0]+.5];else{for(f=[1.5*e[0]-.5*e[1]],c=1;c<v;c++)f.push(.5*(e[c-1]+e[c]));f.push(1.5*e[v-1]-.5*e[v-2])}if(v<o){var g=f[f.length-1],y=g-f[f.length-2];for(c=v;c<o;c++)g+=y,f.push(g)}}else{var m=t[s._id.charAt(0)+"calendar"];for(l=p?s.r2c(r,0,m):i(e)&&1===e.length?e[0]:void 0===r?0:("log"===s.type?s.d2c:s.r2c)(r,0,m),u=a||1,c=h||d?0:-.5;c<o;c++)f.push(l+u*c)}return f}},50347:function(t,e,r){"use strict";var n=r(39898),i=r(84267),a=r(73972),o=r(91424),s=r(89298),l=r(71828),u=r(63893),c=r(8225),f=r(7901),h=r(21081).extractOpts,p=r(21081).makeColorScaleFuncFromTrace,d=r(77922),v=r(18783).LINE_SPACING,g="heatmap-label";function y(t){return t.selectAll("g."+g)}function m(t){y(t).remove()}function x(t,e){var r=e.length-2,n=l.constrain(l.findBin(t,e),0,r),i=e[n],a=e[n+1],o=l.constrain(n+(t-i)/(a-i)-.5,0,r),s=Math.round(o),u=Math.abs(o-s);return o&&o!==r&&u?{bin0:s,frac:u,bin1:Math.round(s+u/(o-s))}:{bin0:s,bin1:s,frac:0}}function b(t,e){var r=e.length-1,n=l.constrain(l.findBin(t,e),0,r),i=e[n],a=(t-i)/(e[n+1]-i)||0;return a<=0?{bin0:n,bin1:n,frac:0}:a<.5?{bin0:n,bin1:n+1,frac:a}:{bin0:n+1,bin1:n,frac:1-a}}function _(t,e,r){t[e]=r[0],t[e+1]=r[1],t[e+2]=r[2],t[e+3]=Math.round(255*r[3])}t.exports=function(t,e,r,w){var T=e.xaxis,k=e.yaxis;l.makeTraceGroups(w,r,"hm").each((function(e){var r,w,A,M,S,E,L,C,P=n.select(this),O=e[0],I=O.trace,D=I.xgap||0,z=I.ygap||0,R=O.z,F=O.x,B=O.y,N=O.xCenter,j=O.yCenter,U=a.traceIs(I,"contour"),V=U?"best":I.zsmooth,H=R.length,q=l.maxRowLength(R),G=!1,Z=!1;for(E=0;void 0===r&&E<F.length-1;)r=T.c2p(F[E]),E++;for(E=F.length-1;void 0===w&&E>0;)w=T.c2p(F[E]),E--;for(w<r&&(A=w,w=r,r=A,G=!0),E=0;void 0===M&&E<B.length-1;)M=k.c2p(B[E]),E++;for(E=B.length-1;void 0===S&&E>0;)S=k.c2p(B[E]),E--;if(S<M&&(A=M,M=S,S=A,Z=!0),U&&(N=F,j=B,F=O.xfill,B=O.yfill),"fast"!==V){var Y="best"===V?0:.5;r=Math.max(-Y*T._length,r),w=Math.min((1+Y)*T._length,w),M=Math.max(-Y*k._length,M),S=Math.min((1+Y)*k._length,S)}var W,X,J=Math.round(w-r),K=Math.round(S-M);if(J<=0||K<=0)return P.selectAll("image").data([]).exit().remove(),void m(P);"fast"===V?(W=q,X=H):(W=J,X=K);var $=document.createElement("canvas");$.width=W,$.height=X;var Q,tt,et=$.getContext("2d"),rt=p(I,{noNumericCheck:!0,returnArray:!0});"fast"===V?(Q=G?function(t){return q-1-t}:l.identity,tt=Z?function(t){return H-1-t}:l.identity):(Q=function(t){return l.constrain(Math.round(T.c2p(F[t])-r),0,J)},tt=function(t){return l.constrain(Math.round(k.c2p(B[t])-M),0,K)});var nt,it,at,ot,st=tt(0),lt=[st,st],ut=G?0:1,ct=Z?0:1,ft=0,ht=0,pt=0,dt=0;function vt(t,e){if(void 0!==t){var r=rt(t);return r[0]=Math.round(r[0]),r[1]=Math.round(r[1]),r[2]=Math.round(r[2]),ft+=e,ht+=r[0]*e,pt+=r[1]*e,dt+=r[2]*e,r}return[0,0,0,0]}function gt(t,e,r,n){var i=t[r.bin0];if(void 0===i)return vt(void 0,1);var a,o=t[r.bin1],s=e[r.bin0],l=e[r.bin1],u=o-i||0,c=s-i||0;return a=void 0===o?void 0===l?0:void 0===s?2*(l-i):2*(2*l-s-i)/3:void 0===l?void 0===s?0:2*(2*i-o-s)/3:void 0===s?2*(2*l-o-i)/3:l+i-o-s,vt(i+r.frac*u+n.frac*(c+r.frac*a))}if(V){var yt,mt=0;try{yt=new Uint8Array(J*K*4)}catch(t){yt=new Array(J*K*4)}if("best"===V){var xt,bt,_t,wt=N||F,Tt=j||B,kt=new Array(wt.length),At=new Array(Tt.length),Mt=new Array(J),St=N?b:x,Et=j?b:x;for(E=0;E<wt.length;E++)kt[E]=Math.round(T.c2p(wt[E])-r);for(E=0;E<Tt.length;E++)At[E]=Math.round(k.c2p(Tt[E])-M);for(E=0;E<J;E++)Mt[E]=St(E,kt);for(L=0;L<K;L++)for(bt=R[(xt=Et(L,At)).bin0],_t=R[xt.bin1],E=0;E<J;E++,mt+=4)_(yt,mt,ot=gt(bt,_t,Mt[E],xt))}else for(L=0;L<H;L++)for(at=R[L],lt=tt(L),E=0;E<J;E++)ot=vt(at[E],1),_(yt,mt=4*(lt*J+Q(E)),ot);var Lt=et.createImageData(J,K);try{Lt.data.set(yt)}catch(t){var Ct=Lt.data,Pt=Ct.length;for(L=0;L<Pt;L++)Ct[L]=yt[L]}et.putImageData(Lt,0,0)}else{var Ot=Math.floor(D/2),It=Math.floor(z/2);for(L=0;L<H;L++)if(at=R[L],lt.reverse(),lt[ct]=tt(L+1),lt[0]!==lt[1]&&void 0!==lt[0]&&void 0!==lt[1])for(nt=[it=Q(0),it],E=0;E<q;E++)nt.reverse(),nt[ut]=Q(E+1),nt[0]!==nt[1]&&void 0!==nt[0]&&void 0!==nt[1]&&(ot=vt(at[E],(nt[1]-nt[0])*(lt[1]-lt[0])),et.fillStyle="rgba("+ot.join(",")+")",et.fillRect(nt[0]+Ot,lt[0]+It,nt[1]-nt[0]-D,lt[1]-lt[0]-z))}ht=Math.round(ht/ft),pt=Math.round(pt/ft),dt=Math.round(dt/ft);var Dt=i("rgb("+ht+","+pt+","+dt+")");t._hmpixcount=(t._hmpixcount||0)+ft,t._hmlumcount=(t._hmlumcount||0)+ft*Dt.getLuminance();var zt=P.selectAll("image").data(e);zt.enter().append("svg:image").attr({xmlns:d.svg,preserveAspectRatio:"none"}),zt.attr({height:K,width:J,x:r,y:M,"xlink:href":$.toDataURL("image/png")}),m(P);var Rt=I.texttemplate;if(Rt){var Ft=h(I),Bt={type:"linear",range:[Ft.min,Ft.max],_separators:T._separators,_numFormat:T._numFormat},Nt="histogram2dcontour"===I.type,jt="contour"===I.type,Ut=jt?H-1:H,Vt=jt?1:0,Ht=jt?q-1:q,qt=[];for(E=jt?1:0;E<Ut;E++){var Gt;if(jt)Gt=O.y[E];else if(Nt){if(0===E||E===H-1)continue;Gt=O.y[E]}else if(O.yCenter)Gt=O.yCenter[E];else{if(E+1===H&&void 0===O.y[E+1])continue;Gt=(O.y[E]+O.y[E+1])/2}var Zt=Math.round(k.c2p(Gt));if(!(0>Zt||Zt>k._length))for(L=Vt;L<Ht;L++){var Yt;if(jt)Yt=O.x[L];else if(Nt){if(0===L||L===q-1)continue;Yt=O.x[L]}else if(O.xCenter)Yt=O.xCenter[L];else{if(L+1===q&&void 0===O.x[L+1])continue;Yt=(O.x[L]+O.x[L+1])/2}var Wt=Math.round(T.c2p(Yt));if(!(0>Wt||Wt>T._length)){var Xt=c({x:Yt,y:Gt},I,t._fullLayout);Xt.x=Yt,Xt.y=Gt;var Jt=O.z[E][L];void 0===Jt?(Xt.z="",Xt.zLabel=""):(Xt.z=Jt,Xt.zLabel=s.tickText(Bt,Jt,"hover").text);var Kt=O.text&&O.text[E]&&O.text[E][L];void 0!==Kt&&!1!==Kt||(Kt=""),Xt.text=Kt;var $t=l.texttemplateString(Rt,Xt,t._fullLayout._d3locale,Xt,I._meta||{});if($t){var Qt=$t.split("<br>"),te=Qt.length,ee=0;for(C=0;C<te;C++)ee=Math.max(ee,Qt[C].length);qt.push({l:te,c:ee,t:$t,x:Wt,y:Zt,z:Jt})}}}}var re=I.textfont,ne=re.family,ie=re.size,ae=t._fullLayout.font.size;if(!ie||"auto"===ie){var oe=1/0,se=1/0,le=0,ue=0;for(C=0;C<qt.length;C++){var ce=qt[C];if(le=Math.max(le,ce.l),ue=Math.max(ue,ce.c),C<qt.length-1){var fe=qt[C+1],he=Math.abs(fe.x-ce.x),pe=Math.abs(fe.y-ce.y);he&&(oe=Math.min(oe,he)),pe&&(se=Math.min(se,pe))}}isFinite(oe)&&isFinite(se)?(oe-=D,se-=z,oe/=ue,se/=le,oe/=v/2,se/=v,ie=Math.min(Math.floor(oe),Math.floor(se),ae)):ie=ae}if(ie<=0||!isFinite(ie))return;y(P).data(qt).enter().append("g").classed(g,1).append("text").attr("text-anchor","middle").each((function(e){var r=n.select(this),i=re.color;i&&"auto"!==i||(i=f.contrast("rgba("+rt(e.z).join()+")")),r.attr("data-notex",1).call(u.positionText,function(t){return t.x}(e),function(t){return t.y-ie*(t.l*v/2-1)}(e)).call(o.font,ne,ie,i).text(e.t).call(u.convertToTspans,t)}))}}))}},70035:function(t,e,r){"use strict";var n=r(39898);t.exports=function(t){n.select(t).selectAll(".hm image").style("opacity",(function(t){return t.trace.opacity}))}},49901:function(t){"use strict";t.exports=function(t,e,r){!1===r("zsmooth")&&(r("xgap"),r("ygap")),r("zhoverformat")}},67684:function(t,e,r){"use strict";var n=r(92770),i=r(71828),a=r(73972);function o(t,e){var r=e(t);return"scaled"===(r?e(t+"type","array"):"scaled")&&(e(t+"0"),e("d"+t)),r}t.exports=function(t,e,r,s,l,u){var c,f,h=r("z");if(l=l||"x",u=u||"y",void 0===h||!h.length)return 0;if(i.isArray1D(t.z)){c=r(l),f=r(u);var p=i.minRowLength(c),d=i.minRowLength(f);if(0===p||0===d)return 0;e._length=Math.min(p,d,h.length)}else{if(c=o(l,r),f=o(u,r),!function(t){for(var e,r=!0,a=!1,o=!1,s=0;s<t.length;s++){if(e=t[s],!i.isArrayOrTypedArray(e)){r=!1;break}e.length>0&&(a=!0);for(var l=0;l<e.length;l++)if(n(e[l])){o=!0;break}}return r&&a&&o}(h))return 0;r("transpose"),e._length=null}return"heatmapgl"===t.type||a.getComponentMethod("calendars","handleTraceDefaults")(t,e,[l,u],s),!0}},16063:function(t,e,r){"use strict";for(var n=r(21606),i=r(50693),a=r(1426).extendFlat,o=r(30962).overrideAll,s=["z","x","x0","dx","y","y0","dy","text","transpose","xtype","ytype"],l={},u=0;u<s.length;u++){var c=s[u];l[c]=n[c]}l.zsmooth={valType:"enumerated",values:["fast",!1],dflt:"fast",editType:"calc"},a(l,i("",{cLetter:"z",autoColorDflt:!1})),t.exports=o(l,"calc","nested")},59560:function(t,e,r){"use strict";var n=r(9330).gl_heatmap2d,i=r(89298),a=r(78614);function o(t,e){this.scene=t,this.uid=e,this.type="heatmapgl",this.name="",this.hoverinfo="all",this.xData=[],this.yData=[],this.zData=[],this.textLabels=[],this.idToIndex=[],this.bounds=[0,0,0,0],this.options={zsmooth:"fast",z:[],x:[],y:[],shape:[0,0],colorLevels:[0],colorValues:[0,0,0,1]},this.heatmap=n(t.glplot,this.options),this.heatmap._trace=this}var s=o.prototype;s.handlePick=function(t){var e=this.options,r=e.shape,n=t.pointId,i=n%r[0],a=Math.floor(n/r[0]),o=n;return{trace:this,dataCoord:t.dataCoord,traceCoord:[e.x[i],e.y[a],e.z[o]],textLabel:this.textLabels[n],name:this.name,pointIndex:[a,i],hoverinfo:this.hoverinfo}},s.update=function(t,e){var r=e[0];this.index=t.index,this.name=t.name,this.hoverinfo=t.hoverinfo;var n=r.z;this.options.z=[].concat.apply([],n);var o=n[0].length,s=n.length;this.options.shape=[o,s],this.options.x=r.x,this.options.y=r.y,this.options.zsmooth=t.zsmooth;var l=function(t){for(var e=t.colorscale,r=t.zmin,n=t.zmax,i=e.length,o=new Array(i),s=new Array(4*i),l=0;l<i;l++){var u=e[l],c=a(u[1]);o[l]=r+u[0]*(n-r);for(var f=0;f<4;f++)s[4*l+f]=c[f]}return{colorLevels:o,colorValues:s}}(t);this.options.colorLevels=l.colorLevels,this.options.colorValues=l.colorValues,this.textLabels=[].concat.apply([],t.text),this.heatmap.update(this.options);var u,c,f=this.scene.xaxis,h=this.scene.yaxis;!1===t.zsmooth&&(u={ppad:r.x[1]-r.x[0]},c={ppad:r.y[1]-r.y[0]}),t._extremes[f._id]=i.findExtremes(f,r.x,u),t._extremes[h._id]=i.findExtremes(h,r.y,c)},s.dispose=function(){this.heatmap.dispose()},t.exports=function(t,e,r){var n=new o(t,e.uid);return n.update(e,r),n}},19600:function(t,e,r){"use strict";var n=r(71828),i=r(67684),a=r(1586),o=r(16063);t.exports=function(t,e,r,s){function l(r,i){return n.coerce(t,e,o,r,i)}i(t,e,l,s)?(l("text"),l("zsmooth"),a(t,e,s,l,{prefix:"",cLetter:"z"})):e.visible=!1}},3325:function(t,e,r){"use strict";["*heatmapgl* trace is deprecated!","Please consider switching to the *heatmap* or *image* trace types.","Alternatively you could contribute/sponsor rewriting this trace type","based on cartesian features and using regl framework."].join(" "),t.exports={attributes:r(16063),supplyDefaults:r(19600),colorbar:r(61243),calc:r(90757),plot:r(59560),moduleType:"trace",name:"heatmapgl",basePlotModule:r(4796),categories:["gl","gl2d","2dMap"],meta:{}}},7745:function(t,e,r){"use strict";var n=r(1486),i=r(12663).axisHoverFormat,a=r(5386).f,o=r(5386).s,s=r(41940),l=r(17656),u=r(72406),c=r(1426).extendFlat;t.exports={x:{valType:"data_array",editType:"calc+clearAxisTypes"},y:{valType:"data_array",editType:"calc+clearAxisTypes"},xhoverformat:i("x"),yhoverformat:i("y"),text:c({},n.text,{}),hovertext:c({},n.hovertext,{}),orientation:n.orientation,histfunc:{valType:"enumerated",values:["count","sum","avg","min","max"],dflt:"count",editType:"calc"},histnorm:{valType:"enumerated",values:["","percent","probability","density","probability density"],dflt:"",editType:"calc"},cumulative:{enabled:{valType:"boolean",dflt:!1,editType:"calc"},direction:{valType:"enumerated",values:["increasing","decreasing"],dflt:"increasing",editType:"calc"},currentbin:{valType:"enumerated",values:["include","exclude","half"],dflt:"include",editType:"calc"},editType:"calc"},nbinsx:{valType:"integer",min:0,dflt:0,editType:"calc"},xbins:l("x",!0),nbinsy:{valType:"integer",min:0,dflt:0,editType:"calc"},ybins:l("y",!0),autobinx:{valType:"boolean",dflt:null,editType:"calc"},autobiny:{valType:"boolean",dflt:null,editType:"calc"},bingroup:{valType:"string",dflt:"",editType:"calc"},hovertemplate:a({},{keys:u.eventDataKeys}),texttemplate:o({arrayOk:!1,editType:"plot"},{keys:["label","value"]}),textposition:c({},n.textposition,{arrayOk:!1}),textfont:s({arrayOk:!1,editType:"plot",colorEditType:"style"}),outsidetextfont:s({arrayOk:!1,editType:"plot",colorEditType:"style"}),insidetextfont:s({arrayOk:!1,editType:"plot",colorEditType:"style"}),insidetextanchor:n.insidetextanchor,textangle:n.textangle,cliponaxis:n.cliponaxis,constraintext:n.constraintext,marker:n.marker,offsetgroup:n.offsetgroup,alignmentgroup:n.alignmentgroup,selected:n.selected,unselected:n.unselected,_deprecated:{bardir:n._deprecated.bardir}}},42174:function(t){"use strict";t.exports=function(t,e){for(var r=t.length,n=0,i=0;i<r;i++)e[i]?(t[i]/=e[i],n+=t[i]):t[i]=null;return n}},17656:function(t){"use strict";t.exports=function(t,e){return{start:{valType:"any",editType:"calc"},end:{valType:"any",editType:"calc"},size:{valType:"any",editType:"calc"},editType:"calc"}}},59575:function(t,e,r){"use strict";var n=r(92770);t.exports={count:function(t,e,r){return r[t]++,1},sum:function(t,e,r,i){var a=i[e];return n(a)?(a=Number(a),r[t]+=a,a):0},avg:function(t,e,r,i,a){var o=i[e];return n(o)&&(o=Number(o),r[t]+=o,a[t]++),0},min:function(t,e,r,i){var a=i[e];if(n(a)){if(a=Number(a),!n(r[t]))return r[t]=a,a;if(r[t]>a){var o=a-r[t];return r[t]=a,o}}return 0},max:function(t,e,r,i){var a=i[e];if(n(a)){if(a=Number(a),!n(r[t]))return r[t]=a,a;if(r[t]<a){var o=a-r[t];return r[t]=a,o}}return 0}}},40965:function(t,e,r){"use strict";var n=r(50606),i=n.ONEAVGYEAR,a=n.ONEAVGMONTH,o=n.ONEDAY,s=n.ONEHOUR,l=n.ONEMIN,u=n.ONESEC,c=r(89298).tickIncrement;function f(t,e,r,n){if(t*e<=0)return 1/0;for(var i=Math.abs(e-t),a="date"===r.type,o=h(i,a),s=0;s<10;s++){var l=h(80*o,a);if(o===l)break;if(!p(l,t,e,a,r,n))break;o=l}return o}function h(t,e){return e&&t>u?t>o?t>1.1*i?i:t>1.1*a?a:o:t>s?s:t>l?l:u:Math.pow(10,Math.floor(Math.log(t)/Math.LN10))}function p(t,e,r,n,a,s){if(n&&t>o){var l=d(e,a,s),u=d(r,a,s),c=t===i?0:1;return l[c]!==u[c]}return Math.floor(r/t)-Math.floor(e/t)>.1}function d(t,e,r){var n=e.c2d(t,i,r).split("-");return""===n[0]&&(n.unshift(),n[0]="-"+n[0]),n}t.exports=function(t,e,r,n,a){var s,l,u=-1.1*e,h=-.1*e,p=t-h,d=r[0],v=r[1],g=Math.min(f(d+h,d+p,n,a),f(v+h,v+p,n,a)),y=Math.min(f(d+u,d+h,n,a),f(v+u,v+h,n,a));if(g>y&&y<Math.abs(v-d)/4e3?(s=g,l=!1):(s=Math.min(g,y),l=!0),"date"===n.type&&s>o){var m=s===i?1:6,x=s===i?"M12":"M1";return function(e,r){var o=n.c2d(e,i,a),s=o.indexOf("-",m);s>0&&(o=o.substr(0,s));var u=n.d2c(o,0,a);if(u<e){var f=c(u,x,!1,a);(u+f)/2<e+t&&(u=f)}return r&&l?c(u,x,!0,a):u}}return function(e,r){var n=s*Math.round(e/s);return n+s/10<e&&n+.9*s<e+t&&(n+=s),r&&l&&(n-=s),n}}},72138:function(t,e,r){"use strict";var n=r(92770),i=r(71828),a=r(73972),o=r(89298),s=r(75341),l=r(59575),u=r(36362),c=r(42174),f=r(40965);function h(t,e,r,s,l){var u,c,f,p,d,v,g,y=s+"bins",m=t._fullLayout,x=e["_"+s+"bingroup"],b=m._histogramBinOpts[x],_="overlay"===m.barmode,w=function(t){return r.r2c(t,0,p)},T=function(t){return r.c2r(t,0,p)},k="date"===r.type?function(t){return t||0===t?i.cleanDate(t,null,p):null}:function(t){return n(t)?Number(t):null};function A(t,e,r){e[t+"Found"]?(e[t]=k(e[t]),null===e[t]&&(e[t]=r[t])):(v[t]=e[t]=r[t],i.nestedProperty(c[0],y+"."+t).set(r[t]))}if(e["_"+s+"autoBinFinished"])delete e["_"+s+"autoBinFinished"];else{c=b.traces;var M=[],S=!0,E=!1,L=!1;for(u=0;u<c.length;u++)if((f=c[u]).visible){var C=b.dirs[u];d=f["_"+C+"pos0"]=r.makeCalcdata(f,C),M=i.concat(M,d),delete f["_"+s+"autoBinFinished"],!0===e.visible&&(S?S=!1:(delete f._autoBin,f["_"+s+"autoBinFinished"]=1),a.traceIs(f,"2dMap")&&(E=!0),"histogram2dcontour"===f.type&&(L=!0))}p=c[0][s+"calendar"];var P=o.autoBin(M,r,b.nbins,E,p,b.sizeFound&&b.size),O=c[0]._autoBin={};if(v=O[b.dirs[0]]={},L&&(b.size||(P.start=T(o.tickIncrement(w(P.start),P.size,!0,p))),void 0===b.end&&(P.end=T(o.tickIncrement(w(P.end),P.size,!1,p)))),_&&!a.traceIs(e,"2dMap")&&0===P._dataSpan&&"category"!==r.type&&"multicategory"!==r.type){if(l)return[P,d,!0];P=function(t,e,r,n,a){var o,s,l,u=t._fullLayout,c=function(t,e){for(var r=e.xaxis,n=e.yaxis,i=e.orientation,a=[],o=t._fullData,s=0;s<o.length;s++){var l=o[s];"histogram"===l.type&&!0===l.visible&&l.orientation===i&&l.xaxis===r&&l.yaxis===n&&a.push(l)}return a}(t,e),f=!1,p=1/0,d=[e];for(o=0;o<c.length;o++)if((s=c[o])===e)f=!0;else if(f){var v=h(t,s,r,n,!0),g=v[0],y=v[2];s["_"+n+"autoBinFinished"]=1,s["_"+n+"pos0"]=v[1],y?d.push(s):p=Math.min(p,g.size)}else l=u._histogramBinOpts[s["_"+n+"bingroup"]],p=Math.min(p,l.size||s[a].size);var m=new Array(d.length);for(o=0;o<d.length;o++)for(var x=d[o]["_"+n+"pos0"],b=0;b<x.length;b++)if(void 0!==x[b]){m[o]=x[b];break}for(isFinite(p)||(p=i.distinctVals(m).minDiff),o=0;o<d.length;o++){var _=(s=d[o])[n+"calendar"],w={start:r.c2r(m[o]-p/2,0,_),end:r.c2r(m[o]+p/2,0,_),size:p};s._input[a]=s[a]=w,(l=u._histogramBinOpts[s["_"+n+"bingroup"]])&&i.extendFlat(l,w)}return e[a]}(t,e,r,s,y)}(g=f.cumulative||{}).enabled&&"include"!==g.currentbin&&("decreasing"===g.direction?P.start=T(o.tickIncrement(w(P.start),P.size,!0,p)):P.end=T(o.tickIncrement(w(P.end),P.size,!1,p))),b.size=P.size,b.sizeFound||(v.size=P.size,i.nestedProperty(c[0],y+".size").set(P.size)),A("start",b,P),A("end",b,P)}d=e["_"+s+"pos0"],delete e["_"+s+"pos0"];var I=e._input[y]||{},D=i.extendFlat({},b),z=b.start,R=r.r2l(I.start),F=void 0!==R;if((b.startFound||F)&&R!==r.r2l(z)){var B=F?R:i.aggNums(Math.min,null,d),N={type:"category"===r.type||"multicategory"===r.type?"linear":r.type,r2l:r.r2l,dtick:b.size,tick0:z,calendar:p,range:[B,o.tickIncrement(B,b.size,!1,p)].map(r.l2r)},j=o.tickFirst(N);j>r.r2l(B)&&(j=o.tickIncrement(j,b.size,!0,p)),D.start=r.l2r(j),F||i.nestedProperty(e,y+".start").set(D.start)}var U=b.end,V=r.r2l(I.end),H=void 0!==V;if((b.endFound||H)&&V!==r.r2l(U)){var q=H?V:i.aggNums(Math.max,null,d);D.end=r.l2r(q),H||i.nestedProperty(e,y+".start").set(D.end)}var G="autobin"+s;return!1===e._input[G]&&(e._input[y]=i.extendFlat({},e[y]||{}),delete e._input[G],delete e[G]),[D,d]}t.exports={calc:function(t,e){var r,a,p,d,v=[],g=[],y="h"===e.orientation,m=o.getFromId(t,y?e.yaxis:e.xaxis),x=y?"y":"x",b={x:"y",y:"x"}[x],_=e[x+"calendar"],w=e.cumulative,T=h(t,e,m,x),k=T[0],A=T[1],M="string"==typeof k.size,S=[],E=M?S:k,L=[],C=[],P=[],O=0,I=e.histnorm,D=e.histfunc,z=-1!==I.indexOf("density");w.enabled&&z&&(I=I.replace(/ ?density$/,""),z=!1);var R,F="max"===D||"min"===D?null:0,B=l.count,N=u[I],j=!1,U=function(t){return m.r2c(t,0,_)};for(i.isArrayOrTypedArray(e[b])&&"count"!==D&&(R=e[b],j="avg"===D,B=l[D]),r=U(k.start),p=U(k.end)+(r-o.tickIncrement(r,k.size,!1,_))/1e6;r<p&&v.length<1e6&&(a=o.tickIncrement(r,k.size,!1,_),v.push((r+a)/2),g.push(F),P.push([]),S.push(r),z&&L.push(1/(a-r)),j&&C.push(0),!(a<=r));)r=a;S.push(r),M||"date"!==m.type||(E={start:U(E.start),end:U(E.end),size:E.size}),t._fullLayout._roundFnOpts||(t._fullLayout._roundFnOpts={});var V=e["_"+x+"bingroup"],H={leftGap:1/0,rightGap:1/0};V&&(t._fullLayout._roundFnOpts[V]||(t._fullLayout._roundFnOpts[V]=H),H=t._fullLayout._roundFnOpts[V]);var q,G=g.length,Z=!0,Y=H.leftGap,W=H.rightGap,X={};for(r=0;r<A.length;r++){var J=A[r];(d=i.findBin(J,E))>=0&&d<G&&(O+=B(d,r,g,R,C),Z&&P[d].length&&J!==A[P[d][0]]&&(Z=!1),P[d].push(r),X[r]=d,Y=Math.min(Y,J-S[d]),W=Math.min(W,S[d+1]-J))}H.leftGap=Y,H.rightGap=W,Z||(q=function(e,r){return function(){var n=t._fullLayout._roundFnOpts[V];return f(n.leftGap,n.rightGap,S,m,_)(e,r)}}),j&&(O=c(g,C)),N&&N(g,O,L),w.enabled&&function(t,e,r){var n,i,a;function o(e){a=t[e],t[e]/=2}function s(e){i=t[e],t[e]=a+i/2,a+=i}if("half"===r)if("increasing"===e)for(o(0),n=1;n<t.length;n++)s(n);else for(o(t.length-1),n=t.length-2;n>=0;n--)s(n);else if("increasing"===e){for(n=1;n<t.length;n++)t[n]+=t[n-1];"exclude"===r&&(t.unshift(0),t.pop())}else{for(n=t.length-2;n>=0;n--)t[n]+=t[n+1];"exclude"===r&&(t.push(0),t.shift())}}(g,w.direction,w.currentbin);var K=Math.min(v.length,g.length),$=[],Q=0,tt=K-1;for(r=0;r<K;r++)if(g[r]){Q=r;break}for(r=K-1;r>=Q;r--)if(g[r]){tt=r;break}for(r=Q;r<=tt;r++)if(n(v[r])&&n(g[r])){var et={p:v[r],s:g[r],b:0};w.enabled||(et.pts=P[r],Z?et.ph0=et.ph1=P[r].length?A[P[r][0]]:v[r]:(e._computePh=!0,et.ph0=q(S[r]),et.ph1=q(S[r+1],!0))),$.push(et)}return 1===$.length&&($[0].width1=o.tickIncrement($[0].p,k.size,!1,_)-$[0].p),s($,e),i.isArrayOrTypedArray(e.selectedpoints)&&i.tagSelected($,e,X),$},calcAllAutoBins:h}},72406:function(t){"use strict";t.exports={eventDataKeys:["binNumber"]}},82222:function(t,e,r){"use strict";var n=r(71828),i=r(41675),a=r(73972).traceIs,o=r(26125),s=n.nestedProperty,l=r(99082).getAxisGroup,u=[{aStr:{x:"xbins.start",y:"ybins.start"},name:"start"},{aStr:{x:"xbins.end",y:"ybins.end"},name:"end"},{aStr:{x:"xbins.size",y:"ybins.size"},name:"size"},{aStr:{x:"nbinsx",y:"nbinsy"},name:"nbins"}],c=["x","y"];t.exports=function(t,e){var r,f,h,p,d,v,g,y=e._histogramBinOpts={},m=[],x={},b=[];function _(t,e){return n.coerce(r._input,r,r._module.attributes,t,e)}function w(t){return"v"===t.orientation?"x":"y"}function T(t,r,a){var o=t.uid+"__"+a;r||(r=o);var s=function(t,r){return i.getFromTrace({_fullLayout:e},t,r).type}(t,a),l=t[a+"calendar"]||"",u=y[r],c=!0;u&&(s===u.axType&&l===u.calendar?(c=!1,u.traces.push(t),u.dirs.push(a)):(r=o,s!==u.axType&&n.warn(["Attempted to group the bins of trace",t.index,"set on a","type:"+s,"axis","with bins on","type:"+u.axType,"axis."].join(" ")),l!==u.calendar&&n.warn(["Attempted to group the bins of trace",t.index,"set with a",l,"calendar","with bins",u.calendar?"on a "+u.calendar+" calendar":"w/o a set calendar"].join(" ")))),c&&(y[r]={traces:[t],dirs:[a],axType:s,calendar:t[a+"calendar"]||""}),t["_"+a+"bingroup"]=r}for(d=0;d<t.length;d++)r=t[d],a(r,"histogram")&&(m.push(r),delete r._xautoBinFinished,delete r._yautoBinFinished,a(r,"2dMap")||o(r._input,r,e,_));var k=e._alignmentOpts||{};for(d=0;d<m.length;d++){if(r=m[d],h="",!a(r,"2dMap")){if(p=w(r),"group"===e.barmode&&r.alignmentgroup){var A=r[p+"axis"],M=l(e,A)+r.orientation;(k[M]||{})[r.alignmentgroup]&&(h=M)}h||"overlay"===e.barmode||(h=l(e,r.xaxis)+l(e,r.yaxis)+w(r))}h?(x[h]||(x[h]=[]),x[h].push(r)):b.push(r)}for(h in x)if(1!==(f=x[h]).length){var S=!1;for(f.length&&(r=f[0],S=_("bingroup")),h=S||h,d=0;d<f.length;d++){var E=(r=f[d])._input.bingroup;E&&E!==h&&n.warn(["Trace",r.index,"must match","within bingroup",h+".","Ignoring its bingroup:",E,"setting."].join(" ")),r.bingroup=h,T(r,h,w(r))}}else b.push(f[0]);for(d=0;d<b.length;d++){r=b[d];var L=_("bingroup");if(a(r,"2dMap"))for(g=0;g<2;g++){var C=_((p=c[g])+"bingroup",L?L+"__"+p:null);T(r,C,p)}else T(r,L,w(r))}for(h in y){var P=y[h];for(f=P.traces,v=0;v<u.length;v++){var O,I,D=u[v],z=D.name;if("nbins"!==z||!P.sizeFound){for(d=0;d<f.length;d++){if(r=f[d],p=P.dirs[d],O=D.aStr[p],void 0!==s(r._input,O).get()){P[z]=_(O),P[z+"Found"]=!0;break}(I=(r._autoBin||{})[p]||{})[z]&&s(r,O).set(I[z])}if("start"===z||"end"===z)for(;d<f.length;d++)(r=f[d])["_"+p+"bingroup"]&&_(O,(I=(r._autoBin||{})[p]||{})[z]);"nbins"!==z||P.sizeFound||P.nbinsFound||(r=f[0],P[z]=_(O))}}}}},11385:function(t,e,r){"use strict";var n=r(73972),i=r(71828),a=r(7901),o=r(90769).handleText,s=r(98340),l=r(7745);t.exports=function(t,e,r,u){function c(r,n){return i.coerce(t,e,l,r,n)}var f=c("x"),h=c("y");c("cumulative.enabled")&&(c("cumulative.direction"),c("cumulative.currentbin")),c("text");var p=c("textposition");o(t,e,u,c,p,{moduleHasSelected:!0,moduleHasUnselected:!0,moduleHasConstrain:!0,moduleHasCliponaxis:!0,moduleHasTextangle:!0,moduleHasInsideanchor:!0}),c("hovertext"),c("hovertemplate"),c("xhoverformat"),c("yhoverformat");var d=c("orientation",h&&!f?"h":"v"),v="v"===d?"x":"y",g="v"===d?"y":"x",y=f&&h?Math.min(i.minRowLength(f)&&i.minRowLength(h)):i.minRowLength(e[v]||[]);if(y){e._length=y,n.getComponentMethod("calendars","handleTraceDefaults")(t,e,["x","y"],u),e[g]&&c("histfunc"),c("histnorm"),c("autobin"+v),s(t,e,c,r,u),i.coerceSelectionMarkerOpacity(e,c);var m=(e.marker.line||{}).color,x=n.getComponentMethod("errorbars","supplyDefaults");x(t,e,m||a.defaultLine,{axis:"y"}),x(t,e,m||a.defaultLine,{axis:"x",inherit:"y"})}else e.visible=!1}},84402:function(t){"use strict";t.exports=function(t,e,r,n,i){if(t.x="xVal"in e?e.xVal:e.x,t.y="yVal"in e?e.yVal:e.y,"zLabelVal"in e&&(t.z=e.zLabelVal),e.xa&&(t.xaxis=e.xa),e.ya&&(t.yaxis=e.ya),!(r.cumulative||{}).enabled){var a,o=Array.isArray(i)?n[0].pts[i[0]][i[1]]:n[i].pts;if(t.pointNumbers=o,t.binNumber=t.pointNumber,delete t.pointNumber,delete t.pointIndex,r._indexToPoints){a=[];for(var s=0;s<o.length;s++)a=a.concat(r._indexToPoints[o[s]])}else a=o;t.pointIndices=a}return t}},76440:function(t,e,r){"use strict";var n=r(95423).hoverPoints,i=r(89298).hoverLabelText;t.exports=function(t,e,r,a,o){var s=n(t,e,r,a,o);if(s){var l=(t=s[0]).cd[t.index],u=t.cd[0].trace;if(!u.cumulative.enabled){var c="h"===u.orientation?"y":"x";t[c+"Label"]=i(t[c+"a"],[l.ph0,l.ph1],u[c+"hoverformat"])}return s}}},36071:function(t,e,r){"use strict";t.exports={attributes:r(7745),layoutAttributes:r(43641),supplyDefaults:r(11385),crossTraceDefaults:r(82222),supplyLayoutDefaults:r(13957),calc:r(72138).calc,crossTraceCalc:r(11661).crossTraceCalc,plot:r(17295).plot,layerName:"barlayer",style:r(16688).style,styleOnSelect:r(16688).styleOnSelect,colorbar:r(4898),hoverPoints:r(76440),selectPoints:r(81974),eventData:r(84402),moduleType:"trace",name:"histogram",basePlotModule:r(93612),categories:["bar-like","cartesian","svg","bar","histogram","oriented","errorBarsOK","showLegend"],meta:{}}},36362:function(t){"use strict";t.exports={percent:function(t,e){for(var r=t.length,n=100/e,i=0;i<r;i++)t[i]*=n},probability:function(t,e){for(var r=t.length,n=0;n<r;n++)t[n]/=e},density:function(t,e,r,n){var i=t.length;n=n||1;for(var a=0;a<i;a++)t[a]*=r[a]*n},"probability density":function(t,e,r,n){var i=t.length;n&&(e/=n);for(var a=0;a<i;a++)t[a]*=r[a]/e}}},35361:function(t,e,r){"use strict";var n=r(7745),i=r(17656),a=r(21606),o=r(9012),s=r(12663).axisHoverFormat,l=r(5386).f,u=r(5386).s,c=r(50693),f=r(1426).extendFlat;t.exports=f({x:n.x,y:n.y,z:{valType:"data_array",editType:"calc"},marker:{color:{valType:"data_array",editType:"calc"},editType:"calc"},histnorm:n.histnorm,histfunc:n.histfunc,nbinsx:n.nbinsx,xbins:i("x"),nbinsy:n.nbinsy,ybins:i("y"),autobinx:n.autobinx,autobiny:n.autobiny,bingroup:f({},n.bingroup,{}),xbingroup:f({},n.bingroup,{}),ybingroup:f({},n.bingroup,{}),xgap:a.xgap,ygap:a.ygap,zsmooth:a.zsmooth,xhoverformat:s("x"),yhoverformat:s("y"),zhoverformat:s("z",1),hovertemplate:l({},{keys:"z"}),texttemplate:u({arrayOk:!1,editType:"plot"},{keys:"z"}),textfont:a.textfont,showlegend:f({},o.showlegend,{dflt:!1})},c("",{cLetter:"z",autoColorDflt:!1}))},17562:function(t,e,r){"use strict";var n=r(71828),i=r(89298),a=r(59575),o=r(36362),s=r(42174),l=r(40965),u=r(72138).calcAllAutoBins;function c(t,e,r,n){var i,a=new Array(t);if(n)for(i=0;i<t;i++)a[i]=1/(e[i+1]-e[i]);else{var o=1/r;for(i=0;i<t;i++)a[i]=o}return a}function f(t,e){return{start:t(e.start),end:t(e.end),size:e.size}}function h(t,e,r,n,i,a){var o,s=t.length-1,u=new Array(s),c=l(r,n,t,i,a);for(o=0;o<s;o++){var f=(e||[])[o];u[o]=void 0===f?[c(t[o]),c(t[o+1],!0)]:[f,f]}return u}t.exports=function(t,e){var r,l,p,d,v=i.getFromId(t,e.xaxis),g=i.getFromId(t,e.yaxis),y=e.xcalendar,m=e.ycalendar,x=function(t){return v.r2c(t,0,y)},b=function(t){return g.r2c(t,0,m)},_=u(t,e,v,"x"),w=_[0],T=_[1],k=u(t,e,g,"y"),A=k[0],M=k[1],S=e._length;T.length>S&&T.splice(S,T.length-S),M.length>S&&M.splice(S,M.length-S);var E=[],L=[],C=[],P="string"==typeof w.size,O="string"==typeof A.size,I=[],D=[],z=P?I:w,R=O?D:A,F=0,B=[],N=[],j=e.histnorm,U=e.histfunc,V=-1!==j.indexOf("density"),H="max"===U||"min"===U?null:0,q=a.count,G=o[j],Z=!1,Y=[],W=[],X="z"in e?e.z:"marker"in e&&Array.isArray(e.marker.color)?e.marker.color:"";X&&"count"!==U&&(Z="avg"===U,q=a[U]);var J=w.size,K=x(w.start),$=x(w.end)+(K-i.tickIncrement(K,J,!1,y))/1e6;for(r=K;r<$;r=i.tickIncrement(r,J,!1,y))L.push(H),I.push(r),Z&&C.push(0);I.push(r);var Q,tt=L.length,et=(r-K)/tt,rt=(Q=K+et/2,v.c2r(Q,0,y)),nt=A.size,it=b(A.start),at=b(A.end)+(it-i.tickIncrement(it,nt,!1,m))/1e6;for(r=it;r<at;r=i.tickIncrement(r,nt,!1,m)){E.push(L.slice()),D.push(r);var ot=new Array(tt);for(l=0;l<tt;l++)ot[l]=[];N.push(ot),Z&&B.push(C.slice())}D.push(r);var st=E.length,lt=(r-it)/st,ut=function(t){return g.c2r(t,0,m)}(it+lt/2);V&&(Y=c(L.length,z,et,P),W=c(E.length,R,lt,O)),P||"date"!==v.type||(z=f(x,z)),O||"date"!==g.type||(R=f(b,R));var ct=!0,ft=!0,ht=new Array(tt),pt=new Array(st),dt=1/0,vt=1/0,gt=1/0,yt=1/0;for(r=0;r<S;r++){var mt=T[r],xt=M[r];p=n.findBin(mt,z),d=n.findBin(xt,R),p>=0&&p<tt&&d>=0&&d<st&&(F+=q(p,r,E[d],X,B[d]),N[d][p].push(r),ct&&(void 0===ht[p]?ht[p]=mt:ht[p]!==mt&&(ct=!1)),ft&&(void 0===pt[d]?pt[d]=xt:pt[d]!==xt&&(ft=!1)),dt=Math.min(dt,mt-I[p]),vt=Math.min(vt,I[p+1]-mt),gt=Math.min(gt,xt-D[d]),yt=Math.min(yt,D[d+1]-xt))}if(Z)for(d=0;d<st;d++)F+=s(E[d],B[d]);if(G)for(d=0;d<st;d++)G(E[d],F,Y,W[d]);return{x:T,xRanges:h(I,ct&&ht,dt,vt,v,y),x0:rt,dx:et,y:M,yRanges:h(D,ft&&pt,gt,yt,g,m),y0:ut,dy:lt,z:E,pts:N}}},93888:function(t,e,r){"use strict";var n=r(71828),i=r(75238),a=r(49901),o=r(1586),s=r(58623),l=r(35361);t.exports=function(t,e,r,u){function c(r,i){return n.coerce(t,e,l,r,i)}i(t,e,c,u),!1!==e.visible&&(a(t,e,c,u),o(t,e,u,c,{prefix:"",cLetter:"z"}),c("hovertemplate"),s(c,u),c("xhoverformat"),c("yhoverformat"))}},76128:function(t,e,r){"use strict";var n=r(46248),i=r(89298).hoverLabelText;t.exports=function(t,e,r,a,o){var s=n(t,e,r,a,o);if(s){var l=(t=s[0]).index,u=l[0],c=l[1],f=t.cd[0],h=f.trace,p=f.xRanges[c],d=f.yRanges[u];return t.xLabel=i(t.xa,[p[0],p[1]],h.xhoverformat),t.yLabel=i(t.ya,[d[0],d[1]],h.yhoverformat),s}}},43905:function(t,e,r){"use strict";t.exports={attributes:r(35361),supplyDefaults:r(93888),crossTraceDefaults:r(82222),calc:r(90757),plot:r(50347),layerName:"heatmaplayer",colorbar:r(61243),style:r(70035),hoverPoints:r(76128),eventData:r(84402),moduleType:"trace",name:"histogram2d",basePlotModule:r(93612),categories:["cartesian","svg","2dMap","histogram","showLegend"],meta:{}}},75238:function(t,e,r){"use strict";var n=r(73972),i=r(71828);t.exports=function(t,e,r,a){var o=r("x"),s=r("y"),l=i.minRowLength(o),u=i.minRowLength(s);l&&u?(e._length=Math.min(l,u),n.getComponentMethod("calendars","handleTraceDefaults")(t,e,["x","y"],a),(r("z")||r("marker.color"))&&r("histfunc"),r("histnorm"),r("autobinx"),r("autobiny")):e.visible=!1}},99066:function(t,e,r){"use strict";var n=r(35361),i=r(70600),a=r(50693),o=r(12663).axisHoverFormat,s=r(1426).extendFlat;t.exports=s({x:n.x,y:n.y,z:n.z,marker:n.marker,histnorm:n.histnorm,histfunc:n.histfunc,nbinsx:n.nbinsx,xbins:n.xbins,nbinsy:n.nbinsy,ybins:n.ybins,autobinx:n.autobinx,autobiny:n.autobiny,bingroup:n.bingroup,xbingroup:n.xbingroup,ybingroup:n.ybingroup,autocontour:i.autocontour,ncontours:i.ncontours,contours:i.contours,line:{color:i.line.color,width:s({},i.line.width,{dflt:.5}),dash:i.line.dash,smoothing:i.line.smoothing,editType:"plot"},xhoverformat:o("x"),yhoverformat:o("y"),zhoverformat:o("z",1),hovertemplate:n.hovertemplate,texttemplate:i.texttemplate,textfont:i.textfont},a("",{cLetter:"z",editTypeOverride:"calc"}))},62654:function(t,e,r){"use strict";var n=r(71828),i=r(75238),a=r(67217),o=r(8724),s=r(58623),l=r(99066);t.exports=function(t,e,r,u){function c(r,i){return n.coerce(t,e,l,r,i)}i(t,e,c,u),!1!==e.visible&&(a(t,e,c,(function(r){return n.coerce2(t,e,l,r)})),o(t,e,c,u),c("xhoverformat"),c("yhoverformat"),c("hovertemplate"),e.contours&&"heatmap"===e.contours.coloring&&s(c,u))}},35902:function(t,e,r){"use strict";t.exports={attributes:r(99066),supplyDefaults:r(62654),crossTraceDefaults:r(82222),calc:r(27529),plot:r(29854).plot,layerName:"contourlayer",style:r(84426),colorbar:r(90654),hoverPoints:r(52421),moduleType:"trace",name:"histogram2dcontour",basePlotModule:r(93612),categories:["cartesian","svg","2dMap","contour","histogram","showLegend"],meta:{}}},46291:function(t,e,r){"use strict";var n=r(5386).f,i=r(5386).s,a=r(50693),o=r(27670).Y,s=r(34e3),l=r(57564),u=r(45802),c=r(43473),f=r(1426).extendFlat;t.exports={labels:l.labels,parents:l.parents,values:l.values,branchvalues:l.branchvalues,count:l.count,level:l.level,maxdepth:l.maxdepth,tiling:{orientation:{valType:"enumerated",values:["v","h"],dflt:"h",editType:"plot"},flip:u.tiling.flip,pad:{valType:"number",min:0,dflt:0,editType:"plot"},editType:"calc"},marker:f({colors:l.marker.colors,line:l.marker.line,editType:"calc"},a("marker",{colorAttr:"colors",anim:!1})),leaf:l.leaf,pathbar:u.pathbar,text:s.text,textinfo:l.textinfo,texttemplate:i({editType:"plot"},{keys:c.eventDataKeys.concat(["label","value"])}),hovertext:s.hovertext,hoverinfo:l.hoverinfo,hovertemplate:n({},{keys:c.eventDataKeys}),textfont:s.textfont,insidetextfont:s.insidetextfont,outsidetextfont:u.outsidetextfont,textposition:u.textposition,sort:s.sort,root:l.root,domain:o({name:"icicle",trace:!0,editType:"calc"})}},96346:function(t,e,r){"use strict";var n=r(74875);e.name="icicle",e.plot=function(t,r,i,a){n.plotBasePlot(e.name,t,r,i,a)},e.clean=function(t,r,i,a){n.cleanBasePlot(e.name,t,r,i,a)}},46584:function(t,e,r){"use strict";var n=r(52147);e.y=function(t,e){return n.calc(t,e)},e.T=function(t){return n._runCrossTraceCalc("icicle",t)}},56524:function(t,e,r){"use strict";var n=r(71828),i=r(46291),a=r(7901),o=r(27670).c,s=r(90769).handleText,l=r(97313).TEXTPAD,u=r(21081),c=u.hasColorscale,f=u.handleDefaults;t.exports=function(t,e,r,u){function h(r,a){return n.coerce(t,e,i,r,a)}var p=h("labels"),d=h("parents");if(p&&p.length&&d&&d.length){var v=h("values");v&&v.length?h("branchvalues"):h("count"),h("level"),h("maxdepth"),h("tiling.orientation"),h("tiling.flip"),h("tiling.pad");var g=h("text");h("texttemplate"),e.texttemplate||h("textinfo",Array.isArray(g)?"text+label":"label"),h("hovertext"),h("hovertemplate");var y=h("pathbar.visible");s(t,e,u,h,"auto",{hasPathbar:y,moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1}),h("textposition"),h("marker.line.width")&&h("marker.line.color",u.paper_bgcolor),h("marker.colors");var m=e._hasColorscale=c(t,"marker","colors")||(t.marker||{}).coloraxis;m&&f(t,e,u,h,{prefix:"marker.",cLetter:"c"}),h("leaf.opacity",m?1:.7),e._hovered={marker:{line:{width:2,color:a.contrast(u.paper_bgcolor)}}},y&&(h("pathbar.thickness",e.pathbar.textfont.size+2*l),h("pathbar.side"),h("pathbar.edgeshape")),h("sort"),h("root.color"),o(e,u,h),e._length=null}else e.visible=!1}},90666:function(t,e,r){"use strict";var n=r(39898),i=r(71828),a=r(91424),o=r(63893),s=r(21538),l=r(82454).styleOne,u=r(43473),c=r(2791),f=r(83523),h=r(24714).formatSliceLabel,p=!1;t.exports=function(t,e,r,d,v){var g=v.width,y=v.height,m=v.viewX,x=v.viewY,b=v.pathSlice,_=v.toMoveInsideSlice,w=v.strTransform,T=v.hasTransition,k=v.handleSlicesExit,A=v.makeUpdateSliceInterpolator,M=v.makeUpdateTextInterpolator,S=v.prevEntry,E=t._context.staticPlot,L=t._fullLayout,C=e[0].trace,P=-1!==C.textposition.indexOf("left"),O=-1!==C.textposition.indexOf("right"),I=-1!==C.textposition.indexOf("bottom"),D=s(r,[g,y],{flipX:C.tiling.flip.indexOf("x")>-1,flipY:C.tiling.flip.indexOf("y")>-1,orientation:C.tiling.orientation,pad:{inner:C.tiling.pad},maxDepth:C._maxDepth}).descendants(),z=1/0,R=-1/0;D.forEach((function(t){var e=t.depth;e>=C._maxDepth?(t.x0=t.x1=(t.x0+t.x1)/2,t.y0=t.y1=(t.y0+t.y1)/2):(z=Math.min(z,e),R=Math.max(R,e))})),d=d.data(D,c.getPtId),C._maxVisibleLayers=isFinite(R)?R-z+1:0,d.enter().append("g").classed("slice",!0),k(d,p,{},[g,y],b),d.order();var F=null;if(T&&S){var B=c.getPtId(S);d.each((function(t){null===F&&c.getPtId(t)===B&&(F={x0:t.x0,x1:t.x1,y0:t.y0,y1:t.y1})}))}var N=function(){return F||{x0:0,x1:g,y0:0,y1:y}},j=d;return T&&(j=j.transition().each("end",(function(){var e=n.select(this);c.setSliceCursor(e,t,{hideOnRoot:!0,hideOnLeaves:!1,isTransitioning:!1})}))),j.each((function(s){s._x0=m(s.x0),s._x1=m(s.x1),s._y0=x(s.y0),s._y1=x(s.y1),s._hoverX=m(s.x1-C.tiling.pad),s._hoverY=x(I?s.y1-C.tiling.pad/2:s.y0+C.tiling.pad/2);var d=n.select(this),v=i.ensureSingle(d,"path","surface",(function(t){t.style("pointer-events",E?"none":"all")}));T?v.transition().attrTween("d",(function(t){var e=A(t,p,N(),[g,y],{orientation:C.tiling.orientation,flipX:C.tiling.flip.indexOf("x")>-1,flipY:C.tiling.flip.indexOf("y")>-1});return function(t){return b(e(t))}})):v.attr("d",b),d.call(f,r,t,e,{styleOne:l,eventDataKeys:u.eventDataKeys,transitionTime:u.CLICK_TRANSITION_TIME,transitionEasing:u.CLICK_TRANSITION_EASING}).call(c.setSliceCursor,t,{isTransitioning:t._transitioning}),v.call(l,s,C,{hovered:!1}),s.x0===s.x1||s.y0===s.y1?s._text="":s._text=h(s,r,C,e,L)||"";var k=i.ensureSingle(d,"g","slicetext"),S=i.ensureSingle(k,"text","",(function(t){t.attr("data-notex",1)})),D=i.ensureUniformFontSize(t,c.determineTextFont(C,s,L.font));S.text(s._text||" ").classed("slicetext",!0).attr("text-anchor",O?"end":P?"start":"middle").call(a.font,D).call(o.convertToTspans,t),s.textBB=a.bBox(S.node()),s.transform=_(s,{fontSize:D.size}),s.transform.fontSize=D.size,T?S.transition().attrTween("transform",(function(t){var e=M(t,p,N(),[g,y]);return function(t){return w(e(t))}})):S.attr("transform",w(s))})),F}},69816:function(t,e,r){"use strict";t.exports={moduleType:"trace",name:"icicle",basePlotModule:r(96346),categories:[],animatable:!0,attributes:r(46291),layoutAttributes:r(92894),supplyDefaults:r(56524),supplyLayoutDefaults:r(21070),calc:r(46584).y,crossTraceCalc:r(46584).T,plot:r(85596),style:r(82454).style,colorbar:r(4898),meta:{}}},92894:function(t){"use strict";t.exports={iciclecolorway:{valType:"colorlist",editType:"calc"},extendiciclecolors:{valType:"boolean",dflt:!0,editType:"calc"}}},21070:function(t,e,r){"use strict";var n=r(71828),i=r(92894);t.exports=function(t,e){function r(r,a){return n.coerce(t,e,i,r,a)}r("iciclecolorway",e.colorway),r("extendiciclecolors")}},21538:function(t,e,r){"use strict";var n=r(674),i=r(14102);t.exports=function(t,e,r){var a=r.flipX,o=r.flipY,s="h"===r.orientation,l=r.maxDepth,u=e[0],c=e[1];l&&(u=(t.height+1)*e[0]/Math.min(t.height+1,l),c=(t.height+1)*e[1]/Math.min(t.height+1,l));var f=n.partition().padding(r.pad.inner).size(s?[e[1],u]:[e[0],c])(t);return(s||a||o)&&i(f,e,{swapXY:s,flipX:a,flipY:o}),f}},85596:function(t,e,r){"use strict";var n=r(80694),i=r(90666);t.exports=function(t,e,r,a){return n(t,e,r,a,{type:"icicle",drawDescendants:i})}},82454:function(t,e,r){"use strict";var n=r(39898),i=r(7901),a=r(71828),o=r(72597).resizeText;function s(t,e,r){var n=e.data.data,o=!e.children,s=n.i,l=a.castOption(r,s,"marker.line.color")||i.defaultLine,u=a.castOption(r,s,"marker.line.width")||0;t.style("stroke-width",u).call(i.fill,n.color).call(i.stroke,l).style("opacity",o?r.leaf.opacity:null)}t.exports={style:function(t){var e=t._fullLayout._iciclelayer.selectAll(".trace");o(t,e,"icicle"),e.each((function(t){var e=n.select(this),r=t[0].trace;e.style("opacity",r.opacity),e.selectAll("path.surface").each((function(t){n.select(this).call(s,t,r)}))}))},styleOne:s}},17230:function(t,e,r){"use strict";for(var n=r(9012),i=r(5386).f,a=r(1426).extendFlat,o=r(51877).colormodel,s=["rgb","rgba","rgba256","hsl","hsla"],l=[],u=[],c=0;c<s.length;c++){var f=o[s[c]];l.push("For the `"+s[c]+"` colormodel, it is ["+(f.zminDflt||f.min).join(", ")+"]."),u.push("For the `"+s[c]+"` colormodel, it is ["+(f.zmaxDflt||f.max).join(", ")+"].")}t.exports=a({source:{valType:"string",editType:"calc"},z:{valType:"data_array",editType:"calc"},colormodel:{valType:"enumerated",values:s,editType:"calc"},zsmooth:{valType:"enumerated",values:["fast",!1],dflt:!1,editType:"plot"},zmin:{valType:"info_array",items:[{valType:"number",editType:"calc"},{valType:"number",editType:"calc"},{valType:"number",editType:"calc"},{valType:"number",editType:"calc"}],editType:"calc"},zmax:{valType:"info_array",items:[{valType:"number",editType:"calc"},{valType:"number",editType:"calc"},{valType:"number",editType:"calc"},{valType:"number",editType:"calc"}],editType:"calc"},x0:{valType:"any",dflt:0,editType:"calc+clearAxisTypes"},y0:{valType:"any",dflt:0,editType:"calc+clearAxisTypes"},dx:{valType:"number",dflt:1,editType:"calc"},dy:{valType:"number",dflt:1,editType:"calc"},text:{valType:"data_array",editType:"plot"},hovertext:{valType:"data_array",editType:"plot"},hoverinfo:a({},n.hoverinfo,{flags:["x","y","z","color","name","text"],dflt:"x+y+z+text+name"}),hovertemplate:i({},{keys:["z","color","colormodel"]}),transforms:void 0})},71113:function(t,e,r){"use strict";var n=r(71828),i=r(51877),a=r(92770),o=r(89298),s=r(71828).maxRowLength,l=r(67395).A;function u(t,e,r,i){return function(a){return n.constrain((a-t)*e,r,i)}}function c(t,e){return function(r){return n.constrain(r,t,e)}}t.exports=function(t,e){var r,n;if(e._hasZ)r=e.z.length,n=s(e.z);else if(e._hasSource){var f=l(e.source);r=f.height,n=f.width}var h,p=o.getFromId(t,e.xaxis||"x"),d=o.getFromId(t,e.yaxis||"y"),v=p.d2c(e.x0)-e.dx/2,g=d.d2c(e.y0)-e.dy/2,y=[v,v+n*e.dx],m=[g,g+r*e.dy];if(p&&"log"===p.type)for(h=0;h<n;h++)y.push(v+h*e.dx);if(d&&"log"===d.type)for(h=0;h<r;h++)m.push(g+h*e.dy);return e._extremes[p._id]=o.findExtremes(p,y),e._extremes[d._id]=o.findExtremes(d,m),e._scaler=function(t){var e=i.colormodel[t.colormodel],r=(e.colormodel||t.colormodel).length;t._sArray=[];for(var n=0;n<r;n++)e.min[n]!==t.zmin[n]||e.max[n]!==t.zmax[n]?t._sArray.push(u(t.zmin[n],(e.max[n]-e.min[n])/(t.zmax[n]-t.zmin[n]),e.min[n],e.max[n])):t._sArray.push(c(e.min[n],e.max[n]));return function(e){for(var n=e.slice(0,r),i=0;i<r;i++){var o=n[i];if(!a(o))return!1;n[i]=t._sArray[i](o)}return n}}(e),[{x0:v,y0:g,z:e.z,w:n,h:r}]}},51877:function(t){"use strict";t.exports={colormodel:{rgb:{min:[0,0,0],max:[255,255,255],fmt:function(t){return t.slice(0,3)},suffix:["","",""]},rgba:{min:[0,0,0,0],max:[255,255,255,1],fmt:function(t){return t.slice(0,4)},suffix:["","","",""]},rgba256:{colormodel:"rgba",zminDflt:[0,0,0,0],zmaxDflt:[255,255,255,255],min:[0,0,0,0],max:[255,255,255,1],fmt:function(t){return t.slice(0,4)},suffix:["","","",""]},hsl:{min:[0,0,0],max:[360,100,100],fmt:function(t){var e=t.slice(0,3);return e[1]=e[1]+"%",e[2]=e[2]+"%",e},suffix:["°","%","%"]},hsla:{min:[0,0,0,0],max:[360,100,100,1],fmt:function(t){var e=t.slice(0,4);return e[1]=e[1]+"%",e[2]=e[2]+"%",e},suffix:["°","%","%",""]}},pixelatedStyle:["image-rendering: optimizeSpeed","image-rendering: -moz-crisp-edges","image-rendering: -o-crisp-edges","image-rendering: -webkit-optimize-contrast","image-rendering: optimize-contrast","image-rendering: crisp-edges","image-rendering: pixelated",""].join("; ")}},13245:function(t,e,r){"use strict";var n=r(71828),i=r(17230),a=r(51877),o=r(25095).IMAGE_URL_PREFIX;t.exports=function(t,e){function r(r,a){return n.coerce(t,e,i,r,a)}r("source"),e.source&&!e.source.match(o)&&delete e.source,e._hasSource=!!e.source;var s,l=r("z");e._hasZ=!(void 0===l||!l.length||!l[0]||!l[0].length),e._hasZ||e._hasSource?(r("x0"),r("y0"),r("dx"),r("dy"),e._hasZ?(r("colormodel","rgb"),r("zmin",(s=a.colormodel[e.colormodel]).zminDflt||s.min),r("zmax",s.zmaxDflt||s.max)):e._hasSource&&(e.colormodel="rgba256",s=a.colormodel[e.colormodel],e.zmin=s.zminDflt,e.zmax=s.zmaxDflt),r("zsmooth"),r("text"),r("hovertext"),r("hovertemplate"),e._length=null):e.visible=!1}},30835:function(t){"use strict";t.exports=function(t,e){return"xVal"in e&&(t.x=e.xVal),"yVal"in e&&(t.y=e.yVal),e.xa&&(t.xaxis=e.xa),e.ya&&(t.yaxis=e.ya),t.color=e.color,t.colormodel=e.trace.colormodel,t.z||(t.z=e.color),t}},67395:function(t,e,r){"use strict";var n=r(33575),i=r(25095).IMAGE_URL_PREFIX,a=r(12856).Buffer;e.A=function(t){var e=t.replace(i,""),r=new a(e,"base64");return n(r)}},28749:function(t,e,r){"use strict";var n=r(30211),i=r(71828),a=r(51877);t.exports=function(t,e,r){var o=t.cd[0],s=o.trace,l=t.xa,u=t.ya;if(!(n.inbox(e-o.x0,e-(o.x0+o.w*s.dx),0)>0||n.inbox(r-o.y0,r-(o.y0+o.h*s.dy),0)>0)){var c,f=Math.floor((e-o.x0)/s.dx),h=Math.floor(Math.abs(r-o.y0)/s.dy);if(s._hasZ?c=o.z[h][f]:s._hasSource&&(c=s._canvas.el.getContext("2d",{willReadFrequently:!0}).getImageData(f,h,1,1).data),c){var p,d=o.hi||s.hoverinfo;if(d){var v=d.split("+");-1!==v.indexOf("all")&&(v=["color"]),-1!==v.indexOf("color")&&(p=!0)}var g,y=a.colormodel[s.colormodel],m=y.colormodel||s.colormodel,x=m.length,b=s._scaler(c),_=y.suffix,w=[];(s.hovertemplate||p)&&(w.push("["+[b[0]+_[0],b[1]+_[1],b[2]+_[2]].join(", ")),4===x&&w.push(", "+b[3]+_[3]),w.push("]"),w=w.join(""),t.extraText=m.toUpperCase()+": "+w),Array.isArray(s.hovertext)&&Array.isArray(s.hovertext[h])?g=s.hovertext[h][f]:Array.isArray(s.text)&&Array.isArray(s.text[h])&&(g=s.text[h][f]);var T=u.c2p(o.y0+(h+.5)*s.dy),k=o.x0+(f+.5)*s.dx,A=o.y0+(h+.5)*s.dy,M="["+c.slice(0,s.colormodel.length).join(", ")+"]";return[i.extendFlat(t,{index:[h,f],x0:l.c2p(o.x0+f*s.dx),x1:l.c2p(o.x0+(f+1)*s.dx),y0:T,y1:T,color:b,xVal:k,xLabelVal:k,yVal:A,yLabelVal:A,zLabelVal:M,text:g,hovertemplateLabels:{zLabel:M,colorLabel:w,"color[0]Label":b[0]+_[0],"color[1]Label":b[1]+_[1],"color[2]Label":b[2]+_[2],"color[3]Label":b[3]+_[3]}})]}}}},94507:function(t,e,r){"use strict";t.exports={attributes:r(17230),supplyDefaults:r(13245),calc:r(71113),plot:r(60775),style:r(12826),hoverPoints:r(28749),eventData:r(30835),moduleType:"trace",name:"image",basePlotModule:r(93612),categories:["cartesian","svg","2dMap","noSortingByValue"],animatable:!1,meta:{}}},60775:function(t,e,r){"use strict";var n=r(39898),i=r(71828),a=i.strTranslate,o=r(77922),s=r(51877),l=i.isIOS()||i.isSafari()||i.isIE();t.exports=function(t,e,r,u){var c=e.xaxis,f=e.yaxis,h=!(l||t._context._exportedPlot);i.makeTraceGroups(u,r,"im").each((function(e){var r=n.select(this),l=e[0],u=l.trace,p=("fast"===u.zsmooth||!1===u.zsmooth&&h)&&!u._hasZ&&u._hasSource&&"linear"===c.type&&"linear"===f.type;u._realImage=p;var d,v,g,y,m,x,b=l.z,_=l.x0,w=l.y0,T=l.w,k=l.h,A=u.dx,M=u.dy;for(x=0;void 0===d&&x<T;)d=c.c2p(_+x*A),x++;for(x=T;void 0===v&&x>0;)v=c.c2p(_+x*A),x--;for(x=0;void 0===y&&x<k;)y=f.c2p(w+x*M),x++;for(x=k;void 0===m&&x>0;)m=f.c2p(w+x*M),x--;v<d&&(g=v,v=d,d=g),m<y&&(g=y,y=m,m=g),p||(d=Math.max(-.5*c._length,d),v=Math.min(1.5*c._length,v),y=Math.max(-.5*f._length,y),m=Math.min(1.5*f._length,m));var S=Math.round(v-d),E=Math.round(m-y);if(S<=0||E<=0)r.selectAll("image").data([]).exit().remove();else{var L=r.selectAll("image").data([e]);L.enter().append("svg:image").attr({xmlns:o.svg,preserveAspectRatio:"none"}),L.exit().remove();var C=!1===u.zsmooth?s.pixelatedStyle:"";if(p){var P=i.simpleMap(c.range,c.r2l),O=i.simpleMap(f.range,f.r2l),I=P[1]<P[0],D=O[1]>O[0];if(I||D){var z=d+S/2,R=y+E/2;C+="transform:"+a(z+"px",R+"px")+"scale("+(I?-1:1)+","+(D?-1:1)+")"+a(-z+"px",-R+"px")+";"}}L.attr("style",C);var F=new Promise((function(t){if(u._hasZ)t();else if(u._hasSource)if(u._canvas&&u._canvas.el.width===T&&u._canvas.el.height===k&&u._canvas.source===u.source)t();else{var e=document.createElement("canvas");e.width=T,e.height=k;var r=e.getContext("2d",{willReadFrequently:!0});u._image=u._image||new Image;var n=u._image;n.onload=function(){r.drawImage(n,0,0),u._canvas={el:e,source:u.source},t()},n.setAttribute("src",u.source)}})).then((function(){var t,e;if(u._hasZ)e=B((function(t,e){return b[e][t]})),t=e.toDataURL("image/png");else if(u._hasSource)if(p)t=u.source;else{var r=u._canvas.el.getContext("2d",{willReadFrequently:!0}).getImageData(0,0,T,k).data;e=B((function(t,e){var n=4*(e*T+t);return[r[n],r[n+1],r[n+2],r[n+3]]})),t=e.toDataURL("image/png")}L.attr({"xlink:href":t,height:E,width:S,x:d,y:y})}));t._promises.push(F)}function B(t){var e=document.createElement("canvas");e.width=S,e.height=E;var r,n=e.getContext("2d",{willReadFrequently:!0}),a=function(t){return i.constrain(Math.round(c.c2p(_+t*A)-d),0,S)},o=function(t){return i.constrain(Math.round(f.c2p(w+t*M)-y),0,E)},h=s.colormodel[u.colormodel],p=h.colormodel||u.colormodel,v=h.fmt;for(x=0;x<l.w;x++){var g=a(x),m=a(x+1);if(m!==g&&!isNaN(m)&&!isNaN(g))for(var b=0;b<l.h;b++){var T=o(b),k=o(b+1);k===T||isNaN(k)||isNaN(T)||!t(x,b)||(r=u._scaler(t(x,b)),n.fillStyle=r?p+"("+v(r).join(",")+")":"rgba(0,0,0,0)",n.fillRect(g,T,m-g,k-T))}}return e}}))}},12826:function(t,e,r){"use strict";var n=r(39898);t.exports=function(t){n.select(t).selectAll(".im image").style("opacity",(function(t){return t[0].trace.opacity}))}},54846:function(t,e,r){"use strict";var n=r(1426).extendFlat,i=r(1426).extendDeep,a=r(30962).overrideAll,o=r(41940),s=r(22399),l=r(27670).Y,u=r(13838),c=r(44467).templatedArray,f=r(22372),h=r(12663).descriptionOnlyNumbers,p=o({editType:"plot",colorEditType:"plot"}),d={color:{valType:"color",editType:"plot"},line:{color:{valType:"color",dflt:s.defaultLine,editType:"plot"},width:{valType:"number",min:0,dflt:0,editType:"plot"},editType:"calc"},thickness:{valType:"number",min:0,max:1,dflt:1,editType:"plot"},editType:"calc"},v={valType:"info_array",items:[{valType:"number",editType:"plot"},{valType:"number",editType:"plot"}],editType:"plot"},g=c("step",i({},d,{range:v}));t.exports={mode:{valType:"flaglist",editType:"calc",flags:["number","delta","gauge"],dflt:"number"},value:{valType:"number",editType:"calc",anim:!0},align:{valType:"enumerated",values:["left","center","right"],editType:"plot"},domain:l({name:"indicator",trace:!0,editType:"calc"}),title:{text:{valType:"string",editType:"plot"},align:{valType:"enumerated",values:["left","center","right"],editType:"plot"},font:n({},p,{}),editType:"plot"},number:{valueformat:{valType:"string",dflt:"",editType:"plot",description:h("value")},font:n({},p,{}),prefix:{valType:"string",dflt:"",editType:"plot"},suffix:{valType:"string",dflt:"",editType:"plot"},editType:"plot"},delta:{reference:{valType:"number",editType:"calc"},position:{valType:"enumerated",values:["top","bottom","left","right"],dflt:"bottom",editType:"plot"},relative:{valType:"boolean",editType:"plot",dflt:!1},valueformat:{valType:"string",editType:"plot",description:h("value")},increasing:{symbol:{valType:"string",dflt:f.INCREASING.SYMBOL,editType:"plot"},color:{valType:"color",dflt:f.INCREASING.COLOR,editType:"plot"},editType:"plot"},decreasing:{symbol:{valType:"string",dflt:f.DECREASING.SYMBOL,editType:"plot"},color:{valType:"color",dflt:f.DECREASING.COLOR,editType:"plot"},editType:"plot"},font:n({},p,{}),prefix:{valType:"string",dflt:"",editType:"plot"},suffix:{valType:"string",dflt:"",editType:"plot"},editType:"calc"},gauge:{shape:{valType:"enumerated",editType:"plot",dflt:"angular",values:["angular","bullet"]},bar:i({},d,{color:{dflt:"green"}}),bgcolor:{valType:"color",editType:"plot"},bordercolor:{valType:"color",dflt:s.defaultLine,editType:"plot"},borderwidth:{valType:"number",min:0,dflt:1,editType:"plot"},axis:a({range:v,visible:n({},u.visible,{dflt:!0}),tickmode:u.minor.tickmode,nticks:u.nticks,tick0:u.tick0,dtick:u.dtick,tickvals:u.tickvals,ticktext:u.ticktext,ticks:n({},u.ticks,{dflt:"outside"}),ticklen:u.ticklen,tickwidth:u.tickwidth,tickcolor:u.tickcolor,ticklabelstep:u.ticklabelstep,showticklabels:u.showticklabels,tickfont:o({}),tickangle:u.tickangle,tickformat:u.tickformat,tickformatstops:u.tickformatstops,tickprefix:u.tickprefix,showtickprefix:u.showtickprefix,ticksuffix:u.ticksuffix,showticksuffix:u.showticksuffix,separatethousands:u.separatethousands,exponentformat:u.exponentformat,minexponent:u.minexponent,showexponent:u.showexponent,editType:"plot"},"plot"),steps:g,threshold:{line:{color:n({},d.line.color,{}),width:n({},d.line.width,{dflt:1}),editType:"plot"},thickness:n({},d.thickness,{dflt:.85}),value:{valType:"number",editType:"calc",dflt:!1},editType:"plot"},editType:"plot"}}},15970:function(t,e,r){"use strict";var n=r(74875);e.name="indicator",e.plot=function(t,r,i,a){n.plotBasePlot(e.name,t,r,i,a)},e.clean=function(t,r,i,a){n.cleanBasePlot(e.name,t,r,i,a)}},24667:function(t){"use strict";t.exports={calc:function(t,e){var r=[],n=e.value;"number"!=typeof e._lastValue&&(e._lastValue=e.value);var i=e._lastValue,a=i;return e._hasDelta&&"number"==typeof e.delta.reference&&(a=e.delta.reference),r[0]={y:n,lastY:i,delta:n-a,relativeDelta:(n-a)/a},r}}},84577:function(t){"use strict";t.exports={defaultNumberFontSize:80,bulletNumberDomainSize:.25,bulletPadding:.025,innerRadius:.75,valueThickness:.5,titlePadding:5,horizontalPadding:10}},94425:function(t,e,r){"use strict";var n=r(71828),i=r(54846),a=r(27670).c,o=r(44467),s=r(85501),l=r(84577),u=r(26218),c=r(38701),f=r(96115),h=r(89426);function p(t,e){function r(r,a){return n.coerce(t,e,i.gauge.steps,r,a)}r("color"),r("line.color"),r("line.width"),r("range"),r("thickness")}t.exports={supplyDefaults:function(t,e,r,d){function v(r,a){return n.coerce(t,e,i,r,a)}a(e,d,v),v("mode"),e._hasNumber=-1!==e.mode.indexOf("number"),e._hasDelta=-1!==e.mode.indexOf("delta"),e._hasGauge=-1!==e.mode.indexOf("gauge");var g=v("value");e._range=[0,"number"==typeof g?1.5*g:1];var y,m,x,b,_,w,T=new Array(2);function k(t,e){return n.coerce(x,b,i.gauge,t,e)}function A(t,e){return n.coerce(_,w,i.gauge.axis,t,e)}if(e._hasNumber&&(v("number.valueformat"),v("number.font.color",d.font.color),v("number.font.family",d.font.family),v("number.font.size"),void 0===e.number.font.size&&(e.number.font.size=l.defaultNumberFontSize,T[0]=!0),v("number.prefix"),v("number.suffix"),y=e.number.font.size),e._hasDelta&&(v("delta.font.color",d.font.color),v("delta.font.family",d.font.family),v("delta.font.size"),void 0===e.delta.font.size&&(e.delta.font.size=(e._hasNumber?.5:1)*(y||l.defaultNumberFontSize),T[1]=!0),v("delta.reference",e.value),v("delta.relative"),v("delta.valueformat",e.delta.relative?"2%":""),v("delta.increasing.symbol"),v("delta.increasing.color"),v("delta.decreasing.symbol"),v("delta.decreasing.color"),v("delta.position"),v("delta.prefix"),v("delta.suffix"),m=e.delta.font.size),e._scaleNumbers=(!e._hasNumber||T[0])&&(!e._hasDelta||T[1])||!1,v("title.font.color",d.font.color),v("title.font.family",d.font.family),v("title.font.size",.25*(y||m||l.defaultNumberFontSize)),v("title.text"),e._hasGauge){(x=t.gauge)||(x={}),b=o.newContainer(e,"gauge"),k("shape"),(e._isBullet="bullet"===e.gauge.shape)||v("title.align","center"),(e._isAngular="angular"===e.gauge.shape)||v("align","center"),k("bgcolor",d.paper_bgcolor),k("borderwidth"),k("bordercolor"),k("bar.color"),k("bar.line.color"),k("bar.line.width"),k("bar.thickness",l.valueThickness*("bullet"===e.gauge.shape?.5:1)),s(x,b,{name:"steps",handleItemDefaults:p}),k("threshold.value"),k("threshold.thickness"),k("threshold.line.width"),k("threshold.line.color"),_={},x&&(_=x.axis||{}),w=o.newContainer(b,"axis"),A("visible"),e._range=A("range",e._range);var M={outerTicks:!0};u(_,w,A,"linear"),h(_,w,A,"linear",M),f(_,w,A,"linear",M),c(_,w,A,M)}else v("title.align","center"),v("align","center"),e._isAngular=e._isBullet=!1;e._length=null}}},15154:function(t,e,r){"use strict";t.exports={moduleType:"trace",name:"indicator",basePlotModule:r(15970),categories:["svg","noOpacity","noHover"],animatable:!0,attributes:r(54846),supplyDefaults:r(94425).supplyDefaults,calc:r(24667).calc,plot:r(75634),meta:{}}},75634:function(t,e,r){"use strict";var n=r(39898),i=r(29502).sX,a=r(29502).k4,o=r(71828),s=o.strScale,l=o.strTranslate,u=o.rad2deg,c=r(18783).MID_SHIFT,f=r(91424),h=r(84577),p=r(63893),d=r(89298),v=r(71453),g=r(52830),y=r(13838),m=r(7901),x={left:"start",center:"middle",right:"end"},b={left:0,center:.5,right:1},_=/[yzafpnµmkMGTPEZY]/;function w(t){return t&&t.duration>0}function T(t){t.each((function(t){m.stroke(n.select(this),t.line.color)})).each((function(t){m.fill(n.select(this),t.color)})).style("stroke-width",(function(t){return t.line.width}))}function k(t,e,r){var n=t._fullLayout,i=o.extendFlat({type:"linear",ticks:"outside",range:r,showline:!0},e),a={type:"linear",_id:"x"+e._id},s={letter:"x",font:n.font,noHover:!0,noTickson:!0};function l(t,e){return o.coerce(i,a,y,t,e)}return v(i,a,l,s,n),g(i,a,l,s),a}function A(t,e,r){return[Math.min(e/t.width,r/t.height),t,e+"x"+r]}function M(t,e,r,i){var a=document.createElementNS("http://www.w3.org/2000/svg","text"),o=n.select(a);return o.text(t).attr("x",0).attr("y",0).attr("text-anchor",r).attr("data-unformatted",t).call(p.convertToTspans,i).call(f.font,e),f.bBox(o.node())}function S(t,e,r,n,i,a){var s="_cache"+e;t[s]&&t[s].key===i||(t[s]={key:i,value:r});var l=o.aggNums(a,null,[t[s].value,n],2);return t[s].value=l,l}t.exports=function(t,e,r,v){var g,y=t._fullLayout;w(r)&&v&&(g=v()),o.makeTraceGroups(y._indicatorlayer,e,"trace").each((function(e){var v,E,L,C,P,O=e[0].trace,I=n.select(this),D=O._hasGauge,z=O._isAngular,R=O._isBullet,F=O.domain,B={w:y._size.w*(F.x[1]-F.x[0]),h:y._size.h*(F.y[1]-F.y[0]),l:y._size.l+y._size.w*F.x[0],r:y._size.r+y._size.w*(1-F.x[1]),t:y._size.t+y._size.h*(1-F.y[1]),b:y._size.b+y._size.h*F.y[0]},N=B.l+B.w/2,j=B.t+B.h/2,U=Math.min(B.w/2,B.h),V=h.innerRadius*U,H=O.align||"center";if(E=j,D){if(z&&(v=N,E=j+U/2,L=function(t){return function(t,e){return[e/Math.sqrt(t.width/2*(t.width/2)+t.height*t.height),t,e]}(t,.9*V)}),R){var q=h.bulletPadding,G=1-h.bulletNumberDomainSize+q;v=B.l+(G+(1-G)*b[H])*B.w,L=function(t){return A(t,(h.bulletNumberDomainSize-q)*B.w,B.h)}}}else v=B.l+b[H]*B.w,L=function(t){return A(t,B.w,B.h)};!function(t,e,r,i){var u,c,h,v=r[0].trace,g=i.numbersX,y=i.numbersY,T=v.align||"center",A=x[T],E=i.transitionOpts,L=i.onComplete,C=o.ensureSingle(e,"g","numbers"),P=[];v._hasNumber&&P.push("number"),v._hasDelta&&(P.push("delta"),"left"===v.delta.position&&P.reverse());var O=C.selectAll("text").data(P);function I(e,r,n,i){if(!e.match("s")||n>=0==i>=0||r(n).slice(-1).match(_)||r(i).slice(-1).match(_))return r;var a=e.slice().replace("s","f").replace(/\d+/,(function(t){return parseInt(t)-1})),o=k(t,{tickformat:a});return function(t){return Math.abs(t)<1?d.tickText(o,t).text:r(t)}}O.enter().append("text"),O.attr("text-anchor",(function(){return A})).attr("class",(function(t){return t})).attr("x",null).attr("y",null).attr("dx",null).attr("dy",null),O.exit().remove();var D,z=v.mode+v.align;if(v._hasDelta&&(D=function(){var e=k(t,{tickformat:v.delta.valueformat},v._range);e.setScale(),d.prepTicks(e);var i=function(t){return d.tickText(e,t).text},o=v.delta.suffix,s=v.delta.prefix,l=function(t){return v.delta.relative?t.relativeDelta:t.delta},u=function(t,e){return 0===t||"number"!=typeof t||isNaN(t)?"-":(t>0?v.delta.increasing.symbol:v.delta.decreasing.symbol)+s+e(t)+o},h=function(t){return t.delta>=0?v.delta.increasing.color:v.delta.decreasing.color};void 0===v._deltaLastValue&&(v._deltaLastValue=l(r[0]));var g=C.select("text.delta");function y(){g.text(u(l(r[0]),i)).call(m.fill,h(r[0])).call(p.convertToTspans,t)}return g.call(f.font,v.delta.font).call(m.fill,h({delta:v._deltaLastValue})),w(E)?g.transition().duration(E.duration).ease(E.easing).tween("text",(function(){var t=n.select(this),e=l(r[0]),o=v._deltaLastValue,s=I(v.delta.valueformat,i,o,e),c=a(o,e);return v._deltaLastValue=e,function(e){t.text(u(c(e),s)),t.call(m.fill,h({delta:c(e)}))}})).each("end",(function(){y(),L&&L()})).each("interrupt",(function(){y(),L&&L()})):y(),c=M(u(l(r[0]),i),v.delta.font,A,t),g}(),z+=v.delta.position+v.delta.font.size+v.delta.font.family+v.delta.valueformat,z+=v.delta.increasing.symbol+v.delta.decreasing.symbol,h=c),v._hasNumber&&(function(){var e=k(t,{tickformat:v.number.valueformat},v._range);e.setScale(),d.prepTicks(e);var i=function(t){return d.tickText(e,t).text},o=v.number.suffix,s=v.number.prefix,l=C.select("text.number");function c(){var e="number"==typeof r[0].y?s+i(r[0].y)+o:"-";l.text(e).call(f.font,v.number.font).call(p.convertToTspans,t)}w(E)?l.transition().duration(E.duration).ease(E.easing).each("end",(function(){c(),L&&L()})).each("interrupt",(function(){c(),L&&L()})).attrTween("text",(function(){var t=n.select(this),e=a(r[0].lastY,r[0].y);v._lastValue=r[0].y;var l=I(v.number.valueformat,i,r[0].lastY,r[0].y);return function(r){t.text(s+l(e(r))+o)}})):c(),u=M(s+i(r[0].y)+o,v.number.font,A,t)}(),z+=v.number.font.size+v.number.font.family+v.number.valueformat+v.number.suffix+v.number.prefix,h=u),v._hasDelta&&v._hasNumber){var R,F,B=[(u.left+u.right)/2,(u.top+u.bottom)/2],N=[(c.left+c.right)/2,(c.top+c.bottom)/2],j=.75*v.delta.font.size;"left"===v.delta.position&&(R=S(v,"deltaPos",0,-1*(u.width*b[v.align]+c.width*(1-b[v.align])+j),z,Math.min),F=B[1]-N[1],h={width:u.width+c.width+j,height:Math.max(u.height,c.height),left:c.left+R,right:u.right,top:Math.min(u.top,c.top+F),bottom:Math.max(u.bottom,c.bottom+F)}),"right"===v.delta.position&&(R=S(v,"deltaPos",0,u.width*(1-b[v.align])+c.width*b[v.align]+j,z,Math.max),F=B[1]-N[1],h={width:u.width+c.width+j,height:Math.max(u.height,c.height),left:u.left,right:c.right+R,top:Math.min(u.top,c.top+F),bottom:Math.max(u.bottom,c.bottom+F)}),"bottom"===v.delta.position&&(R=null,F=c.height,h={width:Math.max(u.width,c.width),height:u.height+c.height,left:Math.min(u.left,c.left),right:Math.max(u.right,c.right),top:u.bottom-u.height,bottom:u.bottom+c.height}),"top"===v.delta.position&&(R=null,F=u.top,h={width:Math.max(u.width,c.width),height:u.height+c.height,left:Math.min(u.left,c.left),right:Math.max(u.right,c.right),top:u.bottom-u.height-c.height,bottom:u.bottom}),D.attr({dx:R,dy:F})}(v._hasNumber||v._hasDelta)&&C.attr("transform",(function(){var t=i.numbersScaler(h);z+=t[2];var e,r=S(v,"numbersScale",1,t[0],z,Math.min);v._scaleNumbers||(r=1),e=v._isAngular?y-r*h.bottom:y-r*(h.top+h.bottom)/2,v._numbersTop=r*h.top+e;var n=h[T];"center"===T&&(n=(h.left+h.right)/2);var a=g-r*n;return a=S(v,"numbersTranslate",0,a,z,Math.max),l(a,e)+s(r)}))}(t,I,e,{numbersX:v,numbersY:E,numbersScaler:L,transitionOpts:r,onComplete:g}),D&&(C={range:O.gauge.axis.range,color:O.gauge.bgcolor,line:{color:O.gauge.bordercolor,width:0},thickness:1},P={range:O.gauge.axis.range,color:"rgba(0, 0, 0, 0)",line:{color:O.gauge.bordercolor,width:O.gauge.borderwidth},thickness:1});var Z=I.selectAll("g.angular").data(z?e:[]);Z.exit().remove();var Y=I.selectAll("g.angularaxis").data(z?e:[]);Y.exit().remove(),z&&function(t,e,r,a){var o,s,f,h,p=r[0].trace,v=a.size,g=a.radius,y=a.innerRadius,m=a.gaugeBg,x=a.gaugeOutline,b=[v.l+v.w/2,v.t+v.h/2+g/2],_=a.gauge,A=a.layer,M=a.transitionOpts,S=a.onComplete,E=Math.PI/2;function L(t){var e=p.gauge.axis.range[0],r=(t-e)/(p.gauge.axis.range[1]-e)*Math.PI-E;return r<-E?-E:r>E?E:r}function C(t){return n.svg.arc().innerRadius((y+g)/2-t/2*(g-y)).outerRadius((y+g)/2+t/2*(g-y)).startAngle(-E)}function P(t){t.attr("d",(function(t){return C(t.thickness).startAngle(L(t.range[0])).endAngle(L(t.range[1]))()}))}_.enter().append("g").classed("angular",!0),_.attr("transform",l(b[0],b[1])),A.enter().append("g").classed("angularaxis",!0).classed("crisp",!0),A.selectAll("g.xangularaxistick,path,text").remove(),(o=k(t,p.gauge.axis)).type="linear",o.range=p.gauge.axis.range,o._id="xangularaxis",o.ticklabeloverflow="allow",o.setScale();var O=function(t){return(o.range[0]-t.x)/(o.range[1]-o.range[0])*Math.PI+Math.PI},I={},D=d.makeLabelFns(o,0).labelStandoff;I.xFn=function(t){var e=O(t);return Math.cos(e)*D},I.yFn=function(t){var e=O(t),r=Math.sin(e)>0?.2:1;return-Math.sin(e)*(D+t.fontSize*r)+Math.abs(Math.cos(e))*(t.fontSize*c)},I.anchorFn=function(t){var e=O(t),r=Math.cos(e);return Math.abs(r)<.1?"middle":r>0?"start":"end"},I.heightFn=function(t,e,r){var n=O(t);return-.5*(1+Math.sin(n))*r};var z=function(t){return l(b[0]+g*Math.cos(t),b[1]-g*Math.sin(t))};f=function(t){return z(O(t))};if(s=d.calcTicks(o),h=d.getTickSigns(o)[2],o.visible){h="inside"===o.ticks?-1:1;var R=(o.linewidth||1)/2;d.drawTicks(t,o,{vals:s,layer:A,path:"M"+h*R+",0h"+h*o.ticklen,transFn:function(t){var e=O(t);return z(e)+"rotate("+-u(e)+")"}}),d.drawLabels(t,o,{vals:s,layer:A,transFn:f,labelFns:I})}var F=[m].concat(p.gauge.steps),B=_.selectAll("g.bg-arc").data(F);B.enter().append("g").classed("bg-arc",!0).append("path"),B.select("path").call(P).call(T),B.exit().remove();var N=C(p.gauge.bar.thickness),j=_.selectAll("g.value-arc").data([p.gauge.bar]);j.enter().append("g").classed("value-arc",!0).append("path");var U,V,H,q=j.select("path");w(M)?(q.transition().duration(M.duration).ease(M.easing).each("end",(function(){S&&S()})).each("interrupt",(function(){S&&S()})).attrTween("d",(U=N,V=L(r[0].lastY),H=L(r[0].y),function(){var t=i(V,H);return function(e){return U.endAngle(t(e))()}})),p._lastValue=r[0].y):q.attr("d","number"==typeof r[0].y?N.endAngle(L(r[0].y)):"M0,0Z"),q.call(T),j.exit().remove(),F=[];var G=p.gauge.threshold.value;(G||0===G)&&F.push({range:[G,G],color:p.gauge.threshold.color,line:{color:p.gauge.threshold.line.color,width:p.gauge.threshold.line.width},thickness:p.gauge.threshold.thickness});var Z=_.selectAll("g.threshold-arc").data(F);Z.enter().append("g").classed("threshold-arc",!0).append("path"),Z.select("path").call(P).call(T),Z.exit().remove();var Y=_.selectAll("g.gauge-outline").data([x]);Y.enter().append("g").classed("gauge-outline",!0).append("path"),Y.select("path").call(P).call(T),Y.exit().remove()}(t,0,e,{radius:U,innerRadius:V,gauge:Z,layer:Y,size:B,gaugeBg:C,gaugeOutline:P,transitionOpts:r,onComplete:g});var W=I.selectAll("g.bullet").data(R?e:[]);W.exit().remove();var X=I.selectAll("g.bulletaxis").data(R?e:[]);X.exit().remove(),R&&function(t,e,r,n){var i,a,o,s,u,c=r[0].trace,f=n.gauge,p=n.layer,v=n.gaugeBg,g=n.gaugeOutline,y=n.size,x=c.domain,b=n.transitionOpts,_=n.onComplete;f.enter().append("g").classed("bullet",!0),f.attr("transform",l(y.l,y.t)),p.enter().append("g").classed("bulletaxis",!0).classed("crisp",!0),p.selectAll("g.xbulletaxistick,path,text").remove();var A=y.h,M=c.gauge.bar.thickness*A,S=x.x[0],E=x.x[0]+(x.x[1]-x.x[0])*(c._hasNumber||c._hasDelta?1-h.bulletNumberDomainSize:1);function L(t){t.attr("width",(function(t){return Math.max(0,i.c2p(t.range[1])-i.c2p(t.range[0]))})).attr("x",(function(t){return i.c2p(t.range[0])})).attr("y",(function(t){return.5*(1-t.thickness)*A})).attr("height",(function(t){return t.thickness*A}))}(i=k(t,c.gauge.axis))._id="xbulletaxis",i.domain=[S,E],i.setScale(),a=d.calcTicks(i),o=d.makeTransTickFn(i),s=d.getTickSigns(i)[2],u=y.t+y.h,i.visible&&(d.drawTicks(t,i,{vals:"inside"===i.ticks?d.clipEnds(i,a):a,layer:p,path:d.makeTickPath(i,u,s),transFn:o}),d.drawLabels(t,i,{vals:a,layer:p,transFn:o,labelFns:d.makeLabelFns(i,u)}));var C=[v].concat(c.gauge.steps),P=f.selectAll("g.bg-bullet").data(C);P.enter().append("g").classed("bg-bullet",!0).append("rect"),P.select("rect").call(L).call(T),P.exit().remove();var O=f.selectAll("g.value-bullet").data([c.gauge.bar]);O.enter().append("g").classed("value-bullet",!0).append("rect"),O.select("rect").attr("height",M).attr("y",(A-M)/2).call(T),w(b)?O.select("rect").transition().duration(b.duration).ease(b.easing).each("end",(function(){_&&_()})).each("interrupt",(function(){_&&_()})).attr("width",Math.max(0,i.c2p(Math.min(c.gauge.axis.range[1],r[0].y)))):O.select("rect").attr("width","number"==typeof r[0].y?Math.max(0,i.c2p(Math.min(c.gauge.axis.range[1],r[0].y))):0),O.exit().remove();var I=r.filter((function(){return c.gauge.threshold.value||0===c.gauge.threshold.value})),D=f.selectAll("g.threshold-bullet").data(I);D.enter().append("g").classed("threshold-bullet",!0).append("line"),D.select("line").attr("x1",i.c2p(c.gauge.threshold.value)).attr("x2",i.c2p(c.gauge.threshold.value)).attr("y1",(1-c.gauge.threshold.thickness)/2*A).attr("y2",(1-(1-c.gauge.threshold.thickness)/2)*A).call(m.stroke,c.gauge.threshold.line.color).style("stroke-width",c.gauge.threshold.line.width),D.exit().remove();var z=f.selectAll("g.gauge-outline").data([g]);z.enter().append("g").classed("gauge-outline",!0).append("rect"),z.select("rect").call(L).call(T),z.exit().remove()}(t,0,e,{gauge:W,layer:X,size:B,gaugeBg:C,gaugeOutline:P,transitionOpts:r,onComplete:g});var J=I.selectAll("text.title").data(e);J.exit().remove(),J.enter().append("text").classed("title",!0),J.attr("text-anchor",(function(){return R?x.right:x[O.title.align]})).text(O.title.text).call(f.font,O.title.font).call(p.convertToTspans,t),J.attr("transform",(function(){var t,e=B.l+B.w*b[O.title.align],r=h.titlePadding,n=f.bBox(J.node());return D?(z&&(t=O.gauge.axis.visible?f.bBox(Y.node()).top-r-n.bottom:B.t+B.h/2-U/2-n.bottom-r),R&&(t=E-(n.top+n.bottom)/2,e=B.l-h.bulletPadding*B.w)):t=O._numbersTop-r-n.bottom,l(e,t)}))}))}},16249:function(t,e,r){"use strict";var n=r(50693),i=r(12663).axisHoverFormat,a=r(5386).f,o=r(2418),s=r(9012),l=r(1426).extendFlat,u=r(30962).overrideAll,c=t.exports=u(l({x:{valType:"data_array"},y:{valType:"data_array"},z:{valType:"data_array"},value:{valType:"data_array"},isomin:{valType:"number"},isomax:{valType:"number"},surface:{show:{valType:"boolean",dflt:!0},count:{valType:"integer",dflt:2,min:1},fill:{valType:"number",min:0,max:1,dflt:1},pattern:{valType:"flaglist",flags:["A","B","C","D","E"],extras:["all","odd","even"],dflt:"all"}},spaceframe:{show:{valType:"boolean",dflt:!1},fill:{valType:"number",min:0,max:1,dflt:.15}},slices:{x:{show:{valType:"boolean",dflt:!1},locations:{valType:"data_array",dflt:[]},fill:{valType:"number",min:0,max:1,dflt:1}},y:{show:{valType:"boolean",dflt:!1},locations:{valType:"data_array",dflt:[]},fill:{valType:"number",min:0,max:1,dflt:1}},z:{show:{valType:"boolean",dflt:!1},locations:{valType:"data_array",dflt:[]},fill:{valType:"number",min:0,max:1,dflt:1}}},caps:{x:{show:{valType:"boolean",dflt:!0},fill:{valType:"number",min:0,max:1,dflt:1}},y:{show:{valType:"boolean",dflt:!0},fill:{valType:"number",min:0,max:1,dflt:1}},z:{show:{valType:"boolean",dflt:!0},fill:{valType:"number",min:0,max:1,dflt:1}}},text:{valType:"string",dflt:"",arrayOk:!0},hovertext:{valType:"string",dflt:"",arrayOk:!0},hovertemplate:a(),xhoverformat:i("x"),yhoverformat:i("y"),zhoverformat:i("z"),valuehoverformat:i("value",1),showlegend:l({},s.showlegend,{dflt:!1})},n("",{colorAttr:"`value`",showScaleDflt:!0,editTypeOverride:"calc"}),{opacity:o.opacity,lightposition:o.lightposition,lighting:o.lighting,flatshading:o.flatshading,contour:o.contour,hoverinfo:l({},s.hoverinfo)}),"calc","nested");c.flatshading.dflt=!0,c.lighting.facenormalsepsilon.dflt=0,c.x.editType=c.y.editType=c.z.editType=c.value.editType="calc+clearAxisTypes",c.transforms=void 0},56959:function(t,e,r){"use strict";var n=r(78803),i=r(88489).processGrid,a=r(88489).filter;t.exports=function(t,e){e._len=Math.min(e.x.length,e.y.length,e.z.length,e.value.length),e._x=a(e.x,e._len),e._y=a(e.y,e._len),e._z=a(e.z,e._len),e._value=a(e.value,e._len);var r=i(e);e._gridFill=r.fill,e._Xs=r.Xs,e._Ys=r.Ys,e._Zs=r.Zs,e._len=r.len;for(var o=1/0,s=-1/0,l=0;l<e._len;l++){var u=e._value[l];o=Math.min(o,u),s=Math.max(s,u)}e._minValues=o,e._maxValues=s,e._vMin=void 0===e.isomin||null===e.isomin?o:e.isomin,e._vMax=void 0===e.isomax||null===e.isomin?s:e.isomax,n(t,e,{vals:[e._vMin,e._vMax],containerStr:"",cLetter:"c"})}},22674:function(t,e,r){"use strict";var n=r(9330).gl_mesh3d,i=r(81697).parseColorScale,a=r(78614),o=r(21081).extractOpts,s=r(90060),l=function(t,e){for(var r=e.length-1;r>0;r--){var n=Math.min(e[r],e[r-1]),i=Math.max(e[r],e[r-1]);if(i>n&&n<t&&t<=i)return{id:r,distRatio:(i-t)/(i-n)}}return{id:0,distRatio:0}};function u(t,e,r){this.scene=t,this.uid=r,this.mesh=e,this.name="",this.data=null,this.showContour=!1}var c=u.prototype;c.handlePick=function(t){if(t.object===this.mesh){var e=t.data.index,r=this.data._meshX[e],n=this.data._meshY[e],i=this.data._meshZ[e],a=this.data._Ys.length,o=this.data._Zs.length,s=l(r,this.data._Xs).id,u=l(n,this.data._Ys).id,c=l(i,this.data._Zs).id,f=t.index=c+o*u+o*a*s;t.traceCoordinate=[this.data._meshX[f],this.data._meshY[f],this.data._meshZ[f],this.data._value[f]];var h=this.data.hovertext||this.data.text;return Array.isArray(h)&&void 0!==h[f]?t.textLabel=h[f]:h&&(t.textLabel=h),!0}},c.update=function(t){var e=this.scene,r=e.fullSceneLayout;function n(t,e,r,n){return e.map((function(e){return t.d2l(e,0,n)*r}))}this.data=h(t);var l={positions:s(n(r.xaxis,t._meshX,e.dataScale[0],t.xcalendar),n(r.yaxis,t._meshY,e.dataScale[1],t.ycalendar),n(r.zaxis,t._meshZ,e.dataScale[2],t.zcalendar)),cells:s(t._meshI,t._meshJ,t._meshK),lightPosition:[t.lightposition.x,t.lightposition.y,t.lightposition.z],ambient:t.lighting.ambient,diffuse:t.lighting.diffuse,specular:t.lighting.specular,roughness:t.lighting.roughness,fresnel:t.lighting.fresnel,vertexNormalsEpsilon:t.lighting.vertexnormalsepsilon,faceNormalsEpsilon:t.lighting.facenormalsepsilon,opacity:t.opacity,contourEnable:t.contour.show,contourColor:a(t.contour.color).slice(0,3),contourWidth:t.contour.width,useFacetNormals:t.flatshading},u=o(t);l.vertexIntensity=t._meshIntensity,l.vertexIntensityBounds=[u.min,u.max],l.colormap=i(t),this.mesh.update(l)},c.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()};var f=["xyz","xzy","yxz","yzx","zxy","zyx"];function h(t){t._meshI=[],t._meshJ=[],t._meshK=[];var e,r,n,i,a,o,s,u=t.surface.show,c=t.spaceframe.show,h=t.surface.fill,p=t.spaceframe.fill,d=!1,v=!1,g=0,y=t._Xs,m=t._Ys,x=t._Zs,b=y.length,_=m.length,w=x.length,T=f.indexOf(t._gridFill.replace(/-/g,"").replace(/\+/g,"")),k=function(t,e,r){switch(T){case 5:return r+w*e+w*_*t;case 4:return r+w*t+w*b*e;case 3:return e+_*r+_*w*t;case 2:return e+_*t+_*b*r;case 1:return t+b*r+b*w*e;default:return t+b*e+b*_*r}},A=t._minValues,M=t._maxValues,S=t._vMin,E=t._vMax;function L(t,e,s){for(var l=o.length,u=r;u<l;u++)if(t===n[u]&&e===i[u]&&s===a[u])return u;return-1}function C(){r=e}function P(){n=[],i=[],a=[],o=[],e=0,C()}function O(t,r,s,l){return n.push(t),i.push(r),a.push(s),o.push(l),++e-1}function I(t,e,r){for(var n=[],i=0;i<t.length;i++)n[i]=t[i]*(1-r)+r*e[i];return n}function D(t){s=t}function z(t,e){return"all"===t||null===t||t.indexOf(e)>-1}function R(t,e){return null===t?e:t}function F(e,r,n){C();var i,a,o,l=[r],u=[n];if(s>=1)l=[r],u=[n];else if(s>0){var c=function(t,e){var r=t[0],n=t[1],i=t[2],a=function(t,e,r){for(var n=[],i=0;i<t.length;i++)n[i]=(t[i]+e[i]+r[i])/3;return n}(r,n,i),o=Math.sqrt(1-s),l=I(a,r,o),u=I(a,n,o),c=I(a,i,o),f=e[0],h=e[1],p=e[2];return{xyzv:[[r,n,u],[u,l,r],[n,i,c],[c,u,n],[i,r,l],[l,c,i]],abc:[[f,h,-1],[-1,-1,f],[h,p,-1],[-1,-1,h],[p,f,-1],[-1,-1,p]]}}(r,n);l=c.xyzv,u=c.abc}for(var f=0;f<l.length;f++){r=l[f],n=u[f];for(var h=[],p=0;p<3;p++){var d=r[p][0],v=r[p][1],y=r[p][2],m=r[p][3],x=n[p]>-1?n[p]:L(d,v,y);h[p]=x>-1?x:O(d,v,y,R(e,m))}i=h[0],a=h[1],o=h[2],t._meshI.push(i),t._meshJ.push(a),t._meshK.push(o),++g}}function B(t,e,r,n){var i=t[3];i<r&&(i=r),i>n&&(i=n);for(var a=(t[3]-i)/(t[3]-e[3]+1e-9),o=[],s=0;s<4;s++)o[s]=(1-a)*t[s]+a*e[s];return o}function N(t,e,r){return t>=e&&t<=r}function j(t){var e=.001*(E-S);return t>=S-e&&t<=E+e}function U(e){for(var r=[],n=0;n<4;n++){var i=e[n];r.push([t._x[i],t._y[i],t._z[i],t._value[i]])}return r}function V(t,e,r,n,i,a){a||(a=1),r=[-1,-1,-1];var o=!1,s=[N(e[0][3],n,i),N(e[1][3],n,i),N(e[2][3],n,i)];if(!s[0]&&!s[1]&&!s[2])return!1;var l=function(t,e,r){return j(e[0][3])&&j(e[1][3])&&j(e[2][3])?(F(t,e,r),!0):a<3&&V(t,e,r,S,E,++a)};if(s[0]&&s[1]&&s[2])return l(t,e,r)||o;var u=!1;return[[0,1,2],[2,0,1],[1,2,0]].forEach((function(a){if(s[a[0]]&&s[a[1]]&&!s[a[2]]){var c=e[a[0]],f=e[a[1]],h=e[a[2]],p=B(h,c,n,i),d=B(h,f,n,i);o=l(t,[d,p,c],[-1,-1,r[a[0]]])||o,o=l(t,[c,f,d],[r[a[0]],r[a[1]],-1])||o,u=!0}})),u||[[0,1,2],[1,2,0],[2,0,1]].forEach((function(a){if(s[a[0]]&&!s[a[1]]&&!s[a[2]]){var c=e[a[0]],f=e[a[1]],h=e[a[2]],p=B(f,c,n,i),d=B(h,c,n,i);o=l(t,[d,p,c],[-1,-1,r[a[0]]])||o,u=!0}})),o}function H(t,e,r,n){var i=!1,a=U(e),o=[N(a[0][3],r,n),N(a[1][3],r,n),N(a[2][3],r,n),N(a[3][3],r,n)];if(!(o[0]||o[1]||o[2]||o[3]))return i;if(o[0]&&o[1]&&o[2]&&o[3])return v&&(i=function(t,e,r){var n=function(n,i,a){F(t,[e[n],e[i],e[a]],[r[n],r[i],r[a]])};n(0,1,2),n(3,0,1),n(2,3,0),n(1,2,3)}(t,a,e)||i),i;var s=!1;return[[0,1,2,3],[3,0,1,2],[2,3,0,1],[1,2,3,0]].forEach((function(l){if(o[l[0]]&&o[l[1]]&&o[l[2]]&&!o[l[3]]){var u=a[l[0]],c=a[l[1]],f=a[l[2]],h=a[l[3]];if(v)i=F(t,[u,c,f],[e[l[0]],e[l[1]],e[l[2]]])||i;else{var p=B(h,u,r,n),d=B(h,c,r,n),g=B(h,f,r,n);i=F(null,[p,d,g],[-1,-1,-1])||i}s=!0}})),s||([[0,1,2,3],[1,2,3,0],[2,3,0,1],[3,0,1,2],[0,2,3,1],[1,3,2,0]].forEach((function(l){if(o[l[0]]&&o[l[1]]&&!o[l[2]]&&!o[l[3]]){var u=a[l[0]],c=a[l[1]],f=a[l[2]],h=a[l[3]],p=B(f,u,r,n),d=B(f,c,r,n),g=B(h,c,r,n),y=B(h,u,r,n);v?(i=F(t,[u,y,p],[e[l[0]],-1,-1])||i,i=F(t,[c,d,g],[e[l[1]],-1,-1])||i):i=function(t,e,r){var n=function(t,n,i){F(null,[e[t],e[n],e[i]],[r[t],r[n],r[i]])};n(0,1,2),n(2,3,0)}(0,[p,d,g,y],[-1,-1,-1,-1])||i,s=!0}})),s||[[0,1,2,3],[1,2,3,0],[2,3,0,1],[3,0,1,2]].forEach((function(l){if(o[l[0]]&&!o[l[1]]&&!o[l[2]]&&!o[l[3]]){var u=a[l[0]],c=a[l[1]],f=a[l[2]],h=a[l[3]],p=B(c,u,r,n),d=B(f,u,r,n),g=B(h,u,r,n);v?(i=F(t,[u,p,d],[e[l[0]],-1,-1])||i,i=F(t,[u,d,g],[e[l[0]],-1,-1])||i,i=F(t,[u,g,p],[e[l[0]],-1,-1])||i):i=F(null,[p,d,g],[-1,-1,-1])||i,s=!0}}))),i}function q(t,e,r,n,i,a,o,s,l,u,c){var f=!1;return d&&(z(t,"A")&&(f=H(null,[e,r,n,a],u,c)||f),z(t,"B")&&(f=H(null,[r,n,i,l],u,c)||f),z(t,"C")&&(f=H(null,[r,a,o,l],u,c)||f),z(t,"D")&&(f=H(null,[n,a,s,l],u,c)||f),z(t,"E")&&(f=H(null,[r,n,a,l],u,c)||f)),v&&(f=H(t,[r,n,a,l],u,c)||f),f}function G(t,e,r,n,i,a,o,s){return[!0===s[0]||V(t,U([e,r,n]),[e,r,n],a,o),!0===s[1]||V(t,U([n,i,e]),[n,i,e],a,o)]}function Z(t,e,r,n,i,a,o,s,l){return s?G(t,e,r,i,n,a,o,l):G(t,r,i,n,e,a,o,l)}function Y(t,e,r,n,i,a,o){var s,l,u,c,f=!1,h=function(){f=V(t,[s,l,u],[-1,-1,-1],i,a)||f,f=V(t,[u,c,s],[-1,-1,-1],i,a)||f},p=o[0],d=o[1],v=o[2];return p&&(s=I(U([k(e,r-0,n-0)])[0],U([k(e-1,r-0,n-0)])[0],p),l=I(U([k(e,r-0,n-1)])[0],U([k(e-1,r-0,n-1)])[0],p),u=I(U([k(e,r-1,n-1)])[0],U([k(e-1,r-1,n-1)])[0],p),c=I(U([k(e,r-1,n-0)])[0],U([k(e-1,r-1,n-0)])[0],p),h()),d&&(s=I(U([k(e-0,r,n-0)])[0],U([k(e-0,r-1,n-0)])[0],d),l=I(U([k(e-0,r,n-1)])[0],U([k(e-0,r-1,n-1)])[0],d),u=I(U([k(e-1,r,n-1)])[0],U([k(e-1,r-1,n-1)])[0],d),c=I(U([k(e-1,r,n-0)])[0],U([k(e-1,r-1,n-0)])[0],d),h()),v&&(s=I(U([k(e-0,r-0,n)])[0],U([k(e-0,r-0,n-1)])[0],v),l=I(U([k(e-0,r-1,n)])[0],U([k(e-0,r-1,n-1)])[0],v),u=I(U([k(e-1,r-1,n)])[0],U([k(e-1,r-1,n-1)])[0],v),c=I(U([k(e-1,r-0,n)])[0],U([k(e-1,r-0,n-1)])[0],v),h()),f}function W(t,e,r,n,i,a,o,s,l,u,c,f){var h=t;return f?(d&&"even"===t&&(h=null),q(h,e,r,n,i,a,o,s,l,u,c)):(d&&"odd"===t&&(h=null),q(h,l,s,o,a,i,n,r,e,u,c))}function X(t,e,r,n,i){for(var a=[],o=0,s=0;s<e.length;s++)for(var l=e[s],u=1;u<w;u++)for(var c=1;c<_;c++)a.push(Z(t,k(l,c-1,u-1),k(l,c-1,u),k(l,c,u-1),k(l,c,u),r,n,(l+c+u)%2,i&&i[o]?i[o]:[])),o++;return a}function J(t,e,r,n,i){for(var a=[],o=0,s=0;s<e.length;s++)for(var l=e[s],u=1;u<b;u++)for(var c=1;c<w;c++)a.push(Z(t,k(u-1,l,c-1),k(u,l,c-1),k(u-1,l,c),k(u,l,c),r,n,(u+l+c)%2,i&&i[o]?i[o]:[])),o++;return a}function K(t,e,r,n,i){for(var a=[],o=0,s=0;s<e.length;s++)for(var l=e[s],u=1;u<_;u++)for(var c=1;c<b;c++)a.push(Z(t,k(c-1,u-1,l),k(c-1,u,l),k(c,u-1,l),k(c,u,l),r,n,(c+u+l)%2,i&&i[o]?i[o]:[])),o++;return a}function $(t,e,r){for(var n=1;n<w;n++)for(var i=1;i<_;i++)for(var a=1;a<b;a++)W(t,k(a-1,i-1,n-1),k(a-1,i-1,n),k(a-1,i,n-1),k(a-1,i,n),k(a,i-1,n-1),k(a,i-1,n),k(a,i,n-1),k(a,i,n),e,r,(a+i+n)%2)}function Q(t,e,r,n,i,a){for(var o=[],s=0,l=0;l<e.length;l++)for(var u=e[l],c=1;c<w;c++)for(var f=1;f<_;f++)o.push(Y(t,u,f,c,r,n,i[l],a&&a[s]&&a[s])),s++;return o}function tt(t,e,r,n,i,a){for(var o=[],s=0,l=0;l<e.length;l++)for(var u=e[l],c=1;c<b;c++)for(var f=1;f<w;f++)o.push(Y(t,c,u,f,r,n,i[l],a&&a[s]&&a[s])),s++;return o}function et(t,e,r,n,i,a){for(var o=[],s=0,l=0;l<e.length;l++)for(var u=e[l],c=1;c<_;c++)for(var f=1;f<b;f++)o.push(Y(t,f,c,u,r,n,i[l],a&&a[s]&&a[s])),s++;return o}function rt(t,e){for(var r=[],n=t;n<e;n++)r.push(n);return r}return function(){P(),function(){for(var e=0;e<b;e++)for(var r=0;r<_;r++)for(var n=0;n<w;n++){var i=k(e,r,n);O(t._x[i],t._y[i],t._z[i],t._value[i])}}();var e=null;if(c&&p&&(D(p),v=!0,$(e,S,E),v=!1),u&&h){D(h);for(var r=t.surface.pattern,s=t.surface.count,f=0;f<s;f++){var T=1===s?.5:f/(s-1),L=(1-T)*S+T*E,C=Math.abs(L-A)>Math.abs(L-M)?[A,L]:[L,M];d=!0,$(r,C[0],C[1]),d=!1}}var I=[[Math.min(S,M),Math.max(S,M)],[Math.min(A,E),Math.max(A,E)]];["x","y","z"].forEach((function(r){for(var n=[],i=0;i<I.length;i++){var a=0,o=I[i][0],s=I[i][1],u=t.slices[r];if(u.show&&u.fill){D(u.fill);var c=[],f=[],h=[];if(u.locations.length)for(var p=0;p<u.locations.length;p++){var d=l(u.locations[p],"x"===r?y:"y"===r?m:x);0===d.distRatio?c.push(d.id):d.id>0&&(f.push(d.id),"x"===r?h.push([d.distRatio,0,0]):"y"===r?h.push([0,d.distRatio,0]):h.push([0,0,d.distRatio]))}else c=rt(1,"x"===r?b-1:"y"===r?_-1:w-1);f.length>0&&(n[a]="x"===r?Q(e,f,o,s,h,n[a]):"y"===r?tt(e,f,o,s,h,n[a]):et(e,f,o,s,h,n[a]),a++),c.length>0&&(n[a]="x"===r?X(e,c,o,s,n[a]):"y"===r?J(e,c,o,s,n[a]):K(e,c,o,s,n[a]),a++)}var v=t.caps[r];v.show&&v.fill&&(D(v.fill),n[a]="x"===r?X(e,[0,b-1],o,s,n[a]):"y"===r?J(e,[0,_-1],o,s,n[a]):K(e,[0,w-1],o,s,n[a]),a++)}})),0===g&&P(),t._meshX=n,t._meshY=i,t._meshZ=a,t._meshIntensity=o,t._Xs=y,t._Ys=m,t._Zs=x}(),t}t.exports={findNearestOnAxis:l,generateIsoMeshes:h,createIsosurfaceTrace:function(t,e){var r=t.glplot.gl,i=n({gl:r}),a=new u(t,i,e.uid);return i._trace=a,a.update(e),t.glplot.add(i),a}}},82738:function(t,e,r){"use strict";var n=r(71828),i=r(73972),a=r(16249),o=r(1586);function s(t,e,r,n,a){var s=a("isomin"),l=a("isomax");null!=l&&null!=s&&s>l&&(e.isomin=null,e.isomax=null);var u=a("x"),c=a("y"),f=a("z"),h=a("value");u&&u.length&&c&&c.length&&f&&f.length&&h&&h.length?(i.getComponentMethod("calendars","handleTraceDefaults")(t,e,["x","y","z"],n),a("valuehoverformat"),["x","y","z"].forEach((function(t){a(t+"hoverformat");var e="caps."+t;a(e+".show")&&a(e+".fill");var r="slices."+t;a(r+".show")&&(a(r+".fill"),a(r+".locations"))})),a("spaceframe.show")&&a("spaceframe.fill"),a("surface.show")&&(a("surface.count"),a("surface.fill"),a("surface.pattern")),a("contour.show")&&(a("contour.color"),a("contour.width")),["text","hovertext","hovertemplate","lighting.ambient","lighting.diffuse","lighting.specular","lighting.roughness","lighting.fresnel","lighting.vertexnormalsepsilon","lighting.facenormalsepsilon","lightposition.x","lightposition.y","lightposition.z","flatshading","opacity"].forEach((function(t){a(t)})),o(t,e,n,a,{prefix:"",cLetter:"c"}),e._length=null):e.visible=!1}t.exports={supplyDefaults:function(t,e,r,i){s(t,e,0,i,(function(r,i){return n.coerce(t,e,a,r,i)}))},supplyIsoDefaults:s}},64943:function(t,e,r){"use strict";t.exports={attributes:r(16249),supplyDefaults:r(82738).supplyDefaults,calc:r(56959),colorbar:{min:"cmin",max:"cmax"},plot:r(22674).createIsosurfaceTrace,moduleType:"trace",name:"isosurface",basePlotModule:r(58547),categories:["gl3d","showLegend"],meta:{}}},2418:function(t,e,r){"use strict";var n=r(50693),i=r(12663).axisHoverFormat,a=r(5386).f,o=r(54532),s=r(9012),l=r(1426).extendFlat;t.exports=l({x:{valType:"data_array",editType:"calc+clearAxisTypes"},y:{valType:"data_array",editType:"calc+clearAxisTypes"},z:{valType:"data_array",editType:"calc+clearAxisTypes"},i:{valType:"data_array",editType:"calc"},j:{valType:"data_array",editType:"calc"},k:{valType:"data_array",editType:"calc"},text:{valType:"string",dflt:"",arrayOk:!0,editType:"calc"},hovertext:{valType:"string",dflt:"",arrayOk:!0,editType:"calc"},hovertemplate:a({editType:"calc"}),xhoverformat:i("x"),yhoverformat:i("y"),zhoverformat:i("z"),delaunayaxis:{valType:"enumerated",values:["x","y","z"],dflt:"z",editType:"calc"},alphahull:{valType:"number",dflt:-1,editType:"calc"},intensity:{valType:"data_array",editType:"calc"},intensitymode:{valType:"enumerated",values:["vertex","cell"],dflt:"vertex",editType:"calc"},color:{valType:"color",editType:"calc"},vertexcolor:{valType:"data_array",editType:"calc"},facecolor:{valType:"data_array",editType:"calc"},transforms:void 0},n("",{colorAttr:"`intensity`",showScaleDflt:!0,editTypeOverride:"calc"}),{opacity:o.opacity,flatshading:{valType:"boolean",dflt:!1,editType:"calc"},contour:{show:l({},o.contours.x.show,{}),color:o.contours.x.color,width:o.contours.x.width,editType:"calc"},lightposition:{x:l({},o.lightposition.x,{dflt:1e5}),y:l({},o.lightposition.y,{dflt:1e5}),z:l({},o.lightposition.z,{dflt:0}),editType:"calc"},lighting:l({vertexnormalsepsilon:{valType:"number",min:0,max:1,dflt:1e-12,editType:"calc"},facenormalsepsilon:{valType:"number",min:0,max:1,dflt:1e-6,editType:"calc"},editType:"calc"},o.lighting),hoverinfo:l({},s.hoverinfo,{editType:"calc"}),showlegend:l({},s.showlegend,{dflt:!1})})},82932:function(t,e,r){"use strict";var n=r(78803);t.exports=function(t,e){e.intensity&&n(t,e,{vals:e.intensity,containerStr:"",cLetter:"c"})}},91134:function(t,e,r){"use strict";var n=r(9330).gl_mesh3d,i=r(9330).delaunay_triangulate,a=r(9330).alpha_shape,o=r(9330).convex_hull,s=r(81697).parseColorScale,l=r(78614),u=r(21081).extractOpts,c=r(90060);function f(t,e,r){this.scene=t,this.uid=r,this.mesh=e,this.name="",this.color="#fff",this.data=null,this.showContour=!1}var h=f.prototype;function p(t){for(var e=[],r=t.length,n=0;n<r;n++)e[n]=l(t[n]);return e}function d(t,e,r,n){for(var i=[],a=e.length,o=0;o<a;o++)i[o]=t.d2l(e[o],0,n)*r;return i}function v(t){for(var e=[],r=t.length,n=0;n<r;n++)e[n]=Math.round(t[n]);return e}function g(t,e){for(var r=t.length,n=0;n<r;n++)if(t[n]<=-.5||t[n]>=e-.5)return!1;return!0}h.handlePick=function(t){if(t.object===this.mesh){var e=t.index=t.data.index;t.data._cellCenter?t.traceCoordinate=t.data.dataCoordinate:t.traceCoordinate=[this.data.x[e],this.data.y[e],this.data.z[e]];var r=this.data.hovertext||this.data.text;return Array.isArray(r)&&void 0!==r[e]?t.textLabel=r[e]:r&&(t.textLabel=r),!0}},h.update=function(t){var e=this.scene,r=e.fullSceneLayout;this.data=t;var n,f=t.x.length,h=c(d(r.xaxis,t.x,e.dataScale[0],t.xcalendar),d(r.yaxis,t.y,e.dataScale[1],t.ycalendar),d(r.zaxis,t.z,e.dataScale[2],t.zcalendar));if(t.i&&t.j&&t.k){if(t.i.length!==t.j.length||t.j.length!==t.k.length||!g(t.i,f)||!g(t.j,f)||!g(t.k,f))return;n=c(v(t.i),v(t.j),v(t.k))}else n=0===t.alphahull?o(h):t.alphahull>0?a(t.alphahull,h):function(t,e){for(var r=["x","y","z"].indexOf(t),n=[],a=e.length,o=0;o<a;o++)n[o]=[e[o][(r+1)%3],e[o][(r+2)%3]];return i(n)}(t.delaunayaxis,h);var y={positions:h,cells:n,lightPosition:[t.lightposition.x,t.lightposition.y,t.lightposition.z],ambient:t.lighting.ambient,diffuse:t.lighting.diffuse,specular:t.lighting.specular,roughness:t.lighting.roughness,fresnel:t.lighting.fresnel,vertexNormalsEpsilon:t.lighting.vertexnormalsepsilon,faceNormalsEpsilon:t.lighting.facenormalsepsilon,opacity:t.opacity,contourEnable:t.contour.show,contourColor:l(t.contour.color).slice(0,3),contourWidth:t.contour.width,useFacetNormals:t.flatshading};if(t.intensity){var m=u(t);this.color="#fff";var x=t.intensitymode;y[x+"Intensity"]=t.intensity,y[x+"IntensityBounds"]=[m.min,m.max],y.colormap=s(t)}else t.vertexcolor?(this.color=t.vertexcolor[0],y.vertexColors=p(t.vertexcolor)):t.facecolor?(this.color=t.facecolor[0],y.cellColors=p(t.facecolor)):(this.color=t.color,y.meshColor=l(t.color));this.mesh.update(y)},h.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()},t.exports=function(t,e){var r=t.glplot.gl,i=n({gl:r}),a=new f(t,i,e.uid);return i._trace=a,a.update(e),t.glplot.add(i),a}},58669:function(t,e,r){"use strict";var n=r(73972),i=r(71828),a=r(1586),o=r(2418);t.exports=function(t,e,r,s){function l(r,n){return i.coerce(t,e,o,r,n)}function u(t){var e=t.map((function(t){var e=l(t);return e&&i.isArrayOrTypedArray(e)?e:null}));return e.every((function(t){return t&&t.length===e[0].length}))&&e}u(["x","y","z"])?(u(["i","j","k"]),(!e.i||e.j&&e.k)&&(!e.j||e.k&&e.i)&&(!e.k||e.i&&e.j)?(n.getComponentMethod("calendars","handleTraceDefaults")(t,e,["x","y","z"],s),["lighting.ambient","lighting.diffuse","lighting.specular","lighting.roughness","lighting.fresnel","lighting.vertexnormalsepsilon","lighting.facenormalsepsilon","lightposition.x","lightposition.y","lightposition.z","flatshading","alphahull","delaunayaxis","opacity"].forEach((function(t){l(t)})),l("contour.show")&&(l("contour.color"),l("contour.width")),"intensity"in t?(l("intensity"),l("intensitymode"),a(t,e,s,l,{prefix:"",cLetter:"c"})):(e.showscale=!1,"facecolor"in t?l("facecolor"):"vertexcolor"in t?l("vertexcolor"):l("color",r)),l("text"),l("hovertext"),l("hovertemplate"),l("xhoverformat"),l("yhoverformat"),l("zhoverformat"),e._length=null):e.visible=!1):e.visible=!1}},21164:function(t,e,r){"use strict";t.exports={attributes:r(2418),supplyDefaults:r(58669),calc:r(82932),colorbar:{min:"cmin",max:"cmax"},plot:r(91134),moduleType:"trace",name:"mesh3d",basePlotModule:r(58547),categories:["gl3d","showLegend"],meta:{}}},2522:function(t,e,r){"use strict";var n=r(71828).extendFlat,i=r(82196),a=r(12663).axisHoverFormat,o=r(79952).P,s=r(77914),l=r(22372),u=l.INCREASING.COLOR,c=l.DECREASING.COLOR,f=i.line;function h(t){return{line:{color:n({},f.color,{dflt:t}),width:f.width,dash:o,editType:"style"},editType:"style"}}t.exports={xperiod:i.xperiod,xperiod0:i.xperiod0,xperiodalignment:i.xperiodalignment,xhoverformat:a("x"),yhoverformat:a("y"),x:{valType:"data_array",editType:"calc+clearAxisTypes"},open:{valType:"data_array",editType:"calc"},high:{valType:"data_array",editType:"calc"},low:{valType:"data_array",editType:"calc"},close:{valType:"data_array",editType:"calc"},line:{width:n({},f.width,{}),dash:n({},o,{}),editType:"style"},increasing:h(u),decreasing:h(c),text:{valType:"string",dflt:"",arrayOk:!0,editType:"calc"},hovertext:{valType:"string",dflt:"",arrayOk:!0,editType:"calc"},tickwidth:{valType:"number",min:0,max:.5,dflt:.3,editType:"calc"},hoverlabel:n({},s.hoverlabel,{split:{valType:"boolean",dflt:!1,editType:"style"}})}},3485:function(t,e,r){"use strict";var n=r(71828),i=n._,a=r(89298),o=r(42973),s=r(50606).BADNUM;function l(t,e,r,n){return{o:t,h:e,l:r,c:n}}function u(t,e,r,o,l,u){for(var c=l.makeCalcdata(e,"open"),f=l.makeCalcdata(e,"high"),h=l.makeCalcdata(e,"low"),p=l.makeCalcdata(e,"close"),d=Array.isArray(e.text),v=Array.isArray(e.hovertext),g=!0,y=null,m=!!e.xperiodalignment,x=[],b=0;b<o.length;b++){var _=o[b],w=c[b],T=f[b],k=h[b],A=p[b];if(_!==s&&w!==s&&T!==s&&k!==s&&A!==s){A===w?null!==y&&A!==y&&(g=A>y):g=A>w,y=A;var M=u(w,T,k,A);M.pos=_,M.yc=(w+A)/2,M.i=b,M.dir=g?"increasing":"decreasing",M.x=M.pos,M.y=[k,T],m&&(M.orig_p=r[b]),d&&(M.tx=e.text[b]),v&&(M.htx=e.hovertext[b]),x.push(M)}else x.push({pos:_,empty:!0})}return e._extremes[l._id]=a.findExtremes(l,n.concat(h,f),{padded:!0}),x.length&&(x[0].t={labels:{open:i(t,"open:")+" ",high:i(t,"high:")+" ",low:i(t,"low:")+" ",close:i(t,"close:")+" "}}),x}t.exports={calc:function(t,e){var r=a.getFromId(t,e.xaxis),i=a.getFromId(t,e.yaxis),s=function(t,e,r){var i=r._minDiff;if(!i){var a,s=t._fullData,l=[];for(i=1/0,a=0;a<s.length;a++){var u=s[a];if("ohlc"===u.type&&!0===u.visible&&u.xaxis===e._id){l.push(u);var c=e.makeCalcdata(u,"x");u._origX=c;var f=o(r,e,"x",c).vals;u._xcalc=f;var h=n.distinctVals(f).minDiff;h&&isFinite(h)&&(i=Math.min(i,h))}}for(i===1/0&&(i=1),a=0;a<l.length;a++)l[a]._minDiff=i}return i*r.tickwidth}(t,r,e),c=e._minDiff;e._minDiff=null;var f=e._origX;e._origX=null;var h=e._xcalc;e._xcalc=null;var p=u(t,e,f,h,i,l);return e._extremes[r._id]=a.findExtremes(r,h,{vpad:c/2}),p.length?(n.extendFlat(p[0].t,{wHover:c/2,tickLen:s}),p):[{t:{empty:!0}}]},calcCommon:u}},16169:function(t,e,r){"use strict";var n=r(71828),i=r(14555),a=r(73927),o=r(2522);function s(t,e,r,n){r(n+".line.color"),r(n+".line.width",e.line.width),r(n+".line.dash",e.line.dash)}t.exports=function(t,e,r,l){function u(r,i){return n.coerce(t,e,o,r,i)}i(t,e,u,l)?(a(t,e,l,u,{x:!0}),u("xhoverformat"),u("yhoverformat"),u("line.width"),u("line.dash"),s(0,e,u,"increasing"),s(0,e,u,"decreasing"),u("text"),u("hovertext"),u("tickwidth"),l._requestRangeslider[e.xaxis]=!0):e.visible=!1}},66449:function(t,e,r){"use strict";var n=r(89298),i=r(71828),a=r(30211),o=r(7901),s=r(71828).fillText,l=r(22372),u={increasing:l.INCREASING.SYMBOL,decreasing:l.DECREASING.SYMBOL};function c(t,e,r,n){var i,s,l=t.cd,u=t.xa,c=l[0].trace,f=l[0].t,h=c.type,p="ohlc"===h?"l":"min",d="ohlc"===h?"h":"max",v=f.bPos||0,g=f.bdPos||f.tickLen,y=f.wHover,m=Math.min(1,g/Math.abs(u.r2c(u.range[1])-u.r2c(u.range[0])));function x(t){var r=function(t){return t.pos+v-e}(t);return a.inbox(r-y,r+y,i)}function b(t){var e=t[p],n=t[d];return e===n||a.inbox(e-r,n-r,i)}function _(t){return(x(t)+b(t))/2}i=t.maxHoverDistance-m,s=t.maxSpikeDistance-m;var w=a.getDistanceFunction(n,x,b,_);if(a.getClosest(l,w,t),!1===t.index)return null;var T=l[t.index];if(T.empty)return null;var k=c[T.dir],A=k.line.color;return o.opacity(A)&&k.line.width?t.color=A:t.color=k.fillcolor,t.x0=u.c2p(T.pos+v-g,!0),t.x1=u.c2p(T.pos+v+g,!0),t.xLabelVal=void 0!==T.orig_p?T.orig_p:T.pos,t.spikeDistance=_(T)*s/i,t.xSpike=u.c2p(T.pos,!0),t}function f(t,e,r,a){var o=t.cd,s=t.ya,l=o[0].trace,u=o[0].t,f=[],h=c(t,e,r,a);if(!h)return[];var p=o[h.index].hi||l.hoverinfo,d=p.split("+");if("all"!==p&&-1===d.indexOf("y"))return[];for(var v=["high","open","close","low"],g={},y=0;y<v.length;y++){var m,x=v[y],b=l[x][h.index],_=s.c2p(b,!0);b in g?(m=g[b]).yLabel+="<br>"+u.labels[x]+n.hoverLabelText(s,b,l.yhoverformat):((m=i.extendFlat({},h)).y0=m.y1=_,m.yLabelVal=b,m.yLabel=u.labels[x]+n.hoverLabelText(s,b,l.yhoverformat),m.name="",f.push(m),g[b]=m)}return f}function h(t,e,r,i){var a=t.cd,o=t.ya,l=a[0].trace,f=a[0].t,h=c(t,e,r,i);if(!h)return[];var p=a[h.index],d=h.index=p.i,v=p.dir;function g(t){return f.labels[t]+n.hoverLabelText(o,l[t][d],l.yhoverformat)}var y=p.hi||l.hoverinfo,m=y.split("+"),x="all"===y,b=x||-1!==m.indexOf("y"),_=x||-1!==m.indexOf("text"),w=b?[g("open"),g("high"),g("low"),g("close")+" "+u[v]]:[];return _&&s(p,l,w),h.extraText=w.join("<br>"),h.y0=h.y1=o.c2p(p.yc,!0),[h]}t.exports={hoverPoints:function(t,e,r,n){return t.cd[0].trace.hoverlabel.split?f(t,e,r,n):h(t,e,r,n)},hoverSplit:f,hoverOnPoints:h}},54186:function(t,e,r){"use strict";t.exports={moduleType:"trace",name:"ohlc",basePlotModule:r(93612),categories:["cartesian","svg","showLegend"],meta:{},attributes:r(2522),supplyDefaults:r(16169),calc:r(3485).calc,plot:r(72314),style:r(53101),hoverPoints:r(66449).hoverPoints,selectPoints:r(67324)}},14555:function(t,e,r){"use strict";var n=r(73972),i=r(71828);t.exports=function(t,e,r,a){var o=r("x"),s=r("open"),l=r("high"),u=r("low"),c=r("close");if(r("hoverlabel.split"),n.getComponentMethod("calendars","handleTraceDefaults")(t,e,["x"],a),s&&l&&u&&c){var f=Math.min(s.length,l.length,u.length,c.length);return o&&(f=Math.min(f,i.minRowLength(o))),e._length=f,f}}},72314:function(t,e,r){"use strict";var n=r(39898),i=r(71828);t.exports=function(t,e,r,a){var o=e.yaxis,s=e.xaxis,l=!!s.rangebreaks;i.makeTraceGroups(a,r,"trace ohlc").each((function(t){var e=n.select(this),r=t[0],a=r.t;if(!0!==r.trace.visible||a.empty)e.remove();else{var u=a.tickLen,c=e.selectAll("path").data(i.identity);c.enter().append("path"),c.exit().remove(),c.attr("d",(function(t){if(t.empty)return"M0,0Z";var e=s.c2p(t.pos-u,!0),r=s.c2p(t.pos+u,!0),n=l?(e+r)/2:s.c2p(t.pos,!0);return"M"+e+","+o.c2p(t.o,!0)+"H"+n+"M"+n+","+o.c2p(t.h,!0)+"V"+o.c2p(t.l,!0)+"M"+r+","+o.c2p(t.c,!0)+"H"+n}))}}))}},67324:function(t){"use strict";t.exports=function(t,e){var r,n=t.cd,i=t.xaxis,a=t.yaxis,o=[],s=n[0].t.bPos||0;if(!1===e)for(r=0;r<n.length;r++)n[r].selected=0;else for(r=0;r<n.length;r++){var l=n[r];e.contains([i.c2p(l.pos+s),a.c2p(l.yc)],null,l.i,t)?(o.push({pointNumber:l.i,x:i.c2d(l.pos),y:a.c2d(l.yc)}),l.selected=1):l.selected=0}return o}},53101:function(t,e,r){"use strict";var n=r(39898),i=r(91424),a=r(7901);t.exports=function(t,e,r){var o=r||n.select(t).selectAll("g.ohlclayer").selectAll("g.trace");o.style("opacity",(function(t){return t[0].trace.opacity})),o.each((function(t){var e=t[0].trace;n.select(this).selectAll("path").each((function(t){if(!t.empty){var r=e[t.dir].line;n.select(this).style("fill","none").call(a.stroke,r.color).call(i.dashLine,r.dash,r.width).style("opacity",e.selectedpoints&&!t.selected?.3:1)}}))}))}},99506:function(t,e,r){"use strict";var n=r(1426).extendFlat,i=r(9012),a=r(41940),o=r(50693),s=r(5386).f,l=r(27670).Y,u=n({editType:"calc"},o("line",{editTypeOverride:"calc"}),{shape:{valType:"enumerated",values:["linear","hspline"],dflt:"linear",editType:"plot"},hovertemplate:s({editType:"plot",arrayOk:!1},{keys:["count","probability"]})});t.exports={domain:l({name:"parcats",trace:!0,editType:"calc"}),hoverinfo:n({},i.hoverinfo,{flags:["count","probability"],editType:"plot",arrayOk:!1}),hoveron:{valType:"enumerated",values:["category","color","dimension"],dflt:"category",editType:"plot"},hovertemplate:s({editType:"plot",arrayOk:!1},{keys:["count","probability","category","categorycount","colorcount","bandcolorcount"]}),arrangement:{valType:"enumerated",values:["perpendicular","freeform","fixed"],dflt:"perpendicular",editType:"plot"},bundlecolors:{valType:"boolean",dflt:!0,editType:"plot"},sortpaths:{valType:"enumerated",values:["forward","backward"],dflt:"forward",editType:"plot"},labelfont:a({editType:"calc"}),tickfont:a({editType:"calc"}),dimensions:{_isLinkedToArray:"dimension",label:{valType:"string",editType:"calc"},categoryorder:{valType:"enumerated",values:["trace","category ascending","category descending","array"],dflt:"trace",editType:"calc"},categoryarray:{valType:"data_array",editType:"calc"},ticktext:{valType:"data_array",editType:"calc"},values:{valType:"data_array",dflt:[],editType:"calc"},displayindex:{valType:"integer",editType:"calc"},editType:"calc",visible:{valType:"boolean",dflt:!0,editType:"calc"}},line:u,counts:{valType:"number",min:0,dflt:1,arrayOk:!0,editType:"calc"},customdata:void 0,hoverlabel:void 0,ids:void 0,legendgroup:void 0,legendrank:void 0,opacity:void 0,selectedpoints:void 0,showlegend:void 0}},27677:function(t,e,r){"use strict";var n=r(27659).a0,i=r(45784),a="parcats";e.name=a,e.plot=function(t,e,r,o){var s=n(t.calcdata,a);if(s.length){var l=s[0];i(t,l,r,o)}},e.clean=function(t,e,r,n){var i=n._has&&n._has("parcats"),a=e._has&&e._has("parcats");i&&!a&&n._paperdiv.selectAll(".parcats").remove()}},28699:function(t,e,r){"use strict";var n=r(28984).wrap,i=r(52075).hasColorscale,a=r(78803),o=r(75744),s=r(91424),l=r(71828),u=r(92770);function c(t,e,r){t.valueInds.push(e),t.count+=r}function f(t,e,r){return{categoryInds:t,color:e,rawColor:r,valueInds:[],count:0}}function h(t,e,r){t.valueInds.push(e),t.count+=r}t.exports=function(t,e){var r=l.filterVisible(e.dimensions);if(0===r.length)return[];var p,d,v,g=r.map((function(t){var e;if("trace"===t.categoryorder)e=null;else if("array"===t.categoryorder)e=t.categoryarray;else{e=o(t.values);for(var r=!0,n=0;n<e.length;n++)if(!u(e[n])){r=!1;break}e.sort(r?l.sorterAsc:void 0),"category descending"===t.categoryorder&&(e=e.reverse())}return function(t,e){e=null==e?[]:e.map((function(t){return t}));var r={},n={},i=[];e.forEach((function(t,e){r[t]=0,n[t]=e}));for(var a=0;a<t.length;a++){var o,s=t[a];void 0===r[s]?(r[s]=1,o=e.push(s)-1,n[s]=o):(r[s]++,o=n[s]),i.push(o)}var l=e.map((function(t){return r[t]}));return{uniqueValues:e,uniqueCounts:l,inds:i}}(t.values,e)}));p=l.isArrayOrTypedArray(e.counts)?e.counts:[e.counts],function(t){var e,r=t.map((function(t){return t.displayindex}));if(function(t){for(var e=new Array(t.length),r=0;r<t.length;r++){if(t[r]<0||t[r]>=t.length)return!1;if(void 0!==e[t[r]])return!1;e[t[r]]=!0}return!0}(r))for(e=0;e<t.length;e++)t[e]._displayindex=t[e].displayindex;else for(e=0;e<t.length;e++)t[e]._displayindex=e}(r),r.forEach((function(t,e){!function(t,e){t._categoryarray=e.uniqueValues,null===t.ticktext||void 0===t.ticktext?t._ticktext=[]:t._ticktext=t.ticktext.slice();for(var r=t._ticktext.length;r<e.uniqueValues.length;r++)t._ticktext.push(e.uniqueValues[r])}(t,g[e])}));var y,m=e.line;m?(i(e,"line")&&a(t,e,{vals:e.line.color,containerStr:"line",cLetter:"c"}),y=s.tryColorscale(m)):y=l.identity;var x,b,_,w,T,k=r[0].values.length,A={},M=g.map((function(t){return t.inds}));for(v=0,x=0;x<k;x++){var S=[];for(b=0;b<M.length;b++)S.push(M[b][x]);d=p[x%p.length],v+=d;var E=(_=x,w=void 0,T=void 0,l.isArrayOrTypedArray(m.color)?T=w=m.color[_%m.color.length]:w=m.color,{color:y(w),rawColor:T}),L=S+"-"+E.rawColor;void 0===A[L]&&(A[L]=f(S,E.color,E.rawColor)),h(A[L],x,d)}var C,P=r.map((function(t,e){return function(t,e,r,n,i){return{dimensionInd:t,containerInd:e,displayInd:r,dimensionLabel:n,count:i,categories:[],dragX:null}}(e,t._index,t._displayindex,t.label,v)}));for(x=0;x<k;x++)for(d=p[x%p.length],b=0;b<P.length;b++){var O=P[b].containerInd,I=g[b].inds[x],D=P[b].categories;if(void 0===D[I]){var z=e.dimensions[O]._categoryarray[I],R=e.dimensions[O]._ticktext[I];D[I]={dimensionInd:b,categoryInd:C=I,categoryValue:z,displayInd:C,categoryLabel:R,valueInds:[],count:0,dragY:null}}c(D[I],x,d)}return n(function(t,e,r){var n=t.map((function(t){return t.categories.length})).reduce((function(t,e){return Math.max(t,e)}));return{dimensions:t,paths:e,trace:void 0,maxCats:n,count:r}}(P,A,v))}},14647:function(t,e,r){"use strict";var n=r(71828),i=r(52075).hasColorscale,a=r(1586),o=r(27670).c,s=r(85501),l=r(99506),u=r(94397);function c(t,e){function r(r,i){return n.coerce(t,e,l.dimensions,r,i)}var i=r("values"),a=r("visible");if(i&&i.length||(a=e.visible=!1),a){r("label"),r("displayindex",e._index);var o,s=t.categoryarray,u=Array.isArray(s)&&s.length>0;u&&(o="array");var c=r("categoryorder",o);"array"===c?(r("categoryarray"),r("ticktext")):(delete t.categoryarray,delete t.ticktext),u||"array"!==c||(e.categoryorder="trace")}}t.exports=function(t,e,r,f){function h(r,i){return n.coerce(t,e,l,r,i)}var p=s(t,e,{name:"dimensions",handleItemDefaults:c}),d=function(t,e,r,o,s){s("line.shape"),s("line.hovertemplate");var l=s("line.color",o.colorway[0]);if(i(t,"line")&&n.isArrayOrTypedArray(l)){if(l.length)return s("line.colorscale"),a(t,e,o,s,{prefix:"line.",cLetter:"c"}),l.length;e.line.color=r}return 1/0}(t,e,r,f,h);o(e,f,h),Array.isArray(p)&&p.length||(e.visible=!1),u(e,p,"values",d),h("hoveron"),h("hovertemplate"),h("arrangement"),h("bundlecolors"),h("sortpaths"),h("counts");var v={family:f.font.family,size:Math.round(f.font.size),color:f.font.color};n.coerceFont(h,"labelfont",v);var g={family:f.font.family,size:Math.round(f.font.size/1.2),color:f.font.color};n.coerceFont(h,"tickfont",g)}},94873:function(t,e,r){"use strict";t.exports={attributes:r(99506),supplyDefaults:r(14647),calc:r(28699),plot:r(45784),colorbar:{container:"line",min:"cmin",max:"cmax"},moduleType:"trace",name:"parcats",basePlotModule:r(27677),categories:["noOpacity"],meta:{}}},45460:function(t,e,r){"use strict";var n=r(39898),i=r(29502).k4,a=r(72391),o=r(30211),s=r(71828),l=s.strTranslate,u=r(91424),c=r(84267),f=r(63893);function h(t,e,r,i){var a=e._context.staticPlot,o=t.map(F.bind(0,e,r)),c=i.selectAll("g.parcatslayer").data([null]);c.enter().append("g").attr("class","parcatslayer").style("pointer-events",a?"none":"all");var h=c.selectAll("g.trace.parcats").data(o,p),m=h.enter().append("g").attr("class","trace parcats");h.attr("transform",(function(t){return l(t.x,t.y)})),m.append("g").attr("class","paths");var x=h.select("g.paths").selectAll("path.path").data((function(t){return t.paths}),p);x.attr("fill",(function(t){return t.model.color}));var w=x.enter().append("path").attr("class","path").attr("stroke-opacity",0).attr("fill",(function(t){return t.model.color})).attr("fill-opacity",0);_(w),x.attr("d",(function(t){return t.svgD})),w.empty()||x.sort(v),x.exit().remove(),x.on("mouseover",g).on("mouseout",y).on("click",b),m.append("g").attr("class","dimensions");var A=h.select("g.dimensions").selectAll("g.dimension").data((function(t){return t.dimensions}),p);A.enter().append("g").attr("class","dimension"),A.attr("transform",(function(t){return l(t.x,0)})),A.exit().remove();var M=A.selectAll("g.category").data((function(t){return t.categories}),p),S=M.enter().append("g").attr("class","category");M.attr("transform",(function(t){return l(0,t.y)})),S.append("rect").attr("class","catrect").attr("pointer-events","none"),M.select("rect.catrect").attr("fill","none").attr("width",(function(t){return t.width})).attr("height",(function(t){return t.height})),T(S);var E=M.selectAll("rect.bandrect").data((function(t){return t.bands}),p);E.each((function(){s.raiseToTop(this)})),E.attr("fill",(function(t){return t.color}));var D=E.enter().append("rect").attr("class","bandrect").attr("stroke-opacity",0).attr("fill",(function(t){return t.color})).attr("fill-opacity",0);E.attr("fill",(function(t){return t.color})).attr("width",(function(t){return t.width})).attr("height",(function(t){return t.height})).attr("y",(function(t){return t.y})).attr("cursor",(function(t){return"fixed"===t.parcatsViewModel.arrangement?"default":"perpendicular"===t.parcatsViewModel.arrangement?"ns-resize":"move"})),k(D),E.exit().remove(),S.append("text").attr("class","catlabel").attr("pointer-events","none");var z=e._fullLayout.paper_bgcolor;M.select("text.catlabel").attr("text-anchor",(function(t){return d(t)?"start":"end"})).attr("alignment-baseline","middle").style("text-shadow",f.makeTextShadow(z)).style("fill","rgb(0, 0, 0)").attr("x",(function(t){return d(t)?t.width+5:-5})).attr("y",(function(t){return t.height/2})).text((function(t){return t.model.categoryLabel})).each((function(t){u.font(n.select(this),t.parcatsViewModel.categorylabelfont),f.convertToTspans(n.select(this),e)})),S.append("text").attr("class","dimlabel"),M.select("text.dimlabel").attr("text-anchor","middle").attr("alignment-baseline","baseline").attr("cursor",(function(t){return"fixed"===t.parcatsViewModel.arrangement?"default":"ew-resize"})).attr("x",(function(t){return t.width/2})).attr("y",-5).text((function(t,e){return 0===e?t.parcatsViewModel.model.dimensions[t.model.dimensionInd].dimensionLabel:null})).each((function(t){u.font(n.select(this),t.parcatsViewModel.labelfont)})),M.selectAll("rect.bandrect").on("mouseover",L).on("mouseout",C),M.exit().remove(),A.call(n.behavior.drag().origin((function(t){return{x:t.x,y:0}})).on("dragstart",P).on("drag",O).on("dragend",I)),h.each((function(t){t.traceSelection=n.select(this),t.pathSelection=n.select(this).selectAll("g.paths").selectAll("path.path"),t.dimensionSelection=n.select(this).selectAll("g.dimensions").selectAll("g.dimension")})),h.exit().remove()}function p(t){return t.key}function d(t){var e=t.parcatsViewModel.dimensions.length,r=t.parcatsViewModel.dimensions[e-1].model.dimensionInd;return t.model.dimensionInd===r}function v(t,e){return t.model.rawColor>e.model.rawColor?1:t.model.rawColor<e.model.rawColor?-1:0}function g(t){if(!t.parcatsViewModel.dragDimension&&-1===t.parcatsViewModel.hoverinfoItems.indexOf("skip")){s.raiseToTop(this),w(n.select(this));var e=m(t),r=x(t);if(t.parcatsViewModel.graphDiv.emit("plotly_hover",{points:e,event:n.event,constraints:r}),-1===t.parcatsViewModel.hoverinfoItems.indexOf("none")){var i,a,l,u=n.mouse(this)[0],f=t.parcatsViewModel.graphDiv,h=t.parcatsViewModel.trace,p=f._fullLayout,d=p._paperdiv.node().getBoundingClientRect(),v=t.parcatsViewModel.graphDiv.getBoundingClientRect();for(l=0;l<t.leftXs.length-1;l++)if(t.leftXs[l]+t.dimWidths[l]-2<=u&&u<=t.leftXs[l+1]+2){var g=t.parcatsViewModel.dimensions[l],y=t.parcatsViewModel.dimensions[l+1];i=(g.x+g.width+y.x)/2,a=(t.topYs[l]+t.topYs[l+1]+t.height)/2;break}var b=t.parcatsViewModel.x+i,_=t.parcatsViewModel.y+a,T=c.mostReadable(t.model.color,["black","white"]),k=t.model.count,A=k/t.parcatsViewModel.model.count,M={countLabel:k,probabilityLabel:A.toFixed(3)},S=[];-1!==t.parcatsViewModel.hoverinfoItems.indexOf("count")&&S.push(["Count:",M.countLabel].join(" ")),-1!==t.parcatsViewModel.hoverinfoItems.indexOf("probability")&&S.push(["P:",M.probabilityLabel].join(" "));var E=S.join("<br>"),L=n.mouse(f)[0];o.loneHover({trace:h,x:b-d.left+v.left,y:_-d.top+v.top,text:E,color:t.model.color,borderColor:"black",fontFamily:'Monaco, "Courier New", monospace',fontSize:10,fontColor:T,idealAlign:L<b?"right":"left",hovertemplate:(h.line||{}).hovertemplate,hovertemplateLabels:M,eventData:[{data:h._input,fullData:h,count:k,probability:A}]},{container:p._hoverlayer.node(),outerContainer:p._paper.node(),gd:f})}}}function y(t){if(!t.parcatsViewModel.dragDimension&&(_(n.select(this)),o.loneUnhover(t.parcatsViewModel.graphDiv._fullLayout._hoverlayer.node()),t.parcatsViewModel.pathSelection.sort(v),-1===t.parcatsViewModel.hoverinfoItems.indexOf("skip"))){var e=m(t),r=x(t);t.parcatsViewModel.graphDiv.emit("plotly_unhover",{points:e,event:n.event,constraints:r})}}function m(t){for(var e=[],r=D(t.parcatsViewModel),n=0;n<t.model.valueInds.length;n++){var i=t.model.valueInds[n];e.push({curveNumber:r,pointNumber:i})}return e}function x(t){for(var e={},r=t.parcatsViewModel.model.dimensions,n=0;n<r.length;n++){var i=r[n],a=i.categories[t.model.categoryInds[n]];e[i.containerInd]=a.categoryValue}return void 0!==t.model.rawColor&&(e.color=t.model.rawColor),e}function b(t){if(-1===t.parcatsViewModel.hoverinfoItems.indexOf("skip")){var e=m(t),r=x(t);t.parcatsViewModel.graphDiv.emit("plotly_click",{points:e,event:n.event,constraints:r})}}function _(t){t.attr("fill",(function(t){return t.model.color})).attr("fill-opacity",.6).attr("stroke","lightgray").attr("stroke-width",.2).attr("stroke-opacity",1)}function w(t){t.attr("fill-opacity",.8).attr("stroke",(function(t){return c.mostReadable(t.model.color,["black","white"])})).attr("stroke-width",.3)}function T(t){t.select("rect.catrect").attr("stroke","black").attr("stroke-width",1).attr("stroke-opacity",1)}function k(t){t.attr("stroke","black").attr("stroke-width",.2).attr("stroke-opacity",1).attr("fill-opacity",1)}function A(t){var e=t.parcatsViewModel.pathSelection,r=t.categoryViewModel.model.dimensionInd,n=t.categoryViewModel.model.categoryInd;return e.filter((function(e){return e.model.categoryInds[r]===n&&e.model.color===t.color}))}function M(t,e,r){var i=n.select(t).datum(),a=i.categoryViewModel.model,o=i.parcatsViewModel.graphDiv,s=n.select(t.parentNode).selectAll("rect.bandrect"),l=[];s.each((function(t){A(t).each((function(t){Array.prototype.push.apply(l,m(t))}))}));var u={};u[a.dimensionInd]=a.categoryValue,o.emit(e,{points:l,event:r,constraints:u})}function S(t,e,r){var i=n.select(t).datum(),a=i.categoryViewModel.model,o=i.parcatsViewModel.graphDiv,s=A(i),l=[];s.each((function(t){Array.prototype.push.apply(l,m(t))}));var u={};u[a.dimensionInd]=a.categoryValue,void 0!==i.rawColor&&(u.color=i.rawColor),o.emit(e,{points:l,event:r,constraints:u})}function E(t,e,r){t._fullLayout._calcInverseTransform(t);var i,a,o=t._fullLayout._invScaleX,s=t._fullLayout._invScaleY,l=n.select(r.parentNode).select("rect.catrect"),u=l.node().getBoundingClientRect(),c=l.datum(),f=c.parcatsViewModel,h=f.model.dimensions[c.model.dimensionInd],p=f.trace,d=u.top+u.height/2;f.dimensions.length>1&&h.displayInd===f.dimensions.length-1?(i=u.left,a="left"):(i=u.left+u.width,a="right");var v=c.model.count,g=c.model.categoryLabel,y=v/c.parcatsViewModel.model.count,m={countLabel:v,categoryLabel:g,probabilityLabel:y.toFixed(3)},x=[];-1!==c.parcatsViewModel.hoverinfoItems.indexOf("count")&&x.push(["Count:",m.countLabel].join(" ")),-1!==c.parcatsViewModel.hoverinfoItems.indexOf("probability")&&x.push(["P("+m.categoryLabel+"):",m.probabilityLabel].join(" "));var b=x.join("<br>");return{trace:p,x:o*(i-e.left),y:s*(d-e.top),text:b,color:"lightgray",borderColor:"black",fontFamily:'Monaco, "Courier New", monospace',fontSize:12,fontColor:"black",idealAlign:a,hovertemplate:p.hovertemplate,hovertemplateLabels:m,eventData:[{data:p._input,fullData:p,count:v,category:g,probability:y}]}}function L(t){if(!t.parcatsViewModel.dragDimension&&-1===t.parcatsViewModel.hoverinfoItems.indexOf("skip")){if(n.mouse(this)[1]<-1)return;var e,r=t.parcatsViewModel.graphDiv,i=r._fullLayout,a=i._paperdiv.node().getBoundingClientRect(),l=t.parcatsViewModel.hoveron,u=this;"color"===l?(function(t){var e=n.select(t).datum(),r=A(e);w(r),r.each((function(){s.raiseToTop(this)})),n.select(t.parentNode).selectAll("rect.bandrect").filter((function(t){return t.color===e.color})).each((function(){s.raiseToTop(this),n.select(this).attr("stroke","black").attr("stroke-width",1.5)}))}(u),S(u,"plotly_hover",n.event)):(function(t){n.select(t.parentNode).selectAll("rect.bandrect").each((function(t){var e=A(t);w(e),e.each((function(){s.raiseToTop(this)}))})),n.select(t.parentNode).select("rect.catrect").attr("stroke","black").attr("stroke-width",2.5)}(u),M(u,"plotly_hover",n.event)),-1===t.parcatsViewModel.hoverinfoItems.indexOf("none")&&("category"===l?e=E(r,a,u):"color"===l?e=function(t,e,r){t._fullLayout._calcInverseTransform(t);var i,a,o=t._fullLayout._invScaleX,s=t._fullLayout._invScaleY,l=r.getBoundingClientRect(),u=n.select(r).datum(),f=u.categoryViewModel,h=f.parcatsViewModel,p=h.model.dimensions[f.model.dimensionInd],d=h.trace,v=l.y+l.height/2;h.dimensions.length>1&&p.displayInd===h.dimensions.length-1?(i=l.left,a="left"):(i=l.left+l.width,a="right");var g=f.model.categoryLabel,y=u.parcatsViewModel.model.count,m=0;u.categoryViewModel.bands.forEach((function(t){t.color===u.color&&(m+=t.count)}));var x=f.model.count,b=0;h.pathSelection.each((function(t){t.model.color===u.color&&(b+=t.model.count)}));var _=m/y,w=m/b,T=m/x,k={countLabel:y,categoryLabel:g,probabilityLabel:_.toFixed(3)},A=[];-1!==f.parcatsViewModel.hoverinfoItems.indexOf("count")&&A.push(["Count:",k.countLabel].join(" ")),-1!==f.parcatsViewModel.hoverinfoItems.indexOf("probability")&&(A.push("P(color ∩ "+g+"): "+k.probabilityLabel),A.push("P("+g+" | color): "+w.toFixed(3)),A.push("P(color | "+g+"): "+T.toFixed(3)));var M=A.join("<br>"),S=c.mostReadable(u.color,["black","white"]);return{trace:d,x:o*(i-e.left),y:s*(v-e.top),text:M,color:u.color,borderColor:"black",fontFamily:'Monaco, "Courier New", monospace',fontColor:S,fontSize:10,idealAlign:a,hovertemplate:d.hovertemplate,hovertemplateLabels:k,eventData:[{data:d._input,fullData:d,category:g,count:y,probability:_,categorycount:x,colorcount:b,bandcolorcount:m}]}}(r,a,u):"dimension"===l&&(e=function(t,e,r){var i=[];return n.select(r.parentNode.parentNode).selectAll("g.category").select("rect.catrect").each((function(){i.push(E(t,e,this))})),i}(r,a,u)),e&&o.loneHover(e,{container:i._hoverlayer.node(),outerContainer:i._paper.node(),gd:r}))}}function C(t){var e=t.parcatsViewModel;e.dragDimension||(_(e.pathSelection),T(e.dimensionSelection.selectAll("g.category")),k(e.dimensionSelection.selectAll("g.category").selectAll("rect.bandrect")),o.loneUnhover(e.graphDiv._fullLayout._hoverlayer.node()),e.pathSelection.sort(v),-1!==e.hoverinfoItems.indexOf("skip"))||("color"===t.parcatsViewModel.hoveron?S(this,"plotly_unhover",n.event):M(this,"plotly_unhover",n.event))}function P(t){"fixed"!==t.parcatsViewModel.arrangement&&(t.dragDimensionDisplayInd=t.model.displayInd,t.initialDragDimensionDisplayInds=t.parcatsViewModel.model.dimensions.map((function(t){return t.displayInd})),t.dragHasMoved=!1,t.dragCategoryDisplayInd=null,n.select(this).selectAll("g.category").select("rect.catrect").each((function(e){var r=n.mouse(this)[0],i=n.mouse(this)[1];-2<=r&&r<=e.width+2&&-2<=i&&i<=e.height+2&&(t.dragCategoryDisplayInd=e.model.displayInd,t.initialDragCategoryDisplayInds=t.model.categories.map((function(t){return t.displayInd})),e.model.dragY=e.y,s.raiseToTop(this.parentNode),n.select(this.parentNode).selectAll("rect.bandrect").each((function(e){e.y<i&&i<=e.y+e.height&&(t.potentialClickBand=this)})))})),t.parcatsViewModel.dragDimension=t,o.loneUnhover(t.parcatsViewModel.graphDiv._fullLayout._hoverlayer.node()))}function O(t){if("fixed"!==t.parcatsViewModel.arrangement&&(t.dragHasMoved=!0,null!==t.dragDimensionDisplayInd)){var e=t.dragDimensionDisplayInd,r=e-1,i=e+1,a=t.parcatsViewModel.dimensions[e];if(null!==t.dragCategoryDisplayInd){var o=a.categories[t.dragCategoryDisplayInd];o.model.dragY+=n.event.dy;var s=o.model.dragY,l=o.model.displayInd,u=a.categories,c=u[l-1],f=u[l+1];void 0!==c&&s<c.y+c.height/2&&(o.model.displayInd=c.model.displayInd,c.model.displayInd=l),void 0!==f&&s+o.height>f.y+f.height/2&&(o.model.displayInd=f.model.displayInd,f.model.displayInd=l),t.dragCategoryDisplayInd=o.model.displayInd}if(null===t.dragCategoryDisplayInd||"freeform"===t.parcatsViewModel.arrangement){a.model.dragX=n.event.x;var h=t.parcatsViewModel.dimensions[r],p=t.parcatsViewModel.dimensions[i];void 0!==h&&a.model.dragX<h.x+h.width&&(a.model.displayInd=h.model.displayInd,h.model.displayInd=e),void 0!==p&&a.model.dragX+a.width>p.x&&(a.model.displayInd=p.model.displayInd,p.model.displayInd=t.dragDimensionDisplayInd),t.dragDimensionDisplayInd=a.model.displayInd}j(t.parcatsViewModel),N(t.parcatsViewModel),R(t.parcatsViewModel),z(t.parcatsViewModel)}}function I(t){if("fixed"!==t.parcatsViewModel.arrangement&&null!==t.dragDimensionDisplayInd){n.select(this).selectAll("text").attr("font-weight","normal");var e={},r=D(t.parcatsViewModel),i=t.parcatsViewModel.model.dimensions.map((function(t){return t.displayInd})),o=t.initialDragDimensionDisplayInds.some((function(t,e){return t!==i[e]}));o&&i.forEach((function(r,n){var i=t.parcatsViewModel.model.dimensions[n].containerInd;e["dimensions["+i+"].displayindex"]=r}));var s=!1;if(null!==t.dragCategoryDisplayInd){var l=t.model.categories.map((function(t){return t.displayInd}));if(s=t.initialDragCategoryDisplayInds.some((function(t,e){return t!==l[e]}))){var u=t.model.categories.slice().sort((function(t,e){return t.displayInd-e.displayInd})),c=u.map((function(t){return t.categoryValue})),f=u.map((function(t){return t.categoryLabel}));e["dimensions["+t.model.containerInd+"].categoryarray"]=[c],e["dimensions["+t.model.containerInd+"].ticktext"]=[f],e["dimensions["+t.model.containerInd+"].categoryorder"]="array"}}-1===t.parcatsViewModel.hoverinfoItems.indexOf("skip")&&!t.dragHasMoved&&t.potentialClickBand&&("color"===t.parcatsViewModel.hoveron?S(t.potentialClickBand,"plotly_click",n.event.sourceEvent):M(t.potentialClickBand,"plotly_click",n.event.sourceEvent)),t.model.dragX=null,null!==t.dragCategoryDisplayInd&&(t.parcatsViewModel.dimensions[t.dragDimensionDisplayInd].categories[t.dragCategoryDisplayInd].model.dragY=null,t.dragCategoryDisplayInd=null),t.dragDimensionDisplayInd=null,t.parcatsViewModel.dragDimension=null,t.dragHasMoved=null,t.potentialClickBand=null,j(t.parcatsViewModel),N(t.parcatsViewModel),n.transition().duration(300).ease("cubic-in-out").each((function(){R(t.parcatsViewModel,!0),z(t.parcatsViewModel,!0)})).each("end",(function(){(o||s)&&a.restyle(t.parcatsViewModel.graphDiv,e,[r])}))}}function D(t){for(var e,r=t.graphDiv._fullData,n=0;n<r.length;n++)if(t.key===r[n].uid){e=n;break}return e}function z(t,e){var r;void 0===e&&(e=!1),t.pathSelection.data((function(t){return t.paths}),p),(r=t.pathSelection,e?r.transition():r).attr("d",(function(t){return t.svgD}))}function R(t,e){function r(t){return e?t.transition():t}void 0===e&&(e=!1),t.dimensionSelection.data((function(t){return t.dimensions}),p);var i=t.dimensionSelection.selectAll("g.category").data((function(t){return t.categories}),p);r(t.dimensionSelection).attr("transform",(function(t){return l(t.x,0)})),r(i).attr("transform",(function(t){return l(0,t.y)})),i.select(".dimlabel").text((function(t,e){return 0===e?t.parcatsViewModel.model.dimensions[t.model.dimensionInd].dimensionLabel:null})),i.select(".catlabel").attr("text-anchor",(function(t){return d(t)?"start":"end"})).attr("x",(function(t){return d(t)?t.width+5:-5})).each((function(t){var e,r;d(t)?(e=t.width+5,r="start"):(e=-5,r="end"),n.select(this).selectAll("tspan").attr("x",e).attr("text-anchor",r)}));var a=i.selectAll("rect.bandrect").data((function(t){return t.bands}),p),o=a.enter().append("rect").attr("class","bandrect").attr("cursor","move").attr("stroke-opacity",0).attr("fill",(function(t){return t.color})).attr("fill-opacity",0);a.attr("fill",(function(t){return t.color})).attr("width",(function(t){return t.width})).attr("height",(function(t){return t.height})).attr("y",(function(t){return t.y})),k(o),a.each((function(){s.raiseToTop(this)})),a.exit().remove()}function F(t,e,r){var n,i=r[0],a=e.margin||{l:80,r:80,t:100,b:80},o=i.trace,s=o.domain,l=e.width,u=e.height,c=Math.floor(l*(s.x[1]-s.x[0])),f=Math.floor(u*(s.y[1]-s.y[0])),h=s.x[0]*l+a.l,p=e.height-s.y[1]*e.height+a.t,d=o.line.shape;n="all"===o.hoverinfo?["count","probability"]:(o.hoverinfo||"").split("+");var v={trace:o,key:o.uid,model:i,x:h,y:p,width:c,height:f,hoveron:o.hoveron,hoverinfoItems:n,arrangement:o.arrangement,bundlecolors:o.bundlecolors,sortpaths:o.sortpaths,labelfont:o.labelfont,categorylabelfont:o.tickfont,pathShape:d,dragDimension:null,margin:a,paths:[],dimensions:[],graphDiv:t,traceSelection:null,pathSelection:null,dimensionSelection:null};return i.dimensions&&(j(v),N(v)),v}function B(t,e,r,n,a){var o,s,l=[],u=[];for(s=0;s<r.length-1;s++)o=i(r[s]+t[s],t[s+1]),l.push(o(a)),u.push(o(1-a));var c="M "+t[0]+","+e[0];for(c+="l"+r[0]+",0 ",s=1;s<r.length;s++)c+="C"+l[s-1]+","+e[s-1]+" "+u[s-1]+","+e[s]+" "+t[s]+","+e[s],c+="l"+r[s]+",0 ";for(c+="l0,"+n+" ",c+="l -"+r[r.length-1]+",0 ",s=r.length-2;s>=0;s--)c+="C"+u[s]+","+(e[s+1]+n)+" "+l[s]+","+(e[s]+n)+" "+(t[s]+r[s])+","+(e[s]+n),c+="l-"+r[s]+",0 ";return c+"Z"}function N(t){var e=t.dimensions,r=t.model,n=e.map((function(t){return t.categories.map((function(t){return t.y}))})),i=t.model.dimensions.map((function(t){return t.categories.map((function(t){return t.displayInd}))})),a=t.model.dimensions.map((function(t){return t.displayInd})),o=t.dimensions.map((function(t){return t.model.dimensionInd})),s=e.map((function(t){return t.x})),l=e.map((function(t){return t.width})),u=[];for(var c in r.paths)r.paths.hasOwnProperty(c)&&u.push(r.paths[c]);function f(t){var e=t.categoryInds.map((function(t,e){return i[e][t]}));return o.map((function(t){return e[t]}))}u.sort((function(e,r){var n=f(e),i=f(r);return"backward"===t.sortpaths&&(n.reverse(),i.reverse()),n.push(e.valueInds[0]),i.push(r.valueInds[0]),t.bundlecolors&&(n.unshift(e.rawColor),i.unshift(r.rawColor)),n<i?-1:n>i?1:0}));for(var h=new Array(u.length),p=e[0].model.count,d=e[0].categories.map((function(t){return t.height})).reduce((function(t,e){return t+e})),v=0;v<u.length;v++){var g,y=u[v];g=p>0?d*(y.count/p):0;for(var m,x=new Array(n.length),b=0;b<y.categoryInds.length;b++){var _=y.categoryInds[b],w=i[b][_],T=a[b];x[T]=n[T][w],n[T][w]+=g;var k=t.dimensions[T].categories[w],A=k.bands.length,M=k.bands[A-1];if(void 0===M||y.rawColor!==M.rawColor){var S=void 0===M?0:M.y+M.height;k.bands.push({key:S,color:y.color,rawColor:y.rawColor,height:g,width:k.width,count:y.count,y:S,categoryViewModel:k,parcatsViewModel:t})}else{var E=k.bands[A-1];E.height+=g,E.count+=y.count}}m="hspline"===t.pathShape?B(s,x,l,g,.5):B(s,x,l,g,0),h[v]={key:y.valueInds[0],model:y,height:g,leftXs:s,topYs:x,dimWidths:l,svgD:m,parcatsViewModel:t}}t.paths=h}function j(t){var e=t.model.dimensions.map((function(t){return{displayInd:t.displayInd,dimensionInd:t.dimensionInd}}));e.sort((function(t,e){return t.displayInd-e.displayInd}));var r=[];for(var n in e){var i=e[n].dimensionInd,a=t.model.dimensions[i];r.push(U(t,a))}t.dimensions=r}function U(t,e){var r,n=t.model.dimensions.length,i=e.displayInd;r=40+(n>1?(t.width-80-16)/(n-1):0)*i;var a,o,s,l,u,c=[],f=t.model.maxCats,h=e.categories.length,p=e.count,d=t.height-8*(f-1),v=8*(f-h)/2,g=e.categories.map((function(t){return{displayInd:t.displayInd,categoryInd:t.categoryInd}}));for(g.sort((function(t,e){return t.displayInd-e.displayInd})),u=0;u<h;u++)l=g[u].categoryInd,o=e.categories[l],a=p>0?o.count/p*d:0,s={key:o.valueInds[0],model:o,width:16,height:a,y:null!==o.dragY?o.dragY:v,bands:[],parcatsViewModel:t},v=v+a+8,c.push(s);return{key:e.dimensionInd,x:null!==e.dragX?e.dragX:r,y:0,width:16,model:e,categories:c,parcatsViewModel:t,dragCategoryDisplayInd:null,dragDimensionDisplayInd:null,initialDragDimensionDisplayInds:null,initialDragCategoryDisplayInds:null,dragHasMoved:null,potentialClickBand:null}}t.exports=function(t,e,r,n){h(r,t,n,e)}},45784:function(t,e,r){"use strict";var n=r(45460);t.exports=function(t,e,r,i){var a=t._fullLayout,o=a._paper,s=a._size;n(t,o,e,{width:s.w,height:s.h,margin:{t:s.t,r:s.r,b:s.b,l:s.l}},r,i)}},73362:function(t,e,r){"use strict";var n=r(50693),i=r(13838),a=r(41940),o=r(27670).Y,s=r(1426).extendFlat,l=r(44467).templatedArray;t.exports={domain:o({name:"parcoords",trace:!0,editType:"plot"}),labelangle:{valType:"angle",dflt:0,editType:"plot"},labelside:{valType:"enumerated",values:["top","bottom"],dflt:"top",editType:"plot"},labelfont:a({editType:"plot"}),tickfont:a({editType:"plot"}),rangefont:a({editType:"plot"}),dimensions:l("dimension",{label:{valType:"string",editType:"plot"},tickvals:s({},i.tickvals,{editType:"plot"}),ticktext:s({},i.ticktext,{editType:"plot"}),tickformat:s({},i.tickformat,{editType:"plot"}),visible:{valType:"boolean",dflt:!0,editType:"plot"},range:{valType:"info_array",items:[{valType:"number",editType:"plot"},{valType:"number",editType:"plot"}],editType:"plot"},constraintrange:{valType:"info_array",freeLength:!0,dimensions:"1-2",items:[{valType:"any",editType:"plot"},{valType:"any",editType:"plot"}],editType:"plot"},multiselect:{valType:"boolean",dflt:!0,editType:"plot"},values:{valType:"data_array",editType:"calc"},editType:"calc"}),line:s({editType:"calc"},n("line",{colorscaleDflt:"Viridis",autoColorDflt:!1,editTypeOverride:"calc"})),unselected:{line:{color:{valType:"color",dflt:"#7f7f7f",editType:"plot"},opacity:{valType:"number",min:0,max:1,dflt:"auto",editType:"plot"},editType:"plot"},editType:"plot"}}},57920:function(t,e,r){"use strict";var n=r(25706),i=r(39898),a=r(28984).keyFun,o=r(28984).repeat,s=r(71828).sorterAsc,l=r(71828).strTranslate,u=n.bar.snapRatio;function c(t,e){return t*(1-u)+e*u}var f=n.bar.snapClose;function h(t,e){return t*(1-f)+e*f}function p(t,e,r,n){if(function(t,e){for(var r=0;r<e.length;r++)if(t>=e[r][0]&&t<=e[r][1])return!0;return!1}(r,n))return r;var i=t?-1:1,a=0,o=e.length-1;if(i<0){var s=a;a=o,o=s}for(var l=e[a],u=l,f=a;i*f<i*o;f+=i){var p=f+i,d=e[p];if(i*r<i*h(l,d))return c(l,u);if(i*r<i*d||p===o)return c(d,l);u=l,l=d}}function d(t){t.attr("x",-n.bar.captureWidth/2).attr("width",n.bar.captureWidth)}function v(t){t.attr("visibility","visible").style("visibility","visible").attr("fill","yellow").attr("opacity",0)}function g(t){if(!t.brush.filterSpecified)return"0,"+t.height;for(var e,r,n,i=y(t.brush.filter.getConsolidated(),t.height),a=[0],o=i.length?i[0][0]:null,s=0;s<i.length;s++)r=(e=i[s])[1]-e[0],a.push(o),a.push(r),(n=s+1)<i.length&&(o=i[n][0]-e[1]);return a.push(t.height),a}function y(t,e){return t.map((function(t){return t.map((function(t){return Math.max(0,t*e)})).sort(s)}))}function m(){i.select(document.body).style("cursor",null)}function x(t){t.attr("stroke-dasharray",g)}function b(t,e){var r=i.select(t).selectAll(".highlight, .highlight-shadow");x(e?r.transition().duration(n.bar.snapDuration).each("end",e):r)}function _(t,e){var r,i=t.brush,a=NaN,o={};if(i.filterSpecified){var s=t.height,l=i.filter.getConsolidated(),u=y(l,s),c=NaN,f=NaN,h=NaN;for(r=0;r<=u.length;r++){var p=u[r];if(p&&p[0]<=e&&e<=p[1]){c=r;break}if(f=r?r-1:NaN,p&&p[0]>e){h=r;break}}if(a=c,isNaN(a)&&(a=isNaN(f)||isNaN(h)?isNaN(f)?h:f:e-u[f][1]<u[h][0]-e?f:h),!isNaN(a)){var d=u[a],v=function(t,e){var r=n.bar.handleHeight;if(!(e>t[1]+r||e<t[0]-r))return e>=.9*t[1]+.1*t[0]?"n":e<=.9*t[0]+.1*t[1]?"s":"ns"}(d,e);v&&(o.interval=l[a],o.intervalPix=d,o.region=v)}}if(t.ordinal&&!o.region){var g=t.unitTickvals,m=t.unitToPaddedPx.invert(e);for(r=0;r<g.length;r++){var x=[.25*g[Math.max(r-1,0)]+.75*g[r],.25*g[Math.min(r+1,g.length-1)]+.75*g[r]];if(m>=x[0]&&m<=x[1]){o.clickableOrdinalRange=x;break}}}return o}function w(t,e){i.event.sourceEvent.stopPropagation();var r=e.height-i.mouse(t)[1]-2*n.verticalPadding,a=e.brush.svgBrush;a.wasDragged=!0,a._dragging=!0,a.grabbingBar?a.newExtent=[r-a.grabPoint,r+a.barLength-a.grabPoint].map(e.unitToPaddedPx.invert):a.newExtent=[a.startExtent,e.unitToPaddedPx.invert(r)].sort(s),e.brush.filterSpecified=!0,a.extent=a.stayingIntervals.concat([a.newExtent]),a.brushCallback(e),b(t.parentNode)}function T(t,e){var r=_(e,e.height-i.mouse(t)[1]-2*n.verticalPadding),a="crosshair";r.clickableOrdinalRange?a="pointer":r.region&&(a=r.region+"-resize"),i.select(document.body).style("cursor",a)}function k(t){t.on("mousemove",(function(t){i.event.preventDefault(),t.parent.inBrushDrag||T(this,t)})).on("mouseleave",(function(t){t.parent.inBrushDrag||m()})).call(i.behavior.drag().on("dragstart",(function(t){!function(t,e){i.event.sourceEvent.stopPropagation();var r=e.height-i.mouse(t)[1]-2*n.verticalPadding,a=e.unitToPaddedPx.invert(r),o=e.brush,s=_(e,r),l=s.interval,u=o.svgBrush;if(u.wasDragged=!1,u.grabbingBar="ns"===s.region,u.grabbingBar){var c=l.map(e.unitToPaddedPx);u.grabPoint=r-c[0]-n.verticalPadding,u.barLength=c[1]-c[0]}u.clickableOrdinalRange=s.clickableOrdinalRange,u.stayingIntervals=e.multiselect&&o.filterSpecified?o.filter.getConsolidated():[],l&&(u.stayingIntervals=u.stayingIntervals.filter((function(t){return t[0]!==l[0]&&t[1]!==l[1]}))),u.startExtent=s.region?l["s"===s.region?1:0]:a,e.parent.inBrushDrag=!0,u.brushStartCallback()}(this,t)})).on("drag",(function(t){w(this,t)})).on("dragend",(function(t){!function(t,e){var r=e.brush,n=r.filter,a=r.svgBrush;a._dragging||(T(t,e),w(t,e),e.brush.svgBrush.wasDragged=!1),a._dragging=!1,i.event.sourceEvent.stopPropagation();var o=a.grabbingBar;if(a.grabbingBar=!1,a.grabLocation=void 0,e.parent.inBrushDrag=!1,m(),!a.wasDragged)return a.wasDragged=void 0,a.clickableOrdinalRange?r.filterSpecified&&e.multiselect?a.extent.push(a.clickableOrdinalRange):(a.extent=[a.clickableOrdinalRange],r.filterSpecified=!0):o?(a.extent=a.stayingIntervals,0===a.extent.length&&M(r)):M(r),a.brushCallback(e),b(t.parentNode),void a.brushEndCallback(r.filterSpecified?n.getConsolidated():[]);var s=function(){n.set(n.getConsolidated())};if(e.ordinal){var l=e.unitTickvals;l[l.length-1]<l[0]&&l.reverse(),a.newExtent=[p(0,l,a.newExtent[0],a.stayingIntervals),p(1,l,a.newExtent[1],a.stayingIntervals)];var u=a.newExtent[1]>a.newExtent[0];a.extent=a.stayingIntervals.concat(u?[a.newExtent]:[]),a.extent.length||M(r),a.brushCallback(e),u?b(t.parentNode,s):(s(),b(t.parentNode))}else s();a.brushEndCallback(r.filterSpecified?n.getConsolidated():[])}(this,t)})))}function A(t,e){return t[0]-e[0]}function M(t){t.filterSpecified=!1,t.svgBrush.extent=[[-1/0,1/0]]}function S(t){for(var e,r=t.slice(),n=[],i=r.shift();i;){for(e=i.slice();(i=r.shift())&&i[0]<=e[1];)e[1]=Math.max(e[1],i[1]);n.push(e)}return 1===n.length&&n[0][0]>n[0][1]&&(n=[]),n}t.exports={makeBrush:function(t,e,r,n,i,a){var o,l=function(){var t,e,r=[];return{set:function(n){1===(r=n.map((function(t){return t.slice().sort(s)})).sort(A)).length&&r[0][0]===-1/0&&r[0][1]===1/0&&(r=[[0,-1]]),t=S(r),e=r.reduce((function(t,e){return[Math.min(t[0],e[0]),Math.max(t[1],e[1])]}),[1/0,-1/0])},get:function(){return r.slice()},getConsolidated:function(){return t},getBounds:function(){return e}}}();return l.set(r),{filter:l,filterSpecified:e,svgBrush:{extent:[],brushStartCallback:n,brushCallback:(o=i,function(t){var e=t.brush,r=function(t){return t.svgBrush.extent.map((function(t){return t.slice()}))}(e),n=r.slice();e.filter.set(n),o()}),brushEndCallback:a}}},ensureAxisBrush:function(t,e,r){var i=t.selectAll("."+n.cn.axisBrush).data(o,a);i.enter().append("g").classed(n.cn.axisBrush,!0),function(t,e,r){var i=r._context.staticPlot,a=t.selectAll(".background").data(o);a.enter().append("rect").classed("background",!0).call(d).call(v).style("pointer-events",i?"none":"auto").attr("transform",l(0,n.verticalPadding)),a.call(k).attr("height",(function(t){return t.height-n.verticalPadding}));var s=t.selectAll(".highlight-shadow").data(o);s.enter().append("line").classed("highlight-shadow",!0).attr("x",-n.bar.width/2).attr("stroke-width",n.bar.width+n.bar.strokeWidth).attr("stroke",e).attr("opacity",n.bar.strokeOpacity).attr("stroke-linecap","butt"),s.attr("y1",(function(t){return t.height})).call(x);var u=t.selectAll(".highlight").data(o);u.enter().append("line").classed("highlight",!0).attr("x",-n.bar.width/2).attr("stroke-width",n.bar.width-n.bar.strokeWidth).attr("stroke",n.bar.fillColor).attr("opacity",n.bar.fillOpacity).attr("stroke-linecap","butt"),u.attr("y1",(function(t){return t.height})).call(x)}(i,e,r)},cleanRanges:function(t,e){if(Array.isArray(t[0])?(t=t.map((function(t){return t.sort(s)})),t=e.multiselect?S(t.sort(A)):[t[0]]):t=[t.sort(s)],e.tickvals){var r=e.tickvals.slice().sort(s);if(!(t=t.map((function(t){var e=[p(0,r,t[0],[]),p(1,r,t[1],[])];if(e[1]>e[0])return e})).filter((function(t){return t}))).length)return}return t.length>1?t:t[0]}}},71791:function(t,e,r){"use strict";t.exports={attributes:r(73362),supplyDefaults:r(3633),calc:r(24639),colorbar:{container:"line",min:"cmin",max:"cmax"},moduleType:"trace",name:"parcoords",basePlotModule:r(49351),categories:["gl","regl","noOpacity","noHover"],meta:{}}},49351:function(t,e,r){"use strict";var n=r(39898),i=r(27659).a0,a=r(21341),o=r(77922);e.name="parcoords",e.plot=function(t){var e=i(t.calcdata,"parcoords")[0];e.length&&a(t,e)},e.clean=function(t,e,r,n){var i=n._has&&n._has("parcoords"),a=e._has&&e._has("parcoords");i&&!a&&(n._paperdiv.selectAll(".parcoords").remove(),n._glimages.selectAll("*").remove())},e.toSVG=function(t){var e=t._fullLayout._glimages,r=n.select(t).selectAll(".svg-container");r.filter((function(t,e){return e===r.size()-1})).selectAll(".gl-canvas-context, .gl-canvas-focus").each((function(){var t=this,r=t.toDataURL("image/png");e.append("svg:image").attr({xmlns:o.svg,"xlink:href":r,preserveAspectRatio:"none",x:0,y:0,width:t.style.width,height:t.style.height})})),window.setTimeout((function(){n.selectAll("#filterBarPattern").attr("id","filterBarPattern")}),60)}},24639:function(t,e,r){"use strict";var n=r(71828).isArrayOrTypedArray,i=r(21081),a=r(28984).wrap;t.exports=function(t,e){var r,o;return i.hasColorscale(e,"line")&&n(e.line.color)?(r=e.line.color,o=i.extractOpts(e.line).colorscale,i.calc(t,e,{vals:r,containerStr:"line",cLetter:"c"})):(r=function(t){for(var e=new Array(t),r=0;r<t;r++)e[r]=.5;return e}(e._length),o=[[0,e.line.color],[1,e.line.color]]),a({lineColor:r,cscale:o})}},25706:function(t){"use strict";t.exports={maxDimensionCount:60,overdrag:45,verticalPadding:2,tickDistance:50,canvasPixelRatio:1,blockLineCount:5e3,layers:["contextLineLayer","focusLineLayer","pickLineLayer"],axisTitleOffset:28,axisExtentOffset:10,bar:{width:4,captureWidth:10,fillColor:"magenta",fillOpacity:1,snapDuration:150,snapRatio:.25,snapClose:.01,strokeOpacity:1,strokeWidth:1,handleHeight:8,handleOpacity:1,handleOverlap:0},cn:{axisExtentText:"axis-extent-text",parcoordsLineLayers:"parcoords-line-layers",parcoordsLineLayer:"parcoords-lines",parcoords:"parcoords",parcoordsControlView:"parcoords-control-view",yAxis:"y-axis",axisOverlays:"axis-overlays",axis:"axis",axisHeading:"axis-heading",axisTitle:"axis-title",axisExtent:"axis-extent",axisExtentTop:"axis-extent-top",axisExtentTopText:"axis-extent-top-text",axisExtentBottom:"axis-extent-bottom",axisExtentBottomText:"axis-extent-bottom-text",axisBrush:"axis-brush"},id:{filterBarPattern:"filter-bar-pattern"}}},3633:function(t,e,r){"use strict";var n=r(71828),i=r(52075).hasColorscale,a=r(1586),o=r(27670).c,s=r(85501),l=r(89298),u=r(73362),c=r(57920),f=r(25706).maxDimensionCount,h=r(94397);function p(t,e,r,i){function a(r,i){return n.coerce(t,e,u.dimensions,r,i)}var o=a("values"),s=a("visible");if(o&&o.length||(s=e.visible=!1),s){a("label"),a("tickvals"),a("ticktext"),a("tickformat");var f=a("range");e._ax={_id:"y",type:"linear",showexponent:"all",exponentformat:"B",range:f},l.setConvert(e._ax,i.layout),a("multiselect");var h=a("constraintrange");h&&(e.constraintrange=c.cleanRanges(h,e))}}t.exports=function(t,e,r,l){function c(r,i){return n.coerce(t,e,u,r,i)}var d=t.dimensions;Array.isArray(d)&&d.length>f&&(n.log("parcoords traces support up to "+f+" dimensions at the moment"),d.splice(f));var v=s(t,e,{name:"dimensions",layout:l,handleItemDefaults:p}),g=function(t,e,r,o,s){var l=s("line.color",r);if(i(t,"line")&&n.isArrayOrTypedArray(l)){if(l.length)return s("line.colorscale"),a(t,e,o,s,{prefix:"line.",cLetter:"c"}),l.length;e.line.color=r}return 1/0}(t,e,r,l,c);o(e,l,c),Array.isArray(v)&&v.length||(e.visible=!1),h(e,v,"values",g);var y={family:l.font.family,size:Math.round(l.font.size/1.2),color:l.font.color};n.coerceFont(c,"labelfont",y),n.coerceFont(c,"tickfont",y),n.coerceFont(c,"rangefont",y),c("labelangle"),c("labelside"),c("unselected.line.color"),c("unselected.line.opacity")}},1602:function(t,e,r){"use strict";var n=r(71828).isTypedArray;e.convertTypedArray=function(t){return n(t)?Array.prototype.slice.call(t):t},e.isOrdinal=function(t){return!!t.tickvals},e.isVisible=function(t){return t.visible||!("visible"in t)}},67618:function(t,e,r){"use strict";var n=r(71791);n.plot=r(21341),t.exports=n},83398:function(t,e,r){"use strict";var n=r(56068),i=n(["precision highp float;\n#define GLSLIFY 1\n\nvarying vec4 fragColor;\n\nattribute vec4 p01_04, p05_08, p09_12, p13_16,\n p17_20, p21_24, p25_28, p29_32,\n p33_36, p37_40, p41_44, p45_48,\n p49_52, p53_56, p57_60, colors;\n\nuniform mat4 dim0A, dim1A, dim0B, dim1B, dim0C, dim1C, dim0D, dim1D,\n loA, hiA, loB, hiB, loC, hiC, loD, hiD;\n\nuniform vec2 resolution, viewBoxPos, viewBoxSize;\nuniform float maskHeight;\nuniform float drwLayer; // 0: context, 1: focus, 2: pick\nuniform vec4 contextColor;\nuniform sampler2D maskTexture, palette;\n\nbool isPick = (drwLayer > 1.5);\nbool isContext = (drwLayer < 0.5);\n\nconst vec4 ZEROS = vec4(0.0, 0.0, 0.0, 0.0);\nconst vec4 UNITS = vec4(1.0, 1.0, 1.0, 1.0);\n\nfloat val(mat4 p, mat4 v) {\n return dot(matrixCompMult(p, v) * UNITS, UNITS);\n}\n\nfloat axisY(float ratio, mat4 A, mat4 B, mat4 C, mat4 D) {\n float y1 = val(A, dim0A) + val(B, dim0B) + val(C, dim0C) + val(D, dim0D);\n float y2 = val(A, dim1A) + val(B, dim1B) + val(C, dim1C) + val(D, dim1D);\n return y1 * (1.0 - ratio) + y2 * ratio;\n}\n\nint iMod(int a, int b) {\n return a - b * (a / b);\n}\n\nbool fOutside(float p, float lo, float hi) {\n return (lo < hi) && (lo > p || p > hi);\n}\n\nbool vOutside(vec4 p, vec4 lo, vec4 hi) {\n return (\n fOutside(p[0], lo[0], hi[0]) ||\n fOutside(p[1], lo[1], hi[1]) ||\n fOutside(p[2], lo[2], hi[2]) ||\n fOutside(p[3], lo[3], hi[3])\n );\n}\n\nbool mOutside(mat4 p, mat4 lo, mat4 hi) {\n return (\n vOutside(p[0], lo[0], hi[0]) ||\n vOutside(p[1], lo[1], hi[1]) ||\n vOutside(p[2], lo[2], hi[2]) ||\n vOutside(p[3], lo[3], hi[3])\n );\n}\n\nbool outsideBoundingBox(mat4 A, mat4 B, mat4 C, mat4 D) {\n return mOutside(A, loA, hiA) ||\n mOutside(B, loB, hiB) ||\n mOutside(C, loC, hiC) ||\n mOutside(D, loD, hiD);\n}\n\nbool outsideRasterMask(mat4 A, mat4 B, mat4 C, mat4 D) {\n mat4 pnts[4];\n pnts[0] = A;\n pnts[1] = B;\n pnts[2] = C;\n pnts[3] = D;\n\n for(int i = 0; i < 4; ++i) {\n for(int j = 0; j < 4; ++j) {\n for(int k = 0; k < 4; ++k) {\n if(0 == iMod(\n int(255.0 * texture2D(maskTexture,\n vec2(\n (float(i * 2 + j / 2) + 0.5) / 8.0,\n (pnts[i][j][k] * (maskHeight - 1.0) + 1.0) / maskHeight\n ))[3]\n ) / int(pow(2.0, float(iMod(j * 4 + k, 8)))),\n 2\n )) return true;\n }\n }\n }\n return false;\n}\n\nvec4 position(bool isContext, float v, mat4 A, mat4 B, mat4 C, mat4 D) {\n float x = 0.5 * sign(v) + 0.5;\n float y = axisY(x, A, B, C, D);\n float z = 1.0 - abs(v);\n\n z += isContext ? 0.0 : 2.0 * float(\n outsideBoundingBox(A, B, C, D) ||\n outsideRasterMask(A, B, C, D)\n );\n\n return vec4(\n 2.0 * (vec2(x, y) * viewBoxSize + viewBoxPos) / resolution - 1.0,\n z,\n 1.0\n );\n}\n\nvoid main() {\n mat4 A = mat4(p01_04, p05_08, p09_12, p13_16);\n mat4 B = mat4(p17_20, p21_24, p25_28, p29_32);\n mat4 C = mat4(p33_36, p37_40, p41_44, p45_48);\n mat4 D = mat4(p49_52, p53_56, p57_60, ZEROS);\n\n float v = colors[3];\n\n gl_Position = position(isContext, v, A, B, C, D);\n\n fragColor =\n isContext ? vec4(contextColor) :\n isPick ? vec4(colors.rgb, 1.0) : texture2D(palette, vec2(abs(v), 0.5));\n}\n"]),a=n(["precision highp float;\n#define GLSLIFY 1\n\nvarying vec4 fragColor;\n\nvoid main() {\n gl_FragColor = fragColor;\n}\n"]),o=r(25706).maxDimensionCount,s=r(71828),l=new Uint8Array(4),u=new Uint8Array(4),c={shape:[256,1],format:"rgba",type:"uint8",mag:"nearest",min:"nearest"};function f(t,e,r,n,i){var a=t._gl;a.enable(a.SCISSOR_TEST),a.scissor(e,r,n,i),t.clear({color:[0,0,0,0],depth:1})}function h(t,e,r,n,i,a){var o=a.key;r.drawCompleted||(function(t){t.read({x:0,y:0,width:1,height:1,data:l})}(t),r.drawCompleted=!0),function s(l){var u=Math.min(n,i-l*n);0===l&&(window.cancelAnimationFrame(r.currentRafs[o]),delete r.currentRafs[o],f(t,a.scissorX,a.scissorY,a.scissorWidth,a.viewBoxSize[1])),r.clearOnly||(a.count=2*u,a.offset=2*l*n,e(a),l*n+u<i&&(r.currentRafs[o]=window.requestAnimationFrame((function(){s(l+1)}))),r.drawCompleted=!1)}(0)}function p(t,e){for(var r=new Array(256),n=0;n<256;n++)r[n]=t(n/255).concat(e);return r}function d(t,e){return(t>>>8*e)%256/255}function v(t,e,r){for(var n=new Array(8*e),i=0,a=0;a<e;a++)for(var o=0;o<2;o++)for(var s=0;s<4;s++){var l=4*t+s,u=r[64*a+l];63===l&&0===o&&(u*=-1),n[i++]=u}return n}function g(t){var e="0"+t;return e.substr(e.length-2)}function y(t){return t<o?"p"+g(t+1)+"_"+g(t+4):"colors"}function m(t,e,r,n,i,a,o,l,u,c,f,h,p,d){for(var v=[[],[]],g=0;g<64;g++)v[0][g]=g===i?1:0,v[1][g]=g===a?1:0;o*=d,l*=d,u*=d,c*=d;var y=t.lines.canvasOverdrag*d,m=t.domain,x=t.canvasWidth*d,b=t.canvasHeight*d,_=t.pad.l*d,w=t.pad.b*d,T=t.layoutHeight*d,k=t.layoutWidth*d,A=t.deselectedLines.color,M=t.deselectedLines.opacity;return s.extendFlat({key:f,resolution:[x,b],viewBoxPos:[o+y,l],viewBoxSize:[u,c],i0:i,i1:a,dim0A:v[0].slice(0,16),dim0B:v[0].slice(16,32),dim0C:v[0].slice(32,48),dim0D:v[0].slice(48,64),dim1A:v[1].slice(0,16),dim1B:v[1].slice(16,32),dim1C:v[1].slice(32,48),dim1D:v[1].slice(48,64),drwLayer:h,contextColor:[A[0]/255,A[1]/255,A[2]/255,"auto"!==M?A[3]*M:Math.max(1/255,Math.pow(1/t.lines.color.length,1/3))],scissorX:(n===e?0:o+y)+(_-y)+k*m.x[0],scissorWidth:(n===r?x-o+y:u+.5)+(n===e?o+y:0),scissorY:l+w+T*m.y[0],scissorHeight:c,viewportX:_-y+k*m.x[0],viewportY:w+T*m.y[0],viewportWidth:x,viewportHeight:b},p)}function x(t){var e=2047,r=Math.max(0,Math.floor(t[0]*e),0),n=Math.min(e,Math.ceil(t[1]*e),e);return[Math.min(r,n),Math.max(r,n)]}t.exports=function(t,e){var r,n,l,g,b,_=e.context,w=e.pick,T=e.regl,k=T._gl,A=k.getParameter(k.ALIASED_LINE_WIDTH_RANGE),M=Math.max(A[0],Math.min(A[1],e.viewModel.plotGlPixelRatio)),S={currentRafs:{},drawCompleted:!0,clearOnly:!1},E=function(t){for(var e={},r=0;r<=o;r+=4)e[y(r)]=t.buffer({usage:"dynamic",type:"float",data:new Uint8Array(0)});return e}(T),L=T.texture(c),C=[];O(e);var P=T({profile:!1,blend:{enable:_,func:{srcRGB:"src alpha",dstRGB:"one minus src alpha",srcAlpha:1,dstAlpha:1},equation:{rgb:"add",alpha:"add"},color:[0,0,0,0]},depth:{enable:!_,mask:!0,func:"less",range:[0,1]},cull:{enable:!0,face:"back"},scissor:{enable:!0,box:{x:T.prop("scissorX"),y:T.prop("scissorY"),width:T.prop("scissorWidth"),height:T.prop("scissorHeight")}},viewport:{x:T.prop("viewportX"),y:T.prop("viewportY"),width:T.prop("viewportWidth"),height:T.prop("viewportHeight")},dither:!1,vert:i,frag:a,primitive:"lines",lineWidth:M,attributes:E,uniforms:{resolution:T.prop("resolution"),viewBoxPos:T.prop("viewBoxPos"),viewBoxSize:T.prop("viewBoxSize"),dim0A:T.prop("dim0A"),dim1A:T.prop("dim1A"),dim0B:T.prop("dim0B"),dim1B:T.prop("dim1B"),dim0C:T.prop("dim0C"),dim1C:T.prop("dim1C"),dim0D:T.prop("dim0D"),dim1D:T.prop("dim1D"),loA:T.prop("loA"),hiA:T.prop("hiA"),loB:T.prop("loB"),hiB:T.prop("hiB"),loC:T.prop("loC"),hiC:T.prop("hiC"),loD:T.prop("loD"),hiD:T.prop("hiD"),palette:L,contextColor:T.prop("contextColor"),maskTexture:T.prop("maskTexture"),drwLayer:T.prop("drwLayer"),maskHeight:T.prop("maskHeight")},offset:T.prop("offset"),count:T.prop("count")});function O(t){r=t.model,n=t.viewModel,l=n.dimensions.slice(),g=l[0]?l[0].values.length:0;var e=r.lines,i=w?e.color.map((function(t,r){return r/e.color.length})):e.color,a=function(t,e,r){for(var n,i=new Array(t*(o+4)),a=0,s=0;s<t;s++){for(var l=0;l<o;l++)i[a++]=l<e.length?e[l].paddedUnitValues[s]:.5;i[a++]=d(s,2),i[a++]=d(s,1),i[a++]=d(s,0),i[a++]=(n=r[s],Math.max(1e-6,Math.min(.999999,n)))}return i}(g,l,i);!function(t,e,r){for(var n=0;n<=o;n+=4)t[y(n)](v(n/4,e,r))}(E,g,a),_||w||(L=T.texture(s.extendFlat({data:p(r.unitToColor,255)},c)))}return{render:function(t,e,n){var i,a,o,s=t.length,u=1/0,c=-1/0;for(i=0;i<s;i++)t[i].dim0.canvasX<u&&(u=t[i].dim0.canvasX,a=i),t[i].dim1.canvasX>c&&(c=t[i].dim1.canvasX,o=i);0===s&&f(T,0,0,r.canvasWidth,r.canvasHeight);var p=function(t){var e,r,n,i=[[],[]];for(n=0;n<64;n++){var a=!t&&n<l.length?l[n].brush.filter.getBounds():[-1/0,1/0];i[0][n]=a[0],i[1][n]=a[1]}var o=new Array(16384);for(e=0;e<16384;e++)o[e]=255;if(!t)for(e=0;e<l.length;e++){var s=e%8,u=(e-s)/8,c=Math.pow(2,s),f=l[e].brush.filter.get();if(!(f.length<2)){var h=x(f[0])[1];for(r=1;r<f.length;r++){var p=x(f[r]);for(n=h+1;n<p[0];n++)o[8*n+u]&=~c;h=Math.max(h,p[1])}}}var d={shape:[8,2048],format:"alpha",type:"uint8",mag:"nearest",min:"nearest",data:o};return b?b(d):b=T.texture(d),{maskTexture:b,maskHeight:2048,loA:i[0].slice(0,16),loB:i[0].slice(16,32),loC:i[0].slice(32,48),loD:i[0].slice(48,64),hiA:i[1].slice(0,16),hiB:i[1].slice(16,32),hiC:i[1].slice(32,48),hiD:i[1].slice(48,64)}}(_);for(i=0;i<s;i++){var d=t[i],v=d.dim0.crossfilterDimensionIndex,y=d.dim1.crossfilterDimensionIndex,k=d.canvasX,A=d.canvasY,M=k+d.panelSizeX,E=d.plotGlPixelRatio;if(e||!C[v]||C[v][0]!==k||C[v][1]!==M){C[v]=[k,M];var L=m(r,a,o,i,v,y,k,A,d.panelSizeX,d.panelSizeY,d.dim0.crossfilterDimensionIndex,_?0:w?2:1,p,E);S.clearOnly=n;var O=e?r.lines.blockLineCount:g;h(T,P,S,O,g,L)}}},readPixel:function(t,e){return T.read({x:t,y:e,width:1,height:1,data:u}),u},readPixels:function(t,e,r,n){var i=new Uint8Array(4*r*n);return T.read({x:t,y:e,width:r,height:n,data:i}),i},destroy:function(){for(var e in t.style["pointer-events"]="none",L.destroy(),b&&b.destroy(),E)E[e].destroy()},update:O}}},94397:function(t){"use strict";t.exports=function(t,e,r,n){var i,a;for(n||(n=1/0),i=0;i<e.length;i++)(a=e[i]).visible&&(n=Math.min(n,a[r].length));for(n===1/0&&(n=0),t._length=n,i=0;i<e.length;i++)(a=e[i]).visible&&(a._length=n);return n}},17171:function(t,e,r){"use strict";var n=r(39898),i=r(71828),a=i.numberFormat,o=r(36652),s=r(89298),l=i.strRotate,u=i.strTranslate,c=r(63893),f=r(91424),h=r(21081),p=r(28984),d=p.keyFun,v=p.repeat,g=p.unwrap,y=r(1602),m=r(25706),x=r(57920),b=r(83398);function _(t,e,r){return i.aggNums(t,null,e,r)}function w(t,e){return k(_(Math.min,t,e),_(Math.max,t,e))}function T(t){var e=t.range;return e?k(e[0],e[1]):w(t.values,t._length)}function k(t,e){return!isNaN(t)&&isFinite(t)||(t=0),!isNaN(e)&&isFinite(e)||(e=0),t===e&&(0===t?(t-=1,e+=1):(t*=.9,e*=1.1)),[t,e]}function A(t,e,r,i,o){var s,l,u=T(r);return i?n.scale.ordinal().domain(i.map((s=a(r.tickformat),l=o,l?function(t,e){var r=l[e];return null==r?s(t):r}:s))).range(i.map((function(r){var n=(r-u[0])/(u[1]-u[0]);return t-e+n*(2*e-t)}))):n.scale.linear().domain(u).range([t-e,e])}function M(t){if(t.tickvals){var e=T(t);return n.scale.ordinal().domain(t.tickvals).range(t.tickvals.map((function(t){return(t-e[0])/(e[1]-e[0])})))}}function S(t){var e=t.map((function(t){return t[0]})),r=t.map((function(t){var e=o(t[1]);return n.rgb("rgb("+e[0]+","+e[1]+","+e[2]+")")})),i="rgb".split("").map((function(t){return n.scale.linear().clamp(!0).domain(e).range(r.map((i=t,function(t){return t[i]})));var i}));return function(t){return i.map((function(e){return e(t)}))}}function E(t){return t.dimensions.some((function(t){return t.brush.filterSpecified}))}function L(t,e,r){var a=g(e),s=a.trace,l=y.convertTypedArray(a.lineColor),u=s.line,c={color:o(s.unselected.line.color),opacity:s.unselected.line.opacity},f=h.extractOpts(u),p=f.reversescale?h.flipScale(a.cscale):a.cscale,d=s.domain,v=s.dimensions,x=t.width,b=s.labelangle,_=s.labelside,w=s.labelfont,k=s.tickfont,A=s.rangefont,M=i.extendDeepNoArrays({},u,{color:l.map(n.scale.linear().domain(T({values:l,range:[f.min,f.max],_length:s._length}))),blockLineCount:m.blockLineCount,canvasOverdrag:m.overdrag*m.canvasPixelRatio}),E=Math.floor(x*(d.x[1]-d.x[0])),L=Math.floor(t.height*(d.y[1]-d.y[0])),C=t.margin||{l:80,r:80,t:100,b:80},P=E,O=L;return{key:r,colCount:v.filter(y.isVisible).length,dimensions:v,tickDistance:m.tickDistance,unitToColor:S(p),lines:M,deselectedLines:c,labelAngle:b,labelSide:_,labelFont:w,tickFont:k,rangeFont:A,layoutWidth:x,layoutHeight:t.height,domain:d,translateX:d.x[0]*x,translateY:t.height-d.y[1]*t.height,pad:C,canvasWidth:P*m.canvasPixelRatio+2*M.canvasOverdrag,canvasHeight:O*m.canvasPixelRatio,width:P,height:O,canvasPixelRatio:m.canvasPixelRatio}}function C(t,e,r){var o=r.width,s=r.height,l=r.dimensions,u=r.canvasPixelRatio,c=function(t){return o*t/Math.max(1,r.colCount-1)},f=m.verticalPadding/s,h=function(t,e){return n.scale.linear().range([e,t-e])}(s,m.verticalPadding),p={key:r.key,xScale:c,model:r,inBrushDrag:!1},d={};return p.dimensions=l.filter(y.isVisible).map((function(o,l){var v=function(t,e){return n.scale.linear().domain(T(t)).range([e,1-e])}(o,f),g=d[o.label];d[o.label]=(g||0)+1;var b=o.label+(g?"__"+g:""),_=o.constraintrange,w=_&&_.length;w&&!Array.isArray(_[0])&&(_=[_]);var k=w?_.map((function(t){return t.map(v)})):[[-1/0,1/0]],S=o.values;S.length>o._length&&(S=S.slice(0,o._length));var L,C=o.tickvals;function P(t,e){return{val:t,text:L[e]}}function O(t,e){return t.val-e.val}if(Array.isArray(C)&&C.length){L=o.ticktext,Array.isArray(L)&&L.length?L.length>C.length?L=L.slice(0,C.length):C.length>L.length&&(C=C.slice(0,L.length)):L=C.map(a(o.tickformat));for(var I=1;I<C.length;I++)if(C[I]<C[I-1]){for(var D=C.map(P).sort(O),z=0;z<C.length;z++)C[z]=D[z].val,L[z]=D[z].text;break}}else C=void 0;return S=y.convertTypedArray(S),{key:b,label:o.label,tickFormat:o.tickformat,tickvals:C,ticktext:L,ordinal:y.isOrdinal(o),multiselect:o.multiselect,xIndex:l,crossfilterDimensionIndex:l,visibleIndex:o._index,height:s,values:S,paddedUnitValues:S.map(v),unitTickvals:C&&C.map(v),xScale:c,x:c(l),canvasX:c(l)*u,unitToPaddedPx:h,domainScale:A(s,m.verticalPadding,o,C,L),ordinalScale:M(o),parent:p,model:r,brush:x.makeBrush(t,w,k,(function(){t.linePickActive(!1)}),(function(){var e=p;e.focusLayer&&e.focusLayer.render(e.panels,!0);var r=E(e);!t.contextShown()&&r?(e.contextLayer&&e.contextLayer.render(e.panels,!0),t.contextShown(!0)):t.contextShown()&&!r&&(e.contextLayer&&e.contextLayer.render(e.panels,!0,!0),t.contextShown(!1))}),(function(r){if(p.focusLayer.render(p.panels,!0),p.pickLayer&&p.pickLayer.render(p.panels,!0),t.linePickActive(!0),e&&e.filterChanged){var n=v.invert,a=r.map((function(t){return t.map(n).sort(i.sorterAsc)})).sort((function(t,e){return t[0]-e[0]}));e.filterChanged(p.key,o._index,a)}}))}})),p}function P(t){t.classed(m.cn.axisExtentText,!0).attr("text-anchor","middle").style("cursor","default")}function O(t,e){var r="top"===e?1:-1,n=t*Math.PI/180;return{dir:r,dx:Math.sin(n),dy:Math.cos(n),degrees:t}}function I(t,e,r){for(var n=e.panels||(e.panels=[]),i=t.data(),a=0;a<i.length-1;a++){var o=n[a]||(n[a]={}),s=i[a],l=i[a+1];o.dim0=s,o.dim1=l,o.canvasX=s.canvasX,o.panelSizeX=l.canvasX-s.canvasX,o.panelSizeY=e.model.canvasHeight,o.y=0,o.canvasY=0,o.plotGlPixelRatio=r}}function D(t,e){return s.tickText(t._ax,e,!1).text}function z(t,e){if(t.ordinal)return"";var r=t.domainScale.domain(),n=r[e?r.length-1:0];return D(t.model.dimensions[t.visibleIndex],n)}t.exports=function(t,e,r,a){var o=t._context.staticPlot,h=t._fullLayout,p=h._toppaper,_=h._glcontainer,T=t._context.plotGlPixelRatio,A=t._fullLayout.paper_bgcolor;!function(t){for(var e=0;e<t.length;e++)for(var r=0;r<t[e].length;r++)for(var n=t[e][r].trace,i=n.dimensions,a=0;a<i.length;a++){var o=i[a].values,l=i[a]._ax;l&&(l.range?l.range=k(l.range[0],l.range[1]):l.range=w(o,n._length),l.dtick||(l.dtick=.01*(Math.abs(l.range[1]-l.range[0])||1)),l.tickformat=i[a].tickformat,s.calcTicks(l),l.cleanRange())}}(e);var M,S,R=(M=!0,S=!1,{linePickActive:function(t){return arguments.length?M=!!t:M},contextShown:function(t){return arguments.length?S=!!t:S}}),F=e.filter((function(t){return g(t).trace.visible})).map(L.bind(0,r)).map(C.bind(0,R,a));_.each((function(t,e){return i.extendFlat(t,F[e])}));var B=_.selectAll(".gl-canvas").each((function(t){t.viewModel=F[0],t.viewModel.plotGlPixelRatio=T,t.viewModel.paperColor=A,t.model=t.viewModel?t.viewModel.model:null})),N=null;B.filter((function(t){return t.pick})).style("pointer-events",o?"none":"auto").on("mousemove",(function(t){if(R.linePickActive()&&t.lineLayer&&a&&a.hover){var e=n.event,r=this.width,i=this.height,o=n.mouse(this),s=o[0],l=o[1];if(s<0||l<0||s>=r||l>=i)return;var u=t.lineLayer.readPixel(s,i-1-l),c=0!==u[3],f=c?u[2]+256*(u[1]+256*u[0]):null,h={x:s,y:l,clientX:e.clientX,clientY:e.clientY,dataIndex:t.model.key,curveNumber:f};f!==N&&(c?a.hover(h):a.unhover&&a.unhover(h),N=f)}})),B.style("opacity",(function(t){return t.pick?0:1})),p.style("background","rgba(255, 255, 255, 0)");var j=p.selectAll("."+m.cn.parcoords).data(F,d);j.exit().remove(),j.enter().append("g").classed(m.cn.parcoords,!0).style("shape-rendering","crispEdges").style("pointer-events","none"),j.attr("transform",(function(t){return u(t.model.translateX,t.model.translateY)}));var U=j.selectAll("."+m.cn.parcoordsControlView).data(v,d);U.enter().append("g").classed(m.cn.parcoordsControlView,!0),U.attr("transform",(function(t){return u(t.model.pad.l,t.model.pad.t)}));var V=U.selectAll("."+m.cn.yAxis).data((function(t){return t.dimensions}),d);V.enter().append("g").classed(m.cn.yAxis,!0),U.each((function(t){I(V,t,T)})),B.each((function(t){if(t.viewModel){!t.lineLayer||a?t.lineLayer=b(this,t):t.lineLayer.update(t),(t.key||0===t.key)&&(t.viewModel[t.key]=t.lineLayer);var e=!t.context||a;t.lineLayer.render(t.viewModel.panels,e)}})),V.attr("transform",(function(t){return u(t.xScale(t.xIndex),0)})),V.call(n.behavior.drag().origin((function(t){return t})).on("drag",(function(t){var e=t.parent;R.linePickActive(!1),t.x=Math.max(-m.overdrag,Math.min(t.model.width+m.overdrag,n.event.x)),t.canvasX=t.x*t.model.canvasPixelRatio,V.sort((function(t,e){return t.x-e.x})).each((function(e,r){e.xIndex=r,e.x=t===e?e.x:e.xScale(e.xIndex),e.canvasX=e.x*e.model.canvasPixelRatio})),I(V,e,T),V.filter((function(e){return 0!==Math.abs(t.xIndex-e.xIndex)})).attr("transform",(function(t){return u(t.xScale(t.xIndex),0)})),n.select(this).attr("transform",u(t.x,0)),V.each((function(r,n,i){i===t.parent.key&&(e.dimensions[n]=r)})),e.contextLayer&&e.contextLayer.render(e.panels,!1,!E(e)),e.focusLayer.render&&e.focusLayer.render(e.panels)})).on("dragend",(function(t){var e=t.parent;t.x=t.xScale(t.xIndex),t.canvasX=t.x*t.model.canvasPixelRatio,I(V,e,T),n.select(this).attr("transform",(function(t){return u(t.x,0)})),e.contextLayer&&e.contextLayer.render(e.panels,!1,!E(e)),e.focusLayer&&e.focusLayer.render(e.panels),e.pickLayer&&e.pickLayer.render(e.panels,!0),R.linePickActive(!0),a&&a.axesMoved&&a.axesMoved(e.key,e.dimensions.map((function(t){return t.crossfilterDimensionIndex})))}))),V.exit().remove();var H=V.selectAll("."+m.cn.axisOverlays).data(v,d);H.enter().append("g").classed(m.cn.axisOverlays,!0),H.selectAll("."+m.cn.axis).remove();var q=H.selectAll("."+m.cn.axis).data(v,d);q.enter().append("g").classed(m.cn.axis,!0),q.each((function(t){var e=t.model.height/t.model.tickDistance,r=t.domainScale,i=r.domain();n.select(this).call(n.svg.axis().orient("left").tickSize(4).outerTickSize(2).ticks(e,t.tickFormat).tickValues(t.ordinal?i:null).tickFormat((function(e){return y.isOrdinal(t)?e:D(t.model.dimensions[t.visibleIndex],e)})).scale(r)),f.font(q.selectAll("text"),t.model.tickFont)})),q.selectAll(".domain, .tick>line").attr("fill","none").attr("stroke","black").attr("stroke-opacity",.25).attr("stroke-width","1px"),q.selectAll("text").style("text-shadow",c.makeTextShadow(A)).style("cursor","default");var G=H.selectAll("."+m.cn.axisHeading).data(v,d);G.enter().append("g").classed(m.cn.axisHeading,!0);var Z=G.selectAll("."+m.cn.axisTitle).data(v,d);Z.enter().append("text").classed(m.cn.axisTitle,!0).attr("text-anchor","middle").style("cursor","ew-resize").style("pointer-events",o?"none":"auto"),Z.text((function(t){return t.label})).each((function(e){var r=n.select(this);f.font(r,e.model.labelFont),c.convertToTspans(r,t)})).attr("transform",(function(t){var e=O(t.model.labelAngle,t.model.labelSide),r=m.axisTitleOffset;return(e.dir>0?"":u(0,2*r+t.model.height))+l(e.degrees)+u(-r*e.dx,-r*e.dy)})).attr("text-anchor",(function(t){var e=O(t.model.labelAngle,t.model.labelSide);return 2*Math.abs(e.dx)>Math.abs(e.dy)?e.dir*e.dx<0?"start":"end":"middle"}));var Y=H.selectAll("."+m.cn.axisExtent).data(v,d);Y.enter().append("g").classed(m.cn.axisExtent,!0);var W=Y.selectAll("."+m.cn.axisExtentTop).data(v,d);W.enter().append("g").classed(m.cn.axisExtentTop,!0),W.attr("transform",u(0,-m.axisExtentOffset));var X=W.selectAll("."+m.cn.axisExtentTopText).data(v,d);X.enter().append("text").classed(m.cn.axisExtentTopText,!0).call(P),X.text((function(t){return z(t,!0)})).each((function(t){f.font(n.select(this),t.model.rangeFont)}));var J=Y.selectAll("."+m.cn.axisExtentBottom).data(v,d);J.enter().append("g").classed(m.cn.axisExtentBottom,!0),J.attr("transform",(function(t){return u(0,t.model.height+m.axisExtentOffset)}));var K=J.selectAll("."+m.cn.axisExtentBottomText).data(v,d);K.enter().append("text").classed(m.cn.axisExtentBottomText,!0).attr("dy","0.75em").call(P),K.text((function(t){return z(t,!1)})).each((function(t){f.font(n.select(this),t.model.rangeFont)})),x.ensureAxisBrush(H,A,t)}},21341:function(t,e,r){"use strict";var n=r(17171),i=r(79749),a=r(1602).isVisible,o={};function s(t,e,r){var n=e.indexOf(r),i=t.indexOf(n);return-1===i&&(i+=e.length),i}(t.exports=function(t,e){var r=t._fullLayout;if(i(t,[],o)){var l={},u={},c={},f={},h=r._size;e.forEach((function(e,r){var n=e[0].trace;c[r]=n.index;var i=f[r]=n._fullInput.index;l[r]=t.data[i].dimensions,u[r]=t.data[i].dimensions.slice()})),n(t,e,{width:h.w,height:h.h,margin:{t:h.t,r:h.r,b:h.b,l:h.l}},{filterChanged:function(e,n,i){var a=u[e][n],o=i.map((function(t){return t.slice()})),s="dimensions["+n+"].constraintrange",l=r._tracePreGUI[t._fullData[c[e]]._fullInput.uid];if(void 0===l[s]){var h=a.constraintrange;l[s]=h||null}var p=t._fullData[c[e]].dimensions[n];o.length?(1===o.length&&(o=o[0]),a.constraintrange=o,p.constraintrange=o.slice(),o=[o]):(delete a.constraintrange,delete p.constraintrange,o=null);var d={};d[s]=o,t.emit("plotly_restyle",[d,[f[e]]])},hover:function(e){t.emit("plotly_hover",e)},unhover:function(e){t.emit("plotly_unhover",e)},axesMoved:function(e,r){var n=function(t,e){return function(r,n){return s(t,e,r)-s(t,e,n)}}(r,u[e].filter(a));l[e].sort(n),u[e].filter((function(t){return!a(t)})).sort((function(t){return u[e].indexOf(t)})).forEach((function(t){l[e].splice(l[e].indexOf(t),1),l[e].splice(u[e].indexOf(t),0,t)})),t.emit("plotly_restyle",[{dimensions:[l[e]]},[f[e]]])}})}}).reglPrecompiled=o},34e3:function(t,e,r){"use strict";var n=r(9012),i=r(27670).Y,a=r(41940),o=r(22399),s=r(5386).f,l=r(5386).s,u=r(1426).extendFlat,c=a({editType:"plot",arrayOk:!0,colorEditType:"plot"});t.exports={labels:{valType:"data_array",editType:"calc"},label0:{valType:"number",dflt:0,editType:"calc"},dlabel:{valType:"number",dflt:1,editType:"calc"},values:{valType:"data_array",editType:"calc"},marker:{colors:{valType:"data_array",editType:"calc"},line:{color:{valType:"color",dflt:o.defaultLine,arrayOk:!0,editType:"style"},width:{valType:"number",min:0,dflt:0,arrayOk:!0,editType:"style"},editType:"calc"},editType:"calc"},text:{valType:"data_array",editType:"plot"},hovertext:{valType:"string",dflt:"",arrayOk:!0,editType:"style"},scalegroup:{valType:"string",dflt:"",editType:"calc"},textinfo:{valType:"flaglist",flags:["label","text","value","percent"],extras:["none"],editType:"calc"},hoverinfo:u({},n.hoverinfo,{flags:["label","text","value","percent","name"]}),hovertemplate:s({},{keys:["label","color","value","percent","text"]}),texttemplate:l({editType:"plot"},{keys:["label","color","value","percent","text"]}),textposition:{valType:"enumerated",values:["inside","outside","auto","none"],dflt:"auto",arrayOk:!0,editType:"plot"},textfont:u({},c,{}),insidetextorientation:{valType:"enumerated",values:["horizontal","radial","tangential","auto"],dflt:"auto",editType:"plot"},insidetextfont:u({},c,{}),outsidetextfont:u({},c,{}),automargin:{valType:"boolean",dflt:!1,editType:"plot"},title:{text:{valType:"string",dflt:"",editType:"plot"},font:u({},c,{}),position:{valType:"enumerated",values:["top left","top center","top right","middle center","bottom left","bottom center","bottom right"],editType:"plot"},editType:"plot"},domain:i({name:"pie",trace:!0,editType:"calc"}),hole:{valType:"number",min:0,max:1,dflt:0,editType:"calc"},sort:{valType:"boolean",dflt:!0,editType:"calc"},direction:{valType:"enumerated",values:["clockwise","counterclockwise"],dflt:"counterclockwise",editType:"calc"},rotation:{valType:"angle",dflt:0,editType:"calc"},pull:{valType:"number",min:0,max:1,dflt:0,arrayOk:!0,editType:"calc"},_deprecated:{title:{valType:"string",dflt:"",editType:"calc"},titlefont:u({},c,{}),titleposition:{valType:"enumerated",values:["top left","top center","top right","middle center","bottom left","bottom center","bottom right"],editType:"calc"}}}},13584:function(t,e,r){"use strict";var n=r(74875);e.name="pie",e.plot=function(t,r,i,a){n.plotBasePlot(e.name,t,r,i,a)},e.clean=function(t,r,i,a){n.cleanBasePlot(e.name,t,r,i,a)}},32354:function(t,e,r){"use strict";var n=r(92770),i=r(84267),a=r(7901),o={};function s(t){return function(e,r){return!!e&&!!(e=i(e)).isValid()&&(e=a.addOpacity(e,e.getAlpha()),t[r]||(t[r]=e),e)}}function l(t,e){var r,n=JSON.stringify(t),a=e[n];if(!a){for(a=t.slice(),r=0;r<t.length;r++)a.push(i(t[r]).lighten(20).toHexString());for(r=0;r<t.length;r++)a.push(i(t[r]).darken(20).toHexString());e[n]=a}return a}t.exports={calc:function(t,e){var r,i,a=[],o=t._fullLayout,l=o.hiddenlabels||[],u=e.labels,c=e.marker.colors||[],f=e.values,h=e._length,p=e._hasValues&&h;if(e.dlabel)for(u=new Array(h),r=0;r<h;r++)u[r]=String(e.label0+r*e.dlabel);var d={},v=s(o["_"+e.type+"colormap"]),g=0,y=!1;for(r=0;r<h;r++){var m,x,b;if(p){if(m=f[r],!n(m))continue;m=+m}else m=1;void 0!==(x=u[r])&&""!==x||(x=r);var _=d[x=String(x)];void 0===_?(d[x]=a.length,(b=-1!==l.indexOf(x))||(g+=m),a.push({v:m,label:x,color:v(c[r],x),i:r,pts:[r],hidden:b})):(y=!0,(i=a[_]).v+=m,i.pts.push(r),i.hidden||(g+=m),!1===i.color&&c[r]&&(i.color=v(c[r],x)))}return a=a.filter((function(t){return t.v>=0})),("funnelarea"===e.type?y:e.sort)&&a.sort((function(t,e){return e.v-t.v})),a[0]&&(a[0].vTotal=g),a},crossTraceCalc:function(t,e){var r=(e||{}).type;r||(r="pie");var n=t._fullLayout,i=t.calcdata,a=n[r+"colorway"],s=n["_"+r+"colormap"];n["extend"+r+"colors"]&&(a=l(a,o));for(var u=0,c=0;c<i.length;c++){var f=i[c];if(f[0].trace.type===r)for(var h=0;h<f.length;h++){var p=f[h];!1===p.color&&(s[p.label]?p.color=s[p.label]:(s[p.label]=p.color=a[u%a.length],u++))}}},makePullColorFn:s,generateExtendedColors:l}},37434:function(t,e,r){"use strict";var n=r(92770),i=r(71828),a=r(34e3),o=r(27670).c,s=r(90769).handleText;function l(t,e){var r=Array.isArray(t),a=i.isArrayOrTypedArray(e),o=Math.min(r?t.length:1/0,a?e.length:1/0);if(isFinite(o)||(o=0),o&&a){for(var s,l=0;l<o;l++){var u=e[l];if(n(u)&&u>0){s=!0;break}}s||(o=0)}return{hasLabels:r,hasValues:a,len:o}}t.exports={handleLabelsAndValues:l,supplyDefaults:function(t,e,r,n){function u(r,n){return i.coerce(t,e,a,r,n)}var c=l(u("labels"),u("values")),f=c.len;if(e._hasLabels=c.hasLabels,e._hasValues=c.hasValues,!e._hasLabels&&e._hasValues&&(u("label0"),u("dlabel")),f){e._length=f,u("marker.line.width")&&u("marker.line.color"),u("marker.colors"),u("scalegroup");var h,p=u("text"),d=u("texttemplate");if(d||(h=u("textinfo",Array.isArray(p)?"text+percent":"percent")),u("hovertext"),u("hovertemplate"),d||h&&"none"!==h){var v=u("textposition");s(t,e,n,u,v,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1}),(Array.isArray(v)||"auto"===v||"outside"===v)&&u("automargin"),("inside"===v||"auto"===v||Array.isArray(v))&&u("insidetextorientation")}o(e,n,u);var g=u("hole");if(u("title.text")){var y=u("title.position",g?"middle center":"top center");g||"middle center"!==y||(e.title.position="top center"),i.coerceFont(u,"title.font",n.font)}u("sort"),u("direction"),u("rotation"),u("pull")}else e.visible=!1}}},20007:function(t,e,r){"use strict";var n=r(23469).appendArrayMultiPointValues;t.exports=function(t,e){var r={curveNumber:e.index,pointNumbers:t.pts,data:e._input,fullData:e,label:t.label,color:t.color,value:t.v,percent:t.percent,text:t.text,bbox:t.bbox,v:t.v};return 1===t.pts.length&&(r.pointNumber=r.i=t.pts[0]),n(r,e,t.pts),"funnelarea"===e.type&&(delete r.v,delete r.i),r}},53581:function(t,e,r){"use strict";var n=r(71828);function i(t){return-1!==t.indexOf("e")?t.replace(/[.]?0+e/,"e"):-1!==t.indexOf(".")?t.replace(/[.]?0+$/,""):t}e.formatPiePercent=function(t,e){var r=i((100*t).toPrecision(3));return n.numSeparate(r,e)+"%"},e.formatPieValue=function(t,e){var r=i(t.toPrecision(10));return n.numSeparate(r,e)},e.getFirstFilled=function(t,e){if(Array.isArray(t))for(var r=0;r<e.length;r++){var n=t[e[r]];if(n||0===n||""===n)return n}},e.castOption=function(t,r){return Array.isArray(t)?e.getFirstFilled(t,r):t||void 0},e.getRotationAngle=function(t){return("auto"===t?0:t)*Math.PI/180}},58810:function(t,e,r){"use strict";t.exports={attributes:r(34e3),supplyDefaults:r(37434).supplyDefaults,supplyLayoutDefaults:r(92097),layoutAttributes:r(92774),calc:r(32354).calc,crossTraceCalc:r(32354).crossTraceCalc,plot:r(14575).plot,style:r(68357),styleOne:r(63463),moduleType:"trace",name:"pie",basePlotModule:r(13584),categories:["pie-like","pie","showLegend"],meta:{}}},92774:function(t){"use strict";t.exports={hiddenlabels:{valType:"data_array",editType:"calc"},piecolorway:{valType:"colorlist",editType:"calc"},extendpiecolors:{valType:"boolean",dflt:!0,editType:"calc"}}},92097:function(t,e,r){"use strict";var n=r(71828),i=r(92774);t.exports=function(t,e){function r(r,a){return n.coerce(t,e,i,r,a)}r("hiddenlabels"),r("piecolorway",e.colorway),r("extendpiecolors")}},14575:function(t,e,r){"use strict";var n=r(39898),i=r(74875),a=r(30211),o=r(7901),s=r(91424),l=r(71828),u=l.strScale,c=l.strTranslate,f=r(63893),h=r(72597),p=h.recordMinTextSize,d=h.clearMinTextSize,v=r(97313).TEXTPAD,g=r(53581),y=r(20007),m=r(71828).isValidTextValue;function x(t,e,r){var i=r[0],o=i.cx,s=i.cy,u=i.trace,c="funnelarea"===u.type;"_hasHoverLabel"in u||(u._hasHoverLabel=!1),"_hasHoverEvent"in u||(u._hasHoverEvent=!1),t.on("mouseover",(function(t){var r=e._fullLayout,f=e._fullData[u.index];if(!e._dragging&&!1!==r.hovermode){var h=f.hoverinfo;if(Array.isArray(h)&&(h=a.castHoverinfo({hoverinfo:[g.castOption(h,t.pts)],_module:u._module},r,0)),"all"===h&&(h="label+text+value+percent+name"),f.hovertemplate||"none"!==h&&"skip"!==h&&h){var p=t.rInscribed||0,d=o+t.pxmid[0]*(1-p),v=s+t.pxmid[1]*(1-p),m=r.separators,x=[];if(h&&-1!==h.indexOf("label")&&x.push(t.label),t.text=g.castOption(f.hovertext||f.text,t.pts),h&&-1!==h.indexOf("text")){var b=t.text;l.isValidTextValue(b)&&x.push(b)}t.value=t.v,t.valueLabel=g.formatPieValue(t.v,m),h&&-1!==h.indexOf("value")&&x.push(t.valueLabel),t.percent=t.v/i.vTotal,t.percentLabel=g.formatPiePercent(t.percent,m),h&&-1!==h.indexOf("percent")&&x.push(t.percentLabel);var _=f.hoverlabel,w=_.font,T=[];a.loneHover({trace:u,x0:d-p*i.r,x1:d+p*i.r,y:v,_x0:c?o+t.TL[0]:d-p*i.r,_x1:c?o+t.TR[0]:d+p*i.r,_y0:c?s+t.TL[1]:v-p*i.r,_y1:c?s+t.BL[1]:v+p*i.r,text:x.join("<br>"),name:f.hovertemplate||-1!==h.indexOf("name")?f.name:void 0,idealAlign:t.pxmid[0]<0?"left":"right",color:g.castOption(_.bgcolor,t.pts)||t.color,borderColor:g.castOption(_.bordercolor,t.pts),fontFamily:g.castOption(w.family,t.pts),fontSize:g.castOption(w.size,t.pts),fontColor:g.castOption(w.color,t.pts),nameLength:g.castOption(_.namelength,t.pts),textAlign:g.castOption(_.align,t.pts),hovertemplate:g.castOption(f.hovertemplate,t.pts),hovertemplateLabels:t,eventData:[y(t,f)]},{container:r._hoverlayer.node(),outerContainer:r._paper.node(),gd:e,inOut_bbox:T}),t.bbox=T[0],u._hasHoverLabel=!0}u._hasHoverEvent=!0,e.emit("plotly_hover",{points:[y(t,f)],event:n.event})}})),t.on("mouseout",(function(t){var r=e._fullLayout,i=e._fullData[u.index],o=n.select(this).datum();u._hasHoverEvent&&(t.originalEvent=n.event,e.emit("plotly_unhover",{points:[y(o,i)],event:n.event}),u._hasHoverEvent=!1),u._hasHoverLabel&&(a.loneUnhover(r._hoverlayer.node()),u._hasHoverLabel=!1)})),t.on("click",(function(t){var r=e._fullLayout,i=e._fullData[u.index];e._dragging||!1===r.hovermode||(e._hoverdata=[y(t,i)],a.click(e,n.event))}))}function b(t,e,r){var n=g.castOption(t.insidetextfont.color,e.pts);!n&&t._input.textfont&&(n=g.castOption(t._input.textfont.color,e.pts));var i=g.castOption(t.insidetextfont.family,e.pts)||g.castOption(t.textfont.family,e.pts)||r.family,a=g.castOption(t.insidetextfont.size,e.pts)||g.castOption(t.textfont.size,e.pts)||r.size;return{color:n||o.contrast(e.color),family:i,size:a}}function _(t,e){for(var r,n,i=0;i<t.length;i++)if((n=(r=t[i][0]).trace).title.text){var a=n.title.text;n._meta&&(a=l.templateString(a,n._meta));var o=s.tester.append("text").attr("data-notex",1).text(a).call(s.font,n.title.font).call(f.convertToTspans,e),u=s.bBox(o.node(),!0);r.titleBox={width:u.width,height:u.height},o.remove()}}function w(t,e,r){var n=r.r||e.rpx1,i=e.rInscribed;if(e.startangle===e.stopangle)return{rCenter:1-i,scale:0,rotate:0,textPosAngle:0};var a,o=e.ring,s=1===o&&Math.abs(e.startangle-e.stopangle)===2*Math.PI,l=e.halfangle,u=e.midangle,c=r.trace.insidetextorientation,f="horizontal"===c,h="tangential"===c,p="radial"===c,d="auto"===c,v=[];if(!d){var g,y=function(r,i){if(function(t,e){var r=t.startangle,n=t.stopangle;return r>e&&e>n||r<e&&e<n}(e,r)){var s=Math.abs(r-e.startangle),l=Math.abs(r-e.stopangle),u=s<l?s:l;(a="tan"===i?k(t,n,o,u,0):T(t,n,o,u,Math.PI/2)).textPosAngle=r,v.push(a)}};if(f||h){for(g=4;g>=-4;g-=2)y(Math.PI*g,"tan");for(g=4;g>=-4;g-=2)y(Math.PI*(g+1),"tan")}if(f||p){for(g=4;g>=-4;g-=2)y(Math.PI*(g+1.5),"rad");for(g=4;g>=-4;g-=2)y(Math.PI*(g+.5),"rad")}}if(s||d||f){var m=Math.sqrt(t.width*t.width+t.height*t.height);if((a={scale:i*n*2/m,rCenter:1-i,rotate:0}).textPosAngle=(e.startangle+e.stopangle)/2,a.scale>=1)return a;v.push(a)}(d||p)&&((a=T(t,n,o,l,u)).textPosAngle=(e.startangle+e.stopangle)/2,v.push(a)),(d||h)&&((a=k(t,n,o,l,u)).textPosAngle=(e.startangle+e.stopangle)/2,v.push(a));for(var x=0,b=0,_=0;_<v.length;_++){var w=v[_].scale;if(b<w&&(b=w,x=_),!d&&b>=1)break}return v[x]}function T(t,e,r,n,i){e=Math.max(0,e-2*v);var a=t.width/t.height,o=S(a,n,e,r);return{scale:2*o/t.height,rCenter:A(a,o/e),rotate:M(i)}}function k(t,e,r,n,i){e=Math.max(0,e-2*v);var a=t.height/t.width,o=S(a,n,e,r);return{scale:2*o/t.width,rCenter:A(a,o/e),rotate:M(i+Math.PI/2)}}function A(t,e){return Math.cos(e)-t*e}function M(t){return(180/Math.PI*t+720)%180-90}function S(t,e,r,n){var i=t+1/(2*Math.tan(e));return r*Math.min(1/(Math.sqrt(i*i+.5)+i),n/(Math.sqrt(t*t+n/2)+t))}function E(t,e){return t.v!==e.vTotal||e.trace.hole?Math.min(1/(1+1/Math.sin(t.halfangle)),t.ring/2):1}function L(t,e){var r=e.pxmid[0],n=e.pxmid[1],i=t.width/2,a=t.height/2;return r<0&&(i*=-1),n<0&&(a*=-1),{scale:1,rCenter:1,rotate:0,x:i+Math.abs(a)*(i>0?1:-1)/2,y:a/(1+r*r/(n*n)),outside:!0}}function C(t,e){var r,n,i,a=t.trace,o={x:t.cx,y:t.cy},s={tx:0,ty:0};s.ty+=a.title.font.size,i=O(a),-1!==a.title.position.indexOf("top")?(o.y-=(1+i)*t.r,s.ty-=t.titleBox.height):-1!==a.title.position.indexOf("bottom")&&(o.y+=(1+i)*t.r);var l,u=t.r/(void 0===(l=t.trace.aspectratio)?1:l),c=e.w*(a.domain.x[1]-a.domain.x[0])/2;return-1!==a.title.position.indexOf("left")?(c+=u,o.x-=(1+i)*u,s.tx+=t.titleBox.width/2):-1!==a.title.position.indexOf("center")?c*=2:-1!==a.title.position.indexOf("right")&&(c+=u,o.x+=(1+i)*u,s.tx-=t.titleBox.width/2),r=c/t.titleBox.width,n=P(t,e)/t.titleBox.height,{x:o.x,y:o.y,scale:Math.min(r,n),tx:s.tx,ty:s.ty}}function P(t,e){var r=t.trace,n=e.h*(r.domain.y[1]-r.domain.y[0]);return Math.min(t.titleBox.height,n/2)}function O(t){var e,r=t.pull;if(!r)return 0;if(Array.isArray(r))for(r=0,e=0;e<t.pull.length;e++)t.pull[e]>r&&(r=t.pull[e]);return r}function I(t,e){for(var r=[],n=0;n<t.length;n++){var i=t[n][0],a=i.trace,o=a.domain,s=e.w*(o.x[1]-o.x[0]),l=e.h*(o.y[1]-o.y[0]);a.title.text&&"middle center"!==a.title.position&&(l-=P(i,e));var u=s/2,c=l/2;"funnelarea"!==a.type||a.scalegroup||(c/=a.aspectratio),i.r=Math.min(u,c)/(1+O(a)),i.cx=e.l+e.w*(a.domain.x[1]+a.domain.x[0])/2,i.cy=e.t+e.h*(1-a.domain.y[0])-l/2,a.title.text&&-1!==a.title.position.indexOf("bottom")&&(i.cy-=P(i,e)),a.scalegroup&&-1===r.indexOf(a.scalegroup)&&r.push(a.scalegroup)}!function(t,e){for(var r,n,i,a=0;a<e.length;a++){var o=1/0,s=e[a];for(n=0;n<t.length;n++)if((i=(r=t[n][0]).trace).scalegroup===s){var l;if("pie"===i.type)l=r.r*r.r;else if("funnelarea"===i.type){var u,c;i.aspectratio>1?c=(u=r.r)/i.aspectratio:u=(c=r.r)*i.aspectratio,l=(u*=(1+i.baseratio)/2)*c}o=Math.min(o,l/r.vTotal)}for(n=0;n<t.length;n++)if((i=(r=t[n][0]).trace).scalegroup===s){var f=o*r.vTotal;"funnelarea"===i.type&&(f/=(1+i.baseratio)/2,f/=i.aspectratio),r.r=Math.sqrt(f)}}}(t,r)}function D(t,e){return[t*Math.sin(e),-t*Math.cos(e)]}function z(t,e,r){var n=t._fullLayout,i=r.trace,a=i.texttemplate,o=i.textinfo;if(!a&&o&&"none"!==o){var s,u=o.split("+"),c=function(t){return-1!==u.indexOf(t)},f=c("label"),h=c("text"),p=c("value"),d=c("percent"),v=n.separators;if(s=f?[e.label]:[],h){var y=g.getFirstFilled(i.text,e.pts);m(y)&&s.push(y)}p&&s.push(g.formatPieValue(e.v,v)),d&&s.push(g.formatPiePercent(e.v/r.vTotal,v)),e.text=s.join("<br>")}if(a){var x=l.castOption(i,e.i,"texttemplate");if(x){var b=function(t){return{label:t.label,value:t.v,valueLabel:g.formatPieValue(t.v,n.separators),percent:t.v/r.vTotal,percentLabel:g.formatPiePercent(t.v/r.vTotal,n.separators),color:t.color,text:t.text,customdata:l.castOption(i,t.i,"customdata")}}(e),_=g.getFirstFilled(i.text,e.pts);(m(_)||""===_)&&(b.text=_),e.text=l.texttemplateString(x,b,t._fullLayout._d3locale,b,i._meta||{})}else e.text=""}}function R(t,e){var r=t.rotate*Math.PI/180,n=Math.cos(r),i=Math.sin(r),a=(e.left+e.right)/2,o=(e.top+e.bottom)/2;t.textX=a*n-o*i,t.textY=a*i+o*n,t.noCenter=!0}t.exports={plot:function(t,e){var r=t._context.staticPlot,a=t._fullLayout,h=a._size;d("pie",a),_(e,t),I(e,h);var v=l.makeTraceGroups(a._pielayer,e,"trace").each((function(e){var d=n.select(this),v=e[0],y=v.trace;!function(t){var e,r,n,i=t[0],a=i.r,o=i.trace,s=g.getRotationAngle(o.rotation),l=2*Math.PI/i.vTotal,u="px0",c="px1";if("counterclockwise"===o.direction){for(e=0;e<t.length&&t[e].hidden;e++);if(e===t.length)return;s+=l*t[e].v,l*=-1,u="px1",c="px0"}for(n=D(a,s),e=0;e<t.length;e++)(r=t[e]).hidden||(r[u]=n,r.startangle=s,s+=l*r.v/2,r.pxmid=D(a,s),r.midangle=s,n=D(a,s+=l*r.v/2),r.stopangle=s,r[c]=n,r.largeArc=r.v>i.vTotal/2?1:0,r.halfangle=Math.PI*Math.min(r.v/i.vTotal,.5),r.ring=1-o.hole,r.rInscribed=E(r,i))}(e),d.attr("stroke-linejoin","round"),d.each((function(){var m=n.select(this).selectAll("g.slice").data(e);m.enter().append("g").classed("slice",!0),m.exit().remove();var _=[[[],[]],[[],[]]],T=!1;m.each((function(i,o){if(i.hidden)n.select(this).selectAll("path,g").remove();else{i.pointNumber=i.i,i.curveNumber=y.index,_[i.pxmid[1]<0?0:1][i.pxmid[0]<0?0:1].push(i);var u=v.cx,c=v.cy,h=n.select(this),d=h.selectAll("path.surface").data([i]);if(d.enter().append("path").classed("surface",!0).style({"pointer-events":r?"none":"all"}),h.call(x,t,e),y.pull){var m=+g.castOption(y.pull,i.pts)||0;m>0&&(u+=m*i.pxmid[0],c+=m*i.pxmid[1])}i.cxFinal=u,i.cyFinal=c;var k=y.hole;if(i.v===v.vTotal){var A="M"+(u+i.px0[0])+","+(c+i.px0[1])+P(i.px0,i.pxmid,!0,1)+P(i.pxmid,i.px0,!0,1)+"Z";k?d.attr("d","M"+(u+k*i.px0[0])+","+(c+k*i.px0[1])+P(i.px0,i.pxmid,!1,k)+P(i.pxmid,i.px0,!1,k)+"Z"+A):d.attr("d",A)}else{var M=P(i.px0,i.px1,!0,1);if(k){var S=1-k;d.attr("d","M"+(u+k*i.px1[0])+","+(c+k*i.px1[1])+P(i.px1,i.px0,!1,k)+"l"+S*i.px0[0]+","+S*i.px0[1]+M+"Z")}else d.attr("d","M"+u+","+c+"l"+i.px0[0]+","+i.px0[1]+M+"Z")}z(t,i,v);var E=g.castOption(y.textposition,i.pts),C=h.selectAll("g.slicetext").data(i.text&&"none"!==E?[0]:[]);C.enter().append("g").classed("slicetext",!0),C.exit().remove(),C.each((function(){var r=l.ensureSingle(n.select(this),"text","",(function(t){t.attr("data-notex",1)})),h=l.ensureUniformFontSize(t,"outside"===E?function(t,e,r){return{color:g.castOption(t.outsidetextfont.color,e.pts)||g.castOption(t.textfont.color,e.pts)||r.color,family:g.castOption(t.outsidetextfont.family,e.pts)||g.castOption(t.textfont.family,e.pts)||r.family,size:g.castOption(t.outsidetextfont.size,e.pts)||g.castOption(t.textfont.size,e.pts)||r.size}}(y,i,a.font):b(y,i,a.font));r.text(i.text).attr({class:"slicetext",transform:"","text-anchor":"middle"}).call(s.font,h).call(f.convertToTspans,t);var d,m=s.bBox(r.node());if("outside"===E)d=L(m,i);else if(d=w(m,i,v),"auto"===E&&d.scale<1){var x=l.ensureUniformFontSize(t,y.outsidetextfont);r.call(s.font,x),d=L(m=s.bBox(r.node()),i)}var _=d.textPosAngle,k=void 0===_?i.pxmid:D(v.r,_);if(d.targetX=u+k[0]*d.rCenter+(d.x||0),d.targetY=c+k[1]*d.rCenter+(d.y||0),R(d,m),d.outside){var A=d.targetY;i.yLabelMin=A-m.height/2,i.yLabelMid=A,i.yLabelMax=A+m.height/2,i.labelExtraX=0,i.labelExtraY=0,T=!0}d.fontSize=h.size,p(y.type,d,a),e[o].transform=d,l.setTransormAndDisplay(r,d)}))}function P(t,e,r,n){var a=n*(e[0]-t[0]),o=n*(e[1]-t[1]);return"a"+n*v.r+","+n*v.r+" 0 "+i.largeArc+(r?" 1 ":" 0 ")+a+","+o}}));var k=n.select(this).selectAll("g.titletext").data(y.title.text?[0]:[]);if(k.enter().append("g").classed("titletext",!0),k.exit().remove(),k.each((function(){var e,r=l.ensureSingle(n.select(this),"text","",(function(t){t.attr("data-notex",1)})),i=y.title.text;y._meta&&(i=l.templateString(i,y._meta)),r.text(i).attr({class:"titletext",transform:"","text-anchor":"middle"}).call(s.font,y.title.font).call(f.convertToTspans,t),e="middle center"===y.title.position?function(t){var e=Math.sqrt(t.titleBox.width*t.titleBox.width+t.titleBox.height*t.titleBox.height);return{x:t.cx,y:t.cy,scale:t.trace.hole*t.r*2/e,tx:0,ty:-t.titleBox.height/2+t.trace.title.font.size}}(v):C(v,h),r.attr("transform",c(e.x,e.y)+u(Math.min(1,e.scale))+c(e.tx,e.ty))})),T&&function(t,e){var r,n,i,a,o,s,l,u,c,f,h,p,d;function v(t,e){return t.pxmid[1]-e.pxmid[1]}function y(t,e){return e.pxmid[1]-t.pxmid[1]}function m(t,r){r||(r={});var i,u,c,h,p=r.labelExtraY+(n?r.yLabelMax:r.yLabelMin),d=n?t.yLabelMin:t.yLabelMax,v=n?t.yLabelMax:t.yLabelMin,y=t.cyFinal+o(t.px0[1],t.px1[1]),m=p-d;if(m*l>0&&(t.labelExtraY=m),Array.isArray(e.pull))for(u=0;u<f.length;u++)(c=f[u])===t||(g.castOption(e.pull,t.pts)||0)>=(g.castOption(e.pull,c.pts)||0)||((t.pxmid[1]-c.pxmid[1])*l>0?(m=c.cyFinal+o(c.px0[1],c.px1[1])-d-t.labelExtraY)*l>0&&(t.labelExtraY+=m):(v+t.labelExtraY-y)*l>0&&(i=3*s*Math.abs(u-f.indexOf(t)),(h=c.cxFinal+a(c.px0[0],c.px1[0])+i-(t.cxFinal+t.pxmid[0])-t.labelExtraX)*s>0&&(t.labelExtraX+=h)))}for(n=0;n<2;n++)for(i=n?v:y,o=n?Math.max:Math.min,l=n?1:-1,r=0;r<2;r++){for(a=r?Math.max:Math.min,s=r?1:-1,(u=t[n][r]).sort(i),c=t[1-n][r],f=c.concat(u),p=[],h=0;h<u.length;h++)void 0!==u[h].yLabelMid&&p.push(u[h]);for(d=!1,h=0;n&&h<c.length;h++)if(void 0!==c[h].yLabelMid){d=c[h];break}for(h=0;h<p.length;h++){var x=h&&p[h-1];d&&!h&&(x=d),m(p[h],x)}}}(_,y),function(t,e){t.each((function(t){var r=n.select(this);if(t.labelExtraX||t.labelExtraY){var i=r.select("g.slicetext text");t.transform.targetX+=t.labelExtraX,t.transform.targetY+=t.labelExtraY,l.setTransormAndDisplay(i,t.transform);var a=t.cxFinal+t.pxmid[0],s="M"+a+","+(t.cyFinal+t.pxmid[1]),u=(t.yLabelMax-t.yLabelMin)*(t.pxmid[0]<0?-1:1)/4;if(t.labelExtraX){var c=t.labelExtraX*t.pxmid[1]/t.pxmid[0],f=t.yLabelMid+t.labelExtraY-(t.cyFinal+t.pxmid[1]);Math.abs(c)>Math.abs(f)?s+="l"+f*t.pxmid[0]/t.pxmid[1]+","+f+"H"+(a+t.labelExtraX+u):s+="l"+t.labelExtraX+","+c+"v"+(f-c)+"h"+u}else s+="V"+(t.yLabelMid+t.labelExtraY)+"h"+u;l.ensureSingle(r,"path","textline").call(o.stroke,e.outsidetextfont.color).attr({"stroke-width":Math.min(2,e.outsidetextfont.size/8),d:s,fill:"none"})}else r.select("path.textline").remove()}))}(m,y),T&&y.automargin){var A=s.bBox(d.node()),M=y.domain,S=h.w*(M.x[1]-M.x[0]),E=h.h*(M.y[1]-M.y[0]),P=(.5*S-v.r)/h.w,O=(.5*E-v.r)/h.h;i.autoMargin(t,"pie."+y.uid+".automargin",{xl:M.x[0]-P,xr:M.x[1]+P,yb:M.y[0]-O,yt:M.y[1]+O,l:Math.max(v.cx-v.r-A.left,0),r:Math.max(A.right-(v.cx+v.r),0),b:Math.max(A.bottom-(v.cy+v.r),0),t:Math.max(v.cy-v.r-A.top,0),pad:5})}}))}));setTimeout((function(){v.selectAll("tspan").each((function(){var t=n.select(this);t.attr("dy")&&t.attr("dy",t.attr("dy"))}))}),0)},formatSliceLabel:z,transformInsideText:w,determineInsideTextFont:b,positionTitleOutside:C,prerenderTitles:_,layoutAreas:I,attachFxHandlers:x,computeTransform:R}},68357:function(t,e,r){"use strict";var n=r(39898),i=r(63463),a=r(72597).resizeText;t.exports=function(t){var e=t._fullLayout._pielayer.selectAll(".trace");a(t,e,"pie"),e.each((function(t){var e=t[0].trace,r=n.select(this);r.style({opacity:e.opacity}),r.selectAll("path.surface").each((function(t){n.select(this).call(i,t,e)}))}))}},63463:function(t,e,r){"use strict";var n=r(7901),i=r(53581).castOption;t.exports=function(t,e,r){var a=r.marker.line,o=i(a.color,e.pts)||n.defaultLine,s=i(a.width,e.pts)||0;t.style("stroke-width",s).call(n.fill,e.color).call(n.stroke,o)}},10959:function(t,e,r){"use strict";var n=r(82196);t.exports={x:n.x,y:n.y,xy:{valType:"data_array",editType:"calc"},indices:{valType:"data_array",editType:"calc"},xbounds:{valType:"data_array",editType:"calc"},ybounds:{valType:"data_array",editType:"calc"},text:n.text,marker:{color:{valType:"color",arrayOk:!1,editType:"calc"},opacity:{valType:"number",min:0,max:1,dflt:1,arrayOk:!1,editType:"calc"},blend:{valType:"boolean",dflt:null,editType:"calc"},sizemin:{valType:"number",min:.1,max:2,dflt:.5,editType:"calc"},sizemax:{valType:"number",min:.1,dflt:20,editType:"calc"},border:{color:{valType:"color",arrayOk:!1,editType:"calc"},arearatio:{valType:"number",min:0,max:1,dflt:0,editType:"calc"},editType:"calc"},editType:"calc"},transforms:void 0}},42743:function(t,e,r){"use strict";var n=r(9330).gl_pointcloud2d,i=r(78614),a=r(71739).findExtremes,o=r(34603);function s(t,e){this.scene=t,this.uid=e,this.type="pointcloud",this.pickXData=[],this.pickYData=[],this.xData=[],this.yData=[],this.textLabels=[],this.color="rgb(0, 0, 0)",this.name="",this.hoverinfo="all",this.idToIndex=new Int32Array(0),this.bounds=[0,0,0,0],this.pointcloudOptions={positions:new Float32Array(0),idToIndex:this.idToIndex,sizemin:.5,sizemax:12,color:[0,0,0,1],areaRatio:1,borderColor:[0,0,0,1]},this.pointcloud=n(t.glplot,this.pointcloudOptions),this.pointcloud._trace=this}var l=s.prototype;l.handlePick=function(t){var e=this.idToIndex[t.pointId];return{trace:this,dataCoord:t.dataCoord,traceCoord:this.pickXYData?[this.pickXYData[2*e],this.pickXYData[2*e+1]]:[this.pickXData[e],this.pickYData[e]],textLabel:Array.isArray(this.textLabels)?this.textLabels[e]:this.textLabels,color:this.color,name:this.name,pointIndex:e,hoverinfo:this.hoverinfo}},l.update=function(t){this.index=t.index,this.textLabels=t.text,this.name=t.name,this.hoverinfo=t.hoverinfo,this.bounds=[1/0,1/0,-1/0,-1/0],this.updateFast(t),this.color=o(t,{})},l.updateFast=function(t){var e,r,n,o,s,l,u=this.xData=this.pickXData=t.x,c=this.yData=this.pickYData=t.y,f=this.pickXYData=t.xy,h=t.xbounds&&t.ybounds,p=t.indices,d=this.bounds;if(f){if(n=f,e=f.length>>>1,h)d[0]=t.xbounds[0],d[2]=t.xbounds[1],d[1]=t.ybounds[0],d[3]=t.ybounds[1];else for(l=0;l<e;l++)o=n[2*l],s=n[2*l+1],o<d[0]&&(d[0]=o),o>d[2]&&(d[2]=o),s<d[1]&&(d[1]=s),s>d[3]&&(d[3]=s);if(p)r=p;else for(r=new Int32Array(e),l=0;l<e;l++)r[l]=l}else for(e=u.length,n=new Float32Array(2*e),r=new Int32Array(e),l=0;l<e;l++)o=u[l],s=c[l],r[l]=l,n[2*l]=o,n[2*l+1]=s,o<d[0]&&(d[0]=o),o>d[2]&&(d[2]=o),s<d[1]&&(d[1]=s),s>d[3]&&(d[3]=s);this.idToIndex=r,this.pointcloudOptions.idToIndex=r,this.pointcloudOptions.positions=n;var v=i(t.marker.color),g=i(t.marker.border.color),y=t.opacity*t.marker.opacity;v[3]*=y,this.pointcloudOptions.color=v;var m=t.marker.blend;null===m&&(m=u.length<100||c.length<100),this.pointcloudOptions.blend=m,g[3]*=y,this.pointcloudOptions.borderColor=g;var x=t.marker.sizemin,b=Math.max(t.marker.sizemax,t.marker.sizemin);this.pointcloudOptions.sizeMin=x,this.pointcloudOptions.sizeMax=b,this.pointcloudOptions.areaRatio=t.marker.border.arearatio,this.pointcloud.update(this.pointcloudOptions);var _=this.scene.xaxis,w=this.scene.yaxis,T=b/2||.5;t._extremes[_._id]=a(_,[d[0],d[2]],{ppad:T}),t._extremes[w._id]=a(w,[d[1],d[3]],{ppad:T})},l.dispose=function(){this.pointcloud.dispose()},t.exports=function(t,e){var r=new s(t,e.uid);return r.update(e),r}},33876:function(t,e,r){"use strict";var n=r(71828),i=r(10959);t.exports=function(t,e,r){function a(r,a){return n.coerce(t,e,i,r,a)}a("x"),a("y"),a("xbounds"),a("ybounds"),t.xy&&t.xy instanceof Float32Array&&(e.xy=t.xy),t.indices&&t.indices instanceof Int32Array&&(e.indices=t.indices),a("text"),a("marker.color",r),a("marker.opacity"),a("marker.blend"),a("marker.sizemin"),a("marker.sizemax"),a("marker.border.color",r),a("marker.border.arearatio"),e._length=null}},20593:function(t,e,r){"use strict";["*pointcloud* trace is deprecated!","Please consider switching to the *scattergl* trace type."].join(" "),t.exports={attributes:r(10959),supplyDefaults:r(33876),calc:r(36563),plot:r(42743),moduleType:"trace",name:"pointcloud",basePlotModule:r(4796),categories:["gl","gl2d","showLegend"],meta:{}}},39953:function(t,e,r){"use strict";var n=r(41940),i=r(9012),a=r(22399),o=r(77914),s=r(27670).Y,l=r(5386).f,u=r(50693),c=r(44467).templatedArray,f=r(12663).descriptionOnlyNumbers,h=r(1426).extendFlat,p=r(30962).overrideAll;(t.exports=p({hoverinfo:h({},i.hoverinfo,{flags:[],arrayOk:!1}),hoverlabel:o.hoverlabel,domain:s({name:"sankey",trace:!0}),orientation:{valType:"enumerated",values:["v","h"],dflt:"h"},valueformat:{valType:"string",dflt:".3s",description:f("value")},valuesuffix:{valType:"string",dflt:""},arrangement:{valType:"enumerated",values:["snap","perpendicular","freeform","fixed"],dflt:"snap"},textfont:n({}),customdata:void 0,node:{label:{valType:"data_array",dflt:[]},groups:{valType:"info_array",impliedEdits:{x:[],y:[]},dimensions:2,freeLength:!0,dflt:[],items:{valType:"number",editType:"calc"}},x:{valType:"data_array",dflt:[]},y:{valType:"data_array",dflt:[]},color:{valType:"color",arrayOk:!0},customdata:{valType:"data_array",editType:"calc"},line:{color:{valType:"color",dflt:a.defaultLine,arrayOk:!0},width:{valType:"number",min:0,dflt:.5,arrayOk:!0}},pad:{valType:"number",arrayOk:!1,min:0,dflt:20},thickness:{valType:"number",arrayOk:!1,min:1,dflt:20},hoverinfo:{valType:"enumerated",values:["all","none","skip"],dflt:"all"},hoverlabel:o.hoverlabel,hovertemplate:l({},{keys:["value","label"]})},link:{arrowlen:{valType:"number",min:0,dflt:0},label:{valType:"data_array",dflt:[]},color:{valType:"color",arrayOk:!0},customdata:{valType:"data_array",editType:"calc"},line:{color:{valType:"color",dflt:a.defaultLine,arrayOk:!0},width:{valType:"number",min:0,dflt:0,arrayOk:!0}},source:{valType:"data_array",dflt:[]},target:{valType:"data_array",dflt:[]},value:{valType:"data_array",dflt:[]},hoverinfo:{valType:"enumerated",values:["all","none","skip"],dflt:"all"},hoverlabel:o.hoverlabel,hovertemplate:l({},{keys:["value","label"]}),colorscales:c("concentrationscales",{editType:"calc",label:{valType:"string",editType:"calc",dflt:""},cmax:{valType:"number",editType:"calc",dflt:1},cmin:{valType:"number",editType:"calc",dflt:0},colorscale:h(u().colorscale,{dflt:[[0,"white"],[1,"black"]]})})}},"calc","nested")).transforms=void 0},75536:function(t,e,r){"use strict";var n=r(30962).overrideAll,i=r(27659).a0,a=r(60436),o=r(528),s=r(6964),l=r(28569),u=r(47322).prepSelect,c=r(71828),f=r(73972),h="sankey";function p(t,e){var r=t._fullData[e],n=t._fullLayout,i=n.dragmode,a="pan"===n.dragmode?"move":"crosshair",o=r._bgRect;if(o&&"pan"!==i&&"zoom"!==i){s(o,a);var h={_id:"x",c2p:c.identity,_offset:r._sankey.translateX,_length:r._sankey.width},p={_id:"y",c2p:c.identity,_offset:r._sankey.translateY,_length:r._sankey.height},d={gd:t,element:o.node(),plotinfo:{id:e,xaxis:h,yaxis:p,fillRangeItems:c.noop},subplot:e,xaxes:[h],yaxes:[p],doneFnCompleted:function(r){var n,i=t._fullData[e],a=i.node.groups.slice(),o=[];function s(t){for(var e=i._sankey.graph.nodes,r=0;r<e.length;r++)if(e[r].pointNumber===t)return e[r]}for(var l=0;l<r.length;l++){var u=s(r[l].pointNumber);if(u)if(u.group){for(var c=0;c<u.childrenNodes.length;c++)o.push(u.childrenNodes[c].pointNumber);a[u.pointNumber-i.node._count]=!1}else o.push(u.pointNumber)}n=a.filter(Boolean).concat([o]),f.call("_guiRestyle",t,{"node.groups":[n]},e)},prepFn:function(t,e,r){u(t,e,r,d,i)}};l.init(d)}}e.name=h,e.baseLayoutAttrOverrides=n({hoverlabel:o.hoverlabel},"plot","nested"),e.plot=function(t){var r=i(t.calcdata,h)[0];a(t,r),e.updateFx(t)},e.clean=function(t,e,r,n){var i=n._has&&n._has(h),a=e._has&&e._has(h);i&&!a&&(n._paperdiv.selectAll(".sankey").remove(),n._paperdiv.selectAll(".bgsankey").remove())},e.updateFx=function(t){for(var e=0;e<t._fullData.length;e++)p(t,e)}},92930:function(t,e,r){"use strict";var n=r(68664),i=r(71828),a=r(28984).wrap,o=i.isArrayOrTypedArray,s=i.isIndex,l=r(21081);t.exports=function(t,e){var r=function(t){var e,r=t.node,a=t.link,u=[],c=o(a.color),f=o(a.customdata),h={},p={},d=a.colorscales.length;for(e=0;e<d;e++){var v=a.colorscales[e],g=l.extractScale(v,{cLetter:"c"}),y=l.makeColorScaleFunc(g);p[v.label]=y}var m=0;for(e=0;e<a.value.length;e++)a.source[e]>m&&(m=a.source[e]),a.target[e]>m&&(m=a.target[e]);var x,b=m+1;t.node._count=b;var _=t.node.groups,w={};for(e=0;e<_.length;e++){var T=_[e];for(x=0;x<T.length;x++){var k=T[x],A=b+e;w.hasOwnProperty(k)?i.warn("Node "+k+" is already part of a group."):w[k]=A}}var M={source:[],target:[]};for(e=0;e<a.value.length;e++){var S=a.value[e],E=a.source[e],L=a.target[e];if(S>0&&s(E,b)&&s(L,b)&&(!w.hasOwnProperty(E)||!w.hasOwnProperty(L)||w[E]!==w[L])){w.hasOwnProperty(L)&&(L=w[L]),w.hasOwnProperty(E)&&(E=w[E]),L=+L,h[E=+E]=h[L]=!0;var C="";a.label&&a.label[e]&&(C=a.label[e]);var P=null;C&&p.hasOwnProperty(C)&&(P=p[C]),u.push({pointNumber:e,label:C,color:c?a.color[e]:a.color,customdata:f?a.customdata[e]:a.customdata,concentrationscale:P,source:E,target:L,value:+S}),M.source.push(E),M.target.push(L)}}var O=b+_.length,I=o(r.color),D=o(r.customdata),z=[];for(e=0;e<O;e++)if(h[e]){var R=r.label[e];z.push({group:e>b-1,childrenNodes:[],pointNumber:e,label:R,color:I?r.color[e]:r.color,customdata:D?r.customdata[e]:r.customdata})}var F=!1;return function(t,e,r){for(var a=i.init2dArray(t,0),o=0;o<Math.min(e.length,r.length);o++)if(i.isIndex(e[o],t)&&i.isIndex(r[o],t)){if(e[o]===r[o])return!0;a[e[o]].push(r[o])}return n(a).components.some((function(t){return t.length>1}))}(O,M.source,M.target)&&(F=!0),{circular:F,links:u,nodes:z,groups:_,groupLookup:w}}(e);return a({circular:r.circular,_nodes:r.nodes,_links:r.links,_groups:r.groups,_groupLookup:r.groupLookup})}},85247:function(t){"use strict";t.exports={nodeTextOffsetHorizontal:4,nodeTextOffsetVertical:3,nodePadAcross:10,sankeyIterations:50,forceIterations:5,forceTicksPerFrame:10,duration:500,ease:"linear",cn:{sankey:"sankey",sankeyLinks:"sankey-links",sankeyLink:"sankey-link",sankeyNodeSet:"sankey-node-set",sankeyNode:"sankey-node",nodeRect:"node-rect",nodeLabel:"node-label"}}},26857:function(t,e,r){"use strict";var n=r(71828),i=r(39953),a=r(7901),o=r(84267),s=r(27670).c,l=r(38048),u=r(44467),c=r(85501);function f(t,e){function r(r,a){return n.coerce(t,e,i.link.colorscales,r,a)}r("label"),r("cmin"),r("cmax"),r("colorscale")}t.exports=function(t,e,r,h){function p(r,a){return n.coerce(t,e,i,r,a)}var d=n.extendDeep(h.hoverlabel,t.hoverlabel),v=t.node,g=u.newContainer(e,"node");function y(t,e){return n.coerce(v,g,i.node,t,e)}y("label"),y("groups"),y("x"),y("y"),y("pad"),y("thickness"),y("line.color"),y("line.width"),y("hoverinfo",t.hoverinfo),l(v,g,y,d),y("hovertemplate");var m=h.colorway;y("color",g.label.map((function(t,e){return a.addOpacity(function(t){return m[t%m.length]}(e),.8)}))),y("customdata");var x=t.link||{},b=u.newContainer(e,"link");function _(t,e){return n.coerce(x,b,i.link,t,e)}_("label"),_("arrowlen"),_("source"),_("target"),_("value"),_("line.color"),_("line.width"),_("hoverinfo",t.hoverinfo),l(x,b,_,d),_("hovertemplate");var w,T=o(h.paper_bgcolor).getLuminance()<.333?"rgba(255, 255, 255, 0.6)":"rgba(0, 0, 0, 0.2)";_("color",n.repeat(T,b.value.length)),_("customdata"),c(x,b,{name:"colorscales",handleItemDefaults:f}),s(e,h,p),p("orientation"),p("valueformat"),p("valuesuffix"),g.x.length&&g.y.length&&(w="freeform"),p("arrangement",w),n.coerceFont(p,"textfont",n.extendFlat({},h.font)),e._length=null}},29396:function(t,e,r){"use strict";t.exports={attributes:r(39953),supplyDefaults:r(26857),calc:r(92930),plot:r(60436),moduleType:"trace",name:"sankey",basePlotModule:r(75536),selectPoints:r(84564),categories:["noOpacity"],meta:{}}},60436:function(t,e,r){"use strict";var n=r(39898),i=r(71828),a=i.numberFormat,o=r(3393),s=r(30211),l=r(7901),u=r(85247).cn,c=i._;function f(t){return""!==t}function h(t,e){return t.filter((function(t){return t.key===e.traceId}))}function p(t,e){n.select(t).select("path").style("fill-opacity",e),n.select(t).select("rect").style("fill-opacity",e)}function d(t){n.select(t).select("text.name").style("fill","black")}function v(t){return function(e){return-1!==t.node.sourceLinks.indexOf(e.link)||-1!==t.node.targetLinks.indexOf(e.link)}}function g(t){return function(e){return-1!==e.node.sourceLinks.indexOf(t.link)||-1!==e.node.targetLinks.indexOf(t.link)}}function y(t,e,r){e&&r&&h(r,e).selectAll("."+u.sankeyLink).filter(v(e)).call(x.bind(0,e,r,!1))}function m(t,e,r){e&&r&&h(r,e).selectAll("."+u.sankeyLink).filter(v(e)).call(b.bind(0,e,r,!1))}function x(t,e,r,n){var i=n.datum().link.label;n.style("fill-opacity",(function(t){if(!t.link.concentrationscale)return.4})),i&&h(e,t).selectAll("."+u.sankeyLink).filter((function(t){return t.link.label===i})).style("fill-opacity",(function(t){if(!t.link.concentrationscale)return.4})),r&&h(e,t).selectAll("."+u.sankeyNode).filter(g(t)).call(y)}function b(t,e,r,n){var i=n.datum().link.label;n.style("fill-opacity",(function(t){return t.tinyColorAlpha})),i&&h(e,t).selectAll("."+u.sankeyLink).filter((function(t){return t.link.label===i})).style("fill-opacity",(function(t){return t.tinyColorAlpha})),r&&h(e,t).selectAll(u.sankeyNode).filter(g(t)).call(m)}function _(t,e){var r=t.hoverlabel||{},n=i.nestedProperty(r,e).get();return!Array.isArray(n)&&n}t.exports=function(t,e){for(var r=t._fullLayout,i=r._paper,h=r._size,v=0;v<t._fullData.length;v++)if(t._fullData[v].visible&&t._fullData[v].type===u.sankey&&!t._fullData[v]._viewInitial){var g=t._fullData[v].node;t._fullData[v]._viewInitial={node:{groups:g.groups.slice(),x:g.x.slice(),y:g.y.slice()}}}var w=c(t,"source:")+" ",T=c(t,"target:")+" ",k=c(t,"concentration:")+" ",A=c(t,"incoming flow count:")+" ",M=c(t,"outgoing flow count:")+" ";o(t,i,e,{width:h.w,height:h.h,margin:{t:h.t,r:h.r,b:h.b,l:h.l}},{linkEvents:{hover:function(e,r,i){!1!==t._fullLayout.hovermode&&(n.select(e).call(x.bind(0,r,i,!0)),"skip"!==r.link.trace.link.hoverinfo&&(r.link.fullData=r.link.trace,t.emit("plotly_hover",{event:n.event,points:[r.link]})))},follow:function(e,i){if(!1!==t._fullLayout.hovermode){var o=i.link.trace.link;if("none"!==o.hoverinfo&&"skip"!==o.hoverinfo){for(var u=[],c=0,h=0;h<i.flow.links.length;h++){var v=i.flow.links[h];if("closest"!==t._fullLayout.hovermode||i.link.pointNumber===v.pointNumber){i.link.pointNumber===v.pointNumber&&(c=h),v.fullData=v.trace,o=i.link.trace.link;var g=m(v),y={valueLabel:a(i.valueFormat)(v.value)+i.valueSuffix};u.push({x:g[0],y:g[1],name:y.valueLabel,text:[v.label||"",w+v.source.label,T+v.target.label,v.concentrationscale?k+a("%0.2f")(v.flow.labelConcentration):""].filter(f).join("<br>"),color:_(o,"bgcolor")||l.addOpacity(v.color,1),borderColor:_(o,"bordercolor"),fontFamily:_(o,"font.family"),fontSize:_(o,"font.size"),fontColor:_(o,"font.color"),nameLength:_(o,"namelength"),textAlign:_(o,"align"),idealAlign:n.event.x<g[0]?"right":"left",hovertemplate:o.hovertemplate,hovertemplateLabels:y,eventData:[v]})}}s.loneHover(u,{container:r._hoverlayer.node(),outerContainer:r._paper.node(),gd:t,anchorIndex:c}).each((function(){i.link.concentrationscale||p(this,.65),d(this)}))}}function m(t){var e,r;t.circular?(e=(t.circularPathData.leftInnerExtent+t.circularPathData.rightInnerExtent)/2,r=t.circularPathData.verticalFullExtent):(e=(t.source.x1+t.target.x0)/2,r=(t.y0+t.y1)/2);var n=[e,r];return"v"===t.trace.orientation&&n.reverse(),n[0]+=i.parent.translateX,n[1]+=i.parent.translateY,n}},unhover:function(e,i,a){!1!==t._fullLayout.hovermode&&(n.select(e).call(b.bind(0,i,a,!0)),"skip"!==i.link.trace.link.hoverinfo&&(i.link.fullData=i.link.trace,t.emit("plotly_unhover",{event:n.event,points:[i.link]})),s.loneUnhover(r._hoverlayer.node()))},select:function(e,r){var i=r.link;i.originalEvent=n.event,t._hoverdata=[i],s.click(t,{target:!0})}},nodeEvents:{hover:function(e,r,i){!1!==t._fullLayout.hovermode&&(n.select(e).call(y,r,i),"skip"!==r.node.trace.node.hoverinfo&&(r.node.fullData=r.node.trace,t.emit("plotly_hover",{event:n.event,points:[r.node]})))},follow:function(e,i){if(!1!==t._fullLayout.hovermode){var o=i.node.trace.node;if("none"!==o.hoverinfo&&"skip"!==o.hoverinfo){var l=n.select(e).select("."+u.nodeRect),c=t._fullLayout._paperdiv.node().getBoundingClientRect(),h=l.node().getBoundingClientRect(),v=h.left-2-c.left,g=h.right+2-c.left,y=h.top+h.height/4-c.top,m={valueLabel:a(i.valueFormat)(i.node.value)+i.valueSuffix};i.node.fullData=i.node.trace,t._fullLayout._calcInverseTransform(t);var x=t._fullLayout._invScaleX,b=t._fullLayout._invScaleY,w=s.loneHover({x0:x*v,x1:x*g,y:b*y,name:a(i.valueFormat)(i.node.value)+i.valueSuffix,text:[i.node.label,A+i.node.targetLinks.length,M+i.node.sourceLinks.length].filter(f).join("<br>"),color:_(o,"bgcolor")||i.tinyColorHue,borderColor:_(o,"bordercolor"),fontFamily:_(o,"font.family"),fontSize:_(o,"font.size"),fontColor:_(o,"font.color"),nameLength:_(o,"namelength"),textAlign:_(o,"align"),idealAlign:"left",hovertemplate:o.hovertemplate,hovertemplateLabels:m,eventData:[i.node]},{container:r._hoverlayer.node(),outerContainer:r._paper.node(),gd:t});p(w,.85),d(w)}}},unhover:function(e,i,a){!1!==t._fullLayout.hovermode&&(n.select(e).call(m,i,a),"skip"!==i.node.trace.node.hoverinfo&&(i.node.fullData=i.node.trace,t.emit("plotly_unhover",{event:n.event,points:[i.node]})),s.loneUnhover(r._hoverlayer.node()))},select:function(e,r,i){var a=r.node;a.originalEvent=n.event,t._hoverdata=[a],n.select(e).call(m,r,i),s.click(t,{target:!0})}}})}},3393:function(t,e,r){"use strict";var n=r(49887),i=r(29502).k4,a=r(39898),o=r(30838),s=r(86781),l=r(85247),u=r(84267),c=r(7901),f=r(91424),h=r(71828),p=h.strTranslate,d=h.strRotate,v=r(28984),g=v.keyFun,y=v.repeat,m=v.unwrap,x=r(63893),b=r(73972),_=r(18783),w=_.CAP_SHIFT,T=_.LINE_SPACING;function k(t,e,r){var n,i=m(e),a=i.trace,c=a.domain,f="h"===a.orientation,p=a.node.pad,d=a.node.thickness,v=t.width*(c.x[1]-c.x[0]),g=t.height*(c.y[1]-c.y[0]),y=i._nodes,x=i._links,b=i.circular;(n=b?s.sankeyCircular().circularLinkGap(0):o.sankey()).iterations(l.sankeyIterations).size(f?[v,g]:[g,v]).nodeWidth(d).nodePadding(p).nodeId((function(t){return t.pointNumber})).nodes(y).links(x);var _,w,T,k=n();for(var A in n.nodePadding()<p&&h.warn("node.pad was reduced to ",n.nodePadding()," to fit within the figure."),i._groupLookup){var M,S=parseInt(i._groupLookup[A]);for(_=0;_<k.nodes.length;_++)if(k.nodes[_].pointNumber===S){M=k.nodes[_];break}if(M){var E={pointNumber:parseInt(A),x0:M.x0,x1:M.x1,y0:M.y0,y1:M.y1,partOfGroup:!0,sourceLinks:[],targetLinks:[]};k.nodes.unshift(E),M.childrenNodes.unshift(E)}}if(function(){for(_=0;_<k.nodes.length;_++){var t,e,r=k.nodes[_],n={};for(w=0;w<r.targetLinks.length;w++)t=(e=r.targetLinks[w]).source.pointNumber+":"+e.target.pointNumber,n.hasOwnProperty(t)||(n[t]=[]),n[t].push(e);var i=Object.keys(n);for(w=0;w<i.length;w++){var a=n[t=i[w]],o=0,s={};for(T=0;T<a.length;T++)s[(e=a[T]).label]||(s[e.label]=0),s[e.label]+=e.value,o+=e.value;for(T=0;T<a.length;T++)(e=a[T]).flow={value:o,labelConcentration:s[e.label]/o,concentration:e.value/o,links:a},e.concentrationscale&&(e.color=u(e.concentrationscale(e.flow.labelConcentration)))}var l=0;for(w=0;w<r.sourceLinks.length;w++)l+=r.sourceLinks[w].value;for(w=0;w<r.sourceLinks.length;w++)(e=r.sourceLinks[w]).concentrationOut=e.value/l;var c=0;for(w=0;w<r.targetLinks.length;w++)c+=r.targetLinks[w].value;for(w=0;w<r.targetLinks.length;w++)(e=r.targetLinks[w]).concenrationIn=e.value/c}}(),a.node.x.length&&a.node.y.length){for(_=0;_<Math.min(a.node.x.length,a.node.y.length,k.nodes.length);_++)if(a.node.x[_]&&a.node.y[_]){var L=[a.node.x[_]*v,a.node.y[_]*g];k.nodes[_].x0=L[0]-d/2,k.nodes[_].x1=L[0]+d/2;var C=k.nodes[_].y1-k.nodes[_].y0;k.nodes[_].y0=L[1]-C/2,k.nodes[_].y1=L[1]+C/2}"snap"===a.arrangement&&function(t){var e,r,n=t.map((function(t,e){return{x0:t.x0,index:e}})).sort((function(t,e){return t.x0-e.x0})),i=[],a=-1,o=-1/0;for(_=0;_<n.length;_++){var s=t[n[_].index];s.x0>o+d&&(a+=1,e=s.x0),o=s.x0,i[a]||(i[a]=[]),i[a].push(s),r=e-s.x0,s.x0+=r,s.x1+=r}return i}(y=k.nodes).forEach((function(t){var e,r,n,i=0,a=t.length;for(t.sort((function(t,e){return t.y0-e.y0})),n=0;n<a;++n)(e=t[n]).y0>=i||(r=i-e.y0)>1e-6&&(e.y0+=r,e.y1+=r),i=e.y1+p})),n.update(k)}return{circular:b,key:r,trace:a,guid:h.randstr(),horizontal:f,width:v,height:g,nodePad:a.node.pad,nodeLineColor:a.node.line.color,nodeLineWidth:a.node.line.width,linkLineColor:a.link.line.color,linkLineWidth:a.link.line.width,linkArrowLength:a.link.arrowlen,valueFormat:a.valueformat,valueSuffix:a.valuesuffix,textFont:a.textfont,translateX:c.x[0]*t.width+t.margin.l,translateY:t.height-c.y[1]*t.height+t.margin.t,dragParallel:f?g:v,dragPerpendicular:f?v:g,arrangement:a.arrangement,sankey:n,graph:k,forceLayouts:{},interactionState:{dragInProgress:!1,hovered:!1}}}function A(t,e,r){var n=u(e.color),i=e.source.label+"|"+e.target.label+"__"+r;return e.trace=t.trace,e.curveNumber=t.trace.index,{circular:t.circular,key:i,traceId:t.key,pointNumber:e.pointNumber,link:e,tinyColorHue:c.tinyRGB(n),tinyColorAlpha:n.getAlpha(),linkPath:M,linkLineColor:t.linkLineColor,linkLineWidth:t.linkLineWidth,linkArrowLength:t.linkArrowLength,valueFormat:t.valueFormat,valueSuffix:t.valueSuffix,sankey:t.sankey,parent:t,interactionState:t.interactionState,flow:e.flow}}function M(){return function(t){var e=t.linkArrowLength;if(t.link.circular)return function(t,e){var r=t.width/2,n=t.circularPathData;return"top"===t.circularLinkType?"M "+(n.targetX-e)+" "+(n.targetY+r)+" L"+(n.rightInnerExtent-e)+" "+(n.targetY+r)+"A"+(n.rightLargeArcRadius+r)+" "+(n.rightSmallArcRadius+r)+" 0 0 1 "+(n.rightFullExtent-r-e)+" "+(n.targetY-n.rightSmallArcRadius)+"L"+(n.rightFullExtent-r-e)+" "+n.verticalRightInnerExtent+"A"+(n.rightLargeArcRadius+r)+" "+(n.rightLargeArcRadius+r)+" 0 0 1 "+(n.rightInnerExtent-e)+" "+(n.verticalFullExtent-r)+"L"+n.leftInnerExtent+" "+(n.verticalFullExtent-r)+"A"+(n.leftLargeArcRadius+r)+" "+(n.leftLargeArcRadius+r)+" 0 0 1 "+(n.leftFullExtent+r)+" "+n.verticalLeftInnerExtent+"L"+(n.leftFullExtent+r)+" "+(n.sourceY-n.leftSmallArcRadius)+"A"+(n.leftLargeArcRadius+r)+" "+(n.leftSmallArcRadius+r)+" 0 0 1 "+n.leftInnerExtent+" "+(n.sourceY+r)+"L"+n.sourceX+" "+(n.sourceY+r)+"L"+n.sourceX+" "+(n.sourceY-r)+"L"+n.leftInnerExtent+" "+(n.sourceY-r)+"A"+(n.leftLargeArcRadius-r)+" "+(n.leftSmallArcRadius-r)+" 0 0 0 "+(n.leftFullExtent-r)+" "+(n.sourceY-n.leftSmallArcRadius)+"L"+(n.leftFullExtent-r)+" "+n.verticalLeftInnerExtent+"A"+(n.leftLargeArcRadius-r)+" "+(n.leftLargeArcRadius-r)+" 0 0 0 "+n.leftInnerExtent+" "+(n.verticalFullExtent+r)+"L"+(n.rightInnerExtent-e)+" "+(n.verticalFullExtent+r)+"A"+(n.rightLargeArcRadius-r)+" "+(n.rightLargeArcRadius-r)+" 0 0 0 "+(n.rightFullExtent+r-e)+" "+n.verticalRightInnerExtent+"L"+(n.rightFullExtent+r-e)+" "+(n.targetY-n.rightSmallArcRadius)+"A"+(n.rightLargeArcRadius-r)+" "+(n.rightSmallArcRadius-r)+" 0 0 0 "+(n.rightInnerExtent-e)+" "+(n.targetY-r)+"L"+(n.targetX-e)+" "+(n.targetY-r)+(e>0?"L"+n.targetX+" "+n.targetY:"")+"Z":"M "+(n.targetX-e)+" "+(n.targetY-r)+" L"+(n.rightInnerExtent-e)+" "+(n.targetY-r)+"A"+(n.rightLargeArcRadius+r)+" "+(n.rightSmallArcRadius+r)+" 0 0 0 "+(n.rightFullExtent-r-e)+" "+(n.targetY+n.rightSmallArcRadius)+"L"+(n.rightFullExtent-r-e)+" "+n.verticalRightInnerExtent+"A"+(n.rightLargeArcRadius+r)+" "+(n.rightLargeArcRadius+r)+" 0 0 0 "+(n.rightInnerExtent-e)+" "+(n.verticalFullExtent+r)+"L"+n.leftInnerExtent+" "+(n.verticalFullExtent+r)+"A"+(n.leftLargeArcRadius+r)+" "+(n.leftLargeArcRadius+r)+" 0 0 0 "+(n.leftFullExtent+r)+" "+n.verticalLeftInnerExtent+"L"+(n.leftFullExtent+r)+" "+(n.sourceY+n.leftSmallArcRadius)+"A"+(n.leftLargeArcRadius+r)+" "+(n.leftSmallArcRadius+r)+" 0 0 0 "+n.leftInnerExtent+" "+(n.sourceY-r)+"L"+n.sourceX+" "+(n.sourceY-r)+"L"+n.sourceX+" "+(n.sourceY+r)+"L"+n.leftInnerExtent+" "+(n.sourceY+r)+"A"+(n.leftLargeArcRadius-r)+" "+(n.leftSmallArcRadius-r)+" 0 0 1 "+(n.leftFullExtent-r)+" "+(n.sourceY+n.leftSmallArcRadius)+"L"+(n.leftFullExtent-r)+" "+n.verticalLeftInnerExtent+"A"+(n.leftLargeArcRadius-r)+" "+(n.leftLargeArcRadius-r)+" 0 0 1 "+n.leftInnerExtent+" "+(n.verticalFullExtent-r)+"L"+(n.rightInnerExtent-e)+" "+(n.verticalFullExtent-r)+"A"+(n.rightLargeArcRadius-r)+" "+(n.rightLargeArcRadius-r)+" 0 0 1 "+(n.rightFullExtent+r-e)+" "+n.verticalRightInnerExtent+"L"+(n.rightFullExtent+r-e)+" "+(n.targetY+n.rightSmallArcRadius)+"A"+(n.rightLargeArcRadius-r)+" "+(n.rightSmallArcRadius-r)+" 0 0 1 "+(n.rightInnerExtent-e)+" "+(n.targetY+r)+"L"+(n.targetX-e)+" "+(n.targetY+r)+(e>0?"L"+n.targetX+" "+n.targetY:"")+"Z"}(t.link,e);var r=Math.abs((t.link.target.x0-t.link.source.x1)/2);e>r&&(e=r);var n=t.link.source.x1,a=t.link.target.x0-e,o=i(n,a),s=o(.5),l=o(.5),u=t.link.y0-t.link.width/2,c=t.link.y0+t.link.width/2,f=t.link.y1-t.link.width/2,h=t.link.y1+t.link.width/2,p="M"+n+","+u,d="C"+s+","+u+" "+l+","+f+" "+a+","+f,v="C"+l+","+h+" "+s+","+c+" "+n+","+c,g=e>0?"L"+(a+e)+","+(f+t.link.width/2):"";return p+d+(g+="L"+a+","+h)+v+"Z"}}function S(t,e){var r=u(e.color),n=l.nodePadAcross,i=t.nodePad/2;e.dx=e.x1-e.x0,e.dy=e.y1-e.y0;var a=e.dx,o=Math.max(.5,e.dy),s="node_"+e.pointNumber;return e.group&&(s=h.randstr()),e.trace=t.trace,e.curveNumber=t.trace.index,{index:e.pointNumber,key:s,partOfGroup:e.partOfGroup||!1,group:e.group,traceId:t.key,trace:t.trace,node:e,nodePad:t.nodePad,nodeLineColor:t.nodeLineColor,nodeLineWidth:t.nodeLineWidth,textFont:t.textFont,size:t.horizontal?t.height:t.width,visibleWidth:Math.ceil(a),visibleHeight:o,zoneX:-n,zoneY:-i,zoneWidth:a+2*n,zoneHeight:o+2*i,labelY:t.horizontal?e.dy/2+1:e.dx/2+1,left:1===e.originalLayer,sizeAcross:t.width,forceLayouts:t.forceLayouts,horizontal:t.horizontal,darkBackground:r.getBrightness()<=128,tinyColorHue:c.tinyRGB(r),tinyColorAlpha:r.getAlpha(),valueFormat:t.valueFormat,valueSuffix:t.valueSuffix,sankey:t.sankey,graph:t.graph,arrangement:t.arrangement,uniqueNodeLabelPathId:[t.guid,t.key,s].join("_"),interactionState:t.interactionState,figure:t}}function E(t){t.attr("transform",(function(t){return p(t.node.x0.toFixed(3),t.node.y0.toFixed(3))}))}function L(t){t.call(E)}function C(t,e){t.call(L),e.attr("d",M())}function P(t){t.attr("width",(function(t){return t.node.x1-t.node.x0})).attr("height",(function(t){return t.visibleHeight}))}function O(t){return t.link.width>1||t.linkLineWidth>0}function I(t){return p(t.translateX,t.translateY)+(t.horizontal?"matrix(1 0 0 1 0 0)":"matrix(0 1 1 0 0 0)")}function D(t,e,r){t.on(".basic",null).on("mouseover.basic",(function(t){t.interactionState.dragInProgress||t.partOfGroup||(r.hover(this,t,e),t.interactionState.hovered=[this,t])})).on("mousemove.basic",(function(t){t.interactionState.dragInProgress||t.partOfGroup||(r.follow(this,t),t.interactionState.hovered=[this,t])})).on("mouseout.basic",(function(t){t.interactionState.dragInProgress||t.partOfGroup||(r.unhover(this,t,e),t.interactionState.hovered=!1)})).on("click.basic",(function(t){t.interactionState.hovered&&(r.unhover(this,t,e),t.interactionState.hovered=!1),t.interactionState.dragInProgress||t.partOfGroup||r.select(this,t,e)}))}function z(t,e,r,i){var o=a.behavior.drag().origin((function(t){return{x:t.node.x0+t.visibleWidth/2,y:t.node.y0+t.visibleHeight/2}})).on("dragstart",(function(a){if("fixed"!==a.arrangement&&(h.ensureSingle(i._fullLayout._infolayer,"g","dragcover",(function(t){i._fullLayout._dragCover=t})),h.raiseToTop(this),a.interactionState.dragInProgress=a.node,F(a.node),a.interactionState.hovered&&(r.nodeEvents.unhover.apply(0,a.interactionState.hovered),a.interactionState.hovered=!1),"snap"===a.arrangement)){var o=a.traceId+"|"+a.key;a.forceLayouts[o]?a.forceLayouts[o].alpha(1):function(t,e,r,i){!function(t){for(var e=0;e<t.length;e++)t[e].y=(t[e].y0+t[e].y1)/2,t[e].x=(t[e].x0+t[e].x1)/2}(r.graph.nodes);var a=r.graph.nodes.filter((function(t){return t.originalX===r.node.originalX})).filter((function(t){return!t.partOfGroup}));r.forceLayouts[e]=n.forceSimulation(a).alphaDecay(0).force("collide",n.forceCollide().radius((function(t){return t.dy/2+r.nodePad/2})).strength(1).iterations(l.forceIterations)).force("constrain",function(t,e,r,n){return function(){for(var t=0,i=0;i<r.length;i++){var a=r[i];a===n.interactionState.dragInProgress?(a.x=a.lastDraggedX,a.y=a.lastDraggedY):(a.vx=(a.originalX-a.x)/l.forceTicksPerFrame,a.y=Math.min(n.size-a.dy/2,Math.max(a.dy/2,a.y))),t=Math.max(t,Math.abs(a.vx),Math.abs(a.vy))}!n.interactionState.dragInProgress&&t<.1&&n.forceLayouts[e].alpha()>0&&n.forceLayouts[e].alpha(0)}}(0,e,a,r)).stop()}(0,o,a),function(t,e,r,n,i){window.requestAnimationFrame((function a(){var o;for(o=0;o<l.forceTicksPerFrame;o++)r.forceLayouts[n].tick();if(function(t){for(var e=0;e<t.length;e++)t[e].y0=t[e].y-t[e].dy/2,t[e].y1=t[e].y0+t[e].dy,t[e].x0=t[e].x-t[e].dx/2,t[e].x1=t[e].x0+t[e].dx}(r.graph.nodes),r.sankey.update(r.graph),C(t.filter(B(r)),e),r.forceLayouts[n].alpha()>0)window.requestAnimationFrame(a);else{var s=r.node.originalX;r.node.x0=s-r.visibleWidth/2,r.node.x1=s+r.visibleWidth/2,R(r,i)}}))}(t,e,a,o,i)}})).on("drag",(function(r){if("fixed"!==r.arrangement){var n=a.event.x,i=a.event.y;"snap"===r.arrangement?(r.node.x0=n-r.visibleWidth/2,r.node.x1=n+r.visibleWidth/2,r.node.y0=i-r.visibleHeight/2,r.node.y1=i+r.visibleHeight/2):("freeform"===r.arrangement&&(r.node.x0=n-r.visibleWidth/2,r.node.x1=n+r.visibleWidth/2),i=Math.max(0,Math.min(r.size-r.visibleHeight/2,i)),r.node.y0=i-r.visibleHeight/2,r.node.y1=i+r.visibleHeight/2),F(r.node),"snap"!==r.arrangement&&(r.sankey.update(r.graph),C(t.filter(B(r)),e))}})).on("dragend",(function(t){if("fixed"!==t.arrangement){t.interactionState.dragInProgress=!1;for(var e=0;e<t.node.childrenNodes.length;e++)t.node.childrenNodes[e].x=t.node.x,t.node.childrenNodes[e].y=t.node.y;"snap"!==t.arrangement&&R(t,i)}}));t.on(".drag",null).call(o)}function R(t,e){for(var r=[],n=[],i=0;i<t.graph.nodes.length;i++){var a=(t.graph.nodes[i].x0+t.graph.nodes[i].x1)/2,o=(t.graph.nodes[i].y0+t.graph.nodes[i].y1)/2;r.push(a/t.figure.width),n.push(o/t.figure.height)}b.call("_guiRestyle",e,{"node.x":[r],"node.y":[n]},t.trace.index).then((function(){e._fullLayout._dragCover&&e._fullLayout._dragCover.remove()}))}function F(t){t.lastDraggedX=t.x0+t.dx/2,t.lastDraggedY=t.y0+t.dy/2}function B(t){return function(e){return e.node.originalX===t.node.originalX}}t.exports=function(t,e,r,n,i){var o=t._context.staticPlot,s=!1;h.ensureSingle(t._fullLayout._infolayer,"g","first-render",(function(){s=!0}));var v=t._fullLayout._dragCover,b=r.filter((function(t){return m(t).trace.visible})).map(k.bind(null,n)),_=e.selectAll("."+l.cn.sankey).data(b,g);_.exit().remove(),_.enter().append("g").classed(l.cn.sankey,!0).style("box-sizing","content-box").style("position","absolute").style("left",0).style("shape-rendering","geometricPrecision").style("pointer-events",o?"none":"auto").attr("transform",I),_.each((function(e,r){t._fullData[r]._sankey=e;var n="bgsankey-"+e.trace.uid+"-"+r;h.ensureSingle(t._fullLayout._draggers,"rect",n),t._fullData[r]._bgRect=a.select("."+n),t._fullData[r]._bgRect.style("pointer-events",o?"none":"all").attr("width",e.width).attr("height",e.height).attr("x",e.translateX).attr("y",e.translateY).classed("bgsankey",!0).style({fill:"transparent","stroke-width":0})})),_.transition().ease(l.ease).duration(l.duration).attr("transform",I);var L=_.selectAll("."+l.cn.sankeyLinks).data(y,g);L.enter().append("g").classed(l.cn.sankeyLinks,!0).style("fill","none");var C=L.selectAll("."+l.cn.sankeyLink).data((function(t){return t.graph.links.filter((function(t){return t.value})).map(A.bind(null,t))}),g);C.enter().append("path").classed(l.cn.sankeyLink,!0).call(D,_,i.linkEvents),C.style("stroke",(function(t){return O(t)?c.tinyRGB(u(t.linkLineColor)):t.tinyColorHue})).style("stroke-opacity",(function(t){return O(t)?c.opacity(t.linkLineColor):t.tinyColorAlpha})).style("fill",(function(t){return t.tinyColorHue})).style("fill-opacity",(function(t){return t.tinyColorAlpha})).style("stroke-width",(function(t){return O(t)?t.linkLineWidth:1})).attr("d",M()),C.style("opacity",(function(){return t._context.staticPlot||s||v?1:0})).transition().ease(l.ease).duration(l.duration).style("opacity",1),C.exit().transition().ease(l.ease).duration(l.duration).style("opacity",0).remove();var R=_.selectAll("."+l.cn.sankeyNodeSet).data(y,g);R.enter().append("g").classed(l.cn.sankeyNodeSet,!0),R.style("cursor",(function(t){switch(t.arrangement){case"fixed":return"default";case"perpendicular":return"ns-resize";default:return"move"}}));var F=R.selectAll("."+l.cn.sankeyNode).data((function(t){var e=t.graph.nodes;return function(t){var e,r=[];for(e=0;e<t.length;e++)t[e].originalX=(t[e].x0+t[e].x1)/2,t[e].originalY=(t[e].y0+t[e].y1)/2,-1===r.indexOf(t[e].originalX)&&r.push(t[e].originalX);for(r.sort((function(t,e){return t-e})),e=0;e<t.length;e++)t[e].originalLayerIndex=r.indexOf(t[e].originalX),t[e].originalLayer=t[e].originalLayerIndex/(r.length-1)}(e),e.map(S.bind(null,t))}),g);F.enter().append("g").classed(l.cn.sankeyNode,!0).call(E).style("opacity",(function(e){return!t._context.staticPlot&&!s||e.partOfGroup?0:1})),F.call(D,_,i.nodeEvents).call(z,C,i,t),F.transition().ease(l.ease).duration(l.duration).call(E).style("opacity",(function(t){return t.partOfGroup?0:1})),F.exit().transition().ease(l.ease).duration(l.duration).style("opacity",0).remove();var B=F.selectAll("."+l.cn.nodeRect).data(y);B.enter().append("rect").classed(l.cn.nodeRect,!0).call(P),B.style("stroke-width",(function(t){return t.nodeLineWidth})).style("stroke",(function(t){return c.tinyRGB(u(t.nodeLineColor))})).style("stroke-opacity",(function(t){return c.opacity(t.nodeLineColor)})).style("fill",(function(t){return t.tinyColorHue})).style("fill-opacity",(function(t){return t.tinyColorAlpha})),B.transition().ease(l.ease).duration(l.duration).call(P);var N=F.selectAll("."+l.cn.nodeLabel).data(y);N.enter().append("text").classed(l.cn.nodeLabel,!0).style("cursor","default"),N.attr("data-notex",1).text((function(t){return t.node.label})).each((function(e){var r=a.select(this);f.font(r,e.textFont),x.convertToTspans(r,t)})).style("text-shadow",x.makeTextShadow(t._fullLayout.paper_bgcolor)).attr("text-anchor",(function(t){return t.horizontal&&t.left?"end":"start"})).attr("transform",(function(t){var e=a.select(this),r=x.lineCount(e),n=t.textFont.size*((r-1)*T-w),i=t.nodeLineWidth/2+3,o=((t.horizontal?t.visibleHeight:t.visibleWidth)-n)/2;t.horizontal&&(t.left?i=-i:i+=t.visibleWidth);var s=t.horizontal?"":"scale(-1,1)"+d(90);return p(t.horizontal?i:o,t.horizontal?o:i)+s})),N.transition().ease(l.ease).duration(l.duration)}},84564:function(t){"use strict";t.exports=function(t,e){for(var r=[],n=t.cd[0].trace,i=n._sankey.graph.nodes,a=0;a<i.length;a++){var o=i[a];if(!o.partOfGroup){var s=[(o.x0+o.x1)/2,(o.y0+o.y1)/2];"v"===n.orientation&&s.reverse(),e&&e.contains(s,!1,a,t)&&r.push({pointNumber:o.pointNumber})}}return r}},75225:function(t,e,r){"use strict";var n=r(71828);t.exports=function(t,e){for(var r=0;r<t.length;r++)t[r].i=r;n.mergeArray(e.text,t,"tx"),n.mergeArray(e.texttemplate,t,"txt"),n.mergeArray(e.hovertext,t,"htx"),n.mergeArray(e.customdata,t,"data"),n.mergeArray(e.textposition,t,"tp"),e.textfont&&(n.mergeArrayCastPositive(e.textfont.size,t,"ts"),n.mergeArray(e.textfont.color,t,"tc"),n.mergeArray(e.textfont.family,t,"tf"));var i=e.marker;if(i){n.mergeArrayCastPositive(i.size,t,"ms"),n.mergeArrayCastPositive(i.opacity,t,"mo"),n.mergeArray(i.symbol,t,"mx"),n.mergeArray(i.angle,t,"ma"),n.mergeArray(i.standoff,t,"mf"),n.mergeArray(i.color,t,"mc");var a=i.line;i.line&&(n.mergeArray(a.color,t,"mlc"),n.mergeArrayCastPositive(a.width,t,"mlw"));var o=i.gradient;o&&"none"!==o.type&&(n.mergeArray(o.type,t,"mgt"),n.mergeArray(o.color,t,"mgc"))}}},82196:function(t,e,r){"use strict";var n=r(12663).axisHoverFormat,i=r(5386).s,a=r(5386).f,o=r(50693),s=r(41940),l=r(79952).P,u=r(79952).u,c=r(91424),f=r(47581),h=r(1426).extendFlat;t.exports={x:{valType:"data_array",editType:"calc+clearAxisTypes",anim:!0},x0:{valType:"any",dflt:0,editType:"calc+clearAxisTypes",anim:!0},dx:{valType:"number",dflt:1,editType:"calc",anim:!0},y:{valType:"data_array",editType:"calc+clearAxisTypes",anim:!0},y0:{valType:"any",dflt:0,editType:"calc+clearAxisTypes",anim:!0},dy:{valType:"number",dflt:1,editType:"calc",anim:!0},xperiod:{valType:"any",dflt:0,editType:"calc"},yperiod:{valType:"any",dflt:0,editType:"calc"},xperiod0:{valType:"any",editType:"calc"},yperiod0:{valType:"any",editType:"calc"},xperiodalignment:{valType:"enumerated",values:["start","middle","end"],dflt:"middle",editType:"calc"},yperiodalignment:{valType:"enumerated",values:["start","middle","end"],dflt:"middle",editType:"calc"},xhoverformat:n("x"),yhoverformat:n("y"),offsetgroup:{valType:"string",dflt:"",editType:"calc"},alignmentgroup:{valType:"string",dflt:"",editType:"calc"},stackgroup:{valType:"string",dflt:"",editType:"calc"},orientation:{valType:"enumerated",values:["v","h"],editType:"calc"},groupnorm:{valType:"enumerated",values:["","fraction","percent"],dflt:"",editType:"calc"},stackgaps:{valType:"enumerated",values:["infer zero","interpolate"],dflt:"infer zero",editType:"calc"},text:{valType:"string",dflt:"",arrayOk:!0,editType:"calc"},texttemplate:i({},{}),hovertext:{valType:"string",dflt:"",arrayOk:!0,editType:"style"},mode:{valType:"flaglist",flags:["lines","markers","text"],extras:["none"],editType:"calc"},hoveron:{valType:"flaglist",flags:["points","fills"],editType:"style"},hovertemplate:a({},{keys:f.eventDataKeys}),line:{color:{valType:"color",editType:"style",anim:!0},width:{valType:"number",min:0,dflt:2,editType:"style",anim:!0},shape:{valType:"enumerated",values:["linear","spline","hv","vh","hvh","vhv"],dflt:"linear",editType:"plot"},smoothing:{valType:"number",min:0,max:1.3,dflt:1,editType:"plot"},dash:h({},l,{editType:"style"}),backoff:{valType:"number",min:0,dflt:"auto",arrayOk:!0,editType:"plot"},simplify:{valType:"boolean",dflt:!0,editType:"plot"},editType:"plot"},connectgaps:{valType:"boolean",dflt:!1,editType:"calc"},cliponaxis:{valType:"boolean",dflt:!0,editType:"plot"},fill:{valType:"enumerated",values:["none","tozeroy","tozerox","tonexty","tonextx","toself","tonext"],editType:"calc"},fillcolor:{valType:"color",editType:"style",anim:!0},fillpattern:u,marker:h({symbol:{valType:"enumerated",values:c.symbolList,dflt:"circle",arrayOk:!0,editType:"style"},opacity:{valType:"number",min:0,max:1,arrayOk:!0,editType:"style",anim:!0},angle:{valType:"angle",dflt:0,arrayOk:!0,editType:"plot",anim:!1},angleref:{valType:"enumerated",values:["previous","up"],dflt:"up",editType:"plot",anim:!1},standoff:{valType:"number",min:0,dflt:0,arrayOk:!0,editType:"plot",anim:!0},size:{valType:"number",min:0,dflt:6,arrayOk:!0,editType:"calc",anim:!0},maxdisplayed:{valType:"number",min:0,dflt:0,editType:"plot"},sizeref:{valType:"number",dflt:1,editType:"calc"},sizemin:{valType:"number",min:0,dflt:0,editType:"calc"},sizemode:{valType:"enumerated",values:["diameter","area"],dflt:"diameter",editType:"calc"},line:h({width:{valType:"number",min:0,arrayOk:!0,editType:"style",anim:!0},editType:"calc"},o("marker.line",{anim:!0})),gradient:{type:{valType:"enumerated",values:["radial","horizontal","vertical","none"],arrayOk:!0,dflt:"none",editType:"calc"},color:{valType:"color",arrayOk:!0,editType:"calc"},editType:"calc"},editType:"calc"},o("marker",{anim:!0})),selected:{marker:{opacity:{valType:"number",min:0,max:1,editType:"style"},color:{valType:"color",editType:"style"},size:{valType:"number",min:0,editType:"style"},editType:"style"},textfont:{color:{valType:"color",editType:"style"},editType:"style"},editType:"style"},unselected:{marker:{opacity:{valType:"number",min:0,max:1,editType:"style"},color:{valType:"color",editType:"style"},size:{valType:"number",min:0,editType:"style"},editType:"style"},textfont:{color:{valType:"color",editType:"style"},editType:"style"},editType:"style"},textposition:{valType:"enumerated",values:["top left","top center","top right","middle left","middle center","middle right","bottom left","bottom center","bottom right"],dflt:"middle center",arrayOk:!0,editType:"calc"},textfont:s({editType:"calc",colorEditType:"style",arrayOk:!0})}},47761:function(t,e,r){"use strict";var n=r(92770),i=r(71828),a=r(89298),o=r(42973),s=r(50606).BADNUM,l=r(34098),u=r(36922),c=r(75225),f=r(66279);function h(t,e,r,n,i,o,s){var u=e._length,c=t._fullLayout,f=r._id,h=n._id,p=c._firstScatter[v(e)]===e.uid,d=(g(e,c,r,n)||{}).orientation,y=e.fill;r._minDtick=0,n._minDtick=0;var m={padded:!0},x={padded:!0};s&&(m.ppad=x.ppad=s);var b=u<2||i[0]!==i[u-1]||o[0]!==o[u-1];b&&("tozerox"===y||"tonextx"===y&&(p||"h"===d))?m.tozero=!0:(e.error_y||{}).visible||"tonexty"!==y&&"tozeroy"!==y&&(l.hasMarkers(e)||l.hasText(e))||(m.padded=!1,m.ppad=0),b&&("tozeroy"===y||"tonexty"===y&&(p||"v"===d))?x.tozero=!0:"tonextx"!==y&&"tozerox"!==y||(x.padded=!1),f&&(e._extremes[f]=a.findExtremes(r,i,m)),h&&(e._extremes[h]=a.findExtremes(n,o,x))}function p(t,e){if(l.hasMarkers(t)){var r,n=t.marker,o=1.6*(t.marker.sizeref||1);if(r="area"===t.marker.sizemode?function(t){return Math.max(Math.sqrt((t||0)/o),3)}:function(t){return Math.max((t||0)/o,3)},i.isArrayOrTypedArray(n.size)){var s={type:"linear"};a.setConvert(s);for(var u=s.makeCalcdata(t.marker,"size"),c=new Array(e),f=0;f<e;f++)c[f]=r(u[f]);return c}return r(n.size)}}function d(t,e){var r=v(e),n=t._firstScatter;n[r]||(n[r]=e.uid)}function v(t){var e=t.stackgroup;return t.xaxis+t.yaxis+t.type+(e?"-"+e:"")}function g(t,e,r,n){var i=t.stackgroup;if(i){var a=e._scatterStackOpts[r._id+n._id][i],o="v"===a.orientation?n:r;return"linear"===o.type||"log"===o.type?a:void 0}}t.exports={calc:function(t,e){var r,l,v,y,m,x,b=t._fullLayout,_=e._xA=a.getFromId(t,e.xaxis||"x","x"),w=e._yA=a.getFromId(t,e.yaxis||"y","y"),T=_.makeCalcdata(e,"x"),k=w.makeCalcdata(e,"y"),A=o(e,_,"x",T),M=o(e,w,"y",k),S=A.vals,E=M.vals,L=e._length,C=new Array(L),P=e.ids,O=g(e,b,_,w),I=!1;d(b,e);var D,z="x",R="y";O?(i.pushUnique(O.traceIndices,e._expandedIndex),(r="v"===O.orientation)?(R="s",D="x"):(z="s",D="y"),m="interpolate"===O.stackgaps):h(t,e,_,w,S,E,p(e,L));var F=!!e.xperiodalignment,B=!!e.yperiodalignment;for(l=0;l<L;l++){var N=C[l]={},j=n(S[l]),U=n(E[l]);j&&U?(N[z]=S[l],N[R]=E[l],F&&(N.orig_x=T[l],N.xEnd=A.ends[l],N.xStart=A.starts[l]),B&&(N.orig_y=k[l],N.yEnd=M.ends[l],N.yStart=M.starts[l])):O&&(r?j:U)?(N[D]=r?S[l]:E[l],N.gap=!0,m?(N.s=s,I=!0):N.s=0):N[z]=N[R]=s,P&&(N.id=String(P[l]))}if(c(C,e),u(t,e),f(C,e),O){for(l=0;l<C.length;)C[l][D]===s?C.splice(l,1):l++;if(i.sort(C,(function(t,e){return t[D]-e[D]||t.i-e.i})),I){for(l=0;l<C.length-1&&C[l].gap;)l++;for((x=C[l].s)||(x=C[l].s=0),v=0;v<l;v++)C[v].s=x;for(y=C.length-1;y>l&&C[y].gap;)y--;for(x=C[y].s,v=C.length-1;v>y;v--)C[v].s=x;for(;l<y;)if(C[++l].gap){for(v=l+1;C[v].gap;)v++;for(var V=C[l-1][D],H=C[l-1].s,q=(C[v].s-H)/(C[v][D]-V);l<v;)C[l].s=H+(C[l][D]-V)*q,l++}}}return C},calcMarkerSize:p,calcAxisExpansion:h,setFirstScatter:d,getStackOpts:g}},66279:function(t,e,r){"use strict";var n=r(71828);t.exports=function(t,e){n.isArrayOrTypedArray(e.selectedpoints)&&n.tagSelected(t,e)}},36922:function(t,e,r){"use strict";var n=r(52075).hasColorscale,i=r(78803),a=r(34098);t.exports=function(t,e){a.hasLines(e)&&n(e,"line")&&i(t,e,{vals:e.line.color,containerStr:"line",cLetter:"c"}),a.hasMarkers(e)&&(n(e,"marker")&&i(t,e,{vals:e.marker.color,containerStr:"marker",cLetter:"c"}),n(e,"marker.line")&&i(t,e,{vals:e.marker.line.color,containerStr:"marker.line",cLetter:"c"}))}},47581:function(t){"use strict";t.exports={PTS_LINESONLY:20,minTolerance:.2,toleranceGrowth:10,maxScreensAway:20,eventDataKeys:[]}},72626:function(t,e,r){"use strict";var n=r(47761),i=r(11661).setGroupPositions;function a(t,e,r,n,i,a,o){i[n]=!0;var s={i:null,gap:!0,s:0};if(s[o]=r,t.splice(e,0,s),e&&r===t[e-1][o]){var l=t[e-1];s.s=l.s,s.i=l.i,s.gap=l.gap}else a&&(s.s=function(t,e,r,n){var i=t[e-1],a=t[e+1];return a?i?i.s+(a.s-i.s)*(r-i[n])/(a[n]-i[n]):a.s:i.s}(t,e,r,o));e||(t[0].t=t[1].t,t[0].trace=t[1].trace,delete t[1].t,delete t[1].trace)}t.exports=function(t,e){"group"===t._fullLayout.scattermode&&function(t,e){for(var r=e.xaxis,n=e.yaxis,a=t._fullLayout,o=t._fullData,s=t.calcdata,l=[],u=[],c=0;c<o.length;c++){var f=o[c];!0===f.visible&&"scatter"===f.type&&f.xaxis===r._id&&f.yaxis===n._id&&("h"===f.orientation?l.push(s[c]):"v"===f.orientation&&u.push(s[c]))}var h={mode:a.scattermode,gap:a.scattergap};i(t,r,n,u,h),i(t,n,r,l,h)}(t,e);var r=e.xaxis,o=e.yaxis,s=r._id+o._id,l=t._fullLayout._scatterStackOpts[s];if(l){var u,c,f,h,p,d,v,g,y,m,x,b,_,w,T,k=t.calcdata;for(var A in l){var M=(m=l[A]).traceIndices;if(M.length){for(x="interpolate"===m.stackgaps,b=m.groupnorm,"v"===m.orientation?(_="x",w="y"):(_="y",w="x"),T=new Array(M.length),u=0;u<T.length;u++)T[u]=!1;d=k[M[0]];var S=new Array(d.length);for(u=0;u<d.length;u++)S[u]=d[u][_];for(u=1;u<M.length;u++){for(p=k[M[u]],c=f=0;c<p.length;c++){for(v=p[c][_];v>S[f]&&f<S.length;f++)a(p,c,S[f],u,T,x,_),c++;if(v!==S[f]){for(h=0;h<u;h++)a(k[M[h]],f,v,h,T,x,_);S.splice(f,0,v)}f++}for(;f<S.length;f++)a(p,c,S[f],u,T,x,_),c++}var E=S.length;for(c=0;c<d.length;c++){for(g=d[c][w]=d[c].s,u=1;u<M.length;u++)(p=k[M[u]])[0].trace._rawLength=p[0].trace._length,p[0].trace._length=E,g+=p[c].s,p[c][w]=g;if(b)for(y=("fraction"===b?g:g/100)||1,u=0;u<M.length;u++){var L=k[M[u]][c];L[w]/=y,L.sNorm=L.s/y}}for(u=0;u<M.length;u++){var C=(p=k[M[u]])[0].trace,P=n.calcMarkerSize(C,C._rawLength),O=Array.isArray(P);if(P&&T[u]||O){var I=P;for(P=new Array(E),c=0;c<E;c++)P[c]=p[c].gap?0:O?I[p[c].i]:I}var D=new Array(E),z=new Array(E);for(c=0;c<E;c++)D[c]=p[c].x,z[c]=p[c].y;n.calcAxisExpansion(t,C,r,o,D,z,P),p[0].t.orientation=m.orientation}}}}}},34936:function(t,e,r){"use strict";var n=r(71828),i=r(26125),a=r(82196);t.exports=function(t,e){var r,o,s;function l(t){return n.coerce(o._input,o,a,t)}if("group"===e.scattermode)for(s=0;s<t.length;s++)"scatter"===(o=t[s]).type&&(r=o._input,i(r,o,e,l));for(s=0;s<t.length;s++){var u=t[s];if("scatter"===u.type){var c=u.fill;if("none"!==c&&"toself"!==c&&(u.opacity=void 0,"tonexty"===c||"tonextx"===c))for(var f=s-1;f>=0;f--){var h=t[f];if("scatter"===h.type&&h.xaxis===u.xaxis&&h.yaxis===u.yaxis){h.opacity=void 0;break}}}}}},17438:function(t,e,r){"use strict";var n=r(71828),i=r(73972),a=r(82196),o=r(47581),s=r(34098),l=r(67513),u=r(73927),c=r(565),f=r(49508),h=r(11058),p=r(94039),d=r(82410),v=r(28908),g=r(71828).coercePattern;t.exports=function(t,e,r,y){function m(r,i){return n.coerce(t,e,a,r,i)}var x=l(t,e,y,m);if(x||(e.visible=!1),e.visible){u(t,e,y,m),m("xhoverformat"),m("yhoverformat");var b=c(t,e,y,m);"group"===y.scattermode&&void 0===e.orientation&&m("orientation","v");var _=!b&&x<o.PTS_LINESONLY?"lines+markers":"lines";m("text"),m("hovertext"),m("mode",_),s.hasLines(e)&&(h(t,e,r,y,m,{backoff:!0}),p(t,e,m),m("connectgaps"),m("line.simplify")),s.hasMarkers(e)&&f(t,e,r,y,m,{gradient:!0}),s.hasText(e)&&(m("texttemplate"),d(t,e,y,m));var w=[];(s.hasMarkers(e)||s.hasText(e))&&(m("cliponaxis"),m("marker.maxdisplayed"),w.push("points")),m("fill",b?b.fillDflt:"none"),"none"!==e.fill&&(v(t,e,r,m),s.hasLines(e)||p(t,e,m),g(m,"fillpattern",e.fillcolor,!1));var T=(e.line||{}).color,k=(e.marker||{}).color;"tonext"!==e.fill&&"toself"!==e.fill||w.push("fills"),m("hoveron",w.join("+")||"points"),"fills"!==e.hoveron&&m("hovertemplate");var A=i.getComponentMethod("errorbars","supplyDefaults");A(t,e,T||k||r,{axis:"y"}),A(t,e,T||k||r,{axis:"x",inherit:"y"}),n.coerceSelectionMarkerOpacity(e,m)}}},28908:function(t,e,r){"use strict";var n=r(7901),i=r(71828).isArrayOrTypedArray;t.exports=function(t,e,r,a){var o=!1;if(e.marker){var s=e.marker.color,l=(e.marker.line||{}).color;s&&!i(s)?o=s:l&&!i(l)&&(o=l)}a("fillcolor",n.addOpacity((e.line||{}).color||o||r,.5))}},8225:function(t,e,r){"use strict";var n=r(89298);t.exports=function(t,e,r){var i={},a={_fullLayout:r},o=n.getFromTrace(a,e,"x"),s=n.getFromTrace(a,e,"y"),l=t.orig_x;void 0===l&&(l=t.x);var u=t.orig_y;return void 0===u&&(u=t.y),i.xLabel=n.tickText(o,o.c2l(l),!0).text,i.yLabel=n.tickText(s,s.c2l(u),!0).text,i}},34603:function(t,e,r){"use strict";var n=r(7901),i=r(34098);t.exports=function(t,e){var r,a;if("lines"===t.mode)return(r=t.line.color)&&n.opacity(r)?r:t.fillcolor;if("none"===t.mode)return t.fill?t.fillcolor:"";var o=e.mcc||(t.marker||{}).color,s=e.mlcc||((t.marker||{}).line||{}).color;return(a=o&&n.opacity(o)?o:s&&n.opacity(s)&&(e.mlw||((t.marker||{}).line||{}).width)?s:"")?n.opacity(a)<.3?n.addOpacity(a,.3):a:(r=(t.line||{}).color)&&n.opacity(r)&&i.hasLines(t)&&t.line.width?r:t.fillcolor}},26125:function(t,e,r){"use strict";var n=r(99082).getAxisGroup;t.exports=function(t,e,r,i){var a=e.orientation,o=e[{v:"x",h:"y"}[a]+"axis"],s=n(r,o)+a,l=r._alignmentOpts||{},u=i("alignmentgroup"),c=l[s];c||(c=l[s]={});var f=c[u];f?f.traces.push(e):f=c[u]={traces:[e],alignmentIndex:Object.keys(c).length,offsetGroups:{}};var h=i("offsetgroup"),p=f.offsetGroups,d=p[h];h&&(d||(d=p[h]={offsetIndex:Object.keys(p).length}),e._offsetIndex=d.offsetIndex)}},33720:function(t,e,r){"use strict";var n=r(71828),i=r(30211),a=r(73972),o=r(34603),s=r(7901),l=n.fillText;t.exports=function(t,e,r,u){var c=t.cd,f=c[0].trace,h=t.xa,p=t.ya,d=h.c2p(e),v=p.c2p(r),g=[d,v],y=f.hoveron||"",m=-1!==f.mode.indexOf("markers")?3:.5,x=!!f.xperiodalignment,b=!!f.yperiodalignment;if(-1!==y.indexOf("points")){var _=function(t){var e=Math.max(m,t.mrc||0),r=h.c2p(t.x)-d,n=p.c2p(t.y)-v;return Math.max(Math.sqrt(r*r+n*n)-e,1-m/e)},w=i.getDistanceFunction(u,(function(t){if(x){var e=h.c2p(t.xStart),r=h.c2p(t.xEnd);return d>=Math.min(e,r)&&d<=Math.max(e,r)?0:1/0}var n=Math.max(3,t.mrc||0),i=1-1/n,a=Math.abs(h.c2p(t.x)-d);return a<n?i*a/n:a-n+i}),(function(t){if(b){var e=p.c2p(t.yStart),r=p.c2p(t.yEnd);return v>=Math.min(e,r)&&v<=Math.max(e,r)?0:1/0}var n=Math.max(3,t.mrc||0),i=1-1/n,a=Math.abs(p.c2p(t.y)-v);return a<n?i*a/n:a-n+i}),_);if(i.getClosest(c,w,t),!1!==t.index){var T=c[t.index],k=h.c2p(T.x,!0),A=p.c2p(T.y,!0),M=T.mrc||1;t.index=T.i;var S=c[0].t.orientation,E=S&&(T.sNorm||T.s),L="h"===S?E:void 0!==T.orig_x?T.orig_x:T.x,C="v"===S?E:void 0!==T.orig_y?T.orig_y:T.y;return n.extendFlat(t,{color:o(f,T),x0:k-M,x1:k+M,xLabelVal:L,y0:A-M,y1:A+M,yLabelVal:C,spikeDistance:_(T),hovertemplate:f.hovertemplate}),l(T,f,t),a.getComponentMethod("errorbars","hoverInfo")(T,f,t),[t]}}if(-1!==y.indexOf("fills")&&f._polygons){var P,O,I,D,z,R,F,B,N,j=f._polygons,U=[],V=!1,H=1/0,q=-1/0,G=1/0,Z=-1/0;for(P=0;P<j.length;P++)(I=j[P]).contains(g)&&(V=!V,U.push(I),G=Math.min(G,I.ymin),Z=Math.max(Z,I.ymax));if(V){var Y=((G=Math.max(G,0))+(Z=Math.min(Z,p._length)))/2;for(P=0;P<U.length;P++)for(D=U[P].pts,O=1;O<D.length;O++)(B=D[O-1][1])>Y!=(N=D[O][1])>=Y&&(R=D[O-1][0],F=D[O][0],N-B&&(z=R+(F-R)*(Y-B)/(N-B),H=Math.min(H,z),q=Math.max(q,z)));H=Math.max(H,0),q=Math.min(q,h._length);var W=s.defaultLine;return s.opacity(f.fillcolor)?W=f.fillcolor:s.opacity((f.line||{}).color)&&(W=f.line.color),n.extendFlat(t,{distance:t.maxHoverDistance,x0:H,x1:q,y0:Y,y1:Y,color:W,hovertemplate:!1}),delete t.index,f.text&&!Array.isArray(f.text)?t.text=String(f.text):t.text=f.name,[t]}}}},67368:function(t,e,r){"use strict";var n=r(34098);t.exports={hasLines:n.hasLines,hasMarkers:n.hasMarkers,hasText:n.hasText,isBubble:n.isBubble,attributes:r(82196),layoutAttributes:r(21479),supplyDefaults:r(17438),crossTraceDefaults:r(34936),supplyLayoutDefaults:r(79334),calc:r(47761).calc,crossTraceCalc:r(72626),arraysToCalcdata:r(75225),plot:r(32663),colorbar:r(4898),formatLabels:r(8225),style:r(16296).style,styleOnSelect:r(16296).styleOnSelect,hoverPoints:r(33720),selectPoints:r(98002),animatable:!0,moduleType:"trace",name:"scatter",basePlotModule:r(93612),categories:["cartesian","svg","symbols","errorBarsOK","showLegend","scatter-like","zoomScale"],meta:{}}},21479:function(t){"use strict";t.exports={scattermode:{valType:"enumerated",values:["group","overlay"],dflt:"overlay",editType:"calc"},scattergap:{valType:"number",min:0,max:1,editType:"calc"}}},79334:function(t,e,r){"use strict";var n=r(71828),i=r(21479);t.exports=function(t,e){var r,a="group"===e.barmode;"group"===e.scattermode&&("scattergap",r=a?e.bargap:.2,n.coerce(t,e,i,"scattergap",r))}},11058:function(t,e,r){"use strict";var n=r(71828).isArrayOrTypedArray,i=r(52075).hasColorscale,a=r(1586);t.exports=function(t,e,r,o,s,l){l||(l={});var u=(t.marker||{}).color;s("line.color",r),i(t,"line")?a(t,e,o,s,{prefix:"line.",cLetter:"c"}):s("line.color",!n(u)&&u||r),s("line.width"),l.noDash||s("line.dash"),l.backoff&&s("line.backoff")}},34621:function(t,e,r){"use strict";var n=r(91424),i=r(50606),a=i.BADNUM,o=i.LOG_CLIP,s=o+.5,l=o-.5,u=r(71828),c=u.segmentsIntersect,f=u.constrain,h=r(47581);t.exports=function(t,e){var r,i,o,p,d,v,g,y,m,x,b,_,w,T,k,A,M,S,E=e.trace||{},L=e.xaxis,C=e.yaxis,P="log"===L.type,O="log"===C.type,I=L._length,D=C._length,z=e.backoff,R=E.marker,F=e.connectGaps,B=e.baseTolerance,N=e.shape,j="linear"===N,U=E.fill&&"none"!==E.fill,V=[],H=h.minTolerance,q=t.length,G=new Array(q),Z=0;function Y(r){var n=t[r];if(!n)return!1;var i=e.linearized?L.l2p(n.x):L.c2p(n.x),o=e.linearized?C.l2p(n.y):C.c2p(n.y);if(i===a){if(P&&(i=L.c2p(n.x,!0)),i===a)return!1;O&&o===a&&(i*=Math.abs(L._m*D*(L._m>0?s:l)/(C._m*I*(C._m>0?s:l)))),i*=1e3}if(o===a){if(O&&(o=C.c2p(n.y,!0)),o===a)return!1;o*=1e3}return[i,o]}function W(t,e,r,n){var i=r-t,a=n-e,o=.5-t,s=.5-e,l=i*i+a*a,u=i*o+a*s;if(u>0&&u<l){var c=o*a-s*i;if(c*c<l)return!0}}function X(t,e){var r=t[0]/I,n=t[1]/D,i=Math.max(0,-r,r-1,-n,n-1);return i&&void 0!==M&&W(r,n,M,S)&&(i=0),i&&e&&W(r,n,e[0]/I,e[1]/D)&&(i=0),(1+h.toleranceGrowth*i)*B}function J(t,e){var r=t[0]-e[0],n=t[1]-e[1];return Math.sqrt(r*r+n*n)}var K,$,Q,tt,et,rt,nt,it=h.maxScreensAway,at=-I*it,ot=I*(1+it),st=-D*it,lt=D*(1+it),ut=[[at,st,ot,st],[ot,st,ot,lt],[ot,lt,at,lt],[at,lt,at,st]];function ct(t){if(t[0]<at||t[0]>ot||t[1]<st||t[1]>lt)return[f(t[0],at,ot),f(t[1],st,lt)]}function ft(t,e){return t[0]===e[0]&&(t[0]===at||t[0]===ot)||t[1]===e[1]&&(t[1]===st||t[1]===lt)||void 0}function ht(t,e,r){return function(n,i){var a=ct(n),o=ct(i),s=[];if(a&&o&&ft(a,o))return s;a&&s.push(a),o&&s.push(o);var l=2*u.constrain((n[t]+i[t])/2,e,r)-((a||n)[t]+(o||i)[t]);return l&&((a&&o?l>0==a[t]>o[t]?a:o:a||o)[t]+=l),s}}function pt(t){var e=t[0],r=t[1],n=e===G[Z-1][0],i=r===G[Z-1][1];if(!n||!i)if(Z>1){var a=e===G[Z-2][0],o=r===G[Z-2][1];n&&(e===at||e===ot)&&a?o?Z--:G[Z-1]=t:i&&(r===st||r===lt)&&o?a?Z--:G[Z-1]=t:G[Z++]=t}else G[Z++]=t}function dt(t){G[Z-1][0]!==t[0]&&G[Z-1][1]!==t[1]&&pt([Q,tt]),pt(t),et=null,Q=tt=0}"linear"===N||"spline"===N?nt=function(t,e){for(var r=[],n=0,i=0;i<4;i++){var a=ut[i],o=c(t[0],t[1],e[0],e[1],a[0],a[1],a[2],a[3]);o&&(!n||Math.abs(o.x-r[0][0])>1||Math.abs(o.y-r[0][1])>1)&&(o=[o.x,o.y],n&&J(o,t)<J(r[0],t)?r.unshift(o):r.push(o),n++)}return r}:"hv"===N||"vh"===N?nt=function(t,e){var r=[],n=ct(t),i=ct(e);return n&&i&&ft(n,i)||(n&&r.push(n),i&&r.push(i)),r}:"hvh"===N?nt=ht(0,at,ot):"vhv"===N&&(nt=ht(1,st,lt));var vt=u.isArrayOrTypedArray(R);function gt(e){if(e&&z&&(e.i=r,e.d=t,e.trace=E,e.marker=vt?R[e.i]:R,e.backoff=z),M=e[0]/I,S=e[1]/D,K=e[0]<at?at:e[0]>ot?ot:0,$=e[1]<st?st:e[1]>lt?lt:0,K||$){if(Z)if(et){var n=nt(et,e);n.length>1&&(dt(n[0]),G[Z++]=n[1])}else rt=nt(G[Z-1],e)[0],G[Z++]=rt;else G[Z++]=[K||e[0],$||e[1]];var i=G[Z-1];K&&$&&(i[0]!==K||i[1]!==$)?(et&&(Q!==K&&tt!==$?pt(Q&&tt?(a=et,s=(o=e)[0]-a[0],l=(o[1]-a[1])/s,(a[1]*o[0]-o[1]*a[0])/s>0?[l>0?at:ot,lt]:[l>0?ot:at,st]):[Q||K,tt||$]):Q&&tt&&pt([Q,tt])),pt([K,$])):Q-K&&tt-$&&pt([K||Q,$||tt]),et=e,Q=K,tt=$}else et&&dt(nt(et,e)[0]),G[Z++]=e;var a,o,s,l}for(r=0;r<q;r++)if(i=Y(r)){for(Z=0,et=null,gt(i),r++;r<q;r++){if(!(p=Y(r))){if(F)continue;break}if(j&&e.simplify){var yt=Y(r+1);if(x=J(p,i),U&&(0===Z||Z===q-1)||!(x<X(p,yt)*H)){for(y=[(p[0]-i[0])/x,(p[1]-i[1])/x],d=i,b=x,_=T=k=0,g=!1,o=p,r++;r<t.length;r++){if(v=yt,yt=Y(r+1),!v){if(F)continue;break}if(A=(m=[v[0]-i[0],v[1]-i[1]])[0]*y[1]-m[1]*y[0],T=Math.min(T,A),(k=Math.max(k,A))-T>X(v,yt))break;o=v,(w=m[0]*y[0]+m[1]*y[1])>b?(b=w,p=v,g=!1):w<_&&(_=w,d=v,g=!0)}if(g?(gt(p),o!==d&>(d)):(d!==i&>(d),o!==p&>(p)),gt(o),r>=t.length||!v)break;gt(v),i=v}}else gt(p)}et&&pt([Q||et[0],tt||et[1]]),V.push(G.slice(0,Z))}var mt=N.slice(N.length-1);if(z&&"h"!==mt&&"v"!==mt){for(var xt=!1,bt=-1,_t=[],wt=0;wt<V.length;wt++)for(var Tt=0;Tt<V[wt].length-1;Tt++){var kt=V[wt][Tt],At=V[wt][Tt+1],Mt=n.applyBackoff(At,kt);Mt[0]===At[0]&&Mt[1]===At[1]||(xt=!0),_t[bt+1]||(_t[++bt]=[kt,[Mt[0],Mt[1]]])}return xt?_t:V}return V}},94039:function(t){"use strict";t.exports=function(t,e,r){"spline"===r("line.shape")&&r("line.smoothing")}},68687:function(t){"use strict";var e={tonextx:1,tonexty:1,tonext:1};t.exports=function(t,r,n){var i,a,o,s,l,u={},c=!1,f=-1,h=0,p=-1;for(a=0;a<n.length;a++)(o=(i=n[a][0].trace).stackgroup||"")?o in u?l=u[o]:(l=u[o]=h,h++):i.fill in e&&p>=0?l=p:(l=p=h,h++),l<f&&(c=!0),i._groupIndex=f=l;var d=n.slice();c&&d.sort((function(t,e){var r=t[0].trace,n=e[0].trace;return r._groupIndex-n._groupIndex||r.index-n.index}));var v={};for(a=0;a<d.length;a++)o=(i=d[a][0].trace).stackgroup||"",!0===i.visible?(i._nexttrace=null,i.fill in e&&(s=v[o],i._prevtrace=s||null,s&&(s._nexttrace=i)),i._ownfill=i.fill&&("tozero"===i.fill.substr(0,6)||"toself"===i.fill||"to"===i.fill.substr(0,2)&&!i._prevtrace),v[o]=i):i._prevtrace=i._nexttrace=i._ownfill=null;return d}},39984:function(t,e,r){"use strict";var n=r(92770);t.exports=function(t,e){e||(e=2);var r=t.marker,i=r.sizeref||1,a=r.sizemin||0,o="area"===r.sizemode?function(t){return Math.sqrt(t/i)}:function(t){return t/i};return function(t){var r=o(t/e);return n(r)&&r>0?Math.max(r,a):0}}},4898:function(t){"use strict";t.exports={container:"marker",min:"cmin",max:"cmax"}},49508:function(t,e,r){"use strict";var n=r(7901),i=r(52075).hasColorscale,a=r(1586),o=r(34098);t.exports=function(t,e,r,s,l,u){var c=o.isBubble(t),f=(t.line||{}).color;u=u||{},f&&(r=f),l("marker.symbol"),l("marker.opacity",c?.7:1),l("marker.size"),u.noAngle||(l("marker.angle"),u.noAngleRef||l("marker.angleref"),u.noStandOff||l("marker.standoff")),l("marker.color",r),i(t,"marker")&&a(t,e,s,l,{prefix:"marker.",cLetter:"c"}),u.noSelect||(l("selected.marker.color"),l("unselected.marker.color"),l("selected.marker.size"),l("unselected.marker.size")),u.noLine||(l("marker.line.color",f&&!Array.isArray(f)&&e.marker.color!==f?f:c?n.background:n.defaultLine),i(t,"marker.line")&&a(t,e,s,l,{prefix:"marker.line.",cLetter:"c"}),l("marker.line.width",c?1:0)),c&&(l("marker.sizeref"),l("marker.sizemin"),l("marker.sizemode")),u.gradient&&"none"!==l("marker.gradient.type")&&l("marker.gradient.color")}},73927:function(t,e,r){"use strict";var n=r(71828).dateTick0,i=r(50606).ONEWEEK;function a(t,e){return n(e,t%i==0?1:0)}t.exports=function(t,e,r,n,i){if(i||(i={x:!0,y:!0}),i.x){var o=n("xperiod");o&&(n("xperiod0",a(o,e.xcalendar)),n("xperiodalignment"))}if(i.y){var s=n("yperiod");s&&(n("yperiod0",a(s,e.ycalendar)),n("yperiodalignment"))}}},32663:function(t,e,r){"use strict";var n=r(39898),i=r(73972),a=r(71828),o=a.ensureSingle,s=a.identity,l=r(91424),u=r(34098),c=r(34621),f=r(68687),h=r(61082).tester;function p(t,e,r,f,p,d,v){var g;!function(t,e,r,i,o){var s=r.xaxis,l=r.yaxis,c=n.extent(a.simpleMap(s.range,s.r2c)),f=n.extent(a.simpleMap(l.range,l.r2c)),h=i[0].trace;if(u.hasMarkers(h)){var p=h.marker.maxdisplayed;if(0!==p){var d=i.filter((function(t){return t.x>=c[0]&&t.x<=c[1]&&t.y>=f[0]&&t.y<=f[1]})),v=Math.ceil(d.length/p),g=0;o.forEach((function(t,r){var n=t[0].trace;u.hasMarkers(n)&&n.marker.maxdisplayed>0&&r<e&&g++}));var y=Math.round(g*v/3+Math.floor(g/3)*v/7.1);i.forEach((function(t){delete t.vis})),d.forEach((function(t,e){0===Math.round((e+y)%v)&&(t.vis=!0)}))}}}(0,e,r,f,p);var y=!!v&&v.duration>0;function m(t){return y?t.transition():t}var x=r.xaxis,b=r.yaxis,_=f[0].trace,w=_.line,T=n.select(d),k=o(T,"g","errorbars"),A=o(T,"g","lines"),M=o(T,"g","points"),S=o(T,"g","text");if(i.getComponentMethod("errorbars","plot")(t,k,r,v),!0===_.visible){var E,L;m(T).style("opacity",_.opacity);var C=_.fill.charAt(_.fill.length-1);"x"!==C&&"y"!==C&&(C=""),f[0][r.isRangePlot?"nodeRangePlot3":"node3"]=T;var P,O,I="",D=[],z=_._prevtrace;z&&(I=z._prevRevpath||"",L=z._nextFill,D=z._polygons);var R,F,B,N,j,U,V,H="",q="",G=[],Z=a.noop;if(E=_._ownFill,u.hasLines(_)||"none"!==_.fill){for(L&&L.datum(f),-1!==["hv","vh","hvh","vhv"].indexOf(w.shape)?(R=l.steps(w.shape),F=l.steps(w.shape.split("").reverse().join(""))):R=F="spline"===w.shape?function(t){var e=t[t.length-1];return t.length>1&&t[0][0]===e[0]&&t[0][1]===e[1]?l.smoothclosed(t.slice(1),w.smoothing):l.smoothopen(t,w.smoothing)}:function(t){return"M"+t.join("L")},B=function(t){return F(t.reverse())},G=c(f,{xaxis:x,yaxis:b,trace:_,connectGaps:_.connectgaps,baseTolerance:Math.max(w.width||1,3)/4,shape:w.shape,backoff:w.backoff,simplify:w.simplify,fill:_.fill}),V=_._polygons=new Array(G.length),g=0;g<G.length;g++)_._polygons[g]=h(G[g]);G.length&&(N=G[0][0],U=(j=G[G.length-1])[j.length-1]),Z=function(t){return function(e){if(P=R(e),O=B(e),H?C?(H+="L"+P.substr(1),q=O+"L"+q.substr(1)):(H+="Z"+P,q=O+"Z"+q):(H=P,q=O),u.hasLines(_)){var r=n.select(this);if(r.datum(f),t)m(r.style("opacity",0).attr("d",P).call(l.lineGroupStyle)).style("opacity",1);else{var i=m(r);i.attr("d",P),l.singleLineStyle(f,i)}}}}}var Y=A.selectAll(".js-line").data(G);m(Y.exit()).style("opacity",0).remove(),Y.each(Z(!1)),Y.enter().append("path").classed("js-line",!0).style("vector-effect","non-scaling-stroke").call(l.lineGroupStyle).each(Z(!0)),l.setClipUrl(Y,r.layerClipId,t),G.length?(E?(E.datum(f),N&&U&&(C?("y"===C?N[1]=U[1]=b.c2p(0,!0):"x"===C&&(N[0]=U[0]=x.c2p(0,!0)),m(E).attr("d","M"+U+"L"+N+"L"+H.substr(1)).call(l.singleFillStyle,t)):m(E).attr("d",H+"Z").call(l.singleFillStyle,t))):L&&("tonext"===_.fill.substr(0,6)&&H&&I?("tonext"===_.fill?m(L).attr("d",H+"Z"+I+"Z").call(l.singleFillStyle,t):m(L).attr("d",H+"L"+I.substr(1)+"Z").call(l.singleFillStyle,t),_._polygons=_._polygons.concat(D)):(X(L),_._polygons=null)),_._prevRevpath=q,_._prevPolygons=V):(E?X(E):L&&X(L),_._polygons=_._prevRevpath=_._prevPolygons=null),M.datum(f),S.datum(f),function(e,i,a){var o,c=a[0].trace,f=u.hasMarkers(c),h=u.hasText(c),p=tt(c),d=et,v=et;if(f||h){var g=s,_=c.stackgroup,w=_&&"infer zero"===t._fullLayout._scatterStackOpts[x._id+b._id][_].stackgaps;c.marker.maxdisplayed||c._needsCull?g=w?K:J:_&&!w&&(g=$),f&&(d=g),h&&(v=g)}var T,k=(o=e.selectAll("path.point").data(d,p)).enter().append("path").classed("point",!0);y&&k.call(l.pointStyle,c,t).call(l.translatePoints,x,b).style("opacity",0).transition().style("opacity",1),o.order(),f&&(T=l.makePointStyleFns(c)),o.each((function(e){var i=n.select(this),a=m(i);l.translatePoint(e,a,x,b)?(l.singlePointStyle(e,a,c,T,t),r.layerClipId&&l.hideOutsideRangePoint(e,a,x,b,c.xcalendar,c.ycalendar),c.customdata&&i.classed("plotly-customdata",null!==e.data&&void 0!==e.data)):a.remove()})),y?o.exit().transition().style("opacity",0).remove():o.exit().remove(),(o=i.selectAll("g").data(v,p)).enter().append("g").classed("textpoint",!0).append("text"),o.order(),o.each((function(t){var e=n.select(this),i=m(e.select("text"));l.translatePoint(t,i,x,b)?r.layerClipId&&l.hideOutsideRangePoint(t,e,x,b,c.xcalendar,c.ycalendar):e.remove()})),o.selectAll("text").call(l.textPointStyle,c,t).each((function(t){var e=x.c2p(t.x),r=b.c2p(t.y);n.select(this).selectAll("tspan.line").each((function(){m(n.select(this)).attr({x:e,y:r})}))})),o.exit().remove()}(M,S,f);var W=!1===_.cliponaxis?null:r.layerClipId;l.setClipUrl(M,W,t),l.setClipUrl(S,W,t)}function X(t){m(t).attr("d","M0,0Z")}function J(t){return t.filter((function(t){return!t.gap&&t.vis}))}function K(t){return t.filter((function(t){return t.vis}))}function $(t){return t.filter((function(t){return!t.gap}))}function Q(t){return t.id}function tt(t){if(t.ids)return Q}function et(){return!1}}t.exports=function(t,e,r,i,a,u){var c,h,d=!a,v=!!a&&a.duration>0,g=f(t,e,r);(c=i.selectAll("g.trace").data(g,(function(t){return t[0].trace.uid}))).enter().append("g").attr("class",(function(t){return"trace scatter trace"+t[0].trace.uid})).style("stroke-miterlimit",2),c.order(),function(t,e,r){e.each((function(e){var i=o(n.select(this),"g","fills");l.setClipUrl(i,r.layerClipId,t);var a=e[0].trace,u=[];a._ownfill&&u.push("_ownFill"),a._nexttrace&&u.push("_nextFill");var c=i.selectAll("g").data(u,s);c.enter().append("g"),c.exit().each((function(t){a[t]=null})).remove(),c.order().each((function(t){a[t]=o(n.select(this),"path","js-fill")}))}))}(t,c,e),v?(u&&(h=u()),n.transition().duration(a.duration).ease(a.easing).each("end",(function(){h&&h()})).each("interrupt",(function(){h&&h()})).each((function(){i.selectAll("g.trace").each((function(r,n){p(t,n,e,r,g,this,a)}))}))):c.each((function(r,n){p(t,n,e,r,g,this,a)})),d&&c.exit().remove(),i.selectAll("path:not([d])").remove()}},98002:function(t,e,r){"use strict";var n=r(34098);t.exports=function(t,e){var r,i,a,o,s=t.cd,l=t.xaxis,u=t.yaxis,c=[],f=s[0].trace;if(!n.hasMarkers(f)&&!n.hasText(f))return[];if(!1===e)for(r=0;r<s.length;r++)s[r].selected=0;else for(r=0;r<s.length;r++)i=s[r],a=l.c2p(i.x),o=u.c2p(i.y),null!==i.i&&e.contains([a,o],!1,r,t)?(c.push({pointNumber:i.i,x:l.c2d(i.x),y:u.c2d(i.y)}),i.selected=1):i.selected=0;return c}},565:function(t){"use strict";var e=["orientation","groupnorm","stackgaps"];t.exports=function(t,r,n,i){var a=n._scatterStackOpts,o=i("stackgroup");if(o){var s=r.xaxis+r.yaxis,l=a[s];l||(l=a[s]={});var u=l[o],c=!1;u?u.traces.push(r):(u=l[o]={traceIndices:[],traces:[r]},c=!0);for(var f={orientation:r.x&&!r.y?"h":"v"},h=0;h<e.length;h++){var p=e[h],d=p+"Found";if(!u[d]){var v=void 0!==t[p],g="orientation"===p;if((v||c)&&(u[p]=i(p,f[p]),g&&(u.fillDflt="h"===u[p]?"tonextx":"tonexty"),v&&(u[d]=!0,!c&&(delete u.traces[0][p],g))))for(var y=0;y<u.traces.length-1;y++){var m=u.traces[y];m._input.fill!==m.fill&&(m.fill=u.fillDflt)}}}return u}}},16296:function(t,e,r){"use strict";var n=r(39898),i=r(91424),a=r(73972);function o(t,e,r){i.pointStyle(t.selectAll("path.point"),e,r)}function s(t,e,r){i.textPointStyle(t.selectAll("text"),e,r)}t.exports={style:function(t){var e=n.select(t).selectAll("g.trace.scatter");e.style("opacity",(function(t){return t[0].trace.opacity})),e.selectAll("g.points").each((function(e){o(n.select(this),e.trace||e[0].trace,t)})),e.selectAll("g.text").each((function(e){s(n.select(this),e.trace||e[0].trace,t)})),e.selectAll("g.trace path.js-line").call(i.lineGroupStyle),e.selectAll("g.trace path.js-fill").call(i.fillGroupStyle,t),a.getComponentMethod("errorbars","style")(e)},stylePoints:o,styleText:s,styleOnSelect:function(t,e,r){var n=e[0].trace;n.selectedpoints?(i.selectedPointStyle(r.selectAll("path.point"),n),i.selectedTextStyle(r.selectAll("text"),n)):(o(r,n,t),s(r,n,t))}}},34098:function(t,e,r){"use strict";var n=r(71828);t.exports={hasLines:function(t){return t.visible&&t.mode&&-1!==t.mode.indexOf("lines")},hasMarkers:function(t){return t.visible&&(t.mode&&-1!==t.mode.indexOf("markers")||"splom"===t.type)},hasText:function(t){return t.visible&&t.mode&&-1!==t.mode.indexOf("text")},isBubble:function(t){return n.isPlainObject(t.marker)&&n.isArrayOrTypedArray(t.marker.size)}}},82410:function(t,e,r){"use strict";var n=r(71828);t.exports=function(t,e,r,i,a){a=a||{},i("textposition"),n.coerceFont(i,"textfont",r.font),a.noSelect||(i("selected.textfont.color"),i("unselected.textfont.color"))}},67513:function(t,e,r){"use strict";var n=r(71828),i=r(73972);t.exports=function(t,e,r,a){var o,s=a("x"),l=a("y");if(i.getComponentMethod("calendars","handleTraceDefaults")(t,e,["x","y"],r),s){var u=n.minRowLength(s);l?o=Math.min(u,n.minRowLength(l)):(o=u,a("y0"),a("dy"))}else{if(!l)return 0;o=n.minRowLength(l),a("x0"),a("dx")}return e._length=o,o}},44542:function(t,e,r){"use strict";var n=r(82196),i=r(50693),a=r(12663).axisHoverFormat,o=r(5386).f,s=r(5386).s,l=r(9012),u=r(29659),c=r(87381),f=r(1426).extendFlat,h=r(30962).overrideAll,p=r(78607),d=n.line,v=n.marker,g=v.line,y=f({width:d.width,dash:{valType:"enumerated",values:p(u),dflt:"solid"}},i("line")),m=t.exports=h({x:n.x,y:n.y,z:{valType:"data_array"},text:f({},n.text,{}),texttemplate:s({},{}),hovertext:f({},n.hovertext,{}),hovertemplate:o(),xhoverformat:a("x"),yhoverformat:a("y"),zhoverformat:a("z"),mode:f({},n.mode,{dflt:"lines+markers"}),surfaceaxis:{valType:"enumerated",values:[-1,0,1,2],dflt:-1},surfacecolor:{valType:"color"},projection:{x:{show:{valType:"boolean",dflt:!1},opacity:{valType:"number",min:0,max:1,dflt:1},scale:{valType:"number",min:0,max:10,dflt:2/3}},y:{show:{valType:"boolean",dflt:!1},opacity:{valType:"number",min:0,max:1,dflt:1},scale:{valType:"number",min:0,max:10,dflt:2/3}},z:{show:{valType:"boolean",dflt:!1},opacity:{valType:"number",min:0,max:1,dflt:1},scale:{valType:"number",min:0,max:10,dflt:2/3}}},connectgaps:n.connectgaps,line:y,marker:f({symbol:{valType:"enumerated",values:p(c),dflt:"circle",arrayOk:!0},size:f({},v.size,{dflt:8}),sizeref:v.sizeref,sizemin:v.sizemin,sizemode:v.sizemode,opacity:f({},v.opacity,{arrayOk:!1}),colorbar:v.colorbar,line:f({width:f({},g.width,{arrayOk:!1})},i("marker.line"))},i("marker")),textposition:f({},n.textposition,{dflt:"top center"}),textfont:{color:n.textfont.color,size:n.textfont.size,family:f({},n.textfont.family,{arrayOk:!1})},opacity:l.opacity,hoverinfo:f({},l.hoverinfo)},"calc","nested");m.x.editType=m.y.editType=m.z.editType="calc+clearAxisTypes"},36563:function(t,e,r){"use strict";var n=r(75225),i=r(36922);t.exports=function(t,e){var r=[{x:!1,y:!1,trace:e,t:{}}];return n(r,e),i(t,e),r}},67336:function(t,e,r){"use strict";var n=r(73972);function i(t,e,r,i){if(!e||!e.visible)return null;for(var a=n.getComponentMethod("errorbars","makeComputeError")(e),o=new Array(t.length),s=0;s<t.length;s++){var l=a(+t[s],s);if("log"===i.type){var u=i.c2l(t[s]),c=t[s]-l[0],f=t[s]+l[1];if(o[s]=[(i.c2l(c,!0)-u)*r,(i.c2l(f,!0)-u)*r],c>0){var h=i.c2l(c);i._lowerLogErrorBound||(i._lowerLogErrorBound=h),i._lowerErrorBound=Math.min(i._lowerLogErrorBound,h)}}else o[s]=[-l[0]*r,l[1]*r]}return o}t.exports=function(t,e,r){var n=[i(t.x,t.error_x,e[0],r.xaxis),i(t.y,t.error_y,e[1],r.yaxis),i(t.z,t.error_z,e[2],r.zaxis)],a=function(t){for(var e=0;e<t.length;e++)if(t[e])return t[e].length;return 0}(n);if(0===a)return null;for(var o=new Array(a),s=0;s<a;s++){for(var l=[[0,0,0],[0,0,0]],u=0;u<3;u++)if(n[u])for(var c=0;c<2;c++)l[c][u]=n[u][s][c];o[s]=l}return o}},58925:function(t,e,r){"use strict";var n=r(9330).gl_line3d,i=r(9330).gl_scatter3d,a=r(9330).gl_error3d,o=r(9330).gl_mesh3d,s=r(9330).delaunay_triangulate,l=r(71828),u=r(78614),c=r(81697).formatColor,f=r(39984),h=r(29659),p=r(87381),d=r(89298),v=r(23469).appendArrayPointValue,g=r(67336);function y(t,e){this.scene=t,this.uid=e,this.linePlot=null,this.scatterPlot=null,this.errorBars=null,this.textMarkers=null,this.delaunayMesh=null,this.color=null,this.mode="",this.dataPoints=[],this.axesBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.textLabels=null,this.data=null}var m=y.prototype;function x(t){return null==t?0:t.indexOf("left")>-1?-1:t.indexOf("right")>-1?1:0}function b(t){return null==t?0:t.indexOf("top")>-1?-1:t.indexOf("bottom")>-1?1:0}function _(t,e){return e(4*t)}function w(t){return p[t]}function T(t,e,r,n,i){var a=null;if(l.isArrayOrTypedArray(t)){a=[];for(var o=0;o<e;o++)void 0===t[o]?a[o]=n:a[o]=r(t[o],i)}else a=r(t,l.identity);return a}function k(t){if(l.isArrayOrTypedArray(t)){var e=t[0];return l.isArrayOrTypedArray(e)&&(t=e),"rgb("+t.slice(0,3).map((function(t){return Math.round(255*t)}))+")"}return null}function A(t){return l.isArrayOrTypedArray(t)?4===t.length&&"number"==typeof t[0]?k(t):t.map(k):null}m.handlePick=function(t){if(t.object&&(t.object===this.linePlot||t.object===this.delaunayMesh||t.object===this.textMarkers||t.object===this.scatterPlot)){var e=t.index=t.data.index;return t.object.highlight&&t.object.highlight(null),this.scatterPlot&&(t.object=this.scatterPlot,this.scatterPlot.highlight(t.data)),t.textLabel="",this.textLabels&&(Array.isArray(this.textLabels)?(this.textLabels[e]||0===this.textLabels[e])&&(t.textLabel=this.textLabels[e]):t.textLabel=this.textLabels),t.traceCoordinate=[this.data.x[e],this.data.y[e],this.data.z[e]],!0}},m.update=function(t){var e,r,p,y,m=this.scene.glplot.gl,k=h.solid;this.data=t;var M=function(t,e){var r,n,i,a,o,s,h=[],p=t.fullSceneLayout,y=t.dataScale,m=p.xaxis,k=p.yaxis,A=p.zaxis,M=e.marker,S=e.line,E=e.x||[],L=e.y||[],C=e.z||[],P=E.length,O=e.xcalendar,I=e.ycalendar,D=e.zcalendar;for(o=0;o<P;o++)r=m.d2l(E[o],0,O)*y[0],n=k.d2l(L[o],0,I)*y[1],i=A.d2l(C[o],0,D)*y[2],h[o]=[r,n,i];if(Array.isArray(e.text))s=e.text;else if(void 0!==e.text)for(s=new Array(P),o=0;o<P;o++)s[o]=e.text;function z(t,e){var r=p[t];return d.tickText(r,r.d2l(e),!0).text}var R=e.texttemplate;if(R){var F=t.fullLayout._d3locale,B=Array.isArray(R),N=B?Math.min(R.length,P):P,j=B?function(t){return R[t]}:function(){return R};for(s=new Array(N),o=0;o<N;o++){var U={x:E[o],y:L[o],z:C[o]},V={xLabel:z("xaxis",E[o]),yLabel:z("yaxis",L[o]),zLabel:z("zaxis",C[o])},H={};v(H,e,o);var q=e._meta||{};s[o]=l.texttemplateString(j(o),V,F,H,U,q)}}if(a={position:h,mode:e.mode,text:s},"line"in e&&(a.lineColor=c(S,1,P),a.lineWidth=S.width,a.lineDashes=S.dash),"marker"in e){var G=f(e);a.scatterColor=c(M,1,P),a.scatterSize=T(M.size,P,_,20,G),a.scatterMarker=T(M.symbol,P,w,"●"),a.scatterLineWidth=M.line.width,a.scatterLineColor=c(M.line,1,P),a.scatterAngle=0}"textposition"in e&&(a.textOffset=function(t){var e=[0,0];if(Array.isArray(t))for(var r=0;r<t.length;r++)e[r]=[0,0],t[r]&&(e[r][0]=x(t[r]),e[r][1]=b(t[r]));else e[0]=x(t),e[1]=b(t);return e}(e.textposition),a.textColor=c(e.textfont,1,P),a.textSize=T(e.textfont.size,P,l.identity,12),a.textFont=e.textfont.family,a.textAngle=0);var Z=["x","y","z"];for(a.project=[!1,!1,!1],a.projectScale=[1,1,1],a.projectOpacity=[1,1,1],o=0;o<3;++o){var Y=e.projection[Z[o]];(a.project[o]=Y.show)&&(a.projectOpacity[o]=Y.opacity,a.projectScale[o]=Y.scale)}a.errorBounds=g(e,y,p);var W=function(t){for(var e=[0,0,0],r=[[0,0,0],[0,0,0],[0,0,0]],n=[1,1,1],i=0;i<3;i++){var a=t[i];a&&!1!==a.copy_zstyle&&!1!==t[2].visible&&(a=t[2]),a&&a.visible&&(e[i]=a.width/2,r[i]=u(a.color),n[i]=a.thickness)}return{capSize:e,color:r,lineWidth:n}}([e.error_x,e.error_y,e.error_z]);return a.errorColor=W.color,a.errorLineWidth=W.lineWidth,a.errorCapSize=W.capSize,a.delaunayAxis=e.surfaceaxis,a.delaunayColor=u(e.surfacecolor),a}(this.scene,t);"mode"in M&&(this.mode=M.mode),"lineDashes"in M&&M.lineDashes in h&&(k=h[M.lineDashes]),this.color=A(M.scatterColor)||A(M.lineColor),this.dataPoints=M.position,e={gl:this.scene.glplot.gl,position:M.position,color:M.lineColor,lineWidth:M.lineWidth||1,dashes:k[0],dashScale:k[1],opacity:t.opacity,connectGaps:t.connectgaps},-1!==this.mode.indexOf("lines")?this.linePlot?this.linePlot.update(e):(this.linePlot=n(e),this.linePlot._trace=this,this.scene.glplot.add(this.linePlot)):this.linePlot&&(this.scene.glplot.remove(this.linePlot),this.linePlot.dispose(),this.linePlot=null);var S=t.opacity;if(t.marker&&t.marker.opacity&&(S*=t.marker.opacity),r={gl:this.scene.glplot.gl,position:M.position,color:M.scatterColor,size:M.scatterSize,glyph:M.scatterMarker,opacity:S,orthographic:!0,lineWidth:M.scatterLineWidth,lineColor:M.scatterLineColor,project:M.project,projectScale:M.projectScale,projectOpacity:M.projectOpacity},-1!==this.mode.indexOf("markers")?this.scatterPlot?this.scatterPlot.update(r):(this.scatterPlot=i(r),this.scatterPlot._trace=this,this.scatterPlot.highlightScale=1,this.scene.glplot.add(this.scatterPlot)):this.scatterPlot&&(this.scene.glplot.remove(this.scatterPlot),this.scatterPlot.dispose(),this.scatterPlot=null),y={gl:this.scene.glplot.gl,position:M.position,glyph:M.text,color:M.textColor,size:M.textSize,angle:M.textAngle,alignment:M.textOffset,font:M.textFont,orthographic:!0,lineWidth:0,project:!1,opacity:t.opacity},this.textLabels=t.hovertext||t.text,-1!==this.mode.indexOf("text")?this.textMarkers?this.textMarkers.update(y):(this.textMarkers=i(y),this.textMarkers._trace=this,this.textMarkers.highlightScale=1,this.scene.glplot.add(this.textMarkers)):this.textMarkers&&(this.scene.glplot.remove(this.textMarkers),this.textMarkers.dispose(),this.textMarkers=null),p={gl:this.scene.glplot.gl,position:M.position,color:M.errorColor,error:M.errorBounds,lineWidth:M.errorLineWidth,capSize:M.errorCapSize,opacity:t.opacity},this.errorBars?M.errorBounds?this.errorBars.update(p):(this.scene.glplot.remove(this.errorBars),this.errorBars.dispose(),this.errorBars=null):M.errorBounds&&(this.errorBars=a(p),this.errorBars._trace=this,this.scene.glplot.add(this.errorBars)),M.delaunayAxis>=0){var E=function(t,e,r){var n,i=(r+1)%3,a=(r+2)%3,o=[],l=[];for(n=0;n<t.length;++n){var u=t[n];!isNaN(u[i])&&isFinite(u[i])&&!isNaN(u[a])&&isFinite(u[a])&&(o.push([u[i],u[a]]),l.push(n))}var c=s(o);for(n=0;n<c.length;++n)for(var f=c[n],h=0;h<f.length;++h)f[h]=l[f[h]];return{positions:t,cells:c,meshColor:e}}(M.position,M.delaunayColor,M.delaunayAxis);E.opacity=t.opacity,this.delaunayMesh?this.delaunayMesh.update(E):(E.gl=m,this.delaunayMesh=o(E),this.delaunayMesh._trace=this,this.scene.glplot.add(this.delaunayMesh))}else this.delaunayMesh&&(this.scene.glplot.remove(this.delaunayMesh),this.delaunayMesh.dispose(),this.delaunayMesh=null)},m.dispose=function(){this.linePlot&&(this.scene.glplot.remove(this.linePlot),this.linePlot.dispose()),this.scatterPlot&&(this.scene.glplot.remove(this.scatterPlot),this.scatterPlot.dispose()),this.errorBars&&(this.scene.glplot.remove(this.errorBars),this.errorBars.dispose()),this.textMarkers&&(this.scene.glplot.remove(this.textMarkers),this.textMarkers.dispose()),this.delaunayMesh&&(this.scene.glplot.remove(this.delaunayMesh),this.delaunayMesh.dispose())},t.exports=function(t,e){var r=new y(t,e.uid);return r.update(e),r}},21428:function(t,e,r){"use strict";var n=r(73972),i=r(71828),a=r(34098),o=r(49508),s=r(11058),l=r(82410),u=r(44542);t.exports=function(t,e,r,c){function f(r,n){return i.coerce(t,e,u,r,n)}var h=function(t,e,r,i){var a=0,o=r("x"),s=r("y"),l=r("z");return n.getComponentMethod("calendars","handleTraceDefaults")(t,e,["x","y","z"],i),o&&s&&l&&(a=Math.min(o.length,s.length,l.length),e._length=e._xlength=e._ylength=e._zlength=a),a}(t,e,f,c);if(h){f("text"),f("hovertext"),f("hovertemplate"),f("xhoverformat"),f("yhoverformat"),f("zhoverformat"),f("mode"),a.hasLines(e)&&(f("connectgaps"),s(t,e,r,c,f)),a.hasMarkers(e)&&o(t,e,r,c,f,{noSelect:!0,noAngle:!0}),a.hasText(e)&&(f("texttemplate"),l(t,e,c,f,{noSelect:!0}));var p=(e.line||{}).color,d=(e.marker||{}).color;f("surfaceaxis")>=0&&f("surfacecolor",p||d);for(var v=["x","y","z"],g=0;g<3;++g){var y="projection."+v[g];f(y+".show")&&(f(y+".opacity"),f(y+".scale"))}var m=n.getComponentMethod("errorbars","supplyDefaults");m(t,e,p||d||r,{axis:"z"}),m(t,e,p||d||r,{axis:"y",inherit:"z"}),m(t,e,p||d||r,{axis:"x",inherit:"z"})}else e.visible=!1}},13551:function(t,e,r){"use strict";t.exports={plot:r(58925),attributes:r(44542),markerSymbols:r(87381),supplyDefaults:r(21428),colorbar:[{container:"marker",min:"cmin",max:"cmax"},{container:"line",min:"cmin",max:"cmax"}],calc:r(36563),moduleType:"trace",name:"scatter3d",basePlotModule:r(58547),categories:["gl3d","symbols","showLegend","scatter-like"],meta:{}}},97001:function(t,e,r){"use strict";var n=r(82196),i=r(9012),a=r(5386).f,o=r(5386).s,s=r(50693),l=r(1426).extendFlat,u=n.marker,c=n.line,f=u.line;t.exports={carpet:{valType:"string",editType:"calc"},a:{valType:"data_array",editType:"calc"},b:{valType:"data_array",editType:"calc"},mode:l({},n.mode,{dflt:"markers"}),text:l({},n.text,{}),texttemplate:o({editType:"plot"},{keys:["a","b","text"]}),hovertext:l({},n.hovertext,{}),line:{color:c.color,width:c.width,dash:c.dash,backoff:c.backoff,shape:l({},c.shape,{values:["linear","spline"]}),smoothing:c.smoothing,editType:"calc"},connectgaps:n.connectgaps,fill:l({},n.fill,{values:["none","toself","tonext"],dflt:"none"}),fillcolor:n.fillcolor,marker:l({symbol:u.symbol,opacity:u.opacity,maxdisplayed:u.maxdisplayed,angle:u.angle,angleref:u.angleref,standoff:u.standoff,size:u.size,sizeref:u.sizeref,sizemin:u.sizemin,sizemode:u.sizemode,line:l({width:f.width,editType:"calc"},s("marker.line")),gradient:u.gradient,editType:"calc"},s("marker")),textfont:n.textfont,textposition:n.textposition,selected:n.selected,unselected:n.unselected,hoverinfo:l({},i.hoverinfo,{flags:["a","b","text","name"]}),hoveron:n.hoveron,hovertemplate:a()}},34618:function(t,e,r){"use strict";var n=r(92770),i=r(36922),a=r(75225),o=r(66279),s=r(47761).calcMarkerSize,l=r(22882);t.exports=function(t,e){var r=e._carpetTrace=l(t,e);if(r&&r.visible&&"legendonly"!==r.visible){var u;e.xaxis=r.xaxis,e.yaxis=r.yaxis;var c,f,h=e._length,p=new Array(h),d=!1;for(u=0;u<h;u++)if(c=e.a[u],f=e.b[u],n(c)&&n(f)){var v=r.ab2xy(+c,+f,!0),g=r.isVisible(+c,+f);g||(d=!0),p[u]={x:v[0],y:v[1],a:c,b:f,vis:g}}else p[u]={x:!1,y:!1};return e._needsCull=d,p[0].carpet=r,p[0].trace=e,s(e,h),i(t,e),a(p,e),o(p,e),p}}},98965:function(t,e,r){"use strict";var n=r(71828),i=r(47581),a=r(34098),o=r(49508),s=r(11058),l=r(94039),u=r(82410),c=r(28908),f=r(97001);t.exports=function(t,e,r,h){function p(r,i){return n.coerce(t,e,f,r,i)}p("carpet"),e.xaxis="x",e.yaxis="y";var d=p("a"),v=p("b"),g=Math.min(d.length,v.length);if(g){e._length=g,p("text"),p("texttemplate"),p("hovertext"),p("mode",g<i.PTS_LINESONLY?"lines+markers":"lines"),a.hasLines(e)&&(s(t,e,r,h,p,{backoff:!0}),l(t,e,p),p("connectgaps")),a.hasMarkers(e)&&o(t,e,r,h,p,{gradient:!0}),a.hasText(e)&&u(t,e,h,p);var y=[];(a.hasMarkers(e)||a.hasText(e))&&(p("marker.maxdisplayed"),y.push("points")),p("fill"),"none"!==e.fill&&(c(t,e,r,p),a.hasLines(e)||l(t,e,p)),"tonext"!==e.fill&&"toself"!==e.fill||y.push("fills"),"fills"!==p("hoveron",y.join("+")||"points")&&p("hovertemplate"),n.coerceSelectionMarkerOpacity(e,p)}else e.visible=!1}},16165:function(t){"use strict";t.exports=function(t,e,r,n,i){var a=n[i];return t.a=a.a,t.b=a.b,t.y=a.y,t}},48953:function(t){"use strict";t.exports=function(t,e){var r={},n=e._carpet,i=n.ab2ij([t.a,t.b]),a=Math.floor(i[0]),o=i[0]-a,s=Math.floor(i[1]),l=i[1]-s,u=n.evalxy([],a,s,o,l);return r.yLabel=u[1].toFixed(3),r}},22931:function(t,e,r){"use strict";var n=r(33720),i=r(71828).fillText;t.exports=function(t,e,r,a){var o=n(t,e,r,a);if(o&&!1!==o[0].index){var s=o[0];if(void 0===s.index){var l=1-s.y0/t.ya._length,u=t.xa._length,c=u*l/2,f=u-c;return s.x0=Math.max(Math.min(s.x0,f),c),s.x1=Math.max(Math.min(s.x1,f),c),o}var h=s.cd[s.index];s.a=h.a,s.b=h.b,s.xLabelVal=void 0,s.yLabelVal=void 0;var p=s.trace,d=p._carpet,v=p._module.formatLabels(h,p);s.yLabel=v.yLabel,delete s.text;var g=[];if(!p.hovertemplate){var y=(h.hi||p.hoverinfo).split("+");-1!==y.indexOf("all")&&(y=["a","b","text"]),-1!==y.indexOf("a")&&m(d.aaxis,h.a),-1!==y.indexOf("b")&&m(d.baxis,h.b),g.push("y: "+s.yLabel),-1!==y.indexOf("text")&&i(h,p,g),s.extraText=g.join("<br>")}return o}function m(t,e){var r;r=t.labelprefix&&t.labelprefix.length>0?t.labelprefix.replace(/ = $/,""):t._hovertitle,g.push(r+": "+e.toFixed(3)+t.labelsuffix)}}},46858:function(t,e,r){"use strict";t.exports={attributes:r(97001),supplyDefaults:r(98965),colorbar:r(4898),formatLabels:r(48953),calc:r(34618),plot:r(1913),style:r(16296).style,styleOnSelect:r(16296).styleOnSelect,hoverPoints:r(22931),selectPoints:r(98002),eventData:r(16165),moduleType:"trace",name:"scattercarpet",basePlotModule:r(93612),categories:["svg","carpet","symbols","showLegend","carpetDependent","zoomScale"],meta:{}}},1913:function(t,e,r){"use strict";var n=r(32663),i=r(89298),a=r(91424);t.exports=function(t,e,r,o){var s,l,u,c=r[0][0].carpet,f=i.getFromId(t,c.xaxis||"x"),h=i.getFromId(t,c.yaxis||"y"),p={xaxis:f,yaxis:h,plot:e.plot};for(s=0;s<r.length;s++)(l=r[s][0].trace)._xA=f,l._yA=h;for(n(t,p,r,o),s=0;s<r.length;s++)l=r[s][0].trace,u=o.selectAll("g.trace"+l.uid+" .js-line"),a.setClipUrl(u,r[s][0].carpet._clipPathId,t)}},19316:function(t,e,r){"use strict";var n=r(5386).f,i=r(5386).s,a=r(82196),o=r(9012),s=r(50693),l=r(79952).P,u=r(1426).extendFlat,c=r(30962).overrideAll,f=a.marker,h=a.line,p=f.line;t.exports=c({lon:{valType:"data_array"},lat:{valType:"data_array"},locations:{valType:"data_array"},locationmode:{valType:"enumerated",values:["ISO-3","USA-states","country names","geojson-id"],dflt:"ISO-3"},geojson:{valType:"any",editType:"calc"},featureidkey:{valType:"string",editType:"calc",dflt:"id"},mode:u({},a.mode,{dflt:"markers"}),text:u({},a.text,{}),texttemplate:i({editType:"plot"},{keys:["lat","lon","location","text"]}),hovertext:u({},a.hovertext,{}),textfont:a.textfont,textposition:a.textposition,line:{color:h.color,width:h.width,dash:l},connectgaps:a.connectgaps,marker:u({symbol:f.symbol,opacity:f.opacity,angle:f.angle,angleref:u({},f.angleref,{values:["previous","up","north"]}),standoff:f.standoff,size:f.size,sizeref:f.sizeref,sizemin:f.sizemin,sizemode:f.sizemode,colorbar:f.colorbar,line:u({width:p.width},s("marker.line")),gradient:f.gradient},s("marker")),fill:{valType:"enumerated",values:["none","toself"],dflt:"none"},fillcolor:a.fillcolor,selected:a.selected,unselected:a.unselected,hoverinfo:u({},o.hoverinfo,{flags:["lon","lat","location","text","name"]}),hovertemplate:n()},"calc","nested")},84622:function(t,e,r){"use strict";var n=r(92770),i=r(50606).BADNUM,a=r(36922),o=r(75225),s=r(66279),l=r(71828)._;function u(t){return t&&"string"==typeof t}t.exports=function(t,e){var r,c=Array.isArray(e.locations),f=c?e.locations.length:e._length,h=new Array(f);r=e.geojson?function(t){return u(t)||n(t)}:u;for(var p=0;p<f;p++){var d=h[p]={};if(c){var v=e.locations[p];d.loc=r(v)?v:null}else{var g=e.lon[p],y=e.lat[p];n(g)&&n(y)?d.lonlat=[+g,+y]:d.lonlat=[i,i]}}return o(h,e),a(t,e),s(h,e),f&&(h[0].t={labels:{lat:l(t,"lat:")+" ",lon:l(t,"lon:")+" "}}),h}},10659:function(t,e,r){"use strict";var n=r(71828),i=r(34098),a=r(49508),o=r(11058),s=r(82410),l=r(28908),u=r(19316);t.exports=function(t,e,r,c){function f(r,i){return n.coerce(t,e,u,r,i)}var h,p=f("locations");if(p&&p.length){var d,v=f("geojson");("string"==typeof v&&""!==v||n.isPlainObject(v))&&(d="geojson-id"),"geojson-id"===f("locationmode",d)&&f("featureidkey"),h=p.length}else{var g=f("lon")||[],y=f("lat")||[];h=Math.min(g.length,y.length)}h?(e._length=h,f("text"),f("hovertext"),f("hovertemplate"),f("mode"),i.hasLines(e)&&(o(t,e,r,c,f),f("connectgaps")),i.hasMarkers(e)&&a(t,e,r,c,f,{gradient:!0}),i.hasText(e)&&(f("texttemplate"),s(t,e,c,f)),f("fill"),"none"!==e.fill&&l(t,e,r,f),n.coerceSelectionMarkerOpacity(e,f)):e.visible=!1}},84084:function(t){"use strict";t.exports=function(t,e,r,n,i){t.lon=e.lon,t.lat=e.lat,t.location=e.loc?e.loc:null;var a=n[i];return a.fIn&&a.fIn.properties&&(t.properties=a.fIn.properties),t}},82719:function(t,e,r){"use strict";var n=r(89298);t.exports=function(t,e,r){var i={},a=r[e.geo]._subplot.mockAxis,o=t.lonlat;return i.lonLabel=n.tickText(a,a.c2l(o[0]),!0).text,i.latLabel=n.tickText(a,a.c2l(o[1]),!0).text,i}},14977:function(t,e,r){"use strict";var n=r(30211),i=r(50606).BADNUM,a=r(34603),o=r(71828).fillText,s=r(19316);t.exports=function(t,e,r){var l=t.cd,u=l[0].trace,c=t.xa,f=t.ya,h=t.subplot,p=h.projection.isLonLatOverEdges,d=h.project;if(n.getClosest(l,(function(t){var n=t.lonlat;if(n[0]===i)return 1/0;if(p(n))return 1/0;var a=d(n),o=d([e,r]),s=Math.abs(a[0]-o[0]),l=Math.abs(a[1]-o[1]),u=Math.max(3,t.mrc||0);return Math.max(Math.sqrt(s*s+l*l)-u,1-3/u)}),t),!1!==t.index){var v=l[t.index],g=v.lonlat,y=[c.c2p(g),f.c2p(g)],m=v.mrc||1;t.x0=y[0]-m,t.x1=y[0]+m,t.y0=y[1]-m,t.y1=y[1]+m,t.loc=v.loc,t.lon=g[0],t.lat=g[1];var x={};x[u.geo]={_subplot:h};var b=u._module.formatLabels(v,u,x);return t.lonLabel=b.lonLabel,t.latLabel=b.latLabel,t.color=a(u,v),t.extraText=function(t,e,r,n){if(!t.hovertemplate){var i=e.hi||t.hoverinfo,a="all"===i?s.hoverinfo.flags:i.split("+"),l=-1!==a.indexOf("location")&&Array.isArray(t.locations),u=-1!==a.indexOf("lon"),c=-1!==a.indexOf("lat"),f=-1!==a.indexOf("text"),h=[];return l?h.push(e.loc):u&&c?h.push("("+p(r.latLabel)+", "+p(r.lonLabel)+")"):u?h.push(n.lon+p(r.lonLabel)):c&&h.push(n.lat+p(r.latLabel)),f&&o(e,t,h),h.join("<br>")}function p(t){return t+"°"}}(u,v,t,l[0].t.labels),t.hovertemplate=u.hovertemplate,[t]}}},17988:function(t,e,r){"use strict";t.exports={attributes:r(19316),supplyDefaults:r(10659),colorbar:r(4898),formatLabels:r(82719),calc:r(84622),calcGeoJSON:r(89171).calcGeoJSON,plot:r(89171).plot,style:r(33095),styleOnSelect:r(16296).styleOnSelect,hoverPoints:r(14977),eventData:r(84084),selectPoints:r(20548),moduleType:"trace",name:"scattergeo",basePlotModule:r(44622),categories:["geo","symbols","showLegend","scatter-like"],meta:{}}},89171:function(t,e,r){"use strict";var n=r(39898),i=r(71828),a=r(90973).getTopojsonFeatures,o=r(18214),s=r(41327),l=r(71739).findExtremes,u=r(50606).BADNUM,c=r(47761).calcMarkerSize,f=r(34098),h=r(33095);t.exports={calcGeoJSON:function(t,e){var r,n,i=t[0].trace,o=e[i.geo],f=o._subplot,h=i._length;if(Array.isArray(i.locations)){var p=i.locationmode,d="geojson-id"===p?s.extractTraceFeature(t):a(i,f.topojson);for(r=0;r<h;r++){n=t[r];var v="geojson-id"===p?n.fOut:s.locationToFeature(p,n.loc,d);n.lonlat=v?v.properties.ct:[u,u]}}var g,y,m={padded:!0};if("geojson"===o.fitbounds&&"geojson-id"===i.locationmode){var x=s.computeBbox(s.getTraceGeojson(i));g=[x[0],x[2]],y=[x[1],x[3]]}else{for(g=new Array(h),y=new Array(h),r=0;r<h;r++)n=t[r],g[r]=n.lonlat[0],y[r]=n.lonlat[1];m.ppad=c(i,h)}i._extremes.lon=l(o.lonaxis._ax,g,m),i._extremes.lat=l(o.lataxis._ax,y,m)},plot:function(t,e,r){var a=e.layers.frontplot.select(".scatterlayer"),s=i.makeTraceGroups(a,r,"trace scattergeo");function l(t,e){t.lonlat[0]===u&&n.select(e).remove()}s.selectAll("*").remove(),s.each((function(e){var r=n.select(this),a=e[0].trace;if(f.hasLines(a)||"none"!==a.fill){var s=o.calcTraceToLineCoords(e),u="none"!==a.fill?o.makePolygon(s):o.makeLine(s);r.selectAll("path.js-line").data([{geojson:u,trace:a}]).enter().append("path").classed("js-line",!0).style("stroke-miterlimit",2)}f.hasMarkers(a)&&r.selectAll("path.point").data(i.identity).enter().append("path").classed("point",!0).each((function(t){l(t,this)})),f.hasText(a)&&r.selectAll("g").data(i.identity).enter().append("g").append("text").each((function(t){l(t,this)})),h(t,e)}))}}},20548:function(t,e,r){"use strict";var n=r(34098),i=r(50606).BADNUM;t.exports=function(t,e){var r,a,o,s,l,u=t.cd,c=t.xaxis,f=t.yaxis,h=[],p=u[0].trace;if(!n.hasMarkers(p)&&!n.hasText(p))return[];if(!1===e)for(l=0;l<u.length;l++)u[l].selected=0;else for(l=0;l<u.length;l++)(a=(r=u[l]).lonlat)[0]!==i&&(o=c.c2p(a),s=f.c2p(a),e.contains([o,s],null,l,t)?(h.push({pointNumber:l,lon:a[0],lat:a[1]}),r.selected=1):r.selected=0);return h}},33095:function(t,e,r){"use strict";var n=r(39898),i=r(91424),a=r(7901),o=r(16296),s=o.stylePoints,l=o.styleText;t.exports=function(t,e){e&&function(t,e){var r=e[0].trace,o=e[0].node3;o.style("opacity",e[0].trace.opacity),s(o,r,t),l(o,r,t),o.selectAll("path.js-line").style("fill","none").each((function(t){var e=n.select(this),r=t.trace,o=r.line||{};e.call(a.stroke,o.color).call(i.dashLine,o.dash||"",o.width||0),"none"!==r.fill&&e.call(a.fill,r.fillcolor)}))}(t,e)}},42341:function(t,e,r){"use strict";var n=r(9012),i=r(82196),a=r(12663).axisHoverFormat,o=r(50693),s=r(78607),l=r(1426).extendFlat,u=r(30962).overrideAll,c=r(78232).DASHES,f=i.line,h=i.marker,p=h.line,d=t.exports=u({x:i.x,x0:i.x0,dx:i.dx,y:i.y,y0:i.y0,dy:i.dy,xperiod:i.xperiod,yperiod:i.yperiod,xperiod0:i.xperiod0,yperiod0:i.yperiod0,xperiodalignment:i.xperiodalignment,yperiodalignment:i.yperiodalignment,xhoverformat:a("x"),yhoverformat:a("y"),text:i.text,hovertext:i.hovertext,textposition:i.textposition,textfont:i.textfont,mode:{valType:"flaglist",flags:["lines","markers","text"],extras:["none"]},line:{color:f.color,width:f.width,shape:{valType:"enumerated",values:["linear","hv","vh","hvh","vhv"],dflt:"linear",editType:"plot"},dash:{valType:"enumerated",values:s(c),dflt:"solid"}},marker:l({},o("marker"),{symbol:h.symbol,angle:h.angle,size:h.size,sizeref:h.sizeref,sizemin:h.sizemin,sizemode:h.sizemode,opacity:h.opacity,colorbar:h.colorbar,line:l({},o("marker.line"),{width:p.width})}),connectgaps:i.connectgaps,fill:l({},i.fill,{dflt:"none"}),fillcolor:i.fillcolor,selected:{marker:i.selected.marker,textfont:i.selected.textfont},unselected:{marker:i.unselected.marker,textfont:i.unselected.textfont},opacity:n.opacity},"calc","nested");d.x.editType=d.y.editType=d.x0.editType=d.y0.editType="calc+clearAxisTypes",d.hovertemplate=i.hovertemplate,d.texttemplate=i.texttemplate},72156:function(t,e,r){"use strict";var n=r(20794);t.exports={moduleType:"trace",name:"scattergl",basePlotModule:r(93612),categories:["gl","regl","cartesian","symbols","errorBarsOK","showLegend","scatter-like"],attributes:r(42341),supplyDefaults:r(47148),crossTraceDefaults:r(34936),colorbar:r(4898),formatLabels:r(68101),calc:r(45032),hoverPoints:n.hoverPoints,selectPoints:r(58147),meta:{}}},45032:function(t,e,r){"use strict";var n=r(88294),i=r(71828),a=r(41675),o=r(71739).findExtremes,s=r(42973),l=r(47761),u=l.calcMarkerSize,c=l.calcAxisExpansion,f=l.setFirstScatter,h=r(36922),p=r(19635),d=r(38967),v=r(50606).BADNUM,g=r(78232).TOO_MANY_POINTS;function y(t,e,r){var n=t._extremes[e._id],i=o(e,r._bnds,{padded:!0});n.min=n.min.concat(i.min),n.max=n.max.concat(i.max)}t.exports=function(t,e){var r,o=t._fullLayout,l=e._xA=a.getFromId(t,e.xaxis,"x"),m=e._yA=a.getFromId(t,e.yaxis,"y"),x=o._plots[e.xaxis+e.yaxis],b=e._length,_=b>=g,w=2*b,T={},k=l.makeCalcdata(e,"x"),A=m.makeCalcdata(e,"y"),M=s(e,l,"x",k),S=s(e,m,"y",A),E=M.vals,L=S.vals;e._x=E,e._y=L,e.xperiodalignment&&(e._origX=k,e._xStarts=M.starts,e._xEnds=M.ends),e.yperiodalignment&&(e._origY=A,e._yStarts=S.starts,e._yEnds=S.ends);var C=new Array(w),P=new Array(b);for(r=0;r<b;r++)C[2*r]=E[r]===v?NaN:E[r],C[2*r+1]=L[r]===v?NaN:L[r],P[r]=r;if("log"===l.type)for(r=0;r<w;r+=2)C[r]=l.c2l(C[r]);if("log"===m.type)for(r=1;r<w;r+=2)C[r]=m.c2l(C[r]);_&&"log"!==l.type&&"log"!==m.type?T.tree=n(C):T.ids=P,h(t,e);var O,I=function(t,e,r,n,a,o){var s=p.style(t,r);if(s.marker&&(s.marker.positions=n),s.line&&n.length>1&&i.extendFlat(s.line,p.linePositions(t,r,n)),s.errorX||s.errorY){var l=p.errorBarPositions(t,r,n,a,o);s.errorX&&i.extendFlat(s.errorX,l.x),s.errorY&&i.extendFlat(s.errorY,l.y)}return s.text&&(i.extendFlat(s.text,{positions:n},p.textPosition(t,r,s.text,s.marker)),i.extendFlat(s.textSel,{positions:n},p.textPosition(t,r,s.text,s.markerSel)),i.extendFlat(s.textUnsel,{positions:n},p.textPosition(t,r,s.text,s.markerUnsel))),s}(t,0,e,C,E,L),D=d(t,x);return f(o,e),_?I.marker&&(O=I.marker.sizeAvg||Math.max(I.marker.size,3)):O=u(e,b),c(t,e,l,m,E,L,O),I.errorX&&y(e,l,I.errorX),I.errorY&&y(e,m,I.errorY),I.fill&&!D.fill2d&&(D.fill2d=!0),I.marker&&!D.scatter2d&&(D.scatter2d=!0),I.line&&!D.line2d&&(D.line2d=!0),!I.errorX&&!I.errorY||D.error2d||(D.error2d=!0),I.text&&!D.glText&&(D.glText=!0),I.marker&&(I.marker.snap=b),D.lineOptions.push(I.line),D.errorXOptions.push(I.errorX),D.errorYOptions.push(I.errorY),D.fillOptions.push(I.fill),D.markerOptions.push(I.marker),D.markerSelectedOptions.push(I.markerSel),D.markerUnselectedOptions.push(I.markerUnsel),D.textOptions.push(I.text),D.textSelectedOptions.push(I.textSel),D.textUnselectedOptions.push(I.textUnsel),D.selectBatch.push([]),D.unselectBatch.push([]),T._scene=D,T.index=D.count,T.x=E,T.y=L,T.positions=C,D.count++,[{x:!1,y:!1,t:T,trace:e}]}},78232:function(t){"use strict";t.exports={TOO_MANY_POINTS:1e5,SYMBOL_SDF_SIZE:200,SYMBOL_SIZE:20,SYMBOL_STROKE:1,DOT_RE:/-dot/,OPEN_RE:/-open/,DASHES:{solid:[1],dot:[1,1],dash:[4,1],longdash:[8,1],dashdot:[4,1,1,1],longdashdot:[8,1,1,1]}}},19635:function(t,e,r){"use strict";var n=r(92770),i=r(82019),a=r(25075),o=r(73972),s=r(71828),l=r(91424),u=r(41675),c=r(81697).formatColor,f=r(34098),h=r(39984),p=r(68645),d=r(78232),v=r(37822).DESELECTDIM,g={start:1,left:1,end:-1,right:-1,middle:0,center:0,bottom:1,top:-1},y=r(23469).appendArrayPointValue;function m(t,e){var r,i=t._fullLayout,a=e._length,o=e.textfont,l=e.textposition,u=Array.isArray(l)?l:[l],c=o.color,f=o.size,h=o.family,p={},d=t._context.plotGlPixelRatio,v=e.texttemplate;if(v){p.text=[];var g=i._d3locale,m=Array.isArray(v),x=m?Math.min(v.length,a):a,b=m?function(t){return v[t]}:function(){return v};for(r=0;r<x;r++){var _={i:r},w=e._module.formatLabels(_,e,i),T={};y(T,e,r);var k=e._meta||{};p.text.push(s.texttemplateString(b(r),w,g,T,_,k))}}else Array.isArray(e.text)&&e.text.length<a?p.text=e.text.slice():p.text=e.text;if(Array.isArray(p.text))for(r=p.text.length;r<a;r++)p.text[r]="";for(p.opacity=e.opacity,p.font={},p.align=[],p.baseline=[],r=0;r<u.length;r++){var A=u[r].split(/\s+/);switch(A[1]){case"left":p.align.push("right");break;case"right":p.align.push("left");break;default:p.align.push(A[1])}switch(A[0]){case"top":p.baseline.push("bottom");break;case"bottom":p.baseline.push("top");break;default:p.baseline.push(A[0])}}if(Array.isArray(c))for(p.color=new Array(a),r=0;r<a;r++)p.color[r]=c[r];else p.color=c;if(s.isArrayOrTypedArray(f)||Array.isArray(h))for(p.font=new Array(a),r=0;r<a;r++){var M=p.font[r]={};M.size=(s.isTypedArray(f)?f[r]:Array.isArray(f)?n(f[r])?f[r]:0:f)*d,M.family=Array.isArray(h)?h[r]:h}else p.font={size:f*d,family:h};return p}function x(t,e){var r,n,i=e._length,o=e.marker,l={},u=s.isArrayOrTypedArray(o.symbol),f=s.isArrayOrTypedArray(o.angle),d=s.isArrayOrTypedArray(o.color),v=s.isArrayOrTypedArray(o.line.color),g=s.isArrayOrTypedArray(o.opacity),y=s.isArrayOrTypedArray(o.size),m=s.isArrayOrTypedArray(o.line.width);if(u||(n=p.isOpenSymbol(o.symbol)),u||d||v||g||f){l.symbols=new Array(i),l.angles=new Array(i),l.colors=new Array(i),l.borderColors=new Array(i);var x=o.symbol,b=o.angle,_=c(o,o.opacity,i),w=c(o.line,o.opacity,i);if(!Array.isArray(w[0])){var T=w;for(w=Array(i),r=0;r<i;r++)w[r]=T}if(!Array.isArray(_[0])){var k=_;for(_=Array(i),r=0;r<i;r++)_[r]=k}if(!Array.isArray(x)){var A=x;for(x=Array(i),r=0;r<i;r++)x[r]=A}if(!Array.isArray(b)){var M=b;for(b=Array(i),r=0;r<i;r++)b[r]=M}for(l.symbols=x,l.angles=b,l.colors=_,l.borderColors=w,r=0;r<i;r++)u&&(n=p.isOpenSymbol(o.symbol[r])),n&&(w[r]=_[r].slice(),_[r]=_[r].slice(),_[r][3]=0);for(l.opacity=e.opacity,l.markers=new Array(i),r=0;r<i;r++)l.markers[r]=E({mx:l.symbols[r],ma:l.angles[r]},e)}else n?(l.color=a(o.color,"uint8"),l.color[3]=0,l.borderColor=a(o.color,"uint8")):(l.color=a(o.color,"uint8"),l.borderColor=a(o.line.color,"uint8")),l.opacity=e.opacity*o.opacity,l.marker=E({mx:o.symbol,ma:o.angle},e);var S,L=h(e,1);if(y||m){var C,P=l.sizes=new Array(i),O=l.borderSizes=new Array(i),I=0;if(y){for(r=0;r<i;r++)P[r]=L(o.size[r]),I+=P[r];C=I/i}else for(S=L(o.size),r=0;r<i;r++)P[r]=S;if(m)for(r=0;r<i;r++)O[r]=o.line.width[r];else for(S=o.line.width,r=0;r<i;r++)O[r]=S;l.sizeAvg=C}else l.size=L(o&&o.size||10),l.borderSizes=L(o.line.width);return l}function b(t,e,r){var n=e.marker,i={};return r?(r.marker&&r.marker.symbol?i=x(0,s.extendFlat({},n,r.marker)):r.marker&&(r.marker.size&&(i.size=r.marker.size),r.marker.color&&(i.colors=r.marker.color),void 0!==r.marker.opacity&&(i.opacity=r.marker.opacity)),i):i}function _(t,e,r){var n={};if(!r)return n;if(r.textfont){var i={opacity:1,text:e.text,texttemplate:e.texttemplate,textposition:e.textposition,textfont:s.extendFlat({},e.textfont)};r.textfont&&s.extendFlat(i.textfont,r.textfont),n=m(t,i)}return n}function w(t,e,r){var n={capSize:2*e.width*r,lineWidth:e.thickness*r,color:e.color};return e.copy_ystyle&&(n=t.error_y),n}var T=d.SYMBOL_SDF_SIZE,k=d.SYMBOL_SIZE,A=d.SYMBOL_STROKE,M={},S=l.symbolFuncs[0](.05*k);function E(t,e){var r,n,a=t.mx;if("circle"===a)return null;var o=l.symbolNumber(a),s=l.symbolFuncs[o%100],u=!!l.symbolNoDot[o%100],c=!!l.symbolNoFill[o%100],f=p.isDotSymbol(a);if(t.ma&&(a+="_"+t.ma),M[a])return M[a];var h=l.getMarkerAngle(t,e);return r=f&&!u?s(1.1*k,h)+S:s(k,h),n=i(r,{w:T,h:T,viewBox:[-k,-k,k,k],stroke:c?A:-A}),M[a]=n,n||null}t.exports={style:function(t,e){var r,n={marker:void 0,markerSel:void 0,markerUnsel:void 0,line:void 0,fill:void 0,errorX:void 0,errorY:void 0,text:void 0,textSel:void 0,textUnsel:void 0},i=t._context.plotGlPixelRatio;if(!0!==e.visible)return n;if(f.hasText(e)&&(n.text=m(t,e),n.textSel=_(t,e,e.selected),n.textUnsel=_(t,e,e.unselected)),f.hasMarkers(e)&&(n.marker=x(0,e),n.markerSel=b(0,e,e.selected),n.markerUnsel=b(0,e,e.unselected),!e.unselected&&s.isArrayOrTypedArray(e.marker.opacity))){var a=e.marker.opacity;for(n.markerUnsel.opacity=new Array(a.length),r=0;r<a.length;r++)n.markerUnsel.opacity[r]=v*a[r]}if(f.hasLines(e)){n.line={overlay:!0,thickness:e.line.width*i,color:e.line.color,opacity:e.opacity};var o=(d.DASHES[e.line.dash]||[1]).slice();for(r=0;r<o.length;++r)o[r]*=e.line.width*i;n.line.dashes=o}return e.error_x&&e.error_x.visible&&(n.errorX=w(e,e.error_x,i)),e.error_y&&e.error_y.visible&&(n.errorY=w(e,e.error_y,i)),e.fill&&"none"!==e.fill&&(n.fill={closed:!0,fill:e.fillcolor,thickness:0}),n},markerStyle:x,markerSelection:b,linePositions:function(t,e,r){var n,i,a=r.length,o=a/2;if(f.hasLines(e)&&o)if("hv"===e.line.shape){for(n=[],i=0;i<o-1;i++)isNaN(r[2*i])||isNaN(r[2*i+1])?n.push(NaN,NaN,NaN,NaN):(n.push(r[2*i],r[2*i+1]),isNaN(r[2*i+2])||isNaN(r[2*i+3])?n.push(NaN,NaN):n.push(r[2*i+2],r[2*i+1]));n.push(r[a-2],r[a-1])}else if("hvh"===e.line.shape){for(n=[],i=0;i<o-1;i++)if(isNaN(r[2*i])||isNaN(r[2*i+1])||isNaN(r[2*i+2])||isNaN(r[2*i+3]))isNaN(r[2*i])||isNaN(r[2*i+1])?n.push(NaN,NaN):n.push(r[2*i],r[2*i+1]),n.push(NaN,NaN);else{var s=(r[2*i]+r[2*i+2])/2;n.push(r[2*i],r[2*i+1],s,r[2*i+1],s,r[2*i+3])}n.push(r[a-2],r[a-1])}else if("vhv"===e.line.shape){for(n=[],i=0;i<o-1;i++)if(isNaN(r[2*i])||isNaN(r[2*i+1])||isNaN(r[2*i+2])||isNaN(r[2*i+3]))isNaN(r[2*i])||isNaN(r[2*i+1])?n.push(NaN,NaN):n.push(r[2*i],r[2*i+1]),n.push(NaN,NaN);else{var l=(r[2*i+1]+r[2*i+3])/2;n.push(r[2*i],r[2*i+1],r[2*i],l,r[2*i+2],l)}n.push(r[a-2],r[a-1])}else if("vh"===e.line.shape){for(n=[],i=0;i<o-1;i++)isNaN(r[2*i])||isNaN(r[2*i+1])?n.push(NaN,NaN,NaN,NaN):(n.push(r[2*i],r[2*i+1]),isNaN(r[2*i+2])||isNaN(r[2*i+3])?n.push(NaN,NaN):n.push(r[2*i],r[2*i+3]));n.push(r[a-2],r[a-1])}else n=r;var u=!1;for(i=0;i<n.length;i++)if(isNaN(n[i])){u=!0;break}var c=u||n.length>d.TOO_MANY_POINTS||f.hasMarkers(e)?"rect":"round";if(u&&e.connectgaps){var h=n[0],p=n[1];for(i=0;i<n.length;i+=2)isNaN(n[i])||isNaN(n[i+1])?(n[i]=h,n[i+1]=p):(h=n[i],p=n[i+1])}return{join:c,positions:n}},errorBarPositions:function(t,e,r,i,a){var s=o.getComponentMethod("errorbars","makeComputeError"),l=u.getFromId(t,e.xaxis,"x"),c=u.getFromId(t,e.yaxis,"y"),f=r.length/2,h={};function p(t,i){var a=i._id.charAt(0),o=e["error_"+a];if(o&&o.visible&&("linear"===i.type||"log"===i.type)){for(var l=s(o),u={x:0,y:1}[a],c={x:[0,1,2,3],y:[2,3,0,1]}[a],p=new Float64Array(4*f),d=1/0,v=-1/0,g=0,y=0;g<f;g++,y+=4){var m=t[g];if(n(m)){var x=r[2*g+u],b=l(m,g),_=b[0],w=b[1];if(n(_)&&n(w)){var T=m-_,k=m+w;p[y+c[0]]=x-i.c2l(T),p[y+c[1]]=i.c2l(k)-x,p[y+c[2]]=0,p[y+c[3]]=0,d=Math.min(d,m-_),v=Math.max(v,m+w)}}}h[a]={positions:r,errors:p,_bnds:[d,v]}}}return p(i,l),p(a,c),h},textPosition:function(t,e,r,n){var i,a=e._length,o={};if(f.hasMarkers(e)){var s=r.font,l=r.align,u=r.baseline;for(o.offset=new Array(a),i=0;i<a;i++){var c=n.sizes?n.sizes[i]:n.size,h=Array.isArray(s)?s[i].size:s.size,p=Array.isArray(l)?l.length>1?l[i]:l[0]:l,d=Array.isArray(u)?u.length>1?u[i]:u[0]:u,v=g[p],y=g[d],m=c?c/.8+1:0,x=-y*m-.5*y;o.offset[i]=[v*m/h,x/h]}}return o}}},47148:function(t,e,r){"use strict";var n=r(71828),i=r(73972),a=r(68645),o=r(42341),s=r(47581),l=r(34098),u=r(67513),c=r(73927),f=r(49508),h=r(11058),p=r(28908),d=r(82410);t.exports=function(t,e,r,v){function g(r,i){return n.coerce(t,e,o,r,i)}var y=!!t.marker&&a.isOpenSymbol(t.marker.symbol),m=l.isBubble(t),x=u(t,e,v,g);if(x){c(t,e,v,g),g("xhoverformat"),g("yhoverformat");var b=x<s.PTS_LINESONLY?"lines+markers":"lines";g("text"),g("hovertext"),g("hovertemplate"),g("mode",b),l.hasLines(e)&&(g("connectgaps"),h(t,e,r,v,g),g("line.shape")),l.hasMarkers(e)&&(f(t,e,r,v,g,{noAngleRef:!0,noStandOff:!0}),g("marker.line.width",y||m?1:0)),l.hasText(e)&&(g("texttemplate"),d(t,e,v,g));var _=(e.line||{}).color,w=(e.marker||{}).color;g("fill"),"none"!==e.fill&&p(t,e,r,g);var T=i.getComponentMethod("errorbars","supplyDefaults");T(t,e,_||w||r,{axis:"y"}),T(t,e,_||w||r,{axis:"x",inherit:"y"}),n.coerceSelectionMarkerOpacity(e,g)}else e.visible=!1}},5345:function(t,e,r){"use strict";var n=r(71828),i=r(7901),a=r(37822).DESELECTDIM;t.exports={styleTextSelection:function(t){var e,r,o=t[0],s=o.trace,l=o.t,u=l._scene,c=l.index,f=u.selectBatch[c],h=u.unselectBatch[c],p=u.textOptions[c],d=u.textSelectedOptions[c]||{},v=u.textUnselectedOptions[c]||{},g=n.extendFlat({},p);if(f.length||h.length){var y=d.color,m=v.color,x=p.color,b=Array.isArray(x);for(g.color=new Array(s._length),e=0;e<f.length;e++)r=f[e],g.color[r]=y||(b?x[r]:x);for(e=0;e<h.length;e++){r=h[e];var _=b?x[r]:x;g.color[r]=m||(y?_:i.addOpacity(_,a))}}u.glText[c].update(g)}}},68101:function(t,e,r){"use strict";var n=r(8225);t.exports=function(t,e,r){var i=t.i;return"x"in t||(t.x=e._x[i]),"y"in t||(t.y=e._y[i]),n(t,e,r)}},68645:function(t,e,r){"use strict";var n=r(78232);e.isOpenSymbol=function(t){return"string"==typeof t?n.OPEN_RE.test(t):t%200>100},e.isDotSymbol=function(t){return"string"==typeof t?n.DOT_RE.test(t):t>200}},20794:function(t,e,r){"use strict";var n=r(73972),i=r(71828),a=r(34603);function o(t,e,r,o){var s=t.xa,l=t.ya,u=t.distance,c=t.dxy,f=t.index,h={pointNumber:f,x:e[f],y:r[f]};h.tx=Array.isArray(o.text)?o.text[f]:o.text,h.htx=Array.isArray(o.hovertext)?o.hovertext[f]:o.hovertext,h.data=Array.isArray(o.customdata)?o.customdata[f]:o.customdata,h.tp=Array.isArray(o.textposition)?o.textposition[f]:o.textposition;var p=o.textfont;p&&(h.ts=i.isArrayOrTypedArray(p.size)?p.size[f]:p.size,h.tc=Array.isArray(p.color)?p.color[f]:p.color,h.tf=Array.isArray(p.family)?p.family[f]:p.family);var d=o.marker;d&&(h.ms=i.isArrayOrTypedArray(d.size)?d.size[f]:d.size,h.mo=i.isArrayOrTypedArray(d.opacity)?d.opacity[f]:d.opacity,h.mx=i.isArrayOrTypedArray(d.symbol)?d.symbol[f]:d.symbol,h.ma=i.isArrayOrTypedArray(d.angle)?d.angle[f]:d.angle,h.mc=i.isArrayOrTypedArray(d.color)?d.color[f]:d.color);var v=d&&d.line;v&&(h.mlc=Array.isArray(v.color)?v.color[f]:v.color,h.mlw=i.isArrayOrTypedArray(v.width)?v.width[f]:v.width);var g=d&&d.gradient;g&&"none"!==g.type&&(h.mgt=Array.isArray(g.type)?g.type[f]:g.type,h.mgc=Array.isArray(g.color)?g.color[f]:g.color);var y=s.c2p(h.x,!0),m=l.c2p(h.y,!0),x=h.mrc||1,b=o.hoverlabel;b&&(h.hbg=Array.isArray(b.bgcolor)?b.bgcolor[f]:b.bgcolor,h.hbc=Array.isArray(b.bordercolor)?b.bordercolor[f]:b.bordercolor,h.hts=i.isArrayOrTypedArray(b.font.size)?b.font.size[f]:b.font.size,h.htc=Array.isArray(b.font.color)?b.font.color[f]:b.font.color,h.htf=Array.isArray(b.font.family)?b.font.family[f]:b.font.family,h.hnl=i.isArrayOrTypedArray(b.namelength)?b.namelength[f]:b.namelength);var _=o.hoverinfo;_&&(h.hi=Array.isArray(_)?_[f]:_);var w=o.hovertemplate;w&&(h.ht=Array.isArray(w)?w[f]:w);var T={};T[t.index]=h;var k=o._origX,A=o._origY,M=i.extendFlat({},t,{color:a(o,h),x0:y-x,x1:y+x,xLabelVal:k?k[f]:h.x,y0:m-x,y1:m+x,yLabelVal:A?A[f]:h.y,cd:T,distance:u,spikeDistance:c,hovertemplate:h.ht});return h.htx?M.text=h.htx:h.tx?M.text=h.tx:o.text&&(M.text=o.text),i.fillText(h,o,M),n.getComponentMethod("errorbars","hoverInfo")(h,o,M),M}t.exports={hoverPoints:function(t,e,r,n){var i,a,s,l,u,c,f,h,p,d,v=t.cd,g=v[0].t,y=v[0].trace,m=t.xa,x=t.ya,b=g.x,_=g.y,w=m.c2p(e),T=x.c2p(r),k=t.distance;if(g.tree){var A=m.p2c(w-k),M=m.p2c(w+k),S=x.p2c(T-k),E=x.p2c(T+k);i="x"===n?g.tree.range(Math.min(A,M),Math.min(x._rl[0],x._rl[1]),Math.max(A,M),Math.max(x._rl[0],x._rl[1])):g.tree.range(Math.min(A,M),Math.min(S,E),Math.max(A,M),Math.max(S,E))}else i=g.ids;var L=k;if("x"===n){var C=!!y.xperiodalignment,P=!!y.yperiodalignment;for(c=0;c<i.length;c++){if(l=b[a=i[c]],f=Math.abs(m.c2p(l)-w),C){var O=m.c2p(y._xStarts[a]),I=m.c2p(y._xEnds[a]);f=w>=Math.min(O,I)&&w<=Math.max(O,I)?0:1/0}if(f<L){if(L=f,u=_[a],h=x.c2p(u)-T,P){var D=x.c2p(y._yStarts[a]),z=x.c2p(y._yEnds[a]);h=T>=Math.min(D,z)&&T<=Math.max(D,z)?0:1/0}d=Math.sqrt(f*f+h*h),s=i[c]}}}else for(c=i.length-1;c>-1;c--)l=b[a=i[c]],u=_[a],f=m.c2p(l)-w,h=x.c2p(u)-T,(p=Math.sqrt(f*f+h*h))<L&&(L=d=p,s=a);return t.index=s,t.distance=L,t.dxy=d,void 0===s?[t]:[o(t,b,_,y)]},calcHover:o}},68868:function(t,e,r){"use strict";var n=r(72156);n.plot=r(26787),t.exports=n},26787:function(t,e,r){"use strict";var n=r(11870),i=r(46075),a=r(3593),o=r(42505),s=r(71828),l=r(64505).selectMode,u=r(79749),c=r(34098),f=r(68687),h=r(5345).styleTextSelection,p={};function d(t,e,r,n){var i=t._size,a=t.width*n,o=t.height*n,s=i.l*n,l=i.b*n,u=i.r*n,c=i.t*n,f=i.w*n,h=i.h*n;return[s+e.domain[0]*f,l+r.domain[0]*h,a-u-(1-e.domain[1])*f,o-c-(1-r.domain[1])*h]}(t.exports=function(t,e,r){if(r.length){var v,g,y=t._fullLayout,m=e._scene,x=e.xaxis,b=e.yaxis;if(m)if(u(t,["ANGLE_instanced_arrays","OES_element_index_uint"],p)){var _=m.count,w=y._glcanvas.data()[0].regl;if(f(t,e,r),m.dirty){if(!0===m.error2d&&(m.error2d=a(w)),!0===m.line2d&&(m.line2d=i(w)),!0===m.scatter2d&&(m.scatter2d=n(w)),!0===m.fill2d&&(m.fill2d=i(w)),!0===m.glText)for(m.glText=new Array(_),v=0;v<_;v++)m.glText[v]=new o(w);if(m.glText){if(_>m.glText.length){var T=_-m.glText.length;for(v=0;v<T;v++)m.glText.push(new o(w))}else if(_<m.glText.length){var k=m.glText.length-_;m.glText.splice(_,k).forEach((function(t){t.destroy()}))}for(v=0;v<_;v++)m.glText[v].update(m.textOptions[v])}if(m.line2d&&(m.line2d.update(m.lineOptions),m.lineOptions=m.lineOptions.map((function(t){if(t&&t.positions){for(var e=t.positions,r=0;r<e.length&&(isNaN(e[r])||isNaN(e[r+1]));)r+=2;for(var n=e.length-2;n>r&&(isNaN(e[n])||isNaN(e[n+1]));)n-=2;t.positions=e.slice(r,n+2)}return t})),m.line2d.update(m.lineOptions)),m.error2d){var A=(m.errorXOptions||[]).concat(m.errorYOptions||[]);m.error2d.update(A)}m.scatter2d&&m.scatter2d.update(m.markerOptions),m.fillOrder=s.repeat(null,_),m.fill2d&&(m.fillOptions=m.fillOptions.map((function(t,e){var n=r[e];if(t&&n&&n[0]&&n[0].trace){var i,a,o=n[0],s=o.trace,l=o.t,u=m.lineOptions[e],c=[];s._ownfill&&c.push(e),s._nexttrace&&c.push(e+1),c.length&&(m.fillOrder[e]=c);var f,h,p=[],d=u&&u.positions||l.positions;if("tozeroy"===s.fill){for(f=0;f<d.length&&isNaN(d[f+1]);)f+=2;for(h=d.length-2;h>f&&isNaN(d[h+1]);)h-=2;0!==d[f+1]&&(p=[d[f],0]),p=p.concat(d.slice(f,h+2)),0!==d[h+1]&&(p=p.concat([d[h],0]))}else if("tozerox"===s.fill){for(f=0;f<d.length&&isNaN(d[f]);)f+=2;for(h=d.length-2;h>f&&isNaN(d[h]);)h-=2;0!==d[f]&&(p=[0,d[f+1]]),p=p.concat(d.slice(f,h+2)),0!==d[h]&&(p=p.concat([0,d[h+1]]))}else if("toself"===s.fill||"tonext"===s.fill){for(p=[],i=0,t.splitNull=!0,a=0;a<d.length;a+=2)(isNaN(d[a])||isNaN(d[a+1]))&&((p=p.concat(d.slice(i,a))).push(d[i],d[i+1]),p.push(null,null),i=a+2);p=p.concat(d.slice(i)),i&&p.push(d[i],d[i+1])}else{var v=s._nexttrace;if(v){var g=m.lineOptions[e+1];if(g){var y=g.positions;if("tonexty"===s.fill){for(p=d.slice(),e=Math.floor(y.length/2);e--;){var x=y[2*e],b=y[2*e+1];isNaN(x)||isNaN(b)||p.push(x,b)}t.fill=v.fillcolor}}}}if(s._prevtrace&&"tonext"===s._prevtrace.fill){var _=m.lineOptions[e-1].positions,w=p.length/2,T=[i=w];for(a=0;a<_.length;a+=2)(isNaN(_[a])||isNaN(_[a+1]))&&(T.push(a/2+w+1),i=a+2);p=p.concat(_),t.hole=T}return t.fillmode=s.fill,t.opacity=s.opacity,t.positions=p,t}})),m.fill2d.update(m.fillOptions))}var M=y.dragmode,S=l(M),E=y.clickmode.indexOf("select")>-1;for(v=0;v<_;v++){var L=r[v][0],C=L.trace,P=L.t,O=P.index,I=C._length,D=P.x,z=P.y;if(C.selectedpoints||S||E){if(S||(S=!0),C.selectedpoints){var R=m.selectBatch[O]=s.selIndices2selPoints(C),F={};for(g=0;g<R.length;g++)F[R[g]]=1;var B=[];for(g=0;g<I;g++)F[g]||B.push(g);m.unselectBatch[O]=B}var N=P.xpx=new Array(I),j=P.ypx=new Array(I);for(g=0;g<I;g++)N[g]=x.c2p(D[g]),j[g]=b.c2p(z[g])}else P.xpx=P.ypx=null}if(S){if(m.select2d||(m.select2d=n(y._glcanvas.data()[1].regl)),m.scatter2d){var U=new Array(_);for(v=0;v<_;v++)U[v]=m.selectBatch[v].length||m.unselectBatch[v].length?m.markerUnselectedOptions[v]:{};m.scatter2d.update(U)}m.select2d&&(m.select2d.update(m.markerOptions),m.select2d.update(m.markerSelectedOptions)),m.glText&&r.forEach((function(t){var e=((t||[])[0]||{}).trace||{};c.hasText(e)&&h(t)}))}else m.scatter2d&&m.scatter2d.update(m.markerOptions);var V={viewport:d(y,x,b,t._context.plotGlPixelRatio),range:[(x._rl||x.range)[0],(b._rl||b.range)[0],(x._rl||x.range)[1],(b._rl||b.range)[1]]},H=s.repeat(V,m.count);m.fill2d&&m.fill2d.update(H),m.line2d&&m.line2d.update(H),m.error2d&&m.error2d.update(H.concat(H)),m.scatter2d&&m.scatter2d.update(H),m.select2d&&m.select2d.update(H),m.glText&&m.glText.forEach((function(t){t.update(V)}))}else m.init()}}).reglPrecompiled=p},38967:function(t,e,r){"use strict";var n=r(71828);t.exports=function(t,e){var r=e._scene,i={count:0,dirty:!0,lineOptions:[],fillOptions:[],markerOptions:[],markerSelectedOptions:[],markerUnselectedOptions:[],errorXOptions:[],errorYOptions:[],textOptions:[],textSelectedOptions:[],textUnselectedOptions:[],selectBatch:[],unselectBatch:[]},a={fill2d:!1,scatter2d:!1,error2d:!1,line2d:!1,glText:!1,select2d:!1};return e._scene||((r=e._scene={}).init=function(){n.extendFlat(r,a,i)},r.init(),r.update=function(t){var e=n.repeat(t,r.count);if(r.fill2d&&r.fill2d.update(e),r.scatter2d&&r.scatter2d.update(e),r.line2d&&r.line2d.update(e),r.error2d&&r.error2d.update(e.concat(e)),r.select2d&&r.select2d.update(e),r.glText)for(var i=0;i<r.count;i++)r.glText[i].update(t)},r.draw=function(){for(var t=r.count,e=r.fill2d,i=r.error2d,a=r.line2d,o=r.scatter2d,s=r.glText,l=r.select2d,u=r.selectBatch,c=r.unselectBatch,f=0;f<t;f++){if(e&&r.fillOrder[f]&&e.draw(r.fillOrder[f]),a&&r.lineOptions[f]&&a.draw(f),i&&(r.errorXOptions[f]&&i.draw(f),r.errorYOptions[f]&&i.draw(f+t)),o&&r.markerOptions[f])if(c[f].length){var h=n.repeat([],r.count);h[f]=c[f],o.draw(h)}else u[f].length||o.draw(f);s[f]&&r.textOptions[f]&&s[f].render()}l&&l.draw(u),r.dirty=!1},r.destroy=function(){r.fill2d&&r.fill2d.destroy&&r.fill2d.destroy(),r.scatter2d&&r.scatter2d.destroy&&r.scatter2d.destroy(),r.error2d&&r.error2d.destroy&&r.error2d.destroy(),r.line2d&&r.line2d.destroy&&r.line2d.destroy(),r.select2d&&r.select2d.destroy&&r.select2d.destroy(),r.glText&&r.glText.forEach((function(t){t.destroy&&t.destroy()})),r.lineOptions=null,r.fillOptions=null,r.markerOptions=null,r.markerSelectedOptions=null,r.markerUnselectedOptions=null,r.errorXOptions=null,r.errorYOptions=null,r.textOptions=null,r.textSelectedOptions=null,r.textUnselectedOptions=null,r.selectBatch=null,r.unselectBatch=null,e._scene=null}),r.dirty||n.extendFlat(r,i),r}},58147:function(t,e,r){"use strict";var n=r(34098),i=r(5345).styleTextSelection;t.exports=function(t,e){var r=t.cd,a=t.xaxis,o=t.yaxis,s=[],l=r[0].trace,u=r[0].t,c=l._length,f=u.x,h=u.y,p=u._scene,d=u.index;if(!p)return s;var v=n.hasText(l),g=n.hasMarkers(l),y=!g&&!v;if(!0!==l.visible||y)return s;var m=[],x=[];if(!1!==e&&!e.degenerate)for(var b=0;b<c;b++)e.contains([u.xpx[b],u.ypx[b]],!1,b,t)?(m.push(b),s.push({pointNumber:b,x:a.c2d(f[b]),y:o.c2d(h[b])})):x.push(b);if(g){var _=p.scatter2d;if(m.length||x.length){if(!p.selectBatch[d].length&&!p.unselectBatch[d].length){var w=new Array(p.count);w[d]=p.markerUnselectedOptions[d],_.update.apply(_,w)}}else{var T=new Array(p.count);T[d]=p.markerOptions[d],_.update.apply(_,T)}}return p.selectBatch[d]=m,p.unselectBatch[d]=x,v&&i(r),s}},99181:function(t,e,r){"use strict";var n=r(5386).f,i=r(5386).s,a=r(19316),o=r(82196),s=r(23585),l=r(9012),u=r(50693),c=r(1426).extendFlat,f=r(30962).overrideAll,h=r(23585),p=a.line,d=a.marker;t.exports=f({lon:a.lon,lat:a.lat,cluster:{enabled:{valType:"boolean"},maxzoom:c({},h.layers.maxzoom,{}),step:{valType:"number",arrayOk:!0,dflt:-1,min:-1},size:{valType:"number",arrayOk:!0,dflt:20,min:0},color:{valType:"color",arrayOk:!0},opacity:c({},d.opacity,{dflt:1})},mode:c({},o.mode,{dflt:"markers"}),text:c({},o.text,{}),texttemplate:i({editType:"plot"},{keys:["lat","lon","text"]}),hovertext:c({},o.hovertext,{}),line:{color:p.color,width:p.width},connectgaps:o.connectgaps,marker:c({symbol:{valType:"string",dflt:"circle",arrayOk:!0},angle:{valType:"number",dflt:"auto",arrayOk:!0},allowoverlap:{valType:"boolean",dflt:!1},opacity:d.opacity,size:d.size,sizeref:d.sizeref,sizemin:d.sizemin,sizemode:d.sizemode},u("marker")),fill:a.fill,fillcolor:o.fillcolor,textfont:s.layers.symbol.textfont,textposition:s.layers.symbol.textposition,below:{valType:"string"},selected:{marker:o.selected.marker},unselected:{marker:o.unselected.marker},hoverinfo:c({},l.hoverinfo,{flags:["lon","lat","text","name"]}),hovertemplate:n()},"calc","nested")},15790:function(t,e,r){"use strict";var n=r(92770),i=r(71828),a=r(50606).BADNUM,o=r(18214),s=r(21081),l=r(91424),u=r(39984),c=r(34098),f=r(13056),h=r(23469).appendArrayPointValue,p=r(63893).NEWLINES,d=r(63893).BR_TAG_ALL;function v(t){return{type:t,geojson:o.makeBlank(),layout:{visibility:"none"},filter:null,paint:{}}}function g(t,e){return i.isArrayOrTypedArray(t)?e?function(e){return n(t[e])?+t[e]:0}:function(e){return t[e]}:t?function(){return t}:y}function y(){return""}function m(t){return t[0]===a}function x(t,e){var r;if(i.isArrayOrTypedArray(t)&&i.isArrayOrTypedArray(e)){r=["step",["get","point_count"],t[0]];for(var n=1;n<t.length;n++)r.push(e[n-1],t[n])}else r=t;return r}t.exports=function(t,e){var r,a=e[0].trace,b=!0===a.visible&&0!==a._length,_="none"!==a.fill,w=c.hasLines(a),T=c.hasMarkers(a),k=c.hasText(a),A=T&&"circle"===a.marker.symbol,M=T&&"circle"!==a.marker.symbol,S=a.cluster&&a.cluster.enabled,E=v("fill"),L=v("line"),C=v("circle"),P=v("symbol"),O={fill:E,line:L,circle:C,symbol:P};if(!b)return O;if((_||w)&&(r=o.calcTraceToLineCoords(e)),_&&(E.geojson=o.makePolygon(r),E.layout.visibility="visible",i.extendFlat(E.paint,{"fill-color":a.fillcolor})),w&&(L.geojson=o.makeLine(r),L.layout.visibility="visible",i.extendFlat(L.paint,{"line-width":a.line.width,"line-color":a.line.color,"line-opacity":a.opacity})),A){var I=function(t){var e,r,a,o,c=t[0].trace,f=c.marker,h=c.selectedpoints,p=i.isArrayOrTypedArray(f.color),d=i.isArrayOrTypedArray(f.size),v=i.isArrayOrTypedArray(f.opacity);function g(t){return c.opacity*t}p&&(r=s.hasColorscale(c,"marker")?s.makeColorScaleFuncFromTrace(f):i.identity),d&&(a=u(c)),v&&(o=function(t){return g(n(t)?+i.constrain(t,0,1):0)});var y,x,b=[];for(e=0;e<t.length;e++){var _=t[e],w=_.lonlat;if(!m(w)){var T={};r&&(T.mcc=_.mcc=r(_.mc)),a&&(T.mrc=_.mrc=a(_.ms)),o&&(T.mo=o(_.mo)),h&&(T.selected=_.selected||0),b.push({type:"Feature",id:e+1,geometry:{type:"Point",coordinates:w},properties:T})}}if(h)for(y=l.makeSelectedPointStyleFns(c),e=0;e<b.length;e++){var k=b[e].properties;y.selectedOpacityFn&&(k.mo=g(y.selectedOpacityFn(k))),y.selectedColorFn&&(k.mcc=y.selectedColorFn(k)),y.selectedSizeFn&&(k.mrc=y.selectedSizeFn(k))}return{geojson:{type:"FeatureCollection",features:b},mcc:p||y&&y.selectedColorFn?{type:"identity",property:"mcc"}:f.color,mrc:d||y&&y.selectedSizeFn?{type:"identity",property:"mrc"}:(x=f.size,x/2),mo:v||y&&y.selectedOpacityFn?{type:"identity",property:"mo"}:g(f.opacity)}}(e);C.geojson=I.geojson,C.layout.visibility="visible",S&&(C.filter=["!",["has","point_count"]],O.cluster={type:"circle",filter:["has","point_count"],layout:{visibility:"visible"},paint:{"circle-color":x(a.cluster.color,a.cluster.step),"circle-radius":x(a.cluster.size,a.cluster.step),"circle-opacity":x(a.cluster.opacity,a.cluster.step)}},O.clusterCount={type:"symbol",filter:["has","point_count"],paint:{},layout:{"text-field":"{point_count_abbreviated}","text-font":["Open Sans Regular","Arial Unicode MS Regular"],"text-size":12}}),i.extendFlat(C.paint,{"circle-color":I.mcc,"circle-radius":I.mrc,"circle-opacity":I.mo})}if(A&&S&&(C.filter=["!",["has","point_count"]]),(M||k)&&(P.geojson=function(t,e){for(var r=e._fullLayout,n=t[0].trace,a=n.marker||{},o=a.symbol,s=a.angle,l="circle"!==o?g(o):y,u="auto"!==s?g(s,!0):y,f=c.hasText(n)?g(n.text):y,v=[],x=0;x<t.length;x++){var b=t[x];if(!m(b.lonlat)){var _,w=n.texttemplate;if(w){var T=Array.isArray(w)?w[x]||"":w,k=n._module.formatLabels(b,n,r),A={};h(A,n,b.i);var M=n._meta||{};_=i.texttemplateString(T,k,r._d3locale,A,b,M)}else _=f(x);_&&(_=_.replace(p,"").replace(d,"\n")),v.push({type:"Feature",geometry:{type:"Point",coordinates:b.lonlat},properties:{symbol:l(x),angle:u(x),text:_}})}}return{type:"FeatureCollection",features:v}}(e,t),i.extendFlat(P.layout,{visibility:"visible","icon-image":"{symbol}-15","text-field":"{text}"}),M&&(i.extendFlat(P.layout,{"icon-size":a.marker.size/10}),"angle"in a.marker&&"auto"!==a.marker.angle&&i.extendFlat(P.layout,{"icon-rotate":{type:"identity",property:"angle"},"icon-rotation-alignment":"map"}),P.layout["icon-allow-overlap"]=a.marker.allowoverlap,i.extendFlat(P.paint,{"icon-opacity":a.opacity*a.marker.opacity,"icon-color":a.marker.color})),k)){var D=(a.marker||{}).size,z=f(a.textposition,D);i.extendFlat(P.layout,{"text-size":a.textfont.size,"text-anchor":z.anchor,"text-offset":z.offset}),i.extendFlat(P.paint,{"text-color":a.textfont.color,"text-opacity":a.opacity})}return O}},76645:function(t,e,r){"use strict";var n=r(71828),i=r(34098),a=r(49508),o=r(11058),s=r(82410),l=r(28908),u=r(99181);t.exports=function(t,e,r,c){function f(r,i){return n.coerce(t,e,u,r,i)}function h(r,i){return n.coerce2(t,e,u,r,i)}var p=function(t,e,r){var n=r("lon")||[],i=r("lat")||[],a=Math.min(n.length,i.length);return e._length=a,a}(0,e,f);if(p){if(f("text"),f("texttemplate"),f("hovertext"),f("hovertemplate"),f("mode"),f("below"),i.hasLines(e)&&(o(t,e,r,c,f,{noDash:!0}),f("connectgaps")),i.hasMarkers(e)){a(t,e,r,c,f,{noLine:!0,noAngle:!0}),f("marker.allowoverlap"),f("marker.angle");var d=e.marker;"circle"!==d.symbol&&(n.isArrayOrTypedArray(d.size)&&(d.size=d.size[0]),n.isArrayOrTypedArray(d.color)&&(d.color=d.color[0]))}var v=h("cluster.maxzoom"),g=h("cluster.step"),y=h("cluster.color",e.marker&&e.marker.color||r),m=h("cluster.size"),x=h("cluster.opacity");f("cluster.enabled",!1!==v||!1!==g||!1!==y||!1!==m||!1!==x),i.hasText(e)&&s(t,e,c,f,{noSelect:!0}),f("fill"),"none"!==e.fill&&l(t,e,r,f),n.coerceSelectionMarkerOpacity(e,f)}else e.visible=!1}},53353:function(t){"use strict";t.exports=function(t,e){return t.lon=e.lon,t.lat=e.lat,t}},15636:function(t,e,r){"use strict";var n=r(89298);t.exports=function(t,e,r){var i={},a=r[e.subplot]._subplot.mockAxis,o=t.lonlat;return i.lonLabel=n.tickText(a,a.c2l(o[0]),!0).text,i.latLabel=n.tickText(a,a.c2l(o[1]),!0).text,i}},28178:function(t,e,r){"use strict";var n=r(30211),i=r(71828),a=r(34603),o=i.fillText,s=r(50606).BADNUM,l=r(77734).traceLayerPrefix;function u(t,e,r){if(!t.hovertemplate){var n=(e.hi||t.hoverinfo).split("+"),i=-1!==n.indexOf("all"),a=-1!==n.indexOf("lon"),s=-1!==n.indexOf("lat"),l=e.lonlat,u=[];return i||a&&s?u.push("("+c(l[1])+", "+c(l[0])+")"):a?u.push(r.lon+c(l[0])):s&&u.push(r.lat+c(l[1])),(i||-1!==n.indexOf("text"))&&o(e,t,u),u.join("<br>")}function c(t){return t+"°"}}t.exports={hoverPoints:function(t,e,r){var o=t.cd,c=o[0].trace,f=t.xa,h=t.ya,p=t.subplot,d=[],v=l+c.uid+"-circle",g=c.cluster&&c.cluster.enabled;if(g){var y=p.map.queryRenderedFeatures(null,{layers:[v]});d=y.map((function(t){return t.id}))}var m=360*(e>=0?Math.floor((e+180)/360):Math.ceil((e-180)/360)),x=e-m;if(n.getClosest(o,(function(t){var e=t.lonlat;if(e[0]===s)return 1/0;if(g&&-1===d.indexOf(t.i+1))return 1/0;var n=i.modHalf(e[0],360),a=e[1],o=p.project([n,a]),l=o.x-f.c2p([x,a]),u=o.y-h.c2p([n,r]),c=Math.max(3,t.mrc||0);return Math.max(Math.sqrt(l*l+u*u)-c,1-3/c)}),t),!1!==t.index){var b=o[t.index],_=b.lonlat,w=[i.modHalf(_[0],360)+m,_[1]],T=f.c2p(w),k=h.c2p(w),A=b.mrc||1;t.x0=T-A,t.x1=T+A,t.y0=k-A,t.y1=k+A;var M={};M[c.subplot]={_subplot:p};var S=c._module.formatLabels(b,c,M);return t.lonLabel=S.lonLabel,t.latLabel=S.latLabel,t.color=a(c,b),t.extraText=u(c,b,o[0].t.labels),t.hovertemplate=c.hovertemplate,[t]}},getExtraText:u}},20467:function(t,e,r){"use strict";t.exports={attributes:r(99181),supplyDefaults:r(76645),colorbar:r(4898),formatLabels:r(15636),calc:r(84622),plot:r(86951),hoverPoints:r(28178).hoverPoints,eventData:r(53353),selectPoints:r(86387),styleOnSelect:function(t,e){e&&e[0].trace._glTrace.update(e)},moduleType:"trace",name:"scattermapbox",basePlotModule:r(50101),categories:["mapbox","gl","symbols","showLegend","scatter-like"],meta:{}}},86951:function(t,e,r){"use strict";var n=r(71828),i=r(15790),a=r(77734).traceLayerPrefix,o={cluster:["cluster","clusterCount","circle"],nonCluster:["fill","line","circle","symbol"]};function s(t,e,r,n){this.type="scattermapbox",this.subplot=t,this.uid=e,this.clusterEnabled=r,this.isHidden=n,this.sourceIds={fill:"source-"+e+"-fill",line:"source-"+e+"-line",circle:"source-"+e+"-circle",symbol:"source-"+e+"-symbol",cluster:"source-"+e+"-circle",clusterCount:"source-"+e+"-circle"},this.layerIds={fill:a+e+"-fill",line:a+e+"-line",circle:a+e+"-circle",symbol:a+e+"-symbol",cluster:a+e+"-cluster",clusterCount:a+e+"-cluster-count"},this.below=null}var l=s.prototype;l.addSource=function(t,e,r){var i={type:"geojson",data:e.geojson};r&&r.enabled&&n.extendFlat(i,{cluster:!0,clusterMaxZoom:r.maxzoom}),this.subplot.map.addSource(this.sourceIds[t],i)},l.setSourceData=function(t,e){this.subplot.map.getSource(this.sourceIds[t]).setData(e.geojson)},l.addLayer=function(t,e,r){var n={type:e.type,id:this.layerIds[t],source:this.sourceIds[t],layout:e.layout,paint:e.paint};e.filter&&(n.filter=e.filter),this.subplot.addLayer(n,r)},l.update=function(t){var e=t[0].trace,r=this.subplot,n=r.map,a=i(r.gd,t),s=r.belowLookup["trace-"+this.uid],l=!(!e.cluster||!e.cluster.enabled),u=!!this.clusterEnabled,c=this;function f(t){u?function(t){for(var e=o.cluster,r=e.length-1;r>=0;r--){var i=e[r];n.removeLayer(c.layerIds[i])}t||n.removeSource(c.sourceIds.circle)}(t):function(t){for(var e=o.nonCluster,r=e.length-1;r>=0;r--){var i=e[r];n.removeLayer(c.layerIds[i]),t||n.removeSource(c.sourceIds[i])}}(t)}function h(t){l?function(t){t||c.addSource("circle",a.circle,e.cluster);for(var r=o.cluster,n=0;n<r.length;n++){var i=r[n],l=a[i];c.addLayer(i,l,s)}}(t):function(t){for(var e=o.nonCluster,r=0;r<e.length;r++){var n=e[r],i=a[n];t||c.addSource(n,i),c.addLayer(n,i,s)}}(t)}function p(){for(var t=l?o.cluster:o.nonCluster,e=0;e<t.length;e++){var n=t[e],i=a[n];i&&(r.setOptions(c.layerIds[n],"setLayoutProperty",i.layout),"visible"===i.layout.visibility&&("cluster"!==n&&c.setSourceData(n,i),r.setOptions(c.layerIds[n],"setPaintProperty",i.paint)))}}var d=this.isHidden,v=!0!==e.visible;v?d||f():d?v||h():u!==l?(f(),h()):this.below!==s?(f(!0),h(!0),p()):p(),this.clusterEnabled=l,this.isHidden=v,this.below=s,t[0].trace._glTrace=this},l.dispose=function(){for(var t=this.subplot.map,e=this.clusterEnabled?o.cluster:o.nonCluster,r=e.length-1;r>=0;r--){var n=e[r];t.removeLayer(this.layerIds[n]),t.removeSource(this.sourceIds[n])}},t.exports=function(t,e){var r,n,a,l=e[0].trace,u=l.cluster&&l.cluster.enabled,c=!0!==l.visible,f=new s(t,l.uid,u,c),h=i(t.gd,e),p=f.below=t.belowLookup["trace-"+l.uid];if(u)for(f.addSource("circle",h.circle,l.cluster),r=0;r<o.cluster.length;r++)a=h[n=o.cluster[r]],f.addLayer(n,a,p);else for(r=0;r<o.nonCluster.length;r++)a=h[n=o.nonCluster[r]],f.addSource(n,a,l.cluster),f.addLayer(n,a,p);return e[0].trace._glTrace=f,f}},86387:function(t,e,r){"use strict";var n=r(71828),i=r(34098),a=r(50606).BADNUM;t.exports=function(t,e){var r,o=t.cd,s=t.xaxis,l=t.yaxis,u=[],c=o[0].trace;if(!i.hasMarkers(c))return[];if(!1===e)for(r=0;r<o.length;r++)o[r].selected=0;else for(r=0;r<o.length;r++){var f=o[r],h=f.lonlat;if(h[0]!==a){var p=[n.modHalf(h[0],360),h[1]],d=[s.c2p(p),l.c2p(p)];e.contains(d,null,r,t)?(u.push({pointNumber:r,lon:h[0],lat:h[1]}),f.selected=1):f.selected=0}}return u}},81245:function(t,e,r){"use strict";var n=r(5386).f,i=r(5386).s,a=r(1426).extendFlat,o=r(82196),s=r(9012),l=o.line;t.exports={mode:o.mode,r:{valType:"data_array",editType:"calc+clearAxisTypes"},theta:{valType:"data_array",editType:"calc+clearAxisTypes"},r0:{valType:"any",dflt:0,editType:"calc+clearAxisTypes"},dr:{valType:"number",dflt:1,editType:"calc"},theta0:{valType:"any",dflt:0,editType:"calc+clearAxisTypes"},dtheta:{valType:"number",editType:"calc"},thetaunit:{valType:"enumerated",values:["radians","degrees","gradians"],dflt:"degrees",editType:"calc+clearAxisTypes"},text:o.text,texttemplate:i({editType:"plot"},{keys:["r","theta","text"]}),hovertext:o.hovertext,line:{color:l.color,width:l.width,dash:l.dash,backoff:l.backoff,shape:a({},l.shape,{values:["linear","spline"]}),smoothing:l.smoothing,editType:"calc"},connectgaps:o.connectgaps,marker:o.marker,cliponaxis:a({},o.cliponaxis,{dflt:!1}),textposition:o.textposition,textfont:o.textfont,fill:a({},o.fill,{values:["none","toself","tonext"],dflt:"none"}),fillcolor:o.fillcolor,hoverinfo:a({},s.hoverinfo,{flags:["r","theta","text","name"]}),hoveron:o.hoveron,hovertemplate:n(),selected:o.selected,unselected:o.unselected}},26442:function(t,e,r){"use strict";var n=r(92770),i=r(50606).BADNUM,a=r(89298),o=r(36922),s=r(75225),l=r(66279),u=r(47761).calcMarkerSize;t.exports=function(t,e){for(var r=t._fullLayout,c=e.subplot,f=r[c].radialaxis,h=r[c].angularaxis,p=f.makeCalcdata(e,"r"),d=h.makeCalcdata(e,"theta"),v=e._length,g=new Array(v),y=0;y<v;y++){var m=p[y],x=d[y],b=g[y]={};n(m)&&n(x)?(b.r=m,b.theta=x):b.r=i}var _=u(e,v);return e._extremes.x=a.findExtremes(f,p,{ppad:_}),o(t,e),s(g,e),l(g,e),g}},22184:function(t,e,r){"use strict";var n=r(71828),i=r(34098),a=r(49508),o=r(11058),s=r(94039),l=r(82410),u=r(28908),c=r(47581).PTS_LINESONLY,f=r(81245);function h(t,e,r,n){var i,a=n("r"),o=n("theta");if(a)o?i=Math.min(a.length,o.length):(i=a.length,n("theta0"),n("dtheta"));else{if(!o)return 0;i=e.theta.length,n("r0"),n("dr")}return e._length=i,i}t.exports={handleRThetaDefaults:h,supplyDefaults:function(t,e,r,p){function d(r,i){return n.coerce(t,e,f,r,i)}var v=h(0,e,0,d);if(v){d("thetaunit"),d("mode",v<c?"lines+markers":"lines"),d("text"),d("hovertext"),"fills"!==e.hoveron&&d("hovertemplate"),i.hasLines(e)&&(o(t,e,r,p,d,{backoff:!0}),s(t,e,d),d("connectgaps")),i.hasMarkers(e)&&a(t,e,r,p,d,{gradient:!0}),i.hasText(e)&&(d("texttemplate"),l(t,e,p,d));var g=[];(i.hasMarkers(e)||i.hasText(e))&&(d("cliponaxis"),d("marker.maxdisplayed"),g.push("points")),d("fill"),"none"!==e.fill&&(u(t,e,r,d),i.hasLines(e)||s(t,e,d)),"tonext"!==e.fill&&"toself"!==e.fill||g.push("fills"),d("hoveron",g.join("+")||"points"),n.coerceSelectionMarkerOpacity(e,d)}else e.visible=!1}}},98608:function(t,e,r){"use strict";var n=r(71828),i=r(89298);t.exports=function(t,e,r){var a,o,s={},l=r[e.subplot]._subplot;l?(a=l.radialAxis,o=l.angularAxis):(a=(l=r[e.subplot]).radialaxis,o=l.angularaxis);var u=a.c2l(t.r);s.rLabel=i.tickText(a,u,!0).text;var c="degrees"===o.thetaunit?n.rad2deg(t.theta):t.theta;return s.thetaLabel=i.tickText(o,c,!0).text,s}},59150:function(t,e,r){"use strict";var n=r(33720);function i(t,e,r,n){var i=r.radialAxis,a=r.angularAxis;i._hovertitle="r",a._hovertitle="θ";var o={};o[e.subplot]={_subplot:r};var s=e._module.formatLabels(t,e,o);n.rLabel=s.rLabel,n.thetaLabel=s.thetaLabel;var l=t.hi||e.hoverinfo,u=[];function c(t,e){u.push(t._hovertitle+": "+e)}if(!e.hovertemplate){var f=l.split("+");-1!==f.indexOf("all")&&(f=["r","theta","text"]),-1!==f.indexOf("r")&&c(i,n.rLabel),-1!==f.indexOf("theta")&&c(a,n.thetaLabel),-1!==f.indexOf("text")&&n.text&&(u.push(n.text),delete n.text),n.extraText=u.join("<br>")}}t.exports={hoverPoints:function(t,e,r,a){var o=n(t,e,r,a);if(o&&!1!==o[0].index){var s=o[0];if(void 0===s.index)return o;var l=t.subplot,u=s.cd[s.index],c=s.trace;if(l.isPtInside(u))return s.xLabelVal=void 0,s.yLabelVal=void 0,i(u,c,l,s),s.hovertemplate=c.hovertemplate,o}},makeHoverPointText:i}},91271:function(t,e,r){"use strict";t.exports={moduleType:"trace",name:"scatterpolar",basePlotModule:r(23580),categories:["polar","symbols","showLegend","scatter-like"],attributes:r(81245),supplyDefaults:r(22184).supplyDefaults,colorbar:r(4898),formatLabels:r(98608),calc:r(26442),plot:r(45162),style:r(16296).style,styleOnSelect:r(16296).styleOnSelect,hoverPoints:r(59150).hoverPoints,selectPoints:r(98002),meta:{}}},45162:function(t,e,r){"use strict";var n=r(32663),i=r(50606).BADNUM;t.exports=function(t,e,r){for(var a=e.layers.frontplot.select("g.scatterlayer"),o=e.xaxis,s=e.yaxis,l={xaxis:o,yaxis:s,plot:e.framework,layerClipId:e._hasClipOnAxisFalse?e.clipIds.forTraces:null},u=e.radialAxis,c=e.angularAxis,f=0;f<r.length;f++)for(var h=r[f],p=0;p<h.length;p++){0===p&&(h[0].trace._xA=o,h[0].trace._yA=s);var d=h[p],v=d.r;if(v===i)d.x=d.y=i;else{var g=u.c2g(v),y=c.c2g(d.theta);d.x=g*Math.cos(y),d.y=g*Math.sin(y)}}n(t,l,r,a)}},53286:function(t,e,r){"use strict";var n=r(81245),i=r(42341),a=r(5386).s;t.exports={mode:n.mode,r:n.r,theta:n.theta,r0:n.r0,dr:n.dr,theta0:n.theta0,dtheta:n.dtheta,thetaunit:n.thetaunit,text:n.text,texttemplate:a({editType:"plot"},{keys:["r","theta","text"]}),hovertext:n.hovertext,hovertemplate:n.hovertemplate,line:i.line,connectgaps:i.connectgaps,marker:i.marker,fill:i.fill,fillcolor:i.fillcolor,textposition:i.textposition,textfont:i.textfont,hoverinfo:n.hoverinfo,selected:n.selected,unselected:n.unselected}},65746:function(t,e,r){"use strict";t.exports={moduleType:"trace",name:"scatterpolargl",basePlotModule:r(23580),categories:["gl","regl","polar","symbols","showLegend","scatter-like"],attributes:r(53286),supplyDefaults:r(75485),colorbar:r(4898),formatLabels:r(46255),calc:r(37499),hoverPoints:r(29347).hoverPoints,selectPoints:r(58147),meta:{}}},37499:function(t,e,r){"use strict";var n=r(36922),i=r(47761).calcMarkerSize,a=r(19635),o=r(89298),s=r(78232).TOO_MANY_POINTS;t.exports=function(t,e){var r=t._fullLayout,l=e.subplot,u=r[l].radialaxis,c=r[l].angularaxis,f=e._r=u.makeCalcdata(e,"r"),h=e._theta=c.makeCalcdata(e,"theta"),p=e._length,d={};p<f.length&&(f=f.slice(0,p)),p<h.length&&(h=h.slice(0,p)),d.r=f,d.theta=h,n(t,e);var v,g=d.opts=a.style(t,e);return p<s?v=i(e,p):g.marker&&(v=2*(g.marker.sizeAvg||Math.max(g.marker.size,3))),e._extremes.x=o.findExtremes(u,f,{ppad:v}),[{x:!1,y:!1,t:d,trace:e}]}},75485:function(t,e,r){"use strict";var n=r(71828),i=r(34098),a=r(22184).handleRThetaDefaults,o=r(49508),s=r(11058),l=r(82410),u=r(28908),c=r(47581).PTS_LINESONLY,f=r(53286);t.exports=function(t,e,r,h){function p(r,i){return n.coerce(t,e,f,r,i)}var d=a(t,e,h,p);d?(p("thetaunit"),p("mode",d<c?"lines+markers":"lines"),p("text"),p("hovertext"),"fills"!==e.hoveron&&p("hovertemplate"),i.hasLines(e)&&(s(t,e,r,h,p),p("connectgaps")),i.hasMarkers(e)&&o(t,e,r,h,p,{noAngleRef:!0,noStandOff:!0}),i.hasText(e)&&(p("texttemplate"),l(t,e,h,p)),p("fill"),"none"!==e.fill&&u(t,e,r,p),n.coerceSelectionMarkerOpacity(e,p)):e.visible=!1}},46255:function(t,e,r){"use strict";var n=r(98608);t.exports=function(t,e,r){var i=t.i;return"r"in t||(t.r=e._r[i]),"theta"in t||(t.theta=e._theta[i]),n(t,e,r)}},29347:function(t,e,r){"use strict";var n=r(20794),i=r(59150).makeHoverPointText;t.exports={hoverPoints:function(t,e,r,a){var o=t.cd[0].t,s=o.r,l=o.theta,u=n.hoverPoints(t,e,r,a);if(u&&!1!==u[0].index){var c=u[0];if(void 0===c.index)return u;var f=t.subplot,h=c.cd[c.index],p=c.trace;if(h.r=s[c.index],h.theta=l[c.index],f.isPtInside(h))return c.xLabelVal=void 0,c.yLabelVal=void 0,i(h,p,f,c),u}}}},21461:function(t,e,r){"use strict";var n=r(65746);n.plot=r(49741),t.exports=n},49741:function(t,e,r){"use strict";var n=r(88294),i=r(92770),a=r(26787),o=r(38967),s=r(19635),l=r(71828),u=r(78232).TOO_MANY_POINTS;t.exports=function(t,e,r){if(r.length){var c=e.radialAxis,f=e.angularAxis,h=o(t,e);return r.forEach((function(r){if(r&&r[0]&&r[0].trace){var a,o=r[0],p=o.trace,d=o.t,v=p._length,g=d.r,y=d.theta,m=d.opts,x=g.slice(),b=y.slice();for(a=0;a<g.length;a++)e.isPtInside({r:g[a],theta:y[a]})||(x[a]=NaN,b[a]=NaN);var _=new Array(2*v),w=Array(v),T=Array(v);for(a=0;a<v;a++){var k,A,M=x[a];if(i(M)){var S=c.c2g(M),E=f.c2g(b[a],p.thetaunit);k=S*Math.cos(E),A=S*Math.sin(E)}else k=A=NaN;w[a]=_[2*a]=k,T[a]=_[2*a+1]=A}d.tree=n(_),m.marker&&v>=u&&(m.marker.cluster=d.tree),m.marker&&(m.markerSel.positions=m.markerUnsel.positions=m.marker.positions=_),m.line&&_.length>1&&l.extendFlat(m.line,s.linePositions(t,p,_)),m.text&&(l.extendFlat(m.text,{positions:_},s.textPosition(t,p,m.text,m.marker)),l.extendFlat(m.textSel,{positions:_},s.textPosition(t,p,m.text,m.markerSel)),l.extendFlat(m.textUnsel,{positions:_},s.textPosition(t,p,m.text,m.markerUnsel))),m.fill&&!h.fill2d&&(h.fill2d=!0),m.marker&&!h.scatter2d&&(h.scatter2d=!0),m.line&&!h.line2d&&(h.line2d=!0),m.text&&!h.glText&&(h.glText=!0),h.lineOptions.push(m.line),h.fillOptions.push(m.fill),h.markerOptions.push(m.marker),h.markerSelectedOptions.push(m.markerSel),h.markerUnselectedOptions.push(m.markerUnsel),h.textOptions.push(m.text),h.textSelectedOptions.push(m.textSel),h.textUnselectedOptions.push(m.textUnsel),h.selectBatch.push([]),h.unselectBatch.push([]),d.x=w,d.y=T,d.rawx=w,d.rawy=T,d.r=g,d.theta=y,d.positions=_,d._scene=h,d.index=h.count,h.count++}})),a(t,e,r)}},t.exports.reglPrecompiled={}},48300:function(t,e,r){"use strict";var n=r(5386).f,i=r(5386).s,a=r(1426).extendFlat,o=r(82196),s=r(9012),l=o.line;t.exports={mode:o.mode,real:{valType:"data_array",editType:"calc+clearAxisTypes"},imag:{valType:"data_array",editType:"calc+clearAxisTypes"},text:o.text,texttemplate:i({editType:"plot"},{keys:["real","imag","text"]}),hovertext:o.hovertext,line:{color:l.color,width:l.width,dash:l.dash,backoff:l.backoff,shape:a({},l.shape,{values:["linear","spline"]}),smoothing:l.smoothing,editType:"calc"},connectgaps:o.connectgaps,marker:o.marker,cliponaxis:a({},o.cliponaxis,{dflt:!1}),textposition:o.textposition,textfont:o.textfont,fill:a({},o.fill,{values:["none","toself","tonext"],dflt:"none"}),fillcolor:o.fillcolor,hoverinfo:a({},s.hoverinfo,{flags:["real","imag","text","name"]}),hoveron:o.hoveron,hovertemplate:n(),selected:o.selected,unselected:o.unselected}},30621:function(t,e,r){"use strict";var n=r(92770),i=r(50606).BADNUM,a=r(36922),o=r(75225),s=r(66279),l=r(47761).calcMarkerSize;t.exports=function(t,e){for(var r=t._fullLayout,u=e.subplot,c=r[u].realaxis,f=r[u].imaginaryaxis,h=c.makeCalcdata(e,"real"),p=f.makeCalcdata(e,"imag"),d=e._length,v=new Array(d),g=0;g<d;g++){var y=h[g],m=p[g],x=v[g]={};n(y)&&n(m)?(x.real=y,x.imag=m):x.real=i}return l(e,d),a(t,e),o(v,e),s(v,e),v}},65269:function(t,e,r){"use strict";var n=r(71828),i=r(34098),a=r(49508),o=r(11058),s=r(94039),l=r(82410),u=r(28908),c=r(47581).PTS_LINESONLY,f=r(48300);t.exports=function(t,e,r,h){function p(r,i){return n.coerce(t,e,f,r,i)}var d=function(t,e,r,n){var i,a=n("real"),o=n("imag");return a&&o&&(i=Math.min(a.length,o.length)),e._length=i,i}(0,e,0,p);if(d){p("mode",d<c?"lines+markers":"lines"),p("text"),p("hovertext"),"fills"!==e.hoveron&&p("hovertemplate"),i.hasLines(e)&&(o(t,e,r,h,p,{backoff:!0}),s(t,e,p),p("connectgaps")),i.hasMarkers(e)&&a(t,e,r,h,p,{gradient:!0}),i.hasText(e)&&(p("texttemplate"),l(t,e,h,p));var v=[];(i.hasMarkers(e)||i.hasText(e))&&(p("cliponaxis"),p("marker.maxdisplayed"),v.push("points")),p("fill"),"none"!==e.fill&&(u(t,e,r,p),i.hasLines(e)||s(t,e,p)),"tonext"!==e.fill&&"toself"!==e.fill||v.push("fills"),p("hoveron",v.join("+")||"points"),n.coerceSelectionMarkerOpacity(e,p)}else e.visible=!1}},62047:function(t,e,r){"use strict";var n=r(89298);t.exports=function(t,e,r){var i={},a=r[e.subplot]._subplot;return i.realLabel=n.tickText(a.radialAxis,t.real,!0).text,i.imagLabel=n.tickText(a.angularAxis,t.imag,!0).text,i}},11350:function(t,e,r){"use strict";var n=r(33720);function i(t,e,r,n){var i=r.radialAxis,a=r.angularAxis;i._hovertitle="real",a._hovertitle="imag";var o={};o[e.subplot]={_subplot:r};var s=e._module.formatLabels(t,e,o);n.realLabel=s.realLabel,n.imagLabel=s.imagLabel;var l=t.hi||e.hoverinfo,u=[];function c(t,e){u.push(t._hovertitle+": "+e)}if(!e.hovertemplate){var f=l.split("+");-1!==f.indexOf("all")&&(f=["real","imag","text"]),-1!==f.indexOf("real")&&c(i,n.realLabel),-1!==f.indexOf("imag")&&c(a,n.imagLabel),-1!==f.indexOf("text")&&n.text&&(u.push(n.text),delete n.text),n.extraText=u.join("<br>")}}t.exports={hoverPoints:function(t,e,r,a){var o=n(t,e,r,a);if(o&&!1!==o[0].index){var s=o[0];if(void 0===s.index)return o;var l=t.subplot,u=s.cd[s.index],c=s.trace;if(l.isPtInside(u))return s.xLabelVal=void 0,s.yLabelVal=void 0,i(u,c,l,s),s.hovertemplate=c.hovertemplate,o}},makeHoverPointText:i}},85956:function(t,e,r){"use strict";t.exports={moduleType:"trace",name:"scattersmith",basePlotModule:r(7504),categories:["smith","symbols","showLegend","scatter-like"],attributes:r(48300),supplyDefaults:r(65269),colorbar:r(4898),formatLabels:r(62047),calc:r(30621),plot:r(12480),style:r(16296).style,styleOnSelect:r(16296).styleOnSelect,hoverPoints:r(11350).hoverPoints,selectPoints:r(98002),meta:{}}},12480:function(t,e,r){"use strict";var n=r(32663),i=r(50606).BADNUM,a=r(23893).smith;t.exports=function(t,e,r){for(var o=e.layers.frontplot.select("g.scatterlayer"),s=e.xaxis,l=e.yaxis,u={xaxis:s,yaxis:l,plot:e.framework,layerClipId:e._hasClipOnAxisFalse?e.clipIds.forTraces:null},c=0;c<r.length;c++)for(var f=r[c],h=0;h<f.length;h++){0===h&&(f[0].trace._xA=s,f[0].trace._yA=l);var p=f[h],d=p.real;if(d===i)p.x=p.y=i;else{var v=a([d,p.imag]);p.x=v[0],p.y=v[1]}}n(t,u,r,o)}},50413:function(t,e,r){"use strict";var n=r(5386).f,i=r(5386).s,a=r(82196),o=r(9012),s=r(50693),l=r(79952).P,u=r(1426).extendFlat,c=a.marker,f=a.line,h=c.line;t.exports={a:{valType:"data_array",editType:"calc"},b:{valType:"data_array",editType:"calc"},c:{valType:"data_array",editType:"calc"},sum:{valType:"number",dflt:0,min:0,editType:"calc"},mode:u({},a.mode,{dflt:"markers"}),text:u({},a.text,{}),texttemplate:i({editType:"plot"},{keys:["a","b","c","text"]}),hovertext:u({},a.hovertext,{}),line:{color:f.color,width:f.width,dash:l,backoff:f.backoff,shape:u({},f.shape,{values:["linear","spline"]}),smoothing:f.smoothing,editType:"calc"},connectgaps:a.connectgaps,cliponaxis:a.cliponaxis,fill:u({},a.fill,{values:["none","toself","tonext"],dflt:"none"}),fillcolor:a.fillcolor,marker:u({symbol:c.symbol,opacity:c.opacity,angle:c.angle,angleref:c.angleref,standoff:c.standoff,maxdisplayed:c.maxdisplayed,size:c.size,sizeref:c.sizeref,sizemin:c.sizemin,sizemode:c.sizemode,line:u({width:h.width,editType:"calc"},s("marker.line")),gradient:c.gradient,editType:"calc"},s("marker")),textfont:a.textfont,textposition:a.textposition,selected:a.selected,unselected:a.unselected,hoverinfo:u({},o.hoverinfo,{flags:["a","b","c","text","name"]}),hoveron:a.hoveron,hovertemplate:n()}},54337:function(t,e,r){"use strict";var n=r(92770),i=r(36922),a=r(75225),o=r(66279),s=r(47761).calcMarkerSize,l=["a","b","c"],u={a:["b","c"],b:["a","c"],c:["a","b"]};t.exports=function(t,e){var r,c,f,h,p,d,v=t._fullLayout[e.subplot].sum,g=e.sum||v,y={a:e.a,b:e.b,c:e.c};for(r=0;r<l.length;r++)if(!y[f=l[r]]){for(p=y[u[f][0]],d=y[u[f][1]],h=new Array(p.length),c=0;c<p.length;c++)h[c]=g-p[c]-d[c];y[f]=h}var m,x,b,_,w,T,k=e._length,A=new Array(k);for(r=0;r<k;r++)m=y.a[r],x=y.b[r],b=y.c[r],n(m)&&n(x)&&n(b)?(1!=(_=v/((m=+m)+(x=+x)+(b=+b)))&&(m*=_,x*=_,b*=_),T=m,w=b-x,A[r]={x:w,y:T,a:m,b:x,c:b}):A[r]={x:!1,y:!1};return s(e,k),i(t,e),a(A,e),o(A,e),A}},46008:function(t,e,r){"use strict";var n=r(71828),i=r(47581),a=r(34098),o=r(49508),s=r(11058),l=r(94039),u=r(82410),c=r(28908),f=r(50413);t.exports=function(t,e,r,h){function p(r,i){return n.coerce(t,e,f,r,i)}var d,v=p("a"),g=p("b"),y=p("c");if(v?(d=v.length,g?(d=Math.min(d,g.length),y&&(d=Math.min(d,y.length))):d=y?Math.min(d,y.length):0):g&&y&&(d=Math.min(g.length,y.length)),d){e._length=d,p("sum"),p("text"),p("hovertext"),"fills"!==e.hoveron&&p("hovertemplate"),p("mode",d<i.PTS_LINESONLY?"lines+markers":"lines"),a.hasLines(e)&&(s(t,e,r,h,p,{backoff:!0}),l(t,e,p),p("connectgaps")),a.hasMarkers(e)&&o(t,e,r,h,p,{gradient:!0}),a.hasText(e)&&(p("texttemplate"),u(t,e,h,p));var m=[];(a.hasMarkers(e)||a.hasText(e))&&(p("cliponaxis"),p("marker.maxdisplayed"),m.push("points")),p("fill"),"none"!==e.fill&&(c(t,e,r,p),a.hasLines(e)||l(t,e,p)),"tonext"!==e.fill&&"toself"!==e.fill||m.push("fills"),p("hoveron",m.join("+")||"points"),n.coerceSelectionMarkerOpacity(e,p)}else e.visible=!1}},4524:function(t){"use strict";t.exports=function(t,e,r,n,i){if(e.xa&&(t.xaxis=e.xa),e.ya&&(t.yaxis=e.ya),n[i]){var a=n[i];t.a=a.a,t.b=a.b,t.c=a.c}else t.a=e.a,t.b=e.b,t.c=e.c;return t}},93645:function(t,e,r){"use strict";var n=r(89298);t.exports=function(t,e,r){var i={},a=r[e.subplot]._subplot;return i.aLabel=n.tickText(a.aaxis,t.a,!0).text,i.bLabel=n.tickText(a.baxis,t.b,!0).text,i.cLabel=n.tickText(a.caxis,t.c,!0).text,i}},47250:function(t,e,r){"use strict";var n=r(33720);t.exports=function(t,e,r,i){var a=n(t,e,r,i);if(a&&!1!==a[0].index){var o=a[0];if(void 0===o.index){var s=1-o.y0/t.ya._length,l=t.xa._length,u=l*s/2,c=l-u;return o.x0=Math.max(Math.min(o.x0,c),u),o.x1=Math.max(Math.min(o.x1,c),u),a}var f=o.cd[o.index],h=o.trace,p=o.subplot;o.a=f.a,o.b=f.b,o.c=f.c,o.xLabelVal=void 0,o.yLabelVal=void 0;var d={};d[h.subplot]={_subplot:p};var v=h._module.formatLabels(f,h,d);o.aLabel=v.aLabel,o.bLabel=v.bLabel,o.cLabel=v.cLabel;var g=f.hi||h.hoverinfo,y=[];if(!h.hovertemplate){var m=g.split("+");-1!==m.indexOf("all")&&(m=["a","b","c"]),-1!==m.indexOf("a")&&x(p.aaxis,o.aLabel),-1!==m.indexOf("b")&&x(p.baxis,o.bLabel),-1!==m.indexOf("c")&&x(p.caxis,o.cLabel)}return o.extraText=y.join("<br>"),o.hovertemplate=h.hovertemplate,a}function x(t,e){y.push(t._hovertitle+": "+e)}}},52979:function(t,e,r){"use strict";t.exports={attributes:r(50413),supplyDefaults:r(46008),colorbar:r(4898),formatLabels:r(93645),calc:r(54337),plot:r(7507),style:r(16296).style,styleOnSelect:r(16296).styleOnSelect,hoverPoints:r(47250),selectPoints:r(98002),eventData:r(4524),moduleType:"trace",name:"scatterternary",basePlotModule:r(61639),categories:["ternary","symbols","showLegend","scatter-like"],meta:{}}},7507:function(t,e,r){"use strict";var n=r(32663);t.exports=function(t,e,r){var i=e.plotContainer;i.select(".scatterlayer").selectAll("*").remove();for(var a=e.xaxis,o=e.yaxis,s={xaxis:a,yaxis:o,plot:i,layerClipId:e._hasClipOnAxisFalse?e.clipIdRelative:null},l=e.layers.frontplot.select("g.scatterlayer"),u=0;u<r.length;u++){var c=r[u];c.length&&(c[0].trace._xA=a,c[0].trace._yA=o)}n(t,s,r,l)}},46880:function(t,e,r){"use strict";var n=r(82196),i=r(50693),a=r(12663).axisHoverFormat,o=r(5386).f,s=r(42341),l=r(85555).idRegex,u=r(44467).templatedArray,c=r(1426).extendFlat,f=n.marker,h=f.line,p=c(i("marker.line",{editTypeOverride:"calc"}),{width:c({},h.width,{editType:"calc"}),editType:"calc"}),d=c(i("marker"),{symbol:f.symbol,angle:f.angle,size:c({},f.size,{editType:"markerSize"}),sizeref:f.sizeref,sizemin:f.sizemin,sizemode:f.sizemode,opacity:f.opacity,colorbar:f.colorbar,line:p,editType:"calc"});function v(t){return{valType:"info_array",freeLength:!0,editType:"calc",items:{valType:"subplotid",regex:l[t],editType:"plot"}}}d.color.editType=d.cmin.editType=d.cmax.editType="style",t.exports={dimensions:u("dimension",{visible:{valType:"boolean",dflt:!0,editType:"calc"},label:{valType:"string",editType:"calc"},values:{valType:"data_array",editType:"calc+clearAxisTypes"},axis:{type:{valType:"enumerated",values:["linear","log","date","category"],editType:"calc+clearAxisTypes"},matches:{valType:"boolean",dflt:!1,editType:"calc"},editType:"calc+clearAxisTypes"},editType:"calc+clearAxisTypes"}),text:c({},s.text,{}),hovertext:c({},s.hovertext,{}),hovertemplate:o(),xhoverformat:a("x"),yhoverformat:a("y"),marker:d,xaxes:v("x"),yaxes:v("y"),diagonal:{visible:{valType:"boolean",dflt:!0,editType:"calc"},editType:"calc"},showupperhalf:{valType:"boolean",dflt:!0,editType:"calc"},showlowerhalf:{valType:"boolean",dflt:!0,editType:"calc"},selected:{marker:s.selected.marker,editType:"calc"},unselected:{marker:s.unselected.marker,editType:"calc"},opacity:s.opacity}},65017:function(t,e,r){"use strict";var n=r(73972),i=r(83312);t.exports={moduleType:"trace",name:"splom",categories:["gl","regl","cartesian","symbols","showLegend","scatter-like"],attributes:r(46880),supplyDefaults:r(25784),colorbar:r(4898),calc:r(87625),plot:r(79410),hoverPoints:r(8567).hoverPoints,selectPoints:r(8689),editStyle:r(28801),meta:{}},n.register(i)},16947:function(t,e,r){"use strict";var n=r(46075),i=r(73972),a=r(79749),o=r(27659).a0,s=r(93612),l=r(41675).getFromId,u=r(89298).shouldShowZeroLine,c="splom",f={};function h(t,e,r){for(var n=r.matrixOptions.data.length,i=e._visibleDims,a=r.viewOpts.ranges=new Array(n),o=0;o<i.length;o++){var s=i[o],u=a[o]=new Array(4),c=l(t,e._diag[s][0]);c&&(u[0]=c.r2l(c.range[0]),u[2]=c.r2l(c.range[1]));var f=l(t,e._diag[s][1]);f&&(u[1]=f.r2l(f.range[0]),u[3]=f.r2l(f.range[1]))}r.selectBatch.length||r.unselectBatch.length?r.matrix.update({ranges:a},{ranges:a}):r.matrix.update({ranges:a})}function p(t){var e=t._fullLayout,r=e._glcanvas.data()[0].regl,i=e._splomGrid;i||(i=e._splomGrid=n(r)),i.update(function(t){var e,r=t._context.plotGlPixelRatio,n=t._fullLayout,i=n._size,a=[0,0,n.width*r,n.height*r],o={};function s(t,e,n,i,s,l){n*=r,i*=r,s*=r,l*=r;var u=e[t+"color"],c=e[t+"width"],f=String(u+c);f in o?o[f].data.push(NaN,NaN,n,i,s,l):o[f]={data:[n,i,s,l],join:"rect",thickness:c*r,color:u,viewport:a,range:a,overlay:!1}}for(e in n._splomSubplots){var l,c,f=n._plots[e],h=f.xaxis,p=f.yaxis,d=h._gridVals,v=p._gridVals,g=h._offset,y=h._length,m=p._length,x=i.b+p.domain[0]*i.h,b=-p._m,_=-b*p.r2l(p.range[0],p.calendar);if(h.showgrid)for(e=0;e<d.length;e++)l=g+h.l2p(d[e].x),s("grid",h,l,x,l,x+m);if(p.showgrid)for(e=0;e<v.length;e++)s("grid",p,g,c=x+_+b*v[e].x,g+y,c);u(t,h,p)&&(l=g+h.l2p(0),s("zeroline",h,l,x,l,x+m)),u(t,p,h)&&s("zeroline",p,g,c=x+_+0,g+y,c)}var w=[];for(e in o)w.push(o[e]);return w}(t))}t.exports={name:c,attr:s.attr,attrRegex:s.attrRegex,layoutAttributes:s.layoutAttributes,supplyLayoutDefaults:s.supplyLayoutDefaults,drawFramework:s.drawFramework,plot:function(t){var e=t._fullLayout,r=i.getModule(c),n=o(t.calcdata,r)[0];a(t,["ANGLE_instanced_arrays","OES_element_index_uint"],f)&&(e._hasOnlyLargeSploms&&p(t),r.plot(t,{},n))},drag:function(t){var e=t.calcdata,r=t._fullLayout;r._hasOnlyLargeSploms&&p(t);for(var n=0;n<e.length;n++){var i=e[n][0].trace,a=r._splomScenes[i.uid];"splom"===i.type&&a&&a.matrix&&h(t,i,a)}},updateGrid:p,clean:function(t,e,r,n){var i,a={};if(n._splomScenes){for(i=0;i<t.length;i++){var o=t[i];"splom"===o.type&&(a[o.uid]=1)}for(i=0;i<r.length;i++){var l=r[i];if(!a[l.uid]){var u=n._splomScenes[l.uid];u&&u.destroy&&u.destroy(),n._splomScenes[l.uid]=null,delete n._splomScenes[l.uid]}}}0===Object.keys(n._splomScenes||{}).length&&delete n._splomScenes,n._splomGrid&&!e._hasOnlyLargeSploms&&n._hasOnlyLargeSploms&&(n._splomGrid.destroy(),n._splomGrid=null,delete n._splomGrid),s.clean(t,e,r,n)},updateFx:s.updateFx,toSVG:s.toSVG,reglPrecompiled:f}},87625:function(t,e,r){"use strict";var n=r(71828),i=r(41675),a=r(47761).calcMarkerSize,o=r(47761).calcAxisExpansion,s=r(36922),l=r(19635).markerSelection,u=r(19635).markerStyle,c=r(10164),f=r(50606).BADNUM,h=r(78232).TOO_MANY_POINTS;t.exports=function(t,e){var r,p,d,v,g,y,m=e.dimensions,x=e._length,b={},_=b.cdata=[],w=b.data=[],T=e._visibleDims=[];function k(t,r){for(var i=t.makeCalcdata({v:r.values,vcalendar:e.calendar},"v"),a=0;a<i.length;a++)i[a]=i[a]===f?NaN:i[a];_.push(i),w.push("log"===t.type?n.simpleMap(i,t.c2l):i)}for(r=0;r<m.length;r++)if((d=m[r]).visible){if(v=i.getFromId(t,e._diag[r][0]),g=i.getFromId(t,e._diag[r][1]),v&&g&&v.type!==g.type){n.log("Skipping splom dimension "+r+" with conflicting axis types");continue}v?(k(v,d),g&&"category"===g.type&&(g._categories=v._categories.slice())):k(g,d),T.push(r)}for(s(t,e),n.extendFlat(b,u(t,e)),y=_.length*x>h?b.sizeAvg||Math.max(b.size,3):a(e,x),p=0;p<T.length;p++)d=m[r=T[p]],v=i.getFromId(t,e._diag[r][0])||{},g=i.getFromId(t,e._diag[r][1])||{},o(t,e,v,g,_[p],_[p],y);var A=c(t,e);return A.matrix||(A.matrix=!0),A.matrixOptions=b,A.selectedOptions=l(t,e,e.selected),A.unselectedOptions=l(t,e,e.unselected),[{x:!1,y:!1,t:{},trace:e}]}},25784:function(t,e,r){"use strict";var n=r(71828),i=r(85501),a=r(46880),o=r(34098),s=r(49508),l=r(94397),u=r(68645).isOpenSymbol;function c(t,e){function r(r,i){return n.coerce(t,e,a.dimensions,r,i)}r("label");var i=r("values");i&&i.length?r("visible"):e.visible=!1,r("axis.type"),r("axis.matches")}t.exports=function(t,e,r,f){function h(r,i){return n.coerce(t,e,a,r,i)}var p=i(t,e,{name:"dimensions",handleItemDefaults:c}),d=h("diagonal.visible"),v=h("showupperhalf"),g=h("showlowerhalf");if(l(e,p,"values")&&(d||v||g)){h("text"),h("hovertext"),h("hovertemplate"),h("xhoverformat"),h("yhoverformat"),s(t,e,r,f,h,{noAngleRef:!0,noStandOff:!0});var y=u(e.marker.symbol),m=o.isBubble(e);h("marker.line.width",y||m?1:0),function(t,e,r,n){var i,a,o=e.dimensions,s=o.length,l=e.showupperhalf,u=e.showlowerhalf,c=e.diagonal.visible,f=new Array(s),h=new Array(s);for(i=0;i<s;i++){var p=i?i+1:"";f[i]="x"+p,h[i]="y"+p}var d=n("xaxes",f),v=n("yaxes",h),g=e._diag=new Array(s);e._xaxes={},e._yaxes={};var y=[],m=[];function x(t,n,i,a){if(t){var o=t.charAt(0),s=r._splomAxes[o];if(e["_"+o+"axes"][t]=1,a.push(t),!(t in s)){var l=s[t]={};i&&(l.label=i.label||"",i.visible&&i.axis&&(i.axis.type&&(l.type=i.axis.type),i.axis.matches&&(l.matches=n)))}}}var b=!c&&!u,_=!c&&!l;for(e._axesDim={},i=0;i<s;i++){var w=o[i],T=0===i,k=i===s-1,A=T&&b||k&&_?void 0:d[i],M=T&&_||k&&b?void 0:v[i];x(A,M,w,y),x(M,A,w,m),g[i]=[A,M],e._axesDim[A]=i,e._axesDim[M]=i}for(i=0;i<y.length;i++)for(a=0;a<m.length;a++){var S=y[i]+m[a];i>a&&l||i<a&&u?r._splomSubplots[S]=1:i!==a||!c&&u&&l||(r._splomSubplots[S]=1)}(!u||!c&&l&&u)&&(r._splomGridDflt.xside="bottom",r._splomGridDflt.yside="left")}(0,e,f,h),n.coerceSelectionMarkerOpacity(e,h)}else e.visible=!1}},28801:function(t,e,r){"use strict";var n=r(71828),i=r(36922),a=r(19635).markerStyle;t.exports=function(t,e){var r=e.trace,o=t._fullLayout._splomScenes[r.uid];if(o){i(t,r),n.extendFlat(o.matrixOptions,a(t,r));var s=n.extendFlat({},o.matrixOptions,o.viewOpts);o.matrix.update(s,null)}}},35948:function(t,e){"use strict";e.getDimIndex=function(t,e){for(var r=e._id,n={x:0,y:1}[r.charAt(0)],i=t._visibleDims,a=0;a<i.length;a++){var o=i[a];if(t._diag[o][n]===r)return a}return!1}},8567:function(t,e,r){"use strict";var n=r(35948),i=r(20794).calcHover;t.exports={hoverPoints:function(t,e,r){var a=t.cd[0].trace,o=t.scene.matrixOptions.cdata,s=t.xa,l=t.ya,u=s.c2p(e),c=l.c2p(r),f=t.distance,h=n.getDimIndex(a,s),p=n.getDimIndex(a,l);if(!1===h||!1===p)return[t];for(var d,v,g=o[h],y=o[p],m=f,x=0;x<g.length;x++){var b=g[x],_=y[x],w=s.c2p(b)-u,T=l.c2p(_)-c,k=Math.sqrt(w*w+T*T);k<m&&(m=v=k,d=x)}return t.index=d,t.distance=m,t.dxy=v,void 0===d?[t]:[i(t,g,y,a)]}}},6419:function(t,e,r){"use strict";var n=r(65017);n.basePlotModule=r(16947),t.exports=n},79410:function(t,e,r){"use strict";var n=r(60487),i=r(71828),a=r(41675),o=r(64505).selectMode;function s(t,e){var r,s,l,u,c,f=t._fullLayout,h=f._size,p=e.trace,d=e.t,v=f._splomScenes[p.uid],g=v.matrixOptions,y=g.cdata,m=f._glcanvas.data()[0].regl,x=f.dragmode;if(0!==y.length){g.lower=p.showupperhalf,g.upper=p.showlowerhalf,g.diagonal=p.diagonal.visible;var b=p._visibleDims,_=y.length,w=v.viewOpts={};for(w.ranges=new Array(_),w.domains=new Array(_),c=0;c<b.length;c++){l=b[c];var T=w.ranges[c]=new Array(4),k=w.domains[c]=new Array(4);(r=a.getFromId(t,p._diag[l][0]))&&(T[0]=r._rl[0],T[2]=r._rl[1],k[0]=r.domain[0],k[2]=r.domain[1]),(s=a.getFromId(t,p._diag[l][1]))&&(T[1]=s._rl[0],T[3]=s._rl[1],k[1]=s.domain[0],k[3]=s.domain[1])}var A=t._context.plotGlPixelRatio,M=h.l*A,S=h.b*A,E=h.w*A,L=h.h*A;w.viewport=[M,S,E+M,L+S],!0===v.matrix&&(v.matrix=n(m));var C=f.clickmode.indexOf("select")>-1,P=!0;if(o(x)||p.selectedpoints||C){var O=p._length;if(p.selectedpoints){v.selectBatch=p.selectedpoints;var I=p.selectedpoints,D={};for(l=0;l<I.length;l++)D[I[l]]=!0;var z=[];for(l=0;l<O;l++)D[l]||z.push(l);v.unselectBatch=z}var R=d.xpx=new Array(_),F=d.ypx=new Array(_);for(c=0;c<b.length;c++){if(l=b[c],r=a.getFromId(t,p._diag[l][0]))for(R[c]=new Array(O),u=0;u<O;u++)R[c][u]=r.c2p(y[c][u]);if(s=a.getFromId(t,p._diag[l][1]))for(F[c]=new Array(O),u=0;u<O;u++)F[c][u]=s.c2p(y[c][u])}if(v.selectBatch.length||v.unselectBatch.length){var B=i.extendFlat({},g,v.unselectedOptions,w),N=i.extendFlat({},g,v.selectedOptions,w);v.matrix.update(B,N),P=!1}}else d.xpx=d.ypx=null;if(P){var j=i.extendFlat({},g,w);v.matrix.update(j,null)}}}t.exports=function(t,e,r){if(r.length)for(var n=0;n<r.length;n++)s(t,r[n][0])}},10164:function(t,e,r){"use strict";var n=r(71828);t.exports=function(t,e){var r=t._fullLayout,i=e.uid,a=r._splomScenes;a||(a=r._splomScenes={});var o={dirty:!0,selectBatch:[],unselectBatch:[]},s=a[e.uid];return s||((s=a[i]=n.extendFlat({},o,{matrix:!1,selectBatch:[],unselectBatch:[]})).draw=function(){s.matrix&&s.matrix.draw&&(s.selectBatch.length||s.unselectBatch.length?s.matrix.draw(s.unselectBatch,s.selectBatch):s.matrix.draw()),s.dirty=!1},s.destroy=function(){s.matrix&&s.matrix.destroy&&s.matrix.destroy(),s.matrixOptions=null,s.selectBatch=null,s.unselectBatch=null,s=null}),s.dirty||n.extendFlat(s,o),s}},8689:function(t,e,r){"use strict";var n=r(71828),i=n.pushUnique,a=r(34098),o=r(35948);t.exports=function(t,e){var r=t.cd,s=r[0].trace,l=r[0].t,u=t.scene,c=u.matrixOptions.cdata,f=t.xaxis,h=t.yaxis,p=[];if(!u)return p;var d=!a.hasMarkers(s)&&!a.hasText(s);if(!0!==s.visible||d)return p;var v=o.getDimIndex(s,f),g=o.getDimIndex(s,h);if(!1===v||!1===g)return p;var y=l.xpx[v],m=l.ypx[g],x=c[v],b=c[g],_=(t.scene.selectBatch||[]).slice(),w=[];if(!1!==e&&!e.degenerate)for(var T=0;T<x.length;T++)e.contains([y[T],m[T]],null,T,t)?(p.push({pointNumber:T,x:x[T],y:b[T]}),i(_,T)):-1!==_.indexOf(T)?i(_,T):w.push(T);var k=u.matrixOptions;return _.length||w.length?u.selectBatch.length||u.unselectBatch.length||u.matrix.update(u.unselectedOptions,n.extendFlat({},k,u.selectedOptions,u.viewOpts)):u.matrix.update(k,null),u.selectBatch=_,u.unselectBatch=w,p}},21850:function(t,e,r){"use strict";var n=r(50693),i=r(12663).axisHoverFormat,a=r(5386).f,o=r(2418),s=r(9012),l=r(1426).extendFlat,u={x:{valType:"data_array",editType:"calc+clearAxisTypes"},y:{valType:"data_array",editType:"calc+clearAxisTypes"},z:{valType:"data_array",editType:"calc+clearAxisTypes"},u:{valType:"data_array",editType:"calc"},v:{valType:"data_array",editType:"calc"},w:{valType:"data_array",editType:"calc"},starts:{x:{valType:"data_array",editType:"calc"},y:{valType:"data_array",editType:"calc"},z:{valType:"data_array",editType:"calc"},editType:"calc"},maxdisplayed:{valType:"integer",min:0,dflt:1e3,editType:"calc"},sizeref:{valType:"number",editType:"calc",min:0,dflt:1},text:{valType:"string",dflt:"",editType:"calc"},hovertext:{valType:"string",dflt:"",editType:"calc"},hovertemplate:a({editType:"calc"},{keys:["tubex","tubey","tubez","tubeu","tubev","tubew","norm","divergence"]}),uhoverformat:i("u",1),vhoverformat:i("v",1),whoverformat:i("w",1),xhoverformat:i("x"),yhoverformat:i("y"),zhoverformat:i("z"),showlegend:l({},s.showlegend,{dflt:!1})};l(u,n("",{colorAttr:"u/v/w norm",showScaleDflt:!0,editTypeOverride:"calc"})),["opacity","lightposition","lighting"].forEach((function(t){u[t]=o[t]})),u.hoverinfo=l({},s.hoverinfo,{editType:"calc",flags:["x","y","z","u","v","w","norm","divergence","text","name"],dflt:"x+y+z+norm+text+name"}),u.transforms=void 0,t.exports=u},88489:function(t,e,r){"use strict";var n=r(71828),i=r(78803);function a(t){var e,r,i,a,s,l,u,c,f,h,p,d,v=t._x,g=t._y,y=t._z,m=t._len,x=-1/0,b=1/0,_=-1/0,w=1/0,T=-1/0,k=1/0,A="";for(m&&(u=v[0],f=g[0],p=y[0]),m>1&&(c=v[m-1],h=g[m-1],d=y[m-1]),e=0;e<m;e++)x=Math.max(x,v[e]),b=Math.min(b,v[e]),_=Math.max(_,g[e]),w=Math.min(w,g[e]),T=Math.max(T,y[e]),k=Math.min(k,y[e]),a||v[e]===u||(a=!0,A+="x"),s||g[e]===f||(s=!0,A+="y"),l||y[e]===p||(l=!0,A+="z");a||(A+="x"),s||(A+="y"),l||(A+="z");var M=o(t._x),S=o(t._y),E=o(t._z);A=(A=(A=A.replace("x",(u>c?"-":"+")+"x")).replace("y",(f>h?"-":"+")+"y")).replace("z",(p>d?"-":"+")+"z");var L=function(){m=0,M=[],S=[],E=[]};(!m||m<M.length*S.length*E.length)&&L();var C=function(t){return"x"===t?v:"y"===t?g:y},P=function(t){return"x"===t?M:"y"===t?S:E},O=function(t){return t[m-1]<t[0]?-1:1},I=C(A[1]),D=C(A[3]),z=C(A[5]),R=P(A[1]).length,F=P(A[3]).length,B=P(A[5]).length,N=!1,j=function(t,e,r){return R*(F*t+e)+r},U=O(C(A[1])),V=O(C(A[3])),H=O(C(A[5]));for(e=0;e<B-1;e++){for(r=0;r<F-1;r++){for(i=0;i<R-1;i++){var q=j(e,r,i),G=j(e,r,i+1),Z=j(e,r+1,i),Y=j(e+1,r,i);if(I[q]*U<I[G]*U&&D[q]*V<D[Z]*V&&z[q]*H<z[Y]*H||(N=!0),N)break}if(N)break}if(N)break}return N&&(n.warn("Encountered arbitrary coordinates! Unable to input data grid."),L()),{xMin:b,yMin:w,zMin:k,xMax:x,yMax:_,zMax:T,Xs:M,Ys:S,Zs:E,len:m,fill:A}}function o(t){return n.distinctVals(t).vals}function s(t,e){if(void 0===e&&(e=t.length),n.isTypedArray(t))return t.subarray(0,e);for(var r=[],i=0;i<e;i++)r[i]=+t[i];return r}t.exports={calc:function(t,e){e._len=Math.min(e.u.length,e.v.length,e.w.length,e.x.length,e.y.length,e.z.length),e._u=s(e.u,e._len),e._v=s(e.v,e._len),e._w=s(e.w,e._len),e._x=s(e.x,e._len),e._y=s(e.y,e._len),e._z=s(e.z,e._len);var r=a(e);e._gridFill=r.fill,e._Xs=r.Xs,e._Ys=r.Ys,e._Zs=r.Zs,e._len=r.len;var n,o,l,u=0;e.starts&&(n=s(e.starts.x||[]),o=s(e.starts.y||[]),l=s(e.starts.z||[]),u=Math.min(n.length,o.length,l.length)),e._startsX=n||[],e._startsY=o||[],e._startsZ=l||[];var c,f=0,h=1/0;for(c=0;c<e._len;c++){var p=e._u[c],d=e._v[c],v=e._w[c],g=Math.sqrt(p*p+d*d+v*v);f=Math.max(f,g),h=Math.min(h,g)}for(i(t,e,{vals:[h,f],containerStr:"",cLetter:"c"}),c=0;c<u;c++){var y=n[c];r.xMax=Math.max(r.xMax,y),r.xMin=Math.min(r.xMin,y);var m=o[c];r.yMax=Math.max(r.yMax,m),r.yMin=Math.min(r.yMin,m);var x=l[c];r.zMax=Math.max(r.zMax,x),r.zMin=Math.min(r.zMin,x)}e._slen=u,e._normMax=f,e._xbnds=[r.xMin,r.xMax],e._ybnds=[r.yMin,r.yMax],e._zbnds=[r.zMin,r.zMax]},filter:s,processGrid:a}},90154:function(t,e,r){"use strict";var n=r(9330).gl_streamtube3d,i=n.createTubeMesh,a=r(71828),o=r(81697).parseColorScale,s=r(21081).extractOpts,l=r(90060),u={xaxis:0,yaxis:1,zaxis:2};function c(t,e){this.scene=t,this.uid=e,this.mesh=null,this.data=null}var f=c.prototype;function h(t){var e=t.length;return e>2?t.slice(1,e-1):2===e?[(t[0]+t[1])/2]:t}function p(t){var e=t.length;return 1===e?[.5,.5]:[t[1]-t[0],t[e-1]-t[e-2]]}function d(t,e){var r=t.fullSceneLayout,i=t.dataScale,c=e._len,f={};function d(t,e){var n=r[e],o=i[u[e]];return a.simpleMap(t,(function(t){return n.d2l(t)*o}))}if(f.vectors=l(d(e._u,"xaxis"),d(e._v,"yaxis"),d(e._w,"zaxis"),c),!c)return{positions:[],cells:[]};var v=d(e._Xs,"xaxis"),g=d(e._Ys,"yaxis"),y=d(e._Zs,"zaxis");if(f.meshgrid=[v,g,y],f.gridFill=e._gridFill,e._slen)f.startingPositions=l(d(e._startsX,"xaxis"),d(e._startsY,"yaxis"),d(e._startsZ,"zaxis"));else{for(var m=g[0],x=h(v),b=h(y),_=new Array(x.length*b.length),w=0,T=0;T<x.length;T++)for(var k=0;k<b.length;k++)_[w++]=[x[T],m,b[k]];f.startingPositions=_}f.colormap=o(e),f.tubeSize=e.sizeref,f.maxLength=e.maxdisplayed;var A=d(e._xbnds,"xaxis"),M=d(e._ybnds,"yaxis"),S=d(e._zbnds,"zaxis"),E=p(v),L=p(g),C=p(y),P=[[A[0]-E[0],M[0]-L[0],S[0]-C[0]],[A[1]+E[1],M[1]+L[1],S[1]+C[1]]],O=n(f,P),I=s(e);O.vertexIntensityBounds=[I.min/e._normMax,I.max/e._normMax];var D=e.lightposition;return O.lightPosition=[D.x,D.y,D.z],O.ambient=e.lighting.ambient,O.diffuse=e.lighting.diffuse,O.specular=e.lighting.specular,O.roughness=e.lighting.roughness,O.fresnel=e.lighting.fresnel,O.opacity=e.opacity,e._pad=O.tubeScale*e.sizeref*2,O}f.handlePick=function(t){var e=this.scene.fullSceneLayout,r=this.scene.dataScale;function n(t,n){var i=e[n],a=r[u[n]];return i.l2c(t)/a}if(t.object===this.mesh){var i=t.data.position,a=t.data.velocity;return t.traceCoordinate=[n(i[0],"xaxis"),n(i[1],"yaxis"),n(i[2],"zaxis"),n(a[0],"xaxis"),n(a[1],"yaxis"),n(a[2],"zaxis"),t.data.intensity*this.data._normMax,t.data.divergence],t.textLabel=this.data.hovertext||this.data.text,!0}},f.update=function(t){this.data=t;var e=d(this.scene,t);this.mesh.update(e)},f.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()},t.exports=function(t,e){var r=t.glplot.gl,n=d(t,e),a=i(r,n),o=new c(t,e.uid);return o.mesh=a,o.data=e,a._trace=o,t.glplot.add(a),o}},22459:function(t,e,r){"use strict";var n=r(71828),i=r(1586),a=r(21850);t.exports=function(t,e,r,o){function s(r,i){return n.coerce(t,e,a,r,i)}var l=s("u"),u=s("v"),c=s("w"),f=s("x"),h=s("y"),p=s("z");l&&l.length&&u&&u.length&&c&&c.length&&f&&f.length&&h&&h.length&&p&&p.length?(s("starts.x"),s("starts.y"),s("starts.z"),s("maxdisplayed"),s("sizeref"),s("lighting.ambient"),s("lighting.diffuse"),s("lighting.specular"),s("lighting.roughness"),s("lighting.fresnel"),s("lightposition.x"),s("lightposition.y"),s("lightposition.z"),i(t,e,o,s,{prefix:"",cLetter:"c"}),s("text"),s("hovertext"),s("hovertemplate"),s("uhoverformat"),s("vhoverformat"),s("whoverformat"),s("xhoverformat"),s("yhoverformat"),s("zhoverformat"),e._length=null):e.visible=!1}},61510:function(t,e,r){"use strict";t.exports={moduleType:"trace",name:"streamtube",basePlotModule:r(58547),categories:["gl3d","showLegend"],attributes:r(21850),supplyDefaults:r(22459),colorbar:{min:"cmin",max:"cmax"},calc:r(88489).calc,plot:r(90154),eventData:function(t,e){return t.tubex=t.x,t.tubey=t.y,t.tubez=t.z,t.tubeu=e.traceCoordinate[3],t.tubev=e.traceCoordinate[4],t.tubew=e.traceCoordinate[5],t.norm=e.traceCoordinate[6],t.divergence=e.traceCoordinate[7],delete t.x,delete t.y,delete t.z,t},meta:{}}},57564:function(t,e,r){"use strict";var n=r(9012),i=r(5386).f,a=r(5386).s,o=r(50693),s=r(27670).Y,l=r(34e3),u=r(7055),c=r(1426).extendFlat;t.exports={labels:{valType:"data_array",editType:"calc"},parents:{valType:"data_array",editType:"calc"},values:{valType:"data_array",editType:"calc"},branchvalues:{valType:"enumerated",values:["remainder","total"],dflt:"remainder",editType:"calc"},count:{valType:"flaglist",flags:["branches","leaves"],dflt:"leaves",editType:"calc"},level:{valType:"any",editType:"plot",anim:!0},maxdepth:{valType:"integer",editType:"plot",dflt:-1},marker:c({colors:{valType:"data_array",editType:"calc"},line:{color:c({},l.marker.line.color,{dflt:null}),width:c({},l.marker.line.width,{dflt:1}),editType:"calc"},editType:"calc"},o("marker",{colorAttr:"colors",anim:!1})),leaf:{opacity:{valType:"number",editType:"style",min:0,max:1},editType:"plot"},text:l.text,textinfo:{valType:"flaglist",flags:["label","text","value","current path","percent root","percent entry","percent parent"],extras:["none"],editType:"plot"},texttemplate:a({editType:"plot"},{keys:u.eventDataKeys.concat(["label","value"])}),hovertext:l.hovertext,hoverinfo:c({},n.hoverinfo,{flags:["label","text","value","name","current path","percent root","percent entry","percent parent"],dflt:"label+text+value+name"}),hovertemplate:i({},{keys:u.eventDataKeys}),textfont:l.textfont,insidetextorientation:l.insidetextorientation,insidetextfont:l.insidetextfont,outsidetextfont:c({},l.outsidetextfont,{}),rotation:{valType:"angle",dflt:0,editType:"plot"},sort:l.sort,root:{color:{valType:"color",editType:"calc",dflt:"rgba(0,0,0,0)"},editType:"calc"},domain:s({name:"sunburst",trace:!0,editType:"calc"})}},66888:function(t,e,r){"use strict";var n=r(74875);e.name="sunburst",e.plot=function(t,r,i,a){n.plotBasePlot(e.name,t,r,i,a)},e.clean=function(t,r,i,a){n.cleanBasePlot(e.name,t,r,i,a)}},52147:function(t,e,r){"use strict";var n=r(674),i=r(92770),a=r(71828),o=r(21081).makeColorScaleFuncFromTrace,s=r(32354).makePullColorFn,l=r(32354).generateExtendedColors,u=r(21081).calc,c=r(50606).ALMOST_EQUAL,f={},h={},p={};function d(t,e,r){var n=0,i=t.children;if(i){for(var a=i.length,o=0;o<a;o++)n+=d(i[o],e,r);r.branches&&n++}else r.leaves&&n++;return t.value=t.data.data.value=n,e._values||(e._values=[]),e._values[t.data.data.i]=n,n}e.calc=function(t,e){var r,l,f,h,p,v,g=t._fullLayout,y=e.ids,m=a.isArrayOrTypedArray(y),x=e.labels,b=e.parents,_=e.values,w=a.isArrayOrTypedArray(_),T=[],k={},A={},M=function(t){return t||"number"==typeof t},S=function(t){return!w||i(_[t])&&_[t]>=0};m?(r=Math.min(y.length,b.length),l=function(t){return M(y[t])&&S(t)},f=function(t){return String(y[t])}):(r=Math.min(x.length,b.length),l=function(t){return M(x[t])&&S(t)},f=function(t){return String(x[t])}),w&&(r=Math.min(r,_.length));for(var E=0;E<r;E++)if(l(E)){var L=f(E),C=M(b[E])?String(b[E]):"",P={i:E,id:L,pid:C,label:M(x[E])?String(x[E]):""};w&&(P.v=+_[E]),T.push(P),p=L,k[h=C]?k[h].push(p):k[h]=[p],A[p]=1}if(k[""]){if(k[""].length>1){for(var O=a.randstr(),I=0;I<T.length;I++)""===T[I].pid&&(T[I].pid=O);T.unshift({hasMultipleRoots:!0,id:O,pid:"",label:""})}}else{var D,z=[];for(D in k)A[D]||z.push(D);if(1!==z.length)return a.warn(["Multiple implied roots, cannot build",e.type,"hierarchy of",e.name+".","These roots include:",z.join(", ")].join(" "));D=z[0],T.unshift({hasImpliedRoot:!0,id:D,pid:"",label:D})}try{v=n.stratify().id((function(t){return t.id})).parentId((function(t){return t.pid}))(T)}catch(t){return a.warn(["Failed to build",e.type,"hierarchy of",e.name+".","Error:",t.message].join(" "))}var R=n.hierarchy(v),F=!1;if(w)switch(e.branchvalues){case"remainder":R.sum((function(t){return t.data.v}));break;case"total":R.each((function(t){var r=t.data.data,n=r.v;if(t.children){var i=t.children.reduce((function(t,e){return t+e.data.data.v}),0);if((r.hasImpliedRoot||r.hasMultipleRoots)&&(n=i),n<i*c)return F=!0,a.warn(["Total value for node",t.data.data.id,"of",e.name,"is smaller than the sum of its children.","\nparent value =",n,"\nchildren sum =",i].join(" "))}t.value=n}))}else d(R,e,{branches:-1!==e.count.indexOf("branches"),leaves:-1!==e.count.indexOf("leaves")});if(!F){var B,N;e.sort&&R.sort((function(t,e){return e.value-t.value}));var j=e.marker.colors||[],U=!!j.length;return e._hasColorscale?(U||(j=w?e.values:e._values),u(t,e,{vals:j,containerStr:"marker",cLetter:"c"}),N=o(e.marker)):B=s(g["_"+e.type+"colormap"]),R.each((function(t){var r=t.data.data;r.color=e._hasColorscale?N(j[r.i]):B(j[r.i],r.id)})),T[0].hierarchy=R,T}},e._runCrossTraceCalc=function(t,e){var r=e._fullLayout,n=e.calcdata,i=r[t+"colorway"],a=r["_"+t+"colormap"];r["extend"+t+"colors"]&&(i=l(i,"icicle"===t?p:"treemap"===t?h:f));var o,s=0;function u(t){var e=t.data.data,r=e.id;!1===e.color&&(a[r]?e.color=a[r]:t.parent?t.parent.parent?e.color=t.parent.data.data.color:(a[r]=e.color=i[s%i.length],s++):e.color=o)}for(var c=0;c<n.length;c++){var d=n[c][0];d.trace.type===t&&d.hierarchy&&(o=d.trace.root.color,d.hierarchy.each(u))}},e.crossTraceCalc=function(t){return e._runCrossTraceCalc("sunburst",t)}},7055:function(t){"use strict";t.exports={CLICK_TRANSITION_TIME:750,CLICK_TRANSITION_EASING:"linear",eventDataKeys:["currentPath","root","entry","percentRoot","percentEntry","percentParent"]}},17094:function(t,e,r){"use strict";var n=r(71828),i=r(57564),a=r(27670).c,o=r(90769).handleText,s=r(21081),l=s.hasColorscale,u=s.handleDefaults;t.exports=function(t,e,r,s){function c(r,a){return n.coerce(t,e,i,r,a)}var f=c("labels"),h=c("parents");if(f&&f.length&&h&&h.length){var p=c("values");p&&p.length?c("branchvalues"):c("count"),c("level"),c("maxdepth"),c("marker.line.width")&&c("marker.line.color",s.paper_bgcolor),c("marker.colors");var d=e._hasColorscale=l(t,"marker","colors")||(t.marker||{}).coloraxis;d&&u(t,e,s,c,{prefix:"marker.",cLetter:"c"}),c("leaf.opacity",d?1:.7);var v=c("text");c("texttemplate"),e.texttemplate||c("textinfo",Array.isArray(v)?"text+label":"label"),c("hovertext"),c("hovertemplate"),o(t,e,s,c,"auto",{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1}),c("insidetextorientation"),c("sort"),c("rotation"),c("root.color"),a(e,s,c),e._length=null}else e.visible=!1}},83523:function(t,e,r){"use strict";var n=r(39898),i=r(73972),a=r(23469).appendArrayPointValue,o=r(30211),s=r(71828),l=r(11086),u=r(2791),c=r(53581).formatPieValue;function f(t,e,r){for(var n=t.data.data,i={curveNumber:e.index,pointNumber:n.i,data:e._input,fullData:e},o=0;o<r.length;o++){var s=r[o];s in t&&(i[s]=t[s])}return"parentString"in t&&!u.isHierarchyRoot(t)&&(i.parent=t.parentString),a(i,e,n.i),i}t.exports=function(t,e,r,a,h){var p=a[0],d=p.trace,v=p.hierarchy,g="sunburst"===d.type,y="treemap"===d.type||"icicle"===d.type;"_hasHoverLabel"in d||(d._hasHoverLabel=!1),"_hasHoverEvent"in d||(d._hasHoverEvent=!1),t.on("mouseover",(function(i){var a=r._fullLayout;if(!r._dragging&&!1!==a.hovermode){var l,m=r._fullData[d.index],x=i.data.data,b=x.i,_=u.isHierarchyRoot(i),w=u.getParent(v,i),T=u.getValue(i),k=function(t){return s.castOption(m,b,t)},A=k("hovertemplate"),M=o.castHoverinfo(m,a,b),S=a.separators;if(A||M&&"none"!==M&&"skip"!==M){var E,L;g&&(E=p.cx+i.pxmid[0]*(1-i.rInscribed),L=p.cy+i.pxmid[1]*(1-i.rInscribed)),y&&(E=i._hoverX,L=i._hoverY);var C,P={},O=[],I=[],D=function(t){return-1!==O.indexOf(t)};M&&(O="all"===M?m._module.attributes.hoverinfo.flags:M.split("+")),P.label=x.label,D("label")&&P.label&&I.push(P.label),x.hasOwnProperty("v")&&(P.value=x.v,P.valueLabel=c(P.value,S),D("value")&&I.push(P.valueLabel)),P.currentPath=i.currentPath=u.getPath(i.data),D("current path")&&!_&&I.push(P.currentPath);var z=[],R=function(){-1===z.indexOf(C)&&(I.push(C),z.push(C))};P.percentParent=i.percentParent=T/u.getValue(w),P.parent=i.parentString=u.getPtLabel(w),D("percent parent")&&(C=u.formatPercent(P.percentParent,S)+" of "+P.parent,R()),P.percentEntry=i.percentEntry=T/u.getValue(e),P.entry=i.entry=u.getPtLabel(e),!D("percent entry")||_||i.onPathbar||(C=u.formatPercent(P.percentEntry,S)+" of "+P.entry,R()),P.percentRoot=i.percentRoot=T/u.getValue(v),P.root=i.root=u.getPtLabel(v),D("percent root")&&!_&&(C=u.formatPercent(P.percentRoot,S)+" of "+P.root,R()),P.text=k("hovertext")||k("text"),D("text")&&(C=P.text,s.isValidTextValue(C)&&I.push(C)),l=[f(i,m,h.eventDataKeys)];var F={trace:m,y:L,_x0:i._x0,_x1:i._x1,_y0:i._y0,_y1:i._y1,text:I.join("<br>"),name:A||D("name")?m.name:void 0,color:k("hoverlabel.bgcolor")||x.color,borderColor:k("hoverlabel.bordercolor"),fontFamily:k("hoverlabel.font.family"),fontSize:k("hoverlabel.font.size"),fontColor:k("hoverlabel.font.color"),nameLength:k("hoverlabel.namelength"),textAlign:k("hoverlabel.align"),hovertemplate:A,hovertemplateLabels:P,eventData:l};g&&(F.x0=E-i.rInscribed*i.rpx1,F.x1=E+i.rInscribed*i.rpx1,F.idealAlign=i.pxmid[0]<0?"left":"right"),y&&(F.x=E,F.idealAlign=E<0?"left":"right");var B=[];o.loneHover(F,{container:a._hoverlayer.node(),outerContainer:a._paper.node(),gd:r,inOut_bbox:B}),l[0].bbox=B[0],d._hasHoverLabel=!0}if(y){var N=t.select("path.surface");h.styleOne(N,i,m,{hovered:!0})}d._hasHoverEvent=!0,r.emit("plotly_hover",{points:l||[f(i,m,h.eventDataKeys)],event:n.event})}})),t.on("mouseout",(function(e){var i=r._fullLayout,a=r._fullData[d.index],s=n.select(this).datum();if(d._hasHoverEvent&&(e.originalEvent=n.event,r.emit("plotly_unhover",{points:[f(s,a,h.eventDataKeys)],event:n.event}),d._hasHoverEvent=!1),d._hasHoverLabel&&(o.loneUnhover(i._hoverlayer.node()),d._hasHoverLabel=!1),y){var l=t.select("path.surface");h.styleOne(l,s,a,{hovered:!1})}})),t.on("click",(function(t){var e=r._fullLayout,a=r._fullData[d.index],s=g&&(u.isHierarchyRoot(t)||u.isLeaf(t)),c=u.getPtId(t),p=u.isEntry(t)?u.findEntryWithChild(v,c):u.findEntryWithLevel(v,c),y=u.getPtId(p),m={points:[f(t,a,h.eventDataKeys)],event:n.event};s||(m.nextLevel=y);var x=l.triggerHandler(r,"plotly_"+d.type+"click",m);if(!1!==x&&e.hovermode&&(r._hoverdata=[f(t,a,h.eventDataKeys)],o.click(r,n.event)),!s&&!1!==x&&!r._dragging&&!r._transitioning){i.call("_storeDirectGUIEdit",a,e._tracePreGUI[a.uid],{level:a.level});var b={data:[{level:y}],traces:[d.index]},_={frame:{redraw:!1,duration:h.transitionTime},transition:{duration:h.transitionTime,easing:h.transitionEasing},mode:"immediate",fromcurrent:!0};o.loneUnhover(e._hoverlayer.node()),i.call("animate",r,b,_)}}))}},2791:function(t,e,r){"use strict";var n=r(71828),i=r(7901),a=r(6964),o=r(53581);function s(t){return t.data.data.pid}e.findEntryWithLevel=function(t,r){var n;return r&&t.eachAfter((function(t){if(e.getPtId(t)===r)return n=t.copy()})),n||t},e.findEntryWithChild=function(t,r){var n;return t.eachAfter((function(t){for(var i=t.children||[],a=0;a<i.length;a++){var o=i[a];if(e.getPtId(o)===r)return n=t.copy()}})),n||t},e.isEntry=function(t){return!t.parent},e.isLeaf=function(t){return!t.children},e.getPtId=function(t){return t.data.data.id},e.getPtLabel=function(t){return t.data.data.label},e.getValue=function(t){return t.value},e.isHierarchyRoot=function(t){return""===s(t)},e.setSliceCursor=function(t,r,n){var i=n.isTransitioning;if(!i){var o=t.datum();i=n.hideOnRoot&&e.isHierarchyRoot(o)||n.hideOnLeaves&&e.isLeaf(o)}a(t,i?null:"pointer")},e.getInsideTextFontKey=function(t,e,r,i,a){var o=(a||{}).onPathbar?"pathbar.textfont":"insidetextfont",s=r.data.data.i;return n.castOption(e,s,o+"."+t)||n.castOption(e,s,"textfont."+t)||i.size},e.getOutsideTextFontKey=function(t,e,r,i){var a=r.data.data.i;return n.castOption(e,a,"outsidetextfont."+t)||n.castOption(e,a,"textfont."+t)||i.size},e.isOutsideText=function(t,r){return!t._hasColorscale&&e.isHierarchyRoot(r)},e.determineTextFont=function(t,r,a,o){return e.isOutsideText(t,r)?function(t,r,n){return{color:e.getOutsideTextFontKey("color",t,r,n),family:e.getOutsideTextFontKey("family",t,r,n),size:e.getOutsideTextFontKey("size",t,r,n)}}(t,r,a):function(t,r,a,o){var s=(o||{}).onPathbar,l=r.data.data,u=l.i,c=n.castOption(t,u,(s?"pathbar.textfont":"insidetextfont")+".color");return!c&&t._input.textfont&&(c=n.castOption(t._input,u,"textfont.color")),{color:c||i.contrast(l.color),family:e.getInsideTextFontKey("family",t,r,a,o),size:e.getInsideTextFontKey("size",t,r,a,o)}}(t,r,a,o)},e.hasTransition=function(t){return!!(t&&t.duration>0)},e.getMaxDepth=function(t){return t.maxdepth>=0?t.maxdepth:1/0},e.isHeader=function(t,r){return!(e.isLeaf(t)||t.depth===r._maxDepth-1)},e.getParent=function(t,r){return e.findEntryWithLevel(t,s(r))},e.listPath=function(t,r){var n=t.parent;if(!n)return[];var i=r?[n.data[r]]:[n];return e.listPath(n,r).concat(i)},e.getPath=function(t){return e.listPath(t,"label").join("/")+"/"},e.formatValue=o.formatPieValue,e.formatPercent=function(t,e){var r=n.formatPercent(t,0);return"0%"===r&&(r=o.formatPiePercent(t,e)),r}},87619:function(t,e,r){"use strict";t.exports={moduleType:"trace",name:"sunburst",basePlotModule:r(66888),categories:[],animatable:!0,attributes:r(57564),layoutAttributes:r(2654),supplyDefaults:r(17094),supplyLayoutDefaults:r(57034),calc:r(52147).calc,crossTraceCalc:r(52147).crossTraceCalc,plot:r(24714).plot,style:r(29969).style,colorbar:r(4898),meta:{}}},2654:function(t){"use strict";t.exports={sunburstcolorway:{valType:"colorlist",editType:"calc"},extendsunburstcolors:{valType:"boolean",dflt:!0,editType:"calc"}}},57034:function(t,e,r){"use strict";var n=r(71828),i=r(2654);t.exports=function(t,e){function r(r,a){return n.coerce(t,e,i,r,a)}r("sunburstcolorway",e.colorway),r("extendsunburstcolors")}},24714:function(t,e,r){"use strict";var n=r(39898),i=r(674),a=r(29502).sX,o=r(91424),s=r(71828),l=r(63893),u=r(72597),c=u.recordMinTextSize,f=u.clearMinTextSize,h=r(14575),p=r(53581).getRotationAngle,d=h.computeTransform,v=h.transformInsideText,g=r(29969).styleOne,y=r(16688).resizeText,m=r(83523),x=r(7055),b=r(2791);function _(t,r,u,f){var h=t._context.staticPlot,y=t._fullLayout,_=!y.uniformtext.mode&&b.hasTransition(f),T=n.select(u).selectAll("g.slice"),k=r[0],A=k.trace,M=k.hierarchy,S=b.findEntryWithLevel(M,A.level),E=b.getMaxDepth(A),L=y._size,C=A.domain,P=L.w*(C.x[1]-C.x[0]),O=L.h*(C.y[1]-C.y[0]),I=.5*Math.min(P,O),D=k.cx=L.l+L.w*(C.x[1]+C.x[0])/2,z=k.cy=L.t+L.h*(1-C.y[0])-O/2;if(!S)return T.remove();var R=null,F={};_&&T.each((function(t){F[b.getPtId(t)]={rpx0:t.rpx0,rpx1:t.rpx1,x0:t.x0,x1:t.x1,transform:t.transform},!R&&b.isEntry(t)&&(R=t)}));var B=function(t){return i.partition().size([2*Math.PI,t.height+1])(t)}(S).descendants(),N=S.height+1,j=0,U=E;k.hasMultipleRoots&&b.isHierarchyRoot(S)&&(B=B.slice(1),N-=1,j=1,U+=1),B=B.filter((function(t){return t.y1<=U}));var V=p(A.rotation);V&&B.forEach((function(t){t.x0+=V,t.x1+=V}));var H=Math.min(N,E),q=function(t){return(t-j)/H*I},G=function(t,e){return[t*Math.cos(e),-t*Math.sin(e)]},Z=function(t){return s.pathAnnulus(t.rpx0,t.rpx1,t.x0,t.x1,D,z)},Y=function(t){return D+w(t)[0]*(t.transform.rCenter||0)+(t.transform.x||0)},W=function(t){return z+w(t)[1]*(t.transform.rCenter||0)+(t.transform.y||0)};(T=T.data(B,b.getPtId)).enter().append("g").classed("slice",!0),_?T.exit().transition().each((function(){var t=n.select(this);t.select("path.surface").transition().attrTween("d",(function(t){var e=function(t){var e,r=b.getPtId(t),n=F[r],i=F[b.getPtId(S)];if(i){var o=(t.x1>i.x1?2*Math.PI:0)+V;e=t.rpx1<i.rpx1?{x0:t.x0,x1:t.x1,rpx0:0,rpx1:0}:{x0:o,x1:o,rpx0:t.rpx0,rpx1:t.rpx1}}else{var s,l=b.getPtId(t.parent);T.each((function(t){if(b.getPtId(t)===l)return s=t}));var u,c=s.children;c.forEach((function(t,e){if(b.getPtId(t)===r)return u=e}));var f=c.length,h=a(s.x0,s.x1);e={rpx0:I,rpx1:I,x0:h(u/f),x1:h((u+1)/f)}}return a(n,e)}(t);return function(t){return Z(e(t))}})),t.select("g.slicetext").attr("opacity",0)})).remove():T.exit().remove(),T.order();var X=null;if(_&&R){var J=b.getPtId(R);T.each((function(t){null===X&&b.getPtId(t)===J&&(X=t.x1)}))}var K=T;function $(t){var e=t.parent,r=F[b.getPtId(e)],n={};if(r){var i=e.children,o=i.indexOf(t),s=i.length,l=a(r.x0,r.x1);n.x0=l(o/s),n.x1=l(o/s)}else n.x0=n.x1=0;return n}_&&(K=K.transition().each("end",(function(){var e=n.select(this);b.setSliceCursor(e,t,{hideOnRoot:!0,hideOnLeaves:!0,isTransitioning:!1})}))),K.each((function(i){var u=n.select(this),f=s.ensureSingle(u,"path","surface",(function(t){t.style("pointer-events",h?"none":"all")}));i.rpx0=q(i.y0),i.rpx1=q(i.y1),i.xmid=(i.x0+i.x1)/2,i.pxmid=G(i.rpx1,i.xmid),i.midangle=-(i.xmid-Math.PI/2),i.startangle=-(i.x0-Math.PI/2),i.stopangle=-(i.x1-Math.PI/2),i.halfangle=.5*Math.min(s.angleDelta(i.x0,i.x1)||Math.PI,Math.PI),i.ring=1-i.rpx0/i.rpx1,i.rInscribed=function(t){return 0===t.rpx0&&s.isFullCircle([t.x0,t.x1])?1:Math.max(0,Math.min(1/(1+1/Math.sin(t.halfangle)),t.ring/2))}(i),_?f.transition().attrTween("d",(function(t){var e=function(t){var e,r=F[b.getPtId(t)],n={x0:t.x0,x1:t.x1,rpx0:t.rpx0,rpx1:t.rpx1};if(r)e=r;else if(R)if(t.parent)if(X){var i=(t.x1>X?2*Math.PI:0)+V;e={x0:i,x1:i}}else e={rpx0:I,rpx1:I},s.extendFlat(e,$(t));else e={rpx0:0,rpx1:0};else e={x0:V,x1:V};return a(e,n)}(t);return function(t){return Z(e(t))}})):f.attr("d",Z),u.call(m,S,t,r,{eventDataKeys:x.eventDataKeys,transitionTime:x.CLICK_TRANSITION_TIME,transitionEasing:x.CLICK_TRANSITION_EASING}).call(b.setSliceCursor,t,{hideOnRoot:!0,hideOnLeaves:!0,isTransitioning:t._transitioning}),f.call(g,i,A);var p=s.ensureSingle(u,"g","slicetext"),w=s.ensureSingle(p,"text","",(function(t){t.attr("data-notex",1)})),T=s.ensureUniformFontSize(t,b.determineTextFont(A,i,y.font));w.text(e.formatSliceLabel(i,S,A,r,y)).classed("slicetext",!0).attr("text-anchor","middle").call(o.font,T).call(l.convertToTspans,t);var M=o.bBox(w.node());i.transform=v(M,i,k),i.transform.targetX=Y(i),i.transform.targetY=W(i);var E=function(t,e){var r=t.transform;return d(r,e),r.fontSize=T.size,c(A.type,r,y),s.getTextTransform(r)};_?w.transition().attrTween("transform",(function(t){var e=function(t){var e,r=F[b.getPtId(t)],n=t.transform;if(r)e=r;else if(e={rpx1:t.rpx1,transform:{textPosAngle:n.textPosAngle,scale:0,rotate:n.rotate,rCenter:n.rCenter,x:n.x,y:n.y}},R)if(t.parent)if(X){var i=t.x1>X?2*Math.PI:0;e.x0=e.x1=i}else s.extendFlat(e,$(t));else e.x0=e.x1=V;else e.x0=e.x1=V;var o=a(e.transform.textPosAngle,t.transform.textPosAngle),l=a(e.rpx1,t.rpx1),u=a(e.x0,t.x0),f=a(e.x1,t.x1),h=a(e.transform.scale,n.scale),p=a(e.transform.rotate,n.rotate),d=0===n.rCenter?3:0===e.transform.rCenter?1/3:1,v=a(e.transform.rCenter,n.rCenter);return function(t){var e=l(t),r=u(t),i=f(t),a=function(t){return v(Math.pow(t,d))}(t),s={pxmid:G(e,(r+i)/2),rpx1:e,transform:{textPosAngle:o(t),rCenter:a,x:n.x,y:n.y}};return c(A.type,n,y),{transform:{targetX:Y(s),targetY:W(s),scale:h(t),rotate:p(t),rCenter:a}}}}(t);return function(t){return E(e(t),M)}})):w.attr("transform",E(i,M))}))}function w(t){return e=t.rpx1,r=t.transform.textPosAngle,[e*Math.sin(r),-e*Math.cos(r)];var e,r}e.plot=function(t,e,r,i){var a,o,s=t._fullLayout,l=s._sunburstlayer,u=!r,c=!s.uniformtext.mode&&b.hasTransition(r);f("sunburst",s),(a=l.selectAll("g.trace.sunburst").data(e,(function(t){return t[0].trace.uid}))).enter().append("g").classed("trace",!0).classed("sunburst",!0).attr("stroke-linejoin","round"),a.order(),c?(i&&(o=i()),n.transition().duration(r.duration).ease(r.easing).each("end",(function(){o&&o()})).each("interrupt",(function(){o&&o()})).each((function(){l.selectAll("g.trace").each((function(e){_(t,e,this,r)}))}))):(a.each((function(e){_(t,e,this,r)})),s.uniformtext.mode&&y(t,s._sunburstlayer.selectAll(".trace"),"sunburst")),u&&a.exit().remove()},e.formatSliceLabel=function(t,e,r,n,i){var a=r.texttemplate,o=r.textinfo;if(!(a||o&&"none"!==o))return"";var l=i.separators,u=n[0],c=t.data.data,f=u.hierarchy,h=b.isHierarchyRoot(t),p=b.getParent(f,t),d=b.getValue(t);if(!a){var v,g=o.split("+"),y=function(t){return-1!==g.indexOf(t)},m=[];if(y("label")&&c.label&&m.push(c.label),c.hasOwnProperty("v")&&y("value")&&m.push(b.formatValue(c.v,l)),!h){y("current path")&&m.push(b.getPath(t.data));var x=0;y("percent parent")&&x++,y("percent entry")&&x++,y("percent root")&&x++;var _=x>1;if(x){var w,T=function(t){v=b.formatPercent(w,l),_&&(v+=" of "+t),m.push(v)};y("percent parent")&&!h&&(w=d/b.getValue(p),T("parent")),y("percent entry")&&(w=d/b.getValue(e),T("entry")),y("percent root")&&(w=d/b.getValue(f),T("root"))}}return y("text")&&(v=s.castOption(r,c.i,"text"),s.isValidTextValue(v)&&m.push(v)),m.join("<br>")}var k=s.castOption(r,c.i,"texttemplate");if(!k)return"";var A={};c.label&&(A.label=c.label),c.hasOwnProperty("v")&&(A.value=c.v,A.valueLabel=b.formatValue(c.v,l)),A.currentPath=b.getPath(t.data),h||(A.percentParent=d/b.getValue(p),A.percentParentLabel=b.formatPercent(A.percentParent,l),A.parent=b.getPtLabel(p)),A.percentEntry=d/b.getValue(e),A.percentEntryLabel=b.formatPercent(A.percentEntry,l),A.entry=b.getPtLabel(e),A.percentRoot=d/b.getValue(f),A.percentRootLabel=b.formatPercent(A.percentRoot,l),A.root=b.getPtLabel(f),c.hasOwnProperty("color")&&(A.color=c.color);var M=s.castOption(r,c.i,"text");return(s.isValidTextValue(M)||""===M)&&(A.text=M),A.customdata=s.castOption(r,c.i,"customdata"),s.texttemplateString(k,A,i._d3locale,A,r._meta||{})}},29969:function(t,e,r){"use strict";var n=r(39898),i=r(7901),a=r(71828),o=r(72597).resizeText;function s(t,e,r){var n=e.data.data,o=!e.children,s=n.i,l=a.castOption(r,s,"marker.line.color")||i.defaultLine,u=a.castOption(r,s,"marker.line.width")||0;t.style("stroke-width",u).call(i.fill,n.color).call(i.stroke,l).style("opacity",o?r.leaf.opacity:null)}t.exports={style:function(t){var e=t._fullLayout._sunburstlayer.selectAll(".trace");o(t,e,"sunburst"),e.each((function(t){var e=n.select(this),r=t[0].trace;e.style("opacity",r.opacity),e.selectAll("path.surface").each((function(t){n.select(this).call(s,t,r)}))}))},styleOne:s}},54532:function(t,e,r){"use strict";var n=r(7901),i=r(50693),a=r(12663).axisHoverFormat,o=r(5386).f,s=r(9012),l=r(1426).extendFlat,u=r(30962).overrideAll;function c(t){return{show:{valType:"boolean",dflt:!1},start:{valType:"number",dflt:null,editType:"plot"},end:{valType:"number",dflt:null,editType:"plot"},size:{valType:"number",dflt:null,min:0,editType:"plot"},project:{x:{valType:"boolean",dflt:!1},y:{valType:"boolean",dflt:!1},z:{valType:"boolean",dflt:!1}},color:{valType:"color",dflt:n.defaultLine},usecolormap:{valType:"boolean",dflt:!1},width:{valType:"number",min:1,max:16,dflt:2},highlight:{valType:"boolean",dflt:!0},highlightcolor:{valType:"color",dflt:n.defaultLine},highlightwidth:{valType:"number",min:1,max:16,dflt:2}}}var f=t.exports=u(l({z:{valType:"data_array"},x:{valType:"data_array"},y:{valType:"data_array"},text:{valType:"string",dflt:"",arrayOk:!0},hovertext:{valType:"string",dflt:"",arrayOk:!0},hovertemplate:o(),xhoverformat:a("x"),yhoverformat:a("y"),zhoverformat:a("z"),connectgaps:{valType:"boolean",dflt:!1,editType:"calc"},surfacecolor:{valType:"data_array"}},i("",{colorAttr:"z or surfacecolor",showScaleDflt:!0,autoColorDflt:!1,editTypeOverride:"calc"}),{contours:{x:c(),y:c(),z:c()},hidesurface:{valType:"boolean",dflt:!1},lightposition:{x:{valType:"number",min:-1e5,max:1e5,dflt:10},y:{valType:"number",min:-1e5,max:1e5,dflt:1e4},z:{valType:"number",min:-1e5,max:1e5,dflt:0}},lighting:{ambient:{valType:"number",min:0,max:1,dflt:.8},diffuse:{valType:"number",min:0,max:1,dflt:.8},specular:{valType:"number",min:0,max:2,dflt:.05},roughness:{valType:"number",min:0,max:1,dflt:.5},fresnel:{valType:"number",min:0,max:5,dflt:.2}},opacity:{valType:"number",min:0,max:1,dflt:1},opacityscale:{valType:"any",editType:"calc"},_deprecated:{zauto:l({},i.zauto,{}),zmin:l({},i.zmin,{}),zmax:l({},i.zmax,{})},hoverinfo:l({},s.hoverinfo),showlegend:l({},s.showlegend,{dflt:!1})}),"calc","nested");f.x.editType=f.y.editType=f.z.editType="calc+clearAxisTypes",f.transforms=void 0},18396:function(t,e,r){"use strict";var n=r(78803);t.exports=function(t,e){e.surfacecolor?n(t,e,{vals:e.surfacecolor,containerStr:"",cLetter:"c"}):n(t,e,{vals:e.z,containerStr:"",cLetter:"c"})}},43768:function(t,e,r){"use strict";var n=r(9330).gl_surface3d,i=r(9330).ndarray,a=r(9330).ndarray_linear_interpolate.d2,o=r(824),s=r(43907),l=r(71828).isArrayOrTypedArray,u=r(81697).parseColorScale,c=r(78614),f=r(21081).extractOpts;function h(t,e,r){this.scene=t,this.uid=r,this.surface=e,this.data=null,this.showContour=[!1,!1,!1],this.contourStart=[null,null,null],this.contourEnd=[null,null,null],this.contourSize=[0,0,0],this.minValues=[1/0,1/0,1/0],this.maxValues=[-1/0,-1/0,-1/0],this.dataScaleX=1,this.dataScaleY=1,this.refineData=!0,this.objectOffset=[0,0,0]}var p=h.prototype;p.getXat=function(t,e,r,n){var i=l(this.data.x)?l(this.data.x[0])?this.data.x[e][t]:this.data.x[t]:t;return void 0===r?i:n.d2l(i,0,r)},p.getYat=function(t,e,r,n){var i=l(this.data.y)?l(this.data.y[0])?this.data.y[e][t]:this.data.y[e]:e;return void 0===r?i:n.d2l(i,0,r)},p.getZat=function(t,e,r,n){var i=this.data.z[e][t];return null===i&&this.data.connectgaps&&this.data._interpolatedZ&&(i=this.data._interpolatedZ[e][t]),void 0===r?i:n.d2l(i,0,r)},p.handlePick=function(t){if(t.object===this.surface){var e=(t.data.index[0]-1)/this.dataScaleX-1,r=(t.data.index[1]-1)/this.dataScaleY-1,n=Math.max(Math.min(Math.round(e),this.data.z[0].length-1),0),i=Math.max(Math.min(Math.round(r),this.data._ylength-1),0);t.index=[n,i],t.traceCoordinate=[this.getXat(n,i),this.getYat(n,i),this.getZat(n,i)],t.dataCoordinate=[this.getXat(n,i,this.data.xcalendar,this.scene.fullSceneLayout.xaxis),this.getYat(n,i,this.data.ycalendar,this.scene.fullSceneLayout.yaxis),this.getZat(n,i,this.data.zcalendar,this.scene.fullSceneLayout.zaxis)];for(var a=0;a<3;a++){null!=t.dataCoordinate[a]&&(t.dataCoordinate[a]*=this.scene.dataScale[a])}var o=this.data.hovertext||this.data.text;return Array.isArray(o)&&o[i]&&void 0!==o[i][n]?t.textLabel=o[i][n]:t.textLabel=o||"",t.data.dataCoordinate=t.dataCoordinate.slice(),this.surface.highlight(t.data),this.scene.glplot.spikes.position=t.dataCoordinate,!0}};var d=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997,1009,1013,1019,1021,1031,1033,1039,1049,1051,1061,1063,1069,1087,1091,1093,1097,1103,1109,1117,1123,1129,1151,1153,1163,1171,1181,1187,1193,1201,1213,1217,1223,1229,1231,1237,1249,1259,1277,1279,1283,1289,1291,1297,1301,1303,1307,1319,1321,1327,1361,1367,1373,1381,1399,1409,1423,1427,1429,1433,1439,1447,1451,1453,1459,1471,1481,1483,1487,1489,1493,1499,1511,1523,1531,1543,1549,1553,1559,1567,1571,1579,1583,1597,1601,1607,1609,1613,1619,1621,1627,1637,1657,1663,1667,1669,1693,1697,1699,1709,1721,1723,1733,1741,1747,1753,1759,1777,1783,1787,1789,1801,1811,1823,1831,1847,1861,1867,1871,1873,1877,1879,1889,1901,1907,1913,1931,1933,1949,1951,1973,1979,1987,1993,1997,1999,2003,2011,2017,2027,2029,2039,2053,2063,2069,2081,2083,2087,2089,2099,2111,2113,2129,2131,2137,2141,2143,2153,2161,2179,2203,2207,2213,2221,2237,2239,2243,2251,2267,2269,2273,2281,2287,2293,2297,2309,2311,2333,2339,2341,2347,2351,2357,2371,2377,2381,2383,2389,2393,2399,2411,2417,2423,2437,2441,2447,2459,2467,2473,2477,2503,2521,2531,2539,2543,2549,2551,2557,2579,2591,2593,2609,2617,2621,2633,2647,2657,2659,2663,2671,2677,2683,2687,2689,2693,2699,2707,2711,2713,2719,2729,2731,2741,2749,2753,2767,2777,2789,2791,2797,2801,2803,2819,2833,2837,2843,2851,2857,2861,2879,2887,2897,2903,2909,2917,2927,2939,2953,2957,2963,2969,2971,2999];function v(t,e){if(t<e)return 0;for(var r=0;0===Math.floor(t%e);)t/=e,r++;return r}function g(t){for(var e=[],r=0;r<d.length;r++){var n=d[r];e.push(v(t,n))}return e}function y(t){for(var e=g(t),r=t,n=0;n<d.length;n++)if(e[n]>0){r=d[n];break}return r}function m(t,e){if(!(t<1||e<1)){for(var r=g(t),n=g(e),i=1,a=0;a<d.length;a++)i*=Math.pow(d[a],Math.max(r[a],n[a]));return i}}p.calcXnums=function(t){var e,r=[];for(e=1;e<t;e++){var n=this.getXat(e-1,0),i=this.getXat(e,0);r[e-1]=i!==n&&null!=n&&null!=i?Math.abs(i-n):0}var a=0;for(e=1;e<t;e++)a+=r[e-1];for(e=1;e<t;e++)0===r[e-1]?r[e-1]=1:r[e-1]=Math.round(a/r[e-1]);return r},p.calcYnums=function(t){var e,r=[];for(e=1;e<t;e++){var n=this.getYat(0,e-1),i=this.getYat(0,e);r[e-1]=i!==n&&null!=n&&null!=i?Math.abs(i-n):0}var a=0;for(e=1;e<t;e++)a+=r[e-1];for(e=1;e<t;e++)0===r[e-1]?r[e-1]=1:r[e-1]=Math.round(a/r[e-1]);return r};var x=[1,2,4,6,12,24,36,48,60,120,180,240,360,720,840,1260],b=x[9],_=x[13];function w(t,e,r){var n=r[8]+r[2]*e[0]+r[5]*e[1];return t[0]=(r[6]+r[0]*e[0]+r[3]*e[1])/n,t[1]=(r[7]+r[1]*e[0]+r[4]*e[1])/n,t}function T(t,e,r){return function(t,e,r,n){for(var i=[0,0],o=t.shape[0],s=t.shape[1],l=0;l<o;l++)for(var u=0;u<s;u++)r(i,[l,u],n),t.set(l,u,a(e,i[0],i[1]))}(t,e,w,r),t}function k(t,e){for(var r=!1,n=0;n<t.length;n++)if(e===t[n]){r=!0;break}!1===r&&t.push(e)}p.estimateScale=function(t,e){for(var r=1+function(t){if(0!==t.length){for(var e=1,r=0;r<t.length;r++)e=m(e,t[r]);return e}}(0===e?this.calcXnums(t):this.calcYnums(t));r<b;)r*=2;for(;r>_;)r--,r/=y(r),++r<b&&(r=_);var n=Math.round(r/t);return n>1?n:1},p.refineCoords=function(t){for(var e=this.dataScaleX,r=this.dataScaleY,n=t[0].shape[0],a=t[0].shape[1],o=0|Math.floor(t[0].shape[0]*e+1),s=0|Math.floor(t[0].shape[1]*r+1),l=1+n+1,u=1+a+1,c=i(new Float32Array(l*u),[l,u]),f=[1/e,0,0,0,1/r,0,0,0,1],h=0;h<t.length;++h){this.surface.padField(c,t[h]);var p=i(new Float32Array(o*s),[o,s]);T(p,c,f),t[h]=p}},p.setContourLevels=function(){var t,e,r,n=[[],[],[]],i=[!1,!1,!1],a=!1;for(t=0;t<3;++t)if(this.showContour[t]&&(a=!0,this.contourSize[t]>0&&null!==this.contourStart[t]&&null!==this.contourEnd[t]&&this.contourEnd[t]>this.contourStart[t]))for(i[t]=!0,e=this.contourStart[t];e<this.contourEnd[t];e+=this.contourSize[t])r=e*this.scene.dataScale[t],k(n[t],r);if(a){var o=[[],[],[]];for(t=0;t<3;++t)this.showContour[t]&&(o[t]=i[t]?n[t]:this.scene.contourLevels[t]);this.surface.update({levels:o})}},p.update=function(t){var e,r,n,a,l=this.scene,h=l.fullSceneLayout,p=this.surface,d=u(t),v=l.dataScale,g=t.z[0].length,y=t._ylength,m=l.contourLevels;this.data=t;var x=[];for(e=0;e<3;e++)for(x[e]=[],r=0;r<g;r++)x[e][r]=[];for(r=0;r<g;r++)for(n=0;n<y;n++)x[0][r][n]=this.getXat(r,n,t.xcalendar,h.xaxis),x[1][r][n]=this.getYat(r,n,t.ycalendar,h.yaxis),x[2][r][n]=this.getZat(r,n,t.zcalendar,h.zaxis);if(t.connectgaps)for(t._emptypoints=s(x[2]),o(x[2],t._emptypoints),t._interpolatedZ=[],r=0;r<g;r++)for(t._interpolatedZ[r]=[],n=0;n<y;n++)t._interpolatedZ[r][n]=x[2][r][n];for(e=0;e<3;e++)for(r=0;r<g;r++)for(n=0;n<y;n++)null==(a=x[e][r][n])?x[e][r][n]=NaN:a=x[e][r][n]*=v[e];for(e=0;e<3;e++)for(r=0;r<g;r++)for(n=0;n<y;n++)null!=(a=x[e][r][n])&&(this.minValues[e]>a&&(this.minValues[e]=a),this.maxValues[e]<a&&(this.maxValues[e]=a));for(e=0;e<3;e++)this.objectOffset[e]=.5*(this.minValues[e]+this.maxValues[e]);for(e=0;e<3;e++)for(r=0;r<g;r++)for(n=0;n<y;n++)null!=(a=x[e][r][n])&&(x[e][r][n]-=this.objectOffset[e]);var b=[i(new Float32Array(g*y),[g,y]),i(new Float32Array(g*y),[g,y]),i(new Float32Array(g*y),[g,y])];for(e=0;e<3;e++)for(r=0;r<g;r++)for(n=0;n<y;n++)b[e].set(r,n,x[e][r][n]);x=[];var w={colormap:d,levels:[[],[],[]],showContour:[!0,!0,!0],showSurface:!t.hidesurface,contourProject:[[!1,!1,!1],[!1,!1,!1],[!1,!1,!1]],contourWidth:[1,1,1],contourColor:[[1,1,1,1],[1,1,1,1],[1,1,1,1]],contourTint:[1,1,1],dynamicColor:[[1,1,1,1],[1,1,1,1],[1,1,1,1]],dynamicWidth:[1,1,1],dynamicTint:[1,1,1],opacityscale:t.opacityscale,opacity:t.opacity},T=f(t);if(w.intensityBounds=[T.min,T.max],t.surfacecolor){var k=i(new Float32Array(g*y),[g,y]);for(r=0;r<g;r++)for(n=0;n<y;n++)k.set(r,n,t.surfacecolor[n][r]);b.push(k)}else w.intensityBounds[0]*=v[2],w.intensityBounds[1]*=v[2];(_<b[0].shape[0]||_<b[0].shape[1])&&(this.refineData=!1),!0===this.refineData&&(this.dataScaleX=this.estimateScale(b[0].shape[0],0),this.dataScaleY=this.estimateScale(b[0].shape[1],1),1===this.dataScaleX&&1===this.dataScaleY||this.refineCoords(b)),t.surfacecolor&&(w.intensity=b.pop());var A=[!0,!0,!0],M=["x","y","z"];for(e=0;e<3;++e){var S=t.contours[M[e]];A[e]=S.highlight,w.showContour[e]=S.show||S.highlight,w.showContour[e]&&(w.contourProject[e]=[S.project.x,S.project.y,S.project.z],S.show?(this.showContour[e]=!0,w.levels[e]=m[e],p.highlightColor[e]=w.contourColor[e]=c(S.color),S.usecolormap?p.highlightTint[e]=w.contourTint[e]=0:p.highlightTint[e]=w.contourTint[e]=1,w.contourWidth[e]=S.width,this.contourStart[e]=S.start,this.contourEnd[e]=S.end,this.contourSize[e]=S.size):(this.showContour[e]=!1,this.contourStart[e]=null,this.contourEnd[e]=null,this.contourSize[e]=0),S.highlight&&(w.dynamicColor[e]=c(S.highlightcolor),w.dynamicWidth[e]=S.highlightwidth))}(function(t){var e=t[0].rgb,r=t[t.length-1].rgb;return e[0]===r[0]&&e[1]===r[1]&&e[2]===r[2]&&e[3]===r[3]})(d)&&(w.vertexColor=!0),w.objectOffset=this.objectOffset,w.coords=b,p.update(w),p.visible=t.visible,p.enableDynamic=A,p.enableHighlight=A,p.snapToData=!0,"lighting"in t&&(p.ambientLight=t.lighting.ambient,p.diffuseLight=t.lighting.diffuse,p.specularLight=t.lighting.specular,p.roughness=t.lighting.roughness,p.fresnel=t.lighting.fresnel),"lightposition"in t&&(p.lightPosition=[t.lightposition.x,t.lightposition.y,t.lightposition.z])},p.dispose=function(){this.scene.glplot.remove(this.surface),this.surface.dispose()},t.exports=function(t,e){var r=t.glplot.gl,i=n({gl:r}),a=new h(t,i,e.uid);return i._trace=a,a.update(e),t.glplot.add(i),a}},91831:function(t,e,r){"use strict";var n=r(73972),i=r(71828),a=r(1586),o=r(54532);function s(t,e,r,n){var i=n("opacityscale");"max"===i?e.opacityscale=[[0,.1],[1,1]]:"min"===i?e.opacityscale=[[0,1],[1,.1]]:"extremes"===i?e.opacityscale=function(t,e){for(var r=[],n=0;n<32;n++){var i=n/31,a=.1+.9*(1-Math.pow(Math.sin(1*i*Math.PI),2));r.push([i,Math.max(0,Math.min(1,a))])}return r}():function(t){var e=0;if(!Array.isArray(t)||t.length<2)return!1;if(!t[0]||!t[t.length-1])return!1;if(0!=+t[0][0]||1!=+t[t.length-1][0])return!1;for(var r=0;r<t.length;r++){var n=t[r];if(2!==n.length||+n[0]<e)return!1;e=+n[0]}return!0}(i)||(e.opacityscale=void 0)}function l(t,e,r){e in t&&!(r in t)&&(t[r]=t[e])}t.exports={supplyDefaults:function(t,e,r,u){var c,f;function h(r,n){return i.coerce(t,e,o,r,n)}var p=h("x"),d=h("y"),v=h("z");if(!v||!v.length||p&&p.length<1||d&&d.length<1)e.visible=!1;else{e._xlength=Array.isArray(p)&&i.isArrayOrTypedArray(p[0])?v.length:v[0].length,e._ylength=v.length,n.getComponentMethod("calendars","handleTraceDefaults")(t,e,["x","y","z"],u),h("text"),h("hovertext"),h("hovertemplate"),h("xhoverformat"),h("yhoverformat"),h("zhoverformat"),["lighting.ambient","lighting.diffuse","lighting.specular","lighting.roughness","lighting.fresnel","lightposition.x","lightposition.y","lightposition.z","hidesurface","connectgaps","opacity"].forEach((function(t){h(t)}));var g=h("surfacecolor"),y=["x","y","z"];for(c=0;c<3;++c){var m="contours."+y[c],x=h(m+".show"),b=h(m+".highlight");if(x||b)for(f=0;f<3;++f)h(m+".project."+y[f]);x&&(h(m+".color"),h(m+".width"),h(m+".usecolormap")),b&&(h(m+".highlightcolor"),h(m+".highlightwidth")),h(m+".start"),h(m+".end"),h(m+".size")}g||(l(t,"zmin","cmin"),l(t,"zmax","cmax"),l(t,"zauto","cauto")),a(t,e,u,h,{prefix:"",cLetter:"c"}),s(0,e,0,h),e._length=null}},opacityscaleDefaults:s}},93601:function(t,e,r){"use strict";t.exports={attributes:r(54532),supplyDefaults:r(91831).supplyDefaults,colorbar:{min:"cmin",max:"cmax"},calc:r(18396),plot:r(43768),moduleType:"trace",name:"surface",basePlotModule:r(58547),categories:["gl3d","2dMap","showLegend"],meta:{}}},44464:function(t,e,r){"use strict";var n=r(50215),i=r(1426).extendFlat,a=r(30962).overrideAll,o=r(41940),s=r(27670).Y,l=r(12663).descriptionOnlyNumbers;(t.exports=a({domain:s({name:"table",trace:!0}),columnwidth:{valType:"number",arrayOk:!0,dflt:null},columnorder:{valType:"data_array"},header:{values:{valType:"data_array",dflt:[]},format:{valType:"data_array",dflt:[],description:l("cell value")},prefix:{valType:"string",arrayOk:!0,dflt:null},suffix:{valType:"string",arrayOk:!0,dflt:null},height:{valType:"number",dflt:28},align:i({},n.align,{arrayOk:!0}),line:{width:{valType:"number",arrayOk:!0,dflt:1},color:{valType:"color",arrayOk:!0,dflt:"grey"}},fill:{color:{valType:"color",arrayOk:!0,dflt:"white"}},font:i({},o({arrayOk:!0}))},cells:{values:{valType:"data_array",dflt:[]},format:{valType:"data_array",dflt:[],description:l("cell value")},prefix:{valType:"string",arrayOk:!0,dflt:null},suffix:{valType:"string",arrayOk:!0,dflt:null},height:{valType:"number",dflt:20},align:i({},n.align,{arrayOk:!0}),line:{width:{valType:"number",arrayOk:!0,dflt:1},color:{valType:"color",arrayOk:!0,dflt:"grey"}},fill:{color:{valType:"color",arrayOk:!0,dflt:"white"}},font:i({},o({arrayOk:!0}))}},"calc","from-root")).transforms=void 0},99469:function(t,e,r){"use strict";var n=r(27659).a0,i=r(36736),a="table";e.name=a,e.plot=function(t){var e=n(t.calcdata,a)[0];e.length&&i(t,e)},e.clean=function(t,e,r,n){var i=n._has&&n._has(a),o=e._has&&e._has(a);i&&!o&&n._paperdiv.selectAll(".table").remove()}},76333:function(t,e,r){"use strict";var n=r(28984).wrap;t.exports=function(){return n({})}},49850:function(t){"use strict";t.exports={cellPad:8,columnExtentOffset:10,columnTitleOffset:28,emptyHeaderHeight:16,latexCheck:/^\$.*\$$/,goldenRatio:1.618,lineBreaker:"<br>",maxDimensionCount:60,overdrag:45,releaseTransitionDuration:120,releaseTransitionEase:"cubic-out",scrollbarCaptureWidth:18,scrollbarHideDelay:1e3,scrollbarHideDuration:1e3,scrollbarOffset:5,scrollbarWidth:8,transitionDuration:100,transitionEase:"cubic-out",uplift:5,wrapSpacer:" ",wrapSplitCharacter:" ",cn:{table:"table",tableControlView:"table-control-view",scrollBackground:"scroll-background",yColumn:"y-column",columnBlock:"column-block",scrollAreaClip:"scroll-area-clip",scrollAreaClipRect:"scroll-area-clip-rect",columnBoundary:"column-boundary",columnBoundaryClippath:"column-boundary-clippath",columnBoundaryRect:"column-boundary-rect",columnCells:"column-cells",columnCell:"column-cell",cellRect:"cell-rect",cellText:"cell-text",cellTextHolder:"cell-text-holder",scrollbarKit:"scrollbar-kit",scrollbar:"scrollbar",scrollbarSlider:"scrollbar-slider",scrollbarGlyph:"scrollbar-glyph",scrollbarCaptureZone:"scrollbar-capture-zone"}}},51018:function(t,e,r){"use strict";var n=r(49850),i=r(1426).extendFlat,a=r(92770);function o(t){if(Array.isArray(t)){for(var e=0,r=0;r<t.length;r++)e=Math.max(e,o(t[r]));return e}return t}function s(t,e){return t+e}function l(t){var e,r=t.slice(),n=1/0,i=0;for(e=0;e<r.length;e++)Array.isArray(r[e])||(r[e]=[r[e]]),n=Math.min(n,r[e].length),i=Math.max(i,r[e].length);if(n!==i)for(e=0;e<r.length;e++){var a=i-r[e].length;a&&(r[e]=r[e].concat(u(a)))}return r}function u(t){for(var e=new Array(t),r=0;r<t;r++)e[r]="";return e}function c(t){return t.calcdata.columns.reduce((function(e,r){return r.xIndex<t.xIndex?e+r.columnWidth:e}),0)}function f(t,e){return Object.keys(t).map((function(r){return i({},t[r],{auxiliaryBlocks:e})}))}function h(t,e){for(var r,n={},i=0,a=0,o={firstRowIndex:null,lastRowIndex:null,rows:[]},s=0,l=0,u=0;u<t.length;u++)r=t[u],o.rows.push({rowIndex:u,rowHeight:r}),((a+=r)>=e||u===t.length-1)&&(n[i]=o,o.key=l++,o.firstRowIndex=s,o.lastRowIndex=u,o={firstRowIndex:null,lastRowIndex:null,rows:[]},i+=a,s=u+1,a=0);return n}t.exports=function(t,e){var r=l(e.cells.values),p=function(t){return t.slice(e.header.values.length,t.length)},d=l(e.header.values);d.length&&!d[0].length&&(d[0]=[""],d=l(d));var v=d.concat(p(r).map((function(){return u((d[0]||[""]).length)}))),g=e.domain,y=Math.floor(t._fullLayout._size.w*(g.x[1]-g.x[0])),m=Math.floor(t._fullLayout._size.h*(g.y[1]-g.y[0])),x=e.header.values.length?v[0].map((function(){return e.header.height})):[n.emptyHeaderHeight],b=r.length?r[0].map((function(){return e.cells.height})):[],_=x.reduce(s,0),w=h(b,m-_+n.uplift),T=f(h(x,_),[]),k=f(w,T),A={},M=e._fullInput.columnorder.concat(p(r.map((function(t,e){return e})))),S=v.map((function(t,r){var n=Array.isArray(e.columnwidth)?e.columnwidth[Math.min(r,e.columnwidth.length-1)]:e.columnwidth;return a(n)?Number(n):1})),E=S.reduce(s,0);S=S.map((function(t){return t/E*y}));var L=Math.max(o(e.header.line.width),o(e.cells.line.width)),C={key:e.uid+t._context.staticPlot,translateX:g.x[0]*t._fullLayout._size.w,translateY:t._fullLayout._size.h*(1-g.y[1]),size:t._fullLayout._size,width:y,maxLineWidth:L,height:m,columnOrder:M,groupHeight:m,rowBlocks:k,headerRowBlocks:T,scrollY:0,cells:i({},e.cells,{values:r}),headerCells:i({},e.header,{values:v}),gdColumns:v.map((function(t){return t[0]})),gdColumnsOriginalOrder:v.map((function(t){return t[0]})),prevPages:[0,0],scrollbarState:{scrollbarScrollInProgress:!1},columns:v.map((function(t,e){var r=A[t];return A[t]=(r||0)+1,{key:t+"__"+A[t],label:t,specIndex:e,xIndex:M[e],xScale:c,x:void 0,calcdata:void 0,columnWidth:S[e]}}))};return C.columns.forEach((function(t){t.calcdata=C,t.x=c(t)})),C}},56269:function(t,e,r){"use strict";var n=r(1426).extendFlat;e.splitToPanels=function(t){var e=[0,0],r=n({},t,{key:"header",type:"header",page:0,prevPages:e,currentRepaint:[null,null],dragHandle:!0,values:t.calcdata.headerCells.values[t.specIndex],rowBlocks:t.calcdata.headerRowBlocks,calcdata:n({},t.calcdata,{cells:t.calcdata.headerCells})});return[n({},t,{key:"cells1",type:"cells",page:0,prevPages:e,currentRepaint:[null,null],dragHandle:!1,values:t.calcdata.cells.values[t.specIndex],rowBlocks:t.calcdata.rowBlocks}),n({},t,{key:"cells2",type:"cells",page:1,prevPages:e,currentRepaint:[null,null],dragHandle:!1,values:t.calcdata.cells.values[t.specIndex],rowBlocks:t.calcdata.rowBlocks}),r]},e.splitToCells=function(t){var e=function(t){var e=t.rowBlocks[t.page],r=e?e.rows[0].rowIndex:0;return[r,e?r+e.rows.length:0]}(t);return(t.values||[]).slice(e[0],e[1]).map((function(r,n){return{keyWithinBlock:n+("string"==typeof r&&r.match(/[<$&> ]/)?"_keybuster_"+Math.random():""),key:e[0]+n,column:t,calcdata:t.calcdata,page:t.page,rowBlocks:t.rowBlocks,value:r}}))}},39754:function(t,e,r){"use strict";var n=r(71828),i=r(44464),a=r(27670).c;t.exports=function(t,e,r,o){function s(r,a){return n.coerce(t,e,i,r,a)}a(e,o,s),s("columnwidth"),s("header.values"),s("header.format"),s("header.align"),s("header.prefix"),s("header.suffix"),s("header.height"),s("header.line.width"),s("header.line.color"),s("header.fill.color"),n.coerceFont(s,"header.font",n.extendFlat({},o.font)),function(t,e){for(var r=t.columnorder||[],n=t.header.values.length,i=r.slice(0,n),a=i.slice().sort((function(t,e){return t-e})),o=i.map((function(t){return a.indexOf(t)})),s=o.length;s<n;s++)o.push(s);e("columnorder",o)}(e,s),s("cells.values"),s("cells.format"),s("cells.align"),s("cells.prefix"),s("cells.suffix"),s("cells.height"),s("cells.line.width"),s("cells.line.color"),s("cells.fill.color"),n.coerceFont(s,"cells.font",n.extendFlat({},o.font)),e._length=null}},96595:function(t,e,r){"use strict";t.exports={attributes:r(44464),supplyDefaults:r(39754),calc:r(76333),plot:r(36736),moduleType:"trace",name:"table",basePlotModule:r(99469),categories:["noOpacity"],meta:{}}},36736:function(t,e,r){"use strict";var n=r(49850),i=r(39898),a=r(71828).numberFormat,o=r(28984),s=r(91424),l=r(63893),u=r(71828).raiseToTop,c=r(71828).strTranslate,f=r(71828).cancelTransition,h=r(51018),p=r(56269),d=r(7901);function v(t){return Math.ceil(t.calcdata.maxLineWidth/2)}function g(t,e){return"clip"+t._fullLayout._uid+"_scrollAreaBottomClip_"+e.key}function y(t,e){return"clip"+t._fullLayout._uid+"_columnBoundaryClippath_"+e.calcdata.key+"_"+e.specIndex}function m(t){return[].concat.apply([],t.map((function(t){return t}))).map((function(t){return t.__data__}))}function x(t,e,r){var a=t.selectAll("."+n.cn.scrollbarKit).data(o.repeat,o.keyFun);a.enter().append("g").classed(n.cn.scrollbarKit,!0).style("shape-rendering","geometricPrecision"),a.each((function(t){var e=t.scrollbarState;e.totalHeight=function(t){var e=t.rowBlocks;return z(e,e.length-1)+(e.length?R(e[e.length-1],1/0):1)}(t),e.scrollableAreaHeight=t.groupHeight-S(t),e.currentlyVisibleHeight=Math.min(e.totalHeight,e.scrollableAreaHeight),e.ratio=e.currentlyVisibleHeight/e.totalHeight,e.barLength=Math.max(e.ratio*e.currentlyVisibleHeight,n.goldenRatio*n.scrollbarWidth),e.barWiggleRoom=e.currentlyVisibleHeight-e.barLength,e.wiggleRoom=Math.max(0,e.totalHeight-e.scrollableAreaHeight),e.topY=0===e.barWiggleRoom?0:t.scrollY/e.wiggleRoom*e.barWiggleRoom,e.bottomY=e.topY+e.barLength,e.dragMultiplier=e.wiggleRoom/e.barWiggleRoom})).attr("transform",(function(t){var e=t.width+n.scrollbarWidth/2+n.scrollbarOffset;return c(e,S(t))}));var s=a.selectAll("."+n.cn.scrollbar).data(o.repeat,o.keyFun);s.enter().append("g").classed(n.cn.scrollbar,!0);var l=s.selectAll("."+n.cn.scrollbarSlider).data(o.repeat,o.keyFun);l.enter().append("g").classed(n.cn.scrollbarSlider,!0),l.attr("transform",(function(t){return c(0,t.scrollbarState.topY||0)}));var u=l.selectAll("."+n.cn.scrollbarGlyph).data(o.repeat,o.keyFun);u.enter().append("line").classed(n.cn.scrollbarGlyph,!0).attr("stroke","black").attr("stroke-width",n.scrollbarWidth).attr("stroke-linecap","round").attr("y1",n.scrollbarWidth/2),u.attr("y2",(function(t){return t.scrollbarState.barLength-n.scrollbarWidth/2})).attr("stroke-opacity",(function(t){return t.columnDragInProgress||!t.scrollbarState.barWiggleRoom||r?0:.4})),u.transition().delay(0).duration(0),u.transition().delay(n.scrollbarHideDelay).duration(n.scrollbarHideDuration).attr("stroke-opacity",0);var f=s.selectAll("."+n.cn.scrollbarCaptureZone).data(o.repeat,o.keyFun);f.enter().append("line").classed(n.cn.scrollbarCaptureZone,!0).attr("stroke","white").attr("stroke-opacity",.01).attr("stroke-width",n.scrollbarCaptureWidth).attr("stroke-linecap","butt").attr("y1",0).on("mousedown",(function(r){var n=i.event.y,a=this.getBoundingClientRect(),o=r.scrollbarState,s=n-a.top,l=i.scale.linear().domain([0,o.scrollableAreaHeight]).range([0,o.totalHeight]).clamp(!0);o.topY<=s&&s<=o.bottomY||L(e,t,null,l(s-o.barLength/2))(r)})).call(i.behavior.drag().origin((function(t){return i.event.stopPropagation(),t.scrollbarState.scrollbarScrollInProgress=!0,t})).on("drag",L(e,t)).on("dragend",(function(){}))),f.attr("y2",(function(t){return t.scrollbarState.scrollableAreaHeight})),e._context.staticPlot&&(u.remove(),f.remove())}function b(t,e,r,a){var l=function(t){var e=t.selectAll("."+n.cn.columnCells).data(o.repeat,o.keyFun);return e.enter().append("g").classed(n.cn.columnCells,!0),e.exit().remove(),e}(r),u=function(t){var e=t.selectAll("."+n.cn.columnCell).data(p.splitToCells,(function(t){return t.keyWithinBlock}));return e.enter().append("g").classed(n.cn.columnCell,!0),e.exit().remove(),e}(l);!function(t){t.each((function(t,e){var r=t.calcdata.cells.font,n=t.column.specIndex,i={size:T(r.size,n,e),color:T(r.color,n,e),family:T(r.family,n,e)};t.rowNumber=t.key,t.align=T(t.calcdata.cells.align,n,e),t.cellBorderWidth=T(t.calcdata.cells.line.width,n,e),t.font=i}))}(u);var c=function(t){var e=t.selectAll("."+n.cn.cellRect).data(o.repeat,(function(t){return t.keyWithinBlock}));return e.enter().append("rect").classed(n.cn.cellRect,!0),e}(u);!function(t){t.attr("width",(function(t){return t.column.columnWidth})).attr("stroke-width",(function(t){return t.cellBorderWidth})).each((function(t){var e=i.select(this);d.stroke(e,T(t.calcdata.cells.line.color,t.column.specIndex,t.rowNumber)),d.fill(e,T(t.calcdata.cells.fill.color,t.column.specIndex,t.rowNumber))}))}(c);var f=function(t){var e=t.selectAll("."+n.cn.cellTextHolder).data(o.repeat,(function(t){return t.keyWithinBlock}));return e.enter().append("g").classed(n.cn.cellTextHolder,!0).style("shape-rendering","geometricPrecision"),e}(u),h=function(t){var e=t.selectAll("."+n.cn.cellText).data(o.repeat,(function(t){return t.keyWithinBlock}));return e.enter().append("text").classed(n.cn.cellText,!0).style("cursor",(function(){return"auto"})).on("mousedown",(function(){i.event.stopPropagation()})),e}(f);!function(t){t.each((function(t){s.font(i.select(this),t.font)}))}(h),_(h,e,a,t),D(u)}function _(t,e,r,o){t.text((function(t){var e=t.column.specIndex,r=t.rowNumber,i=t.value,o="string"==typeof i,s=o&&i.match(/<br>/i),l=!o||s;t.mayHaveMarkup=o&&i.match(/[<&>]/);var u,c="string"==typeof(u=i)&&u.match(n.latexCheck);t.latex=c;var f,h,p=c?"":T(t.calcdata.cells.prefix,e,r)||"",d=c?"":T(t.calcdata.cells.suffix,e,r)||"",v=c?null:T(t.calcdata.cells.format,e,r)||null,g=p+(v?a(v)(t.value):t.value)+d;if(t.wrappingNeeded=!t.wrapped&&!l&&!c&&(f=w(g)),t.cellHeightMayIncrease=s||c||t.mayHaveMarkup||(void 0===f?w(g):f),t.needsConvertToTspans=t.mayHaveMarkup||t.wrappingNeeded||t.latex,t.wrappingNeeded){var y=(" "===n.wrapSplitCharacter?g.replace(/<a href=/gi,"<a_href="):g).split(n.wrapSplitCharacter),m=" "===n.wrapSplitCharacter?y.map((function(t){return t.replace(/<a_href=/gi,"<a href=")})):y;t.fragments=m.map((function(t){return{text:t,width:null}})),t.fragments.push({fragment:n.wrapSpacer,width:null}),h=m.join(n.lineBreaker)+n.lineBreaker+n.wrapSpacer}else delete t.fragments,h=g;return h})).attr("dy",(function(t){return t.needsConvertToTspans?0:"0.75em"})).each((function(t){var a=this,s=i.select(a),u=t.wrappingNeeded?P:O;t.needsConvertToTspans?l.convertToTspans(s,o,u(r,a,e,o,t)):i.select(a.parentNode).attr("transform",(function(t){return c(I(t),n.cellPad)})).attr("text-anchor",(function(t){return{left:"start",center:"middle",right:"end"}[t.align]}))}))}function w(t){return-1!==t.indexOf(n.wrapSplitCharacter)}function T(t,e,r){if(Array.isArray(t)){var n=t[Math.min(e,t.length-1)];return Array.isArray(n)?n[Math.min(r,n.length-1)]:n}return t}function k(t,e,r){t.transition().ease(n.releaseTransitionEase).duration(n.releaseTransitionDuration).attr("transform",c(e.x,r))}function A(t){return"cells"===t.type}function M(t){return"header"===t.type}function S(t){return(t.rowBlocks.length?t.rowBlocks[0].auxiliaryBlocks:[]).reduce((function(t,e){return t+R(e,1/0)}),0)}function E(t,e,r){var n=m(e)[0];if(void 0!==n){var i=n.rowBlocks,a=n.calcdata,o=z(i,i.length),s=n.calcdata.groupHeight-S(n),l=a.scrollY=Math.max(0,Math.min(o-s,a.scrollY)),u=function(t,e,r){for(var n=[],i=0,a=0;a<t.length;a++){for(var o=t[a],s=o.rows,l=0,u=0;u<s.length;u++)l+=s[u].rowHeight;o.allRowsHeight=l,e<i+l&&e+r>i&&n.push(a),i+=l}return n}(i,l,s);1===u.length&&(u[0]===i.length-1?u.unshift(u[0]-1):u.push(u[0]+1)),u[0]%2&&u.reverse(),e.each((function(t,e){t.page=u[e],t.scrollY=l})),e.attr("transform",(function(t){var e=z(t.rowBlocks,t.page)-t.scrollY;return c(0,e)})),t&&(C(t,r,e,u,n.prevPages,n,0),C(t,r,e,u,n.prevPages,n,1),x(r,t))}}function L(t,e,r,a){return function(o){var s=o.calcdata?o.calcdata:o,l=e.filter((function(t){return s.key===t.key})),u=r||s.scrollbarState.dragMultiplier,c=s.scrollY;s.scrollY=void 0===a?s.scrollY+u*i.event.dy:a;var f=l.selectAll("."+n.cn.yColumn).selectAll("."+n.cn.columnBlock).filter(A);return E(t,f,l),s.scrollY===c}}function C(t,e,r,n,i,a,o){n[o]!==i[o]&&(clearTimeout(a.currentRepaint[o]),a.currentRepaint[o]=setTimeout((function(){var a=r.filter((function(t,e){return e===o&&n[e]!==i[e]}));b(t,e,a,r),i[o]=n[o]})))}function P(t,e,r,a){return function(){var o=i.select(e.parentNode);o.each((function(t){var e=t.fragments;o.selectAll("tspan.line").each((function(t,r){e[r].width=this.getComputedTextLength()}));var r,i,a=e[e.length-1].width,s=e.slice(0,-1),l=[],u=0,c=t.column.columnWidth-2*n.cellPad;for(t.value="";s.length;)u+(i=(r=s.shift()).width+a)>c&&(t.value+=l.join(n.wrapSpacer)+n.lineBreaker,l=[],u=0),l.push(r.text),u+=i;u&&(t.value+=l.join(n.wrapSpacer)),t.wrapped=!0})),o.selectAll("tspan.line").remove(),_(o.select("."+n.cn.cellText),r,t,a),i.select(e.parentNode.parentNode).call(D)}}function O(t,e,r,a,o){return function(){if(!o.settledY){var s=i.select(e.parentNode),l=B(o),u=o.key-l.firstRowIndex,f=l.rows[u].rowHeight,h=o.cellHeightMayIncrease?e.parentNode.getBoundingClientRect().height+2*n.cellPad:f,p=Math.max(h,f);p-l.rows[u].rowHeight&&(l.rows[u].rowHeight=p,t.selectAll("."+n.cn.columnCell).call(D),E(null,t.filter(A),0),x(r,a,!0)),s.attr("transform",(function(){var t=this,e=t.parentNode.getBoundingClientRect(),r=i.select(t.parentNode).select("."+n.cn.cellRect).node().getBoundingClientRect(),a=t.transform.baseVal.consolidate(),s=r.top-e.top+(a?a.matrix.f:n.cellPad);return c(I(o,i.select(t.parentNode).select("."+n.cn.cellTextHolder).node().getBoundingClientRect().width),s)})),o.settledY=!0}}}function I(t,e){switch(t.align){case"left":default:return n.cellPad;case"right":return t.column.columnWidth-(e||0)-n.cellPad;case"center":return(t.column.columnWidth-(e||0))/2}}function D(t){t.attr("transform",(function(t){var e=t.rowBlocks[0].auxiliaryBlocks.reduce((function(t,e){return t+R(e,1/0)}),0),r=R(B(t),t.key);return c(0,r+e)})).selectAll("."+n.cn.cellRect).attr("height",(function(t){return(e=B(t),r=t.key,e.rows[r-e.firstRowIndex]).rowHeight;var e,r}))}function z(t,e){for(var r=0,n=e-1;n>=0;n--)r+=F(t[n]);return r}function R(t,e){for(var r=0,n=0;n<t.rows.length&&t.rows[n].rowIndex<e;n++)r+=t.rows[n].rowHeight;return r}function F(t){var e=t.allRowsHeight;if(void 0!==e)return e;for(var r=0,n=0;n<t.rows.length;n++)r+=t.rows[n].rowHeight;return t.allRowsHeight=r,r}function B(t){return t.rowBlocks[t.page]}t.exports=function(t,e){var r=!t._context.staticPlot,a=t._fullLayout._paper.selectAll("."+n.cn.table).data(e.map((function(e){var r=o.unwrap(e).trace;return h(t,r)})),o.keyFun);a.exit().remove(),a.enter().append("g").classed(n.cn.table,!0).attr("overflow","visible").style("box-sizing","content-box").style("position","absolute").style("left",0).style("overflow","visible").style("shape-rendering","crispEdges").style("pointer-events","all"),a.attr("width",(function(t){return t.width+t.size.l+t.size.r})).attr("height",(function(t){return t.height+t.size.t+t.size.b})).attr("transform",(function(t){return c(t.translateX,t.translateY)}));var l=a.selectAll("."+n.cn.tableControlView).data(o.repeat,o.keyFun),d=l.enter().append("g").classed(n.cn.tableControlView,!0).style("box-sizing","content-box");if(r){var _="onwheel"in document?"wheel":"mousewheel";d.on("mousemove",(function(e){l.filter((function(t){return e===t})).call(x,t)})).on(_,(function(e){if(!e.scrollbarState.wheeling){e.scrollbarState.wheeling=!0;var r=e.scrollY+i.event.deltaY;L(t,l,null,r)(e)||(i.event.stopPropagation(),i.event.preventDefault()),e.scrollbarState.wheeling=!1}})).call(x,t,!0)}l.attr("transform",(function(t){return c(t.size.l,t.size.t)}));var w=l.selectAll("."+n.cn.scrollBackground).data(o.repeat,o.keyFun);w.enter().append("rect").classed(n.cn.scrollBackground,!0).attr("fill","none"),w.attr("width",(function(t){return t.width})).attr("height",(function(t){return t.height})),l.each((function(e){s.setClipUrl(i.select(this),g(t,e),t)}));var T=l.selectAll("."+n.cn.yColumn).data((function(t){return t.columns}),o.keyFun);T.enter().append("g").classed(n.cn.yColumn,!0),T.exit().remove(),T.attr("transform",(function(t){return c(t.x,0)})),r&&T.call(i.behavior.drag().origin((function(e){return k(i.select(this),e,-n.uplift),u(this),e.calcdata.columnDragInProgress=!0,x(l.filter((function(t){return e.calcdata.key===t.key})),t),e})).on("drag",(function(t){var e=i.select(this),r=function(e){return(t===e?i.event.x:e.x)+e.columnWidth/2};t.x=Math.max(-n.overdrag,Math.min(t.calcdata.width+n.overdrag-t.columnWidth,i.event.x)),m(T).filter((function(e){return e.calcdata.key===t.calcdata.key})).sort((function(t,e){return r(t)-r(e)})).forEach((function(e,r){e.xIndex=r,e.x=t===e?e.x:e.xScale(e)})),T.filter((function(e){return t!==e})).transition().ease(n.transitionEase).duration(n.transitionDuration).attr("transform",(function(t){return c(t.x,0)})),e.call(f).attr("transform",c(t.x,-n.uplift))})).on("dragend",(function(e){var r=i.select(this),n=e.calcdata;e.x=e.xScale(e),e.calcdata.columnDragInProgress=!1,k(r,e,0),function(t,e,r){var n=e.gdColumnsOriginalOrder;e.gdColumns.sort((function(t,e){return r[n.indexOf(t)]-r[n.indexOf(e)]})),e.columnorder=r,t.emit("plotly_restyle")}(t,n,n.columns.map((function(t){return t.xIndex})))}))),T.each((function(e){s.setClipUrl(i.select(this),y(t,e),t)}));var S=T.selectAll("."+n.cn.columnBlock).data(p.splitToPanels,o.keyFun);S.enter().append("g").classed(n.cn.columnBlock,!0).attr("id",(function(t){return t.key})),S.style("cursor",(function(t){return t.dragHandle?"ew-resize":t.calcdata.scrollbarState.barWiggleRoom?"ns-resize":"default"}));var C=S.filter(M),P=S.filter(A);r&&P.call(i.behavior.drag().origin((function(t){return i.event.stopPropagation(),t})).on("drag",L(t,l,-1)).on("dragend",(function(){}))),b(t,l,C,S),b(t,l,P,S);var O=l.selectAll("."+n.cn.scrollAreaClip).data(o.repeat,o.keyFun);O.enter().append("clipPath").classed(n.cn.scrollAreaClip,!0).attr("id",(function(e){return g(t,e)}));var I=O.selectAll("."+n.cn.scrollAreaClipRect).data(o.repeat,o.keyFun);I.enter().append("rect").classed(n.cn.scrollAreaClipRect,!0).attr("x",-n.overdrag).attr("y",-n.uplift).attr("fill","none"),I.attr("width",(function(t){return t.width+2*n.overdrag})).attr("height",(function(t){return t.height+n.uplift})),T.selectAll("."+n.cn.columnBoundary).data(o.repeat,o.keyFun).enter().append("g").classed(n.cn.columnBoundary,!0);var D=T.selectAll("."+n.cn.columnBoundaryClippath).data(o.repeat,o.keyFun);D.enter().append("clipPath").classed(n.cn.columnBoundaryClippath,!0),D.attr("id",(function(e){return y(t,e)}));var z=D.selectAll("."+n.cn.columnBoundaryRect).data(o.repeat,o.keyFun);z.enter().append("rect").classed(n.cn.columnBoundaryRect,!0).attr("fill","none"),z.attr("width",(function(t){return t.columnWidth+2*v(t)})).attr("height",(function(t){return t.calcdata.height+2*v(t)+n.uplift})).attr("x",(function(t){return-v(t)})).attr("y",(function(t){return-v(t)})),E(null,P,l)}},45802:function(t,e,r){"use strict";var n=r(5386).f,i=r(5386).s,a=r(50693),o=r(27670).Y,s=r(34e3),l=r(57564),u=r(43473),c=r(1426).extendFlat;t.exports={labels:l.labels,parents:l.parents,values:l.values,branchvalues:l.branchvalues,count:l.count,level:l.level,maxdepth:l.maxdepth,tiling:{packing:{valType:"enumerated",values:["squarify","binary","dice","slice","slice-dice","dice-slice"],dflt:"squarify",editType:"plot"},squarifyratio:{valType:"number",min:1,dflt:1,editType:"plot"},flip:{valType:"flaglist",flags:["x","y"],dflt:"",editType:"plot"},pad:{valType:"number",min:0,dflt:3,editType:"plot"},editType:"calc"},marker:c({pad:{t:{valType:"number",min:0,editType:"plot"},l:{valType:"number",min:0,editType:"plot"},r:{valType:"number",min:0,editType:"plot"},b:{valType:"number",min:0,editType:"plot"},editType:"calc"},colors:l.marker.colors,depthfade:{valType:"enumerated",values:[!0,!1,"reversed"],editType:"style"},line:l.marker.line,cornerradius:{valType:"number",min:0,dflt:0,editType:"plot"},editType:"calc"},a("marker",{colorAttr:"colors",anim:!1})),pathbar:{visible:{valType:"boolean",dflt:!0,editType:"plot"},side:{valType:"enumerated",values:["top","bottom"],dflt:"top",editType:"plot"},edgeshape:{valType:"enumerated",values:[">","<","|","/","\\"],dflt:">",editType:"plot"},thickness:{valType:"number",min:12,editType:"plot"},textfont:c({},s.textfont,{}),editType:"calc"},text:s.text,textinfo:l.textinfo,texttemplate:i({editType:"plot"},{keys:u.eventDataKeys.concat(["label","value"])}),hovertext:s.hovertext,hoverinfo:l.hoverinfo,hovertemplate:n({},{keys:u.eventDataKeys}),textfont:s.textfont,insidetextfont:s.insidetextfont,outsidetextfont:c({},s.outsidetextfont,{}),textposition:{valType:"enumerated",values:["top left","top center","top right","middle left","middle center","middle right","bottom left","bottom center","bottom right"],dflt:"top left",editType:"plot"},sort:s.sort,root:l.root,domain:o({name:"treemap",trace:!0,editType:"calc"})}},78018:function(t,e,r){"use strict";var n=r(74875);e.name="treemap",e.plot=function(t,r,i,a){n.plotBasePlot(e.name,t,r,i,a)},e.clean=function(t,r,i,a){n.cleanBasePlot(e.name,t,r,i,a)}},65039:function(t,e,r){"use strict";var n=r(52147);e.y=function(t,e){return n.calc(t,e)},e.T=function(t){return n._runCrossTraceCalc("treemap",t)}},43473:function(t){"use strict";t.exports={CLICK_TRANSITION_TIME:750,CLICK_TRANSITION_EASING:"poly",eventDataKeys:["currentPath","root","entry","percentRoot","percentEntry","percentParent"],gapWithPathbar:1}},91174:function(t,e,r){"use strict";var n=r(71828),i=r(45802),a=r(7901),o=r(27670).c,s=r(90769).handleText,l=r(97313).TEXTPAD,u=r(21081),c=u.hasColorscale,f=u.handleDefaults;t.exports=function(t,e,r,u){function h(r,a){return n.coerce(t,e,i,r,a)}var p=h("labels"),d=h("parents");if(p&&p.length&&d&&d.length){var v=h("values");v&&v.length?h("branchvalues"):h("count"),h("level"),h("maxdepth"),"squarify"===h("tiling.packing")&&h("tiling.squarifyratio"),h("tiling.flip"),h("tiling.pad");var g=h("text");h("texttemplate"),e.texttemplate||h("textinfo",Array.isArray(g)?"text+label":"label"),h("hovertext"),h("hovertemplate");var y=h("pathbar.visible");s(t,e,u,h,"auto",{hasPathbar:y,moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1}),h("textposition");var m=-1!==e.textposition.indexOf("bottom");h("marker.line.width")&&h("marker.line.color",u.paper_bgcolor);var x=h("marker.colors");(e._hasColorscale=c(t,"marker","colors")||(t.marker||{}).coloraxis)?f(t,e,u,h,{prefix:"marker.",cLetter:"c"}):h("marker.depthfade",!(x||[]).length);var b=2*e.textfont.size;h("marker.pad.t",m?b/4:b),h("marker.pad.l",b/4),h("marker.pad.r",b/4),h("marker.pad.b",m?b:b/4),h("marker.cornerradius"),e._hovered={marker:{line:{width:2,color:a.contrast(u.paper_bgcolor)}}},y&&(h("pathbar.thickness",e.pathbar.textfont.size+2*l),h("pathbar.side"),h("pathbar.edgeshape")),h("sort"),h("root.color"),o(e,u,h),e._length=null}else e.visible=!1}},80694:function(t,e,r){"use strict";var n=r(39898),i=r(2791),a=r(72597).clearMinTextSize,o=r(16688).resizeText,s=r(46650);t.exports=function(t,e,r,l,u){var c,f,h=u.type,p=u.drawDescendants,d=t._fullLayout,v=d["_"+h+"layer"],g=!r;a(h,d),(c=v.selectAll("g.trace."+h).data(e,(function(t){return t[0].trace.uid}))).enter().append("g").classed("trace",!0).classed(h,!0),c.order(),!d.uniformtext.mode&&i.hasTransition(r)?(l&&(f=l()),n.transition().duration(r.duration).ease(r.easing).each("end",(function(){f&&f()})).each("interrupt",(function(){f&&f()})).each((function(){v.selectAll("g.trace").each((function(e){s(t,e,this,r,p)}))}))):(c.each((function(e){s(t,e,this,r,p)})),d.uniformtext.mode&&o(t,v.selectAll(".trace"),h)),g&&c.exit().remove()}},66209:function(t,e,r){"use strict";var n=r(39898),i=r(71828),a=r(91424),o=r(63893),s=r(37210),l=r(96362).styleOne,u=r(43473),c=r(2791),f=r(83523),h=!0;t.exports=function(t,e,r,p,d){var v=d.barDifY,g=d.width,y=d.height,m=d.viewX,x=d.viewY,b=d.pathSlice,_=d.toMoveInsideSlice,w=d.strTransform,T=d.hasTransition,k=d.handleSlicesExit,A=d.makeUpdateSliceInterpolator,M=d.makeUpdateTextInterpolator,S={},E=t._context.staticPlot,L=t._fullLayout,C=e[0],P=C.trace,O=C.hierarchy,I=g/P._entryDepth,D=c.listPath(r.data,"id"),z=s(O.copy(),[g,y],{packing:"dice",pad:{inner:0,top:0,left:0,right:0,bottom:0}}).descendants();(z=z.filter((function(t){var e=D.indexOf(t.data.id);return-1!==e&&(t.x0=I*e,t.x1=I*(e+1),t.y0=v,t.y1=v+y,t.onPathbar=!0,!0)}))).reverse(),(p=p.data(z,c.getPtId)).enter().append("g").classed("pathbar",!0),k(p,h,S,[g,y],b),p.order();var R=p;T&&(R=R.transition().each("end",(function(){var e=n.select(this);c.setSliceCursor(e,t,{hideOnRoot:!1,hideOnLeaves:!1,isTransitioning:!1})}))),R.each((function(s){s._x0=m(s.x0),s._x1=m(s.x1),s._y0=x(s.y0),s._y1=x(s.y1),s._hoverX=m(s.x1-Math.min(g,y)/2),s._hoverY=x(s.y1-y/2);var p=n.select(this),d=i.ensureSingle(p,"path","surface",(function(t){t.style("pointer-events",E?"none":"all")}));T?d.transition().attrTween("d",(function(t){var e=A(t,h,S,[g,y]);return function(t){return b(e(t))}})):d.attr("d",b),p.call(f,r,t,e,{styleOne:l,eventDataKeys:u.eventDataKeys,transitionTime:u.CLICK_TRANSITION_TIME,transitionEasing:u.CLICK_TRANSITION_EASING}).call(c.setSliceCursor,t,{hideOnRoot:!1,hideOnLeaves:!1,isTransitioning:t._transitioning}),d.call(l,s,P,{hovered:!1}),s._text=(c.getPtLabel(s)||"").split("<br>").join(" ")||"";var v=i.ensureSingle(p,"g","slicetext"),k=i.ensureSingle(v,"text","",(function(t){t.attr("data-notex",1)})),C=i.ensureUniformFontSize(t,c.determineTextFont(P,s,L.font,{onPathbar:!0}));k.text(s._text||" ").classed("slicetext",!0).attr("text-anchor","start").call(a.font,C).call(o.convertToTspans,t),s.textBB=a.bBox(k.node()),s.transform=_(s,{fontSize:C.size,onPathbar:!0}),s.transform.fontSize=C.size,T?k.transition().attrTween("transform",(function(t){var e=M(t,h,S,[g,y]);return function(t){return w(e(t))}})):k.attr("transform",w(s))}))}},52583:function(t,e,r){"use strict";var n=r(39898),i=r(71828),a=r(91424),o=r(63893),s=r(37210),l=r(96362).styleOne,u=r(43473),c=r(2791),f=r(83523),h=r(24714).formatSliceLabel,p=!1;t.exports=function(t,e,r,d,v){var g=v.width,y=v.height,m=v.viewX,x=v.viewY,b=v.pathSlice,_=v.toMoveInsideSlice,w=v.strTransform,T=v.hasTransition,k=v.handleSlicesExit,A=v.makeUpdateSliceInterpolator,M=v.makeUpdateTextInterpolator,S=v.prevEntry,E=t._context.staticPlot,L=t._fullLayout,C=e[0].trace,P=-1!==C.textposition.indexOf("left"),O=-1!==C.textposition.indexOf("right"),I=-1!==C.textposition.indexOf("bottom"),D=!I&&!C.marker.pad.t||I&&!C.marker.pad.b,z=s(r,[g,y],{packing:C.tiling.packing,squarifyratio:C.tiling.squarifyratio,flipX:C.tiling.flip.indexOf("x")>-1,flipY:C.tiling.flip.indexOf("y")>-1,pad:{inner:C.tiling.pad,top:C.marker.pad.t,left:C.marker.pad.l,right:C.marker.pad.r,bottom:C.marker.pad.b}}).descendants(),R=1/0,F=-1/0;z.forEach((function(t){var e=t.depth;e>=C._maxDepth?(t.x0=t.x1=(t.x0+t.x1)/2,t.y0=t.y1=(t.y0+t.y1)/2):(R=Math.min(R,e),F=Math.max(F,e))})),d=d.data(z,c.getPtId),C._maxVisibleLayers=isFinite(F)?F-R+1:0,d.enter().append("g").classed("slice",!0),k(d,p,{},[g,y],b),d.order();var B=null;if(T&&S){var N=c.getPtId(S);d.each((function(t){null===B&&c.getPtId(t)===N&&(B={x0:t.x0,x1:t.x1,y0:t.y0,y1:t.y1})}))}var j=function(){return B||{x0:0,x1:g,y0:0,y1:y}},U=d;return T&&(U=U.transition().each("end",(function(){var e=n.select(this);c.setSliceCursor(e,t,{hideOnRoot:!0,hideOnLeaves:!1,isTransitioning:!1})}))),U.each((function(s){var d=c.isHeader(s,C);s._x0=m(s.x0),s._x1=m(s.x1),s._y0=x(s.y0),s._y1=x(s.y1),s._hoverX=m(s.x1-C.marker.pad.r),s._hoverY=x(I?s.y1-C.marker.pad.b/2:s.y0+C.marker.pad.t/2);var v=n.select(this),k=i.ensureSingle(v,"path","surface",(function(t){t.style("pointer-events",E?"none":"all")}));T?k.transition().attrTween("d",(function(t){var e=A(t,p,j(),[g,y]);return function(t){return b(e(t))}})):k.attr("d",b),v.call(f,r,t,e,{styleOne:l,eventDataKeys:u.eventDataKeys,transitionTime:u.CLICK_TRANSITION_TIME,transitionEasing:u.CLICK_TRANSITION_EASING}).call(c.setSliceCursor,t,{isTransitioning:t._transitioning}),k.call(l,s,C,{hovered:!1}),s.x0===s.x1||s.y0===s.y1?s._text="":s._text=d?D?"":c.getPtLabel(s)||"":h(s,r,C,e,L)||"";var S=i.ensureSingle(v,"g","slicetext"),z=i.ensureSingle(S,"text","",(function(t){t.attr("data-notex",1)})),R=i.ensureUniformFontSize(t,c.determineTextFont(C,s,L.font));z.text(s._text||" ").classed("slicetext",!0).attr("text-anchor",O?"end":P||d?"start":"middle").call(a.font,R).call(o.convertToTspans,t),s.textBB=a.bBox(z.node()),s.transform=_(s,{fontSize:R.size,isHeader:d}),s.transform.fontSize=R.size,T?z.transition().attrTween("transform",(function(t){var e=M(t,p,j(),[g,y]);return function(t){return w(e(t))}})):z.attr("transform",w(s))})),B}},14102:function(t){"use strict";t.exports=function t(e,r,n){var i;n.swapXY&&(i=e.x0,e.x0=e.y0,e.y0=i,i=e.x1,e.x1=e.y1,e.y1=i),n.flipX&&(i=e.x0,e.x0=r[0]-e.x1,e.x1=r[0]-i),n.flipY&&(i=e.y0,e.y0=r[1]-e.y1,e.y1=r[1]-i);var a=e.children;if(a)for(var o=0;o<a.length;o++)t(a[o],r,n)}},70954:function(t,e,r){"use strict";t.exports={moduleType:"trace",name:"treemap",basePlotModule:r(78018),categories:[],animatable:!0,attributes:r(45802),layoutAttributes:r(55479),supplyDefaults:r(91174),supplyLayoutDefaults:r(77182),calc:r(65039).y,crossTraceCalc:r(65039).T,plot:r(5893),style:r(96362).style,colorbar:r(4898),meta:{}}},55479:function(t){"use strict";t.exports={treemapcolorway:{valType:"colorlist",editType:"calc"},extendtreemapcolors:{valType:"boolean",dflt:!0,editType:"calc"}}},77182:function(t,e,r){"use strict";var n=r(71828),i=r(55479);t.exports=function(t,e){function r(r,a){return n.coerce(t,e,i,r,a)}r("treemapcolorway",e.colorway),r("extendtreemapcolors")}},37210:function(t,e,r){"use strict";var n=r(674),i=r(14102);t.exports=function(t,e,r){var a,o=r.flipX,s=r.flipY,l="dice-slice"===r.packing,u=r.pad[s?"bottom":"top"],c=r.pad[o?"right":"left"],f=r.pad[o?"left":"right"],h=r.pad[s?"top":"bottom"];l&&(a=c,c=u,u=a,a=f,f=h,h=a);var p=n.treemap().tile(function(t,e){switch(t){case"squarify":return n.treemapSquarify.ratio(e);case"binary":return n.treemapBinary;case"dice":return n.treemapDice;case"slice":return n.treemapSlice;default:return n.treemapSliceDice}}(r.packing,r.squarifyratio)).paddingInner(r.pad.inner).paddingLeft(c).paddingRight(f).paddingTop(u).paddingBottom(h).size(l?[e[1],e[0]]:e)(t);return(l||o||s)&&i(p,e,{swapXY:l,flipX:o,flipY:s}),p}},5893:function(t,e,r){"use strict";var n=r(80694),i=r(52583);t.exports=function(t,e,r,a){return n(t,e,r,a,{type:"treemap",drawDescendants:i})}},46650:function(t,e,r){"use strict";var n=r(39898),i=r(29502).sX,a=r(2791),o=r(71828),s=r(97313).TEXTPAD,l=r(17295).toMoveInsideBar,u=r(72597).recordMinTextSize,c=r(43473),f=r(66209);function h(t){return a.isHierarchyRoot(t)?"":a.getPtId(t)}t.exports=function(t,e,r,p,d){var v=t._fullLayout,g=e[0],y=g.trace,m="icicle"===y.type,x=g.hierarchy,b=a.findEntryWithLevel(x,y.level),_=n.select(r),w=_.selectAll("g.pathbar"),T=_.selectAll("g.slice");if(!b)return w.remove(),void T.remove();var k=a.isHierarchyRoot(b),A=!v.uniformtext.mode&&a.hasTransition(p),M=a.getMaxDepth(y),S=v._size,E=y.domain,L=S.w*(E.x[1]-E.x[0]),C=S.h*(E.y[1]-E.y[0]),P=L,O=y.pathbar.thickness,I=y.marker.line.width+c.gapWithPathbar,D=y.pathbar.visible?y.pathbar.side.indexOf("bottom")>-1?C+I:-(O+I):0,z={x0:P,x1:P,y0:D,y1:D+O},R=function(t,e,r){var n=y.tiling.pad,i=function(t){return t-n<=e.x0},a=function(t){return t+n>=e.x1},o=function(t){return t-n<=e.y0},s=function(t){return t+n>=e.y1};return t.x0===e.x0&&t.x1===e.x1&&t.y0===e.y0&&t.y1===e.y1?{x0:t.x0,x1:t.x1,y0:t.y0,y1:t.y1}:{x0:i(t.x0-n)?0:a(t.x0-n)?r[0]:t.x0,x1:i(t.x1+n)?0:a(t.x1+n)?r[0]:t.x1,y0:o(t.y0-n)?0:s(t.y0-n)?r[1]:t.y0,y1:o(t.y1+n)?0:s(t.y1+n)?r[1]:t.y1}},F=null,B={},N={},j=null,U=function(t,e){return e?B[h(t)]:N[h(t)]};g.hasMultipleRoots&&k&&M++,y._maxDepth=M,y._backgroundColor=v.paper_bgcolor,y._entryDepth=b.data.depth,y._atRootLevel=k;var V=-L/2+S.l+S.w*(E.x[1]+E.x[0])/2,H=-C/2+S.t+S.h*(1-(E.y[1]+E.y[0])/2),q=function(t){return V+t},G=function(t){return H+t},Z=G(0),Y=q(0),W=function(t){return Y+t},X=function(t){return Z+t};function J(t,e){return t+","+e}var K=W(0),$=function(t){t.x=Math.max(K,t.x)},Q=y.pathbar.edgeshape,tt=y[m?"tiling":"marker"].pad,et=function(t){return-1!==y.textposition.indexOf(t)},rt=et("top"),nt=et("left"),it=et("right"),at=et("bottom"),ot=function(t,e){var r=t.x0,n=t.x1,i=t.y0,a=t.y1,o=t.textBB,c=rt||e.isHeader&&!at?"start":at?"end":"middle",f=et("right"),h=et("left")||e.onPathbar?-1:f?1:0;if(e.isHeader){if((r+=(m?tt:tt.l)-s)>=(n-=(m?tt:tt.r)-s)){var p=(r+n)/2;r=p,n=p}var d;at?i<(d=a-(m?tt:tt.b))&&d<a&&(i=d):i<(d=i+(m?tt:tt.t))&&d<a&&(a=d)}var g=l(r,n,i,a,o,{isHorizontal:!1,constrained:!0,angle:0,anchor:c,leftToRight:h});return g.fontSize=e.fontSize,g.targetX=q(g.targetX),g.targetY=G(g.targetY),isNaN(g.targetX)||isNaN(g.targetY)?{}:(r!==n&&i!==a&&u(y.type,g,v),{scale:g.scale,rotate:g.rotate,textX:g.textX,textY:g.textY,anchorX:g.anchorX,anchorY:g.anchorY,targetX:g.targetX,targetY:g.targetY})},st=function(t,e){for(var r,n=0,i=t;!r&&n<M;)n++,(i=i.parent)?r=U(i,e):n=M;return r||{}},lt=function(t,e,r,n,a){var s,l=U(t,e);if(l)s=l;else if(e)s=z;else if(F)if(t.parent){var u=j||r;u&&!e?s=R(t,u,n):(s={},o.extendFlat(s,st(t,e)))}else s=o.extendFlat({},t),m&&("h"===a.orientation?a.flipX?s.x0=t.x1:s.x1=0:a.flipY?s.y0=t.y1:s.y1=0);else s={};return i(s,{x0:t.x0,x1:t.x1,y0:t.y0,y1:t.y1})},ut=function(t,e,r,n){var s=U(t,e),l={},c=function(t,e,r,n){if(e)return B[h(x)]||z;var i=N[y.level]||r;return function(t){return t.data.depth-b.data.depth<M}(t)?R(t,i,n):{}}(t,e,r,n);o.extendFlat(l,{transform:ot({x0:c.x0,x1:c.x1,y0:c.y0,y1:c.y1,textBB:t.textBB,_text:t._text},{isHeader:a.isHeader(t,y)})}),s?l=s:t.parent&&o.extendFlat(l,st(t,e));var f=t.transform;return t.x0!==t.x1&&t.y0!==t.y1&&u(y.type,f,v),i(l,{transform:{scale:f.scale,rotate:f.rotate,textX:f.textX,textY:f.textY,anchorX:f.anchorX,anchorY:f.anchorY,targetX:f.targetX,targetY:f.targetY}})},ct=function(t,e,r,a,o){var s=a[0],l=a[1];A?t.exit().transition().each((function(){var t=n.select(this);t.select("path.surface").transition().attrTween("d",(function(t){var r=function(t,e,r,n){var a,o=U(t,e);if(e)a=z;else{var s=U(b,e);a=s?R(t,s,n):{}}return i(o,a)}(t,e,0,[s,l]);return function(t){return o(r(t))}})),t.select("g.slicetext").attr("opacity",0)})).remove():t.exit().remove()},ft=function(t){var e=t.transform;return t.x0!==t.x1&&t.y0!==t.y1&&u(y.type,e,v),o.getTextTransform({textX:e.textX,textY:e.textY,anchorX:e.anchorX,anchorY:e.anchorY,targetX:e.targetX,targetY:e.targetY,scale:e.scale,rotate:e.rotate})};A&&(w.each((function(t){B[h(t)]={x0:t.x0,x1:t.x1,y0:t.y0,y1:t.y1},t.transform&&(B[h(t)].transform={textX:t.transform.textX,textY:t.transform.textY,anchorX:t.transform.anchorX,anchorY:t.transform.anchorY,targetX:t.transform.targetX,targetY:t.transform.targetY,scale:t.transform.scale,rotate:t.transform.rotate})})),T.each((function(t){N[h(t)]={x0:t.x0,x1:t.x1,y0:t.y0,y1:t.y1},t.transform&&(N[h(t)].transform={textX:t.transform.textX,textY:t.transform.textY,anchorX:t.transform.anchorX,anchorY:t.transform.anchorY,targetX:t.transform.targetX,targetY:t.transform.targetY,scale:t.transform.scale,rotate:t.transform.rotate}),!F&&a.isEntry(t)&&(F=t)}))),j=d(t,e,b,T,{width:L,height:C,viewX:q,viewY:G,pathSlice:function(t){var e=q(t.x0),r=q(t.x1),n=G(t.y0),i=G(t.y1),a=r-e,o=i-n;if(!a||!o)return"";var s=y.marker.cornerradius||0,l=Math.min(s,a/2,o/2);l&&t.data&&t.data.data&&t.data.data.label&&(rt&&(l=Math.min(l,tt.t)),nt&&(l=Math.min(l,tt.l)),it&&(l=Math.min(l,tt.r)),at&&(l=Math.min(l,tt.b)));var u=function(t,e){return l?"a"+J(l,l)+" 0 0 1 "+J(t,e):""};return"M"+J(e,n+l)+u(l,-l)+"L"+J(r-l,n)+u(l,l)+"L"+J(r,i-l)+u(-l,l)+"L"+J(e+l,i)+u(-l,-l)+"Z"},toMoveInsideSlice:ot,prevEntry:F,makeUpdateSliceInterpolator:lt,makeUpdateTextInterpolator:ut,handleSlicesExit:ct,hasTransition:A,strTransform:ft}),y.pathbar.visible?f(t,e,b,w,{barDifY:D,width:P,height:O,viewX:W,viewY:X,pathSlice:function(t){var e=W(Math.max(Math.min(t.x0,t.x0),0)),r=W(Math.min(Math.max(t.x1,t.x1),P)),n=X(t.y0),i=X(t.y1),a=O/2,o={},s={};o.x=e,s.x=r,o.y=s.y=(n+i)/2;var l={x:e,y:n},u={x:r,y:n},c={x:r,y:i},f={x:e,y:i};return">"===Q?(l.x-=a,u.x-=a,c.x-=a,f.x-=a):"/"===Q?(c.x-=a,f.x-=a,o.x-=a/2,s.x-=a/2):"\\"===Q?(l.x-=a,u.x-=a,o.x-=a/2,s.x-=a/2):"<"===Q&&(o.x-=a,s.x-=a),$(l),$(f),$(o),$(u),$(c),$(s),"M"+J(l.x,l.y)+"L"+J(u.x,u.y)+"L"+J(s.x,s.y)+"L"+J(c.x,c.y)+"L"+J(f.x,f.y)+"L"+J(o.x,o.y)+"Z"},toMoveInsideSlice:ot,makeUpdateSliceInterpolator:lt,makeUpdateTextInterpolator:ut,handleSlicesExit:ct,hasTransition:A,strTransform:ft}):w.remove()}},96362:function(t,e,r){"use strict";var n=r(39898),i=r(7901),a=r(71828),o=r(2791),s=r(72597).resizeText;function l(t,e,r,n){var s,l,u=(n||{}).hovered,c=e.data.data,f=c.i,h=c.color,p=o.isHierarchyRoot(e),d=1;if(u)s=r._hovered.marker.line.color,l=r._hovered.marker.line.width;else if(p&&h===r.root.color)d=100,s="rgba(0,0,0,0)",l=0;else if(s=a.castOption(r,f,"marker.line.color")||i.defaultLine,l=a.castOption(r,f,"marker.line.width")||0,!r._hasColorscale&&!e.onPathbar){var v=r.marker.depthfade;if(v){var g,y=i.combine(i.addOpacity(r._backgroundColor,.75),h);if(!0===v){var m=o.getMaxDepth(r);g=isFinite(m)?o.isLeaf(e)?0:r._maxVisibleLayers-(e.data.depth-r._entryDepth):e.data.height+1}else g=e.data.depth-r._entryDepth,r._atRootLevel||g++;if(g>0)for(var x=0;x<g;x++){var b=.5*x/g;h=i.combine(i.addOpacity(y,b),h)}}}t.style("stroke-width",l).call(i.fill,h).call(i.stroke,s).style("opacity",d)}t.exports={style:function(t){var e=t._fullLayout._treemaplayer.selectAll(".trace");s(t,e,"treemap"),e.each((function(t){var e=n.select(this),r=t[0].trace;e.style("opacity",r.opacity),e.selectAll("path.surface").each((function(t){n.select(this).call(l,t,r,{hovered:!1})}))}))},styleOne:l}},68875:function(t,e,r){"use strict";var n=r(53522),i=r(1426).extendFlat,a=r(12663).axisHoverFormat;t.exports={y:n.y,x:n.x,x0:n.x0,y0:n.y0,xhoverformat:a("x"),yhoverformat:a("y"),name:i({},n.name,{}),orientation:i({},n.orientation,{}),bandwidth:{valType:"number",min:0,editType:"calc"},scalegroup:{valType:"string",dflt:"",editType:"calc"},scalemode:{valType:"enumerated",values:["width","count"],dflt:"width",editType:"calc"},spanmode:{valType:"enumerated",values:["soft","hard","manual"],dflt:"soft",editType:"calc"},span:{valType:"info_array",items:[{valType:"any",editType:"calc"},{valType:"any",editType:"calc"}],editType:"calc"},line:{color:{valType:"color",editType:"style"},width:{valType:"number",min:0,dflt:2,editType:"style"},editType:"plot"},fillcolor:n.fillcolor,points:i({},n.boxpoints,{}),jitter:i({},n.jitter,{}),pointpos:i({},n.pointpos,{}),width:i({},n.width,{}),marker:n.marker,text:n.text,hovertext:n.hovertext,hovertemplate:n.hovertemplate,quartilemethod:n.quartilemethod,box:{visible:{valType:"boolean",dflt:!1,editType:"plot"},width:{valType:"number",min:0,max:1,dflt:.25,editType:"plot"},fillcolor:{valType:"color",editType:"style"},line:{color:{valType:"color",editType:"style"},width:{valType:"number",min:0,editType:"style"},editType:"style"},editType:"plot"},meanline:{visible:{valType:"boolean",dflt:!1,editType:"plot"},color:{valType:"color",editType:"style"},width:{valType:"number",min:0,editType:"style"},editType:"plot"},side:{valType:"enumerated",values:["both","positive","negative"],dflt:"both",editType:"calc"},offsetgroup:n.offsetgroup,alignmentgroup:n.alignmentgroup,selected:n.selected,unselected:n.unselected,hoveron:{valType:"flaglist",flags:["violins","points","kde"],dflt:"violins+points+kde",extras:["all"],editType:"style"}}},38603:function(t,e,r){"use strict";var n=r(71828),i=r(89298),a=r(48518),o=r(60168),s=r(50606).BADNUM;function l(t,e,r){var i=e.max-e.min;if(!i)return t.bandwidth?t.bandwidth:0;if(t.bandwidth)return Math.max(t.bandwidth,i/1e4);var a=r.length,o=n.stdev(r,a-1,e.mean);return Math.max(function(t,e,r){return 1.059*Math.min(e,r/1.349)*Math.pow(t,-.2)}(a,o,e.q3-e.q1),i/100)}function u(t,e,r,n){var a,o=t.spanmode,l=t.span||[],u=[e.min,e.max],c=[e.min-2*n,e.max+2*n];function f(n){var i=l[n],a="multicategory"===r.type?r.r2c(i):r.d2c(i,0,t[e.valLetter+"calendar"]);return a===s?c[n]:a}var h={type:"linear",range:a="soft"===o?c:"hard"===o?u:[f(0),f(1)]};return i.setConvert(h),h.cleanRange(),a}t.exports=function(t,e){var r=a(t,e);if(r[0].t.empty)return r;for(var s=t._fullLayout,c=i.getFromId(t,e["h"===e.orientation?"xaxis":"yaxis"]),f=1/0,h=-1/0,p=0,d=0,v=0;v<r.length;v++){var g=r[v],y=g.pts.map(o.extractVal),m=g.bandwidth=l(e,g,y),x=g.span=u(e,g,c,m);if(g.min===g.max&&0===m)x=g.span=[g.min,g.max],g.density=[{v:1,t:x[0]}],g.bandwidth=m,p=Math.max(p,1);else{var b=x[1]-x[0],_=Math.ceil(b/(m/3)),w=b/_;if(!isFinite(w)||!isFinite(_))return n.error("Something went wrong with computing the violin span"),r[0].t.empty=!0,r;var T=o.makeKDE(g,e,y);g.density=new Array(_);for(var k=0,A=x[0];A<x[1]+w/2;k++,A+=w){var M=T(A);g.density[k]={v:M,t:A},p=Math.max(p,M)}}d=Math.max(d,y.length),f=Math.min(f,x[0]),h=Math.max(h,x[1])}var S=i.findExtremes(c,[f,h],{padded:!0});if(e._extremes[c._id]=S,e.width)r[0].t.maxKDE=p;else{var E=s._violinScaleGroupStats,L=e.scalegroup,C=E[L];C?(C.maxKDE=Math.max(C.maxKDE,p),C.maxCount=Math.max(C.maxCount,d)):E[L]={maxKDE:p,maxCount:d}}return r[0].t.labels.kde=n._(t,"kde:"),r}},86403:function(t,e,r){"use strict";var n=r(37188).setPositionOffset,i=["v","h"];t.exports=function(t,e){for(var r=t.calcdata,a=e.xaxis,o=e.yaxis,s=0;s<i.length;s++){for(var l=i[s],u="h"===l?o:a,c=[],f=0;f<r.length;f++){var h=r[f],p=h[0].t,d=h[0].trace;!0!==d.visible||"violin"!==d.type||p.empty||d.orientation!==l||d.xaxis!==a._id||d.yaxis!==o._id||c.push(f)}n("violin",t,c,u)}}},15899:function(t,e,r){"use strict";var n=r(71828),i=r(7901),a=r(36411),o=r(68875);t.exports=function(t,e,r,s){function l(r,i){return n.coerce(t,e,o,r,i)}function u(r,i){return n.coerce2(t,e,o,r,i)}if(a.handleSampleDefaults(t,e,l,s),!1!==e.visible){l("bandwidth"),l("side"),l("width")||(l("scalegroup",e.name),l("scalemode"));var c,f=l("span");Array.isArray(f)&&(c="manual"),l("spanmode",c);var h=l("line.color",(t.marker||{}).color||r),p=l("line.width"),d=l("fillcolor",i.addOpacity(e.line.color,.5));a.handlePointsDefaults(t,e,l,{prefix:""});var v=u("box.width"),g=u("box.fillcolor",d),y=u("box.line.color",h),m=u("box.line.width",p);l("box.visible",Boolean(v||g||y||m))||(e.box={visible:!1});var x=u("meanline.color",h),b=u("meanline.width",p);l("meanline.visible",Boolean(x||b))||(e.meanline={visible:!1}),l("quartilemethod")}}},60168:function(t,e,r){"use strict";var n=r(71828),i=function(t){return 1/Math.sqrt(2*Math.PI)*Math.exp(-.5*t*t)};e.makeKDE=function(t,e,r){var n=r.length,a=i,o=t.bandwidth,s=1/(n*o);return function(t){for(var e=0,i=0;i<n;i++)e+=a((t-r[i])/o);return s*e}},e.getPositionOnKdePath=function(t,e,r){var i,a;"h"===e.orientation?(i="y",a="x"):(i="x",a="y");var o=n.findPointOnPath(t.path,r,a,{pathLength:t.pathLength}),s=t.posCenterPx,l=o[i];return[l,"both"===e.side?2*s-l:s]},e.getKdeValue=function(t,r,n){var i=t.pts.map(e.extractVal);return e.makeKDE(t,r,i)(n)/t.posDensityScale},e.extractVal=function(t){return t.v}},57634:function(t,e,r){"use strict";var n=r(7901),i=r(71828),a=r(89298),o=r(41868),s=r(60168);t.exports=function(t,e,r,l,u){u||(u={});var c,f,h=u.hoverLayer,p=t.cd,d=p[0].trace,v=d.hoveron,g=-1!==v.indexOf("violins"),y=-1!==v.indexOf("kde"),m=[];if(g||y){var x=o.hoverOnBoxes(t,e,r,l);if(y&&x.length>0){var b,_,w,T,k,A=t.xa,M=t.ya;"h"===d.orientation?(k=e,b="y",w=M,_="x",T=A):(k=r,b="x",w=A,_="y",T=M);var S=p[t.index];if(k>=S.span[0]&&k<=S.span[1]){var E=i.extendFlat({},t),L=T.c2p(k,!0),C=s.getKdeValue(S,d,k),P=s.getPositionOnKdePath(S,d,L),O=w._offset,I=w._length;E[b+"0"]=P[0],E[b+"1"]=P[1],E[_+"0"]=E[_+"1"]=L,E[_+"Label"]=_+": "+a.hoverLabelText(T,k,d[_+"hoverformat"])+", "+p[0].t.labels.kde+" "+C.toFixed(3);for(var D=0,z=0;z<x.length;z++)if("med"===x[z].attr){D=z;break}E.spikeDistance=x[D].spikeDistance;var R=b+"Spike";E[R]=x[D][R],x[D].spikeDistance=void 0,x[D][R]=void 0,E.hovertemplate=!1,m.push(E),(f={})[b+"1"]=i.constrain(O+P[0],O,O+I),f[b+"2"]=i.constrain(O+P[1],O,O+I),f[_+"1"]=f[_+"2"]=T._offset+L}}g&&(m=m.concat(x))}-1!==v.indexOf("points")&&(c=o.hoverOnPoints(t,e,r));var F=h.selectAll(".violinline-"+d.uid).data(f?[0]:[]);return F.enter().append("line").classed("violinline-"+d.uid,!0).attr("stroke-width",1.5),F.exit().remove(),F.attr(f).call(n.stroke,t.color),"closest"===l?c?[c]:m:c?(m.push(c),m):m}},47462:function(t,e,r){"use strict";t.exports={attributes:r(68875),layoutAttributes:r(9228),supplyDefaults:r(15899),crossTraceDefaults:r(36411).crossTraceDefaults,supplyLayoutDefaults:r(33598),calc:r(38603),crossTraceCalc:r(86403),plot:r(28443),style:r(31847),styleOnSelect:r(16296).styleOnSelect,hoverPoints:r(57634),selectPoints:r(24626),moduleType:"trace",name:"violin",basePlotModule:r(93612),categories:["cartesian","svg","symbols","oriented","box-violin","showLegend","violinLayout","zoomScale"],meta:{}}},9228:function(t,e,r){"use strict";var n=r(40094),i=r(71828).extendFlat;t.exports={violinmode:i({},n.boxmode,{}),violingap:i({},n.boxgap,{}),violingroupgap:i({},n.boxgroupgap,{})}},33598:function(t,e,r){"use strict";var n=r(71828),i=r(9228),a=r(4199);t.exports=function(t,e,r){a._supply(t,e,r,(function(r,a){return n.coerce(t,e,i,r,a)}),"violin")}},28443:function(t,e,r){"use strict";var n=r(39898),i=r(71828),a=r(91424),o=r(86047),s=r(34621),l=r(60168);t.exports=function(t,e,r,u){var c=t._fullLayout,f=e.xaxis,h=e.yaxis;function p(t,e){var r=s(t,{xaxis:f,yaxis:h,trace:e,connectGaps:!0,baseTolerance:.75,shape:"spline",simplify:!0,linearized:!0});return a.smoothopen(r[0],1)}i.makeTraceGroups(u,r,"trace violins").each((function(t){var r=n.select(this),a=t[0],s=a.t,u=a.trace;if(!0!==u.visible||s.empty)r.remove();else{var d=s.bPos,v=s.bdPos,g=e[s.valLetter+"axis"],y=e[s.posLetter+"axis"],m="both"===u.side,x=m||"positive"===u.side,b=m||"negative"===u.side,_=r.selectAll("path.violin").data(i.identity);_.enter().append("path").style("vector-effect","non-scaling-stroke").attr("class","violin"),_.exit().remove(),_.each((function(t){var e,r,i,a,o,l,f,h,_=n.select(this),w=t.density,T=w.length,k=y.c2l(t.pos+d,!0),A=y.l2p(k);if(u.width)e=s.maxKDE/v;else{var M=c._violinScaleGroupStats[u.scalegroup];e="count"===u.scalemode?M.maxKDE/v*(M.maxCount/t.pts.length):M.maxKDE/v}if(x){for(f=new Array(T),o=0;o<T;o++)(h=f[o]={})[s.posLetter]=k+w[o].v/e,h[s.valLetter]=g.c2l(w[o].t,!0);r=p(f,u)}if(b){for(f=new Array(T),l=0,o=T-1;l<T;l++,o--)(h=f[l]={})[s.posLetter]=k-w[o].v/e,h[s.valLetter]=g.c2l(w[o].t,!0);i=p(f,u)}if(m)a=r+"L"+i.substr(1)+"Z";else{var S=[A,g.c2p(w[0].t)],E=[A,g.c2p(w[T-1].t)];"h"===u.orientation&&(S.reverse(),E.reverse()),a=x?"M"+S+"L"+r.substr(1)+"L"+E:"M"+E+"L"+i.substr(1)+"L"+S}_.attr("d",a),t.posCenterPx=A,t.posDensityScale=e*v,t.path=_.node(),t.pathLength=t.path.getTotalLength()/(m?2:1)}));var w,T,k,A=u.box,M=A.width,S=(A.line||{}).width;m?(w=v*M,T=0):x?(w=[0,v*M/2],T=S*{x:1,y:-1}[s.posLetter]):(w=[v*M/2,0],T=S*{x:-1,y:1}[s.posLetter]),o.plotBoxAndWhiskers(r,{pos:y,val:g},u,{bPos:d,bdPos:w,bPosPxOffset:T}),o.plotBoxMean(r,{pos:y,val:g},u,{bPos:d,bdPos:w,bPosPxOffset:T}),!u.box.visible&&u.meanline.visible&&(k=i.identity);var E=r.selectAll("path.meanline").data(k||[]);E.enter().append("path").attr("class","meanline").style("fill","none").style("vector-effect","non-scaling-stroke"),E.exit().remove(),E.each((function(t){var e=g.c2p(t.mean,!0),r=l.getPositionOnKdePath(t,u,e);n.select(this).attr("d","h"===u.orientation?"M"+e+","+r[0]+"V"+r[1]:"M"+r[0]+","+e+"H"+r[1])})),o.plotPoints(r,{x:f,y:h},u,s)}}))}},31847:function(t,e,r){"use strict";var n=r(39898),i=r(7901),a=r(16296).stylePoints;t.exports=function(t){var e=n.select(t).selectAll("g.trace.violins");e.style("opacity",(function(t){return t[0].trace.opacity})),e.each((function(e){var r=e[0].trace,o=n.select(this),s=r.box||{},l=s.line||{},u=r.meanline||{},c=u.width;o.selectAll("path.violin").style("stroke-width",r.line.width+"px").call(i.stroke,r.line.color).call(i.fill,r.fillcolor),o.selectAll("path.box").style("stroke-width",l.width+"px").call(i.stroke,l.color).call(i.fill,s.fillcolor);var f={"stroke-width":c+"px","stroke-dasharray":2*c+"px,"+c+"px"};o.selectAll("path.mean").style(f).call(i.stroke,u.color),o.selectAll("path.meanline").style(f).call(i.stroke,u.color),a(o,r,t)}))}},16336:function(t,e,r){"use strict";var n=r(50693),i=r(16249),a=r(54532),o=r(9012),s=r(1426).extendFlat,l=r(30962).overrideAll,u=t.exports=l(s({x:i.x,y:i.y,z:i.z,value:i.value,isomin:i.isomin,isomax:i.isomax,surface:i.surface,spaceframe:{show:{valType:"boolean",dflt:!1},fill:{valType:"number",min:0,max:1,dflt:1}},slices:i.slices,caps:i.caps,text:i.text,hovertext:i.hovertext,xhoverformat:i.xhoverformat,yhoverformat:i.yhoverformat,zhoverformat:i.zhoverformat,valuehoverformat:i.valuehoverformat,hovertemplate:i.hovertemplate},n("",{colorAttr:"`value`",showScaleDflt:!0,editTypeOverride:"calc"}),{colorbar:i.colorbar,opacity:i.opacity,opacityscale:a.opacityscale,lightposition:i.lightposition,lighting:i.lighting,flatshading:i.flatshading,contour:i.contour,hoverinfo:s({},o.hoverinfo),showlegend:s({},o.showlegend,{dflt:!1})}),"calc","nested");u.x.editType=u.y.editType=u.z.editType=u.value.editType="calc+clearAxisTypes",u.transforms=void 0},64809:function(t,e,r){"use strict";var n=r(9330).gl_mesh3d,i=r(81697).parseColorScale,a=r(78614),o=r(21081).extractOpts,s=r(90060),l=r(22674).findNearestOnAxis,u=r(22674).generateIsoMeshes;function c(t,e,r){this.scene=t,this.uid=r,this.mesh=e,this.name="",this.data=null,this.showContour=!1}var f=c.prototype;f.handlePick=function(t){if(t.object===this.mesh){var e=t.data.index,r=this.data._meshX[e],n=this.data._meshY[e],i=this.data._meshZ[e],a=this.data._Ys.length,o=this.data._Zs.length,s=l(r,this.data._Xs).id,u=l(n,this.data._Ys).id,c=l(i,this.data._Zs).id,f=t.index=c+o*u+o*a*s;t.traceCoordinate=[this.data._meshX[f],this.data._meshY[f],this.data._meshZ[f],this.data._value[f]];var h=this.data.hovertext||this.data.text;return Array.isArray(h)&&void 0!==h[f]?t.textLabel=h[f]:h&&(t.textLabel=h),!0}},f.update=function(t){var e=this.scene,r=e.fullSceneLayout;function n(t,e,r,n){return e.map((function(e){return t.d2l(e,0,n)*r}))}this.data=u(t);var l={positions:s(n(r.xaxis,t._meshX,e.dataScale[0],t.xcalendar),n(r.yaxis,t._meshY,e.dataScale[1],t.ycalendar),n(r.zaxis,t._meshZ,e.dataScale[2],t.zcalendar)),cells:s(t._meshI,t._meshJ,t._meshK),lightPosition:[t.lightposition.x,t.lightposition.y,t.lightposition.z],ambient:t.lighting.ambient,diffuse:t.lighting.diffuse,specular:t.lighting.specular,roughness:t.lighting.roughness,fresnel:t.lighting.fresnel,vertexNormalsEpsilon:t.lighting.vertexnormalsepsilon,faceNormalsEpsilon:t.lighting.facenormalsepsilon,opacity:t.opacity,opacityscale:t.opacityscale,contourEnable:t.contour.show,contourColor:a(t.contour.color).slice(0,3),contourWidth:t.contour.width,useFacetNormals:t.flatshading},c=o(t);l.vertexIntensity=t._meshIntensity,l.vertexIntensityBounds=[c.min,c.max],l.colormap=i(t),this.mesh.update(l)},f.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()},t.exports=function(t,e){var r=t.glplot.gl,i=n({gl:r}),a=new c(t,i,e.uid);return i._trace=a,a.update(e),t.glplot.add(i),a}},47651:function(t,e,r){"use strict";var n=r(71828),i=r(16336),a=r(82738).supplyIsoDefaults,o=r(91831).opacityscaleDefaults;t.exports=function(t,e,r,s){function l(r,a){return n.coerce(t,e,i,r,a)}a(t,e,r,s,l),o(t,e,s,l)}},17659:function(t,e,r){"use strict";t.exports={attributes:r(16336),supplyDefaults:r(47651),calc:r(56959),colorbar:{min:"cmin",max:"cmax"},plot:r(64809),moduleType:"trace",name:"volume",basePlotModule:r(58547),categories:["gl3d","showLegend"],meta:{}}},43037:function(t,e,r){"use strict";var n=r(1486),i=r(82196).line,a=r(9012),o=r(12663).axisHoverFormat,s=r(5386).f,l=r(5386).s,u=r(48334),c=r(1426).extendFlat,f=r(7901);function h(t){return{marker:{color:c({},n.marker.color,{arrayOk:!1,editType:"style"}),line:{color:c({},n.marker.line.color,{arrayOk:!1,editType:"style"}),width:c({},n.marker.line.width,{arrayOk:!1,editType:"style"}),editType:"style"},editType:"style"},editType:"style"}}t.exports={measure:{valType:"data_array",dflt:[],editType:"calc"},base:{valType:"number",dflt:null,arrayOk:!1,editType:"calc"},x:n.x,x0:n.x0,dx:n.dx,y:n.y,y0:n.y0,dy:n.dy,xperiod:n.xperiod,yperiod:n.yperiod,xperiod0:n.xperiod0,yperiod0:n.yperiod0,xperiodalignment:n.xperiodalignment,yperiodalignment:n.yperiodalignment,xhoverformat:o("x"),yhoverformat:o("y"),hovertext:n.hovertext,hovertemplate:s({},{keys:u.eventDataKeys}),hoverinfo:c({},a.hoverinfo,{flags:["name","x","y","text","initial","delta","final"]}),textinfo:{valType:"flaglist",flags:["label","text","initial","delta","final"],extras:["none"],editType:"plot",arrayOk:!1},texttemplate:l({editType:"plot"},{keys:u.eventDataKeys.concat(["label"])}),text:n.text,textposition:n.textposition,insidetextanchor:n.insidetextanchor,textangle:n.textangle,textfont:n.textfont,insidetextfont:n.insidetextfont,outsidetextfont:n.outsidetextfont,constraintext:n.constraintext,cliponaxis:n.cliponaxis,orientation:n.orientation,offset:n.offset,width:n.width,increasing:h(),decreasing:h(),totals:h(),connector:{line:{color:c({},i.color,{dflt:f.defaultLine}),width:c({},i.width,{editType:"plot"}),dash:i.dash,editType:"plot"},mode:{valType:"enumerated",values:["spanning","between"],dflt:"between",editType:"plot"},visible:{valType:"boolean",dflt:!0,editType:"plot"},editType:"plot"},offsetgroup:n.offsetgroup,alignmentgroup:n.alignmentgroup}},52752:function(t,e,r){"use strict";var n=r(89298),i=r(42973),a=r(71828).mergeArray,o=r(66279),s=r(50606).BADNUM;function l(t){return"a"===t||"absolute"===t}function u(t){return"t"===t||"total"===t}t.exports=function(t,e){var r,c,f,h,p,d,v=n.getFromId(t,e.xaxis||"x"),g=n.getFromId(t,e.yaxis||"y");"h"===e.orientation?(r=v.makeCalcdata(e,"x"),f=g.makeCalcdata(e,"y"),h=i(e,g,"y",f),p=!!e.yperiodalignment,d="y"):(r=g.makeCalcdata(e,"y"),f=v.makeCalcdata(e,"x"),h=i(e,v,"x",f),p=!!e.xperiodalignment,d="x"),c=h.vals;for(var y,m=Math.min(c.length,r.length),x=new Array(m),b=0,_=!1,w=0;w<m;w++){var T=r[w]||0,k=!1;(r[w]!==s||u(e.measure[w])||l(e.measure[w]))&&w+1<m&&(r[w+1]!==s||u(e.measure[w+1])||l(e.measure[w+1]))&&(k=!0);var A=x[w]={i:w,p:c[w],s:T,rawS:T,cNext:k};l(e.measure[w])?(b=A.s,A.isSum=!0,A.dir="totals",A.s=b):u(e.measure[w])?(A.isSum=!0,A.dir="totals",A.s=b):(A.isSum=!1,A.dir=A.rawS<0?"decreasing":"increasing",y=A.s,A.s=b+y,b+=y),"totals"===A.dir&&(_=!0),p&&(x[w].orig_p=f[w],x[w][d+"End"]=h.ends[w],x[w][d+"Start"]=h.starts[w]),e.ids&&(A.id=String(e.ids[w])),A.v=(e.base||0)+b}return x.length&&(x[0].hasTotals=_),a(e.text,x,"tx"),a(e.hovertext,x,"htx"),o(x,e),x}},48334:function(t){"use strict";t.exports={eventDataKeys:["initial","delta","final"]}},70766:function(t,e,r){"use strict";var n=r(11661).setGroupPositions;t.exports=function(t,e){var r,i,a=t._fullLayout,o=t._fullData,s=t.calcdata,l=e.xaxis,u=e.yaxis,c=[],f=[],h=[];for(i=0;i<o.length;i++){var p=o[i];!0===p.visible&&p.xaxis===l._id&&p.yaxis===u._id&&"waterfall"===p.type&&(r=s[i],"h"===p.orientation?h.push(r):f.push(r),c.push(r))}var d={mode:a.waterfallmode,norm:a.waterfallnorm,gap:a.waterfallgap,groupgap:a.waterfallgroupgap};for(n(t,l,u,f,d),n(t,u,l,h,d),i=0;i<c.length;i++){r=c[i];for(var v=0;v<r.length;v++){var g=r[v];!1===g.isSum&&(g.s0+=0===v?0:r[v-1].s),v+1<r.length&&(r[v].nextP0=r[v+1].p0,r[v].nextS0=r[v+1].s0)}}}},83266:function(t,e,r){"use strict";var n=r(71828),i=r(26125),a=r(90769).handleText,o=r(67513),s=r(73927),l=r(43037),u=r(7901),c=r(22372),f=c.INCREASING.COLOR,h=c.DECREASING.COLOR;function p(t,e,r){t(e+".marker.color",r),t(e+".marker.line.color",u.defaultLine),t(e+".marker.line.width")}t.exports={supplyDefaults:function(t,e,r,i){function u(r,i){return n.coerce(t,e,l,r,i)}if(o(t,e,i,u)){s(t,e,i,u),u("xhoverformat"),u("yhoverformat"),u("measure"),u("orientation",e.x&&!e.y?"h":"v"),u("base"),u("offset"),u("width"),u("text"),u("hovertext"),u("hovertemplate");var c=u("textposition");a(t,e,i,u,c,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!0,moduleHasCliponaxis:!0,moduleHasTextangle:!0,moduleHasInsideanchor:!0}),"none"!==e.textposition&&(u("texttemplate"),e.texttemplate||u("textinfo")),p(u,"increasing",f),p(u,"decreasing",h),p(u,"totals","#4499FF"),u("connector.visible")&&(u("connector.mode"),u("connector.line.width")&&(u("connector.line.color"),u("connector.line.dash")))}else e.visible=!1},crossTraceDefaults:function(t,e){var r,a;function o(t){return n.coerce(a._input,a,l,t)}if("group"===e.waterfallmode)for(var s=0;s<t.length;s++)r=(a=t[s])._input,i(r,a,e,o)}}},58593:function(t){"use strict";t.exports=function(t,e){return t.x="xVal"in e?e.xVal:e.x,t.y="yVal"in e?e.yVal:e.y,"initial"in e&&(t.initial=e.initial),"delta"in e&&(t.delta=e.delta),"final"in e&&(t.final=e.final),e.xa&&(t.xaxis=e.xa),e.ya&&(t.yaxis=e.ya),t}},61326:function(t,e,r){"use strict";var n=r(89298).hoverLabelText,i=r(7901).opacity,a=r(95423).hoverOnBars,o=r(22372),s=o.INCREASING.SYMBOL,l=o.DECREASING.SYMBOL;t.exports=function(t,e,r,o,u){var c=a(t,e,r,o,u);if(c){var f=c.cd,h=f[0].trace,p="h"===h.orientation,d=p?"x":"y",v=p?t.xa:t.ya,g=f[c.index],y=g.isSum?g.b+g.s:g.rawS;if(!g.isSum){c.initial=g.b+g.s-y,c.delta=y,c.final=c.initial+c.delta;var m=k(Math.abs(c.delta));c.deltaLabel=y<0?"("+m+")":m,c.finalLabel=k(c.final),c.initialLabel=k(c.initial)}var x=g.hi||h.hoverinfo,b=[];if(x&&"none"!==x&&"skip"!==x){var _="all"===x,w=x.split("+"),T=function(t){return _||-1!==w.indexOf(t)};g.isSum||(!T("final")||T(p?"x":"y")||b.push(c.finalLabel),T("delta")&&(y<0?b.push(c.deltaLabel+" "+l):b.push(c.deltaLabel+" "+s)),T("initial")&&b.push("Initial: "+c.initialLabel))}return b.length&&(c.extraText=b.join("<br>")),c.color=function(t,e){var r=t[e.dir].marker,n=r.color,a=r.line.color,o=r.line.width;return i(n)?n:i(a)&&o?a:void 0}(h,g),[c]}function k(t){return n(v,t,h[d+"hoverformat"])}}},19990:function(t,e,r){"use strict";t.exports={attributes:r(43037),layoutAttributes:r(13494),supplyDefaults:r(83266).supplyDefaults,crossTraceDefaults:r(83266).crossTraceDefaults,supplyLayoutDefaults:r(5176),calc:r(52752),crossTraceCalc:r(70766),plot:r(30436),style:r(55750).style,hoverPoints:r(61326),eventData:r(58593),selectPoints:r(81974),moduleType:"trace",name:"waterfall",basePlotModule:r(93612),categories:["bar-like","cartesian","svg","oriented","showLegend","zoomScale"],meta:{}}},13494:function(t){"use strict";t.exports={waterfallmode:{valType:"enumerated",values:["group","overlay"],dflt:"group",editType:"calc"},waterfallgap:{valType:"number",min:0,max:1,editType:"calc"},waterfallgroupgap:{valType:"number",min:0,max:1,dflt:0,editType:"calc"}}},5176:function(t,e,r){"use strict";var n=r(71828),i=r(13494);t.exports=function(t,e,r){var a=!1;function o(r,a){return n.coerce(t,e,i,r,a)}for(var s=0;s<r.length;s++){var l=r[s];if(l.visible&&"waterfall"===l.type){a=!0;break}}a&&(o("waterfallmode"),o("waterfallgap",.2),o("waterfallgroupgap"))}},30436:function(t,e,r){"use strict";var n=r(39898),i=r(71828),a=r(91424),o=r(50606).BADNUM,s=r(17295),l=r(72597).clearMinTextSize;t.exports=function(t,e,r,u){var c=t._fullLayout;l("waterfall",c),s.plot(t,e,r,u,{mode:c.waterfallmode,norm:c.waterfallmode,gap:c.waterfallgap,groupgap:c.waterfallgroupgap}),function(t,e,r,s){var l=e.xaxis,u=e.yaxis;i.makeTraceGroups(s,r,"trace bars").each((function(r){var s=n.select(this),c=r[0].trace,f=i.ensureSingle(s,"g","lines");if(c.connector&&c.connector.visible){var h="h"===c.orientation,p=c.connector.mode,d=f.selectAll("g.line").data(i.identity);d.enter().append("g").classed("line",!0),d.exit().remove();var v=d.size();d.each((function(r,s){if(s===v-1||r.cNext){var c=function(t,e,r,n){var i=[],a=[],o=n?e:r,s=n?r:e;return i[0]=o.c2p(t.s0,!0),a[0]=s.c2p(t.p0,!0),i[1]=o.c2p(t.s1,!0),a[1]=s.c2p(t.p1,!0),i[2]=o.c2p(t.nextS0,!0),a[2]=s.c2p(t.nextP0,!0),n?[i,a]:[a,i]}(r,l,u,h),f=c[0],d=c[1],g="";f[0]!==o&&d[0]!==o&&f[1]!==o&&d[1]!==o&&("spanning"===p&&!r.isSum&&s>0&&(g+=h?"M"+f[0]+","+d[1]+"V"+d[0]:"M"+f[1]+","+d[0]+"H"+f[0]),"between"!==p&&(r.isSum||s<v-1)&&(g+=h?"M"+f[1]+","+d[0]+"V"+d[1]:"M"+f[0]+","+d[1]+"H"+f[1]),f[2]!==o&&d[2]!==o&&(g+=h?"M"+f[1]+","+d[1]+"V"+d[2]:"M"+f[1]+","+d[1]+"H"+f[2])),""===g&&(g="M0,0Z"),i.ensureSingle(n.select(this),"path").attr("d",g).call(a.setClipUrl,e.layerClipId,t)}}))}else f.remove()}))}(t,e,r,u)}},55750:function(t,e,r){"use strict";var n=r(39898),i=r(91424),a=r(7901),o=r(37822).DESELECTDIM,s=r(16688),l=r(72597).resizeText,u=s.styleTextPoints;t.exports={style:function(t,e,r){var s=r||n.select(t).selectAll("g.waterfalllayer").selectAll("g.trace");l(t,s,"waterfall"),s.style("opacity",(function(t){return t[0].trace.opacity})),s.each((function(e){var r=n.select(this),s=e[0].trace;r.selectAll(".point > path").each((function(t){if(!t.isBlank){var e=s[t.dir].marker;n.select(this).call(a.fill,e.color).call(a.stroke,e.line.color).call(i.dashLine,e.line.dash,e.line.width).style("opacity",s.selectedpoints&&!t.selected?o:1)}})),u(r,s,t),r.selectAll(".lines").each((function(){var t=s.connector.line;i.lineGroupStyle(n.select(this).selectAll("path"),t.width,t.color,t.dash)}))}))}}},82887:function(t,e,r){"use strict";var n=r(89298),i=r(71828),a=r(86281),o=r(79344).p,s=r(50606).BADNUM;e.moduleType="transform",e.name="aggregate";var l=e.attributes={enabled:{valType:"boolean",dflt:!0,editType:"calc"},groups:{valType:"string",strict:!0,noBlank:!0,arrayOk:!0,dflt:"x",editType:"calc"},aggregations:{_isLinkedToArray:"aggregation",target:{valType:"string",editType:"calc"},func:{valType:"enumerated",values:["count","sum","avg","median","mode","rms","stddev","min","max","first","last","change","range"],dflt:"first",editType:"calc"},funcmode:{valType:"enumerated",values:["sample","population"],dflt:"sample",editType:"calc"},enabled:{valType:"boolean",dflt:!0,editType:"calc"},editType:"calc"},editType:"calc"},u=l.aggregations;function c(t,e,r,a){if(a.enabled){for(var o=a.target,l=i.nestedProperty(e,o),u=l.get(),c=function(t,e){var r=t.func,n=e.d2c,a=e.c2d;switch(r){case"count":return f;case"first":return h;case"last":return p;case"sum":return function(t,e){for(var r=0,i=0;i<e.length;i++){var o=n(t[e[i]]);o!==s&&(r+=o)}return a(r)};case"avg":return function(t,e){for(var r=0,i=0,o=0;o<e.length;o++){var l=n(t[e[o]]);l!==s&&(r+=l,i++)}return i?a(r/i):s};case"min":return function(t,e){for(var r=1/0,i=0;i<e.length;i++){var o=n(t[e[i]]);o!==s&&(r=Math.min(r,o))}return r===1/0?s:a(r)};case"max":return function(t,e){for(var r=-1/0,i=0;i<e.length;i++){var o=n(t[e[i]]);o!==s&&(r=Math.max(r,o))}return r===-1/0?s:a(r)};case"range":return function(t,e){for(var r=1/0,i=-1/0,o=0;o<e.length;o++){var l=n(t[e[o]]);l!==s&&(r=Math.min(r,l),i=Math.max(i,l))}return i===-1/0||r===1/0?s:a(i-r)};case"change":return function(t,e){var r=n(t[e[0]]),i=n(t[e[e.length-1]]);return r===s||i===s?s:a(i-r)};case"median":return function(t,e){for(var r=[],o=0;o<e.length;o++){var l=n(t[e[o]]);l!==s&&r.push(l)}if(!r.length)return s;r.sort(i.sorterAsc);var u=(r.length-1)/2;return a((r[Math.floor(u)]+r[Math.ceil(u)])/2)};case"mode":return function(t,e){for(var r={},i=0,o=s,l=0;l<e.length;l++){var u=n(t[e[l]]);if(u!==s){var c=r[u]=(r[u]||0)+1;c>i&&(i=c,o=u)}}return i?a(o):s};case"rms":return function(t,e){for(var r=0,i=0,o=0;o<e.length;o++){var l=n(t[e[o]]);l!==s&&(r+=l*l,i++)}return i?a(Math.sqrt(r/i)):s};case"stddev":return function(e,r){var i,a=0,o=0,l=1,u=s;for(i=0;i<r.length&&u===s;i++)u=n(e[r[i]]);if(u===s)return s;for(;i<r.length;i++){var c=n(e[r[i]]);if(c!==s){var f=c-u;a+=f,o+=f*f,l++}}var h="sample"===t.funcmode?l-1:l;return h?Math.sqrt((o-a*a/l)/h):0}}}(a,n.getDataConversions(t,e,o,u)),d=new Array(r.length),v=0;v<r.length;v++)d[v]=c(u,r[v]);l.set(d),"count"===a.func&&i.pushUnique(e._arrayAttrs,o)}}function f(t,e){return e.length}function h(t,e){return t[e[0]]}function p(t,e){return t[e[e.length-1]]}e.supplyDefaults=function(t,e){var r,n={};function o(e,r){return i.coerce(t,n,l,e,r)}if(!o("enabled"))return n;var s=a.findArrayAttributes(e),c={};for(r=0;r<s.length;r++)c[s[r]]=1;var f=o("groups");if(!Array.isArray(f)){if(!c[f])return n.enabled=!1,n;c[f]=0}var h,p=t.aggregations||[],d=n.aggregations=new Array(p.length);function v(t,e){return i.coerce(p[r],h,u,t,e)}for(r=0;r<p.length;r++){h={_index:r};var g=v("target"),y=v("func");v("enabled")&&g&&(c[g]||"count"===y&&void 0===c[g])?("stddev"===y&&v("funcmode"),c[g]=0,d[r]=h):d[r]={enabled:!1,_index:r}}for(r=0;r<s.length;r++)c[s[r]]&&d.push({target:s[r],func:u.func.dflt,enabled:!0,_index:-1});return n},e.calcTransform=function(t,e,r){if(r.enabled){var n=r.groups,a=i.getTargetArray(e,{target:n});if(a){var s,l,u,f,h={},p={},d=[],v=o(e.transforms,r),g=a.length;for(e._length&&(g=Math.min(g,e._length)),s=0;s<g;s++)void 0===(u=h[l=a[s]])?(h[l]=d.length,f=[s],d.push(f),p[h[l]]=v(s)):(d[u].push(s),p[h[l]]=(p[h[l]]||[]).concat(v(s)));r._indexToPoints=p;var y=r.aggregations;for(s=0;s<y.length;s++)c(t,e,d,y[s]);"string"==typeof n&&c(t,e,d,{target:n,func:"first",enabled:!0}),e._length=d.length}}}},14382:function(t,e,r){"use strict";var n=r(71828),i=r(73972),a=r(89298),o=r(79344).p,s=r(74808),l=s.COMPARISON_OPS,u=s.INTERVAL_OPS,c=s.SET_OPS;e.moduleType="transform",e.name="filter",e.attributes={enabled:{valType:"boolean",dflt:!0,editType:"calc"},target:{valType:"string",strict:!0,noBlank:!0,arrayOk:!0,dflt:"x",editType:"calc"},operation:{valType:"enumerated",values:[].concat(l).concat(u).concat(c),dflt:"=",editType:"calc"},value:{valType:"any",dflt:0,editType:"calc"},preservegaps:{valType:"boolean",dflt:!1,editType:"calc"},editType:"calc"},e.supplyDefaults=function(t){var r={};function a(i,a){return n.coerce(t,r,e.attributes,i,a)}if(a("enabled")){var o=a("target");if(n.isArrayOrTypedArray(o)&&0===o.length)return r.enabled=!1,r;a("preservegaps"),a("operation"),a("value");var s=i.getComponentMethod("calendars","handleDefaults");s(t,r,"valuecalendar",null),s(t,r,"targetcalendar",null)}return r},e.calcTransform=function(t,e,r){if(r.enabled){var i=n.getTargetArray(e,r);if(i){var s=r.target,f=i.length;e._length&&(f=Math.min(f,e._length));var h=r.targetcalendar,p=e._arrayAttrs,d=r.preservegaps;if("string"==typeof s){var v=n.nestedProperty(e,s+"calendar").get();v&&(h=v)}var g,y,m=function(t,e,r){var n=t.operation,i=t.value,a=Array.isArray(i);function o(t){return-1!==t.indexOf(n)}var s,f=function(r){return e(r,0,t.valuecalendar)},h=function(t){return e(t,0,r)};switch(o(l)?s=f(a?i[0]:i):o(u)?s=a?[f(i[0]),f(i[1])]:[f(i),f(i)]:o(c)&&(s=a?i.map(f):[f(i)]),n){case"=":return function(t){return h(t)===s};case"!=":return function(t){return h(t)!==s};case"<":return function(t){return h(t)<s};case"<=":return function(t){return h(t)<=s};case">":return function(t){return h(t)>s};case">=":return function(t){return h(t)>=s};case"[]":return function(t){var e=h(t);return e>=s[0]&&e<=s[1]};case"()":return function(t){var e=h(t);return e>s[0]&&e<s[1]};case"[)":return function(t){var e=h(t);return e>=s[0]&&e<s[1]};case"(]":return function(t){var e=h(t);return e>s[0]&&e<=s[1]};case"][":return function(t){var e=h(t);return e<=s[0]||e>=s[1]};case")(":return function(t){var e=h(t);return e<s[0]||e>s[1]};case"](":return function(t){var e=h(t);return e<=s[0]||e>s[1]};case")[":return function(t){var e=h(t);return e<s[0]||e>=s[1]};case"{}":return function(t){return-1!==s.indexOf(h(t))};case"}{":return function(t){return-1===s.indexOf(h(t))}}}(r,a.getDataToCoordFunc(t,e,s,i),h),x={},b={},_=0;d?(g=function(t){x[t.astr]=n.extendDeep([],t.get()),t.set(new Array(f))},y=function(t,e){var r=x[t.astr][e];t.get()[e]=r}):(g=function(t){x[t.astr]=n.extendDeep([],t.get()),t.set([])},y=function(t,e){var r=x[t.astr][e];t.get().push(r)}),k(g);for(var w=o(e.transforms,r),T=0;T<f;T++)m(i[T])?(k(y,T),b[_++]=w(T)):d&&_++;r._indexToPoints=b,e._length=_}}function k(t,r){for(var i=0;i<p.length;i++)t(n.nestedProperty(e,p[i]),r)}}},43102:function(t,e,r){"use strict";var n=r(71828),i=r(86281),a=r(74875),o=r(79344).p;function s(t,e){var r,s,l,u,c,f,h,p,d,v,g=e.transform,y=e.transformIndex,m=t.transforms[y].groups,x=o(t.transforms,g);if(!n.isArrayOrTypedArray(m)||0===m.length)return[t];var b=n.filterUnique(m),_=new Array(b.length),w=m.length,T=i.findArrayAttributes(t),k=g.styles||[],A={};for(r=0;r<k.length;r++)A[k[r].target]=k[r].value;g.styles&&(v=n.keyedContainer(g,"styles","target","value.name"));var M={},S={};for(r=0;r<b.length;r++){M[f=b[r]]=r,S[f]=0,(h=_[r]=n.extendDeepNoArrays({},t))._group=f,h.transforms[y]._indexToPoints={};var E=null;for(v&&(E=v.get(f)),h.name=E||""===E?E:n.templateString(g.nameformat,{trace:t.name,group:f}),p=h.transforms,h.transforms=[],s=0;s<p.length;s++)h.transforms[s]=n.extendDeepNoArrays({},p[s]);for(s=0;s<T.length;s++)n.nestedProperty(h,T[s]).set([])}for(l=0;l<T.length;l++){for(u=T[l],s=0,d=[];s<b.length;s++)d[s]=n.nestedProperty(_[s],u).get();for(c=n.nestedProperty(t,u).get(),s=0;s<w;s++)d[M[m[s]]].push(c[s])}for(s=0;s<w;s++)(h=_[M[m[s]]]).transforms[y]._indexToPoints[S[m[s]]]=x(s),S[m[s]]++;for(r=0;r<b.length;r++)f=b[r],h=_[r],a.clearExpandedTraceDefaultColors(h),h=n.extendDeepNoArrays(h,A[f]||{});return _}e.moduleType="transform",e.name="groupby",e.attributes={enabled:{valType:"boolean",dflt:!0,editType:"calc"},groups:{valType:"data_array",dflt:[],editType:"calc"},nameformat:{valType:"string",editType:"calc"},styles:{_isLinkedToArray:"style",target:{valType:"string",editType:"calc"},value:{valType:"any",dflt:{},editType:"calc",_compareAsJSON:!0},editType:"calc"},editType:"calc"},e.supplyDefaults=function(t,r,i){var a,o={};function s(r,i){return n.coerce(t,o,e.attributes,r,i)}if(!s("enabled"))return o;s("groups"),s("nameformat",i._dataLength>1?"%{group} (%{trace})":"%{group}");var l=t.styles,u=o.styles=[];if(l)for(a=0;a<l.length;a++){var c=u[a]={};n.coerce(l[a],u[a],e.attributes.styles,"target");var f=n.coerce(l[a],u[a],e.attributes.styles,"value");n.isPlainObject(f)?c.value=n.extendDeep({},f):f&&delete c.value}return o},e.transform=function(t,e){var r,n,i,a=[];for(n=0;n<t.length;n++)for(r=s(t[n],e),i=0;i<r.length;i++)a.push(r[i]);return a}},79344:function(t,e){"use strict";e.p=function(t,e){for(var r,n,i=0;i<t.length&&(r=t[i])!==e;i++)r._indexToPoints&&!1!==r.enabled&&(n=r._indexToPoints);var a=n?function(t){return n[t]}:function(t){return[t]};return a}},32275:function(t,e,r){"use strict";var n=r(71828),i=r(89298),a=r(79344).p,o=r(50606).BADNUM;e.moduleType="transform",e.name="sort",e.attributes={enabled:{valType:"boolean",dflt:!0,editType:"calc"},target:{valType:"string",strict:!0,noBlank:!0,arrayOk:!0,dflt:"x",editType:"calc"},order:{valType:"enumerated",values:["ascending","descending"],dflt:"ascending",editType:"calc"},editType:"calc"},e.supplyDefaults=function(t){var r={};function i(i,a){return n.coerce(t,r,e.attributes,i,a)}return i("enabled")&&(i("target"),i("order")),r},e.calcTransform=function(t,e,r){if(r.enabled){var s=n.getTargetArray(e,r);if(s){var l=r.target,u=s.length;e._length&&(u=Math.min(u,e._length));var c,f,h=e._arrayAttrs,p=function(t,e,r,n){var i,a=new Array(n),s=new Array(n);for(i=0;i<n;i++)a[i]={v:e[i],i:i};for(a.sort(function(t,e){switch(t.order){case"ascending":return function(t,r){var n=e(t.v),i=e(r.v);return n===o?1:i===o?-1:n-i};case"descending":return function(t,r){var n=e(t.v),i=e(r.v);return n===o?1:i===o?-1:i-n}}}(t,r)),i=0;i<n;i++)s[i]=a[i].i;return s}(r,s,i.getDataToCoordFunc(t,e,l,s),u),d=a(e.transforms,r),v={};for(c=0;c<h.length;c++){var g=n.nestedProperty(e,h[c]),y=g.get(),m=new Array(u);for(f=0;f<u;f++)m[f]=y[p[f]];g.set(m)}for(f=0;f<u;f++)v[f]=d(p[f]);r._indexToPoints=v,e._length=u}}}},11506:function(t,e){"use strict";e.version="2.18.0"},9330:function(t,e,r){var n,i=r(90386);self,n=function(){return function(){var t={7386:function(t,e,r){t.exports={alpha_shape:r(2350),convex_hull:r(5537),delaunay_triangulate:r(4419),gl_cone3d:r(1140),gl_error3d:r(3110),gl_heatmap2d:r(6386),gl_line3d:r(6086),gl_mesh3d:r(8116),gl_plot2d:r(2117),gl_plot3d:r(1059),gl_pointcloud2d:r(8271),gl_scatter3d:r(2182),gl_select_box:r(6623),gl_spikes2d:r(3050),gl_streamtube3d:r(7307),gl_surface3d:r(3754),ndarray:r(5050),ndarray_linear_interpolate:r(3581)}},2146:function(t,e,r){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function i(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function a(t,e){return a=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},a(t,e)}function o(t,e){if(e&&("object"===u(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return s(t)}function s(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function l(t){return l=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},l(t)}function u(t){return u="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},u(t)}var c=r(3910),f=r(3187),h="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;e.lW=v,e.h2=50;var p=2147483647;function d(t){if(t>p)throw new RangeError('The value "'+t+'" is invalid for option "size"');var e=new Uint8Array(t);return Object.setPrototypeOf(e,v.prototype),e}function v(t,e,r){if("number"==typeof t){if("string"==typeof e)throw new TypeError('The "string" argument must be of type string. Received type number');return m(t)}return g(t,e,r)}function g(t,e,r){if("string"==typeof t)return function(t,e){if("string"==typeof e&&""!==e||(e="utf8"),!v.isEncoding(e))throw new TypeError("Unknown encoding: "+e);var r=0|w(t,e),n=d(r),i=n.write(t,e);return i!==r&&(n=n.slice(0,i)),n}(t,e);if(ArrayBuffer.isView(t))return function(t){if(rt(t,Uint8Array)){var e=new Uint8Array(t);return b(e.buffer,e.byteOffset,e.byteLength)}return x(t)}(t);if(null==t)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+u(t));if(rt(t,ArrayBuffer)||t&&rt(t.buffer,ArrayBuffer))return b(t,e,r);if("undefined"!=typeof SharedArrayBuffer&&(rt(t,SharedArrayBuffer)||t&&rt(t.buffer,SharedArrayBuffer)))return b(t,e,r);if("number"==typeof t)throw new TypeError('The "value" argument must not be of type number. Received type number');var n=t.valueOf&&t.valueOf();if(null!=n&&n!==t)return v.from(n,e,r);var i=function(t){if(v.isBuffer(t)){var e=0|_(t.length),r=d(e);return 0===r.length||t.copy(r,0,0,e),r}return void 0!==t.length?"number"!=typeof t.length||nt(t.length)?d(0):x(t):"Buffer"===t.type&&Array.isArray(t.data)?x(t.data):void 0}(t);if(i)return i;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof t[Symbol.toPrimitive])return v.from(t[Symbol.toPrimitive]("string"),e,r);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+u(t))}function y(t){if("number"!=typeof t)throw new TypeError('"size" argument must be of type number');if(t<0)throw new RangeError('The value "'+t+'" is invalid for option "size"')}function m(t){return y(t),d(t<0?0:0|_(t))}function x(t){for(var e=t.length<0?0:0|_(t.length),r=d(e),n=0;n<e;n+=1)r[n]=255&t[n];return r}function b(t,e,r){if(e<0||t.byteLength<e)throw new RangeError('"offset" is outside of buffer bounds');if(t.byteLength<e+(r||0))throw new RangeError('"length" is outside of buffer bounds');var n;return n=void 0===e&&void 0===r?new Uint8Array(t):void 0===r?new Uint8Array(t,e):new Uint8Array(t,e,r),Object.setPrototypeOf(n,v.prototype),n}function _(t){if(t>=p)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+p.toString(16)+" bytes");return 0|t}function w(t,e){if(v.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||rt(t,ArrayBuffer))return t.byteLength;if("string"!=typeof t)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+u(t));var r=t.length,n=arguments.length>2&&!0===arguments[2];if(!n&&0===r)return 0;for(var i=!1;;)switch(e){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return Q(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return tt(t).length;default:if(i)return n?-1:Q(t).length;e=(""+e).toLowerCase(),i=!0}}function T(t,e,r){var n=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if((r>>>=0)<=(e>>>=0))return"";for(t||(t="utf8");;)switch(t){case"hex":return F(this,e,r);case"utf8":case"utf-8":return I(this,e,r);case"ascii":return z(this,e,r);case"latin1":case"binary":return R(this,e,r);case"base64":return O(this,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return B(this,e,r);default:if(n)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),n=!0}}function k(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function A(t,e,r,n,i){if(0===t.length)return-1;if("string"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),nt(r=+r)&&(r=i?0:t.length-1),r<0&&(r=t.length+r),r>=t.length){if(i)return-1;r=t.length-1}else if(r<0){if(!i)return-1;r=0}if("string"==typeof e&&(e=v.from(e,n)),v.isBuffer(e))return 0===e.length?-1:M(t,e,r,n,i);if("number"==typeof e)return e&=255,"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(t,e,r):Uint8Array.prototype.lastIndexOf.call(t,e,r):M(t,[e],r,n,i);throw new TypeError("val must be string, number or Buffer")}function M(t,e,r,n,i){var a,o=1,s=t.length,l=e.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(t.length<2||e.length<2)return-1;o=2,s/=2,l/=2,r/=2}function u(t,e){return 1===o?t[e]:t.readUInt16BE(e*o)}if(i){var c=-1;for(a=r;a<s;a++)if(u(t,a)===u(e,-1===c?0:a-c)){if(-1===c&&(c=a),a-c+1===l)return c*o}else-1!==c&&(a-=a-c),c=-1}else for(r+l>s&&(r=s-l),a=r;a>=0;a--){for(var f=!0,h=0;h<l;h++)if(u(t,a+h)!==u(e,h)){f=!1;break}if(f)return a}return-1}function S(t,e,r,n){r=Number(r)||0;var i=t.length-r;n?(n=Number(n))>i&&(n=i):n=i;var a,o=e.length;for(n>o/2&&(n=o/2),a=0;a<n;++a){var s=parseInt(e.substr(2*a,2),16);if(nt(s))return a;t[r+a]=s}return a}function E(t,e,r,n){return et(Q(e,t.length-r),t,r,n)}function L(t,e,r,n){return et(function(t){for(var e=[],r=0;r<t.length;++r)e.push(255&t.charCodeAt(r));return e}(e),t,r,n)}function C(t,e,r,n){return et(tt(e),t,r,n)}function P(t,e,r,n){return et(function(t,e){for(var r,n,i,a=[],o=0;o<t.length&&!((e-=2)<0);++o)n=(r=t.charCodeAt(o))>>8,i=r%256,a.push(i),a.push(n);return a}(e,t.length-r),t,r,n)}function O(t,e,r){return 0===e&&r===t.length?c.fromByteArray(t):c.fromByteArray(t.slice(e,r))}function I(t,e,r){r=Math.min(t.length,r);for(var n=[],i=e;i<r;){var a=t[i],o=null,s=a>239?4:a>223?3:a>191?2:1;if(i+s<=r){var l=void 0,u=void 0,c=void 0,f=void 0;switch(s){case 1:a<128&&(o=a);break;case 2:128==(192&(l=t[i+1]))&&(f=(31&a)<<6|63&l)>127&&(o=f);break;case 3:l=t[i+1],u=t[i+2],128==(192&l)&&128==(192&u)&&(f=(15&a)<<12|(63&l)<<6|63&u)>2047&&(f<55296||f>57343)&&(o=f);break;case 4:l=t[i+1],u=t[i+2],c=t[i+3],128==(192&l)&&128==(192&u)&&128==(192&c)&&(f=(15&a)<<18|(63&l)<<12|(63&u)<<6|63&c)>65535&&f<1114112&&(o=f)}}null===o?(o=65533,s=1):o>65535&&(o-=65536,n.push(o>>>10&1023|55296),o=56320|1023&o),n.push(o),i+=s}return function(t){var e=t.length;if(e<=D)return String.fromCharCode.apply(String,t);for(var r="",n=0;n<e;)r+=String.fromCharCode.apply(String,t.slice(n,n+=D));return r}(n)}v.TYPED_ARRAY_SUPPORT=function(){try{var t=new Uint8Array(1),e={foo:function(){return 42}};return Object.setPrototypeOf(e,Uint8Array.prototype),Object.setPrototypeOf(t,e),42===t.foo()}catch(t){return!1}}(),v.TYPED_ARRAY_SUPPORT||"undefined"==typeof console||"function"!=typeof console.error||console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support."),Object.defineProperty(v.prototype,"parent",{enumerable:!0,get:function(){if(v.isBuffer(this))return this.buffer}}),Object.defineProperty(v.prototype,"offset",{enumerable:!0,get:function(){if(v.isBuffer(this))return this.byteOffset}}),v.poolSize=8192,v.from=function(t,e,r){return g(t,e,r)},Object.setPrototypeOf(v.prototype,Uint8Array.prototype),Object.setPrototypeOf(v,Uint8Array),v.alloc=function(t,e,r){return function(t,e,r){return y(t),t<=0?d(t):void 0!==e?"string"==typeof r?d(t).fill(e,r):d(t).fill(e):d(t)}(t,e,r)},v.allocUnsafe=function(t){return m(t)},v.allocUnsafeSlow=function(t){return m(t)},v.isBuffer=function(t){return null!=t&&!0===t._isBuffer&&t!==v.prototype},v.compare=function(t,e){if(rt(t,Uint8Array)&&(t=v.from(t,t.offset,t.byteLength)),rt(e,Uint8Array)&&(e=v.from(e,e.offset,e.byteLength)),!v.isBuffer(t)||!v.isBuffer(e))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(t===e)return 0;for(var r=t.length,n=e.length,i=0,a=Math.min(r,n);i<a;++i)if(t[i]!==e[i]){r=t[i],n=e[i];break}return r<n?-1:n<r?1:0},v.isEncoding=function(t){switch(String(t).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},v.concat=function(t,e){if(!Array.isArray(t))throw new TypeError('"list" argument must be an Array of Buffers');if(0===t.length)return v.alloc(0);var r;if(void 0===e)for(e=0,r=0;r<t.length;++r)e+=t[r].length;var n=v.allocUnsafe(e),i=0;for(r=0;r<t.length;++r){var a=t[r];if(rt(a,Uint8Array))i+a.length>n.length?(v.isBuffer(a)||(a=v.from(a)),a.copy(n,i)):Uint8Array.prototype.set.call(n,a,i);else{if(!v.isBuffer(a))throw new TypeError('"list" argument must be an Array of Buffers');a.copy(n,i)}i+=a.length}return n},v.byteLength=w,v.prototype._isBuffer=!0,v.prototype.swap16=function(){var t=this.length;if(t%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var e=0;e<t;e+=2)k(this,e,e+1);return this},v.prototype.swap32=function(){var t=this.length;if(t%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var e=0;e<t;e+=4)k(this,e,e+3),k(this,e+1,e+2);return this},v.prototype.swap64=function(){var t=this.length;if(t%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var e=0;e<t;e+=8)k(this,e,e+7),k(this,e+1,e+6),k(this,e+2,e+5),k(this,e+3,e+4);return this},v.prototype.toString=function(){var t=this.length;return 0===t?"":0===arguments.length?I(this,0,t):T.apply(this,arguments)},v.prototype.toLocaleString=v.prototype.toString,v.prototype.equals=function(t){if(!v.isBuffer(t))throw new TypeError("Argument must be a Buffer");return this===t||0===v.compare(this,t)},v.prototype.inspect=function(){var t="",r=e.h2;return t=this.toString("hex",0,r).replace(/(.{2})/g,"$1 ").trim(),this.length>r&&(t+=" ... "),"<Buffer "+t+">"},h&&(v.prototype[h]=v.prototype.inspect),v.prototype.compare=function(t,e,r,n,i){if(rt(t,Uint8Array)&&(t=v.from(t,t.offset,t.byteLength)),!v.isBuffer(t))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+u(t));if(void 0===e&&(e=0),void 0===r&&(r=t?t.length:0),void 0===n&&(n=0),void 0===i&&(i=this.length),e<0||r>t.length||n<0||i>this.length)throw new RangeError("out of range index");if(n>=i&&e>=r)return 0;if(n>=i)return-1;if(e>=r)return 1;if(this===t)return 0;for(var a=(i>>>=0)-(n>>>=0),o=(r>>>=0)-(e>>>=0),s=Math.min(a,o),l=this.slice(n,i),c=t.slice(e,r),f=0;f<s;++f)if(l[f]!==c[f]){a=l[f],o=c[f];break}return a<o?-1:o<a?1:0},v.prototype.includes=function(t,e,r){return-1!==this.indexOf(t,e,r)},v.prototype.indexOf=function(t,e,r){return A(this,t,e,r,!0)},v.prototype.lastIndexOf=function(t,e,r){return A(this,t,e,r,!1)},v.prototype.write=function(t,e,r,n){if(void 0===e)n="utf8",r=this.length,e=0;else if(void 0===r&&"string"==typeof e)n=e,r=this.length,e=0;else{if(!isFinite(e))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");e>>>=0,isFinite(r)?(r>>>=0,void 0===n&&(n="utf8")):(n=r,r=void 0)}var i=this.length-e;if((void 0===r||r>i)&&(r=i),t.length>0&&(r<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var a=!1;;)switch(n){case"hex":return S(this,t,e,r);case"utf8":case"utf-8":return E(this,t,e,r);case"ascii":case"latin1":case"binary":return L(this,t,e,r);case"base64":return C(this,t,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return P(this,t,e,r);default:if(a)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),a=!0}},v.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var D=4096;function z(t,e,r){var n="";r=Math.min(t.length,r);for(var i=e;i<r;++i)n+=String.fromCharCode(127&t[i]);return n}function R(t,e,r){var n="";r=Math.min(t.length,r);for(var i=e;i<r;++i)n+=String.fromCharCode(t[i]);return n}function F(t,e,r){var n=t.length;(!e||e<0)&&(e=0),(!r||r<0||r>n)&&(r=n);for(var i="",a=e;a<r;++a)i+=it[t[a]];return i}function B(t,e,r){for(var n=t.slice(e,r),i="",a=0;a<n.length-1;a+=2)i+=String.fromCharCode(n[a]+256*n[a+1]);return i}function N(t,e,r){if(t%1!=0||t<0)throw new RangeError("offset is not uint");if(t+e>r)throw new RangeError("Trying to access beyond buffer length")}function j(t,e,r,n,i,a){if(!v.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>i||e<a)throw new RangeError('"value" argument is out of bounds');if(r+n>t.length)throw new RangeError("Index out of range")}function U(t,e,r,n,i){X(e,n,i,t,r,7);var a=Number(e&BigInt(4294967295));t[r++]=a,a>>=8,t[r++]=a,a>>=8,t[r++]=a,a>>=8,t[r++]=a;var o=Number(e>>BigInt(32)&BigInt(4294967295));return t[r++]=o,o>>=8,t[r++]=o,o>>=8,t[r++]=o,o>>=8,t[r++]=o,r}function V(t,e,r,n,i){X(e,n,i,t,r,7);var a=Number(e&BigInt(4294967295));t[r+7]=a,a>>=8,t[r+6]=a,a>>=8,t[r+5]=a,a>>=8,t[r+4]=a;var o=Number(e>>BigInt(32)&BigInt(4294967295));return t[r+3]=o,o>>=8,t[r+2]=o,o>>=8,t[r+1]=o,o>>=8,t[r]=o,r+8}function H(t,e,r,n,i,a){if(r+n>t.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function q(t,e,r,n,i){return e=+e,r>>>=0,i||H(t,0,r,4),f.write(t,e,r,n,23,4),r+4}function G(t,e,r,n,i){return e=+e,r>>>=0,i||H(t,0,r,8),f.write(t,e,r,n,52,8),r+8}v.prototype.slice=function(t,e){var r=this.length;(t=~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),(e=void 0===e?r:~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),e<t&&(e=t);var n=this.subarray(t,e);return Object.setPrototypeOf(n,v.prototype),n},v.prototype.readUintLE=v.prototype.readUIntLE=function(t,e,r){t>>>=0,e>>>=0,r||N(t,e,this.length);for(var n=this[t],i=1,a=0;++a<e&&(i*=256);)n+=this[t+a]*i;return n},v.prototype.readUintBE=v.prototype.readUIntBE=function(t,e,r){t>>>=0,e>>>=0,r||N(t,e,this.length);for(var n=this[t+--e],i=1;e>0&&(i*=256);)n+=this[t+--e]*i;return n},v.prototype.readUint8=v.prototype.readUInt8=function(t,e){return t>>>=0,e||N(t,1,this.length),this[t]},v.prototype.readUint16LE=v.prototype.readUInt16LE=function(t,e){return t>>>=0,e||N(t,2,this.length),this[t]|this[t+1]<<8},v.prototype.readUint16BE=v.prototype.readUInt16BE=function(t,e){return t>>>=0,e||N(t,2,this.length),this[t]<<8|this[t+1]},v.prototype.readUint32LE=v.prototype.readUInt32LE=function(t,e){return t>>>=0,e||N(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},v.prototype.readUint32BE=v.prototype.readUInt32BE=function(t,e){return t>>>=0,e||N(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},v.prototype.readBigUInt64LE=at((function(t){J(t>>>=0,"offset");var e=this[t],r=this[t+7];void 0!==e&&void 0!==r||K(t,this.length-8);var n=e+this[++t]*Math.pow(2,8)+this[++t]*Math.pow(2,16)+this[++t]*Math.pow(2,24),i=this[++t]+this[++t]*Math.pow(2,8)+this[++t]*Math.pow(2,16)+r*Math.pow(2,24);return BigInt(n)+(BigInt(i)<<BigInt(32))})),v.prototype.readBigUInt64BE=at((function(t){J(t>>>=0,"offset");var e=this[t],r=this[t+7];void 0!==e&&void 0!==r||K(t,this.length-8);var n=e*Math.pow(2,24)+this[++t]*Math.pow(2,16)+this[++t]*Math.pow(2,8)+this[++t],i=this[++t]*Math.pow(2,24)+this[++t]*Math.pow(2,16)+this[++t]*Math.pow(2,8)+r;return(BigInt(n)<<BigInt(32))+BigInt(i)})),v.prototype.readIntLE=function(t,e,r){t>>>=0,e>>>=0,r||N(t,e,this.length);for(var n=this[t],i=1,a=0;++a<e&&(i*=256);)n+=this[t+a]*i;return n>=(i*=128)&&(n-=Math.pow(2,8*e)),n},v.prototype.readIntBE=function(t,e,r){t>>>=0,e>>>=0,r||N(t,e,this.length);for(var n=e,i=1,a=this[t+--n];n>0&&(i*=256);)a+=this[t+--n]*i;return a>=(i*=128)&&(a-=Math.pow(2,8*e)),a},v.prototype.readInt8=function(t,e){return t>>>=0,e||N(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},v.prototype.readInt16LE=function(t,e){t>>>=0,e||N(t,2,this.length);var r=this[t]|this[t+1]<<8;return 32768&r?4294901760|r:r},v.prototype.readInt16BE=function(t,e){t>>>=0,e||N(t,2,this.length);var r=this[t+1]|this[t]<<8;return 32768&r?4294901760|r:r},v.prototype.readInt32LE=function(t,e){return t>>>=0,e||N(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},v.prototype.readInt32BE=function(t,e){return t>>>=0,e||N(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},v.prototype.readBigInt64LE=at((function(t){J(t>>>=0,"offset");var e=this[t],r=this[t+7];void 0!==e&&void 0!==r||K(t,this.length-8);var n=this[t+4]+this[t+5]*Math.pow(2,8)+this[t+6]*Math.pow(2,16)+(r<<24);return(BigInt(n)<<BigInt(32))+BigInt(e+this[++t]*Math.pow(2,8)+this[++t]*Math.pow(2,16)+this[++t]*Math.pow(2,24))})),v.prototype.readBigInt64BE=at((function(t){J(t>>>=0,"offset");var e=this[t],r=this[t+7];void 0!==e&&void 0!==r||K(t,this.length-8);var n=(e<<24)+this[++t]*Math.pow(2,16)+this[++t]*Math.pow(2,8)+this[++t];return(BigInt(n)<<BigInt(32))+BigInt(this[++t]*Math.pow(2,24)+this[++t]*Math.pow(2,16)+this[++t]*Math.pow(2,8)+r)})),v.prototype.readFloatLE=function(t,e){return t>>>=0,e||N(t,4,this.length),f.read(this,t,!0,23,4)},v.prototype.readFloatBE=function(t,e){return t>>>=0,e||N(t,4,this.length),f.read(this,t,!1,23,4)},v.prototype.readDoubleLE=function(t,e){return t>>>=0,e||N(t,8,this.length),f.read(this,t,!0,52,8)},v.prototype.readDoubleBE=function(t,e){return t>>>=0,e||N(t,8,this.length),f.read(this,t,!1,52,8)},v.prototype.writeUintLE=v.prototype.writeUIntLE=function(t,e,r,n){t=+t,e>>>=0,r>>>=0,n||j(this,t,e,r,Math.pow(2,8*r)-1,0);var i=1,a=0;for(this[e]=255&t;++a<r&&(i*=256);)this[e+a]=t/i&255;return e+r},v.prototype.writeUintBE=v.prototype.writeUIntBE=function(t,e,r,n){t=+t,e>>>=0,r>>>=0,n||j(this,t,e,r,Math.pow(2,8*r)-1,0);var i=r-1,a=1;for(this[e+i]=255&t;--i>=0&&(a*=256);)this[e+i]=t/a&255;return e+r},v.prototype.writeUint8=v.prototype.writeUInt8=function(t,e,r){return t=+t,e>>>=0,r||j(this,t,e,1,255,0),this[e]=255&t,e+1},v.prototype.writeUint16LE=v.prototype.writeUInt16LE=function(t,e,r){return t=+t,e>>>=0,r||j(this,t,e,2,65535,0),this[e]=255&t,this[e+1]=t>>>8,e+2},v.prototype.writeUint16BE=v.prototype.writeUInt16BE=function(t,e,r){return t=+t,e>>>=0,r||j(this,t,e,2,65535,0),this[e]=t>>>8,this[e+1]=255&t,e+2},v.prototype.writeUint32LE=v.prototype.writeUInt32LE=function(t,e,r){return t=+t,e>>>=0,r||j(this,t,e,4,4294967295,0),this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t,e+4},v.prototype.writeUint32BE=v.prototype.writeUInt32BE=function(t,e,r){return t=+t,e>>>=0,r||j(this,t,e,4,4294967295,0),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},v.prototype.writeBigUInt64LE=at((function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return U(this,t,e,BigInt(0),BigInt("0xffffffffffffffff"))})),v.prototype.writeBigUInt64BE=at((function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return V(this,t,e,BigInt(0),BigInt("0xffffffffffffffff"))})),v.prototype.writeIntLE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var i=Math.pow(2,8*r-1);j(this,t,e,r,i-1,-i)}var a=0,o=1,s=0;for(this[e]=255&t;++a<r&&(o*=256);)t<0&&0===s&&0!==this[e+a-1]&&(s=1),this[e+a]=(t/o>>0)-s&255;return e+r},v.prototype.writeIntBE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var i=Math.pow(2,8*r-1);j(this,t,e,r,i-1,-i)}var a=r-1,o=1,s=0;for(this[e+a]=255&t;--a>=0&&(o*=256);)t<0&&0===s&&0!==this[e+a+1]&&(s=1),this[e+a]=(t/o>>0)-s&255;return e+r},v.prototype.writeInt8=function(t,e,r){return t=+t,e>>>=0,r||j(this,t,e,1,127,-128),t<0&&(t=255+t+1),this[e]=255&t,e+1},v.prototype.writeInt16LE=function(t,e,r){return t=+t,e>>>=0,r||j(this,t,e,2,32767,-32768),this[e]=255&t,this[e+1]=t>>>8,e+2},v.prototype.writeInt16BE=function(t,e,r){return t=+t,e>>>=0,r||j(this,t,e,2,32767,-32768),this[e]=t>>>8,this[e+1]=255&t,e+2},v.prototype.writeInt32LE=function(t,e,r){return t=+t,e>>>=0,r||j(this,t,e,4,2147483647,-2147483648),this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24,e+4},v.prototype.writeInt32BE=function(t,e,r){return t=+t,e>>>=0,r||j(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},v.prototype.writeBigInt64LE=at((function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return U(this,t,e,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),v.prototype.writeBigInt64BE=at((function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return V(this,t,e,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),v.prototype.writeFloatLE=function(t,e,r){return q(this,t,e,!0,r)},v.prototype.writeFloatBE=function(t,e,r){return q(this,t,e,!1,r)},v.prototype.writeDoubleLE=function(t,e,r){return G(this,t,e,!0,r)},v.prototype.writeDoubleBE=function(t,e,r){return G(this,t,e,!1,r)},v.prototype.copy=function(t,e,r,n){if(!v.isBuffer(t))throw new TypeError("argument should be a Buffer");if(r||(r=0),n||0===n||(n=this.length),e>=t.length&&(e=t.length),e||(e=0),n>0&&n<r&&(n=r),n===r)return 0;if(0===t.length||0===this.length)return 0;if(e<0)throw new RangeError("targetStart out of bounds");if(r<0||r>=this.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),t.length-e<n-r&&(n=t.length-e+r);var i=n-r;return this===t&&"function"==typeof Uint8Array.prototype.copyWithin?this.copyWithin(e,r,n):Uint8Array.prototype.set.call(t,this.subarray(r,n),e),i},v.prototype.fill=function(t,e,r,n){if("string"==typeof t){if("string"==typeof e?(n=e,e=0,r=this.length):"string"==typeof r&&(n=r,r=this.length),void 0!==n&&"string"!=typeof n)throw new TypeError("encoding must be a string");if("string"==typeof n&&!v.isEncoding(n))throw new TypeError("Unknown encoding: "+n);if(1===t.length){var i=t.charCodeAt(0);("utf8"===n&&i<128||"latin1"===n)&&(t=i)}}else"number"==typeof t?t&=255:"boolean"==typeof t&&(t=Number(t));if(e<0||this.length<e||this.length<r)throw new RangeError("Out of range index");if(r<=e)return this;var a;if(e>>>=0,r=void 0===r?this.length:r>>>0,t||(t=0),"number"==typeof t)for(a=e;a<r;++a)this[a]=t;else{var o=v.isBuffer(t)?t:v.from(t,n),s=o.length;if(0===s)throw new TypeError('The value "'+t+'" is invalid for argument "value"');for(a=0;a<r-e;++a)this[a+e]=o[a%s]}return this};var Z={};function Y(t,e,r){Z[t]=function(r){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&a(t,e)}(d,r);var u,c,f,h,p=(f=d,h=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}(),function(){var t,e=l(f);if(h){var r=l(this).constructor;t=Reflect.construct(e,arguments,r)}else t=e.apply(this,arguments);return o(this,t)});function d(){var r;return n(this,d),r=p.call(this),Object.defineProperty(s(r),"message",{value:e.apply(s(r),arguments),writable:!0,configurable:!0}),r.name="".concat(r.name," [").concat(t,"]"),r.stack,delete r.name,r}return u=d,(c=[{key:"code",get:function(){return t},set:function(t){Object.defineProperty(this,"code",{configurable:!0,enumerable:!0,value:t,writable:!0})}},{key:"toString",value:function(){return"".concat(this.name," [").concat(t,"]: ").concat(this.message)}}])&&i(u.prototype,c),Object.defineProperty(u,"prototype",{writable:!1}),d}(r)}function W(t){for(var e="",r=t.length,n="-"===t[0]?1:0;r>=n+4;r-=3)e="_".concat(t.slice(r-3,r)).concat(e);return"".concat(t.slice(0,r)).concat(e)}function X(t,e,r,n,i,a){if(t>r||t<e){var o,s="bigint"==typeof e?"n":"";throw o=a>3?0===e||e===BigInt(0)?">= 0".concat(s," and < 2").concat(s," ** ").concat(8*(a+1)).concat(s):">= -(2".concat(s," ** ").concat(8*(a+1)-1).concat(s,") and < 2 ** ")+"".concat(8*(a+1)-1).concat(s):">= ".concat(e).concat(s," and <= ").concat(r).concat(s),new Z.ERR_OUT_OF_RANGE("value",o,t)}!function(t,e,r){J(e,"offset"),void 0!==t[e]&&void 0!==t[e+r]||K(e,t.length-(r+1))}(n,i,a)}function J(t,e){if("number"!=typeof t)throw new Z.ERR_INVALID_ARG_TYPE(e,"number",t)}function K(t,e,r){if(Math.floor(t)!==t)throw J(t,r),new Z.ERR_OUT_OF_RANGE(r||"offset","an integer",t);if(e<0)throw new Z.ERR_BUFFER_OUT_OF_BOUNDS;throw new Z.ERR_OUT_OF_RANGE(r||"offset",">= ".concat(r?1:0," and <= ").concat(e),t)}Y("ERR_BUFFER_OUT_OF_BOUNDS",(function(t){return t?"".concat(t," is outside of buffer bounds"):"Attempt to access memory outside buffer bounds"}),RangeError),Y("ERR_INVALID_ARG_TYPE",(function(t,e){return'The "'.concat(t,'" argument must be of type number. Received type ').concat(u(e))}),TypeError),Y("ERR_OUT_OF_RANGE",(function(t,e,r){var n='The value of "'.concat(t,'" is out of range.'),i=r;return Number.isInteger(r)&&Math.abs(r)>Math.pow(2,32)?i=W(String(r)):"bigint"==typeof r&&(i=String(r),(r>Math.pow(BigInt(2),BigInt(32))||r<-Math.pow(BigInt(2),BigInt(32)))&&(i=W(i)),i+="n"),n+" It must be ".concat(e,". Received ").concat(i)}),RangeError);var $=/[^+/0-9A-Za-z-_]/g;function Q(t,e){var r;e=e||1/0;for(var n=t.length,i=null,a=[],o=0;o<n;++o){if((r=t.charCodeAt(o))>55295&&r<57344){if(!i){if(r>56319){(e-=3)>-1&&a.push(239,191,189);continue}if(o+1===n){(e-=3)>-1&&a.push(239,191,189);continue}i=r;continue}if(r<56320){(e-=3)>-1&&a.push(239,191,189),i=r;continue}r=65536+(i-55296<<10|r-56320)}else i&&(e-=3)>-1&&a.push(239,191,189);if(i=null,r<128){if((e-=1)<0)break;a.push(r)}else if(r<2048){if((e-=2)<0)break;a.push(r>>6|192,63&r|128)}else if(r<65536){if((e-=3)<0)break;a.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;a.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return a}function tt(t){return c.toByteArray(function(t){if((t=(t=t.split("=")[0]).trim().replace($,"")).length<2)return"";for(;t.length%4!=0;)t+="=";return t}(t))}function et(t,e,r,n){var i;for(i=0;i<n&&!(i+r>=e.length||i>=t.length);++i)e[i+r]=t[i];return i}function rt(t,e){return t instanceof e||null!=t&&null!=t.constructor&&null!=t.constructor.name&&t.constructor.name===e.name}function nt(t){return t!=t}var it=function(){for(var t="0123456789abcdef",e=new Array(256),r=0;r<16;++r)for(var n=16*r,i=0;i<16;++i)e[n+i]=t[r]+t[i];return e}();function at(t){return"undefined"==typeof BigInt?ot:t}function ot(){throw new Error("BigInt not supported")}},3910:function(t,e){"use strict";e.byteLength=function(t){var e=l(t),r=e[0],n=e[1];return 3*(r+n)/4-n},e.toByteArray=function(t){var e,r,a=l(t),o=a[0],s=a[1],u=new i(function(t,e,r){return 3*(e+r)/4-r}(0,o,s)),c=0,f=s>0?o-4:o;for(r=0;r<f;r+=4)e=n[t.charCodeAt(r)]<<18|n[t.charCodeAt(r+1)]<<12|n[t.charCodeAt(r+2)]<<6|n[t.charCodeAt(r+3)],u[c++]=e>>16&255,u[c++]=e>>8&255,u[c++]=255&e;return 2===s&&(e=n[t.charCodeAt(r)]<<2|n[t.charCodeAt(r+1)]>>4,u[c++]=255&e),1===s&&(e=n[t.charCodeAt(r)]<<10|n[t.charCodeAt(r+1)]<<4|n[t.charCodeAt(r+2)]>>2,u[c++]=e>>8&255,u[c++]=255&e),u},e.fromByteArray=function(t){for(var e,n=t.length,i=n%3,a=[],o=16383,s=0,l=n-i;s<l;s+=o)a.push(u(t,s,s+o>l?l:s+o));return 1===i?(e=t[n-1],a.push(r[e>>2]+r[e<<4&63]+"==")):2===i&&(e=(t[n-2]<<8)+t[n-1],a.push(r[e>>10]+r[e>>4&63]+r[e<<2&63]+"=")),a.join("")};for(var r=[],n=[],i="undefined"!=typeof Uint8Array?Uint8Array:Array,a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",o=0,s=a.length;o<s;++o)r[o]=a[o],n[a.charCodeAt(o)]=o;function l(t){var e=t.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=t.indexOf("=");return-1===r&&(r=e),[r,r===e?0:4-r%4]}function u(t,e,n){for(var i,a,o=[],s=e;s<n;s+=3)i=(t[s]<<16&16711680)+(t[s+1]<<8&65280)+(255&t[s+2]),o.push(r[(a=i)>>18&63]+r[a>>12&63]+r[a>>6&63]+r[63&a]);return o.join("")}n["-".charCodeAt(0)]=62,n["_".charCodeAt(0)]=63},3187:function(t,e){e.read=function(t,e,r,n,i){var a,o,s=8*i-n-1,l=(1<<s)-1,u=l>>1,c=-7,f=r?i-1:0,h=r?-1:1,p=t[e+f];for(f+=h,a=p&(1<<-c)-1,p>>=-c,c+=s;c>0;a=256*a+t[e+f],f+=h,c-=8);for(o=a&(1<<-c)-1,a>>=-c,c+=n;c>0;o=256*o+t[e+f],f+=h,c-=8);if(0===a)a=1-u;else{if(a===l)return o?NaN:1/0*(p?-1:1);o+=Math.pow(2,n),a-=u}return(p?-1:1)*o*Math.pow(2,a-n)},e.write=function(t,e,r,n,i,a){var o,s,l,u=8*a-i-1,c=(1<<u)-1,f=c>>1,h=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:a-1,d=n?1:-1,v=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(s=isNaN(e)?1:0,o=c):(o=Math.floor(Math.log(e)/Math.LN2),e*(l=Math.pow(2,-o))<1&&(o--,l*=2),(e+=o+f>=1?h/l:h*Math.pow(2,1-f))*l>=2&&(o++,l/=2),o+f>=c?(s=0,o=c):o+f>=1?(s=(e*l-1)*Math.pow(2,i),o+=f):(s=e*Math.pow(2,f-1)*Math.pow(2,i),o=0));i>=8;t[r+p]=255&s,p+=d,s/=256,i-=8);for(o=o<<i|s,u+=i;u>0;t[r+p]=255&o,p+=d,o/=256,u-=8);t[r+p-d]|=128*v}},1152:function(t,e,r){"use strict";t.exports=function(t){var e=(t=t||{}).eye||[0,0,1],r=t.center||[0,0,0],s=t.up||[0,1,0],l=t.distanceLimits||[0,1/0],u=t.mode||"turntable",c=n(),f=i(),h=a();return c.setDistanceLimits(l[0],l[1]),c.lookAt(0,e,r,s),f.setDistanceLimits(l[0],l[1]),f.lookAt(0,e,r,s),h.setDistanceLimits(l[0],l[1]),h.lookAt(0,e,r,s),new o({turntable:c,orbit:f,matrix:h},u)};var n=r(3440),i=r(7774),a=r(9298);function o(t,e){this._controllerNames=Object.keys(t),this._controllerList=this._controllerNames.map((function(e){return t[e]})),this._mode=e,this._active=t[e],this._active||(this._mode="turntable",this._active=t.turntable),this.modes=this._controllerNames,this.computedMatrix=this._active.computedMatrix,this.computedEye=this._active.computedEye,this.computedUp=this._active.computedUp,this.computedCenter=this._active.computedCenter,this.computedRadius=this._active.computedRadius}var s=o.prototype;s.flush=function(t){for(var e=this._controllerList,r=0;r<e.length;++r)e[r].flush(t)},s.idle=function(t){for(var e=this._controllerList,r=0;r<e.length;++r)e[r].idle(t)},s.lookAt=function(t,e,r,n){for(var i=this._controllerList,a=0;a<i.length;++a)i[a].lookAt(t,e,r,n)},s.rotate=function(t,e,r,n){for(var i=this._controllerList,a=0;a<i.length;++a)i[a].rotate(t,e,r,n)},s.pan=function(t,e,r,n){for(var i=this._controllerList,a=0;a<i.length;++a)i[a].pan(t,e,r,n)},s.translate=function(t,e,r,n){for(var i=this._controllerList,a=0;a<i.length;++a)i[a].translate(t,e,r,n)},s.setMatrix=function(t,e){for(var r=this._controllerList,n=0;n<r.length;++n)r[n].setMatrix(t,e)},s.setDistanceLimits=function(t,e){for(var r=this._controllerList,n=0;n<r.length;++n)r[n].setDistanceLimits(t,e)},s.setDistance=function(t,e){for(var r=this._controllerList,n=0;n<r.length;++n)r[n].setDistance(t,e)},s.recalcMatrix=function(t){this._active.recalcMatrix(t)},s.getDistance=function(t){return this._active.getDistance(t)},s.getDistanceLimits=function(t){return this._active.getDistanceLimits(t)},s.lastT=function(){return this._active.lastT()},s.setMode=function(t){if(t!==this._mode){var e=this._controllerNames.indexOf(t);if(!(e<0)){var r=this._active,n=this._controllerList[e],i=Math.max(r.lastT(),n.lastT());r.recalcMatrix(i),n.setMatrix(i,r.computedMatrix),this._active=n,this._mode=t,this.computedMatrix=this._active.computedMatrix,this.computedEye=this._active.computedEye,this.computedUp=this._active.computedUp,this.computedCenter=this._active.computedCenter,this.computedRadius=this._active.computedRadius}}},s.getMode=function(){return this._mode}},8126:function(t,e,r){"use strict";var n="undefined"==typeof WeakMap?r(5346):WeakMap,i=r(5827),a=r(2944),o=new n;t.exports=function(t){var e=o.get(t),r=e&&(e._triangleBuffer.handle||e._triangleBuffer.buffer);if(!r||!t.isBuffer(r)){var n=i(t,new Float32Array([-1,-1,-1,4,4,-1]));(e=a(t,[{buffer:n,type:t.FLOAT,size:2}]))._triangleBuffer=n,o.set(t,e)}e.bind(),t.drawArrays(t.TRIANGLES,0,3),e.unbind()}},8008:function(t,e,r){var n=r(4930);t.exports=function(t,e,r){e="number"==typeof e?e:1,r=r||": ";var i=t.split(/\r?\n/),a=String(i.length+e-1).length;return i.map((function(t,i){var o=i+e,s=String(o).length;return n(o,a-s)+r+t})).join("\n")}},2153:function(t,e,r){"use strict";t.exports=function(t){var e=t.length;if(0===e)return[];if(1===e)return[0];for(var r=t[0].length,n=[t[0]],a=[0],o=1;o<e;++o)if(n.push(t[o]),i(n,r)){if(a.push(o),a.length===r+1)return a}else n.pop();return a};var n=r(417);function i(t,e){for(var r=new Array(e+1),i=0;i<t.length;++i)r[i]=t[i];for(i=0;i<=t.length;++i){for(var a=t.length;a<=e;++a){for(var o=new Array(e),s=0;s<e;++s)o[s]=Math.pow(a+1-i,s);r[a]=o}if(n.apply(void 0,r))return!0}return!1}},4653:function(t,e,r){"use strict";t.exports=function(t,e){return n(e).filter((function(r){for(var n=new Array(r.length),a=0;a<r.length;++a)n[a]=e[r[a]];return i(n)*t<1}))};var n=r(4419),i=r(1778)},2350:function(t,e,r){t.exports=function(t,e){return i(n(t,e))};var n=r(4653),i=r(8691)},7896:function(t){t.exports=function(t){return atob(t)}},957:function(t,e,r){"use strict";t.exports=function(t,e){for(var r=e.length,a=new Array(r+1),o=0;o<r;++o){for(var s=new Array(r+1),l=0;l<=r;++l)s[l]=t[l][o];a[o]=s}for(a[r]=new Array(r+1),o=0;o<=r;++o)a[r][o]=1;var u=new Array(r+1);for(o=0;o<r;++o)u[o]=e[o];u[r]=1;var c=n(a,u),f=i(c[r+1]);0===f&&(f=1);var h=new Array(r+1);for(o=0;o<=r;++o)h[o]=i(c[o])/f;return h};var n=r(6606);function i(t){for(var e=0,r=0;r<t.length;++r)e+=t[r];return e}},1539:function(t,e,r){"use strict";var n=r(8524);t.exports=function(t,e){return n(t[0].mul(e[1]).add(e[0].mul(t[1])),t[1].mul(e[1]))}},8846:function(t){"use strict";t.exports=function(t,e){return t[0].mul(e[1]).cmp(e[0].mul(t[1]))}},9189:function(t,e,r){"use strict";var n=r(8524);t.exports=function(t,e){return n(t[0].mul(e[1]),t[1].mul(e[0]))}},5125:function(t,e,r){"use strict";var n=r(234),i=r(3218),a=r(5514),o=r(2813),s=r(8524),l=r(9189);t.exports=function t(e,r){if(n(e))return r?l(e,t(r)):[e[0].clone(),e[1].clone()];var u,c,f=0;if(i(e))u=e.clone();else if("string"==typeof e)u=o(e);else{if(0===e)return[a(0),a(1)];if(e===Math.floor(e))u=a(e);else{for(;e!==Math.floor(e);)e*=Math.pow(2,256),f-=256;u=a(e)}}if(n(r))u.mul(r[1]),c=r[0].clone();else if(i(r))c=r.clone();else if("string"==typeof r)c=o(r);else if(r)if(r===Math.floor(r))c=a(r);else{for(;r!==Math.floor(r);)r*=Math.pow(2,256),f+=256;c=a(r)}else c=a(1);return f>0?u=u.ushln(f):f<0&&(c=c.ushln(-f)),s(u,c)}},234:function(t,e,r){"use strict";var n=r(3218);t.exports=function(t){return Array.isArray(t)&&2===t.length&&n(t[0])&&n(t[1])}},4275:function(t,e,r){"use strict";var n=r(1928);t.exports=function(t){return t.cmp(new n(0))}},9958:function(t,e,r){"use strict";var n=r(4275);t.exports=function(t){var e=t.length,r=t.words,i=0;if(1===e)i=r[0];else if(2===e)i=r[0]+67108864*r[1];else for(var a=0;a<e;a++){i+=r[a]*Math.pow(67108864,a)}return n(t)*i}},1112:function(t,e,r){"use strict";var n=r(8362),i=r(2288).countTrailingZeros;t.exports=function(t){var e=i(n.lo(t));if(e<32)return e;var r=i(n.hi(t));return r>20?52:r+32}},3218:function(t,e,r){"use strict";r(1928),t.exports=function(t){return t&&"object"==typeof t&&Boolean(t.words)}},5514:function(t,e,r){"use strict";var n=r(1928),i=r(8362);t.exports=function(t){var e=i.exponent(t);return e<52?new n(t):new n(t*Math.pow(2,52-e)).ushln(e-52)}},8524:function(t,e,r){"use strict";var n=r(5514),i=r(4275);t.exports=function(t,e){var r=i(t),a=i(e);if(0===r)return[n(0),n(1)];if(0===a)return[n(0),n(0)];a<0&&(t=t.neg(),e=e.neg());var o=t.gcd(e);return o.cmpn(1)?[t.div(o),e.div(o)]:[t,e]}},2813:function(t,e,r){"use strict";var n=r(1928);t.exports=function(t){return new n(t)}},3962:function(t,e,r){"use strict";var n=r(8524);t.exports=function(t,e){return n(t[0].mul(e[0]),t[1].mul(e[1]))}},4951:function(t,e,r){"use strict";var n=r(4275);t.exports=function(t){return n(t[0])*n(t[1])}},4354:function(t,e,r){"use strict";var n=r(8524);t.exports=function(t,e){return n(t[0].mul(e[1]).sub(t[1].mul(e[0])),t[1].mul(e[1]))}},7999:function(t,e,r){"use strict";var n=r(9958),i=r(1112);t.exports=function(t){var e=t[0],r=t[1];if(0===e.cmpn(0))return 0;var a=e.abs().divmod(r.abs()),o=a.div,s=n(o),l=a.mod,u=e.negative!==r.negative?-1:1;if(0===l.cmpn(0))return u*s;if(s){var c=i(s)+4,f=n(l.ushln(c).divRound(r));return u*(s+f*Math.pow(2,-c))}var h=r.bitLength()-l.bitLength()+53;return f=n(l.ushln(h).divRound(r)),h<1023?u*f*Math.pow(2,-h):u*(f*=Math.pow(2,-1023))*Math.pow(2,1023-h)}},5070:function(t){"use strict";function e(t,e,r,n,i){for(var a=i+1;n<=i;){var o=n+i>>>1,s=t[o];(void 0!==r?r(s,e):s-e)>=0?(a=o,i=o-1):n=o+1}return a}function r(t,e,r,n,i){for(var a=i+1;n<=i;){var o=n+i>>>1,s=t[o];(void 0!==r?r(s,e):s-e)>0?(a=o,i=o-1):n=o+1}return a}function n(t,e,r,n,i){for(var a=n-1;n<=i;){var o=n+i>>>1,s=t[o];(void 0!==r?r(s,e):s-e)<0?(a=o,n=o+1):i=o-1}return a}function i(t,e,r,n,i){for(var a=n-1;n<=i;){var o=n+i>>>1,s=t[o];(void 0!==r?r(s,e):s-e)<=0?(a=o,n=o+1):i=o-1}return a}function a(t,e,r,n,i){for(;n<=i;){var a=n+i>>>1,o=t[a],s=void 0!==r?r(o,e):o-e;if(0===s)return a;s<=0?n=a+1:i=a-1}return-1}function o(t,e,r,n,i,a){return"function"==typeof r?a(t,e,r,void 0===n?0:0|n,void 0===i?t.length-1:0|i):a(t,e,void 0,void 0===r?0:0|r,void 0===n?t.length-1:0|n)}t.exports={ge:function(t,r,n,i,a){return o(t,r,n,i,a,e)},gt:function(t,e,n,i,a){return o(t,e,n,i,a,r)},lt:function(t,e,r,i,a){return o(t,e,r,i,a,n)},le:function(t,e,r,n,a){return o(t,e,r,n,a,i)},eq:function(t,e,r,n,i){return o(t,e,r,n,i,a)}}},2288:function(t,e){"use strict";function r(t){var e=32;return(t&=-t)&&e--,65535&t&&(e-=16),16711935&t&&(e-=8),252645135&t&&(e-=4),858993459&t&&(e-=2),1431655765&t&&(e-=1),e}e.INT_BITS=32,e.INT_MAX=2147483647,e.INT_MIN=-1<<31,e.sign=function(t){return(t>0)-(t<0)},e.abs=function(t){var e=t>>31;return(t^e)-e},e.min=function(t,e){return e^(t^e)&-(t<e)},e.max=function(t,e){return t^(t^e)&-(t<e)},e.isPow2=function(t){return!(t&t-1||!t)},e.log2=function(t){var e,r;return e=(t>65535)<<4,e|=r=((t>>>=e)>255)<<3,e|=r=((t>>>=r)>15)<<2,(e|=r=((t>>>=r)>3)<<1)|(t>>>=r)>>1},e.log10=function(t){return t>=1e9?9:t>=1e8?8:t>=1e7?7:t>=1e6?6:t>=1e5?5:t>=1e4?4:t>=1e3?3:t>=100?2:t>=10?1:0},e.popCount=function(t){return 16843009*((t=(858993459&(t-=t>>>1&1431655765))+(t>>>2&858993459))+(t>>>4)&252645135)>>>24},e.countTrailingZeros=r,e.nextPow2=function(t){return t+=0===t,--t,t|=t>>>1,t|=t>>>2,t|=t>>>4,1+((t|=t>>>8)|t>>>16)},e.prevPow2=function(t){return t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,(t|=t>>>16)-(t>>>1)},e.parity=function(t){return t^=t>>>16,t^=t>>>8,t^=t>>>4,27030>>>(t&=15)&1};var n=new Array(256);!function(t){for(var e=0;e<256;++e){var r=e,n=e,i=7;for(r>>>=1;r;r>>>=1)n<<=1,n|=1&r,--i;t[e]=n<<i&255}}(n),e.reverse=function(t){return n[255&t]<<24|n[t>>>8&255]<<16|n[t>>>16&255]<<8|n[t>>>24&255]},e.interleave2=function(t,e){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t&=65535)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e&=65535)|e<<8))|e<<4))|e<<2))|e<<1))<<1},e.deinterleave2=function(t,e){return(t=65535&((t=16711935&((t=252645135&((t=858993459&((t=t>>>e&1431655765)|t>>>1))|t>>>2))|t>>>4))|t>>>16))<<16>>16},e.interleave3=function(t,e,r){return t=1227133513&((t=3272356035&((t=251719695&((t=4278190335&((t&=1023)|t<<16))|t<<8))|t<<4))|t<<2),(t|=(e=1227133513&((e=3272356035&((e=251719695&((e=4278190335&((e&=1023)|e<<16))|e<<8))|e<<4))|e<<2))<<1)|(r=1227133513&((r=3272356035&((r=251719695&((r=4278190335&((r&=1023)|r<<16))|r<<8))|r<<4))|r<<2))<<2},e.deinterleave3=function(t,e){return(t=1023&((t=4278190335&((t=251719695&((t=3272356035&((t=t>>>e&1227133513)|t>>>2))|t>>>4))|t>>>8))|t>>>16))<<22>>22},e.nextCombination=function(t){var e=t|t-1;return e+1|(~e&-~e)-1>>>r(t)+1}},1928:function(t,e,r){!function(t,e){"use strict";function n(t,e){if(!t)throw new Error(e||"Assertion failed")}function i(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}function a(t,e,r){if(a.isBN(t))return t;this.negative=0,this.words=null,this.length=0,this.red=null,null!==t&&("le"!==e&&"be"!==e||(r=e,e=10),this._init(t||0,e||10,r||"be"))}var o;"object"==typeof t?t.exports=a:e.BN=a,a.BN=a,a.wordSize=26;try{o="undefined"!=typeof window&&void 0!==window.Buffer?window.Buffer:r(6601).Buffer}catch(t){}function s(t,e){var r=t.charCodeAt(e);return r>=65&&r<=70?r-55:r>=97&&r<=102?r-87:r-48&15}function l(t,e,r){var n=s(t,r);return r-1>=e&&(n|=s(t,r-1)<<4),n}function u(t,e,r,n){for(var i=0,a=Math.min(t.length,r),o=e;o<a;o++){var s=t.charCodeAt(o)-48;i*=n,i+=s>=49?s-49+10:s>=17?s-17+10:s}return i}a.isBN=function(t){return t instanceof a||null!==t&&"object"==typeof t&&t.constructor.wordSize===a.wordSize&&Array.isArray(t.words)},a.max=function(t,e){return t.cmp(e)>0?t:e},a.min=function(t,e){return t.cmp(e)<0?t:e},a.prototype._init=function(t,e,r){if("number"==typeof t)return this._initNumber(t,e,r);if("object"==typeof t)return this._initArray(t,e,r);"hex"===e&&(e=16),n(e===(0|e)&&e>=2&&e<=36);var i=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&(i++,this.negative=1),i<t.length&&(16===e?this._parseHex(t,i,r):(this._parseBase(t,e,i),"le"===r&&this._initArray(this.toArray(),e,r)))},a.prototype._initNumber=function(t,e,r){t<0&&(this.negative=1,t=-t),t<67108864?(this.words=[67108863&t],this.length=1):t<4503599627370496?(this.words=[67108863&t,t/67108864&67108863],this.length=2):(n(t<9007199254740992),this.words=[67108863&t,t/67108864&67108863,1],this.length=3),"le"===r&&this._initArray(this.toArray(),e,r)},a.prototype._initArray=function(t,e,r){if(n("number"==typeof t.length),t.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(t.length/3),this.words=new Array(this.length);for(var i=0;i<this.length;i++)this.words[i]=0;var a,o,s=0;if("be"===r)for(i=t.length-1,a=0;i>=0;i-=3)o=t[i]|t[i-1]<<8|t[i-2]<<16,this.words[a]|=o<<s&67108863,this.words[a+1]=o>>>26-s&67108863,(s+=24)>=26&&(s-=26,a++);else if("le"===r)for(i=0,a=0;i<t.length;i+=3)o=t[i]|t[i+1]<<8|t[i+2]<<16,this.words[a]|=o<<s&67108863,this.words[a+1]=o>>>26-s&67108863,(s+=24)>=26&&(s-=26,a++);return this.strip()},a.prototype._parseHex=function(t,e,r){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var n=0;n<this.length;n++)this.words[n]=0;var i,a=0,o=0;if("be"===r)for(n=t.length-1;n>=e;n-=2)i=l(t,e,n)<<a,this.words[o]|=67108863&i,a>=18?(a-=18,o+=1,this.words[o]|=i>>>26):a+=8;else for(n=(t.length-e)%2==0?e+1:e;n<t.length;n+=2)i=l(t,e,n)<<a,this.words[o]|=67108863&i,a>=18?(a-=18,o+=1,this.words[o]|=i>>>26):a+=8;this.strip()},a.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var n=0,i=1;i<=67108863;i*=e)n++;n--,i=i/e|0;for(var a=t.length-r,o=a%n,s=Math.min(a,a-o)+r,l=0,c=r;c<s;c+=n)l=u(t,c,c+n,e),this.imuln(i),this.words[0]+l<67108864?this.words[0]+=l:this._iaddn(l);if(0!==o){var f=1;for(l=u(t,c,t.length,e),c=0;c<o;c++)f*=e;this.imuln(f),this.words[0]+l<67108864?this.words[0]+=l:this._iaddn(l)}this.strip()},a.prototype.copy=function(t){t.words=new Array(this.length);for(var e=0;e<this.length;e++)t.words[e]=this.words[e];t.length=this.length,t.negative=this.negative,t.red=this.red},a.prototype.clone=function(){var t=new a(null);return this.copy(t),t},a.prototype._expand=function(t){for(;this.length<t;)this.words[this.length++]=0;return this},a.prototype.strip=function(){for(;this.length>1&&0===this.words[this.length-1];)this.length--;return this._normSign()},a.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},a.prototype.inspect=function(){return(this.red?"<BN-R: ":"<BN: ")+this.toString(16)+">"};var c=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],f=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],h=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function p(t,e,r){r.negative=e.negative^t.negative;var n=t.length+e.length|0;r.length=n,n=n-1|0;var i=0|t.words[0],a=0|e.words[0],o=i*a,s=67108863&o,l=o/67108864|0;r.words[0]=s;for(var u=1;u<n;u++){for(var c=l>>>26,f=67108863&l,h=Math.min(u,e.length-1),p=Math.max(0,u-t.length+1);p<=h;p++){var d=u-p|0;c+=(o=(i=0|t.words[d])*(a=0|e.words[p])+f)/67108864|0,f=67108863&o}r.words[u]=0|f,l=0|c}return 0!==l?r.words[u]=0|l:r.length--,r.strip()}a.prototype.toString=function(t,e){var r;if(e=0|e||1,16===(t=t||10)||"hex"===t){r="";for(var i=0,a=0,o=0;o<this.length;o++){var s=this.words[o],l=(16777215&(s<<i|a)).toString(16);r=0!=(a=s>>>24-i&16777215)||o!==this.length-1?c[6-l.length]+l+r:l+r,(i+=2)>=26&&(i-=26,o--)}for(0!==a&&(r=a.toString(16)+r);r.length%e!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}if(t===(0|t)&&t>=2&&t<=36){var u=f[t],p=h[t];r="";var d=this.clone();for(d.negative=0;!d.isZero();){var v=d.modn(p).toString(t);r=(d=d.idivn(p)).isZero()?v+r:c[u-v.length]+v+r}for(this.isZero()&&(r="0"+r);r.length%e!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}n(!1,"Base should be between 2 and 36")},a.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&n(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},a.prototype.toJSON=function(){return this.toString(16)},a.prototype.toBuffer=function(t,e){return n(void 0!==o),this.toArrayLike(o,t,e)},a.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},a.prototype.toArrayLike=function(t,e,r){var i=this.byteLength(),a=r||Math.max(1,i);n(i<=a,"byte array longer than desired length"),n(a>0,"Requested array length <= 0"),this.strip();var o,s,l="le"===e,u=new t(a),c=this.clone();if(l){for(s=0;!c.isZero();s++)o=c.andln(255),c.iushrn(8),u[s]=o;for(;s<a;s++)u[s]=0}else{for(s=0;s<a-i;s++)u[s]=0;for(s=0;!c.isZero();s++)o=c.andln(255),c.iushrn(8),u[a-s-1]=o}return u},Math.clz32?a.prototype._countBits=function(t){return 32-Math.clz32(t)}:a.prototype._countBits=function(t){var e=t,r=0;return e>=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},a.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 0==(8191&e)&&(r+=13,e>>>=13),0==(127&e)&&(r+=7,e>>>=7),0==(15&e)&&(r+=4,e>>>=4),0==(3&e)&&(r+=2,e>>>=2),0==(1&e)&&r++,r},a.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},a.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;e<this.length;e++){var r=this._zeroBits(this.words[e]);if(t+=r,26!==r)break}return t},a.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},a.prototype.toTwos=function(t){return 0!==this.negative?this.abs().inotn(t).iaddn(1):this.clone()},a.prototype.fromTwos=function(t){return this.testn(t-1)?this.notn(t).iaddn(1).ineg():this.clone()},a.prototype.isNeg=function(){return 0!==this.negative},a.prototype.neg=function(){return this.clone().ineg()},a.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},a.prototype.iuor=function(t){for(;this.length<t.length;)this.words[this.length++]=0;for(var e=0;e<t.length;e++)this.words[e]=this.words[e]|t.words[e];return this.strip()},a.prototype.ior=function(t){return n(0==(this.negative|t.negative)),this.iuor(t)},a.prototype.or=function(t){return this.length>t.length?this.clone().ior(t):t.clone().ior(this)},a.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},a.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;r<e.length;r++)this.words[r]=this.words[r]&t.words[r];return this.length=e.length,this.strip()},a.prototype.iand=function(t){return n(0==(this.negative|t.negative)),this.iuand(t)},a.prototype.and=function(t){return this.length>t.length?this.clone().iand(t):t.clone().iand(this)},a.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},a.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var n=0;n<r.length;n++)this.words[n]=e.words[n]^r.words[n];if(this!==e)for(;n<e.length;n++)this.words[n]=e.words[n];return this.length=e.length,this.strip()},a.prototype.ixor=function(t){return n(0==(this.negative|t.negative)),this.iuxor(t)},a.prototype.xor=function(t){return this.length>t.length?this.clone().ixor(t):t.clone().ixor(this)},a.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},a.prototype.inotn=function(t){n("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),r=t%26;this._expand(e),r>0&&e--;for(var i=0;i<e;i++)this.words[i]=67108863&~this.words[i];return r>0&&(this.words[i]=~this.words[i]&67108863>>26-r),this.strip()},a.prototype.notn=function(t){return this.clone().inotn(t)},a.prototype.setn=function(t,e){n("number"==typeof t&&t>=0);var r=t/26|0,i=t%26;return this._expand(r+1),this.words[r]=e?this.words[r]|1<<i:this.words[r]&~(1<<i),this.strip()},a.prototype.iadd=function(t){var e,r,n;if(0!==this.negative&&0===t.negative)return this.negative=0,e=this.isub(t),this.negative^=1,this._normSign();if(0===this.negative&&0!==t.negative)return t.negative=0,e=this.isub(t),t.negative=1,e._normSign();this.length>t.length?(r=this,n=t):(r=t,n=this);for(var i=0,a=0;a<n.length;a++)e=(0|r.words[a])+(0|n.words[a])+i,this.words[a]=67108863&e,i=e>>>26;for(;0!==i&&a<r.length;a++)e=(0|r.words[a])+i,this.words[a]=67108863&e,i=e>>>26;if(this.length=r.length,0!==i)this.words[this.length]=i,this.length++;else if(r!==this)for(;a<r.length;a++)this.words[a]=r.words[a];return this},a.prototype.add=function(t){var e;return 0!==t.negative&&0===this.negative?(t.negative=0,e=this.sub(t),t.negative^=1,e):0===t.negative&&0!==this.negative?(this.negative=0,e=t.sub(this),this.negative=1,e):this.length>t.length?this.clone().iadd(t):t.clone().iadd(this)},a.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,n,i=this.cmp(t);if(0===i)return this.negative=0,this.length=1,this.words[0]=0,this;i>0?(r=this,n=t):(r=t,n=this);for(var a=0,o=0;o<n.length;o++)a=(e=(0|r.words[o])-(0|n.words[o])+a)>>26,this.words[o]=67108863&e;for(;0!==a&&o<r.length;o++)a=(e=(0|r.words[o])+a)>>26,this.words[o]=67108863&e;if(0===a&&o<r.length&&r!==this)for(;o<r.length;o++)this.words[o]=r.words[o];return this.length=Math.max(this.length,o),r!==this&&(this.negative=1),this.strip()},a.prototype.sub=function(t){return this.clone().isub(t)};var d=function(t,e,r){var n,i,a,o=t.words,s=e.words,l=r.words,u=0,c=0|o[0],f=8191&c,h=c>>>13,p=0|o[1],d=8191&p,v=p>>>13,g=0|o[2],y=8191&g,m=g>>>13,x=0|o[3],b=8191&x,_=x>>>13,w=0|o[4],T=8191&w,k=w>>>13,A=0|o[5],M=8191&A,S=A>>>13,E=0|o[6],L=8191&E,C=E>>>13,P=0|o[7],O=8191&P,I=P>>>13,D=0|o[8],z=8191&D,R=D>>>13,F=0|o[9],B=8191&F,N=F>>>13,j=0|s[0],U=8191&j,V=j>>>13,H=0|s[1],q=8191&H,G=H>>>13,Z=0|s[2],Y=8191&Z,W=Z>>>13,X=0|s[3],J=8191&X,K=X>>>13,$=0|s[4],Q=8191&$,tt=$>>>13,et=0|s[5],rt=8191&et,nt=et>>>13,it=0|s[6],at=8191&it,ot=it>>>13,st=0|s[7],lt=8191&st,ut=st>>>13,ct=0|s[8],ft=8191&ct,ht=ct>>>13,pt=0|s[9],dt=8191&pt,vt=pt>>>13;r.negative=t.negative^e.negative,r.length=19;var gt=(u+(n=Math.imul(f,U))|0)+((8191&(i=(i=Math.imul(f,V))+Math.imul(h,U)|0))<<13)|0;u=((a=Math.imul(h,V))+(i>>>13)|0)+(gt>>>26)|0,gt&=67108863,n=Math.imul(d,U),i=(i=Math.imul(d,V))+Math.imul(v,U)|0,a=Math.imul(v,V);var yt=(u+(n=n+Math.imul(f,q)|0)|0)+((8191&(i=(i=i+Math.imul(f,G)|0)+Math.imul(h,q)|0))<<13)|0;u=((a=a+Math.imul(h,G)|0)+(i>>>13)|0)+(yt>>>26)|0,yt&=67108863,n=Math.imul(y,U),i=(i=Math.imul(y,V))+Math.imul(m,U)|0,a=Math.imul(m,V),n=n+Math.imul(d,q)|0,i=(i=i+Math.imul(d,G)|0)+Math.imul(v,q)|0,a=a+Math.imul(v,G)|0;var mt=(u+(n=n+Math.imul(f,Y)|0)|0)+((8191&(i=(i=i+Math.imul(f,W)|0)+Math.imul(h,Y)|0))<<13)|0;u=((a=a+Math.imul(h,W)|0)+(i>>>13)|0)+(mt>>>26)|0,mt&=67108863,n=Math.imul(b,U),i=(i=Math.imul(b,V))+Math.imul(_,U)|0,a=Math.imul(_,V),n=n+Math.imul(y,q)|0,i=(i=i+Math.imul(y,G)|0)+Math.imul(m,q)|0,a=a+Math.imul(m,G)|0,n=n+Math.imul(d,Y)|0,i=(i=i+Math.imul(d,W)|0)+Math.imul(v,Y)|0,a=a+Math.imul(v,W)|0;var xt=(u+(n=n+Math.imul(f,J)|0)|0)+((8191&(i=(i=i+Math.imul(f,K)|0)+Math.imul(h,J)|0))<<13)|0;u=((a=a+Math.imul(h,K)|0)+(i>>>13)|0)+(xt>>>26)|0,xt&=67108863,n=Math.imul(T,U),i=(i=Math.imul(T,V))+Math.imul(k,U)|0,a=Math.imul(k,V),n=n+Math.imul(b,q)|0,i=(i=i+Math.imul(b,G)|0)+Math.imul(_,q)|0,a=a+Math.imul(_,G)|0,n=n+Math.imul(y,Y)|0,i=(i=i+Math.imul(y,W)|0)+Math.imul(m,Y)|0,a=a+Math.imul(m,W)|0,n=n+Math.imul(d,J)|0,i=(i=i+Math.imul(d,K)|0)+Math.imul(v,J)|0,a=a+Math.imul(v,K)|0;var bt=(u+(n=n+Math.imul(f,Q)|0)|0)+((8191&(i=(i=i+Math.imul(f,tt)|0)+Math.imul(h,Q)|0))<<13)|0;u=((a=a+Math.imul(h,tt)|0)+(i>>>13)|0)+(bt>>>26)|0,bt&=67108863,n=Math.imul(M,U),i=(i=Math.imul(M,V))+Math.imul(S,U)|0,a=Math.imul(S,V),n=n+Math.imul(T,q)|0,i=(i=i+Math.imul(T,G)|0)+Math.imul(k,q)|0,a=a+Math.imul(k,G)|0,n=n+Math.imul(b,Y)|0,i=(i=i+Math.imul(b,W)|0)+Math.imul(_,Y)|0,a=a+Math.imul(_,W)|0,n=n+Math.imul(y,J)|0,i=(i=i+Math.imul(y,K)|0)+Math.imul(m,J)|0,a=a+Math.imul(m,K)|0,n=n+Math.imul(d,Q)|0,i=(i=i+Math.imul(d,tt)|0)+Math.imul(v,Q)|0,a=a+Math.imul(v,tt)|0;var _t=(u+(n=n+Math.imul(f,rt)|0)|0)+((8191&(i=(i=i+Math.imul(f,nt)|0)+Math.imul(h,rt)|0))<<13)|0;u=((a=a+Math.imul(h,nt)|0)+(i>>>13)|0)+(_t>>>26)|0,_t&=67108863,n=Math.imul(L,U),i=(i=Math.imul(L,V))+Math.imul(C,U)|0,a=Math.imul(C,V),n=n+Math.imul(M,q)|0,i=(i=i+Math.imul(M,G)|0)+Math.imul(S,q)|0,a=a+Math.imul(S,G)|0,n=n+Math.imul(T,Y)|0,i=(i=i+Math.imul(T,W)|0)+Math.imul(k,Y)|0,a=a+Math.imul(k,W)|0,n=n+Math.imul(b,J)|0,i=(i=i+Math.imul(b,K)|0)+Math.imul(_,J)|0,a=a+Math.imul(_,K)|0,n=n+Math.imul(y,Q)|0,i=(i=i+Math.imul(y,tt)|0)+Math.imul(m,Q)|0,a=a+Math.imul(m,tt)|0,n=n+Math.imul(d,rt)|0,i=(i=i+Math.imul(d,nt)|0)+Math.imul(v,rt)|0,a=a+Math.imul(v,nt)|0;var wt=(u+(n=n+Math.imul(f,at)|0)|0)+((8191&(i=(i=i+Math.imul(f,ot)|0)+Math.imul(h,at)|0))<<13)|0;u=((a=a+Math.imul(h,ot)|0)+(i>>>13)|0)+(wt>>>26)|0,wt&=67108863,n=Math.imul(O,U),i=(i=Math.imul(O,V))+Math.imul(I,U)|0,a=Math.imul(I,V),n=n+Math.imul(L,q)|0,i=(i=i+Math.imul(L,G)|0)+Math.imul(C,q)|0,a=a+Math.imul(C,G)|0,n=n+Math.imul(M,Y)|0,i=(i=i+Math.imul(M,W)|0)+Math.imul(S,Y)|0,a=a+Math.imul(S,W)|0,n=n+Math.imul(T,J)|0,i=(i=i+Math.imul(T,K)|0)+Math.imul(k,J)|0,a=a+Math.imul(k,K)|0,n=n+Math.imul(b,Q)|0,i=(i=i+Math.imul(b,tt)|0)+Math.imul(_,Q)|0,a=a+Math.imul(_,tt)|0,n=n+Math.imul(y,rt)|0,i=(i=i+Math.imul(y,nt)|0)+Math.imul(m,rt)|0,a=a+Math.imul(m,nt)|0,n=n+Math.imul(d,at)|0,i=(i=i+Math.imul(d,ot)|0)+Math.imul(v,at)|0,a=a+Math.imul(v,ot)|0;var Tt=(u+(n=n+Math.imul(f,lt)|0)|0)+((8191&(i=(i=i+Math.imul(f,ut)|0)+Math.imul(h,lt)|0))<<13)|0;u=((a=a+Math.imul(h,ut)|0)+(i>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,n=Math.imul(z,U),i=(i=Math.imul(z,V))+Math.imul(R,U)|0,a=Math.imul(R,V),n=n+Math.imul(O,q)|0,i=(i=i+Math.imul(O,G)|0)+Math.imul(I,q)|0,a=a+Math.imul(I,G)|0,n=n+Math.imul(L,Y)|0,i=(i=i+Math.imul(L,W)|0)+Math.imul(C,Y)|0,a=a+Math.imul(C,W)|0,n=n+Math.imul(M,J)|0,i=(i=i+Math.imul(M,K)|0)+Math.imul(S,J)|0,a=a+Math.imul(S,K)|0,n=n+Math.imul(T,Q)|0,i=(i=i+Math.imul(T,tt)|0)+Math.imul(k,Q)|0,a=a+Math.imul(k,tt)|0,n=n+Math.imul(b,rt)|0,i=(i=i+Math.imul(b,nt)|0)+Math.imul(_,rt)|0,a=a+Math.imul(_,nt)|0,n=n+Math.imul(y,at)|0,i=(i=i+Math.imul(y,ot)|0)+Math.imul(m,at)|0,a=a+Math.imul(m,ot)|0,n=n+Math.imul(d,lt)|0,i=(i=i+Math.imul(d,ut)|0)+Math.imul(v,lt)|0,a=a+Math.imul(v,ut)|0;var kt=(u+(n=n+Math.imul(f,ft)|0)|0)+((8191&(i=(i=i+Math.imul(f,ht)|0)+Math.imul(h,ft)|0))<<13)|0;u=((a=a+Math.imul(h,ht)|0)+(i>>>13)|0)+(kt>>>26)|0,kt&=67108863,n=Math.imul(B,U),i=(i=Math.imul(B,V))+Math.imul(N,U)|0,a=Math.imul(N,V),n=n+Math.imul(z,q)|0,i=(i=i+Math.imul(z,G)|0)+Math.imul(R,q)|0,a=a+Math.imul(R,G)|0,n=n+Math.imul(O,Y)|0,i=(i=i+Math.imul(O,W)|0)+Math.imul(I,Y)|0,a=a+Math.imul(I,W)|0,n=n+Math.imul(L,J)|0,i=(i=i+Math.imul(L,K)|0)+Math.imul(C,J)|0,a=a+Math.imul(C,K)|0,n=n+Math.imul(M,Q)|0,i=(i=i+Math.imul(M,tt)|0)+Math.imul(S,Q)|0,a=a+Math.imul(S,tt)|0,n=n+Math.imul(T,rt)|0,i=(i=i+Math.imul(T,nt)|0)+Math.imul(k,rt)|0,a=a+Math.imul(k,nt)|0,n=n+Math.imul(b,at)|0,i=(i=i+Math.imul(b,ot)|0)+Math.imul(_,at)|0,a=a+Math.imul(_,ot)|0,n=n+Math.imul(y,lt)|0,i=(i=i+Math.imul(y,ut)|0)+Math.imul(m,lt)|0,a=a+Math.imul(m,ut)|0,n=n+Math.imul(d,ft)|0,i=(i=i+Math.imul(d,ht)|0)+Math.imul(v,ft)|0,a=a+Math.imul(v,ht)|0;var At=(u+(n=n+Math.imul(f,dt)|0)|0)+((8191&(i=(i=i+Math.imul(f,vt)|0)+Math.imul(h,dt)|0))<<13)|0;u=((a=a+Math.imul(h,vt)|0)+(i>>>13)|0)+(At>>>26)|0,At&=67108863,n=Math.imul(B,q),i=(i=Math.imul(B,G))+Math.imul(N,q)|0,a=Math.imul(N,G),n=n+Math.imul(z,Y)|0,i=(i=i+Math.imul(z,W)|0)+Math.imul(R,Y)|0,a=a+Math.imul(R,W)|0,n=n+Math.imul(O,J)|0,i=(i=i+Math.imul(O,K)|0)+Math.imul(I,J)|0,a=a+Math.imul(I,K)|0,n=n+Math.imul(L,Q)|0,i=(i=i+Math.imul(L,tt)|0)+Math.imul(C,Q)|0,a=a+Math.imul(C,tt)|0,n=n+Math.imul(M,rt)|0,i=(i=i+Math.imul(M,nt)|0)+Math.imul(S,rt)|0,a=a+Math.imul(S,nt)|0,n=n+Math.imul(T,at)|0,i=(i=i+Math.imul(T,ot)|0)+Math.imul(k,at)|0,a=a+Math.imul(k,ot)|0,n=n+Math.imul(b,lt)|0,i=(i=i+Math.imul(b,ut)|0)+Math.imul(_,lt)|0,a=a+Math.imul(_,ut)|0,n=n+Math.imul(y,ft)|0,i=(i=i+Math.imul(y,ht)|0)+Math.imul(m,ft)|0,a=a+Math.imul(m,ht)|0;var Mt=(u+(n=n+Math.imul(d,dt)|0)|0)+((8191&(i=(i=i+Math.imul(d,vt)|0)+Math.imul(v,dt)|0))<<13)|0;u=((a=a+Math.imul(v,vt)|0)+(i>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,n=Math.imul(B,Y),i=(i=Math.imul(B,W))+Math.imul(N,Y)|0,a=Math.imul(N,W),n=n+Math.imul(z,J)|0,i=(i=i+Math.imul(z,K)|0)+Math.imul(R,J)|0,a=a+Math.imul(R,K)|0,n=n+Math.imul(O,Q)|0,i=(i=i+Math.imul(O,tt)|0)+Math.imul(I,Q)|0,a=a+Math.imul(I,tt)|0,n=n+Math.imul(L,rt)|0,i=(i=i+Math.imul(L,nt)|0)+Math.imul(C,rt)|0,a=a+Math.imul(C,nt)|0,n=n+Math.imul(M,at)|0,i=(i=i+Math.imul(M,ot)|0)+Math.imul(S,at)|0,a=a+Math.imul(S,ot)|0,n=n+Math.imul(T,lt)|0,i=(i=i+Math.imul(T,ut)|0)+Math.imul(k,lt)|0,a=a+Math.imul(k,ut)|0,n=n+Math.imul(b,ft)|0,i=(i=i+Math.imul(b,ht)|0)+Math.imul(_,ft)|0,a=a+Math.imul(_,ht)|0;var St=(u+(n=n+Math.imul(y,dt)|0)|0)+((8191&(i=(i=i+Math.imul(y,vt)|0)+Math.imul(m,dt)|0))<<13)|0;u=((a=a+Math.imul(m,vt)|0)+(i>>>13)|0)+(St>>>26)|0,St&=67108863,n=Math.imul(B,J),i=(i=Math.imul(B,K))+Math.imul(N,J)|0,a=Math.imul(N,K),n=n+Math.imul(z,Q)|0,i=(i=i+Math.imul(z,tt)|0)+Math.imul(R,Q)|0,a=a+Math.imul(R,tt)|0,n=n+Math.imul(O,rt)|0,i=(i=i+Math.imul(O,nt)|0)+Math.imul(I,rt)|0,a=a+Math.imul(I,nt)|0,n=n+Math.imul(L,at)|0,i=(i=i+Math.imul(L,ot)|0)+Math.imul(C,at)|0,a=a+Math.imul(C,ot)|0,n=n+Math.imul(M,lt)|0,i=(i=i+Math.imul(M,ut)|0)+Math.imul(S,lt)|0,a=a+Math.imul(S,ut)|0,n=n+Math.imul(T,ft)|0,i=(i=i+Math.imul(T,ht)|0)+Math.imul(k,ft)|0,a=a+Math.imul(k,ht)|0;var Et=(u+(n=n+Math.imul(b,dt)|0)|0)+((8191&(i=(i=i+Math.imul(b,vt)|0)+Math.imul(_,dt)|0))<<13)|0;u=((a=a+Math.imul(_,vt)|0)+(i>>>13)|0)+(Et>>>26)|0,Et&=67108863,n=Math.imul(B,Q),i=(i=Math.imul(B,tt))+Math.imul(N,Q)|0,a=Math.imul(N,tt),n=n+Math.imul(z,rt)|0,i=(i=i+Math.imul(z,nt)|0)+Math.imul(R,rt)|0,a=a+Math.imul(R,nt)|0,n=n+Math.imul(O,at)|0,i=(i=i+Math.imul(O,ot)|0)+Math.imul(I,at)|0,a=a+Math.imul(I,ot)|0,n=n+Math.imul(L,lt)|0,i=(i=i+Math.imul(L,ut)|0)+Math.imul(C,lt)|0,a=a+Math.imul(C,ut)|0,n=n+Math.imul(M,ft)|0,i=(i=i+Math.imul(M,ht)|0)+Math.imul(S,ft)|0,a=a+Math.imul(S,ht)|0;var Lt=(u+(n=n+Math.imul(T,dt)|0)|0)+((8191&(i=(i=i+Math.imul(T,vt)|0)+Math.imul(k,dt)|0))<<13)|0;u=((a=a+Math.imul(k,vt)|0)+(i>>>13)|0)+(Lt>>>26)|0,Lt&=67108863,n=Math.imul(B,rt),i=(i=Math.imul(B,nt))+Math.imul(N,rt)|0,a=Math.imul(N,nt),n=n+Math.imul(z,at)|0,i=(i=i+Math.imul(z,ot)|0)+Math.imul(R,at)|0,a=a+Math.imul(R,ot)|0,n=n+Math.imul(O,lt)|0,i=(i=i+Math.imul(O,ut)|0)+Math.imul(I,lt)|0,a=a+Math.imul(I,ut)|0,n=n+Math.imul(L,ft)|0,i=(i=i+Math.imul(L,ht)|0)+Math.imul(C,ft)|0,a=a+Math.imul(C,ht)|0;var Ct=(u+(n=n+Math.imul(M,dt)|0)|0)+((8191&(i=(i=i+Math.imul(M,vt)|0)+Math.imul(S,dt)|0))<<13)|0;u=((a=a+Math.imul(S,vt)|0)+(i>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,n=Math.imul(B,at),i=(i=Math.imul(B,ot))+Math.imul(N,at)|0,a=Math.imul(N,ot),n=n+Math.imul(z,lt)|0,i=(i=i+Math.imul(z,ut)|0)+Math.imul(R,lt)|0,a=a+Math.imul(R,ut)|0,n=n+Math.imul(O,ft)|0,i=(i=i+Math.imul(O,ht)|0)+Math.imul(I,ft)|0,a=a+Math.imul(I,ht)|0;var Pt=(u+(n=n+Math.imul(L,dt)|0)|0)+((8191&(i=(i=i+Math.imul(L,vt)|0)+Math.imul(C,dt)|0))<<13)|0;u=((a=a+Math.imul(C,vt)|0)+(i>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,n=Math.imul(B,lt),i=(i=Math.imul(B,ut))+Math.imul(N,lt)|0,a=Math.imul(N,ut),n=n+Math.imul(z,ft)|0,i=(i=i+Math.imul(z,ht)|0)+Math.imul(R,ft)|0,a=a+Math.imul(R,ht)|0;var Ot=(u+(n=n+Math.imul(O,dt)|0)|0)+((8191&(i=(i=i+Math.imul(O,vt)|0)+Math.imul(I,dt)|0))<<13)|0;u=((a=a+Math.imul(I,vt)|0)+(i>>>13)|0)+(Ot>>>26)|0,Ot&=67108863,n=Math.imul(B,ft),i=(i=Math.imul(B,ht))+Math.imul(N,ft)|0,a=Math.imul(N,ht);var It=(u+(n=n+Math.imul(z,dt)|0)|0)+((8191&(i=(i=i+Math.imul(z,vt)|0)+Math.imul(R,dt)|0))<<13)|0;u=((a=a+Math.imul(R,vt)|0)+(i>>>13)|0)+(It>>>26)|0,It&=67108863;var Dt=(u+(n=Math.imul(B,dt))|0)+((8191&(i=(i=Math.imul(B,vt))+Math.imul(N,dt)|0))<<13)|0;return u=((a=Math.imul(N,vt))+(i>>>13)|0)+(Dt>>>26)|0,Dt&=67108863,l[0]=gt,l[1]=yt,l[2]=mt,l[3]=xt,l[4]=bt,l[5]=_t,l[6]=wt,l[7]=Tt,l[8]=kt,l[9]=At,l[10]=Mt,l[11]=St,l[12]=Et,l[13]=Lt,l[14]=Ct,l[15]=Pt,l[16]=Ot,l[17]=It,l[18]=Dt,0!==u&&(l[19]=u,r.length++),r};function v(t,e,r){return(new g).mulp(t,e,r)}function g(t,e){this.x=t,this.y=e}Math.imul||(d=p),a.prototype.mulTo=function(t,e){var r,n=this.length+t.length;return r=10===this.length&&10===t.length?d(this,t,e):n<63?p(this,t,e):n<1024?function(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var n=0,i=0,a=0;a<r.length-1;a++){var o=i;i=0;for(var s=67108863&n,l=Math.min(a,e.length-1),u=Math.max(0,a-t.length+1);u<=l;u++){var c=a-u,f=(0|t.words[c])*(0|e.words[u]),h=67108863&f;s=67108863&(h=h+s|0),i+=(o=(o=o+(f/67108864|0)|0)+(h>>>26)|0)>>>26,o&=67108863}r.words[a]=s,n=o,o=i}return 0!==n?r.words[a]=n:r.length--,r.strip()}(this,t,e):v(this,t,e),r},g.prototype.makeRBT=function(t){for(var e=new Array(t),r=a.prototype._countBits(t)-1,n=0;n<t;n++)e[n]=this.revBin(n,r,t);return e},g.prototype.revBin=function(t,e,r){if(0===t||t===r-1)return t;for(var n=0,i=0;i<e;i++)n|=(1&t)<<e-i-1,t>>=1;return n},g.prototype.permute=function(t,e,r,n,i,a){for(var o=0;o<a;o++)n[o]=e[t[o]],i[o]=r[t[o]]},g.prototype.transform=function(t,e,r,n,i,a){this.permute(a,t,e,r,n,i);for(var o=1;o<i;o<<=1)for(var s=o<<1,l=Math.cos(2*Math.PI/s),u=Math.sin(2*Math.PI/s),c=0;c<i;c+=s)for(var f=l,h=u,p=0;p<o;p++){var d=r[c+p],v=n[c+p],g=r[c+p+o],y=n[c+p+o],m=f*g-h*y;y=f*y+h*g,g=m,r[c+p]=d+g,n[c+p]=v+y,r[c+p+o]=d-g,n[c+p+o]=v-y,p!==s&&(m=l*f-u*h,h=l*h+u*f,f=m)}},g.prototype.guessLen13b=function(t,e){var r=1|Math.max(e,t),n=1&r,i=0;for(r=r/2|0;r;r>>>=1)i++;return 1<<i+1+n},g.prototype.conjugate=function(t,e,r){if(!(r<=1))for(var n=0;n<r/2;n++){var i=t[n];t[n]=t[r-n-1],t[r-n-1]=i,i=e[n],e[n]=-e[r-n-1],e[r-n-1]=-i}},g.prototype.normalize13b=function(t,e){for(var r=0,n=0;n<e/2;n++){var i=8192*Math.round(t[2*n+1]/e)+Math.round(t[2*n]/e)+r;t[n]=67108863&i,r=i<67108864?0:i/67108864|0}return t},g.prototype.convert13b=function(t,e,r,i){for(var a=0,o=0;o<e;o++)a+=0|t[o],r[2*o]=8191&a,a>>>=13,r[2*o+1]=8191&a,a>>>=13;for(o=2*e;o<i;++o)r[o]=0;n(0===a),n(0==(-8192&a))},g.prototype.stub=function(t){for(var e=new Array(t),r=0;r<t;r++)e[r]=0;return e},g.prototype.mulp=function(t,e,r){var n=2*this.guessLen13b(t.length,e.length),i=this.makeRBT(n),a=this.stub(n),o=new Array(n),s=new Array(n),l=new Array(n),u=new Array(n),c=new Array(n),f=new Array(n),h=r.words;h.length=n,this.convert13b(t.words,t.length,o,n),this.convert13b(e.words,e.length,u,n),this.transform(o,a,s,l,n,i),this.transform(u,a,c,f,n,i);for(var p=0;p<n;p++){var d=s[p]*c[p]-l[p]*f[p];l[p]=s[p]*f[p]+l[p]*c[p],s[p]=d}return this.conjugate(s,l,n),this.transform(s,l,h,a,n,i),this.conjugate(h,a,n),this.normalize13b(h,n),r.negative=t.negative^e.negative,r.length=t.length+e.length,r.strip()},a.prototype.mul=function(t){var e=new a(null);return e.words=new Array(this.length+t.length),this.mulTo(t,e)},a.prototype.mulf=function(t){var e=new a(null);return e.words=new Array(this.length+t.length),v(this,t,e)},a.prototype.imul=function(t){return this.clone().mulTo(t,this)},a.prototype.imuln=function(t){n("number"==typeof t),n(t<67108864);for(var e=0,r=0;r<this.length;r++){var i=(0|this.words[r])*t,a=(67108863&i)+(67108863&e);e>>=26,e+=i/67108864|0,e+=a>>>26,this.words[r]=67108863&a}return 0!==e&&(this.words[r]=e,this.length++),this},a.prototype.muln=function(t){return this.clone().imuln(t)},a.prototype.sqr=function(){return this.mul(this)},a.prototype.isqr=function(){return this.imul(this.clone())},a.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),r=0;r<e.length;r++){var n=r/26|0,i=r%26;e[r]=(t.words[n]&1<<i)>>>i}return e}(t);if(0===e.length)return new a(1);for(var r=this,n=0;n<e.length&&0===e[n];n++,r=r.sqr());if(++n<e.length)for(var i=r.sqr();n<e.length;n++,i=i.sqr())0!==e[n]&&(r=r.mul(i));return r},a.prototype.iushln=function(t){n("number"==typeof t&&t>=0);var e,r=t%26,i=(t-r)/26,a=67108863>>>26-r<<26-r;if(0!==r){var o=0;for(e=0;e<this.length;e++){var s=this.words[e]&a,l=(0|this.words[e])-s<<r;this.words[e]=l|o,o=s>>>26-r}o&&(this.words[e]=o,this.length++)}if(0!==i){for(e=this.length-1;e>=0;e--)this.words[e+i]=this.words[e];for(e=0;e<i;e++)this.words[e]=0;this.length+=i}return this.strip()},a.prototype.ishln=function(t){return n(0===this.negative),this.iushln(t)},a.prototype.iushrn=function(t,e,r){var i;n("number"==typeof t&&t>=0),i=e?(e-e%26)/26:0;var a=t%26,o=Math.min((t-a)/26,this.length),s=67108863^67108863>>>a<<a,l=r;if(i-=o,i=Math.max(0,i),l){for(var u=0;u<o;u++)l.words[u]=this.words[u];l.length=o}if(0===o);else if(this.length>o)for(this.length-=o,u=0;u<this.length;u++)this.words[u]=this.words[u+o];else this.words[0]=0,this.length=1;var c=0;for(u=this.length-1;u>=0&&(0!==c||u>=i);u--){var f=0|this.words[u];this.words[u]=c<<26-a|f>>>a,c=f&s}return l&&0!==c&&(l.words[l.length++]=c),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},a.prototype.ishrn=function(t,e,r){return n(0===this.negative),this.iushrn(t,e,r)},a.prototype.shln=function(t){return this.clone().ishln(t)},a.prototype.ushln=function(t){return this.clone().iushln(t)},a.prototype.shrn=function(t){return this.clone().ishrn(t)},a.prototype.ushrn=function(t){return this.clone().iushrn(t)},a.prototype.testn=function(t){n("number"==typeof t&&t>=0);var e=t%26,r=(t-e)/26,i=1<<e;return!(this.length<=r||!(this.words[r]&i))},a.prototype.imaskn=function(t){n("number"==typeof t&&t>=0);var e=t%26,r=(t-e)/26;if(n(0===this.negative,"imaskn works only with positive numbers"),this.length<=r)return this;if(0!==e&&r++,this.length=Math.min(r,this.length),0!==e){var i=67108863^67108863>>>e<<e;this.words[this.length-1]&=i}return this.strip()},a.prototype.maskn=function(t){return this.clone().imaskn(t)},a.prototype.iaddn=function(t){return n("number"==typeof t),n(t<67108864),t<0?this.isubn(-t):0!==this.negative?1===this.length&&(0|this.words[0])<t?(this.words[0]=t-(0|this.words[0]),this.negative=0,this):(this.negative=0,this.isubn(t),this.negative=1,this):this._iaddn(t)},a.prototype._iaddn=function(t){this.words[0]+=t;for(var e=0;e<this.length&&this.words[e]>=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},a.prototype.isubn=function(t){if(n("number"==typeof t),n(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e<this.length&&this.words[e]<0;e++)this.words[e]+=67108864,this.words[e+1]-=1;return this.strip()},a.prototype.addn=function(t){return this.clone().iaddn(t)},a.prototype.subn=function(t){return this.clone().isubn(t)},a.prototype.iabs=function(){return this.negative=0,this},a.prototype.abs=function(){return this.clone().iabs()},a.prototype._ishlnsubmul=function(t,e,r){var i,a,o=t.length+r;this._expand(o);var s=0;for(i=0;i<t.length;i++){a=(0|this.words[i+r])+s;var l=(0|t.words[i])*e;s=((a-=67108863&l)>>26)-(l/67108864|0),this.words[i+r]=67108863&a}for(;i<this.length-r;i++)s=(a=(0|this.words[i+r])+s)>>26,this.words[i+r]=67108863&a;if(0===s)return this.strip();for(n(-1===s),s=0,i=0;i<this.length;i++)s=(a=-(0|this.words[i])+s)>>26,this.words[i]=67108863&a;return this.negative=1,this.strip()},a.prototype._wordDiv=function(t,e){var r=(this.length,t.length),n=this.clone(),i=t,o=0|i.words[i.length-1];0!=(r=26-this._countBits(o))&&(i=i.ushln(r),n.iushln(r),o=0|i.words[i.length-1]);var s,l=n.length-i.length;if("mod"!==e){(s=new a(null)).length=l+1,s.words=new Array(s.length);for(var u=0;u<s.length;u++)s.words[u]=0}var c=n.clone()._ishlnsubmul(i,1,l);0===c.negative&&(n=c,s&&(s.words[l]=1));for(var f=l-1;f>=0;f--){var h=67108864*(0|n.words[i.length+f])+(0|n.words[i.length+f-1]);for(h=Math.min(h/o|0,67108863),n._ishlnsubmul(i,h,f);0!==n.negative;)h--,n.negative=0,n._ishlnsubmul(i,1,f),n.isZero()||(n.negative^=1);s&&(s.words[f]=h)}return s&&s.strip(),n.strip(),"div"!==e&&0!==r&&n.iushrn(r),{div:s||null,mod:n}},a.prototype.divmod=function(t,e,r){return n(!t.isZero()),this.isZero()?{div:new a(0),mod:new a(0)}:0!==this.negative&&0===t.negative?(s=this.neg().divmod(t,e),"mod"!==e&&(i=s.div.neg()),"div"!==e&&(o=s.mod.neg(),r&&0!==o.negative&&o.iadd(t)),{div:i,mod:o}):0===this.negative&&0!==t.negative?(s=this.divmod(t.neg(),e),"mod"!==e&&(i=s.div.neg()),{div:i,mod:s.mod}):0!=(this.negative&t.negative)?(s=this.neg().divmod(t.neg(),e),"div"!==e&&(o=s.mod.neg(),r&&0!==o.negative&&o.isub(t)),{div:s.div,mod:o}):t.length>this.length||this.cmp(t)<0?{div:new a(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new a(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new a(this.modn(t.words[0]))}:this._wordDiv(t,e);var i,o,s},a.prototype.div=function(t){return this.divmod(t,"div",!1).div},a.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},a.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},a.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,n=t.ushrn(1),i=t.andln(1),a=r.cmp(n);return a<0||1===i&&0===a?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},a.prototype.modn=function(t){n(t<=67108863);for(var e=(1<<26)%t,r=0,i=this.length-1;i>=0;i--)r=(e*r+(0|this.words[i]))%t;return r},a.prototype.idivn=function(t){n(t<=67108863);for(var e=0,r=this.length-1;r>=0;r--){var i=(0|this.words[r])+67108864*e;this.words[r]=i/t|0,e=i%t}return this.strip()},a.prototype.divn=function(t){return this.clone().idivn(t)},a.prototype.egcd=function(t){n(0===t.negative),n(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var i=new a(1),o=new a(0),s=new a(0),l=new a(1),u=0;e.isEven()&&r.isEven();)e.iushrn(1),r.iushrn(1),++u;for(var c=r.clone(),f=e.clone();!e.isZero();){for(var h=0,p=1;0==(e.words[0]&p)&&h<26;++h,p<<=1);if(h>0)for(e.iushrn(h);h-- >0;)(i.isOdd()||o.isOdd())&&(i.iadd(c),o.isub(f)),i.iushrn(1),o.iushrn(1);for(var d=0,v=1;0==(r.words[0]&v)&&d<26;++d,v<<=1);if(d>0)for(r.iushrn(d);d-- >0;)(s.isOdd()||l.isOdd())&&(s.iadd(c),l.isub(f)),s.iushrn(1),l.iushrn(1);e.cmp(r)>=0?(e.isub(r),i.isub(s),o.isub(l)):(r.isub(e),s.isub(i),l.isub(o))}return{a:s,b:l,gcd:r.iushln(u)}},a.prototype._invmp=function(t){n(0===t.negative),n(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var i,o=new a(1),s=new a(0),l=r.clone();e.cmpn(1)>0&&r.cmpn(1)>0;){for(var u=0,c=1;0==(e.words[0]&c)&&u<26;++u,c<<=1);if(u>0)for(e.iushrn(u);u-- >0;)o.isOdd()&&o.iadd(l),o.iushrn(1);for(var f=0,h=1;0==(r.words[0]&h)&&f<26;++f,h<<=1);if(f>0)for(r.iushrn(f);f-- >0;)s.isOdd()&&s.iadd(l),s.iushrn(1);e.cmp(r)>=0?(e.isub(r),o.isub(s)):(r.isub(e),s.isub(o))}return(i=0===e.cmpn(1)?o:s).cmpn(0)<0&&i.iadd(t),i},a.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var n=0;e.isEven()&&r.isEven();n++)e.iushrn(1),r.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;r.isEven();)r.iushrn(1);var i=e.cmp(r);if(i<0){var a=e;e=r,r=a}else if(0===i||0===r.cmpn(1))break;e.isub(r)}return r.iushln(n)},a.prototype.invm=function(t){return this.egcd(t).a.umod(t)},a.prototype.isEven=function(){return 0==(1&this.words[0])},a.prototype.isOdd=function(){return 1==(1&this.words[0])},a.prototype.andln=function(t){return this.words[0]&t},a.prototype.bincn=function(t){n("number"==typeof t);var e=t%26,r=(t-e)/26,i=1<<e;if(this.length<=r)return this._expand(r+1),this.words[r]|=i,this;for(var a=i,o=r;0!==a&&o<this.length;o++){var s=0|this.words[o];a=(s+=a)>>>26,s&=67108863,this.words[o]=s}return 0!==a&&(this.words[o]=a,this.length++),this},a.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},a.prototype.cmpn=function(t){var e,r=t<0;if(0!==this.negative&&!r)return-1;if(0===this.negative&&r)return 1;if(this.strip(),this.length>1)e=1;else{r&&(t=-t),n(t<=67108863,"Number is too big");var i=0|this.words[0];e=i===t?0:i<t?-1:1}return 0!==this.negative?0|-e:e},a.prototype.cmp=function(t){if(0!==this.negative&&0===t.negative)return-1;if(0===this.negative&&0!==t.negative)return 1;var e=this.ucmp(t);return 0!==this.negative?0|-e:e},a.prototype.ucmp=function(t){if(this.length>t.length)return 1;if(this.length<t.length)return-1;for(var e=0,r=this.length-1;r>=0;r--){var n=0|this.words[r],i=0|t.words[r];if(n!==i){n<i?e=-1:n>i&&(e=1);break}}return e},a.prototype.gtn=function(t){return 1===this.cmpn(t)},a.prototype.gt=function(t){return 1===this.cmp(t)},a.prototype.gten=function(t){return this.cmpn(t)>=0},a.prototype.gte=function(t){return this.cmp(t)>=0},a.prototype.ltn=function(t){return-1===this.cmpn(t)},a.prototype.lt=function(t){return-1===this.cmp(t)},a.prototype.lten=function(t){return this.cmpn(t)<=0},a.prototype.lte=function(t){return this.cmp(t)<=0},a.prototype.eqn=function(t){return 0===this.cmpn(t)},a.prototype.eq=function(t){return 0===this.cmp(t)},a.red=function(t){return new T(t)},a.prototype.toRed=function(t){return n(!this.red,"Already a number in reduction context"),n(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},a.prototype.fromRed=function(){return n(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},a.prototype._forceRed=function(t){return this.red=t,this},a.prototype.forceRed=function(t){return n(!this.red,"Already a number in reduction context"),this._forceRed(t)},a.prototype.redAdd=function(t){return n(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},a.prototype.redIAdd=function(t){return n(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},a.prototype.redSub=function(t){return n(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},a.prototype.redISub=function(t){return n(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},a.prototype.redShl=function(t){return n(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},a.prototype.redMul=function(t){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},a.prototype.redIMul=function(t){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},a.prototype.redSqr=function(){return n(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},a.prototype.redISqr=function(){return n(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},a.prototype.redSqrt=function(){return n(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},a.prototype.redInvm=function(){return n(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},a.prototype.redNeg=function(){return n(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},a.prototype.redPow=function(t){return n(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var y={k256:null,p224:null,p192:null,p25519:null};function m(t,e){this.name=t,this.p=new a(e,16),this.n=this.p.bitLength(),this.k=new a(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function x(){m.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function b(){m.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function _(){m.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function w(){m.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function T(t){if("string"==typeof t){var e=a._prime(t);this.m=e.p,this.prime=e}else n(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function k(t){T.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new a(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}m.prototype._tmp=function(){var t=new a(null);return t.words=new Array(Math.ceil(this.n/13)),t},m.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),e=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(e>this.n);var n=e<this.n?-1:r.ucmp(this.p);return 0===n?(r.words[0]=0,r.length=1):n>0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},m.prototype.split=function(t,e){t.iushrn(this.n,0,e)},m.prototype.imulK=function(t){return t.imul(this.k)},i(x,m),x.prototype.split=function(t,e){for(var r=4194303,n=Math.min(t.length,9),i=0;i<n;i++)e.words[i]=t.words[i];if(e.length=n,t.length<=9)return t.words[0]=0,void(t.length=1);var a=t.words[9];for(e.words[e.length++]=a&r,i=10;i<t.length;i++){var o=0|t.words[i];t.words[i-10]=(o&r)<<4|a>>>22,a=o}a>>>=22,t.words[i-10]=a,0===a&&t.length>10?t.length-=10:t.length-=9},x.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r<t.length;r++){var n=0|t.words[r];e+=977*n,t.words[r]=67108863&e,e=64*n+(e/67108864|0)}return 0===t.words[t.length-1]&&(t.length--,0===t.words[t.length-1]&&t.length--),t},i(b,m),i(_,m),i(w,m),w.prototype.imulK=function(t){for(var e=0,r=0;r<t.length;r++){var n=19*(0|t.words[r])+e,i=67108863&n;n>>>=26,t.words[r]=i,e=n}return 0!==e&&(t.words[t.length++]=e),t},a._prime=function(t){if(y[t])return y[t];var e;if("k256"===t)e=new x;else if("p224"===t)e=new b;else if("p192"===t)e=new _;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new w}return y[t]=e,e},T.prototype._verify1=function(t){n(0===t.negative,"red works only with positives"),n(t.red,"red works only with red numbers")},T.prototype._verify2=function(t,e){n(0==(t.negative|e.negative),"red works only with positives"),n(t.red&&t.red===e.red,"red works only with red numbers")},T.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},T.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},T.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},T.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},T.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},T.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},T.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},T.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},T.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},T.prototype.isqr=function(t){return this.imul(t,t.clone())},T.prototype.sqr=function(t){return this.mul(t,t)},T.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(n(e%2==1),3===e){var r=this.m.add(new a(1)).iushrn(2);return this.pow(t,r)}for(var i=this.m.subn(1),o=0;!i.isZero()&&0===i.andln(1);)o++,i.iushrn(1);n(!i.isZero());var s=new a(1).toRed(this),l=s.redNeg(),u=this.m.subn(1).iushrn(1),c=this.m.bitLength();for(c=new a(2*c*c).toRed(this);0!==this.pow(c,u).cmp(l);)c.redIAdd(l);for(var f=this.pow(c,i),h=this.pow(t,i.addn(1).iushrn(1)),p=this.pow(t,i),d=o;0!==p.cmp(s);){for(var v=p,g=0;0!==v.cmp(s);g++)v=v.redSqr();n(g<d);var y=this.pow(f,new a(1).iushln(d-g-1));h=h.redMul(y),f=y.redSqr(),p=p.redMul(f),d=g}return h},T.prototype.invm=function(t){var e=t._invmp(this.m);return 0!==e.negative?(e.negative=0,this.imod(e).redNeg()):this.imod(e)},T.prototype.pow=function(t,e){if(e.isZero())return new a(1).toRed(this);if(0===e.cmpn(1))return t.clone();var r=new Array(16);r[0]=new a(1).toRed(this),r[1]=t;for(var n=2;n<r.length;n++)r[n]=this.mul(r[n-1],t);var i=r[0],o=0,s=0,l=e.bitLength()%26;for(0===l&&(l=26),n=e.length-1;n>=0;n--){for(var u=e.words[n],c=l-1;c>=0;c--){var f=u>>c&1;i!==r[0]&&(i=this.sqr(i)),0!==f||0!==o?(o<<=1,o|=f,(4==++s||0===n&&0===c)&&(i=this.mul(i,r[o]),s=0,o=0)):s=0}l=26}return i},T.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},T.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},a.mont=function(t){return new k(t)},i(k,T),k.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},k.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},k.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),a=i;return i.cmp(this.m)>=0?a=i.isub(this.m):i.cmpn(0)<0&&(a=i.iadd(this.m)),a._forceRed(this)},k.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new a(0)._forceRed(this);var r=t.mul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),o=i;return i.cmp(this.m)>=0?o=i.isub(this.m):i.cmpn(0)<0&&(o=i.iadd(this.m)),o._forceRed(this)},k.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(t=r.nmd(t),this)},2692:function(t){"use strict";t.exports=function(t){var e,r,n,i=t.length,a=0;for(e=0;e<i;++e)a+=t[e].length;var o=new Array(a),s=0;for(e=0;e<i;++e){var l=t[e],u=l.length;for(r=0;r<u;++r){var c=o[s++]=new Array(u-1),f=0;for(n=0;n<u;++n)n!==r&&(c[f++]=l[n]);if(1&r){var h=c[1];c[1]=c[0],c[0]=h}}}return o}},2569:function(t,e,r){"use strict";t.exports=function(t,e,r){switch(arguments.length){case 1:return f(t);case 2:return"function"==typeof e?u(t,t,e,!0):h(t,e);case 3:return u(t,e,r,!1);default:throw new Error("box-intersect: Invalid arguments")}};var n,i=r(5306),a=r(1390),o=r(2337);function s(t,e){for(var r=0;r<t;++r)if(!(e[r]<=e[r+t]))return!0;return!1}function l(t,e,r,n){for(var i=0,a=0,o=0,l=t.length;o<l;++o){var u=t[o];if(!s(e,u)){for(var c=0;c<2*e;++c)r[i++]=u[c];n[a++]=o}}return a}function u(t,e,r,n){var s=t.length,u=e.length;if(!(s<=0||u<=0)){var c=t[0].length>>>1;if(!(c<=0)){var f,h=i.mallocDouble(2*c*s),p=i.mallocInt32(s);if((s=l(t,c,h,p))>0){if(1===c&&n)a.init(s),f=a.sweepComplete(c,r,0,s,h,p,0,s,h,p);else{var d=i.mallocDouble(2*c*u),v=i.mallocInt32(u);(u=l(e,c,d,v))>0&&(a.init(s+u),f=1===c?a.sweepBipartite(c,r,0,s,h,p,0,u,d,v):o(c,r,n,s,h,p,u,d,v),i.free(d),i.free(v))}i.free(h),i.free(p)}return f}}}function c(t,e){n.push([t,e])}function f(t){return n=[],u(t,t,c,!0),n}function h(t,e){return n=[],u(t,e,c,!1),n}},7333:function(t,e){"use strict";function r(t){return t?function(t,e,r,n,i,a,o,s,l,u,c){return i-n>l-s?function(t,e,r,n,i,a,o,s,l,u,c){for(var f=2*t,h=n,p=f*n;h<i;++h,p+=f){var d=a[e+p],v=a[e+p+t],g=o[h];t:for(var y=s,m=f*s;y<l;++y,m+=f){var x=u[e+m],b=u[e+m+t],_=c[y];if(!(b<d||v<x)){for(var w=e+1;w<t;++w){var T=a[w+p],k=a[w+t+p],A=u[w+m],M=u[w+t+m];if(k<A||M<T)continue t}var S=r(g,_);if(void 0!==S)return S}}}}(t,e,r,n,i,a,o,s,l,u,c):function(t,e,r,n,i,a,o,s,l,u,c){for(var f=2*t,h=s,p=f*s;h<l;++h,p+=f){var d=u[e+p],v=u[e+p+t],g=c[h];t:for(var y=n,m=f*n;y<i;++y,m+=f){var x=a[e+m],b=a[e+m+t],_=o[y];if(!(v<x||b<d)){for(var w=e+1;w<t;++w){var T=a[w+m],k=a[w+t+m],A=u[w+p],M=u[w+t+p];if(k<A||M<T)continue t}var S=r(_,g);if(void 0!==S)return S}}}}(t,e,r,n,i,a,o,s,l,u,c)}:function(t,e,r,n,i,a,o,s,l,u,c,f){return a-i>u-l?n?function(t,e,r,n,i,a,o,s,l,u,c){for(var f=2*t,h=n,p=f*n;h<i;++h,p+=f){var d=a[e+p],v=a[e+p+t],g=o[h];t:for(var y=s,m=f*s;y<l;++y,m+=f){var x=u[e+m],b=c[y];if(!(x<=d||v<x)){for(var _=e+1;_<t;++_){var w=a[_+p],T=a[_+t+p],k=u[_+m],A=u[_+t+m];if(T<k||A<w)continue t}var M=r(b,g);if(void 0!==M)return M}}}}(t,e,r,i,a,o,s,l,u,c,f):function(t,e,r,n,i,a,o,s,l,u,c){for(var f=2*t,h=n,p=f*n;h<i;++h,p+=f){var d=a[e+p],v=a[e+p+t],g=o[h];t:for(var y=s,m=f*s;y<l;++y,m+=f){var x=u[e+m],b=c[y];if(!(x<d||v<x)){for(var _=e+1;_<t;++_){var w=a[_+p],T=a[_+t+p],k=u[_+m],A=u[_+t+m];if(T<k||A<w)continue t}var M=r(g,b);if(void 0!==M)return M}}}}(t,e,r,i,a,o,s,l,u,c,f):n?function(t,e,r,n,i,a,o,s,l,u,c){for(var f=2*t,h=s,p=f*s;h<l;++h,p+=f){var d=u[e+p],v=c[h];t:for(var g=n,y=f*n;g<i;++g,y+=f){var m=a[e+y],x=a[e+y+t],b=o[g];if(!(d<=m||x<d)){for(var _=e+1;_<t;++_){var w=a[_+y],T=a[_+t+y],k=u[_+p],A=u[_+t+p];if(T<k||A<w)continue t}var M=r(v,b);if(void 0!==M)return M}}}}(t,e,r,i,a,o,s,l,u,c,f):function(t,e,r,n,i,a,o,s,l,u,c){for(var f=2*t,h=s,p=f*s;h<l;++h,p+=f){var d=u[e+p],v=c[h];t:for(var g=n,y=f*n;g<i;++g,y+=f){var m=a[e+y],x=a[e+y+t],b=o[g];if(!(d<m||x<d)){for(var _=e+1;_<t;++_){var w=a[_+y],T=a[_+t+y],k=u[_+p],A=u[_+t+p];if(T<k||A<w)continue t}var M=r(b,v);if(void 0!==M)return M}}}}(t,e,r,i,a,o,s,l,u,c,f)}}e.partial=r(!1),e.full=r(!0)},2337:function(t,e,r){"use strict";t.exports=function(t,e,r,a,c,w,T,k,A){!function(t,e){var r=8*i.log2(e+1)*(t+1)|0,a=i.nextPow2(6*r);y.length<a&&(n.free(y),y=n.mallocInt32(a));var o=i.nextPow2(2*r);m.length<o&&(n.free(m),m=n.mallocDouble(o))}(t,a+T);var M,S=0,E=2*t;for(x(S++,0,0,a,0,T,r?16:0,-1/0,1/0),r||x(S++,0,0,T,0,a,1,-1/0,1/0);S>0;){var L=6*(S-=1),C=y[L],P=y[L+1],O=y[L+2],I=y[L+3],D=y[L+4],z=y[L+5],R=2*S,F=m[R],B=m[R+1],N=1&z,j=!!(16&z),U=c,V=w,H=k,q=A;if(N&&(U=k,V=A,H=c,q=w),!(2&z&&(O=p(t,C,P,O,U,V,B),P>=O)||4&z&&(P=d(t,C,P,O,U,V,F))>=O)){var G=O-P,Z=D-I;if(j){if(t*G*(G+Z)<4194304){if(void 0!==(M=l.scanComplete(t,C,e,P,O,U,V,I,D,H,q)))return M;continue}}else{if(t*Math.min(G,Z)<128){if(void 0!==(M=o(t,C,e,N,P,O,U,V,I,D,H,q)))return M;continue}if(t*G*Z<4194304){if(void 0!==(M=l.scanBipartite(t,C,e,N,P,O,U,V,I,D,H,q)))return M;continue}}var Y=f(t,C,P,O,U,V,F,B);if(P<Y)if(t*(Y-P)<128){if(void 0!==(M=s(t,C+1,e,P,Y,U,V,I,D,H,q)))return M}else if(C===t-2){if(void 0!==(M=N?l.sweepBipartite(t,e,I,D,H,q,P,Y,U,V):l.sweepBipartite(t,e,P,Y,U,V,I,D,H,q)))return M}else x(S++,C+1,P,Y,I,D,N,-1/0,1/0),x(S++,C+1,I,D,P,Y,1^N,-1/0,1/0);if(Y<O){var W=u(t,C,I,D,H,q),X=H[E*W+C],J=h(t,C,W,D,H,q,X);if(J<D&&x(S++,C,Y,O,J,D,(4|N)+(j?16:0),X,B),I<W&&x(S++,C,Y,O,I,W,(2|N)+(j?16:0),F,X),W+1===J){if(void 0!==(M=j?_(t,C,e,Y,O,U,V,W,H,q[W]):b(t,C,e,N,Y,O,U,V,W,H,q[W])))return M}else if(W<J){var K;if(j){if(Y<(K=v(t,C,Y,O,U,V,X))){var $=h(t,C,Y,K,U,V,X);if(C===t-2){if(Y<$&&void 0!==(M=l.sweepComplete(t,e,Y,$,U,V,W,J,H,q)))return M;if($<K&&void 0!==(M=l.sweepBipartite(t,e,$,K,U,V,W,J,H,q)))return M}else Y<$&&x(S++,C+1,Y,$,W,J,16,-1/0,1/0),$<K&&(x(S++,C+1,$,K,W,J,0,-1/0,1/0),x(S++,C+1,W,J,$,K,1,-1/0,1/0))}}else Y<(K=N?g(t,C,Y,O,U,V,X):v(t,C,Y,O,U,V,X))&&(C===t-2?M=N?l.sweepBipartite(t,e,W,J,H,q,Y,K,U,V):l.sweepBipartite(t,e,Y,K,U,V,W,J,H,q):(x(S++,C+1,Y,K,W,J,N,-1/0,1/0),x(S++,C+1,W,J,Y,K,1^N,-1/0,1/0)))}}}}};var n=r(5306),i=r(2288),a=r(7333),o=a.partial,s=a.full,l=r(1390),u=r(2464),c=r(122),f=c("!(lo>=p0)&&!(p1>=hi)"),h=c("lo===p0"),p=c("lo<p0"),d=c("hi<=p0"),v=c("lo<=p0&&p0<=hi"),g=c("lo<p0&&p0<=hi"),y=n.mallocInt32(1024),m=n.mallocDouble(1024);function x(t,e,r,n,i,a,o,s,l){var u=6*t;y[u]=e,y[u+1]=r,y[u+2]=n,y[u+3]=i,y[u+4]=a,y[u+5]=o;var c=2*t;m[c]=s,m[c+1]=l}function b(t,e,r,n,i,a,o,s,l,u,c){var f=2*t,h=l*f,p=u[h+e];t:for(var d=i,v=i*f;d<a;++d,v+=f){var g=o[v+e],y=o[v+e+t];if(!(p<g||y<p||n&&p===g)){for(var m,x=s[d],b=e+1;b<t;++b){g=o[v+b],y=o[v+b+t];var _=u[h+b],w=u[h+b+t];if(y<_||w<g)continue t}if(void 0!==(m=n?r(c,x):r(x,c)))return m}}}function _(t,e,r,n,i,a,o,s,l,u){var c=2*t,f=s*c,h=l[f+e];t:for(var p=n,d=n*c;p<i;++p,d+=c){var v=o[p];if(v!==u){var g=a[d+e],y=a[d+e+t];if(!(h<g||y<h)){for(var m=e+1;m<t;++m){g=a[d+m],y=a[d+m+t];var x=l[f+m],b=l[f+m+t];if(y<x||b<g)continue t}var _=r(v,u);if(void 0!==_)return _}}}}},2464:function(t,e,r){"use strict";t.exports=function(t,e,r,a,o,s){if(a<=r+1)return r;for(var l=r,u=a,c=a+r>>>1,f=2*t,h=c,p=o[f*c+e];l<u;){if(u-l<8){i(t,e,l,u,o,s),p=o[f*c+e];break}var d=u-l,v=Math.random()*d+l|0,g=o[f*v+e],y=Math.random()*d+l|0,m=o[f*y+e],x=Math.random()*d+l|0,b=o[f*x+e];g<=m?b>=m?(h=y,p=m):g>=b?(h=v,p=g):(h=x,p=b):m>=b?(h=y,p=m):b>=g?(h=v,p=g):(h=x,p=b);for(var _=f*(u-1),w=f*h,T=0;T<f;++T,++_,++w){var k=o[_];o[_]=o[w],o[w]=k}var A=s[u-1];for(s[u-1]=s[h],s[h]=A,_=f*(u-1),w=f*(h=n(t,e,l,u-1,o,s,p)),T=0;T<f;++T,++_,++w)k=o[_],o[_]=o[w],o[w]=k;if(A=s[u-1],s[u-1]=s[h],s[h]=A,c<h){for(u=h-1;l<u&&o[f*(u-1)+e]===p;)u-=1;u+=1}else{if(!(h<c))break;for(l=h+1;l<u&&o[f*l+e]===p;)l+=1}}return n(t,e,r,c,o,s,o[f*c+e])};var n=r(122)("lo<p0");function i(t,e,r,n,i,a){for(var o=2*t,s=o*(r+1)+e,l=r+1;l<n;++l,s+=o)for(var u=i[s],c=l,f=o*(l-1);c>r&&i[f+e]>u;--c,f-=o){for(var h=f,p=f+o,d=0;d<o;++d,++h,++p){var v=i[h];i[h]=i[p],i[p]=v}var g=a[c];a[c]=a[c-1],a[c-1]=g}}},122:function(t){"use strict";t.exports=function(t){return e[t]};var e={"lo===p0":function(t,e,r,n,i,a,o){for(var s=2*t,l=s*r,u=l,c=r,f=e,h=r;n>h;++h,l+=s)if(i[l+f]===o)if(c===h)c+=1,u+=s;else{for(var p=0;s>p;++p){var d=i[l+p];i[l+p]=i[u],i[u++]=d}var v=a[h];a[h]=a[c],a[c++]=v}return c},"lo<p0":function(t,e,r,n,i,a,o){for(var s=2*t,l=s*r,u=l,c=r,f=e,h=r;n>h;++h,l+=s)if(i[l+f]<o)if(c===h)c+=1,u+=s;else{for(var p=0;s>p;++p){var d=i[l+p];i[l+p]=i[u],i[u++]=d}var v=a[h];a[h]=a[c],a[c++]=v}return c},"lo<=p0":function(t,e,r,n,i,a,o){for(var s=2*t,l=s*r,u=l,c=r,f=t+e,h=r;n>h;++h,l+=s)if(i[l+f]<=o)if(c===h)c+=1,u+=s;else{for(var p=0;s>p;++p){var d=i[l+p];i[l+p]=i[u],i[u++]=d}var v=a[h];a[h]=a[c],a[c++]=v}return c},"hi<=p0":function(t,e,r,n,i,a,o){for(var s=2*t,l=s*r,u=l,c=r,f=t+e,h=r;n>h;++h,l+=s)if(i[l+f]<=o)if(c===h)c+=1,u+=s;else{for(var p=0;s>p;++p){var d=i[l+p];i[l+p]=i[u],i[u++]=d}var v=a[h];a[h]=a[c],a[c++]=v}return c},"lo<p0&&p0<=hi":function(t,e,r,n,i,a,o){for(var s=2*t,l=s*r,u=l,c=r,f=e,h=t+e,p=r;n>p;++p,l+=s){var d=i[l+f],v=i[l+h];if(d<o&&o<=v)if(c===p)c+=1,u+=s;else{for(var g=0;s>g;++g){var y=i[l+g];i[l+g]=i[u],i[u++]=y}var m=a[p];a[p]=a[c],a[c++]=m}}return c},"lo<=p0&&p0<=hi":function(t,e,r,n,i,a,o){for(var s=2*t,l=s*r,u=l,c=r,f=e,h=t+e,p=r;n>p;++p,l+=s){var d=i[l+f],v=i[l+h];if(d<=o&&o<=v)if(c===p)c+=1,u+=s;else{for(var g=0;s>g;++g){var y=i[l+g];i[l+g]=i[u],i[u++]=y}var m=a[p];a[p]=a[c],a[c++]=m}}return c},"!(lo>=p0)&&!(p1>=hi)":function(t,e,r,n,i,a,o,s){for(var l=2*t,u=l*r,c=u,f=r,h=e,p=t+e,d=r;n>d;++d,u+=l){var v=i[u+h],g=i[u+p];if(!(v>=o||s>=g))if(f===d)f+=1,c+=l;else{for(var y=0;l>y;++y){var m=i[u+y];i[u+y]=i[c],i[c++]=m}var x=a[d];a[d]=a[f],a[f++]=x}}return f}}},309:function(t){"use strict";function e(t,e,r){for(var n=2*(t+1),i=t+1;i<=e;++i){for(var a=r[n++],o=r[n++],s=i,l=n-2;s-- >t;){var u=r[l-2],c=r[l-1];if(u<a)break;if(u===a&&c<o)break;r[l]=u,r[l+1]=c,l-=2}r[l]=a,r[l+1]=o}}function r(t,e,r){e*=2;var n=r[t*=2],i=r[t+1];r[t]=r[e],r[t+1]=r[e+1],r[e]=n,r[e+1]=i}function n(t,e,r){e*=2,r[t*=2]=r[e],r[t+1]=r[e+1]}function i(t,e,r,n){e*=2,r*=2;var i=n[t*=2],a=n[t+1];n[t]=n[e],n[t+1]=n[e+1],n[e]=n[r],n[e+1]=n[r+1],n[r]=i,n[r+1]=a}function a(t,e,r,n,i){e*=2,i[t*=2]=i[e],i[e]=r,i[t+1]=i[e+1],i[e+1]=n}function o(t,e,r){e*=2;var n=r[t*=2],i=r[e];return!(n<i)&&(n!==i||r[t+1]>r[e+1])}function s(t,e,r,n){var i=n[t*=2];return i<e||i===e&&n[t+1]<r}function l(t,u,c){var f=(u-t+1)/6|0,h=t+f,p=u-f,d=t+u>>1,v=d-f,g=d+f,y=h,m=v,x=d,b=g,_=p,w=t+1,T=u-1,k=0;o(y,m,c)&&(k=y,y=m,m=k),o(b,_,c)&&(k=b,b=_,_=k),o(y,x,c)&&(k=y,y=x,x=k),o(m,x,c)&&(k=m,m=x,x=k),o(y,b,c)&&(k=y,y=b,b=k),o(x,b,c)&&(k=x,x=b,b=k),o(m,_,c)&&(k=m,m=_,_=k),o(m,x,c)&&(k=m,m=x,x=k),o(b,_,c)&&(k=b,b=_,_=k);for(var A=c[2*m],M=c[2*m+1],S=c[2*b],E=c[2*b+1],L=2*y,C=2*x,P=2*_,O=2*h,I=2*d,D=2*p,z=0;z<2;++z){var R=c[L+z],F=c[C+z],B=c[P+z];c[O+z]=R,c[I+z]=F,c[D+z]=B}n(v,t,c),n(g,u,c);for(var N=w;N<=T;++N)if(s(N,A,M,c))N!==w&&r(N,w,c),++w;else if(!s(N,S,E,c))for(;;){if(s(T,S,E,c)){s(T,A,M,c)?(i(N,w,T,c),++w,--T):(r(N,T,c),--T);break}if(--T<N)break}a(t,w-1,A,M,c),a(u,T+1,S,E,c),w-2-t<=32?e(t,w-2,c):l(t,w-2,c),u-(T+2)<=32?e(T+2,u,c):l(T+2,u,c),T-w<=32?e(w,T,c):l(w,T,c)}t.exports=function(t,r){r<=128?e(0,r-1,t):l(0,r-1,t)}},1390:function(t,e,r){"use strict";t.exports={init:function(t){var e=i.nextPow2(t);l.length<e&&(n.free(l),l=n.mallocInt32(e)),u.length<e&&(n.free(u),u=n.mallocInt32(e)),c.length<e&&(n.free(c),c=n.mallocInt32(e)),f.length<e&&(n.free(f),f=n.mallocInt32(e)),h.length<e&&(n.free(h),h=n.mallocInt32(e)),p.length<e&&(n.free(p),p=n.mallocInt32(e));var r=8*e;d.length<r&&(n.free(d),d=n.mallocDouble(r))},sweepBipartite:function(t,e,r,n,i,s,h,p,y,m){for(var x=0,b=2*t,_=t-1,w=b-1,T=r;T<n;++T){var k=s[T],A=b*T;d[x++]=i[A+_],d[x++]=-(k+1),d[x++]=i[A+w],d[x++]=k}for(T=h;T<p;++T){k=m[T]+o;var M=b*T;d[x++]=y[M+_],d[x++]=-k,d[x++]=y[M+w],d[x++]=k}var S=x>>>1;a(d,S);var E=0,L=0;for(T=0;T<S;++T){var C=0|d[2*T+1];if(C>=o)v(c,f,L--,C=C-o|0);else if(C>=0)v(l,u,E--,C);else if(C<=-268435456){C=-C-o|0;for(var P=0;P<E;++P)if(void 0!==(O=e(l[P],C)))return O;g(c,f,L++,C)}else{for(C=-C-1|0,P=0;P<L;++P){var O;if(void 0!==(O=e(C,c[P])))return O}g(l,u,E++,C)}}},sweepComplete:function(t,e,r,n,i,o,s,y,m,x){for(var b=0,_=2*t,w=t-1,T=_-1,k=r;k<n;++k){var A=o[k]+1<<1,M=_*k;d[b++]=i[M+w],d[b++]=-A,d[b++]=i[M+T],d[b++]=A}for(k=s;k<y;++k){A=x[k]+1<<1;var S=_*k;d[b++]=m[S+w],d[b++]=1|-A,d[b++]=m[S+T],d[b++]=1|A}var E=b>>>1;a(d,E);var L=0,C=0,P=0;for(k=0;k<E;++k){var O=0|d[2*k+1],I=1&O;if(k<E-1&&O>>1==d[2*k+3]>>1&&(I=2,k+=1),O<0){for(var D=-(O>>1)-1,z=0;z<P;++z)if(void 0!==(R=e(h[z],D)))return R;if(0!==I)for(z=0;z<L;++z)if(void 0!==(R=e(l[z],D)))return R;if(1!==I)for(z=0;z<C;++z){var R;if(void 0!==(R=e(c[z],D)))return R}0===I?g(l,u,L++,D):1===I?g(c,f,C++,D):2===I&&g(h,p,P++,D)}else D=(O>>1)-1,0===I?v(l,u,L--,D):1===I?v(c,f,C--,D):2===I&&v(h,p,P--,D)}},scanBipartite:function(t,e,r,n,i,s,c,f,h,p,y,m){var x=0,b=2*t,_=e,w=e+t,T=1,k=1;n?k=o:T=o;for(var A=i;A<s;++A){var M=A+T,S=b*A;d[x++]=c[S+_],d[x++]=-M,d[x++]=c[S+w],d[x++]=M}for(A=h;A<p;++A){M=A+k;var E=b*A;d[x++]=y[E+_],d[x++]=-M}var L=x>>>1;a(d,L);var C=0;for(A=0;A<L;++A){var P=0|d[2*A+1];if(P<0){var O=!1;if((M=-P)>=o?(O=!n,M-=o):(O=!!n,M-=1),O)g(l,u,C++,M);else{var I=m[M],D=b*M,z=y[D+e+1],R=y[D+e+1+t];t:for(var F=0;F<C;++F){var B=l[F],N=b*B;if(!(R<c[N+e+1]||c[N+e+1+t]<z)){for(var j=e+2;j<t;++j)if(y[D+j+t]<c[N+j]||c[N+j+t]<y[D+j])continue t;var U,V=f[B];if(void 0!==(U=n?r(I,V):r(V,I)))return U}}}}else v(l,u,C--,P-T)}},scanComplete:function(t,e,r,n,i,s,u,c,f,h,p){for(var v=0,g=2*t,y=e,m=e+t,x=n;x<i;++x){var b=x+o,_=g*x;d[v++]=s[_+y],d[v++]=-b,d[v++]=s[_+m],d[v++]=b}for(x=c;x<f;++x){b=x+1;var w=g*x;d[v++]=h[w+y],d[v++]=-b}var T=v>>>1;a(d,T);var k=0;for(x=0;x<T;++x){var A=0|d[2*x+1];if(A<0)if((b=-A)>=o)l[k++]=b-o;else{var M=p[b-=1],S=g*b,E=h[S+e+1],L=h[S+e+1+t];t:for(var C=0;C<k;++C){var P=l[C],O=u[P];if(O===M)break;var I=g*P;if(!(L<s[I+e+1]||s[I+e+1+t]<E)){for(var D=e+2;D<t;++D)if(h[S+D+t]<s[I+D]||s[I+D+t]<h[S+D])continue t;var z=r(O,M);if(void 0!==z)return z}}}else{for(b=A-o,C=k-1;C>=0;--C)if(l[C]===b){for(D=C+1;D<k;++D)l[D-1]=l[D];break}--k}}}};var n=r(5306),i=r(2288),a=r(309),o=1<<28,s=1024,l=n.mallocInt32(s),u=n.mallocInt32(s),c=n.mallocInt32(s),f=n.mallocInt32(s),h=n.mallocInt32(s),p=n.mallocInt32(s),d=n.mallocDouble(8192);function v(t,e,r,n){var i=e[n],a=t[r-1];t[i]=a,e[a]=i}function g(t,e,r,n){t[r]=n,e[n]=r}},7761:function(t,e,r){"use strict";var n=r(9971),i=r(743),a=r(2161),o=r(7098);function s(t){return[Math.min(t[0],t[1]),Math.max(t[0],t[1])]}function l(t,e){return t[0]-e[0]||t[1]-e[1]}function u(t,e,r){return e in t?t[e]:r}t.exports=function(t,e,r){Array.isArray(e)?(r=r||{},e=e||[]):(r=e||{},e=[]);var c=!!u(r,"delaunay",!0),f=!!u(r,"interior",!0),h=!!u(r,"exterior",!0),p=!!u(r,"infinity",!1);if(!f&&!h||0===t.length)return[];var d=n(t,e);if(c||f!==h||p){for(var v=i(t.length,function(t){return t.map(s).sort(l)}(e)),g=0;g<d.length;++g){var y=d[g];v.addTriangle(y[0],y[1],y[2])}return c&&a(t,v),h?f?p?o(v,0,p):v.cells():o(v,1,p):o(v,-1)}return d}},2161:function(t,e,r){"use strict";var n=r(2227)[4];function i(t,e,r,i,a,o){var s=e.opposite(i,a);if(!(s<0)){if(a<i){var l=i;i=a,a=l,l=o,o=s,s=l}e.isConstraint(i,a)||n(t[i],t[a],t[o],t[s])<0&&r.push(i,a)}}r(5070),t.exports=function(t,e){for(var r=[],a=t.length,o=e.stars,s=0;s<a;++s)for(var l=o[s],u=1;u<l.length;u+=2)if(!((p=l[u])<s||e.isConstraint(s,p))){for(var c=l[u-1],f=-1,h=1;h<l.length;h+=2)if(l[h-1]===p){f=l[h];break}f<0||n(t[s],t[p],t[c],t[f])<0&&r.push(s,p)}for(;r.length>0;){for(var p=r.pop(),d=(c=-1,f=-1,l=o[s=r.pop()],1);d<l.length;d+=2){var v=l[d-1],g=l[d];v===p?f=g:g===p&&(c=v)}c<0||f<0||n(t[s],t[p],t[c],t[f])>=0||(e.flip(s,p),i(t,e,r,c,s,f),i(t,e,r,s,f,c),i(t,e,r,f,p,c),i(t,e,r,p,c,f))}}},7098:function(t,e,r){"use strict";var n,i=r(5070);function a(t,e,r,n,i,a,o){this.cells=t,this.neighbor=e,this.flags=n,this.constraint=r,this.active=i,this.next=a,this.boundary=o}function o(t,e){return t[0]-e[0]||t[1]-e[1]||t[2]-e[2]}t.exports=function(t,e,r){var n=function(t,e){for(var r=t.cells(),n=r.length,i=0;i<n;++i){var s=(y=r[i])[0],l=y[1],u=y[2];l<u?l<s&&(y[0]=l,y[1]=u,y[2]=s):u<s&&(y[0]=u,y[1]=s,y[2]=l)}r.sort(o);var c=new Array(n);for(i=0;i<c.length;++i)c[i]=0;var f=[],h=[],p=new Array(3*n),d=new Array(3*n),v=null;e&&(v=[]);var g=new a(r,p,d,c,f,h,v);for(i=0;i<n;++i)for(var y=r[i],m=0;m<3;++m){s=y[m],l=y[(m+1)%3];var x=p[3*i+m]=g.locate(l,s,t.opposite(l,s)),b=d[3*i+m]=t.isConstraint(s,l);x<0&&(b?h.push(i):(f.push(i),c[i]=1),e&&v.push([l,s,-1]))}return g}(t,r);if(0===e)return r?n.cells.concat(n.boundary):n.cells;for(var i=1,s=n.active,l=n.next,u=n.flags,c=n.cells,f=n.constraint,h=n.neighbor;s.length>0||l.length>0;){for(;s.length>0;){var p=s.pop();if(u[p]!==-i){u[p]=i,c[p];for(var d=0;d<3;++d){var v=h[3*p+d];v>=0&&0===u[v]&&(f[3*p+d]?l.push(v):(s.push(v),u[v]=i))}}}var g=l;l=s,s=g,l.length=0,i=-i}var y=function(t,e,r){for(var n=0,i=0;i<t.length;++i)e[i]===r&&(t[n++]=t[i]);return t.length=n,t}(c,u,e);return r?y.concat(n.boundary):y},a.prototype.locate=(n=[0,0,0],function(t,e,r){var a=t,s=e,l=r;return e<r?e<t&&(a=e,s=r,l=t):r<t&&(a=r,s=t,l=e),a<0?-1:(n[0]=a,n[1]=s,n[2]=l,i.eq(this.cells,n,o))})},9971:function(t,e,r){"use strict";var n=r(5070),i=r(417)[3];function a(t,e,r,n,i){this.a=t,this.b=e,this.idx=r,this.lowerIds=n,this.upperIds=i}function o(t,e,r,n){this.a=t,this.b=e,this.type=r,this.idx=n}function s(t,e){var r=t.a[0]-e.a[0]||t.a[1]-e.a[1]||t.type-e.type;return r||(0!==t.type&&(r=i(t.a,t.b,e.b))?r:t.idx-e.idx)}function l(t,e){return i(t.a,t.b,e)}function u(t,e,r,a,o){for(var s=n.lt(e,a,l),u=n.gt(e,a,l),c=s;c<u;++c){for(var f=e[c],h=f.lowerIds,p=h.length;p>1&&i(r[h[p-2]],r[h[p-1]],a)>0;)t.push([h[p-1],h[p-2],o]),p-=1;h.length=p,h.push(o);var d=f.upperIds;for(p=d.length;p>1&&i(r[d[p-2]],r[d[p-1]],a)<0;)t.push([d[p-2],d[p-1],o]),p-=1;d.length=p,d.push(o)}}function c(t,e){var r;return(r=t.a[0]<e.a[0]?i(t.a,t.b,e.a):i(e.b,e.a,t.a))?r:(r=e.b[0]<t.b[0]?i(t.a,t.b,e.b):i(e.b,e.a,t.b))||t.idx-e.idx}function f(t,e,r){var i=n.le(t,r,c),o=t[i],s=o.upperIds,l=s[s.length-1];o.upperIds=[l],t.splice(i+1,0,new a(r.a,r.b,r.idx,[l],s))}function h(t,e,r){var i=r.a;r.a=r.b,r.b=i;var a=n.eq(t,r,c),o=t[a];t[a-1].upperIds=o.upperIds,t.splice(a,1)}t.exports=function(t,e){for(var r=t.length,n=e.length,i=[],l=0;l<r;++l)i.push(new o(t[l],null,0,l));for(l=0;l<n;++l){var c=e[l],p=t[c[0]],d=t[c[1]];p[0]<d[0]?i.push(new o(p,d,2,l),new o(d,p,1,l)):p[0]>d[0]&&i.push(new o(d,p,2,l),new o(p,d,1,l))}i.sort(s);for(var v=i[0].a[0]-(1+Math.abs(i[0].a[0]))*Math.pow(2,-52),g=[new a([v,1],[v,0],-1,[],[],[],[])],y=[],m=(l=0,i.length);l<m;++l){var x=i[l],b=x.type;0===b?u(y,g,t,x.a,x.idx):2===b?f(g,0,x):h(g,0,x)}return y}},743:function(t,e,r){"use strict";var n=r(5070);function i(t,e){this.stars=t,this.edges=e}t.exports=function(t,e){for(var r=new Array(t),n=0;n<t;++n)r[n]=[];return new i(r,e)};var a=i.prototype;function o(t,e,r){for(var n=1,i=t.length;n<i;n+=2)if(t[n-1]===e&&t[n]===r)return t[n-1]=t[i-2],t[n]=t[i-1],void(t.length=i-2)}a.isConstraint=function(){var t=[0,0];function e(t,e){return t[0]-e[0]||t[1]-e[1]}return function(r,i){return t[0]=Math.min(r,i),t[1]=Math.max(r,i),n.eq(this.edges,t,e)>=0}}(),a.removeTriangle=function(t,e,r){var n=this.stars;o(n[t],e,r),o(n[e],r,t),o(n[r],t,e)},a.addTriangle=function(t,e,r){var n=this.stars;n[t].push(e,r),n[e].push(r,t),n[r].push(t,e)},a.opposite=function(t,e){for(var r=this.stars[e],n=1,i=r.length;n<i;n+=2)if(r[n]===t)return r[n-1];return-1},a.flip=function(t,e){var r=this.opposite(t,e),n=this.opposite(e,t);this.removeTriangle(t,e,r),this.removeTriangle(e,t,n),this.addTriangle(t,n,r),this.addTriangle(e,r,n)},a.edges=function(){for(var t=this.stars,e=[],r=0,n=t.length;r<n;++r)for(var i=t[r],a=0,o=i.length;a<o;a+=2)e.push([i[a],i[a+1]]);return e},a.cells=function(){for(var t=this.stars,e=[],r=0,n=t.length;r<n;++r)for(var i=t[r],a=0,o=i.length;a<o;a+=2){var s=i[a],l=i[a+1];r<Math.min(s,l)&&e.push([r,s,l])}return e}},9887:function(t){"use strict";t.exports=function(t){for(var e=1,r=1;r<t.length;++r)for(var n=0;n<r;++n)if(t[r]<t[n])e=-e;else if(t[n]===t[r])return 0;return e}},9243:function(t,e,r){"use strict";var n=r(3094),i=r(6606);function a(t,e){for(var r=0,n=t.length,i=0;i<n;++i)r+=t[i]*e[i];return r}function o(t){var e=t.length;if(0===e)return[];t[0].length;var r=n([t.length+1,t.length+1],1),o=n([t.length+1],1);r[e][e]=0;for(var s=0;s<e;++s){for(var l=0;l<=s;++l)r[l][s]=r[s][l]=2*a(t[s],t[l]);o[s]=a(t[s],t[s])}var u=i(r,o),c=0,f=u[e+1];for(s=0;s<f.length;++s)c+=f[s];var h=new Array(e);for(s=0;s<e;++s){f=u[s];var p=0;for(l=0;l<f.length;++l)p+=f[l];h[s]=p/c}return h}function s(t){if(0===t.length)return[];for(var e=t[0].length,r=n([e]),i=o(t),a=0;a<t.length;++a)for(var s=0;s<e;++s)r[s]+=t[a][s]*i[a];return r}s.barycenetric=o,t.exports=s},1778:function(t,e,r){t.exports=function(t){for(var e=n(t),r=0,i=0;i<t.length;++i)for(var a=t[i],o=0;o<e.length;++o)r+=Math.pow(a[o]-e[o],2);return Math.sqrt(r/t.length)};var n=r(9243)},197:function(t,e,r){"use strict";t.exports=function(t,e,r){var n;if(r){n=e;for(var i=new Array(e.length),a=0;a<e.length;++a){var o=e[a];i[a]=[o[0],o[1],r[a]]}e=i}for(var s=function(t,e,r){var n=d(t,[],p(t));return y(e,n,r),!!n}(t,e,!!r);m(t,e,!!r);)s=!0;if(r&&s)for(n.length=0,r.length=0,a=0;a<e.length;++a)o=e[a],n.push([o[0],o[1]]),r.push(o[2]);return s};var n=r(1731),i=r(2569),a=r(4434),o=r(5125),s=r(8846),l=r(7999),u=r(2826),c=r(8551),f=r(5528);function h(t){var e=l(t);return[c(e,-1/0),c(e,1/0)]}function p(t){for(var e=new Array(t.length),r=0;r<t.length;++r){var n=t[r];e[r]=[c(n[0],-1/0),c(n[1],-1/0),c(n[0],1/0),c(n[1],1/0)]}return e}function d(t,e,r){for(var a=e.length,o=new n(a),s=[],l=0;l<e.length;++l){var u=e[l],f=h(u[0]),p=h(u[1]);s.push([c(f[0],-1/0),c(p[0],-1/0),c(f[1],1/0),c(p[1],1/0)])}i(s,(function(t,e){o.link(t,e)}));var d=!0,v=new Array(a);for(l=0;l<a;++l)(y=o.find(l))!==l&&(d=!1,t[y]=[Math.min(t[l][0],t[y][0]),Math.min(t[l][1],t[y][1])]);if(d)return null;var g=0;for(l=0;l<a;++l){var y;(y=o.find(l))===l?(v[l]=g,t[g++]=t[l]):v[l]=-1}for(t.length=g,l=0;l<a;++l)v[l]<0&&(v[l]=v[o.find(l)]);return v}function v(t,e){return t[0]-e[0]||t[1]-e[1]}function g(t,e){return t[0]-e[0]||t[1]-e[1]||(t[2]<e[2]?-1:t[2]>e[2]?1:0)}function y(t,e,r){if(0!==t.length){if(e)for(var n=0;n<t.length;++n){var i=e[(o=t[n])[0]],a=e[o[1]];o[0]=Math.min(i,a),o[1]=Math.max(i,a)}else for(n=0;n<t.length;++n){var o;i=(o=t[n])[0],a=o[1],o[0]=Math.min(i,a),o[1]=Math.max(i,a)}r?t.sort(g):t.sort(v);var s=1;for(n=1;n<t.length;++n){var l=t[n-1],u=t[n];(u[0]!==l[0]||u[1]!==l[1]||r&&u[2]!==l[2])&&(t[s++]=u)}t.length=s}}function m(t,e,r){var n=function(t,e){for(var r=new Array(e.length),n=0;n<e.length;++n){var i=e[n],a=t[i[0]],o=t[i[1]];r[n]=[c(Math.min(a[0],o[0]),-1/0),c(Math.min(a[1],o[1]),-1/0),c(Math.max(a[0],o[0]),1/0),c(Math.max(a[1],o[1]),1/0)]}return r}(t,e),h=function(t,e,r){var n=[];return i(r,(function(r,i){var o=e[r],s=e[i];if(o[0]!==s[0]&&o[0]!==s[1]&&o[1]!==s[0]&&o[1]!==s[1]){var l=t[o[0]],u=t[o[1]],c=t[s[0]],f=t[s[1]];a(l,u,c,f)&&n.push([r,i])}})),n}(t,e,n),v=function(t,e,r,n){var o=[];return i(r,n,(function(r,n){var i=e[r];if(i[0]!==n&&i[1]!==n){var s=t[n],l=t[i[0]],u=t[i[1]];a(l,u,s,s)&&o.push([r,n])}})),o}(t,e,n,p(t)),g=function(t,e,r,n,i){var a,c,h=t.map((function(t){return[o(t[0]),o(t[1])]}));for(a=0;a<r.length;++a){var p=r[a];c=p[0];var d=p[1],v=e[c],g=e[d],y=f(u(t[v[0]]),u(t[v[1]]),u(t[g[0]]),u(t[g[1]]));if(y){var m=t.length;t.push([l(y[0]),l(y[1])]),h.push(y),n.push([c,m],[d,m])}}for(n.sort((function(t,e){if(t[0]!==e[0])return t[0]-e[0];var r=h[t[1]],n=h[e[1]];return s(r[0],n[0])||s(r[1],n[1])})),a=n.length-1;a>=0;--a){var x=e[c=(S=n[a])[0]],b=x[0],_=x[1],w=t[b],T=t[_];if((w[0]-T[0]||w[1]-T[1])<0){var k=b;b=_,_=k}x[0]=b;var A,M=x[1]=S[1];for(i&&(A=x[2]);a>0&&n[a-1][0]===c;){var S,E=(S=n[--a])[1];i?e.push([M,E,A]):e.push([M,E]),M=E}i?e.push([M,_,A]):e.push([M,_])}return h}(t,e,h,v,r),m=d(t,g);return y(e,m,r),!!m||h.length>0||v.length>0}},5528:function(t,e,r){"use strict";t.exports=function(t,e,r,n){var a=s(e,t),f=s(n,r),h=c(a,f);if(0===o(h))return null;var p=c(f,s(t,r)),d=i(p,h),v=u(a,d);return l(t,v)};var n=r(3962),i=r(9189),a=r(4354),o=r(4951),s=r(6695),l=r(7584),u=r(4469);function c(t,e){return a(n(t[0],e[1]),n(t[1],e[0]))}},5692:function(t){t.exports={jet:[{index:0,rgb:[0,0,131]},{index:.125,rgb:[0,60,170]},{index:.375,rgb:[5,255,255]},{index:.625,rgb:[255,255,0]},{index:.875,rgb:[250,0,0]},{index:1,rgb:[128,0,0]}],hsv:[{index:0,rgb:[255,0,0]},{index:.169,rgb:[253,255,2]},{index:.173,rgb:[247,255,2]},{index:.337,rgb:[0,252,4]},{index:.341,rgb:[0,252,10]},{index:.506,rgb:[1,249,255]},{index:.671,rgb:[2,0,253]},{index:.675,rgb:[8,0,253]},{index:.839,rgb:[255,0,251]},{index:.843,rgb:[255,0,245]},{index:1,rgb:[255,0,6]}],hot:[{index:0,rgb:[0,0,0]},{index:.3,rgb:[230,0,0]},{index:.6,rgb:[255,210,0]},{index:1,rgb:[255,255,255]}],spring:[{index:0,rgb:[255,0,255]},{index:1,rgb:[255,255,0]}],summer:[{index:0,rgb:[0,128,102]},{index:1,rgb:[255,255,102]}],autumn:[{index:0,rgb:[255,0,0]},{index:1,rgb:[255,255,0]}],winter:[{index:0,rgb:[0,0,255]},{index:1,rgb:[0,255,128]}],bone:[{index:0,rgb:[0,0,0]},{index:.376,rgb:[84,84,116]},{index:.753,rgb:[169,200,200]},{index:1,rgb:[255,255,255]}],copper:[{index:0,rgb:[0,0,0]},{index:.804,rgb:[255,160,102]},{index:1,rgb:[255,199,127]}],greys:[{index:0,rgb:[0,0,0]},{index:1,rgb:[255,255,255]}],yignbu:[{index:0,rgb:[8,29,88]},{index:.125,rgb:[37,52,148]},{index:.25,rgb:[34,94,168]},{index:.375,rgb:[29,145,192]},{index:.5,rgb:[65,182,196]},{index:.625,rgb:[127,205,187]},{index:.75,rgb:[199,233,180]},{index:.875,rgb:[237,248,217]},{index:1,rgb:[255,255,217]}],greens:[{index:0,rgb:[0,68,27]},{index:.125,rgb:[0,109,44]},{index:.25,rgb:[35,139,69]},{index:.375,rgb:[65,171,93]},{index:.5,rgb:[116,196,118]},{index:.625,rgb:[161,217,155]},{index:.75,rgb:[199,233,192]},{index:.875,rgb:[229,245,224]},{index:1,rgb:[247,252,245]}],yiorrd:[{index:0,rgb:[128,0,38]},{index:.125,rgb:[189,0,38]},{index:.25,rgb:[227,26,28]},{index:.375,rgb:[252,78,42]},{index:.5,rgb:[253,141,60]},{index:.625,rgb:[254,178,76]},{index:.75,rgb:[254,217,118]},{index:.875,rgb:[255,237,160]},{index:1,rgb:[255,255,204]}],bluered:[{index:0,rgb:[0,0,255]},{index:1,rgb:[255,0,0]}],rdbu:[{index:0,rgb:[5,10,172]},{index:.35,rgb:[106,137,247]},{index:.5,rgb:[190,190,190]},{index:.6,rgb:[220,170,132]},{index:.7,rgb:[230,145,90]},{index:1,rgb:[178,10,28]}],picnic:[{index:0,rgb:[0,0,255]},{index:.1,rgb:[51,153,255]},{index:.2,rgb:[102,204,255]},{index:.3,rgb:[153,204,255]},{index:.4,rgb:[204,204,255]},{index:.5,rgb:[255,255,255]},{index:.6,rgb:[255,204,255]},{index:.7,rgb:[255,153,255]},{index:.8,rgb:[255,102,204]},{index:.9,rgb:[255,102,102]},{index:1,rgb:[255,0,0]}],rainbow:[{index:0,rgb:[150,0,90]},{index:.125,rgb:[0,0,200]},{index:.25,rgb:[0,25,255]},{index:.375,rgb:[0,152,255]},{index:.5,rgb:[44,255,150]},{index:.625,rgb:[151,255,0]},{index:.75,rgb:[255,234,0]},{index:.875,rgb:[255,111,0]},{index:1,rgb:[255,0,0]}],portland:[{index:0,rgb:[12,51,131]},{index:.25,rgb:[10,136,186]},{index:.5,rgb:[242,211,56]},{index:.75,rgb:[242,143,56]},{index:1,rgb:[217,30,30]}],blackbody:[{index:0,rgb:[0,0,0]},{index:.2,rgb:[230,0,0]},{index:.4,rgb:[230,210,0]},{index:.7,rgb:[255,255,255]},{index:1,rgb:[160,200,255]}],earth:[{index:0,rgb:[0,0,130]},{index:.1,rgb:[0,180,180]},{index:.2,rgb:[40,210,40]},{index:.4,rgb:[230,230,50]},{index:.6,rgb:[120,70,20]},{index:1,rgb:[255,255,255]}],electric:[{index:0,rgb:[0,0,0]},{index:.15,rgb:[30,0,100]},{index:.4,rgb:[120,0,100]},{index:.6,rgb:[160,90,0]},{index:.8,rgb:[230,200,0]},{index:1,rgb:[255,250,220]}],alpha:[{index:0,rgb:[255,255,255,0]},{index:1,rgb:[255,255,255,1]}],viridis:[{index:0,rgb:[68,1,84]},{index:.13,rgb:[71,44,122]},{index:.25,rgb:[59,81,139]},{index:.38,rgb:[44,113,142]},{index:.5,rgb:[33,144,141]},{index:.63,rgb:[39,173,129]},{index:.75,rgb:[92,200,99]},{index:.88,rgb:[170,220,50]},{index:1,rgb:[253,231,37]}],inferno:[{index:0,rgb:[0,0,4]},{index:.13,rgb:[31,12,72]},{index:.25,rgb:[85,15,109]},{index:.38,rgb:[136,34,106]},{index:.5,rgb:[186,54,85]},{index:.63,rgb:[227,89,51]},{index:.75,rgb:[249,140,10]},{index:.88,rgb:[249,201,50]},{index:1,rgb:[252,255,164]}],magma:[{index:0,rgb:[0,0,4]},{index:.13,rgb:[28,16,68]},{index:.25,rgb:[79,18,123]},{index:.38,rgb:[129,37,129]},{index:.5,rgb:[181,54,122]},{index:.63,rgb:[229,80,100]},{index:.75,rgb:[251,135,97]},{index:.88,rgb:[254,194,135]},{index:1,rgb:[252,253,191]}],plasma:[{index:0,rgb:[13,8,135]},{index:.13,rgb:[75,3,161]},{index:.25,rgb:[125,3,168]},{index:.38,rgb:[168,34,150]},{index:.5,rgb:[203,70,121]},{index:.63,rgb:[229,107,93]},{index:.75,rgb:[248,148,65]},{index:.88,rgb:[253,195,40]},{index:1,rgb:[240,249,33]}],warm:[{index:0,rgb:[125,0,179]},{index:.13,rgb:[172,0,187]},{index:.25,rgb:[219,0,170]},{index:.38,rgb:[255,0,130]},{index:.5,rgb:[255,63,74]},{index:.63,rgb:[255,123,0]},{index:.75,rgb:[234,176,0]},{index:.88,rgb:[190,228,0]},{index:1,rgb:[147,255,0]}],cool:[{index:0,rgb:[125,0,179]},{index:.13,rgb:[116,0,218]},{index:.25,rgb:[98,74,237]},{index:.38,rgb:[68,146,231]},{index:.5,rgb:[0,204,197]},{index:.63,rgb:[0,247,146]},{index:.75,rgb:[0,255,88]},{index:.88,rgb:[40,255,8]},{index:1,rgb:[147,255,0]}],"rainbow-soft":[{index:0,rgb:[125,0,179]},{index:.1,rgb:[199,0,180]},{index:.2,rgb:[255,0,121]},{index:.3,rgb:[255,108,0]},{index:.4,rgb:[222,194,0]},{index:.5,rgb:[150,255,0]},{index:.6,rgb:[0,255,55]},{index:.7,rgb:[0,246,150]},{index:.8,rgb:[50,167,222]},{index:.9,rgb:[103,51,235]},{index:1,rgb:[124,0,186]}],bathymetry:[{index:0,rgb:[40,26,44]},{index:.13,rgb:[59,49,90]},{index:.25,rgb:[64,76,139]},{index:.38,rgb:[63,110,151]},{index:.5,rgb:[72,142,158]},{index:.63,rgb:[85,174,163]},{index:.75,rgb:[120,206,163]},{index:.88,rgb:[187,230,172]},{index:1,rgb:[253,254,204]}],cdom:[{index:0,rgb:[47,15,62]},{index:.13,rgb:[87,23,86]},{index:.25,rgb:[130,28,99]},{index:.38,rgb:[171,41,96]},{index:.5,rgb:[206,67,86]},{index:.63,rgb:[230,106,84]},{index:.75,rgb:[242,149,103]},{index:.88,rgb:[249,193,135]},{index:1,rgb:[254,237,176]}],chlorophyll:[{index:0,rgb:[18,36,20]},{index:.13,rgb:[25,63,41]},{index:.25,rgb:[24,91,59]},{index:.38,rgb:[13,119,72]},{index:.5,rgb:[18,148,80]},{index:.63,rgb:[80,173,89]},{index:.75,rgb:[132,196,122]},{index:.88,rgb:[175,221,162]},{index:1,rgb:[215,249,208]}],density:[{index:0,rgb:[54,14,36]},{index:.13,rgb:[89,23,80]},{index:.25,rgb:[110,45,132]},{index:.38,rgb:[120,77,178]},{index:.5,rgb:[120,113,213]},{index:.63,rgb:[115,151,228]},{index:.75,rgb:[134,185,227]},{index:.88,rgb:[177,214,227]},{index:1,rgb:[230,241,241]}],"freesurface-blue":[{index:0,rgb:[30,4,110]},{index:.13,rgb:[47,14,176]},{index:.25,rgb:[41,45,236]},{index:.38,rgb:[25,99,212]},{index:.5,rgb:[68,131,200]},{index:.63,rgb:[114,156,197]},{index:.75,rgb:[157,181,203]},{index:.88,rgb:[200,208,216]},{index:1,rgb:[241,237,236]}],"freesurface-red":[{index:0,rgb:[60,9,18]},{index:.13,rgb:[100,17,27]},{index:.25,rgb:[142,20,29]},{index:.38,rgb:[177,43,27]},{index:.5,rgb:[192,87,63]},{index:.63,rgb:[205,125,105]},{index:.75,rgb:[216,162,148]},{index:.88,rgb:[227,199,193]},{index:1,rgb:[241,237,236]}],oxygen:[{index:0,rgb:[64,5,5]},{index:.13,rgb:[106,6,15]},{index:.25,rgb:[144,26,7]},{index:.38,rgb:[168,64,3]},{index:.5,rgb:[188,100,4]},{index:.63,rgb:[206,136,11]},{index:.75,rgb:[220,174,25]},{index:.88,rgb:[231,215,44]},{index:1,rgb:[248,254,105]}],par:[{index:0,rgb:[51,20,24]},{index:.13,rgb:[90,32,35]},{index:.25,rgb:[129,44,34]},{index:.38,rgb:[159,68,25]},{index:.5,rgb:[182,99,19]},{index:.63,rgb:[199,134,22]},{index:.75,rgb:[212,171,35]},{index:.88,rgb:[221,210,54]},{index:1,rgb:[225,253,75]}],phase:[{index:0,rgb:[145,105,18]},{index:.13,rgb:[184,71,38]},{index:.25,rgb:[186,58,115]},{index:.38,rgb:[160,71,185]},{index:.5,rgb:[110,97,218]},{index:.63,rgb:[50,123,164]},{index:.75,rgb:[31,131,110]},{index:.88,rgb:[77,129,34]},{index:1,rgb:[145,105,18]}],salinity:[{index:0,rgb:[42,24,108]},{index:.13,rgb:[33,50,162]},{index:.25,rgb:[15,90,145]},{index:.38,rgb:[40,118,137]},{index:.5,rgb:[59,146,135]},{index:.63,rgb:[79,175,126]},{index:.75,rgb:[120,203,104]},{index:.88,rgb:[193,221,100]},{index:1,rgb:[253,239,154]}],temperature:[{index:0,rgb:[4,35,51]},{index:.13,rgb:[23,51,122]},{index:.25,rgb:[85,59,157]},{index:.38,rgb:[129,79,143]},{index:.5,rgb:[175,95,130]},{index:.63,rgb:[222,112,101]},{index:.75,rgb:[249,146,66]},{index:.88,rgb:[249,196,65]},{index:1,rgb:[232,250,91]}],turbidity:[{index:0,rgb:[34,31,27]},{index:.13,rgb:[65,50,41]},{index:.25,rgb:[98,69,52]},{index:.38,rgb:[131,89,57]},{index:.5,rgb:[161,112,59]},{index:.63,rgb:[185,140,66]},{index:.75,rgb:[202,174,88]},{index:.88,rgb:[216,209,126]},{index:1,rgb:[233,246,171]}],"velocity-blue":[{index:0,rgb:[17,32,64]},{index:.13,rgb:[35,52,116]},{index:.25,rgb:[29,81,156]},{index:.38,rgb:[31,113,162]},{index:.5,rgb:[50,144,169]},{index:.63,rgb:[87,173,176]},{index:.75,rgb:[149,196,189]},{index:.88,rgb:[203,221,211]},{index:1,rgb:[254,251,230]}],"velocity-green":[{index:0,rgb:[23,35,19]},{index:.13,rgb:[24,64,38]},{index:.25,rgb:[11,95,45]},{index:.38,rgb:[39,123,35]},{index:.5,rgb:[95,146,12]},{index:.63,rgb:[152,165,18]},{index:.75,rgb:[201,186,69]},{index:.88,rgb:[233,216,137]},{index:1,rgb:[255,253,205]}],cubehelix:[{index:0,rgb:[0,0,0]},{index:.07,rgb:[22,5,59]},{index:.13,rgb:[60,4,105]},{index:.2,rgb:[109,1,135]},{index:.27,rgb:[161,0,147]},{index:.33,rgb:[210,2,142]},{index:.4,rgb:[251,11,123]},{index:.47,rgb:[255,29,97]},{index:.53,rgb:[255,54,69]},{index:.6,rgb:[255,85,46]},{index:.67,rgb:[255,120,34]},{index:.73,rgb:[255,157,37]},{index:.8,rgb:[241,191,57]},{index:.87,rgb:[224,220,93]},{index:.93,rgb:[218,241,142]},{index:1,rgb:[227,253,198]}]}},9156:function(t,e,r){"use strict";var n=r(5692),i=r(3578);function a(t){return[t[0]/255,t[1]/255,t[2]/255,t[3]]}function o(t){for(var e,r="#",n=0;n<3;++n)r+=("00"+(e=(e=t[n]).toString(16))).substr(e.length);return r}function s(t){return"rgba("+t.join(",")+")"}t.exports=function(t){var e,r,l,u,c,f,h,p,d,v;if(t||(t={}),p=(t.nshades||72)-1,h=t.format||"hex",(f=t.colormap)||(f="jet"),"string"==typeof f){if(f=f.toLowerCase(),!n[f])throw Error(f+" not a supported colorscale");c=n[f]}else{if(!Array.isArray(f))throw Error("unsupported colormap option",f);c=f.slice()}if(c.length>p+1)throw new Error(f+" map requires nshades to be at least size "+c.length);d=Array.isArray(t.alpha)?2!==t.alpha.length?[1,1]:t.alpha.slice():"number"==typeof t.alpha?[t.alpha,t.alpha]:[1,1],e=c.map((function(t){return Math.round(t.index*p)})),d[0]=Math.min(Math.max(d[0],0),1),d[1]=Math.min(Math.max(d[1],0),1);var g=c.map((function(t,e){var r=c[e].index,n=c[e].rgb.slice();return 4===n.length&&n[3]>=0&&n[3]<=1||(n[3]=d[0]+(d[1]-d[0])*r),n})),y=[];for(v=0;v<e.length-1;++v){u=e[v+1]-e[v],r=g[v],l=g[v+1];for(var m=0;m<u;m++){var x=m/u;y.push([Math.round(i(r[0],l[0],x)),Math.round(i(r[1],l[1],x)),Math.round(i(r[2],l[2],x)),i(r[3],l[3],x)])}}return y.push(c[c.length-1].rgb.concat(d[1])),"hex"===h?y=y.map(o):"rgbaString"===h?y=y.map(s):"float"===h&&(y=y.map(a)),y}},9398:function(t,e,r){"use strict";t.exports=function(t,e,r,a){var o=n(e,r,a);if(0===o){var s=i(n(t,e,r)),u=i(n(t,e,a));if(s===u){if(0===s){var c=l(t,e,r);return c===l(t,e,a)?0:c?1:-1}return 0}return 0===u?s>0||l(t,e,a)?-1:1:0===s?u>0||l(t,e,r)?1:-1:i(u-s)}var f=n(t,e,r);return f>0?o>0&&n(t,e,a)>0?1:-1:f<0?o>0||n(t,e,a)>0?1:-1:n(t,e,a)>0||l(t,e,r)?1:-1};var n=r(417),i=r(7538),a=r(87),o=r(2019),s=r(9662);function l(t,e,r){var n=a(t[0],-e[0]),i=a(t[1],-e[1]),l=a(r[0],-e[0]),u=a(r[1],-e[1]),c=s(o(n,l),o(i,u));return c[c.length-1]>=0}},7538:function(t){"use strict";t.exports=function(t){return t<0?-1:t>0?1:0}},9209:function(t){t.exports=function(t,n){var i=t.length,a=t.length-n.length;if(a)return a;switch(i){case 0:return 0;case 1:return t[0]-n[0];case 2:return t[0]+t[1]-n[0]-n[1]||e(t[0],t[1])-e(n[0],n[1]);case 3:var o=t[0]+t[1],s=n[0]+n[1];if(a=o+t[2]-(s+n[2]))return a;var l=e(t[0],t[1]),u=e(n[0],n[1]);return e(l,t[2])-e(u,n[2])||e(l+t[2],o)-e(u+n[2],s);case 4:var c=t[0],f=t[1],h=t[2],p=t[3],d=n[0],v=n[1],g=n[2],y=n[3];return c+f+h+p-(d+v+g+y)||e(c,f,h,p)-e(d,v,g,y,d)||e(c+f,c+h,c+p,f+h,f+p,h+p)-e(d+v,d+g,d+y,v+g,v+y,g+y)||e(c+f+h,c+f+p,c+h+p,f+h+p)-e(d+v+g,d+v+y,d+g+y,v+g+y);default:for(var m=t.slice().sort(r),x=n.slice().sort(r),b=0;b<i;++b)if(a=m[b]-x[b])return a;return 0}};var e=Math.min;function r(t,e){return t-e}},1284:function(t,e,r){"use strict";var n=r(9209),i=r(9887);t.exports=function(t,e){return n(t,e)||i(t)-i(e)}},5537:function(t,e,r){"use strict";var n=r(8950),i=r(8722),a=r(3332);t.exports=function(t){var e=t.length;if(0===e)return[];if(1===e)return[[0]];var r=t[0].length;return 0===r?[]:1===r?n(t):2===r?i(t):a(t,r)}},8950:function(t){"use strict";t.exports=function(t){for(var e=0,r=0,n=1;n<t.length;++n)t[n][0]<t[e][0]&&(e=n),t[n][0]>t[r][0]&&(r=n);return e<r?[[e],[r]]:e>r?[[r],[e]]:[[e]]}},8722:function(t,e,r){"use strict";t.exports=function(t){var e=n(t),r=e.length;if(r<=2)return[];for(var i=new Array(r),a=e[r-1],o=0;o<r;++o){var s=e[o];i[o]=[a,s],a=s}return i};var n=r(3266)},3332:function(t,e,r){"use strict";t.exports=function(t,e){try{return n(t,!0)}catch(o){var r=i(t);if(r.length<=e)return[];var a=function(t,e){for(var r=t.length,n=new Array(r),i=0;i<e.length;++i)n[i]=t[e[i]];var a=e.length;for(i=0;i<r;++i)e.indexOf(i)<0&&(n[a++]=t[i]);return n}(t,r);return function(t,e){for(var r=t.length,n=e.length,i=0;i<r;++i)for(var a=t[i],o=0;o<a.length;++o){var s=a[o];if(s<n)a[o]=e[s];else{s-=n;for(var l=0;l<n;++l)s>=e[l]&&(s+=1);a[o]=s}}return t}(n(a,!0),r)}};var n=r(2183),i=r(2153)},9680:function(t){"use strict";t.exports=function(t,e,r,n,i,a){var o=i-1,s=i*i,l=o*o,u=(1+2*i)*l,c=i*l,f=s*(3-2*i),h=s*o;if(t.length){a||(a=new Array(t.length));for(var p=t.length-1;p>=0;--p)a[p]=u*t[p]+c*e[p]+f*r[p]+h*n[p];return a}return u*t+c*e+f*r+h*n},t.exports.derivative=function(t,e,r,n,i,a){var o=6*i*i-6*i,s=3*i*i-4*i+1,l=-6*i*i+6*i,u=3*i*i-2*i;if(t.length){a||(a=new Array(t.length));for(var c=t.length-1;c>=0;--c)a[c]=o*t[c]+s*e[c]+l*r[c]+u*n[c];return a}return o*t+s*e+l*r[c]+u*n}},4419:function(t,e,r){"use strict";var n=r(2183),i=r(1215);function a(t,e){this.point=t,this.index=e}function o(t,e){for(var r=t.point,n=e.point,i=r.length,a=0;a<i;++a){var o=n[a]-r[a];if(o)return o}return 0}t.exports=function(t,e){var r=t.length;if(0===r)return[];var s=t[0].length;if(s<1)return[];if(1===s)return function(t,e,r){if(1===t)return r?[[-1,0]]:[];var n=e.map((function(t,e){return[t[0],e]}));n.sort((function(t,e){return t[0]-e[0]}));for(var i=new Array(t-1),a=1;a<t;++a){var o=n[a-1],s=n[a];i[a-1]=[o[1],s[1]]}return r&&i.push([-1,i[0][1]],[i[t-1][1],-1]),i}(r,t,e);for(var l=new Array(r),u=1,c=0;c<r;++c){for(var f=t[c],h=new Array(s+1),p=0,d=0;d<s;++d){var v=f[d];h[d]=v,p+=v*v}h[s]=p,l[c]=new a(h,c),u=Math.max(p,u)}i(l,o),r=l.length;var g=new Array(r+s+1),y=new Array(r+s+1),m=(s+1)*(s+1)*u,x=new Array(s+1);for(c=0;c<=s;++c)x[c]=0;for(x[s]=m,g[0]=x.slice(),y[0]=-1,c=0;c<=s;++c)(h=x.slice())[c]=1,g[c+1]=h,y[c+1]=-1;for(c=0;c<r;++c){var b=l[c];g[c+s+1]=b.point,y[c+s+1]=b.index}var _=n(g,!1);if(_=e?_.filter((function(t){for(var e=0,r=0;r<=s;++r){var n=y[t[r]];if(n<0&&++e>=2)return!1;t[r]=n}return!0})):_.filter((function(t){for(var e=0;e<=s;++e){var r=y[t[e]];if(r<0)return!1;t[e]=r}return!0})),1&s)for(c=0;c<_.length;++c)h=(b=_[c])[0],b[0]=b[1],b[1]=h;return _}},8362:function(t){var e=!1;if("undefined"!=typeof Float64Array){var r=new Float64Array(1),n=new Uint32Array(r.buffer);r[0]=1,e=!0,1072693248===n[1]?(t.exports=function(t){return r[0]=t,[n[0],n[1]]},t.exports.pack=function(t,e){return n[0]=t,n[1]=e,r[0]},t.exports.lo=function(t){return r[0]=t,n[0]},t.exports.hi=function(t){return r[0]=t,n[1]}):1072693248===n[0]?(t.exports=function(t){return r[0]=t,[n[1],n[0]]},t.exports.pack=function(t,e){return n[1]=t,n[0]=e,r[0]},t.exports.lo=function(t){return r[0]=t,n[1]},t.exports.hi=function(t){return r[0]=t,n[0]}):e=!1}if(!e){var i=new Buffer(8);t.exports=function(t){return i.writeDoubleLE(t,0,!0),[i.readUInt32LE(0,!0),i.readUInt32LE(4,!0)]},t.exports.pack=function(t,e){return i.writeUInt32LE(t,0,!0),i.writeUInt32LE(e,4,!0),i.readDoubleLE(0,!0)},t.exports.lo=function(t){return i.writeDoubleLE(t,0,!0),i.readUInt32LE(0,!0)},t.exports.hi=function(t){return i.writeDoubleLE(t,0,!0),i.readUInt32LE(4,!0)}}t.exports.sign=function(e){return t.exports.hi(e)>>>31},t.exports.exponent=function(e){return(t.exports.hi(e)<<1>>>21)-1023},t.exports.fraction=function(e){var r=t.exports.lo(e),n=t.exports.hi(e),i=1048575&n;return 2146435072&n&&(i+=1<<20),[r,i]},t.exports.denormalized=function(e){return!(2146435072&t.exports.hi(e))}},3094:function(t){"use strict";function e(t,r,n){var i=0|t[n];if(i<=0)return[];var a,o=new Array(i);if(n===t.length-1)for(a=0;a<i;++a)o[a]=r;else for(a=0;a<i;++a)o[a]=e(t,r,n+1);return o}t.exports=function(t,r){switch(void 0===r&&(r=0),typeof t){case"number":if(t>0)return function(t,e){var r,n;for(r=new Array(t),n=0;n<t;++n)r[n]=e;return r}(0|t,r);break;case"object":if("number"==typeof t.length)return e(t,r,0)}return[]}},8348:function(t,e,r){"use strict";t.exports=function(t,e){var r=t.length;if("number"!=typeof e){e=0;for(var i=0;i<r;++i){var a=t[i];e=Math.max(e,a[0],a[1])}e=1+(0|e)}e|=0;var o=new Array(e);for(i=0;i<e;++i)o[i]=[];for(i=0;i<r;++i)o[(a=t[i])[0]].push(a[1]),o[a[1]].push(a[0]);for(var s=0;s<e;++s)n(o[s],(function(t,e){return t-e}));return o};var n=r(1215)},5795:function(t){"use strict";t.exports=function(t,e,r){var n=e||0,i=r||1;return[[t[12]+t[0],t[13]+t[1],t[14]+t[2],t[15]+t[3]],[t[12]-t[0],t[13]-t[1],t[14]-t[2],t[15]-t[3]],[t[12]+t[4],t[13]+t[5],t[14]+t[6],t[15]+t[7]],[t[12]-t[4],t[13]-t[5],t[14]-t[6],t[15]-t[7]],[n*t[12]+t[8],n*t[13]+t[9],n*t[14]+t[10],n*t[15]+t[11]],[i*t[12]-t[8],i*t[13]-t[9],i*t[14]-t[10],i*t[15]-t[11]]]}},8444:function(t,e,r){"use strict";t.exports=function(t,e,r){switch(arguments.length){case 0:return new o([0],[0],0);case 1:return"number"==typeof t?new o(n=l(t),n,0):new o(t,l(t.length),0);case 2:if("number"==typeof e){var n=l(t.length);return new o(t,n,+e)}r=0;case 3:if(t.length!==e.length)throw new Error("state and velocity lengths must match");return new o(t,e,r)}};var n=r(9680),i=r(5070);function a(t,e,r){return Math.min(e,Math.max(t,r))}function o(t,e,r){this.dimension=t.length,this.bounds=[new Array(this.dimension),new Array(this.dimension)];for(var n=0;n<this.dimension;++n)this.bounds[0][n]=-1/0,this.bounds[1][n]=1/0;this._state=t.slice().reverse(),this._velocity=e.slice().reverse(),this._time=[r],this._scratch=[t.slice(),t.slice(),t.slice(),t.slice(),t.slice()]}var s=o.prototype;function l(t){for(var e=new Array(t),r=0;r<t;++r)e[r]=0;return e}s.flush=function(t){var e=i.gt(this._time,t)-1;e<=0||(this._time.splice(0,e),this._state.splice(0,e*this.dimension),this._velocity.splice(0,e*this.dimension))},s.curve=function(t){var e=this._time,r=e.length,o=i.le(e,t),s=this._scratch[0],l=this._state,u=this._velocity,c=this.dimension,f=this.bounds;if(o<0)for(var h=c-1,p=0;p<c;++p,--h)s[p]=l[h];else if(o>=r-1){h=l.length-1;var d=t-e[r-1];for(p=0;p<c;++p,--h)s[p]=l[h]+d*u[h]}else{h=c*(o+1)-1;var v=e[o],g=e[o+1]-v||1,y=this._scratch[1],m=this._scratch[2],x=this._scratch[3],b=this._scratch[4],_=!0;for(p=0;p<c;++p,--h)y[p]=l[h],x[p]=u[h]*g,m[p]=l[h+c],b[p]=u[h+c]*g,_=_&&y[p]===m[p]&&x[p]===b[p]&&0===x[p];if(_)for(p=0;p<c;++p)s[p]=y[p];else n(y,x,m,b,(t-v)/g,s)}var w=f[0],T=f[1];for(p=0;p<c;++p)s[p]=a(w[p],T[p],s[p]);return s},s.dcurve=function(t){var e=this._time,r=e.length,a=i.le(e,t),o=this._scratch[0],s=this._state,l=this._velocity,u=this.dimension;if(a>=r-1)for(var c=s.length-1,f=(e[r-1],0);f<u;++f,--c)o[f]=l[c];else{c=u*(a+1)-1;var h=e[a],p=e[a+1]-h||1,d=this._scratch[1],v=this._scratch[2],g=this._scratch[3],y=this._scratch[4],m=!0;for(f=0;f<u;++f,--c)d[f]=s[c],g[f]=l[c]*p,v[f]=s[c+u],y[f]=l[c+u]*p,m=m&&d[f]===v[f]&&g[f]===y[f]&&0===g[f];if(m)for(f=0;f<u;++f)o[f]=0;else for(n.derivative(d,g,v,y,(t-h)/p,o),f=0;f<u;++f)o[f]/=p}return o},s.lastT=function(){var t=this._time;return t[t.length-1]},s.stable=function(){for(var t=this._velocity,e=t.length,r=this.dimension-1;r>=0;--r)if(t[--e])return!1;return!0},s.jump=function(t){var e=this.lastT(),r=this.dimension;if(!(t<e||arguments.length!==r+1)){var n=this._state,i=this._velocity,o=n.length-this.dimension,s=this.bounds,l=s[0],u=s[1];this._time.push(e,t);for(var c=0;c<2;++c)for(var f=0;f<r;++f)n.push(n[o++]),i.push(0);for(this._time.push(t),f=r;f>0;--f)n.push(a(l[f-1],u[f-1],arguments[f])),i.push(0)}},s.push=function(t){var e=this.lastT(),r=this.dimension;if(!(t<e||arguments.length!==r+1)){var n=this._state,i=this._velocity,o=n.length-this.dimension,s=t-e,l=this.bounds,u=l[0],c=l[1],f=s>1e-6?1/s:0;this._time.push(t);for(var h=r;h>0;--h){var p=a(u[h-1],c[h-1],arguments[h]);n.push(p),i.push((p-n[o++])*f)}}},s.set=function(t){var e=this.dimension;if(!(t<this.lastT()||arguments.length!==e+1)){var r=this._state,n=this._velocity,i=this.bounds,o=i[0],s=i[1];this._time.push(t);for(var l=e;l>0;--l)r.push(a(o[l-1],s[l-1],arguments[l])),n.push(0)}},s.move=function(t){var e=this.lastT(),r=this.dimension;if(!(t<=e||arguments.length!==r+1)){var n=this._state,i=this._velocity,o=n.length-this.dimension,s=this.bounds,l=s[0],u=s[1],c=t-e,f=c>1e-6?1/c:0;this._time.push(t);for(var h=r;h>0;--h){var p=arguments[h];n.push(a(l[h-1],u[h-1],n[o++]+p)),i.push(p*f)}}},s.idle=function(t){var e=this.lastT();if(!(t<e)){var r=this.dimension,n=this._state,i=this._velocity,o=n.length-r,s=this.bounds,l=s[0],u=s[1],c=t-e;this._time.push(t);for(var f=r-1;f>=0;--f)n.push(a(l[f],u[f],n[o]+c*i[o])),i.push(0),o+=1}}},7080:function(t){"use strict";function e(t,e,r,n,i,a){this._color=t,this.key=e,this.value=r,this.left=n,this.right=i,this._count=a}function r(t){return new e(t._color,t.key,t.value,t.left,t.right,t._count)}function n(t,r){return new e(t,r.key,r.value,r.left,r.right,r._count)}function i(t){t._count=1+(t.left?t.left._count:0)+(t.right?t.right._count:0)}function a(t,e){this._compare=t,this.root=e}t.exports=function(t){return new a(t||p,null)};var o=a.prototype;function s(t,e){var r;return e.left&&(r=s(t,e.left))?r:(r=t(e.key,e.value))||(e.right?s(t,e.right):void 0)}function l(t,e,r,n){if(e(t,n.key)<=0){var i;if(n.left&&(i=l(t,e,r,n.left)))return i;if(i=r(n.key,n.value))return i}if(n.right)return l(t,e,r,n.right)}function u(t,e,r,n,i){var a,o=r(t,i.key),s=r(e,i.key);if(o<=0){if(i.left&&(a=u(t,e,r,n,i.left)))return a;if(s>0&&(a=n(i.key,i.value)))return a}if(s>0&&i.right)return u(t,e,r,n,i.right)}function c(t,e){this.tree=t,this._stack=e}Object.defineProperty(o,"keys",{get:function(){var t=[];return this.forEach((function(e,r){t.push(e)})),t}}),Object.defineProperty(o,"values",{get:function(){var t=[];return this.forEach((function(e,r){t.push(r)})),t}}),Object.defineProperty(o,"length",{get:function(){return this.root?this.root._count:0}}),o.insert=function(t,r){for(var o=this._compare,s=this.root,l=[],u=[];s;){var c=o(t,s.key);l.push(s),u.push(c),s=c<=0?s.left:s.right}l.push(new e(0,t,r,null,null,1));for(var f=l.length-2;f>=0;--f)s=l[f],u[f]<=0?l[f]=new e(s._color,s.key,s.value,l[f+1],s.right,s._count+1):l[f]=new e(s._color,s.key,s.value,s.left,l[f+1],s._count+1);for(f=l.length-1;f>1;--f){var h=l[f-1];if(s=l[f],1===h._color||1===s._color)break;var p=l[f-2];if(p.left===h)if(h.left===s){if(!(d=p.right)||0!==d._color){p._color=0,p.left=h.right,h._color=1,h.right=p,l[f-2]=h,l[f-1]=s,i(p),i(h),f>=3&&((v=l[f-3]).left===p?v.left=h:v.right=h);break}h._color=1,p.right=n(1,d),p._color=0,f-=1}else{if(!(d=p.right)||0!==d._color){h.right=s.left,p._color=0,p.left=s.right,s._color=1,s.left=h,s.right=p,l[f-2]=s,l[f-1]=h,i(p),i(h),i(s),f>=3&&((v=l[f-3]).left===p?v.left=s:v.right=s);break}h._color=1,p.right=n(1,d),p._color=0,f-=1}else if(h.right===s){if(!(d=p.left)||0!==d._color){p._color=0,p.right=h.left,h._color=1,h.left=p,l[f-2]=h,l[f-1]=s,i(p),i(h),f>=3&&((v=l[f-3]).right===p?v.right=h:v.left=h);break}h._color=1,p.left=n(1,d),p._color=0,f-=1}else{var d;if(!(d=p.left)||0!==d._color){var v;h.left=s.right,p._color=0,p.right=s.left,s._color=1,s.right=h,s.left=p,l[f-2]=s,l[f-1]=h,i(p),i(h),i(s),f>=3&&((v=l[f-3]).right===p?v.right=s:v.left=s);break}h._color=1,p.left=n(1,d),p._color=0,f-=1}}return l[0]._color=1,new a(o,l[0])},o.forEach=function(t,e,r){if(this.root)switch(arguments.length){case 1:return s(t,this.root);case 2:return l(e,this._compare,t,this.root);case 3:if(this._compare(e,r)>=0)return;return u(e,r,this._compare,t,this.root)}},Object.defineProperty(o,"begin",{get:function(){for(var t=[],e=this.root;e;)t.push(e),e=e.left;return new c(this,t)}}),Object.defineProperty(o,"end",{get:function(){for(var t=[],e=this.root;e;)t.push(e),e=e.right;return new c(this,t)}}),o.at=function(t){if(t<0)return new c(this,[]);for(var e=this.root,r=[];;){if(r.push(e),e.left){if(t<e.left._count){e=e.left;continue}t-=e.left._count}if(!t)return new c(this,r);if(t-=1,!e.right)break;if(t>=e.right._count)break;e=e.right}return new c(this,[])},o.ge=function(t){for(var e=this._compare,r=this.root,n=[],i=0;r;){var a=e(t,r.key);n.push(r),a<=0&&(i=n.length),r=a<=0?r.left:r.right}return n.length=i,new c(this,n)},o.gt=function(t){for(var e=this._compare,r=this.root,n=[],i=0;r;){var a=e(t,r.key);n.push(r),a<0&&(i=n.length),r=a<0?r.left:r.right}return n.length=i,new c(this,n)},o.lt=function(t){for(var e=this._compare,r=this.root,n=[],i=0;r;){var a=e(t,r.key);n.push(r),a>0&&(i=n.length),r=a<=0?r.left:r.right}return n.length=i,new c(this,n)},o.le=function(t){for(var e=this._compare,r=this.root,n=[],i=0;r;){var a=e(t,r.key);n.push(r),a>=0&&(i=n.length),r=a<0?r.left:r.right}return n.length=i,new c(this,n)},o.find=function(t){for(var e=this._compare,r=this.root,n=[];r;){var i=e(t,r.key);if(n.push(r),0===i)return new c(this,n);r=i<=0?r.left:r.right}return new c(this,[])},o.remove=function(t){var e=this.find(t);return e?e.remove():this},o.get=function(t){for(var e=this._compare,r=this.root;r;){var n=e(t,r.key);if(0===n)return r.value;r=n<=0?r.left:r.right}};var f=c.prototype;function h(t,e){t.key=e.key,t.value=e.value,t.left=e.left,t.right=e.right,t._color=e._color,t._count=e._count}function p(t,e){return t<e?-1:t>e?1:0}Object.defineProperty(f,"valid",{get:function(){return this._stack.length>0}}),Object.defineProperty(f,"node",{get:function(){return this._stack.length>0?this._stack[this._stack.length-1]:null},enumerable:!0}),f.clone=function(){return new c(this.tree,this._stack.slice())},f.remove=function(){var t=this._stack;if(0===t.length)return this.tree;var o=new Array(t.length),s=t[t.length-1];o[o.length-1]=new e(s._color,s.key,s.value,s.left,s.right,s._count);for(var l=t.length-2;l>=0;--l)(s=t[l]).left===t[l+1]?o[l]=new e(s._color,s.key,s.value,o[l+1],s.right,s._count):o[l]=new e(s._color,s.key,s.value,s.left,o[l+1],s._count);if((s=o[o.length-1]).left&&s.right){var u=o.length;for(s=s.left;s.right;)o.push(s),s=s.right;var c=o[u-1];for(o.push(new e(s._color,c.key,c.value,s.left,s.right,s._count)),o[u-1].key=s.key,o[u-1].value=s.value,l=o.length-2;l>=u;--l)s=o[l],o[l]=new e(s._color,s.key,s.value,s.left,o[l+1],s._count);o[u-1].left=o[u]}if(0===(s=o[o.length-1])._color){var f=o[o.length-2];for(f.left===s?f.left=null:f.right===s&&(f.right=null),o.pop(),l=0;l<o.length;++l)o[l]._count--;return new a(this.tree._compare,o[0])}if(s.left||s.right){for(s.left?h(s,s.left):s.right&&h(s,s.right),s._color=1,l=0;l<o.length-1;++l)o[l]._count--;return new a(this.tree._compare,o[0])}if(1===o.length)return new a(this.tree._compare,null);for(l=0;l<o.length;++l)o[l]._count--;var p=o[o.length-2];return function(t){for(var e,a,o,s,l=t.length-1;l>=0;--l){if(e=t[l],0===l)return void(e._color=1);if((a=t[l-1]).left===e){if((o=a.right).right&&0===o.right._color)return s=(o=a.right=r(o)).right=r(o.right),a.right=o.left,o.left=a,o.right=s,o._color=a._color,e._color=1,a._color=1,s._color=1,i(a),i(o),l>1&&((u=t[l-2]).left===a?u.left=o:u.right=o),void(t[l-1]=o);if(o.left&&0===o.left._color)return s=(o=a.right=r(o)).left=r(o.left),a.right=s.left,o.left=s.right,s.left=a,s.right=o,s._color=a._color,a._color=1,o._color=1,e._color=1,i(a),i(o),i(s),l>1&&((u=t[l-2]).left===a?u.left=s:u.right=s),void(t[l-1]=s);if(1===o._color){if(0===a._color)return a._color=1,void(a.right=n(0,o));a.right=n(0,o);continue}o=r(o),a.right=o.left,o.left=a,o._color=a._color,a._color=0,i(a),i(o),l>1&&((u=t[l-2]).left===a?u.left=o:u.right=o),t[l-1]=o,t[l]=a,l+1<t.length?t[l+1]=e:t.push(e),l+=2}else{if((o=a.left).left&&0===o.left._color)return s=(o=a.left=r(o)).left=r(o.left),a.left=o.right,o.right=a,o.left=s,o._color=a._color,e._color=1,a._color=1,s._color=1,i(a),i(o),l>1&&((u=t[l-2]).right===a?u.right=o:u.left=o),void(t[l-1]=o);if(o.right&&0===o.right._color)return s=(o=a.left=r(o)).right=r(o.right),a.left=s.right,o.right=s.left,s.right=a,s.left=o,s._color=a._color,a._color=1,o._color=1,e._color=1,i(a),i(o),i(s),l>1&&((u=t[l-2]).right===a?u.right=s:u.left=s),void(t[l-1]=s);if(1===o._color){if(0===a._color)return a._color=1,void(a.left=n(0,o));a.left=n(0,o);continue}var u;o=r(o),a.left=o.right,o.right=a,o._color=a._color,a._color=0,i(a),i(o),l>1&&((u=t[l-2]).right===a?u.right=o:u.left=o),t[l-1]=o,t[l]=a,l+1<t.length?t[l+1]=e:t.push(e),l+=2}}}(o),p.left===s?p.left=null:p.right=null,new a(this.tree._compare,o[0])},Object.defineProperty(f,"key",{get:function(){if(this._stack.length>0)return this._stack[this._stack.length-1].key},enumerable:!0}),Object.defineProperty(f,"value",{get:function(){if(this._stack.length>0)return this._stack[this._stack.length-1].value},enumerable:!0}),Object.defineProperty(f,"index",{get:function(){var t=0,e=this._stack;if(0===e.length){var r=this.tree.root;return r?r._count:0}e[e.length-1].left&&(t=e[e.length-1].left._count);for(var n=e.length-2;n>=0;--n)e[n+1]===e[n].right&&(++t,e[n].left&&(t+=e[n].left._count));return t},enumerable:!0}),f.next=function(){var t=this._stack;if(0!==t.length){var e=t[t.length-1];if(e.right)for(e=e.right;e;)t.push(e),e=e.left;else for(t.pop();t.length>0&&t[t.length-1].right===e;)e=t[t.length-1],t.pop()}},Object.defineProperty(f,"hasNext",{get:function(){var t=this._stack;if(0===t.length)return!1;if(t[t.length-1].right)return!0;for(var e=t.length-1;e>0;--e)if(t[e-1].left===t[e])return!0;return!1}}),f.update=function(t){var r=this._stack;if(0===r.length)throw new Error("Can't update empty node!");var n=new Array(r.length),i=r[r.length-1];n[n.length-1]=new e(i._color,i.key,t,i.left,i.right,i._count);for(var o=r.length-2;o>=0;--o)(i=r[o]).left===r[o+1]?n[o]=new e(i._color,i.key,i.value,n[o+1],i.right,i._count):n[o]=new e(i._color,i.key,i.value,i.left,n[o+1],i._count);return new a(this.tree._compare,n[0])},f.prev=function(){var t=this._stack;if(0!==t.length){var e=t[t.length-1];if(e.left)for(e=e.left;e;)t.push(e),e=e.right;else for(t.pop();t.length>0&&t[t.length-1].left===e;)e=t[t.length-1],t.pop()}},Object.defineProperty(f,"hasPrev",{get:function(){var t=this._stack;if(0===t.length)return!1;if(t[t.length-1].left)return!0;for(var e=t.length-1;e>0;--e)if(t[e-1].right===t[e])return!0;return!1}})},7453:function(t,e,r){"use strict";t.exports=function(t,e){var r=new c(t);return r.update(e),r};var n=r(9557),i=r(1681),a=r(1011),o=r(2864),s=r(8468),l=new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]);function u(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function c(t){this.gl=t,this.pixelRatio=1,this.bounds=[[-10,-10,-10],[10,10,10]],this.ticks=[[],[],[]],this.autoTicks=!0,this.tickSpacing=[1,1,1],this.tickEnable=[!0,!0,!0],this.tickFont=["sans-serif","sans-serif","sans-serif"],this.tickSize=[12,12,12],this.tickAngle=[0,0,0],this.tickAlign=["auto","auto","auto"],this.tickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.tickPad=[10,10,10],this.lastCubeProps={cubeEdges:[0,0,0],axis:[0,0,0]},this.labels=["x","y","z"],this.labelEnable=[!0,!0,!0],this.labelFont="sans-serif",this.labelSize=[20,20,20],this.labelAngle=[0,0,0],this.labelAlign=["auto","auto","auto"],this.labelColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.labelPad=[10,10,10],this.lineEnable=[!0,!0,!0],this.lineMirror=[!1,!1,!1],this.lineWidth=[1,1,1],this.lineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.lineTickEnable=[!0,!0,!0],this.lineTickMirror=[!1,!1,!1],this.lineTickLength=[0,0,0],this.lineTickWidth=[1,1,1],this.lineTickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.gridEnable=[!0,!0,!0],this.gridWidth=[1,1,1],this.gridColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.zeroEnable=[!0,!0,!0],this.zeroLineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.zeroLineWidth=[2,2,2],this.backgroundEnable=[!1,!1,!1],this.backgroundColor=[[.8,.8,.8,.5],[.8,.8,.8,.5],[.8,.8,.8,.5]],this._firstInit=!0,this._text=null,this._lines=null,this._background=a(t)}var f=c.prototype;function h(){this.primalOffset=[0,0,0],this.primalMinor=[0,0,0],this.mirrorOffset=[0,0,0],this.mirrorMinor=[0,0,0]}f.update=function(t){function e(e,r,n){if(n in t){var i,a=t[n],o=this[n];(e?Array.isArray(a)&&Array.isArray(a[0]):Array.isArray(a))?this[n]=i=[r(a[0]),r(a[1]),r(a[2])]:this[n]=i=[r(a),r(a),r(a)];for(var s=0;s<3;++s)if(i[s]!==o[s])return!0}return!1}t=t||{};var r,a=e.bind(this,!1,Number),o=e.bind(this,!1,Boolean),l=e.bind(this,!1,String),u=e.bind(this,!0,(function(t){if(Array.isArray(t)){if(3===t.length)return[+t[0],+t[1],+t[2],1];if(4===t.length)return[+t[0],+t[1],+t[2],+t[3]]}return[0,0,0,1]})),c=!1,f=!1;if("bounds"in t)for(var h=t.bounds,p=0;p<2;++p)for(var d=0;d<3;++d)h[p][d]!==this.bounds[p][d]&&(f=!0),this.bounds[p][d]=h[p][d];if("ticks"in t)for(r=t.ticks,c=!0,this.autoTicks=!1,p=0;p<3;++p)this.tickSpacing[p]=0;else a("tickSpacing")&&(this.autoTicks=!0,f=!0);if(this._firstInit&&("ticks"in t||"tickSpacing"in t||(this.autoTicks=!0),f=!0,c=!0,this._firstInit=!1),f&&this.autoTicks&&(r=s.create(this.bounds,this.tickSpacing),c=!0),c){for(p=0;p<3;++p)r[p].sort((function(t,e){return t.x-e.x}));s.equal(r,this.ticks)?c=!1:this.ticks=r}o("tickEnable"),l("tickFont")&&(c=!0),a("tickSize"),a("tickAngle"),a("tickPad"),u("tickColor");var v=l("labels");l("labelFont")&&(v=!0),o("labelEnable"),a("labelSize"),a("labelPad"),u("labelColor"),o("lineEnable"),o("lineMirror"),a("lineWidth"),u("lineColor"),o("lineTickEnable"),o("lineTickMirror"),a("lineTickLength"),a("lineTickWidth"),u("lineTickColor"),o("gridEnable"),a("gridWidth"),u("gridColor"),o("zeroEnable"),u("zeroLineColor"),a("zeroLineWidth"),o("backgroundEnable"),u("backgroundColor"),this._text?this._text&&(v||c)&&this._text.update(this.bounds,this.labels,this.labelFont,this.ticks,this.tickFont):this._text=n(this.gl,this.bounds,this.labels,this.labelFont,this.ticks,this.tickFont),this._lines&&c&&(this._lines.dispose(),this._lines=null),this._lines||(this._lines=i(this.gl,this.bounds,this.ticks))};var p=[new h,new h,new h];function d(t,e,r,n,i){for(var a=t.primalOffset,o=t.primalMinor,s=t.mirrorOffset,l=t.mirrorMinor,u=n[e],c=0;c<3;++c)if(e!==c){var f=a,h=s,p=o,d=l;u&1<<c&&(f=s,h=a,p=l,d=o),f[c]=r[0][c],h[c]=r[1][c],i[c]>0?(p[c]=-1,d[c]=0):(p[c]=0,d[c]=1)}}var v=[0,0,0],g={model:l,view:l,projection:l,_ortho:!1};f.isOpaque=function(){return!0},f.isTransparent=function(){return!1},f.drawTransparent=function(t){};var y=[0,0,0],m=[0,0,0],x=[0,0,0];f.draw=function(t){t=t||g;for(var e=this.gl,r=t.model||l,n=t.view||l,i=t.projection||l,a=this.bounds,s=t._ortho||!1,c=o(r,n,i,a,s),f=c.cubeEdges,h=c.axis,b=n[12],_=n[13],w=n[14],T=n[15],k=(s?2:1)*this.pixelRatio*(i[3]*b+i[7]*_+i[11]*w+i[15]*T)/e.drawingBufferHeight,A=0;A<3;++A)this.lastCubeProps.cubeEdges[A]=f[A],this.lastCubeProps.axis[A]=h[A];var M=p;for(A=0;A<3;++A)d(p[A],A,this.bounds,f,h);e=this.gl;var S,E,L,C=v;for(A=0;A<3;++A)this.backgroundEnable[A]?C[A]=h[A]:C[A]=0;for(this._background.draw(r,n,i,a,C,this.backgroundColor),this._lines.bind(r,n,i,this),A=0;A<3;++A){var P=[0,0,0];h[A]>0?P[A]=a[1][A]:P[A]=a[0][A];for(var O=0;O<2;++O){var I=(A+1+O)%3,D=(A+1+(1^O))%3;this.gridEnable[I]&&this._lines.drawGrid(I,D,this.bounds,P,this.gridColor[I],this.gridWidth[I]*this.pixelRatio)}for(O=0;O<2;++O)I=(A+1+O)%3,D=(A+1+(1^O))%3,this.zeroEnable[D]&&Math.min(a[0][D],a[1][D])<=0&&Math.max(a[0][D],a[1][D])>=0&&this._lines.drawZero(I,D,this.bounds,P,this.zeroLineColor[D],this.zeroLineWidth[D]*this.pixelRatio)}for(A=0;A<3;++A){this.lineEnable[A]&&this._lines.drawAxisLine(A,this.bounds,M[A].primalOffset,this.lineColor[A],this.lineWidth[A]*this.pixelRatio),this.lineMirror[A]&&this._lines.drawAxisLine(A,this.bounds,M[A].mirrorOffset,this.lineColor[A],this.lineWidth[A]*this.pixelRatio);var z=u(y,M[A].primalMinor),R=u(m,M[A].mirrorMinor),F=this.lineTickLength;for(O=0;O<3;++O){var B=k/r[5*O];z[O]*=F[O]*B,R[O]*=F[O]*B}this.lineTickEnable[A]&&this._lines.drawAxisTicks(A,M[A].primalOffset,z,this.lineTickColor[A],this.lineTickWidth[A]*this.pixelRatio),this.lineTickMirror[A]&&this._lines.drawAxisTicks(A,M[A].mirrorOffset,R,this.lineTickColor[A],this.lineTickWidth[A]*this.pixelRatio)}function N(t){(L=[0,0,0])[t]=1}function j(t,e,r){var n=(t+1)%3,i=(t+2)%3,a=e[n],o=e[i],s=r[n],l=r[i];a>0&&l>0||a>0&&l<0||a<0&&l>0||a<0&&l<0?N(n):(o>0&&s>0||o>0&&s<0||o<0&&s>0||o<0&&s<0)&&N(i)}for(this._lines.unbind(),this._text.bind(r,n,i,this.pixelRatio),A=0;A<3;++A){var U=M[A].primalMinor,V=M[A].mirrorMinor,H=u(x,M[A].primalOffset);for(O=0;O<3;++O)this.lineTickEnable[A]&&(H[O]+=k*U[O]*Math.max(this.lineTickLength[O],0)/r[5*O]);var q=[0,0,0];if(q[A]=1,this.tickEnable[A]){for(-3600===this.tickAngle[A]?(this.tickAngle[A]=0,this.tickAlign[A]="auto"):this.tickAlign[A]=-1,E=1,"auto"===(S=[this.tickAlign[A],.5,E])[0]?S[0]=0:S[0]=parseInt(""+S[0]),L=[0,0,0],j(A,U,V),O=0;O<3;++O)H[O]+=k*U[O]*this.tickPad[O]/r[5*O];this._text.drawTicks(A,this.tickSize[A],this.tickAngle[A],H,this.tickColor[A],q,L,S)}if(this.labelEnable[A]){for(E=0,L=[0,0,0],this.labels[A].length>4&&(N(A),E=1),"auto"===(S=[this.labelAlign[A],.5,E])[0]?S[0]=0:S[0]=parseInt(""+S[0]),O=0;O<3;++O)H[O]+=k*U[O]*this.labelPad[O]/r[5*O];H[A]+=.5*(a[0][A]+a[1][A]),this._text.drawLabel(A,this.labelSize[A],this.labelAngle[A],H,this.labelColor[A],[0,0,0],L,S)}}this._text.unbind()},f.dispose=function(){this._text.dispose(),this._lines.dispose(),this._background.dispose(),this._lines=null,this._text=null,this._background=null,this.gl=null}},1011:function(t,e,r){"use strict";t.exports=function(t){for(var e=[],r=[],s=0,l=0;l<3;++l)for(var u=(l+1)%3,c=(l+2)%3,f=[0,0,0],h=[0,0,0],p=-1;p<=1;p+=2){r.push(s,s+2,s+1,s+1,s+2,s+3),f[l]=p,h[l]=p;for(var d=-1;d<=1;d+=2){f[u]=d;for(var v=-1;v<=1;v+=2)f[c]=v,e.push(f[0],f[1],f[2],h[0],h[1],h[2]),s+=1}var g=u;u=c,c=g}var y=n(t,new Float32Array(e)),m=n(t,new Uint16Array(r),t.ELEMENT_ARRAY_BUFFER),x=i(t,[{buffer:y,type:t.FLOAT,size:3,offset:0,stride:24},{buffer:y,type:t.FLOAT,size:3,offset:12,stride:24}],m),b=a(t);return b.attributes.position.location=0,b.attributes.normal.location=1,new o(t,y,x,b)};var n=r(5827),i=r(2944),a=r(1943).bg;function o(t,e,r,n){this.gl=t,this.buffer=e,this.vao=r,this.shader=n}var s=o.prototype;s.draw=function(t,e,r,n,i,a){for(var o=!1,s=0;s<3;++s)o=o||i[s];if(o){var l=this.gl;l.enable(l.POLYGON_OFFSET_FILL),l.polygonOffset(1,2),this.shader.bind(),this.shader.uniforms={model:t,view:e,projection:r,bounds:n,enable:i,colors:a},this.vao.bind(),this.vao.draw(this.gl.TRIANGLES,36),this.vao.unbind(),l.disable(l.POLYGON_OFFSET_FILL)}},s.dispose=function(){this.vao.dispose(),this.buffer.dispose(),this.shader.dispose()}},2864:function(t,e,r){"use strict";t.exports=function(t,e,r,a,p){i(s,e,t),i(s,r,s);for(var m=0,x=0;x<2;++x){c[2]=a[x][2];for(var b=0;b<2;++b){c[1]=a[b][1];for(var _=0;_<2;++_)c[0]=a[_][0],h(l[m],c,s),m+=1}}var w=-1;for(x=0;x<8;++x){for(var T=l[x][3],k=0;k<3;++k)u[x][k]=l[x][k]/T;p&&(u[x][2]*=-1),T<0&&(w<0||u[x][2]<u[w][2])&&(w=x)}if(w<0){w=0;for(var A=0;A<3;++A){for(var M=(A+2)%3,S=(A+1)%3,E=-1,L=-1,C=0;C<2;++C){var P=(I=C<<A)+(C<<M)+(1-C<<S),O=I+(1-C<<M)+(C<<S);o(u[I],u[P],u[O],f)<0||(C?E=1:L=1)}if(E<0||L<0)L>E&&(w|=1<<A);else{for(C=0;C<2;++C){P=(I=C<<A)+(C<<M)+(1-C<<S),O=I+(1-C<<M)+(C<<S);var I,D=d([l[I],l[P],l[O],l[I+(1<<M)+(1<<S)]]);C?E=D:L=D}L>E&&(w|=1<<A)}}}var z=7^w,R=-1;for(x=0;x<8;++x)x!==w&&x!==z&&(R<0||u[R][1]>u[x][1])&&(R=x);var F=-1;for(x=0;x<3;++x)(N=R^1<<x)!==w&&N!==z&&(F<0&&(F=N),(S=u[N])[0]<u[F][0]&&(F=N));var B=-1;for(x=0;x<3;++x){var N;(N=R^1<<x)!==w&&N!==z&&N!==F&&(B<0&&(B=N),(S=u[N])[0]>u[B][0]&&(B=N))}var j=v;j[0]=j[1]=j[2]=0,j[n.log2(F^R)]=R&F,j[n.log2(R^B)]=R&B;var U=7^B;U===w||U===z?(U=7^F,j[n.log2(B^U)]=U&B):j[n.log2(F^U)]=U&F;var V=g,H=w;for(A=0;A<3;++A)V[A]=H&1<<A?-1:1;return y};var n=r(2288),i=r(104),a=r(4670),o=r(417),s=new Array(16),l=new Array(8),u=new Array(8),c=new Array(3),f=[0,0,0];function h(t,e,r){for(var n=0;n<4;++n){t[n]=r[12+n];for(var i=0;i<3;++i)t[n]+=e[i]*r[4*i+n]}}!function(){for(var t=0;t<8;++t)l[t]=[1,1,1,1],u[t]=[1,1,1]}();var p=[[0,0,1,0,0],[0,0,-1,1,0],[0,-1,0,1,0],[0,1,0,1,0],[-1,0,0,1,0],[1,0,0,1,0]];function d(t){for(var e=0;e<p.length;++e)if((t=a.positive(t,p[e])).length<3)return 0;var r=t[0],n=r[0]/r[3],i=r[1]/r[3],o=0;for(e=1;e+1<t.length;++e){var s=t[e],l=t[e+1],u=s[0]/s[3]-n,c=s[1]/s[3]-i,f=l[0]/l[3]-n,h=l[1]/l[3]-i;o+=Math.abs(u*h-c*f)}return o}var v=[1,1,1],g=[0,0,0],y={cubeEdges:v,axis:g}},1681:function(t,e,r){"use strict";t.exports=function(t,e,r){var o=[],s=[0,0,0],l=[0,0,0],u=[0,0,0],c=[0,0,0];o.push(0,0,1,0,1,1,0,0,-1,0,0,-1,0,1,1,0,1,-1);for(var f=0;f<3;++f){for(var h=o.length/3|0,d=0;d<r[f].length;++d){var v=+r[f][d].x;o.push(v,0,1,v,1,1,v,0,-1,v,0,-1,v,1,1,v,1,-1)}var g=o.length/3|0;s[f]=h,l[f]=g-h,h=o.length/3|0;for(var y=0;y<r[f].length;++y)v=+r[f][y].x,o.push(v,0,1,v,1,1,v,0,-1,v,0,-1,v,1,1,v,1,-1);g=o.length/3|0,u[f]=h,c[f]=g-h}var m=n(t,new Float32Array(o)),x=i(t,[{buffer:m,type:t.FLOAT,size:3,stride:0,offset:0}]),b=a(t);return b.attributes.position.location=0,new p(t,m,x,b,l,s,c,u)};var n=r(5827),i=r(2944),a=r(1943).j,o=[0,0,0],s=[0,0,0],l=[0,0,0],u=[0,0,0],c=[1,1];function f(t){return t[0]=t[1]=t[2]=0,t}function h(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function p(t,e,r,n,i,a,o,s){this.gl=t,this.vertBuffer=e,this.vao=r,this.shader=n,this.tickCount=i,this.tickOffset=a,this.gridCount=o,this.gridOffset=s}var d=p.prototype;d.bind=function(t,e,r){this.shader.bind(),this.shader.uniforms.model=t,this.shader.uniforms.view=e,this.shader.uniforms.projection=r,c[0]=this.gl.drawingBufferWidth,c[1]=this.gl.drawingBufferHeight,this.shader.uniforms.screenShape=c,this.vao.bind()},d.unbind=function(){this.vao.unbind()},d.drawAxisLine=function(t,e,r,n,i){var a=f(s);this.shader.uniforms.majorAxis=s,a[t]=e[1][t]-e[0][t],this.shader.uniforms.minorAxis=a;var o,c=h(u,r);c[t]+=e[0][t],this.shader.uniforms.offset=c,this.shader.uniforms.lineWidth=i,this.shader.uniforms.color=n,(o=f(l))[(t+2)%3]=1,this.shader.uniforms.screenAxis=o,this.vao.draw(this.gl.TRIANGLES,6),(o=f(l))[(t+1)%3]=1,this.shader.uniforms.screenAxis=o,this.vao.draw(this.gl.TRIANGLES,6)},d.drawAxisTicks=function(t,e,r,n,i){if(this.tickCount[t]){var a=f(o);a[t]=1,this.shader.uniforms.majorAxis=a,this.shader.uniforms.offset=e,this.shader.uniforms.minorAxis=r,this.shader.uniforms.color=n,this.shader.uniforms.lineWidth=i;var s=f(l);s[t]=1,this.shader.uniforms.screenAxis=s,this.vao.draw(this.gl.TRIANGLES,this.tickCount[t],this.tickOffset[t])}},d.drawGrid=function(t,e,r,n,i,a){if(this.gridCount[t]){var c=f(s);c[e]=r[1][e]-r[0][e],this.shader.uniforms.minorAxis=c;var p=h(u,n);p[e]+=r[0][e],this.shader.uniforms.offset=p;var d=f(o);d[t]=1,this.shader.uniforms.majorAxis=d;var v=f(l);v[t]=1,this.shader.uniforms.screenAxis=v,this.shader.uniforms.lineWidth=a,this.shader.uniforms.color=i,this.vao.draw(this.gl.TRIANGLES,this.gridCount[t],this.gridOffset[t])}},d.drawZero=function(t,e,r,n,i,a){var o=f(s);this.shader.uniforms.majorAxis=o,o[t]=r[1][t]-r[0][t],this.shader.uniforms.minorAxis=o;var c=h(u,n);c[t]+=r[0][t],this.shader.uniforms.offset=c;var p=f(l);p[e]=1,this.shader.uniforms.screenAxis=p,this.shader.uniforms.lineWidth=a,this.shader.uniforms.color=i,this.vao.draw(this.gl.TRIANGLES,6)},d.dispose=function(){this.vao.dispose(),this.vertBuffer.dispose(),this.shader.dispose()}},1943:function(t,e,r){"use strict";var n=r(6832),i=r(5158),a=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position;\n\nuniform mat4 model, view, projection;\nuniform vec3 offset, majorAxis, minorAxis, screenAxis;\nuniform float lineWidth;\nuniform vec2 screenShape;\n\nvec3 project(vec3 p) {\n vec4 pp = projection * view * model * vec4(p, 1.0);\n return pp.xyz / max(pp.w, 0.0001);\n}\n\nvoid main() {\n vec3 major = position.x * majorAxis;\n vec3 minor = position.y * minorAxis;\n\n vec3 vPosition = major + minor + offset;\n vec3 pPosition = project(vPosition);\n vec3 offset = project(vPosition + screenAxis * position.z);\n\n vec2 screen = normalize((offset - pPosition).xy * screenShape) / screenShape;\n\n gl_Position = vec4(pPosition + vec3(0.5 * screen * lineWidth, 0), 1.0);\n}\n"]),o=n(["precision highp float;\n#define GLSLIFY 1\n\nuniform vec4 color;\nvoid main() {\n gl_FragColor = color;\n}"]);e.j=function(t){return i(t,a,o,null,[{name:"position",type:"vec3"}])};var s=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position;\n\nuniform mat4 model, view, projection;\nuniform vec3 offset, axis, alignDir, alignOpt;\nuniform float scale, angle, pixelScale;\nuniform vec2 resolution;\n\nvec3 project(vec3 p) {\n vec4 pp = projection * view * model * vec4(p, 1.0);\n return pp.xyz / max(pp.w, 0.0001);\n}\n\nfloat computeViewAngle(vec3 a, vec3 b) {\n vec3 A = project(a);\n vec3 B = project(b);\n\n return atan(\n (B.y - A.y) * resolution.y,\n (B.x - A.x) * resolution.x\n );\n}\n\nconst float PI = 3.141592;\nconst float TWO_PI = 2.0 * PI;\nconst float HALF_PI = 0.5 * PI;\nconst float ONE_AND_HALF_PI = 1.5 * PI;\n\nint option = int(floor(alignOpt.x + 0.001));\nfloat hv_ratio = alignOpt.y;\nbool enableAlign = (alignOpt.z != 0.0);\n\nfloat mod_angle(float a) {\n return mod(a, PI);\n}\n\nfloat positive_angle(float a) {\n return mod_angle((a < 0.0) ?\n a + TWO_PI :\n a\n );\n}\n\nfloat look_upwards(float a) {\n float b = positive_angle(a);\n return ((b > HALF_PI) && (b <= ONE_AND_HALF_PI)) ?\n b - PI :\n b;\n}\n\nfloat look_horizontal_or_vertical(float a, float ratio) {\n // ratio controls the ratio between being horizontal to (vertical + horizontal)\n // if ratio is set to 0.5 then it is 50%, 50%.\n // when using a higher ratio e.g. 0.75 the result would\n // likely be more horizontal than vertical.\n\n float b = positive_angle(a);\n\n return\n (b < ( ratio) * HALF_PI) ? 0.0 :\n (b < (2.0 - ratio) * HALF_PI) ? -HALF_PI :\n (b < (2.0 + ratio) * HALF_PI) ? 0.0 :\n (b < (4.0 - ratio) * HALF_PI) ? HALF_PI :\n 0.0;\n}\n\nfloat roundTo(float a, float b) {\n return float(b * floor((a + 0.5 * b) / b));\n}\n\nfloat look_round_n_directions(float a, int n) {\n float b = positive_angle(a);\n float div = TWO_PI / float(n);\n float c = roundTo(b, div);\n return look_upwards(c);\n}\n\nfloat applyAlignOption(float rawAngle, float delta) {\n return\n (option > 2) ? look_round_n_directions(rawAngle + delta, option) : // option 3-n: round to n directions\n (option == 2) ? look_horizontal_or_vertical(rawAngle + delta, hv_ratio) : // horizontal or vertical\n (option == 1) ? rawAngle + delta : // use free angle, and flip to align with one direction of the axis\n (option == 0) ? look_upwards(rawAngle) : // use free angle, and stay upwards\n (option ==-1) ? 0.0 : // useful for backward compatibility, all texts remains horizontal\n rawAngle; // otherwise return back raw input angle\n}\n\nbool isAxisTitle = (axis.x == 0.0) &&\n (axis.y == 0.0) &&\n (axis.z == 0.0);\n\nvoid main() {\n //Compute world offset\n float axisDistance = position.z;\n vec3 dataPosition = axisDistance * axis + offset;\n\n float beta = angle; // i.e. user defined attributes for each tick\n\n float axisAngle;\n float clipAngle;\n float flip;\n\n if (enableAlign) {\n axisAngle = (isAxisTitle) ? HALF_PI :\n computeViewAngle(dataPosition, dataPosition + axis);\n clipAngle = computeViewAngle(dataPosition, dataPosition + alignDir);\n\n axisAngle += (sin(axisAngle) < 0.0) ? PI : 0.0;\n clipAngle += (sin(clipAngle) < 0.0) ? PI : 0.0;\n\n flip = (dot(vec2(cos(axisAngle), sin(axisAngle)),\n vec2(sin(clipAngle),-cos(clipAngle))) > 0.0) ? 1.0 : 0.0;\n\n beta += applyAlignOption(clipAngle, flip * PI);\n }\n\n //Compute plane offset\n vec2 planeCoord = position.xy * pixelScale;\n\n mat2 planeXform = scale * mat2(\n cos(beta), sin(beta),\n -sin(beta), cos(beta)\n );\n\n vec2 viewOffset = 2.0 * planeXform * planeCoord / resolution;\n\n //Compute clip position\n vec3 clipPosition = project(dataPosition);\n\n //Apply text offset in clip coordinates\n clipPosition += vec3(viewOffset, 0.0);\n\n //Done\n gl_Position = vec4(clipPosition, 1.0);\n}"]),l=n(["precision highp float;\n#define GLSLIFY 1\n\nuniform vec4 color;\nvoid main() {\n gl_FragColor = color;\n}"]);e.f=function(t){return i(t,s,l,null,[{name:"position",type:"vec3"}])};var u=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position;\nattribute vec3 normal;\n\nuniform mat4 model, view, projection;\nuniform vec3 enable;\nuniform vec3 bounds[2];\n\nvarying vec3 colorChannel;\n\nvoid main() {\n\n vec3 signAxis = sign(bounds[1] - bounds[0]);\n\n vec3 realNormal = signAxis * normal;\n\n if(dot(realNormal, enable) > 0.0) {\n vec3 minRange = min(bounds[0], bounds[1]);\n vec3 maxRange = max(bounds[0], bounds[1]);\n vec3 nPosition = mix(minRange, maxRange, 0.5 * (position + 1.0));\n gl_Position = projection * view * model * vec4(nPosition, 1.0);\n } else {\n gl_Position = vec4(0,0,0,0);\n }\n\n colorChannel = abs(realNormal);\n}"]),c=n(["precision highp float;\n#define GLSLIFY 1\n\nuniform vec4 colors[3];\n\nvarying vec3 colorChannel;\n\nvoid main() {\n gl_FragColor = colorChannel.x * colors[0] +\n colorChannel.y * colors[1] +\n colorChannel.z * colors[2];\n}"]);e.bg=function(t){return i(t,u,c,null,[{name:"position",type:"vec3"},{name:"normal",type:"vec3"}])}},9557:function(t,e,r){"use strict";t.exports=function(t,e,r,i,o,l){var u=n(t),f=a(t,[{buffer:u,size:3}]),h=s(t);h.attributes.position.location=0;var p=new c(t,h,u,f);return p.update(e,r,i,o,l),p};var n=r(5827),a=r(2944),o=r(875),s=r(1943).f,l=window||i.global||{},u=l.__TEXT_CACHE||{};function c(t,e,r,n){this.gl=t,this.shader=e,this.buffer=r,this.vao=n,this.tickOffset=this.tickCount=this.labelOffset=this.labelCount=null}l.__TEXT_CACHE={};var f=c.prototype,h=[0,0];f.bind=function(t,e,r,n){this.vao.bind(),this.shader.bind();var i=this.shader.uniforms;i.model=t,i.view=e,i.projection=r,i.pixelScale=n,h[0]=this.gl.drawingBufferWidth,h[1]=this.gl.drawingBufferHeight,this.shader.uniforms.resolution=h},f.unbind=function(){this.vao.unbind()},f.update=function(t,e,r,n,i){var a=[];function s(t,e,r,n,i,s){var l=u[r];l||(l=u[r]={});var c=l[e];c||(c=l[e]=function(t,e){try{return o(t,e)}catch(e){return console.warn('error vectorizing text:"'+t+'" error:',e),{cells:[],positions:[]}}}(e,{triangles:!0,font:r,textAlign:"center",textBaseline:"middle",lineSpacing:i,styletags:s}));for(var f=(n||12)/12,h=c.positions,p=c.cells,d=0,v=p.length;d<v;++d)for(var g=p[d],y=2;y>=0;--y){var m=h[g[y]];a.push(f*m[0],-f*m[1],t)}}for(var l=[0,0,0],c=[0,0,0],f=[0,0,0],h=[0,0,0],p={breaklines:!0,bolds:!0,italics:!0,subscripts:!0,superscripts:!0},d=0;d<3;++d){f[d]=a.length/3|0,s(.5*(t[0][d]+t[1][d]),e[d],r[d],12,1.25,p),h[d]=(a.length/3|0)-f[d],l[d]=a.length/3|0;for(var v=0;v<n[d].length;++v)n[d][v].text&&s(n[d][v].x,n[d][v].text,n[d][v].font||i,n[d][v].fontSize||12,1.25,p);c[d]=(a.length/3|0)-l[d]}this.buffer.update(a),this.tickOffset=l,this.tickCount=c,this.labelOffset=f,this.labelCount=h},f.drawTicks=function(t,e,r,n,i,a,o,s){this.tickCount[t]&&(this.shader.uniforms.axis=a,this.shader.uniforms.color=i,this.shader.uniforms.angle=r,this.shader.uniforms.scale=e,this.shader.uniforms.offset=n,this.shader.uniforms.alignDir=o,this.shader.uniforms.alignOpt=s,this.vao.draw(this.gl.TRIANGLES,this.tickCount[t],this.tickOffset[t]))},f.drawLabel=function(t,e,r,n,i,a,o,s){this.labelCount[t]&&(this.shader.uniforms.axis=a,this.shader.uniforms.color=i,this.shader.uniforms.angle=r,this.shader.uniforms.scale=e,this.shader.uniforms.offset=n,this.shader.uniforms.alignDir=o,this.shader.uniforms.alignOpt=s,this.vao.draw(this.gl.TRIANGLES,this.labelCount[t],this.labelOffset[t]))},f.dispose=function(){this.shader.dispose(),this.vao.dispose(),this.buffer.dispose()}},8468:function(t,e){"use strict";function r(t,e){var r=t+"",n=r.indexOf("."),i=0;n>=0&&(i=r.length-n-1);var a=Math.pow(10,i),o=Math.round(t*e*a),s=o+"";if(s.indexOf("e")>=0)return s;var l=o/a,u=o%a;o<0?(l=0|-Math.ceil(l),u=0|-u):(l=0|Math.floor(l),u|=0);var c=""+l;if(o<0&&(c="-"+c),i){for(var f=""+u;f.length<i;)f="0"+f;return c+"."+f}return c}e.create=function(t,e){for(var n=[],i=0;i<3;++i){for(var a=[],o=(t[0][i],t[1][i],0);o*e[i]<=t[1][i];++o)a.push({x:o*e[i],text:r(e[i],o)});for(o=-1;o*e[i]>=t[0][i];--o)a.push({x:o*e[i],text:r(e[i],o)});n.push(a)}return n},e.equal=function(t,e){for(var r=0;r<3;++r){if(t[r].length!==e[r].length)return!1;for(var n=0;n<t[r].length;++n){var i=t[r][n],a=e[r][n];if(i.x!==a.x||i.text!==a.text||i.font!==a.font||i.fontColor!==a.fontColor||i.fontSize!==a.fontSize||i.dx!==a.dx||i.dy!==a.dy)return!1}}return!0}},2771:function(t,e,r){"use strict";t.exports=function(t,e,r,l,f){var h=e.model||u,p=e.view||u,y=e.projection||u,m=e._ortho||!1,x=t.bounds,b=(f=f||a(h,p,y,x,m)).axis;o(c,p,h),o(c,y,c);for(var _=v,w=0;w<3;++w)_[w].lo=1/0,_[w].hi=-1/0,_[w].pixelsPerDataUnit=1/0;var T=n(s(c,c));s(c,c);for(var k=0;k<3;++k){var A=(k+1)%3,M=(k+2)%3,S=g;t:for(w=0;w<2;++w){var E=[];if(b[k]<0!=!!w){S[k]=x[w][k];for(var L=0;L<2;++L){S[A]=x[L^w][A];for(var C=0;C<2;++C)S[M]=x[C^L^w][M],E.push(S.slice())}var P=m?5:4;for(L=P;L===P;++L){if(0===E.length)continue t;E=i.positive(E,T[L])}for(L=0;L<E.length;++L){M=E[L];var O=d(g,c,M,r,l);for(C=0;C<3;++C)_[C].lo=Math.min(_[C].lo,M[C]),_[C].hi=Math.max(_[C].hi,M[C]),C!==k&&(_[C].pixelsPerDataUnit=Math.min(_[C].pixelsPerDataUnit,Math.abs(O[C])))}}}}return _};var n=r(5795),i=r(4670),a=r(2864),o=r(104),s=r(2142),l=r(6342),u=new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),c=new Float32Array(16);function f(t,e,r){this.lo=t,this.hi=e,this.pixelsPerDataUnit=r}var h=[0,0,0,1],p=[0,0,0,1];function d(t,e,r,n,i){for(var a=0;a<3;++a){for(var o=h,s=p,u=0;u<3;++u)s[u]=o[u]=r[u];s[3]=o[3]=1,s[a]+=1,l(s,s,e),s[3]<0&&(t[a]=1/0),o[a]-=1,l(o,o,e),o[3]<0&&(t[a]=1/0);var c=(o[0]/o[3]-s[0]/s[3])*n,f=(o[1]/o[3]-s[1]/s[3])*i;t[a]=.25*Math.sqrt(c*c+f*f)}return t}var v=[new f(1/0,-1/0,1/0),new f(1/0,-1/0,1/0),new f(1/0,-1/0,1/0)],g=[0,0,0]},5827:function(t,e,r){"use strict";var n=r(5306),i=r(7498),a=r(5050),o=["uint8","uint8_clamped","uint16","uint32","int8","int16","int32","float32"];function s(t,e,r,n,i){this.gl=t,this.type=e,this.handle=r,this.length=n,this.usage=i}var l=s.prototype;function u(t,e,r,n,i,a){var o=i.length*i.BYTES_PER_ELEMENT;if(a<0)return t.bufferData(e,i,n),o;if(o+a>r)throw new Error("gl-buffer: If resizing buffer, must not specify offset");return t.bufferSubData(e,a,i),r}function c(t,e){for(var r=n.malloc(t.length,e),i=t.length,a=0;a<i;++a)r[a]=t[a];return r}l.bind=function(){this.gl.bindBuffer(this.type,this.handle)},l.unbind=function(){this.gl.bindBuffer(this.type,null)},l.dispose=function(){this.gl.deleteBuffer(this.handle)},l.update=function(t,e){if("number"!=typeof e&&(e=-1),this.bind(),"object"==typeof t&&void 0!==t.shape){var r=t.dtype;if(o.indexOf(r)<0&&(r="float32"),this.type===this.gl.ELEMENT_ARRAY_BUFFER&&(r=gl.getExtension("OES_element_index_uint")&&"uint16"!==r?"uint32":"uint16"),r===t.dtype&&function(t,e){for(var r=1,n=e.length-1;n>=0;--n){if(e[n]!==r)return!1;r*=t[n]}return!0}(t.shape,t.stride))0===t.offset&&t.data.length===t.shape[0]?this.length=u(this.gl,this.type,this.length,this.usage,t.data,e):this.length=u(this.gl,this.type,this.length,this.usage,t.data.subarray(t.offset,t.shape[0]),e);else{var s=n.malloc(t.size,r),l=a(s,t.shape);i.assign(l,t),this.length=u(this.gl,this.type,this.length,this.usage,e<0?s:s.subarray(0,t.size),e),n.free(s)}}else if(Array.isArray(t)){var f;f=this.type===this.gl.ELEMENT_ARRAY_BUFFER?c(t,"uint16"):c(t,"float32"),this.length=u(this.gl,this.type,this.length,this.usage,e<0?f:f.subarray(0,t.length),e),n.free(f)}else if("object"==typeof t&&"number"==typeof t.length)this.length=u(this.gl,this.type,this.length,this.usage,t,e);else{if("number"!=typeof t&&void 0!==t)throw new Error("gl-buffer: Invalid data type");if(e>=0)throw new Error("gl-buffer: Cannot specify offset when resizing buffer");(t|=0)<=0&&(t=1),this.gl.bufferData(this.type,0|t,this.usage),this.length=t}},t.exports=function(t,e,r,n){if(r=r||t.ARRAY_BUFFER,n=n||t.DYNAMIC_DRAW,r!==t.ARRAY_BUFFER&&r!==t.ELEMENT_ARRAY_BUFFER)throw new Error("gl-buffer: Invalid type for webgl buffer, must be either gl.ARRAY_BUFFER or gl.ELEMENT_ARRAY_BUFFER");if(n!==t.DYNAMIC_DRAW&&n!==t.STATIC_DRAW&&n!==t.STREAM_DRAW)throw new Error("gl-buffer: Invalid usage for buffer, must be either gl.DYNAMIC_DRAW, gl.STATIC_DRAW or gl.STREAM_DRAW");var i=t.createBuffer(),a=new s(t,r,i,0,n);return a.update(e),a}},1140:function(t,e,r){"use strict";var n=r(2858);t.exports=function(t,e){var r=t.positions,i=t.vectors,a={positions:[],vertexIntensity:[],vertexIntensityBounds:t.vertexIntensityBounds,vectors:[],cells:[],coneOffset:t.coneOffset,colormap:t.colormap};if(0===t.positions.length)return e&&(e[0]=[0,0,0],e[1]=[0,0,0]),a;for(var o=0,s=1/0,l=-1/0,u=1/0,c=-1/0,f=1/0,h=-1/0,p=null,d=null,v=[],g=1/0,y=!1,m=0;m<r.length;m++){var x=r[m];s=Math.min(x[0],s),l=Math.max(x[0],l),u=Math.min(x[1],u),c=Math.max(x[1],c),f=Math.min(x[2],f),h=Math.max(x[2],h);var b=i[m];if(n.length(b)>o&&(o=n.length(b)),m){var _=2*n.distance(p,x)/(n.length(d)+n.length(b));_?(g=Math.min(g,_),y=!1):y=!0}y||(p=x,d=b),v.push(b)}var w=[s,u,f],T=[l,c,h];e&&(e[0]=w,e[1]=T),0===o&&(o=1);var k=1/o;isFinite(g)||(g=1),a.vectorScale=g;var A=t.coneSize||.5;t.absoluteConeSize&&(A=t.absoluteConeSize*k),a.coneScale=A,m=0;for(var M=0;m<r.length;m++)for(var S=(x=r[m])[0],E=x[1],L=x[2],C=v[m],P=n.length(C)*k,O=0;O<8;O++){a.positions.push([S,E,L,M++]),a.positions.push([S,E,L,M++]),a.positions.push([S,E,L,M++]),a.positions.push([S,E,L,M++]),a.positions.push([S,E,L,M++]),a.positions.push([S,E,L,M++]),a.vectors.push(C),a.vectors.push(C),a.vectors.push(C),a.vectors.push(C),a.vectors.push(C),a.vectors.push(C),a.vertexIntensity.push(P,P,P),a.vertexIntensity.push(P,P,P);var I=a.positions.length;a.cells.push([I-6,I-5,I-4],[I-3,I-2,I-1])}return a};var i=r(7234);t.exports.createMesh=r(5028),t.exports.createConeMesh=function(e,r){return t.exports.createMesh(e,r,{shaders:i,traceType:"cone"})}},5028:function(t,e,r){"use strict";var n=r(5158),i=r(5827),a=r(2944),o=r(8931),s=r(104),l=r(7437),u=r(5050),c=r(9156),f=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function h(t,e,r,n,i,a,o,s,l,u,c){this.gl=t,this.pixelRatio=1,this.cells=[],this.positions=[],this.intensity=[],this.texture=e,this.dirty=!0,this.triShader=r,this.pickShader=n,this.trianglePositions=i,this.triangleVectors=a,this.triangleColors=s,this.triangleUVs=l,this.triangleIds=o,this.triangleVAO=u,this.triangleCount=0,this.pickId=1,this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.lightPosition=[1e5,1e5,0],this.ambientLight=.8,this.diffuseLight=.8,this.specularLight=2,this.roughness=.5,this.fresnel=1.5,this.opacity=1,this.traceType=c,this.tubeScale=1,this.coneScale=2,this.vectorScale=1,this.coneOffset=.25,this._model=f,this._view=f,this._projection=f,this._resolution=[1,1]}var p=h.prototype;function d(t,e){var r=n(t,e.meshShader.vertex,e.meshShader.fragment,null,e.meshShader.attributes);return r.attributes.position.location=0,r.attributes.color.location=2,r.attributes.uv.location=3,r.attributes.vector.location=4,r}function v(t,e){var r=n(t,e.pickShader.vertex,e.pickShader.fragment,null,e.pickShader.attributes);return r.attributes.position.location=0,r.attributes.id.location=1,r.attributes.vector.location=4,r}p.isOpaque=function(){return this.opacity>=1},p.isTransparent=function(){return this.opacity<1},p.pickSlots=1,p.setPickBase=function(t){this.pickId=t},p.update=function(t){t=t||{};var e=this.gl;this.dirty=!0,"lightPosition"in t&&(this.lightPosition=t.lightPosition),"opacity"in t&&(this.opacity=t.opacity),"ambient"in t&&(this.ambientLight=t.ambient),"diffuse"in t&&(this.diffuseLight=t.diffuse),"specular"in t&&(this.specularLight=t.specular),"roughness"in t&&(this.roughness=t.roughness),"fresnel"in t&&(this.fresnel=t.fresnel),void 0!==t.tubeScale&&(this.tubeScale=t.tubeScale),void 0!==t.vectorScale&&(this.vectorScale=t.vectorScale),void 0!==t.coneScale&&(this.coneScale=t.coneScale),void 0!==t.coneOffset&&(this.coneOffset=t.coneOffset),t.colormap&&(this.texture.shape=[256,256],this.texture.minFilter=e.LINEAR_MIPMAP_LINEAR,this.texture.magFilter=e.LINEAR,this.texture.setPixels(function(t){for(var e=c({colormap:t,nshades:256,format:"rgba"}),r=new Uint8Array(1024),n=0;n<256;++n){for(var i=e[n],a=0;a<3;++a)r[4*n+a]=i[a];r[4*n+3]=255*i[3]}return u(r,[256,256,4],[4,0,1])}(t.colormap)),this.texture.generateMipmap());var r=t.cells,n=t.positions,i=t.vectors;if(n&&r&&i){var a=[],o=[],s=[],l=[],f=[];this.cells=r,this.positions=n,this.vectors=i;var h=t.meshColor||[1,1,1,1],p=t.vertexIntensity,d=1/0,v=-1/0;if(p)if(t.vertexIntensityBounds)d=+t.vertexIntensityBounds[0],v=+t.vertexIntensityBounds[1];else for(var g=0;g<p.length;++g){var y=p[g];d=Math.min(d,y),v=Math.max(v,y)}else for(g=0;g<n.length;++g)y=n[g][2],d=Math.min(d,y),v=Math.max(v,y);for(this.intensity=p||function(t){for(var e=t.length,r=new Array(e),n=0;n<e;++n)r[n]=t[n][2];return r}(n),this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],g=0;g<n.length;++g)for(var m=n[g],x=0;x<3;++x)!isNaN(m[x])&&isFinite(m[x])&&(this.bounds[0][x]=Math.min(this.bounds[0][x],m[x]),this.bounds[1][x]=Math.max(this.bounds[1][x],m[x]));var b=0;t:for(g=0;g<r.length;++g){var _=r[g];if(3===_.length){for(x=0;x<3;++x){m=n[T=_[x]];for(var w=0;w<3;++w)if(isNaN(m[w])||!isFinite(m[w]))continue t}for(x=0;x<3;++x){var T;m=n[T=_[2-x]],a.push(m[0],m[1],m[2],m[3]);var k=i[T];o.push(k[0],k[1],k[2],k[3]||0);var A,M=h;3===M.length?s.push(M[0],M[1],M[2],1):s.push(M[0],M[1],M[2],M[3]),A=p?[(p[T]-d)/(v-d),0]:[(m[2]-d)/(v-d),0],l.push(A[0],A[1]),f.push(g)}b+=1}}this.triangleCount=b,this.trianglePositions.update(a),this.triangleVectors.update(o),this.triangleColors.update(s),this.triangleUVs.update(l),this.triangleIds.update(new Uint32Array(f))}},p.drawTransparent=p.draw=function(t){t=t||{};for(var e=this.gl,r=t.model||f,n=t.view||f,i=t.projection||f,a=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],o=0;o<3;++o)a[0][o]=Math.max(a[0][o],this.clipBounds[0][o]),a[1][o]=Math.min(a[1][o],this.clipBounds[1][o]);var u={model:r,view:n,projection:i,inverseModel:f.slice(),clipBounds:a,kambient:this.ambientLight,kdiffuse:this.diffuseLight,kspecular:this.specularLight,roughness:this.roughness,fresnel:this.fresnel,eyePosition:[0,0,0],lightPosition:[0,0,0],opacity:this.opacity,tubeScale:this.tubeScale,vectorScale:this.vectorScale,coneScale:this.coneScale,coneOffset:this.coneOffset,texture:0};u.inverseModel=l(u.inverseModel,u.model),e.disable(e.CULL_FACE),this.texture.bind(0);var c=new Array(16);for(s(c,u.view,u.model),s(c,u.projection,c),l(c,c),o=0;o<3;++o)u.eyePosition[o]=c[12+o]/c[15];var h=c[15];for(o=0;o<3;++o)h+=this.lightPosition[o]*c[4*o+3];for(o=0;o<3;++o){for(var p=c[12+o],d=0;d<3;++d)p+=c[4*d+o]*this.lightPosition[d];u.lightPosition[o]=p/h}if(this.triangleCount>0){var v=this.triShader;v.bind(),v.uniforms=u,this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind()}},p.drawPick=function(t){t=t||{};for(var e=this.gl,r=t.model||f,n=t.view||f,i=t.projection||f,a=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],o=0;o<3;++o)a[0][o]=Math.max(a[0][o],this.clipBounds[0][o]),a[1][o]=Math.min(a[1][o],this.clipBounds[1][o]);this._model=[].slice.call(r),this._view=[].slice.call(n),this._projection=[].slice.call(i),this._resolution=[e.drawingBufferWidth,e.drawingBufferHeight];var s={model:r,view:n,projection:i,clipBounds:a,tubeScale:this.tubeScale,vectorScale:this.vectorScale,coneScale:this.coneScale,coneOffset:this.coneOffset,pickId:this.pickId/255},l=this.pickShader;l.bind(),l.uniforms=s,this.triangleCount>0&&(this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind())},p.pick=function(t){if(!t)return null;if(t.id!==this.pickId)return null;var e=t.value[0]+256*t.value[1]+65536*t.value[2],r=this.cells[e],n=this.positions[r[1]].slice(0,3),i={position:n,dataCoordinate:n,index:Math.floor(r[1]/48)};return"cone"===this.traceType?i.index=Math.floor(r[1]/48):"streamtube"===this.traceType&&(i.intensity=this.intensity[r[1]],i.velocity=this.vectors[r[1]].slice(0,3),i.divergence=this.vectors[r[1]][3],i.index=e),i},p.dispose=function(){this.texture.dispose(),this.triShader.dispose(),this.pickShader.dispose(),this.triangleVAO.dispose(),this.trianglePositions.dispose(),this.triangleVectors.dispose(),this.triangleColors.dispose(),this.triangleUVs.dispose(),this.triangleIds.dispose()},t.exports=function(t,e,r){var n=r.shaders;1===arguments.length&&(t=(e=t).gl);var s=d(t,n),l=v(t,n),c=o(t,u(new Uint8Array([255,255,255,255]),[1,1,4]));c.generateMipmap(),c.minFilter=t.LINEAR_MIPMAP_LINEAR,c.magFilter=t.LINEAR;var f=i(t),p=i(t),g=i(t),y=i(t),m=i(t),x=a(t,[{buffer:f,type:t.FLOAT,size:4},{buffer:m,type:t.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:g,type:t.FLOAT,size:4},{buffer:y,type:t.FLOAT,size:2},{buffer:p,type:t.FLOAT,size:4}]),b=new h(t,c,s,l,f,p,m,g,y,x,r.traceType||"cone");return b.update(e),b}},7234:function(t,e,r){var n=r(6832),i=n(["precision highp float;\n\nprecision highp float;\n#define GLSLIFY 1\n\nvec3 getOrthogonalVector(vec3 v) {\n // Return up-vector for only-z vector.\n // Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0).\n // From the above if-statement we have ||a|| > 0 U ||b|| > 0.\n // Assign z = 0, x = -b, y = a:\n // a*-b + b*a + c*0 = -ba + ba + 0 = 0\n if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\n return normalize(vec3(-v.y, v.x, 0.0));\n } else {\n return normalize(vec3(0.0, v.z, -v.y));\n }\n}\n\n// Calculate the cone vertex and normal at the given index.\n//\n// The returned vertex is for a cone with its top at origin and height of 1.0,\n// pointing in the direction of the vector attribute.\n//\n// Each cone is made up of a top vertex, a center base vertex and base perimeter vertices.\n// These vertices are used to make up the triangles of the cone by the following:\n// segment + 0 top vertex\n// segment + 1 perimeter vertex a+1\n// segment + 2 perimeter vertex a\n// segment + 3 center base vertex\n// segment + 4 perimeter vertex a\n// segment + 5 perimeter vertex a+1\n// Where segment is the number of the radial segment * 6 and a is the angle at that radial segment.\n// To go from index to segment, floor(index / 6)\n// To go from segment to angle, 2*pi * (segment/segmentCount)\n// To go from index to segment index, index - (segment*6)\n//\nvec3 getConePosition(vec3 d, float rawIndex, float coneOffset, out vec3 normal) {\n\n const float segmentCount = 8.0;\n\n float index = rawIndex - floor(rawIndex /\n (segmentCount * 6.0)) *\n (segmentCount * 6.0);\n\n float segment = floor(0.001 + index/6.0);\n float segmentIndex = index - (segment*6.0);\n\n normal = -normalize(d);\n\n if (segmentIndex > 2.99 && segmentIndex < 3.01) {\n return mix(vec3(0.0), -d, coneOffset);\n }\n\n float nextAngle = (\n (segmentIndex > 0.99 && segmentIndex < 1.01) ||\n (segmentIndex > 4.99 && segmentIndex < 5.01)\n ) ? 1.0 : 0.0;\n float angle = 2.0 * 3.14159 * ((segment + nextAngle) / segmentCount);\n\n vec3 v1 = mix(d, vec3(0.0), coneOffset);\n vec3 v2 = v1 - d;\n\n vec3 u = getOrthogonalVector(d);\n vec3 v = normalize(cross(u, d));\n\n vec3 x = u * cos(angle) * length(d)*0.25;\n vec3 y = v * sin(angle) * length(d)*0.25;\n vec3 v3 = v2 + x + y;\n if (segmentIndex < 3.0) {\n vec3 tx = u * sin(angle);\n vec3 ty = v * -cos(angle);\n vec3 tangent = tx + ty;\n normal = normalize(cross(v3 - v1, tangent));\n }\n\n if (segmentIndex == 0.0) {\n return mix(d, vec3(0.0), coneOffset);\n }\n return v3;\n}\n\nattribute vec3 vector;\nattribute vec4 color, position;\nattribute vec2 uv;\n\nuniform float vectorScale, coneScale, coneOffset;\nuniform mat4 model, view, projection, inverseModel;\nuniform vec3 eyePosition, lightPosition;\n\nvarying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n // Scale the vector magnitude to stay constant with\n // model & view changes.\n vec3 normal;\n vec3 XYZ = getConePosition(mat3(model) * ((vectorScale * coneScale) * vector), position.w, coneOffset, normal);\n vec4 conePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\n\n //Lighting geometry parameters\n vec4 cameraCoordinate = view * conePosition;\n cameraCoordinate.xyz /= cameraCoordinate.w;\n f_lightDirection = lightPosition - cameraCoordinate.xyz;\n f_eyeDirection = eyePosition - cameraCoordinate.xyz;\n f_normal = normalize((vec4(normal, 0.0) * inverseModel).xyz);\n\n // vec4 m_position = model * vec4(conePosition, 1.0);\n vec4 t_position = view * conePosition;\n gl_Position = projection * t_position;\n\n f_color = color;\n f_data = conePosition.xyz;\n f_position = position.xyz;\n f_uv = uv;\n}\n"]),a=n(["#extension GL_OES_standard_derivatives : enable\n\nprecision highp float;\n#define GLSLIFY 1\n\nfloat beckmannDistribution(float x, float roughness) {\n float NdotH = max(x, 0.0001);\n float cos2Alpha = NdotH * NdotH;\n float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;\n float roughness2 = roughness * roughness;\n float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;\n return exp(tan2Alpha / roughness2) / denom;\n}\n\nfloat cookTorranceSpecular(\n vec3 lightDirection,\n vec3 viewDirection,\n vec3 surfaceNormal,\n float roughness,\n float fresnel) {\n\n float VdotN = max(dot(viewDirection, surfaceNormal), 0.0);\n float LdotN = max(dot(lightDirection, surfaceNormal), 0.0);\n\n //Half angle vector\n vec3 H = normalize(lightDirection + viewDirection);\n\n //Geometric term\n float NdotH = max(dot(surfaceNormal, H), 0.0);\n float VdotH = max(dot(viewDirection, H), 0.000001);\n float LdotH = max(dot(lightDirection, H), 0.000001);\n float G1 = (2.0 * NdotH * VdotN) / VdotH;\n float G2 = (2.0 * NdotH * LdotN) / LdotH;\n float G = min(1.0, min(G1, G2));\n \n //Distribution term\n float D = beckmannDistribution(NdotH, roughness);\n\n //Fresnel term\n float F = pow(1.0 - VdotN, fresnel);\n\n //Multiply terms and done\n return G * F * D / max(3.14159265 * VdotN, 0.000001);\n}\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity;\nuniform sampler2D texture;\n\nvarying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n vec3 N = normalize(f_normal);\n vec3 L = normalize(f_lightDirection);\n vec3 V = normalize(f_eyeDirection);\n\n if(gl_FrontFacing) {\n N = -N;\n }\n\n float specular = min(1.0, max(0.0, cookTorranceSpecular(L, V, N, roughness, fresnel)));\n float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\n\n vec4 surfaceColor = f_color * texture2D(texture, f_uv);\n vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular, 1.0);\n\n gl_FragColor = litColor * opacity;\n}\n"]),o=n(["precision highp float;\n\nprecision highp float;\n#define GLSLIFY 1\n\nvec3 getOrthogonalVector(vec3 v) {\n // Return up-vector for only-z vector.\n // Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0).\n // From the above if-statement we have ||a|| > 0 U ||b|| > 0.\n // Assign z = 0, x = -b, y = a:\n // a*-b + b*a + c*0 = -ba + ba + 0 = 0\n if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\n return normalize(vec3(-v.y, v.x, 0.0));\n } else {\n return normalize(vec3(0.0, v.z, -v.y));\n }\n}\n\n// Calculate the cone vertex and normal at the given index.\n//\n// The returned vertex is for a cone with its top at origin and height of 1.0,\n// pointing in the direction of the vector attribute.\n//\n// Each cone is made up of a top vertex, a center base vertex and base perimeter vertices.\n// These vertices are used to make up the triangles of the cone by the following:\n// segment + 0 top vertex\n// segment + 1 perimeter vertex a+1\n// segment + 2 perimeter vertex a\n// segment + 3 center base vertex\n// segment + 4 perimeter vertex a\n// segment + 5 perimeter vertex a+1\n// Where segment is the number of the radial segment * 6 and a is the angle at that radial segment.\n// To go from index to segment, floor(index / 6)\n// To go from segment to angle, 2*pi * (segment/segmentCount)\n// To go from index to segment index, index - (segment*6)\n//\nvec3 getConePosition(vec3 d, float rawIndex, float coneOffset, out vec3 normal) {\n\n const float segmentCount = 8.0;\n\n float index = rawIndex - floor(rawIndex /\n (segmentCount * 6.0)) *\n (segmentCount * 6.0);\n\n float segment = floor(0.001 + index/6.0);\n float segmentIndex = index - (segment*6.0);\n\n normal = -normalize(d);\n\n if (segmentIndex > 2.99 && segmentIndex < 3.01) {\n return mix(vec3(0.0), -d, coneOffset);\n }\n\n float nextAngle = (\n (segmentIndex > 0.99 && segmentIndex < 1.01) ||\n (segmentIndex > 4.99 && segmentIndex < 5.01)\n ) ? 1.0 : 0.0;\n float angle = 2.0 * 3.14159 * ((segment + nextAngle) / segmentCount);\n\n vec3 v1 = mix(d, vec3(0.0), coneOffset);\n vec3 v2 = v1 - d;\n\n vec3 u = getOrthogonalVector(d);\n vec3 v = normalize(cross(u, d));\n\n vec3 x = u * cos(angle) * length(d)*0.25;\n vec3 y = v * sin(angle) * length(d)*0.25;\n vec3 v3 = v2 + x + y;\n if (segmentIndex < 3.0) {\n vec3 tx = u * sin(angle);\n vec3 ty = v * -cos(angle);\n vec3 tangent = tx + ty;\n normal = normalize(cross(v3 - v1, tangent));\n }\n\n if (segmentIndex == 0.0) {\n return mix(d, vec3(0.0), coneOffset);\n }\n return v3;\n}\n\nattribute vec4 vector;\nattribute vec4 position;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\nuniform float vectorScale, coneScale, coneOffset;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n vec3 normal;\n vec3 XYZ = getConePosition(mat3(model) * ((vectorScale * coneScale) * vector.xyz), position.w, coneOffset, normal);\n vec4 conePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\n gl_Position = projection * view * conePosition;\n f_id = id;\n f_position = position.xyz;\n}\n"]),s=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float pickId;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n\n gl_FragColor = vec4(pickId, f_id.xyz);\n}"]);e.meshShader={vertex:i,fragment:a,attributes:[{name:"position",type:"vec4"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"},{name:"vector",type:"vec3"}]},e.pickShader={vertex:o,fragment:s,attributes:[{name:"position",type:"vec4"},{name:"id",type:"vec4"},{name:"vector",type:"vec3"}]}},1950:function(t){t.exports={0:"NONE",1:"ONE",2:"LINE_LOOP",3:"LINE_STRIP",4:"TRIANGLES",5:"TRIANGLE_STRIP",6:"TRIANGLE_FAN",256:"DEPTH_BUFFER_BIT",512:"NEVER",513:"LESS",514:"EQUAL",515:"LEQUAL",516:"GREATER",517:"NOTEQUAL",518:"GEQUAL",519:"ALWAYS",768:"SRC_COLOR",769:"ONE_MINUS_SRC_COLOR",770:"SRC_ALPHA",771:"ONE_MINUS_SRC_ALPHA",772:"DST_ALPHA",773:"ONE_MINUS_DST_ALPHA",774:"DST_COLOR",775:"ONE_MINUS_DST_COLOR",776:"SRC_ALPHA_SATURATE",1024:"STENCIL_BUFFER_BIT",1028:"FRONT",1029:"BACK",1032:"FRONT_AND_BACK",1280:"INVALID_ENUM",1281:"INVALID_VALUE",1282:"INVALID_OPERATION",1285:"OUT_OF_MEMORY",1286:"INVALID_FRAMEBUFFER_OPERATION",2304:"CW",2305:"CCW",2849:"LINE_WIDTH",2884:"CULL_FACE",2885:"CULL_FACE_MODE",2886:"FRONT_FACE",2928:"DEPTH_RANGE",2929:"DEPTH_TEST",2930:"DEPTH_WRITEMASK",2931:"DEPTH_CLEAR_VALUE",2932:"DEPTH_FUNC",2960:"STENCIL_TEST",2961:"STENCIL_CLEAR_VALUE",2962:"STENCIL_FUNC",2963:"STENCIL_VALUE_MASK",2964:"STENCIL_FAIL",2965:"STENCIL_PASS_DEPTH_FAIL",2966:"STENCIL_PASS_DEPTH_PASS",2967:"STENCIL_REF",2968:"STENCIL_WRITEMASK",2978:"VIEWPORT",3024:"DITHER",3042:"BLEND",3088:"SCISSOR_BOX",3089:"SCISSOR_TEST",3106:"COLOR_CLEAR_VALUE",3107:"COLOR_WRITEMASK",3317:"UNPACK_ALIGNMENT",3333:"PACK_ALIGNMENT",3379:"MAX_TEXTURE_SIZE",3386:"MAX_VIEWPORT_DIMS",3408:"SUBPIXEL_BITS",3410:"RED_BITS",3411:"GREEN_BITS",3412:"BLUE_BITS",3413:"ALPHA_BITS",3414:"DEPTH_BITS",3415:"STENCIL_BITS",3553:"TEXTURE_2D",4352:"DONT_CARE",4353:"FASTEST",4354:"NICEST",5120:"BYTE",5121:"UNSIGNED_BYTE",5122:"SHORT",5123:"UNSIGNED_SHORT",5124:"INT",5125:"UNSIGNED_INT",5126:"FLOAT",5386:"INVERT",5890:"TEXTURE",6401:"STENCIL_INDEX",6402:"DEPTH_COMPONENT",6406:"ALPHA",6407:"RGB",6408:"RGBA",6409:"LUMINANCE",6410:"LUMINANCE_ALPHA",7680:"KEEP",7681:"REPLACE",7682:"INCR",7683:"DECR",7936:"VENDOR",7937:"RENDERER",7938:"VERSION",9728:"NEAREST",9729:"LINEAR",9984:"NEAREST_MIPMAP_NEAREST",9985:"LINEAR_MIPMAP_NEAREST",9986:"NEAREST_MIPMAP_LINEAR",9987:"LINEAR_MIPMAP_LINEAR",10240:"TEXTURE_MAG_FILTER",10241:"TEXTURE_MIN_FILTER",10242:"TEXTURE_WRAP_S",10243:"TEXTURE_WRAP_T",10497:"REPEAT",10752:"POLYGON_OFFSET_UNITS",16384:"COLOR_BUFFER_BIT",32769:"CONSTANT_COLOR",32770:"ONE_MINUS_CONSTANT_COLOR",32771:"CONSTANT_ALPHA",32772:"ONE_MINUS_CONSTANT_ALPHA",32773:"BLEND_COLOR",32774:"FUNC_ADD",32777:"BLEND_EQUATION_RGB",32778:"FUNC_SUBTRACT",32779:"FUNC_REVERSE_SUBTRACT",32819:"UNSIGNED_SHORT_4_4_4_4",32820:"UNSIGNED_SHORT_5_5_5_1",32823:"POLYGON_OFFSET_FILL",32824:"POLYGON_OFFSET_FACTOR",32854:"RGBA4",32855:"RGB5_A1",32873:"TEXTURE_BINDING_2D",32926:"SAMPLE_ALPHA_TO_COVERAGE",32928:"SAMPLE_COVERAGE",32936:"SAMPLE_BUFFERS",32937:"SAMPLES",32938:"SAMPLE_COVERAGE_VALUE",32939:"SAMPLE_COVERAGE_INVERT",32968:"BLEND_DST_RGB",32969:"BLEND_SRC_RGB",32970:"BLEND_DST_ALPHA",32971:"BLEND_SRC_ALPHA",33071:"CLAMP_TO_EDGE",33170:"GENERATE_MIPMAP_HINT",33189:"DEPTH_COMPONENT16",33306:"DEPTH_STENCIL_ATTACHMENT",33635:"UNSIGNED_SHORT_5_6_5",33648:"MIRRORED_REPEAT",33901:"ALIASED_POINT_SIZE_RANGE",33902:"ALIASED_LINE_WIDTH_RANGE",33984:"TEXTURE0",33985:"TEXTURE1",33986:"TEXTURE2",33987:"TEXTURE3",33988:"TEXTURE4",33989:"TEXTURE5",33990:"TEXTURE6",33991:"TEXTURE7",33992:"TEXTURE8",33993:"TEXTURE9",33994:"TEXTURE10",33995:"TEXTURE11",33996:"TEXTURE12",33997:"TEXTURE13",33998:"TEXTURE14",33999:"TEXTURE15",34e3:"TEXTURE16",34001:"TEXTURE17",34002:"TEXTURE18",34003:"TEXTURE19",34004:"TEXTURE20",34005:"TEXTURE21",34006:"TEXTURE22",34007:"TEXTURE23",34008:"TEXTURE24",34009:"TEXTURE25",34010:"TEXTURE26",34011:"TEXTURE27",34012:"TEXTURE28",34013:"TEXTURE29",34014:"TEXTURE30",34015:"TEXTURE31",34016:"ACTIVE_TEXTURE",34024:"MAX_RENDERBUFFER_SIZE",34041:"DEPTH_STENCIL",34055:"INCR_WRAP",34056:"DECR_WRAP",34067:"TEXTURE_CUBE_MAP",34068:"TEXTURE_BINDING_CUBE_MAP",34069:"TEXTURE_CUBE_MAP_POSITIVE_X",34070:"TEXTURE_CUBE_MAP_NEGATIVE_X",34071:"TEXTURE_CUBE_MAP_POSITIVE_Y",34072:"TEXTURE_CUBE_MAP_NEGATIVE_Y",34073:"TEXTURE_CUBE_MAP_POSITIVE_Z",34074:"TEXTURE_CUBE_MAP_NEGATIVE_Z",34076:"MAX_CUBE_MAP_TEXTURE_SIZE",34338:"VERTEX_ATTRIB_ARRAY_ENABLED",34339:"VERTEX_ATTRIB_ARRAY_SIZE",34340:"VERTEX_ATTRIB_ARRAY_STRIDE",34341:"VERTEX_ATTRIB_ARRAY_TYPE",34342:"CURRENT_VERTEX_ATTRIB",34373:"VERTEX_ATTRIB_ARRAY_POINTER",34466:"NUM_COMPRESSED_TEXTURE_FORMATS",34467:"COMPRESSED_TEXTURE_FORMATS",34660:"BUFFER_SIZE",34661:"BUFFER_USAGE",34816:"STENCIL_BACK_FUNC",34817:"STENCIL_BACK_FAIL",34818:"STENCIL_BACK_PASS_DEPTH_FAIL",34819:"STENCIL_BACK_PASS_DEPTH_PASS",34877:"BLEND_EQUATION_ALPHA",34921:"MAX_VERTEX_ATTRIBS",34922:"VERTEX_ATTRIB_ARRAY_NORMALIZED",34930:"MAX_TEXTURE_IMAGE_UNITS",34962:"ARRAY_BUFFER",34963:"ELEMENT_ARRAY_BUFFER",34964:"ARRAY_BUFFER_BINDING",34965:"ELEMENT_ARRAY_BUFFER_BINDING",34975:"VERTEX_ATTRIB_ARRAY_BUFFER_BINDING",35040:"STREAM_DRAW",35044:"STATIC_DRAW",35048:"DYNAMIC_DRAW",35632:"FRAGMENT_SHADER",35633:"VERTEX_SHADER",35660:"MAX_VERTEX_TEXTURE_IMAGE_UNITS",35661:"MAX_COMBINED_TEXTURE_IMAGE_UNITS",35663:"SHADER_TYPE",35664:"FLOAT_VEC2",35665:"FLOAT_VEC3",35666:"FLOAT_VEC4",35667:"INT_VEC2",35668:"INT_VEC3",35669:"INT_VEC4",35670:"BOOL",35671:"BOOL_VEC2",35672:"BOOL_VEC3",35673:"BOOL_VEC4",35674:"FLOAT_MAT2",35675:"FLOAT_MAT3",35676:"FLOAT_MAT4",35678:"SAMPLER_2D",35680:"SAMPLER_CUBE",35712:"DELETE_STATUS",35713:"COMPILE_STATUS",35714:"LINK_STATUS",35715:"VALIDATE_STATUS",35716:"INFO_LOG_LENGTH",35717:"ATTACHED_SHADERS",35718:"ACTIVE_UNIFORMS",35719:"ACTIVE_UNIFORM_MAX_LENGTH",35720:"SHADER_SOURCE_LENGTH",35721:"ACTIVE_ATTRIBUTES",35722:"ACTIVE_ATTRIBUTE_MAX_LENGTH",35724:"SHADING_LANGUAGE_VERSION",35725:"CURRENT_PROGRAM",36003:"STENCIL_BACK_REF",36004:"STENCIL_BACK_VALUE_MASK",36005:"STENCIL_BACK_WRITEMASK",36006:"FRAMEBUFFER_BINDING",36007:"RENDERBUFFER_BINDING",36048:"FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE",36049:"FRAMEBUFFER_ATTACHMENT_OBJECT_NAME",36050:"FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL",36051:"FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE",36053:"FRAMEBUFFER_COMPLETE",36054:"FRAMEBUFFER_INCOMPLETE_ATTACHMENT",36055:"FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT",36057:"FRAMEBUFFER_INCOMPLETE_DIMENSIONS",36061:"FRAMEBUFFER_UNSUPPORTED",36064:"COLOR_ATTACHMENT0",36096:"DEPTH_ATTACHMENT",36128:"STENCIL_ATTACHMENT",36160:"FRAMEBUFFER",36161:"RENDERBUFFER",36162:"RENDERBUFFER_WIDTH",36163:"RENDERBUFFER_HEIGHT",36164:"RENDERBUFFER_INTERNAL_FORMAT",36168:"STENCIL_INDEX8",36176:"RENDERBUFFER_RED_SIZE",36177:"RENDERBUFFER_GREEN_SIZE",36178:"RENDERBUFFER_BLUE_SIZE",36179:"RENDERBUFFER_ALPHA_SIZE",36180:"RENDERBUFFER_DEPTH_SIZE",36181:"RENDERBUFFER_STENCIL_SIZE",36194:"RGB565",36336:"LOW_FLOAT",36337:"MEDIUM_FLOAT",36338:"HIGH_FLOAT",36339:"LOW_INT",36340:"MEDIUM_INT",36341:"HIGH_INT",36346:"SHADER_COMPILER",36347:"MAX_VERTEX_UNIFORM_VECTORS",36348:"MAX_VARYING_VECTORS",36349:"MAX_FRAGMENT_UNIFORM_VECTORS",37440:"UNPACK_FLIP_Y_WEBGL",37441:"UNPACK_PREMULTIPLY_ALPHA_WEBGL",37442:"CONTEXT_LOST_WEBGL",37443:"UNPACK_COLORSPACE_CONVERSION_WEBGL",37444:"BROWSER_DEFAULT_WEBGL"}},6603:function(t,e,r){var n=r(1950);t.exports=function(t){return n[t]}},3110:function(t,e,r){"use strict";t.exports=function(t){var e=t.gl,r=n(e),o=i(e,[{buffer:r,type:e.FLOAT,size:3,offset:0,stride:40},{buffer:r,type:e.FLOAT,size:4,offset:12,stride:40},{buffer:r,type:e.FLOAT,size:3,offset:28,stride:40}]),l=a(e);l.attributes.position.location=0,l.attributes.color.location=1,l.attributes.offset.location=2;var u=new s(e,r,o,l);return u.update(t),u};var n=r(5827),i=r(2944),a=r(7667),o=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function s(t,e,r,n){this.gl=t,this.shader=n,this.buffer=e,this.vao=r,this.pixelRatio=1,this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.lineWidth=[1,1,1],this.capSize=[10,10,10],this.lineCount=[0,0,0],this.lineOffset=[0,0,0],this.opacity=1,this.hasAlpha=!1}var l=s.prototype;function u(t,e){for(var r=0;r<3;++r)t[0][r]=Math.min(t[0][r],e[r]),t[1][r]=Math.max(t[1][r],e[r])}l.isOpaque=function(){return!this.hasAlpha},l.isTransparent=function(){return this.hasAlpha},l.drawTransparent=l.draw=function(t){var e=this.gl,r=this.shader.uniforms;this.shader.bind();var n=r.view=t.view||o,i=r.projection=t.projection||o;r.model=t.model||o,r.clipBounds=this.clipBounds,r.opacity=this.opacity;var a=n[12],s=n[13],l=n[14],u=n[15],c=(t._ortho?2:1)*this.pixelRatio*(i[3]*a+i[7]*s+i[11]*l+i[15]*u)/e.drawingBufferHeight;this.vao.bind();for(var f=0;f<3;++f)e.lineWidth(this.lineWidth[f]*this.pixelRatio),r.capSize=this.capSize[f]*c,this.lineCount[f]&&e.drawArrays(e.LINES,this.lineOffset[f],this.lineCount[f]);this.vao.unbind()};var c=function(){for(var t=new Array(3),e=0;e<3;++e){for(var r=[],n=1;n<=2;++n)for(var i=-1;i<=1;i+=2){var a=[0,0,0];a[(n+e)%3]=i,r.push(a)}t[e]=r}return t}();function f(t,e,r,n){for(var i=c[n],a=0;a<i.length;++a){var o=i[a];t.push(e[0],e[1],e[2],r[0],r[1],r[2],r[3],o[0],o[1],o[2])}return i.length}l.update=function(t){"lineWidth"in(t=t||{})&&(this.lineWidth=t.lineWidth,Array.isArray(this.lineWidth)||(this.lineWidth=[this.lineWidth,this.lineWidth,this.lineWidth])),"capSize"in t&&(this.capSize=t.capSize,Array.isArray(this.capSize)||(this.capSize=[this.capSize,this.capSize,this.capSize])),this.hasAlpha=!1,"opacity"in t&&(this.opacity=+t.opacity,this.opacity<1&&(this.hasAlpha=!0));var e=t.color||[[0,0,0],[0,0,0],[0,0,0]],r=t.position,n=t.error;if(Array.isArray(e[0])||(e=[e,e,e]),r&&n){var i=[],a=r.length,o=0;this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.lineCount=[0,0,0];for(var s=0;s<3;++s){this.lineOffset[s]=o;t:for(var l=0;l<a;++l){for(var c=r[l],h=0;h<3;++h)if(isNaN(c[h])||!isFinite(c[h]))continue t;var p,d=n[l],v=e[s];Array.isArray(v[0])&&(v=e[l]),3===v.length?v=[v[0],v[1],v[2],1]:4===v.length&&(v=[v[0],v[1],v[2],v[3]],!this.hasAlpha&&v[3]<1&&(this.hasAlpha=!0)),isNaN(d[0][s])||isNaN(d[1][s])||(d[0][s]<0&&((p=c.slice())[s]+=d[0][s],i.push(c[0],c[1],c[2],v[0],v[1],v[2],v[3],0,0,0,p[0],p[1],p[2],v[0],v[1],v[2],v[3],0,0,0),u(this.bounds,p),o+=2+f(i,p,v,s)),d[1][s]>0&&((p=c.slice())[s]+=d[1][s],i.push(c[0],c[1],c[2],v[0],v[1],v[2],v[3],0,0,0,p[0],p[1],p[2],v[0],v[1],v[2],v[3],0,0,0),u(this.bounds,p),o+=2+f(i,p,v,s)))}this.lineCount[s]=o-this.lineOffset[s]}this.buffer.update(i)}},l.dispose=function(){this.shader.dispose(),this.buffer.dispose(),this.vao.dispose()}},7667:function(t,e,r){"use strict";var n=r(6832),i=r(5158),a=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position, offset;\nattribute vec4 color;\nuniform mat4 model, view, projection;\nuniform float capSize;\nvarying vec4 fragColor;\nvarying vec3 fragPosition;\n\nvoid main() {\n vec4 worldPosition = model * vec4(position, 1.0);\n worldPosition = (worldPosition / worldPosition.w) + vec4(capSize * offset, 0.0);\n gl_Position = projection * view * worldPosition;\n fragColor = color;\n fragPosition = position;\n}"]),o=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float opacity;\nvarying vec3 fragPosition;\nvarying vec4 fragColor;\n\nvoid main() {\n if (\n outOfRange(clipBounds[0], clipBounds[1], fragPosition) ||\n fragColor.a * opacity == 0.\n ) discard;\n\n gl_FragColor = opacity * fragColor;\n}"]);t.exports=function(t){return i(t,a,o,null,[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"offset",type:"vec3"}])}},4234:function(t,e,r){"use strict";var n=r(8931);t.exports=function(t,e,r,n){i||(i=t.FRAMEBUFFER_UNSUPPORTED,a=t.FRAMEBUFFER_INCOMPLETE_ATTACHMENT,o=t.FRAMEBUFFER_INCOMPLETE_DIMENSIONS,s=t.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT);var u=t.getExtension("WEBGL_draw_buffers");if(!l&&u&&function(t,e){var r=t.getParameter(e.MAX_COLOR_ATTACHMENTS_WEBGL);l=new Array(r+1);for(var n=0;n<=r;++n){for(var i=new Array(r),a=0;a<n;++a)i[a]=t.COLOR_ATTACHMENT0+a;for(a=n;a<r;++a)i[a]=t.NONE;l[n]=i}}(t,u),Array.isArray(e)&&(n=r,r=0|e[1],e=0|e[0]),"number"!=typeof e)throw new Error("gl-fbo: Missing shape parameter");var c=t.getParameter(t.MAX_RENDERBUFFER_SIZE);if(e<0||e>c||r<0||r>c)throw new Error("gl-fbo: Parameters are too large for FBO");var f=1;if("color"in(n=n||{})){if((f=Math.max(0|n.color,0))<0)throw new Error("gl-fbo: Must specify a nonnegative number of colors");if(f>1){if(!u)throw new Error("gl-fbo: Multiple draw buffer extension not supported");if(f>t.getParameter(u.MAX_COLOR_ATTACHMENTS_WEBGL))throw new Error("gl-fbo: Context does not support "+f+" draw buffers")}}var h=t.UNSIGNED_BYTE,p=t.getExtension("OES_texture_float");if(n.float&&f>0){if(!p)throw new Error("gl-fbo: Context does not support floating point textures");h=t.FLOAT}else n.preferFloat&&f>0&&p&&(h=t.FLOAT);var v=!0;"depth"in n&&(v=!!n.depth);var g=!1;return"stencil"in n&&(g=!!n.stencil),new d(t,e,r,h,f,v,g,u)};var i,a,o,s,l=null;function u(t){return[t.getParameter(t.FRAMEBUFFER_BINDING),t.getParameter(t.RENDERBUFFER_BINDING),t.getParameter(t.TEXTURE_BINDING_2D)]}function c(t,e){t.bindFramebuffer(t.FRAMEBUFFER,e[0]),t.bindRenderbuffer(t.RENDERBUFFER,e[1]),t.bindTexture(t.TEXTURE_2D,e[2])}function f(t){switch(t){case i:throw new Error("gl-fbo: Framebuffer unsupported");case a:throw new Error("gl-fbo: Framebuffer incomplete attachment");case o:throw new Error("gl-fbo: Framebuffer incomplete dimensions");case s:throw new Error("gl-fbo: Framebuffer incomplete missing attachment");default:throw new Error("gl-fbo: Framebuffer failed for unspecified reason")}}function h(t,e,r,i,a,o){if(!i)return null;var s=n(t,e,r,a,i);return s.magFilter=t.NEAREST,s.minFilter=t.NEAREST,s.mipSamples=1,s.bind(),t.framebufferTexture2D(t.FRAMEBUFFER,o,t.TEXTURE_2D,s.handle,0),s}function p(t,e,r,n,i){var a=t.createRenderbuffer();return t.bindRenderbuffer(t.RENDERBUFFER,a),t.renderbufferStorage(t.RENDERBUFFER,n,e,r),t.framebufferRenderbuffer(t.FRAMEBUFFER,i,t.RENDERBUFFER,a),a}function d(t,e,r,n,i,a,o,s){this.gl=t,this._shape=[0|e,0|r],this._destroyed=!1,this._ext=s,this.color=new Array(i);for(var d=0;d<i;++d)this.color[d]=null;this._color_rb=null,this.depth=null,this._depth_rb=null,this._colorType=n,this._useDepth=a,this._useStencil=o;var v=this,g=[0|e,0|r];Object.defineProperties(g,{0:{get:function(){return v._shape[0]},set:function(t){return v.width=t}},1:{get:function(){return v._shape[1]},set:function(t){return v.height=t}}}),this._shapeVector=g,function(t){var e=u(t.gl),r=t.gl,n=t.handle=r.createFramebuffer(),i=t._shape[0],a=t._shape[1],o=t.color.length,s=t._ext,d=t._useStencil,v=t._useDepth,g=t._colorType;r.bindFramebuffer(r.FRAMEBUFFER,n);for(var y=0;y<o;++y)t.color[y]=h(r,i,a,g,r.RGBA,r.COLOR_ATTACHMENT0+y);0===o?(t._color_rb=p(r,i,a,r.RGBA4,r.COLOR_ATTACHMENT0),s&&s.drawBuffersWEBGL(l[0])):o>1&&s.drawBuffersWEBGL(l[o]);var m=r.getExtension("WEBGL_depth_texture");m?d?t.depth=h(r,i,a,m.UNSIGNED_INT_24_8_WEBGL,r.DEPTH_STENCIL,r.DEPTH_STENCIL_ATTACHMENT):v&&(t.depth=h(r,i,a,r.UNSIGNED_SHORT,r.DEPTH_COMPONENT,r.DEPTH_ATTACHMENT)):v&&d?t._depth_rb=p(r,i,a,r.DEPTH_STENCIL,r.DEPTH_STENCIL_ATTACHMENT):v?t._depth_rb=p(r,i,a,r.DEPTH_COMPONENT16,r.DEPTH_ATTACHMENT):d&&(t._depth_rb=p(r,i,a,r.STENCIL_INDEX,r.STENCIL_ATTACHMENT));var x=r.checkFramebufferStatus(r.FRAMEBUFFER);if(x!==r.FRAMEBUFFER_COMPLETE){for(t._destroyed=!0,r.bindFramebuffer(r.FRAMEBUFFER,null),r.deleteFramebuffer(t.handle),t.handle=null,t.depth&&(t.depth.dispose(),t.depth=null),t._depth_rb&&(r.deleteRenderbuffer(t._depth_rb),t._depth_rb=null),y=0;y<t.color.length;++y)t.color[y].dispose(),t.color[y]=null;t._color_rb&&(r.deleteRenderbuffer(t._color_rb),t._color_rb=null),c(r,e),f(x)}c(r,e)}(this)}var v=d.prototype;function g(t,e,r){if(t._destroyed)throw new Error("gl-fbo: Can't resize destroyed FBO");if(t._shape[0]!==e||t._shape[1]!==r){var n=t.gl,i=n.getParameter(n.MAX_RENDERBUFFER_SIZE);if(e<0||e>i||r<0||r>i)throw new Error("gl-fbo: Can't resize FBO, invalid dimensions");t._shape[0]=e,t._shape[1]=r;for(var a=u(n),o=0;o<t.color.length;++o)t.color[o].shape=t._shape;t._color_rb&&(n.bindRenderbuffer(n.RENDERBUFFER,t._color_rb),n.renderbufferStorage(n.RENDERBUFFER,n.RGBA4,t._shape[0],t._shape[1])),t.depth&&(t.depth.shape=t._shape),t._depth_rb&&(n.bindRenderbuffer(n.RENDERBUFFER,t._depth_rb),t._useDepth&&t._useStencil?n.renderbufferStorage(n.RENDERBUFFER,n.DEPTH_STENCIL,t._shape[0],t._shape[1]):t._useDepth?n.renderbufferStorage(n.RENDERBUFFER,n.DEPTH_COMPONENT16,t._shape[0],t._shape[1]):t._useStencil&&n.renderbufferStorage(n.RENDERBUFFER,n.STENCIL_INDEX,t._shape[0],t._shape[1])),n.bindFramebuffer(n.FRAMEBUFFER,t.handle);var s=n.checkFramebufferStatus(n.FRAMEBUFFER);s!==n.FRAMEBUFFER_COMPLETE&&(t.dispose(),c(n,a),f(s)),c(n,a)}}Object.defineProperties(v,{shape:{get:function(){return this._destroyed?[0,0]:this._shapeVector},set:function(t){if(Array.isArray(t)||(t=[0|t,0|t]),2!==t.length)throw new Error("gl-fbo: Shape vector must be length 2");var e=0|t[0],r=0|t[1];return g(this,e,r),[e,r]},enumerable:!1},width:{get:function(){return this._destroyed?0:this._shape[0]},set:function(t){return g(this,t|=0,this._shape[1]),t},enumerable:!1},height:{get:function(){return this._destroyed?0:this._shape[1]},set:function(t){return t|=0,g(this,this._shape[0],t),t},enumerable:!1}}),v.bind=function(){if(!this._destroyed){var t=this.gl;t.bindFramebuffer(t.FRAMEBUFFER,this.handle),t.viewport(0,0,this._shape[0],this._shape[1])}},v.dispose=function(){if(!this._destroyed){this._destroyed=!0;var t=this.gl;t.deleteFramebuffer(this.handle),this.handle=null,this.depth&&(this.depth.dispose(),this.depth=null),this._depth_rb&&(t.deleteRenderbuffer(this._depth_rb),this._depth_rb=null);for(var e=0;e<this.color.length;++e)this.color[e].dispose(),this.color[e]=null;this._color_rb&&(t.deleteRenderbuffer(this._color_rb),this._color_rb=null)}}},3530:function(t,e,r){var n=r(8974).sprintf,i=r(6603),a=r(9365),o=r(8008);t.exports=function(t,e,r){"use strict";var s=a(e)||"of unknown name (see npm glsl-shader-name)",l="unknown type";void 0!==r&&(l=r===i.FRAGMENT_SHADER?"fragment":"vertex");for(var u=n("Error compiling %s shader %s:\n",l,s),c=n("%s%s",u,t),f=t.split("\n"),h={},p=0;p<f.length;p++){var d=f[p];if(""!==d&&"\0"!==d){var v=parseInt(d.split(":")[2]);if(isNaN(v))throw new Error(n("Could not parse error: %s",d));h[v]=d}}var g=o(e).split("\n");for(p=0;p<g.length;p++)if(h[p+3]||h[p+2]||h[p+1]){if(u+=g[p]+"\n",h[p+1]){var y=h[p+1];y=y.substr(y.split(":",3).join(":").length+1).trim(),u+=n("^^^ %s\n\n",y)}}return{long:u.trim(),short:c.trim()}}},6386:function(t,e,r){"use strict";t.exports=function(t,e){var r=t.gl,n=new u(t,o(r,l.vertex,l.fragment),o(r,l.pickVertex,l.pickFragment),s(r),s(r),s(r),s(r));return n.update(e),t.addObject(n),n};var n=r(5070),i=r(9560),a=r(5306),o=r(5158),s=r(5827),l=r(1292);function u(t,e,r,n,i,a,o){this.plot=t,this.shader=e,this.pickShader=r,this.positionBuffer=n,this.weightBuffer=i,this.colorBuffer=a,this.idBuffer=o,this.xData=[],this.yData=[],this.shape=[0,0],this.bounds=[1/0,1/0,-1/0,-1/0],this.pickOffset=0}var c,f=u.prototype,h=[0,0,1,0,0,1,1,0,1,1,0,1];f.draw=(c=[1,0,0,0,1,0,0,0,1],function(){var t=this.plot,e=this.shader,r=this.bounds,n=this.numVertices;if(!(n<=0)){var i=t.gl,a=t.dataBox,o=r[2]-r[0],s=r[3]-r[1],l=a[2]-a[0],u=a[3]-a[1];c[0]=2*o/l,c[4]=2*s/u,c[6]=2*(r[0]-a[0])/l-1,c[7]=2*(r[1]-a[1])/u-1,e.bind();var f=e.uniforms;f.viewTransform=c,f.shape=this.shape;var h=e.attributes;this.positionBuffer.bind(),h.position.pointer(),this.weightBuffer.bind(),h.weight.pointer(i.UNSIGNED_BYTE,!1),this.colorBuffer.bind(),h.color.pointer(i.UNSIGNED_BYTE,!0),i.drawArrays(i.TRIANGLES,0,n)}}),f.drawPick=function(){var t=[1,0,0,0,1,0,0,0,1],e=[0,0,0,0];return function(r){var n=this.plot,i=this.pickShader,a=this.bounds,o=this.numVertices;if(!(o<=0)){var s=n.gl,l=n.dataBox,u=a[2]-a[0],c=a[3]-a[1],f=l[2]-l[0],h=l[3]-l[1];t[0]=2*u/f,t[4]=2*c/h,t[6]=2*(a[0]-l[0])/f-1,t[7]=2*(a[1]-l[1])/h-1;for(var p=0;p<4;++p)e[p]=r>>8*p&255;this.pickOffset=r,i.bind();var d=i.uniforms;d.viewTransform=t,d.pickOffset=e,d.shape=this.shape;var v=i.attributes;return this.positionBuffer.bind(),v.position.pointer(),this.weightBuffer.bind(),v.weight.pointer(s.UNSIGNED_BYTE,!1),this.idBuffer.bind(),v.pickId.pointer(s.UNSIGNED_BYTE,!1),s.drawArrays(s.TRIANGLES,0,o),r+this.shape[0]*this.shape[1]}}}(),f.pick=function(t,e,r){var n=this.pickOffset,i=this.shape[0]*this.shape[1];if(r<n||r>=n+i)return null;var a=r-n,o=this.xData,s=this.yData;return{object:this,pointId:a,dataCoord:[o[a%this.shape[0]],s[a/this.shape[0]|0]]}},f.update=function(t){var e=(t=t||{}).shape||[0,0],r=t.x||i(e[0]),o=t.y||i(e[1]),s=t.z||new Float32Array(e[0]*e[1]),l=!1!==t.zsmooth;this.xData=r,this.yData=o;var u,c,f,p,d=t.colorLevels||[0],v=t.colorValues||[0,0,0,1],g=d.length,y=this.bounds;l?(u=y[0]=r[0],c=y[1]=o[0],f=y[2]=r[r.length-1],p=y[3]=o[o.length-1]):(u=y[0]=r[0]+(r[1]-r[0])/2,c=y[1]=o[0]+(o[1]-o[0])/2,f=y[2]=r[r.length-1]+(r[r.length-1]-r[r.length-2])/2,p=y[3]=o[o.length-1]+(o[o.length-1]-o[o.length-2])/2);var m=1/(f-u),x=1/(p-c),b=e[0],_=e[1];this.shape=[b,_];var w=(l?(b-1)*(_-1):b*_)*(h.length>>>1);this.numVertices=w;for(var T=a.mallocUint8(4*w),k=a.mallocFloat32(2*w),A=a.mallocUint8(2*w),M=a.mallocUint32(w),S=0,E=l?b-1:b,L=l?_-1:_,C=0;C<L;++C){var P,O;l?(P=x*(o[C]-c),O=x*(o[C+1]-c)):(P=C<_-1?x*(o[C]-(o[C+1]-o[C])/2-c):x*(o[C]-(o[C]-o[C-1])/2-c),O=C<_-1?x*(o[C]+(o[C+1]-o[C])/2-c):x*(o[C]+(o[C]-o[C-1])/2-c));for(var I=0;I<E;++I){var D,z;l?(D=m*(r[I]-u),z=m*(r[I+1]-u)):(D=I<b-1?m*(r[I]-(r[I+1]-r[I])/2-u):m*(r[I]-(r[I]-r[I-1])/2-u),z=I<b-1?m*(r[I]+(r[I+1]-r[I])/2-u):m*(r[I]+(r[I]-r[I-1])/2-u));for(var R=0;R<h.length;R+=2){var F,B,N,j,U=h[R],V=h[R+1],H=s[l?(C+V)*b+(I+U):C*b+I],q=n.le(d,H);if(q<0)F=v[0],B=v[1],N=v[2],j=v[3];else if(q===g-1)F=v[4*g-4],B=v[4*g-3],N=v[4*g-2],j=v[4*g-1];else{var G=(H-d[q])/(d[q+1]-d[q]),Z=1-G,Y=4*q,W=4*(q+1);F=Z*v[Y]+G*v[W],B=Z*v[Y+1]+G*v[W+1],N=Z*v[Y+2]+G*v[W+2],j=Z*v[Y+3]+G*v[W+3]}T[4*S]=255*F,T[4*S+1]=255*B,T[4*S+2]=255*N,T[4*S+3]=255*j,k[2*S]=.5*D+.5*z,k[2*S+1]=.5*P+.5*O,A[2*S]=U,A[2*S+1]=V,M[S]=C*b+I,S+=1}}}this.positionBuffer.update(k),this.weightBuffer.update(A),this.colorBuffer.update(T),this.idBuffer.update(M),a.free(k),a.free(T),a.free(A),a.free(M)},f.dispose=function(){this.shader.dispose(),this.pickShader.dispose(),this.positionBuffer.dispose(),this.weightBuffer.dispose(),this.colorBuffer.dispose(),this.idBuffer.dispose(),this.plot.removeObject(this)}},1292:function(t,e,r){"use strict";var n=r(6832);t.exports={fragment:n(["precision lowp float;\n#define GLSLIFY 1\nvarying vec4 fragColor;\nvoid main() {\n gl_FragColor = vec4(fragColor.rgb * fragColor.a, fragColor.a);\n}\n"]),vertex:n(["precision mediump float;\n#define GLSLIFY 1\n\nattribute vec2 position;\nattribute vec4 color;\nattribute vec2 weight;\n\nuniform vec2 shape;\nuniform mat3 viewTransform;\n\nvarying vec4 fragColor;\n\nvoid main() {\n vec3 vPosition = viewTransform * vec3( position + (weight-.5)/(shape-1.) , 1.0);\n fragColor = color;\n gl_Position = vec4(vPosition.xy, 0, vPosition.z);\n}\n"]),pickFragment:n(["precision mediump float;\n#define GLSLIFY 1\n\nvarying vec4 fragId;\nvarying vec2 vWeight;\n\nuniform vec2 shape;\nuniform vec4 pickOffset;\n\nvoid main() {\n vec2 d = step(.5, vWeight);\n vec4 id = fragId + pickOffset;\n id.x += d.x + d.y*shape.x;\n\n id.y += floor(id.x / 256.0);\n id.x -= floor(id.x / 256.0) * 256.0;\n\n id.z += floor(id.y / 256.0);\n id.y -= floor(id.y / 256.0) * 256.0;\n\n id.w += floor(id.z / 256.0);\n id.z -= floor(id.z / 256.0) * 256.0;\n\n gl_FragColor = id/255.;\n}\n"]),pickVertex:n(["precision mediump float;\n#define GLSLIFY 1\n\nattribute vec2 position;\nattribute vec4 pickId;\nattribute vec2 weight;\n\nuniform vec2 shape;\nuniform mat3 viewTransform;\n\nvarying vec4 fragId;\nvarying vec2 vWeight;\n\nvoid main() {\n vWeight = weight;\n\n fragId = pickId;\n\n vec3 vPosition = viewTransform * vec3( position + (weight-.5)/(shape-1.) , 1.0);\n gl_Position = vec4(vPosition.xy, 0, vPosition.z);\n}\n"])}},248:function(t,e,r){var n=r(6832),i=r(5158),a=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position, nextPosition;\nattribute float arcLength, lineWidth;\nattribute vec4 color;\n\nuniform vec2 screenShape;\nuniform float pixelRatio;\nuniform mat4 model, view, projection;\n\nvarying vec4 fragColor;\nvarying vec3 worldPosition;\nvarying float pixelArcLength;\n\nvec4 project(vec3 p) {\n return projection * view * model * vec4(p, 1.0);\n}\n\nvoid main() {\n vec4 startPoint = project(position);\n vec4 endPoint = project(nextPosition);\n\n vec2 A = startPoint.xy / startPoint.w;\n vec2 B = endPoint.xy / endPoint.w;\n\n float clipAngle = atan(\n (B.y - A.y) * screenShape.y,\n (B.x - A.x) * screenShape.x\n );\n\n vec2 offset = 0.5 * pixelRatio * lineWidth * vec2(\n sin(clipAngle),\n -cos(clipAngle)\n ) / screenShape;\n\n gl_Position = vec4(startPoint.xy + startPoint.w * offset, startPoint.zw);\n\n worldPosition = position;\n pixelArcLength = arcLength;\n fragColor = color;\n}\n"]),o=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform sampler2D dashTexture;\nuniform float dashScale;\nuniform float opacity;\n\nvarying vec3 worldPosition;\nvarying float pixelArcLength;\nvarying vec4 fragColor;\n\nvoid main() {\n if (\n outOfRange(clipBounds[0], clipBounds[1], worldPosition) ||\n fragColor.a * opacity == 0.\n ) discard;\n\n float dashWeight = texture2D(dashTexture, vec2(dashScale * pixelArcLength, 0)).r;\n if(dashWeight < 0.5) {\n discard;\n }\n gl_FragColor = fragColor * opacity;\n}\n"]),s=n(["precision highp float;\n#define GLSLIFY 1\n\n#define FLOAT_MAX 1.70141184e38\n#define FLOAT_MIN 1.17549435e-38\n\n// https://github.com/mikolalysenko/glsl-read-float/blob/master/index.glsl\nvec4 packFloat(float v) {\n float av = abs(v);\n\n //Handle special cases\n if(av < FLOAT_MIN) {\n return vec4(0.0, 0.0, 0.0, 0.0);\n } else if(v > FLOAT_MAX) {\n return vec4(127.0, 128.0, 0.0, 0.0) / 255.0;\n } else if(v < -FLOAT_MAX) {\n return vec4(255.0, 128.0, 0.0, 0.0) / 255.0;\n }\n\n vec4 c = vec4(0,0,0,0);\n\n //Compute exponent and mantissa\n float e = floor(log2(av));\n float m = av * pow(2.0, -e) - 1.0;\n\n //Unpack mantissa\n c[1] = floor(128.0 * m);\n m -= c[1] / 128.0;\n c[2] = floor(32768.0 * m);\n m -= c[2] / 32768.0;\n c[3] = floor(8388608.0 * m);\n\n //Unpack exponent\n float ebias = e + 127.0;\n c[0] = floor(ebias / 2.0);\n ebias -= c[0] * 2.0;\n c[1] += floor(ebias) * 128.0;\n\n //Unpack sign bit\n c[0] += 128.0 * step(0.0, -v);\n\n //Scale back to range\n return c / 255.0;\n}\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform float pickId;\nuniform vec3 clipBounds[2];\n\nvarying vec3 worldPosition;\nvarying float pixelArcLength;\nvarying vec4 fragColor;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], worldPosition)) discard;\n\n gl_FragColor = vec4(pickId/255.0, packFloat(pixelArcLength).xyz);\n}"]),l=[{name:"position",type:"vec3"},{name:"nextPosition",type:"vec3"},{name:"arcLength",type:"float"},{name:"lineWidth",type:"float"},{name:"color",type:"vec4"}];e.createShader=function(t){return i(t,a,o,null,l)},e.createPickShader=function(t){return i(t,a,s,null,l)}},6086:function(t,e,r){"use strict";t.exports=function(t){var e=t.gl||t.scene&&t.scene.gl,r=f(e);r.attributes.position.location=0,r.attributes.nextPosition.location=1,r.attributes.arcLength.location=2,r.attributes.lineWidth.location=3,r.attributes.color.location=4;var o=h(e);o.attributes.position.location=0,o.attributes.nextPosition.location=1,o.attributes.arcLength.location=2,o.attributes.lineWidth.location=3,o.attributes.color.location=4;for(var s=n(e),l=i(e,[{buffer:s,size:3,offset:0,stride:48},{buffer:s,size:3,offset:12,stride:48},{buffer:s,size:1,offset:24,stride:48},{buffer:s,size:1,offset:28,stride:48},{buffer:s,size:4,offset:32,stride:48}]),c=u(new Array(1024),[256,1,4]),p=0;p<1024;++p)c.data[p]=255;var d=a(e,c);d.wrap=e.REPEAT;var v=new y(e,r,o,s,l,d);return v.update(t),v};var n=r(5827),i=r(2944),a=r(8931),o=new Uint8Array(4),s=new Float32Array(o.buffer),l=r(5070),u=r(5050),c=r(248),f=c.createShader,h=c.createPickShader,p=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function d(t,e){for(var r=0,n=0;n<3;++n){var i=t[n]-e[n];r+=i*i}return Math.sqrt(r)}function v(t){for(var e=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],r=0;r<3;++r)e[0][r]=Math.max(t[0][r],e[0][r]),e[1][r]=Math.min(t[1][r],e[1][r]);return e}function g(t,e,r,n){this.arcLength=t,this.position=e,this.index=r,this.dataCoordinate=n}function y(t,e,r,n,i,a){this.gl=t,this.shader=e,this.pickShader=r,this.buffer=n,this.vao=i,this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.points=[],this.arcLength=[],this.vertexCount=0,this.bounds=[[0,0,0],[0,0,0]],this.pickId=0,this.lineWidth=1,this.texture=a,this.dashScale=1,this.opacity=1,this.hasAlpha=!1,this.dirty=!0,this.pixelRatio=1}var m=y.prototype;m.isTransparent=function(){return this.hasAlpha},m.isOpaque=function(){return!this.hasAlpha},m.pickSlots=1,m.setPickBase=function(t){this.pickId=t},m.drawTransparent=m.draw=function(t){if(this.vertexCount){var e=this.gl,r=this.shader,n=this.vao;r.bind(),r.uniforms={model:t.model||p,view:t.view||p,projection:t.projection||p,clipBounds:v(this.clipBounds),dashTexture:this.texture.bind(),dashScale:this.dashScale/this.arcLength[this.arcLength.length-1],opacity:this.opacity,screenShape:[e.drawingBufferWidth,e.drawingBufferHeight],pixelRatio:this.pixelRatio},n.bind(),n.draw(e.TRIANGLE_STRIP,this.vertexCount),n.unbind()}},m.drawPick=function(t){if(this.vertexCount){var e=this.gl,r=this.pickShader,n=this.vao;r.bind(),r.uniforms={model:t.model||p,view:t.view||p,projection:t.projection||p,pickId:this.pickId,clipBounds:v(this.clipBounds),screenShape:[e.drawingBufferWidth,e.drawingBufferHeight],pixelRatio:this.pixelRatio},n.bind(),n.draw(e.TRIANGLE_STRIP,this.vertexCount),n.unbind()}},m.update=function(t){var e,r;this.dirty=!0;var n=!!t.connectGaps;"dashScale"in t&&(this.dashScale=t.dashScale),this.hasAlpha=!1,"opacity"in t&&(this.opacity=+t.opacity,this.opacity<1&&(this.hasAlpha=!0));var i=[],a=[],o=[],s=0,c=0,f=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],h=t.position||t.positions;if(h){var p=t.color||t.colors||[0,0,0,1],v=t.lineWidth||1,g=!1;t:for(e=1;e<h.length;++e){var y,m,x,b=h[e-1],_=h[e];for(a.push(s),o.push(b.slice()),r=0;r<3;++r){if(isNaN(b[r])||isNaN(_[r])||!isFinite(b[r])||!isFinite(_[r])){if(!n&&i.length>0){for(var w=0;w<24;++w)i.push(i[i.length-12]);c+=2,g=!0}continue t}f[0][r]=Math.min(f[0][r],b[r],_[r]),f[1][r]=Math.max(f[1][r],b[r],_[r])}Array.isArray(p[0])?(y=p.length>e-1?p[e-1]:p.length>0?p[p.length-1]:[0,0,0,1],m=p.length>e?p[e]:p.length>0?p[p.length-1]:[0,0,0,1]):y=m=p,3===y.length&&(y=[y[0],y[1],y[2],1]),3===m.length&&(m=[m[0],m[1],m[2],1]),!this.hasAlpha&&y[3]<1&&(this.hasAlpha=!0),x=Array.isArray(v)?v.length>e-1?v[e-1]:v.length>0?v[v.length-1]:[0,0,0,1]:v;var T=s;if(s+=d(b,_),g){for(r=0;r<2;++r)i.push(b[0],b[1],b[2],_[0],_[1],_[2],T,x,y[0],y[1],y[2],y[3]);c+=2,g=!1}i.push(b[0],b[1],b[2],_[0],_[1],_[2],T,x,y[0],y[1],y[2],y[3],b[0],b[1],b[2],_[0],_[1],_[2],T,-x,y[0],y[1],y[2],y[3],_[0],_[1],_[2],b[0],b[1],b[2],s,-x,m[0],m[1],m[2],m[3],_[0],_[1],_[2],b[0],b[1],b[2],s,x,m[0],m[1],m[2],m[3]),c+=4}}if(this.buffer.update(i),a.push(s),o.push(h[h.length-1].slice()),this.bounds=f,this.vertexCount=c,this.points=o,this.arcLength=a,"dashes"in t){var k=t.dashes.slice();for(k.unshift(0),e=1;e<k.length;++e)k[e]=k[e-1]+k[e];var A=u(new Array(1024),[256,1,4]);for(e=0;e<256;++e){for(r=0;r<4;++r)A.set(e,0,r,0);1&l.le(k,k[k.length-1]*e/255)?A.set(e,0,0,0):A.set(e,0,0,255)}this.texture.setPixels(A)}},m.dispose=function(){this.shader.dispose(),this.vao.dispose(),this.buffer.dispose()},m.pick=function(t){if(!t)return null;if(t.id!==this.pickId)return null;var e=function(t,e,r,n){return o[0]=0,o[1]=r,o[2]=e,o[3]=t,s[0]}(t.value[0],t.value[1],t.value[2]),r=l.le(this.arcLength,e);if(r<0)return null;if(r===this.arcLength.length-1)return new g(this.arcLength[this.arcLength.length-1],this.points[this.points.length-1].slice(),r);for(var n=this.points[r],i=this.points[Math.min(r+1,this.points.length-1)],a=(e-this.arcLength[r])/(this.arcLength[r+1]-this.arcLength[r]),u=1-a,c=[0,0,0],f=0;f<3;++f)c[f]=u*n[f]+a*i[f];var h=Math.min(a<.5?r:r+1,this.points.length-1);return new g(e,c,h,this.points[h])}},7332:function(t){t.exports=function(t){var e=new Float32Array(16);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}},9823:function(t){t.exports=function(){var t=new Float32Array(16);return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},7787:function(t){t.exports=function(t){var e=t[0],r=t[1],n=t[2],i=t[3],a=t[4],o=t[5],s=t[6],l=t[7],u=t[8],c=t[9],f=t[10],h=t[11],p=t[12],d=t[13],v=t[14],g=t[15];return(e*o-r*a)*(f*g-h*v)-(e*s-n*a)*(c*g-h*d)+(e*l-i*a)*(c*v-f*d)+(r*s-n*o)*(u*g-h*p)-(r*l-i*o)*(u*v-f*p)+(n*l-i*s)*(u*d-c*p)}},5950:function(t){t.exports=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=r+r,s=n+n,l=i+i,u=r*o,c=n*o,f=n*s,h=i*o,p=i*s,d=i*l,v=a*o,g=a*s,y=a*l;return t[0]=1-f-d,t[1]=c+y,t[2]=h-g,t[3]=0,t[4]=c-y,t[5]=1-u-d,t[6]=p+v,t[7]=0,t[8]=h+g,t[9]=p-v,t[10]=1-u-f,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},7280:function(t){t.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=n+n,l=i+i,u=a+a,c=n*s,f=n*l,h=n*u,p=i*l,d=i*u,v=a*u,g=o*s,y=o*l,m=o*u;return t[0]=1-(p+v),t[1]=f+m,t[2]=h-y,t[3]=0,t[4]=f-m,t[5]=1-(c+v),t[6]=d+g,t[7]=0,t[8]=h+y,t[9]=d-g,t[10]=1-(c+p),t[11]=0,t[12]=r[0],t[13]=r[1],t[14]=r[2],t[15]=1,t}},9947:function(t){t.exports=function(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},7437:function(t){t.exports=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=e[4],s=e[5],l=e[6],u=e[7],c=e[8],f=e[9],h=e[10],p=e[11],d=e[12],v=e[13],g=e[14],y=e[15],m=r*s-n*o,x=r*l-i*o,b=r*u-a*o,_=n*l-i*s,w=n*u-a*s,T=i*u-a*l,k=c*v-f*d,A=c*g-h*d,M=c*y-p*d,S=f*g-h*v,E=f*y-p*v,L=h*y-p*g,C=m*L-x*E+b*S+_*M-w*A+T*k;return C?(C=1/C,t[0]=(s*L-l*E+u*S)*C,t[1]=(i*E-n*L-a*S)*C,t[2]=(v*T-g*w+y*_)*C,t[3]=(h*w-f*T-p*_)*C,t[4]=(l*M-o*L-u*A)*C,t[5]=(r*L-i*M+a*A)*C,t[6]=(g*b-d*T-y*x)*C,t[7]=(c*T-h*b+p*x)*C,t[8]=(o*E-s*M+u*k)*C,t[9]=(n*M-r*E-a*k)*C,t[10]=(d*w-v*b+y*m)*C,t[11]=(f*b-c*w-p*m)*C,t[12]=(s*A-o*S-l*k)*C,t[13]=(r*S-n*A+i*k)*C,t[14]=(v*x-d*_-g*m)*C,t[15]=(c*_-f*x+h*m)*C,t):null}},3012:function(t,e,r){var n=r(9947);t.exports=function(t,e,r,i){var a,o,s,l,u,c,f,h,p,d,v=e[0],g=e[1],y=e[2],m=i[0],x=i[1],b=i[2],_=r[0],w=r[1],T=r[2];return Math.abs(v-_)<1e-6&&Math.abs(g-w)<1e-6&&Math.abs(y-T)<1e-6?n(t):(f=v-_,h=g-w,p=y-T,a=x*(p*=d=1/Math.sqrt(f*f+h*h+p*p))-b*(h*=d),o=b*(f*=d)-m*p,s=m*h-x*f,(d=Math.sqrt(a*a+o*o+s*s))?(a*=d=1/d,o*=d,s*=d):(a=0,o=0,s=0),l=h*s-p*o,u=p*a-f*s,c=f*o-h*a,(d=Math.sqrt(l*l+u*u+c*c))?(l*=d=1/d,u*=d,c*=d):(l=0,u=0,c=0),t[0]=a,t[1]=l,t[2]=f,t[3]=0,t[4]=o,t[5]=u,t[6]=h,t[7]=0,t[8]=s,t[9]=c,t[10]=p,t[11]=0,t[12]=-(a*v+o*g+s*y),t[13]=-(l*v+u*g+c*y),t[14]=-(f*v+h*g+p*y),t[15]=1,t)}},104:function(t){t.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],u=e[6],c=e[7],f=e[8],h=e[9],p=e[10],d=e[11],v=e[12],g=e[13],y=e[14],m=e[15],x=r[0],b=r[1],_=r[2],w=r[3];return t[0]=x*n+b*s+_*f+w*v,t[1]=x*i+b*l+_*h+w*g,t[2]=x*a+b*u+_*p+w*y,t[3]=x*o+b*c+_*d+w*m,x=r[4],b=r[5],_=r[6],w=r[7],t[4]=x*n+b*s+_*f+w*v,t[5]=x*i+b*l+_*h+w*g,t[6]=x*a+b*u+_*p+w*y,t[7]=x*o+b*c+_*d+w*m,x=r[8],b=r[9],_=r[10],w=r[11],t[8]=x*n+b*s+_*f+w*v,t[9]=x*i+b*l+_*h+w*g,t[10]=x*a+b*u+_*p+w*y,t[11]=x*o+b*c+_*d+w*m,x=r[12],b=r[13],_=r[14],w=r[15],t[12]=x*n+b*s+_*f+w*v,t[13]=x*i+b*l+_*h+w*g,t[14]=x*a+b*u+_*p+w*y,t[15]=x*o+b*c+_*d+w*m,t}},5268:function(t){t.exports=function(t,e,r,n,i,a,o){var s=1/(e-r),l=1/(n-i),u=1/(a-o);return t[0]=-2*s,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=-2*l,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=2*u,t[11]=0,t[12]=(e+r)*s,t[13]=(i+n)*l,t[14]=(o+a)*u,t[15]=1,t}},1120:function(t){t.exports=function(t,e,r,n,i){var a=1/Math.tan(e/2),o=1/(n-i);return t[0]=a/r,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=a,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=(i+n)*o,t[11]=-1,t[12]=0,t[13]=0,t[14]=2*i*n*o,t[15]=0,t}},4422:function(t){t.exports=function(t,e,r,n){var i,a,o,s,l,u,c,f,h,p,d,v,g,y,m,x,b,_,w,T,k,A,M,S,E=n[0],L=n[1],C=n[2],P=Math.sqrt(E*E+L*L+C*C);return Math.abs(P)<1e-6?null:(E*=P=1/P,L*=P,C*=P,i=Math.sin(r),o=1-(a=Math.cos(r)),s=e[0],l=e[1],u=e[2],c=e[3],f=e[4],h=e[5],p=e[6],d=e[7],v=e[8],g=e[9],y=e[10],m=e[11],x=E*E*o+a,b=L*E*o+C*i,_=C*E*o-L*i,w=E*L*o-C*i,T=L*L*o+a,k=C*L*o+E*i,A=E*C*o+L*i,M=L*C*o-E*i,S=C*C*o+a,t[0]=s*x+f*b+v*_,t[1]=l*x+h*b+g*_,t[2]=u*x+p*b+y*_,t[3]=c*x+d*b+m*_,t[4]=s*w+f*T+v*k,t[5]=l*w+h*T+g*k,t[6]=u*w+p*T+y*k,t[7]=c*w+d*T+m*k,t[8]=s*A+f*M+v*S,t[9]=l*A+h*M+g*S,t[10]=u*A+p*M+y*S,t[11]=c*A+d*M+m*S,e!==t&&(t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t)}},6109:function(t){t.exports=function(t,e,r){var n=Math.sin(r),i=Math.cos(r),a=e[4],o=e[5],s=e[6],l=e[7],u=e[8],c=e[9],f=e[10],h=e[11];return e!==t&&(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[4]=a*i+u*n,t[5]=o*i+c*n,t[6]=s*i+f*n,t[7]=l*i+h*n,t[8]=u*i-a*n,t[9]=c*i-o*n,t[10]=f*i-s*n,t[11]=h*i-l*n,t}},7115:function(t){t.exports=function(t,e,r){var n=Math.sin(r),i=Math.cos(r),a=e[0],o=e[1],s=e[2],l=e[3],u=e[8],c=e[9],f=e[10],h=e[11];return e!==t&&(t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[0]=a*i-u*n,t[1]=o*i-c*n,t[2]=s*i-f*n,t[3]=l*i-h*n,t[8]=a*n+u*i,t[9]=o*n+c*i,t[10]=s*n+f*i,t[11]=l*n+h*i,t}},5240:function(t){t.exports=function(t,e,r){var n=Math.sin(r),i=Math.cos(r),a=e[0],o=e[1],s=e[2],l=e[3],u=e[4],c=e[5],f=e[6],h=e[7];return e!==t&&(t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[0]=a*i+u*n,t[1]=o*i+c*n,t[2]=s*i+f*n,t[3]=l*i+h*n,t[4]=u*i-a*n,t[5]=c*i-o*n,t[6]=f*i-s*n,t[7]=h*i-l*n,t}},3668:function(t){t.exports=function(t,e,r){var n=r[0],i=r[1],a=r[2];return t[0]=e[0]*n,t[1]=e[1]*n,t[2]=e[2]*n,t[3]=e[3]*n,t[4]=e[4]*i,t[5]=e[5]*i,t[6]=e[6]*i,t[7]=e[7]*i,t[8]=e[8]*a,t[9]=e[9]*a,t[10]=e[10]*a,t[11]=e[11]*a,t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}},998:function(t){t.exports=function(t,e,r){var n,i,a,o,s,l,u,c,f,h,p,d,v=r[0],g=r[1],y=r[2];return e===t?(t[12]=e[0]*v+e[4]*g+e[8]*y+e[12],t[13]=e[1]*v+e[5]*g+e[9]*y+e[13],t[14]=e[2]*v+e[6]*g+e[10]*y+e[14],t[15]=e[3]*v+e[7]*g+e[11]*y+e[15]):(n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],u=e[6],c=e[7],f=e[8],h=e[9],p=e[10],d=e[11],t[0]=n,t[1]=i,t[2]=a,t[3]=o,t[4]=s,t[5]=l,t[6]=u,t[7]=c,t[8]=f,t[9]=h,t[10]=p,t[11]=d,t[12]=n*v+s*g+f*y+e[12],t[13]=i*v+l*g+h*y+e[13],t[14]=a*v+u*g+p*y+e[14],t[15]=o*v+c*g+d*y+e[15]),t}},2142:function(t){t.exports=function(t,e){if(t===e){var r=e[1],n=e[2],i=e[3],a=e[6],o=e[7],s=e[11];t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=r,t[6]=e[9],t[7]=e[13],t[8]=n,t[9]=a,t[11]=e[14],t[12]=i,t[13]=o,t[14]=s}else t[0]=e[0],t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=e[1],t[5]=e[5],t[6]=e[9],t[7]=e[13],t[8]=e[2],t[9]=e[6],t[10]=e[10],t[11]=e[14],t[12]=e[3],t[13]=e[7],t[14]=e[11],t[15]=e[15];return t}},4340:function(t,e,r){"use strict";var n=r(957),i=r(7309);function a(t,e){for(var r=[0,0,0,0],n=0;n<4;++n)for(var i=0;i<4;++i)r[i]+=t[4*n+i]*e[n];return r}function o(t,e,r,n,i){for(var o=a(n,a(r,a(e,[t[0],t[1],t[2],1]))),s=0;s<3;++s)o[s]/=o[3];return[.5*i[0]*(1+o[0]),.5*i[1]*(1-o[1])]}function s(t,e){for(var r=[0,0,0],n=0;n<t.length;++n)for(var i=t[n],a=e[n],o=0;o<3;++o)r[o]+=a*i[o];return r}t.exports=function(t,e,r,a,l,u){if(1===t.length)return[0,t[0].slice()];for(var c=new Array(t.length),f=0;f<t.length;++f)c[f]=o(t[f],r,a,l,u);var h=0,p=1/0;for(f=0;f<c.length;++f){for(var d=0,v=0;v<2;++v)d+=Math.pow(c[f][v]-e[v],2);d<p&&(p=d,h=f)}var g=function(t,e){if(2===t.length){for(var r=0,a=0,o=0;o<2;++o)r+=Math.pow(e[o]-t[0][o],2),a+=Math.pow(e[o]-t[1][o],2);return(r=Math.sqrt(r))+(a=Math.sqrt(a))<1e-6?[1,0]:[a/(r+a),r/(a+r)]}if(3===t.length){var s=[0,0];return i(t[0],t[1],t[2],e,s),n(t,s)}return[]}(c,e),y=0;for(f=0;f<3;++f){if(g[f]<-.001||g[f]>1.0001)return null;y+=g[f]}return Math.abs(y-1)>.001?null:[h,s(t,g),g]}},2056:function(t,e,r){var n=r(6832),i=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position, normal;\nattribute vec4 color;\nattribute vec2 uv;\n\nuniform mat4 model\n , view\n , projection\n , inverseModel;\nuniform vec3 eyePosition\n , lightPosition;\n\nvarying vec3 f_normal\n , f_lightDirection\n , f_eyeDirection\n , f_data;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvec4 project(vec3 p) {\n return projection * view * model * vec4(p, 1.0);\n}\n\nvoid main() {\n gl_Position = project(position);\n\n //Lighting geometry parameters\n vec4 cameraCoordinate = view * vec4(position , 1.0);\n cameraCoordinate.xyz /= cameraCoordinate.w;\n f_lightDirection = lightPosition - cameraCoordinate.xyz;\n f_eyeDirection = eyePosition - cameraCoordinate.xyz;\n f_normal = normalize((vec4(normal, 0.0) * inverseModel).xyz);\n\n f_color = color;\n f_data = position;\n f_uv = uv;\n}\n"]),a=n(["#extension GL_OES_standard_derivatives : enable\n\nprecision highp float;\n#define GLSLIFY 1\n\nfloat beckmannDistribution(float x, float roughness) {\n float NdotH = max(x, 0.0001);\n float cos2Alpha = NdotH * NdotH;\n float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;\n float roughness2 = roughness * roughness;\n float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;\n return exp(tan2Alpha / roughness2) / denom;\n}\n\nfloat cookTorranceSpecular(\n vec3 lightDirection,\n vec3 viewDirection,\n vec3 surfaceNormal,\n float roughness,\n float fresnel) {\n\n float VdotN = max(dot(viewDirection, surfaceNormal), 0.0);\n float LdotN = max(dot(lightDirection, surfaceNormal), 0.0);\n\n //Half angle vector\n vec3 H = normalize(lightDirection + viewDirection);\n\n //Geometric term\n float NdotH = max(dot(surfaceNormal, H), 0.0);\n float VdotH = max(dot(viewDirection, H), 0.000001);\n float LdotH = max(dot(lightDirection, H), 0.000001);\n float G1 = (2.0 * NdotH * VdotN) / VdotH;\n float G2 = (2.0 * NdotH * LdotN) / LdotH;\n float G = min(1.0, min(G1, G2));\n \n //Distribution term\n float D = beckmannDistribution(NdotH, roughness);\n\n //Fresnel term\n float F = pow(1.0 - VdotN, fresnel);\n\n //Multiply terms and done\n return G * F * D / max(3.14159265 * VdotN, 0.000001);\n}\n\n//#pragma glslify: beckmann = require(glsl-specular-beckmann) // used in gl-surface3d\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float roughness\n , fresnel\n , kambient\n , kdiffuse\n , kspecular;\nuniform sampler2D texture;\n\nvarying vec3 f_normal\n , f_lightDirection\n , f_eyeDirection\n , f_data;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n if (f_color.a == 0.0 ||\n outOfRange(clipBounds[0], clipBounds[1], f_data)\n ) discard;\n\n vec3 N = normalize(f_normal);\n vec3 L = normalize(f_lightDirection);\n vec3 V = normalize(f_eyeDirection);\n\n if(gl_FrontFacing) {\n N = -N;\n }\n\n float specular = min(1.0, max(0.0, cookTorranceSpecular(L, V, N, roughness, fresnel)));\n //float specular = max(0.0, beckmann(L, V, N, roughness)); // used in gl-surface3d\n\n float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\n\n vec4 surfaceColor = vec4(f_color.rgb, 1.0) * texture2D(texture, f_uv);\n vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular, 1.0);\n\n gl_FragColor = litColor * f_color.a;\n}\n"]),o=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 uv;\n\nuniform mat4 model, view, projection;\n\nvarying vec4 f_color;\nvarying vec3 f_data;\nvarying vec2 f_uv;\n\nvoid main() {\n gl_Position = projection * view * model * vec4(position, 1.0);\n f_color = color;\n f_data = position;\n f_uv = uv;\n}"]),s=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform sampler2D texture;\nuniform float opacity;\n\nvarying vec4 f_color;\nvarying vec3 f_data;\nvarying vec2 f_uv;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_data)) discard;\n\n gl_FragColor = f_color * texture2D(texture, f_uv) * opacity;\n}"]),l=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 uv;\nattribute float pointSize;\n\nuniform mat4 model, view, projection;\nuniform vec3 clipBounds[2];\n\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n gl_Position = vec4(0.0, 0.0 ,0.0 ,0.0);\n } else {\n gl_Position = projection * view * model * vec4(position, 1.0);\n }\n gl_PointSize = pointSize;\n f_color = color;\n f_uv = uv;\n}"]),u=n(["precision highp float;\n#define GLSLIFY 1\n\nuniform sampler2D texture;\nuniform float opacity;\n\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n vec2 pointR = gl_PointCoord.xy - vec2(0.5, 0.5);\n if(dot(pointR, pointR) > 0.25) {\n discard;\n }\n gl_FragColor = f_color * texture2D(texture, f_uv) * opacity;\n}"]),c=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n gl_Position = projection * view * model * vec4(position, 1.0);\n f_id = id;\n f_position = position;\n}"]),f=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float pickId;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n\n gl_FragColor = vec4(pickId, f_id.xyz);\n}"]),h=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nattribute vec3 position;\nattribute float pointSize;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\nuniform vec3 clipBounds[2];\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n gl_Position = vec4(0.0, 0.0, 0.0, 0.0);\n } else {\n gl_Position = projection * view * model * vec4(position, 1.0);\n gl_PointSize = pointSize;\n }\n f_id = id;\n f_position = position;\n}"]),p=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position;\n\nuniform mat4 model, view, projection;\n\nvoid main() {\n gl_Position = projection * view * model * vec4(position, 1.0);\n}"]),d=n(["precision highp float;\n#define GLSLIFY 1\n\nuniform vec3 contourColor;\n\nvoid main() {\n gl_FragColor = vec4(contourColor, 1.0);\n}\n"]);e.meshShader={vertex:i,fragment:a,attributes:[{name:"position",type:"vec3"},{name:"normal",type:"vec3"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"}]},e.wireShader={vertex:o,fragment:s,attributes:[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"}]},e.pointShader={vertex:l,fragment:u,attributes:[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"},{name:"pointSize",type:"float"}]},e.pickShader={vertex:c,fragment:f,attributes:[{name:"position",type:"vec3"},{name:"id",type:"vec4"}]},e.pointPickShader={vertex:h,fragment:f,attributes:[{name:"position",type:"vec3"},{name:"pointSize",type:"float"},{name:"id",type:"vec4"}]},e.contourShader={vertex:p,fragment:d,attributes:[{name:"position",type:"vec3"}]}},8116:function(t,e,r){"use strict";var n=r(5158),i=r(5827),a=r(2944),o=r(8931),s=r(115),l=r(104),u=r(7437),c=r(5050),f=r(9156),h=r(7212),p=r(5306),d=r(2056),v=r(4340),g=d.meshShader,y=d.wireShader,m=d.pointShader,x=d.pickShader,b=d.pointPickShader,_=d.contourShader,w=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function T(t,e,r,n,i,a,o,s,l,u,c,f,h,p,d,v,g,y,m,x,b,_,T,k,A,M,S){this.gl=t,this.pixelRatio=1,this.cells=[],this.positions=[],this.intensity=[],this.texture=e,this.dirty=!0,this.triShader=r,this.lineShader=n,this.pointShader=i,this.pickShader=a,this.pointPickShader=o,this.contourShader=s,this.trianglePositions=l,this.triangleColors=c,this.triangleNormals=h,this.triangleUVs=f,this.triangleIds=u,this.triangleVAO=p,this.triangleCount=0,this.lineWidth=1,this.edgePositions=d,this.edgeColors=g,this.edgeUVs=y,this.edgeIds=v,this.edgeVAO=m,this.edgeCount=0,this.pointPositions=x,this.pointColors=_,this.pointUVs=T,this.pointSizes=k,this.pointIds=b,this.pointVAO=A,this.pointCount=0,this.contourLineWidth=1,this.contourPositions=M,this.contourVAO=S,this.contourCount=0,this.contourColor=[0,0,0],this.contourEnable=!0,this.pickVertex=!0,this.pickId=1,this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.lightPosition=[1e5,1e5,0],this.ambientLight=.8,this.diffuseLight=.8,this.specularLight=2,this.roughness=.5,this.fresnel=1.5,this.opacity=1,this.hasAlpha=!1,this.opacityscale=!1,this._model=w,this._view=w,this._projection=w,this._resolution=[1,1]}var k=T.prototype;function A(t,e){if(!e)return 1;if(!e.length)return 1;for(var r=0;r<e.length;++r){if(e.length<2)return 1;if(e[r][0]===t)return e[r][1];if(e[r][0]>t&&r>0){var n=(e[r][0]-t)/(e[r][0]-e[r-1][0]);return e[r][1]*(1-n)+n*e[r-1][1]}}return 1}function M(t){var e=n(t,g.vertex,g.fragment);return e.attributes.position.location=0,e.attributes.color.location=2,e.attributes.uv.location=3,e.attributes.normal.location=4,e}function S(t){var e=n(t,y.vertex,y.fragment);return e.attributes.position.location=0,e.attributes.color.location=2,e.attributes.uv.location=3,e}function E(t){var e=n(t,m.vertex,m.fragment);return e.attributes.position.location=0,e.attributes.color.location=2,e.attributes.uv.location=3,e.attributes.pointSize.location=4,e}function L(t){var e=n(t,x.vertex,x.fragment);return e.attributes.position.location=0,e.attributes.id.location=1,e}function C(t){var e=n(t,b.vertex,b.fragment);return e.attributes.position.location=0,e.attributes.id.location=1,e.attributes.pointSize.location=4,e}function P(t){var e=n(t,_.vertex,_.fragment);return e.attributes.position.location=0,e}k.isOpaque=function(){return!this.hasAlpha},k.isTransparent=function(){return this.hasAlpha},k.pickSlots=1,k.setPickBase=function(t){this.pickId=t},k.highlight=function(t){if(t&&this.contourEnable){for(var e=h(this.cells,this.intensity,t.intensity),r=e.cells,n=e.vertexIds,i=e.vertexWeights,a=r.length,o=p.mallocFloat32(6*a),s=0,l=0;l<a;++l)for(var u=r[l],c=0;c<2;++c){var f=u[0];2===u.length&&(f=u[c]);for(var d=n[f][0],v=n[f][1],g=i[f],y=1-g,m=this.positions[d],x=this.positions[v],b=0;b<3;++b)o[s++]=g*m[b]+y*x[b]}this.contourCount=s/3|0,this.contourPositions.update(o.subarray(0,s)),p.free(o)}else this.contourCount=0},k.update=function(t){t=t||{};var e=this.gl;this.dirty=!0,"contourEnable"in t&&(this.contourEnable=t.contourEnable),"contourColor"in t&&(this.contourColor=t.contourColor),"lineWidth"in t&&(this.lineWidth=t.lineWidth),"lightPosition"in t&&(this.lightPosition=t.lightPosition),this.hasAlpha=!1,"opacity"in t&&(this.opacity=t.opacity,this.opacity<1&&(this.hasAlpha=!0)),"opacityscale"in t&&(this.opacityscale=t.opacityscale,this.hasAlpha=!0),"ambient"in t&&(this.ambientLight=t.ambient),"diffuse"in t&&(this.diffuseLight=t.diffuse),"specular"in t&&(this.specularLight=t.specular),"roughness"in t&&(this.roughness=t.roughness),"fresnel"in t&&(this.fresnel=t.fresnel),t.texture?(this.texture.dispose(),this.texture=o(e,t.texture)):t.colormap&&(this.texture.shape=[256,256],this.texture.minFilter=e.LINEAR_MIPMAP_LINEAR,this.texture.magFilter=e.LINEAR,this.texture.setPixels(function(t,e){for(var r=f({colormap:t,nshades:256,format:"rgba"}),n=new Uint8Array(1024),i=0;i<256;++i){for(var a=r[i],o=0;o<3;++o)n[4*i+o]=a[o];n[4*i+3]=e?255*A(i/255,e):255*a[3]}return c(n,[256,256,4],[4,0,1])}(t.colormap,this.opacityscale)),this.texture.generateMipmap());var r=t.cells,n=t.positions;if(n&&r){var i=[],a=[],l=[],u=[],h=[],p=[],d=[],v=[],g=[],y=[],m=[],x=[],b=[],_=[];this.cells=r,this.positions=n;var w=t.vertexNormals,T=t.cellNormals,k=void 0===t.vertexNormalsEpsilon?1e-6:t.vertexNormalsEpsilon,M=void 0===t.faceNormalsEpsilon?1e-6:t.faceNormalsEpsilon;t.useFacetNormals&&!T&&(T=s.faceNormals(r,n,M)),T||w||(w=s.vertexNormals(r,n,k));var S=t.vertexColors,E=t.cellColors,L=t.meshColor||[1,1,1,1],C=t.vertexUVs,P=t.vertexIntensity,O=t.cellUVs,I=t.cellIntensity,D=1/0,z=-1/0;if(!C&&!O)if(P)if(t.vertexIntensityBounds)D=+t.vertexIntensityBounds[0],z=+t.vertexIntensityBounds[1];else for(var R=0;R<P.length;++R){var F=P[R];D=Math.min(D,F),z=Math.max(z,F)}else if(I)if(t.cellIntensityBounds)D=+t.cellIntensityBounds[0],z=+t.cellIntensityBounds[1];else for(R=0;R<I.length;++R)F=I[R],D=Math.min(D,F),z=Math.max(z,F);else for(R=0;R<n.length;++R)F=n[R][2],D=Math.min(D,F),z=Math.max(z,F);this.intensity=P||I||function(t){for(var e=t.length,r=new Array(e),n=0;n<e;++n)r[n]=t[n][2];return r}(n),this.pickVertex=!(I||E);var B=t.pointSizes,N=t.pointSize||1;for(this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],R=0;R<n.length;++R)for(var j=n[R],U=0;U<3;++U)!isNaN(j[U])&&isFinite(j[U])&&(this.bounds[0][U]=Math.min(this.bounds[0][U],j[U]),this.bounds[1][U]=Math.max(this.bounds[1][U],j[U]));var V=0,H=0,q=0;t:for(R=0;R<r.length;++R){var G=r[R];switch(G.length){case 1:for(j=n[Y=G[0]],U=0;U<3;++U)if(isNaN(j[U])||!isFinite(j[U]))continue t;y.push(j[0],j[1],j[2]),W=S?S[Y]:E?E[R]:L,this.opacityscale&&P?a.push(W[0],W[1],W[2],this.opacity*A((P[Y]-D)/(z-D),this.opacityscale)):3===W.length?m.push(W[0],W[1],W[2],this.opacity):(m.push(W[0],W[1],W[2],W[3]*this.opacity),W[3]<1&&(this.hasAlpha=!0)),X=C?C[Y]:P?[(P[Y]-D)/(z-D),0]:O?O[R]:I?[(I[R]-D)/(z-D),0]:[(j[2]-D)/(z-D),0],x.push(X[0],X[1]),B?b.push(B[Y]):b.push(N),_.push(R),q+=1;break;case 2:for(U=0;U<2;++U){j=n[Y=G[U]];for(var Z=0;Z<3;++Z)if(isNaN(j[Z])||!isFinite(j[Z]))continue t}for(U=0;U<2;++U)j=n[Y=G[U]],p.push(j[0],j[1],j[2]),W=S?S[Y]:E?E[R]:L,this.opacityscale&&P?a.push(W[0],W[1],W[2],this.opacity*A((P[Y]-D)/(z-D),this.opacityscale)):3===W.length?d.push(W[0],W[1],W[2],this.opacity):(d.push(W[0],W[1],W[2],W[3]*this.opacity),W[3]<1&&(this.hasAlpha=!0)),X=C?C[Y]:P?[(P[Y]-D)/(z-D),0]:O?O[R]:I?[(I[R]-D)/(z-D),0]:[(j[2]-D)/(z-D),0],v.push(X[0],X[1]),g.push(R);H+=1;break;case 3:for(U=0;U<3;++U)for(j=n[Y=G[U]],Z=0;Z<3;++Z)if(isNaN(j[Z])||!isFinite(j[Z]))continue t;for(U=0;U<3;++U){var Y,W,X,J;j=n[Y=G[2-U]],i.push(j[0],j[1],j[2]),(W=S?S[Y]:E?E[R]:L)?this.opacityscale&&P?a.push(W[0],W[1],W[2],this.opacity*A((P[Y]-D)/(z-D),this.opacityscale)):3===W.length?a.push(W[0],W[1],W[2],this.opacity):(a.push(W[0],W[1],W[2],W[3]*this.opacity),W[3]<1&&(this.hasAlpha=!0)):a.push(.5,.5,.5,1),X=C?C[Y]:P?[(P[Y]-D)/(z-D),0]:O?O[R]:I?[(I[R]-D)/(z-D),0]:[(j[2]-D)/(z-D),0],u.push(X[0],X[1]),J=w?w[Y]:T[R],l.push(J[0],J[1],J[2]),h.push(R)}V+=1}}this.pointCount=q,this.edgeCount=H,this.triangleCount=V,this.pointPositions.update(y),this.pointColors.update(m),this.pointUVs.update(x),this.pointSizes.update(b),this.pointIds.update(new Uint32Array(_)),this.edgePositions.update(p),this.edgeColors.update(d),this.edgeUVs.update(v),this.edgeIds.update(new Uint32Array(g)),this.trianglePositions.update(i),this.triangleColors.update(a),this.triangleUVs.update(u),this.triangleNormals.update(l),this.triangleIds.update(new Uint32Array(h))}},k.drawTransparent=k.draw=function(t){t=t||{};for(var e=this.gl,r=t.model||w,n=t.view||w,i=t.projection||w,a=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],o=0;o<3;++o)a[0][o]=Math.max(a[0][o],this.clipBounds[0][o]),a[1][o]=Math.min(a[1][o],this.clipBounds[1][o]);var s={model:r,view:n,projection:i,inverseModel:w.slice(),clipBounds:a,kambient:this.ambientLight,kdiffuse:this.diffuseLight,kspecular:this.specularLight,roughness:this.roughness,fresnel:this.fresnel,eyePosition:[0,0,0],lightPosition:[0,0,0],contourColor:this.contourColor,texture:0};s.inverseModel=u(s.inverseModel,s.model),e.disable(e.CULL_FACE),this.texture.bind(0);var c=new Array(16);for(l(c,s.view,s.model),l(c,s.projection,c),u(c,c),o=0;o<3;++o)s.eyePosition[o]=c[12+o]/c[15];var f,h=c[15];for(o=0;o<3;++o)h+=this.lightPosition[o]*c[4*o+3];for(o=0;o<3;++o){for(var p=c[12+o],d=0;d<3;++d)p+=c[4*d+o]*this.lightPosition[d];s.lightPosition[o]=p/h}this.triangleCount>0&&((f=this.triShader).bind(),f.uniforms=s,this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind()),this.edgeCount>0&&this.lineWidth>0&&((f=this.lineShader).bind(),f.uniforms=s,this.edgeVAO.bind(),e.lineWidth(this.lineWidth*this.pixelRatio),e.drawArrays(e.LINES,0,2*this.edgeCount),this.edgeVAO.unbind()),this.pointCount>0&&((f=this.pointShader).bind(),f.uniforms=s,this.pointVAO.bind(),e.drawArrays(e.POINTS,0,this.pointCount),this.pointVAO.unbind()),this.contourEnable&&this.contourCount>0&&this.contourLineWidth>0&&((f=this.contourShader).bind(),f.uniforms=s,this.contourVAO.bind(),e.drawArrays(e.LINES,0,this.contourCount),this.contourVAO.unbind())},k.drawPick=function(t){t=t||{};for(var e=this.gl,r=t.model||w,n=t.view||w,i=t.projection||w,a=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],o=0;o<3;++o)a[0][o]=Math.max(a[0][o],this.clipBounds[0][o]),a[1][o]=Math.min(a[1][o],this.clipBounds[1][o]);this._model=[].slice.call(r),this._view=[].slice.call(n),this._projection=[].slice.call(i),this._resolution=[e.drawingBufferWidth,e.drawingBufferHeight];var s,l={model:r,view:n,projection:i,clipBounds:a,pickId:this.pickId/255};(s=this.pickShader).bind(),s.uniforms=l,this.triangleCount>0&&(this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind()),this.edgeCount>0&&(this.edgeVAO.bind(),e.lineWidth(this.lineWidth*this.pixelRatio),e.drawArrays(e.LINES,0,2*this.edgeCount),this.edgeVAO.unbind()),this.pointCount>0&&((s=this.pointPickShader).bind(),s.uniforms=l,this.pointVAO.bind(),e.drawArrays(e.POINTS,0,this.pointCount),this.pointVAO.unbind())},k.pick=function(t){if(!t)return null;if(t.id!==this.pickId)return null;for(var e=t.value[0]+256*t.value[1]+65536*t.value[2],r=this.cells[e],n=this.positions,i=new Array(r.length),a=0;a<r.length;++a)i[a]=n[r[a]];var o=t.coord[0],s=t.coord[1];if(!this.pickVertex){var l=this.positions[r[0]],u=this.positions[r[1]],c=this.positions[r[2]],f=[(l[0]+u[0]+c[0])/3,(l[1]+u[1]+c[1])/3,(l[2]+u[2]+c[2])/3];return{_cellCenter:!0,position:[o,s],index:e,cell:r,cellId:e,intensity:this.intensity[e],dataCoordinate:f}}var h=v(i,[o*this.pixelRatio,this._resolution[1]-s*this.pixelRatio],this._model,this._view,this._projection,this._resolution);if(!h)return null;var p=h[2],d=0;for(a=0;a<r.length;++a)d+=p[a]*this.intensity[r[a]];return{position:h[1],index:r[h[0]],cell:r,cellId:e,intensity:d,dataCoordinate:this.positions[r[h[0]]]}},k.dispose=function(){this.texture.dispose(),this.triShader.dispose(),this.lineShader.dispose(),this.pointShader.dispose(),this.pickShader.dispose(),this.pointPickShader.dispose(),this.triangleVAO.dispose(),this.trianglePositions.dispose(),this.triangleColors.dispose(),this.triangleUVs.dispose(),this.triangleNormals.dispose(),this.triangleIds.dispose(),this.edgeVAO.dispose(),this.edgePositions.dispose(),this.edgeColors.dispose(),this.edgeUVs.dispose(),this.edgeIds.dispose(),this.pointVAO.dispose(),this.pointPositions.dispose(),this.pointColors.dispose(),this.pointUVs.dispose(),this.pointSizes.dispose(),this.pointIds.dispose(),this.contourVAO.dispose(),this.contourPositions.dispose(),this.contourShader.dispose()},t.exports=function(t,e){1===arguments.length&&(t=(e=t).gl);var r=t.getExtension("OES_standard_derivatives")||t.getExtension("MOZ_OES_standard_derivatives")||t.getExtension("WEBKIT_OES_standard_derivatives");if(!r)throw new Error("derivatives not supported");var n=M(t),s=S(t),l=E(t),u=L(t),f=C(t),h=P(t),p=o(t,c(new Uint8Array([255,255,255,255]),[1,1,4]));p.generateMipmap(),p.minFilter=t.LINEAR_MIPMAP_LINEAR,p.magFilter=t.LINEAR;var d=i(t),v=i(t),g=i(t),y=i(t),m=i(t),x=a(t,[{buffer:d,type:t.FLOAT,size:3},{buffer:m,type:t.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:v,type:t.FLOAT,size:4},{buffer:g,type:t.FLOAT,size:2},{buffer:y,type:t.FLOAT,size:3}]),b=i(t),_=i(t),w=i(t),k=i(t),A=a(t,[{buffer:b,type:t.FLOAT,size:3},{buffer:k,type:t.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:_,type:t.FLOAT,size:4},{buffer:w,type:t.FLOAT,size:2}]),O=i(t),I=i(t),D=i(t),z=i(t),R=i(t),F=a(t,[{buffer:O,type:t.FLOAT,size:3},{buffer:R,type:t.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:I,type:t.FLOAT,size:4},{buffer:D,type:t.FLOAT,size:2},{buffer:z,type:t.FLOAT,size:1}]),B=i(t),N=a(t,[{buffer:B,type:t.FLOAT,size:3}]),j=new T(t,p,n,s,l,u,f,h,d,m,v,g,y,x,b,k,_,w,A,O,R,I,D,z,F,B,N);return j.update(e),j}},4554:function(t,e,r){"use strict";t.exports=function(t){var e=t.gl;return new o(t,n(e,[0,0,0,1,1,0,1,1]),i(e,a.boxVert,a.lineFrag))};var n=r(5827),i=r(5158),a=r(2709);function o(t,e,r){this.plot=t,this.vbo=e,this.shader=r}var s,l,u=o.prototype;u.bind=function(){var t=this.shader;this.vbo.bind(),this.shader.bind(),t.attributes.coord.pointer(),t.uniforms.screenBox=this.plot.screenBox},u.drawBox=(s=[0,0],l=[0,0],function(t,e,r,n,i){var a=this.plot,o=this.shader,u=a.gl;s[0]=t,s[1]=e,l[0]=r,l[1]=n,o.uniforms.lo=s,o.uniforms.hi=l,o.uniforms.color=i,u.drawArrays(u.TRIANGLE_STRIP,0,4)}),u.dispose=function(){this.vbo.dispose(),this.shader.dispose()}},3016:function(t,e,r){"use strict";t.exports=function(t){var e=t.gl;return new s(t,n(e),i(e,o.gridVert,o.gridFrag),i(e,o.tickVert,o.gridFrag))};var n=r(5827),i=r(5158),a=r(5070),o=r(2709);function s(t,e,r,n){this.plot=t,this.vbo=e,this.shader=r,this.tickShader=n,this.ticks=[[],[]]}function l(t,e){return t-e}var u,c,f,h,p,d=s.prototype;d.draw=(u=[0,0],c=[0,0],f=[0,0],function(){for(var t=this.plot,e=this.vbo,r=this.shader,n=this.ticks,i=t.gl,a=t._tickBounds,o=t.dataBox,s=t.viewBox,l=t.gridLineWidth,h=t.gridLineColor,p=t.gridLineEnable,d=t.pixelRatio,v=0;v<2;++v){var g=a[v],y=a[v+2]-g,m=.5*(o[v+2]+o[v]),x=o[v+2]-o[v];c[v]=2*y/x,u[v]=2*(g-m)/x}r.bind(),e.bind(),r.attributes.dataCoord.pointer(),r.uniforms.dataShift=u,r.uniforms.dataScale=c;var b=0;for(v=0;v<2;++v){f[0]=f[1]=0,f[v]=1,r.uniforms.dataAxis=f,r.uniforms.lineWidth=l[v]/(s[v+2]-s[v])*d,r.uniforms.color=h[v];var _=6*n[v].length;p[v]&&_&&i.drawArrays(i.TRIANGLES,b,_),b+=_}}),d.drawTickMarks=function(){var t=[0,0],e=[0,0],r=[1,0],n=[0,1],i=[0,0],o=[0,0];return function(){for(var s=this.plot,u=this.vbo,c=this.tickShader,f=this.ticks,h=s.gl,p=s._tickBounds,d=s.dataBox,v=s.viewBox,g=s.pixelRatio,y=s.screenBox,m=y[2]-y[0],x=y[3]-y[1],b=v[2]-v[0],_=v[3]-v[1],w=0;w<2;++w){var T=p[w],k=p[w+2]-T,A=.5*(d[w+2]+d[w]),M=d[w+2]-d[w];e[w]=2*k/M,t[w]=2*(T-A)/M}e[0]*=b/m,t[0]*=b/m,e[1]*=_/x,t[1]*=_/x,c.bind(),u.bind(),c.attributes.dataCoord.pointer();var S=c.uniforms;S.dataShift=t,S.dataScale=e;var E=s.tickMarkLength,L=s.tickMarkWidth,C=s.tickMarkColor,P=6*f[0].length,O=Math.min(a.ge(f[0],(d[0]-p[0])/(p[2]-p[0]),l),f[0].length),I=Math.min(a.gt(f[0],(d[2]-p[0])/(p[2]-p[0]),l),f[0].length),D=0+6*O,z=6*Math.max(0,I-O),R=Math.min(a.ge(f[1],(d[1]-p[1])/(p[3]-p[1]),l),f[1].length),F=Math.min(a.gt(f[1],(d[3]-p[1])/(p[3]-p[1]),l),f[1].length),B=P+6*R,N=6*Math.max(0,F-R);i[0]=2*(v[0]-E[1])/m-1,i[1]=(v[3]+v[1])/x-1,o[0]=E[1]*g/m,o[1]=L[1]*g/x,N&&(S.color=C[1],S.tickScale=o,S.dataAxis=n,S.screenOffset=i,h.drawArrays(h.TRIANGLES,B,N)),i[0]=(v[2]+v[0])/m-1,i[1]=2*(v[1]-E[0])/x-1,o[0]=L[0]*g/m,o[1]=E[0]*g/x,z&&(S.color=C[0],S.tickScale=o,S.dataAxis=r,S.screenOffset=i,h.drawArrays(h.TRIANGLES,D,z)),i[0]=2*(v[2]+E[3])/m-1,i[1]=(v[3]+v[1])/x-1,o[0]=E[3]*g/m,o[1]=L[3]*g/x,N&&(S.color=C[3],S.tickScale=o,S.dataAxis=n,S.screenOffset=i,h.drawArrays(h.TRIANGLES,B,N)),i[0]=(v[2]+v[0])/m-1,i[1]=2*(v[3]+E[2])/x-1,o[0]=L[2]*g/m,o[1]=E[2]*g/x,z&&(S.color=C[2],S.tickScale=o,S.dataAxis=r,S.screenOffset=i,h.drawArrays(h.TRIANGLES,D,z))}}(),d.update=(h=[1,1,-1,-1,1,-1],p=[1,-1,1,1,-1,-1],function(t){for(var e=t.ticks,r=t.bounds,n=new Float32Array(18*(e[0].length+e[1].length)),i=(this.plot.zeroLineEnable,0),a=[[],[]],o=0;o<2;++o)for(var s=a[o],l=e[o],u=r[o],c=r[o+2],f=0;f<l.length;++f){var d=(l[f].x-u)/(c-u);s.push(d);for(var v=0;v<6;++v)n[i++]=d,n[i++]=h[v],n[i++]=p[v]}this.ticks=a,this.vbo.update(n)}),d.dispose=function(){this.vbo.dispose(),this.shader.dispose(),this.tickShader.dispose()}},1154:function(t,e,r){"use strict";t.exports=function(t){var e=t.gl;return new o(t,n(e,[-1,-1,-1,1,1,-1,1,1]),i(e,a.lineVert,a.lineFrag))};var n=r(5827),i=r(5158),a=r(2709);function o(t,e,r){this.plot=t,this.vbo=e,this.shader=r}var s,l,u=o.prototype;u.bind=function(){var t=this.shader;this.vbo.bind(),this.shader.bind(),t.attributes.coord.pointer(),t.uniforms.screenBox=this.plot.screenBox},u.drawLine=(s=[0,0],l=[0,0],function(t,e,r,n,i,a){var o=this.plot,u=this.shader,c=o.gl;s[0]=t,s[1]=e,l[0]=r,l[1]=n,u.uniforms.start=s,u.uniforms.end=l,u.uniforms.width=i*o.pixelRatio,u.uniforms.color=a,c.drawArrays(c.TRIANGLE_STRIP,0,4)}),u.dispose=function(){this.vbo.dispose(),this.shader.dispose()}},2709:function(t,e,r){"use strict";var n=r(6832),i=n(["precision lowp float;\n#define GLSLIFY 1\nuniform vec4 color;\nvoid main() {\n gl_FragColor = vec4(color.xyz * color.w, color.w);\n}\n"]);t.exports={lineVert:n(["precision mediump float;\n#define GLSLIFY 1\n\nattribute vec2 coord;\n\nuniform vec4 screenBox;\nuniform vec2 start, end;\nuniform float width;\n\nvec2 perp(vec2 v) {\n return vec2(v.y, -v.x);\n}\n\nvec2 screen(vec2 v) {\n return 2.0 * (v - screenBox.xy) / (screenBox.zw - screenBox.xy) - 1.0;\n}\n\nvoid main() {\n vec2 delta = normalize(perp(start - end));\n vec2 offset = mix(start, end, 0.5 * (coord.y+1.0));\n gl_Position = vec4(screen(offset + 0.5 * width * delta * coord.x), 0, 1);\n}\n"]),lineFrag:i,textVert:n(["#define GLSLIFY 1\nattribute vec3 textCoordinate;\n\nuniform vec2 dataScale, dataShift, dataAxis, screenOffset, textScale;\nuniform float angle;\n\nvoid main() {\n float dataOffset = textCoordinate.z;\n vec2 glyphOffset = textCoordinate.xy;\n mat2 glyphMatrix = mat2(cos(angle), sin(angle), -sin(angle), cos(angle));\n vec2 screenCoordinate = dataAxis * (dataScale * dataOffset + dataShift) +\n glyphMatrix * glyphOffset * textScale + screenOffset;\n gl_Position = vec4(screenCoordinate, 0, 1);\n}\n"]),textFrag:i,gridVert:n(["precision mediump float;\n#define GLSLIFY 1\n\nattribute vec3 dataCoord;\n\nuniform vec2 dataAxis, dataShift, dataScale;\nuniform float lineWidth;\n\nvoid main() {\n vec2 pos = dataAxis * (dataScale * dataCoord.x + dataShift);\n pos += 10.0 * dataCoord.y * vec2(dataAxis.y, -dataAxis.x) + dataCoord.z * lineWidth;\n gl_Position = vec4(pos, 0, 1);\n}\n"]),gridFrag:i,boxVert:n(["precision mediump float;\n#define GLSLIFY 1\n\nattribute vec2 coord;\n\nuniform vec4 screenBox;\nuniform vec2 lo, hi;\n\nvec2 screen(vec2 v) {\n return 2.0 * (v - screenBox.xy) / (screenBox.zw - screenBox.xy) - 1.0;\n}\n\nvoid main() {\n gl_Position = vec4(screen(mix(lo, hi, coord)), 0, 1);\n}\n"]),tickVert:n(["precision mediump float;\n#define GLSLIFY 1\n\nattribute vec3 dataCoord;\n\nuniform vec2 dataAxis, dataShift, dataScale, screenOffset, tickScale;\n\nvoid main() {\n vec2 pos = dataAxis * (dataScale * dataCoord.x + dataShift);\n gl_Position = vec4(pos + tickScale*dataCoord.yz + screenOffset, 0, 1);\n}\n"])}},5613:function(t,e,r){"use strict";t.exports=function(t){var e=t.gl;return new l(t,n(e),i(e,s.textVert,s.textFrag))};var n=r(5827),i=r(5158),a=r(6946),o=r(5070),s=r(2709);function l(t,e,r){this.plot=t,this.vbo=e,this.shader=r,this.tickOffset=[[],[]],this.tickX=[[],[]],this.labelOffset=[0,0],this.labelCount=[0,0]}var u,c,f,h,p,d,v=l.prototype;v.drawTicks=(u=[0,0],c=[0,0],f=[0,0],function(t){var e=this.plot,r=this.shader,n=this.tickX[t],i=this.tickOffset[t],a=e.gl,s=e.viewBox,l=e.dataBox,h=e.screenBox,p=e.pixelRatio,d=e.tickEnable,v=e.tickPad,g=e.tickColor,y=e.tickAngle,m=e.labelEnable,x=e.labelPad,b=e.labelColor,_=e.labelAngle,w=this.labelOffset[t],T=this.labelCount[t],k=o.lt(n,l[t]),A=o.le(n,l[t+2]);u[0]=u[1]=0,u[t]=1,c[t]=(s[2+t]+s[t])/(h[2+t]-h[t])-1;var M=2/h[2+(1^t)]-h[1^t];c[1^t]=M*s[1^t]-1,d[t]&&(c[1^t]-=M*p*v[t],k<A&&i[A]>i[k]&&(r.uniforms.dataAxis=u,r.uniforms.screenOffset=c,r.uniforms.color=g[t],r.uniforms.angle=y[t],a.drawArrays(a.TRIANGLES,i[k],i[A]-i[k]))),m[t]&&T&&(c[1^t]-=M*p*x[t],r.uniforms.dataAxis=f,r.uniforms.screenOffset=c,r.uniforms.color=b[t],r.uniforms.angle=_[t],a.drawArrays(a.TRIANGLES,w,T)),c[1^t]=M*s[2+(1^t)]-1,d[t+2]&&(c[1^t]+=M*p*v[t+2],k<A&&i[A]>i[k]&&(r.uniforms.dataAxis=u,r.uniforms.screenOffset=c,r.uniforms.color=g[t+2],r.uniforms.angle=y[t+2],a.drawArrays(a.TRIANGLES,i[k],i[A]-i[k]))),m[t+2]&&T&&(c[1^t]+=M*p*x[t+2],r.uniforms.dataAxis=f,r.uniforms.screenOffset=c,r.uniforms.color=b[t+2],r.uniforms.angle=_[t+2],a.drawArrays(a.TRIANGLES,w,T))}),v.drawTitle=function(){var t=[0,0],e=[0,0];return function(){var r=this.plot,n=this.shader,i=r.gl,a=r.screenBox,o=r.titleCenter,s=r.titleAngle,l=r.titleColor,u=r.pixelRatio;if(this.titleCount){for(var c=0;c<2;++c)e[c]=2*(o[c]*u-a[c])/(a[2+c]-a[c])-1;n.bind(),n.uniforms.dataAxis=t,n.uniforms.screenOffset=e,n.uniforms.angle=s,n.uniforms.color=l,i.drawArrays(i.TRIANGLES,this.titleOffset,this.titleCount)}}}(),v.bind=(h=[0,0],p=[0,0],d=[0,0],function(){var t=this.plot,e=this.shader,r=t._tickBounds,n=t.dataBox,i=t.screenBox,a=t.viewBox;e.bind();for(var o=0;o<2;++o){var s=r[o],l=r[o+2]-s,u=.5*(n[o+2]+n[o]),c=n[o+2]-n[o],f=a[o],v=a[o+2]-f,g=i[o],y=i[o+2]-g;p[o]=2*l/c*v/y,h[o]=2*(s-u)/c*v/y}d[1]=2*t.pixelRatio/(i[3]-i[1]),d[0]=d[1]*(i[3]-i[1])/(i[2]-i[0]),e.uniforms.dataScale=p,e.uniforms.dataShift=h,e.uniforms.textScale=d,this.vbo.bind(),e.attributes.textCoordinate.pointer()}),v.update=function(t){var e,r,n,i,o,s=[],l=t.ticks,u=t.bounds;for(o=0;o<2;++o){var c=[Math.floor(s.length/3)],f=[-1/0],h=l[o];for(e=0;e<h.length;++e){var p=h[e],d=p.x,v=p.text,g=p.font||"sans-serif";i=p.fontSize||12;for(var y=1/(u[o+2]-u[o]),m=u[o],x=v.split("\n"),b=0;b<x.length;b++)for(n=a(g,x[b]).data,r=0;r<n.length;r+=2)s.push(n[r]*i,-n[r+1]*i-b*i*1.2,(d-m)*y);c.push(Math.floor(s.length/3)),f.push(d)}this.tickOffset[o]=c,this.tickX[o]=f}for(o=0;o<2;++o){for(this.labelOffset[o]=Math.floor(s.length/3),n=a(t.labelFont[o],t.labels[o],{textAlign:"center"}).data,i=t.labelSize[o],e=0;e<n.length;e+=2)s.push(n[e]*i,-n[e+1]*i,0);this.labelCount[o]=Math.floor(s.length/3)-this.labelOffset[o]}for(this.titleOffset=Math.floor(s.length/3),n=a(t.titleFont,t.title).data,i=t.titleSize,e=0;e<n.length;e+=2)s.push(n[e]*i,-n[e+1]*i,0);this.titleCount=Math.floor(s.length/3)-this.titleOffset,this.vbo.update(s)},v.dispose=function(){this.vbo.dispose(),this.shader.dispose()}},2117:function(t,e,r){"use strict";t.exports=function(t){var e=t.gl,r=new l(e,n(e,[e.drawingBufferWidth,e.drawingBufferHeight]));return r.grid=i(r),r.text=a(r),r.line=o(r),r.box=s(r),r.update(t),r};var n=r(2611),i=r(3016),a=r(5613),o=r(1154),s=r(4554);function l(t,e){this.gl=t,this.pickBuffer=e,this.screenBox=[0,0,t.drawingBufferWidth,t.drawingBufferHeight],this.viewBox=[0,0,0,0],this.dataBox=[-10,-10,10,10],this.gridLineEnable=[!0,!0],this.gridLineWidth=[1,1],this.gridLineColor=[[0,0,0,1],[0,0,0,1]],this.pixelRatio=1,this.tickMarkLength=[0,0,0,0],this.tickMarkWidth=[0,0,0,0],this.tickMarkColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.tickPad=[15,15,15,15],this.tickAngle=[0,0,0,0],this.tickEnable=[!0,!0,!0,!0],this.tickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.labelPad=[15,15,15,15],this.labelAngle=[0,Math.PI/2,0,3*Math.PI/2],this.labelEnable=[!0,!0,!0,!0],this.labelColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.titleCenter=[0,0],this.titleEnable=!0,this.titleAngle=0,this.titleColor=[0,0,0,1],this.borderColor=[0,0,0,0],this.backgroundColor=[0,0,0,0],this.zeroLineEnable=[!0,!0],this.zeroLineWidth=[4,4],this.zeroLineColor=[[0,0,0,1],[0,0,0,1]],this.borderLineEnable=[!0,!0,!0,!0],this.borderLineWidth=[2,2,2,2],this.borderLineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.grid=null,this.text=null,this.line=null,this.box=null,this.objects=[],this.overlays=[],this._tickBounds=[1/0,1/0,-1/0,-1/0],this.static=!1,this.dirty=!1,this.pickDirty=!1,this.pickDelay=120,this.pickRadius=10,this._pickTimeout=null,this._drawPick=this.drawPick.bind(this),this._depthCounter=0}var u=l.prototype;function c(t){for(var e=t.slice(),r=0;r<e.length;++r)e[r]=e[r].slice();return e}function f(t,e){return t.x-e.x}u.setDirty=function(){this.dirty=this.pickDirty=!0},u.setOverlayDirty=function(){this.dirty=!0},u.nextDepthValue=function(){return this._depthCounter++/65536},u.draw=function(){var t=this.gl,e=this.screenBox,r=this.viewBox,n=this.dataBox,i=this.pixelRatio,a=this.grid,o=this.line,s=this.text,l=this.objects;if(this._depthCounter=0,this.pickDirty&&(this._pickTimeout&&clearTimeout(this._pickTimeout),this.pickDirty=!1,this._pickTimeout=setTimeout(this._drawPick,this.pickDelay)),this.dirty){if(this.dirty=!1,t.bindFramebuffer(t.FRAMEBUFFER,null),t.enable(t.SCISSOR_TEST),t.disable(t.DEPTH_TEST),t.depthFunc(t.LESS),t.depthMask(!1),t.enable(t.BLEND),t.blendEquation(t.FUNC_ADD,t.FUNC_ADD),t.blendFunc(t.ONE,t.ONE_MINUS_SRC_ALPHA),this.borderColor){t.scissor(e[0],e[1],e[2]-e[0],e[3]-e[1]);var u=this.borderColor;t.clearColor(u[0]*u[3],u[1]*u[3],u[2]*u[3],u[3]),t.clear(t.COLOR_BUFFER_BIT|t.DEPTH_BUFFER_BIT)}t.scissor(r[0],r[1],r[2]-r[0],r[3]-r[1]),t.viewport(r[0],r[1],r[2]-r[0],r[3]-r[1]);var c=this.backgroundColor;t.clearColor(c[0]*c[3],c[1]*c[3],c[2]*c[3],c[3]),t.clear(t.COLOR_BUFFER_BIT),a.draw();var f=this.zeroLineEnable,h=this.zeroLineColor,p=this.zeroLineWidth;if(f[0]||f[1]){o.bind();for(var d=0;d<2;++d)if(f[d]&&n[d]<=0&&n[d+2]>=0){var v=e[d]-n[d]*(e[d+2]-e[d])/(n[d+2]-n[d]);0===d?o.drawLine(v,e[1],v,e[3],p[d],h[d]):o.drawLine(e[0],v,e[2],v,p[d],h[d])}}for(d=0;d<l.length;++d)l[d].draw();t.viewport(e[0],e[1],e[2]-e[0],e[3]-e[1]),t.scissor(e[0],e[1],e[2]-e[0],e[3]-e[1]),this.grid.drawTickMarks(),o.bind();var g=this.borderLineEnable,y=this.borderLineWidth,m=this.borderLineColor;for(g[1]&&o.drawLine(r[0],r[1]-.5*y[1]*i,r[0],r[3]+.5*y[3]*i,y[1],m[1]),g[0]&&o.drawLine(r[0]-.5*y[0]*i,r[1],r[2]+.5*y[2]*i,r[1],y[0],m[0]),g[3]&&o.drawLine(r[2],r[1]-.5*y[1]*i,r[2],r[3]+.5*y[3]*i,y[3],m[3]),g[2]&&o.drawLine(r[0]-.5*y[0]*i,r[3],r[2]+.5*y[2]*i,r[3],y[2],m[2]),s.bind(),d=0;d<2;++d)s.drawTicks(d);this.titleEnable&&s.drawTitle();var x=this.overlays;for(d=0;d<x.length;++d)x[d].draw();t.disable(t.SCISSOR_TEST),t.disable(t.BLEND),t.depthMask(!0)}},u.drawPick=function(){if(!this.static){var t=this.pickBuffer;this.gl,this._pickTimeout=null,t.begin();for(var e=1,r=this.objects,n=0;n<r.length;++n)e=r[n].drawPick(e);t.end()}},u.pick=function(t,e){if(!this.static){var r=this.pixelRatio,n=this.pickPixelRatio,i=this.viewBox,a=0|Math.round((t-i[0]/r)*n),o=0|Math.round((e-i[1]/r)*n),s=this.pickBuffer.query(a,o,this.pickRadius);if(!s)return null;for(var l=s.id+(s.value[0]<<8)+(s.value[1]<<16)+(s.value[2]<<24),u=this.objects,c=0;c<u.length;++c){var f=u[c].pick(a,o,l);if(f)return f}return null}},u.setScreenBox=function(t){var e=this.screenBox,r=this.pixelRatio;e[0]=0|Math.round(t[0]*r),e[1]=0|Math.round(t[1]*r),e[2]=0|Math.round(t[2]*r),e[3]=0|Math.round(t[3]*r),this.setDirty()},u.setDataBox=function(t){var e=this.dataBox;(e[0]!==t[0]||e[1]!==t[1]||e[2]!==t[2]||e[3]!==t[3])&&(e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],this.setDirty())},u.setViewBox=function(t){var e=this.pixelRatio,r=this.viewBox;r[0]=0|Math.round(t[0]*e),r[1]=0|Math.round(t[1]*e),r[2]=0|Math.round(t[2]*e),r[3]=0|Math.round(t[3]*e);var n=this.pickPixelRatio;this.pickBuffer.shape=[0|Math.round((t[2]-t[0])*n),0|Math.round((t[3]-t[1])*n)],this.setDirty()},u.update=function(t){t=t||{};var e=this.gl;this.pixelRatio=t.pixelRatio||1;var r=this.pixelRatio;this.pickPixelRatio=Math.max(r,1),this.setScreenBox(t.screenBox||[0,0,e.drawingBufferWidth/r,e.drawingBufferHeight/r]),this.screenBox,this.setViewBox(t.viewBox||[.125*(this.screenBox[2]-this.screenBox[0])/r,.125*(this.screenBox[3]-this.screenBox[1])/r,.875*(this.screenBox[2]-this.screenBox[0])/r,.875*(this.screenBox[3]-this.screenBox[1])/r]);var n=this.viewBox,i=(n[2]-n[0])/(n[3]-n[1]);this.setDataBox(t.dataBox||[-10,-10/i,10,10/i]),this.borderColor=!1!==t.borderColor&&(t.borderColor||[0,0,0,0]).slice(),this.backgroundColor=(t.backgroundColor||[0,0,0,0]).slice(),this.gridLineEnable=(t.gridLineEnable||[!0,!0]).slice(),this.gridLineWidth=(t.gridLineWidth||[1,1]).slice(),this.gridLineColor=c(t.gridLineColor||[[.5,.5,.5,1],[.5,.5,.5,1]]),this.zeroLineEnable=(t.zeroLineEnable||[!0,!0]).slice(),this.zeroLineWidth=(t.zeroLineWidth||[4,4]).slice(),this.zeroLineColor=c(t.zeroLineColor||[[0,0,0,1],[0,0,0,1]]),this.tickMarkLength=(t.tickMarkLength||[0,0,0,0]).slice(),this.tickMarkWidth=(t.tickMarkWidth||[0,0,0,0]).slice(),this.tickMarkColor=c(t.tickMarkColor||[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]]),this.titleCenter=(t.titleCenter||[.5*(n[0]+n[2])/r,(n[3]+120)/r]).slice(),this.titleEnable=!("titleEnable"in t)||!!t.titleEnable,this.titleAngle=t.titleAngle||0,this.titleColor=(t.titleColor||[0,0,0,1]).slice(),this.labelPad=(t.labelPad||[15,15,15,15]).slice(),this.labelAngle=(t.labelAngle||[0,Math.PI/2,0,3*Math.PI/2]).slice(),this.labelEnable=(t.labelEnable||[!0,!0,!0,!0]).slice(),this.labelColor=c(t.labelColor||[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]]),this.tickPad=(t.tickPad||[15,15,15,15]).slice(),this.tickAngle=(t.tickAngle||[0,0,0,0]).slice(),this.tickEnable=(t.tickEnable||[!0,!0,!0,!0]).slice(),this.tickColor=c(t.tickColor||[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]]),this.borderLineEnable=(t.borderLineEnable||[!0,!0,!0,!0]).slice(),this.borderLineWidth=(t.borderLineWidth||[2,2,2,2]).slice(),this.borderLineColor=c(t.borderLineColor||[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]]);var a=t.ticks||[[],[]],o=this._tickBounds;o[0]=o[1]=1/0,o[2]=o[3]=-1/0;for(var s=0;s<2;++s){var l=a[s].slice(0);0!==l.length&&(l.sort(f),o[s]=Math.min(o[s],l[0].x),o[s+2]=Math.max(o[s+2],l[l.length-1].x))}this.grid.update({bounds:o,ticks:a}),this.text.update({bounds:o,ticks:a,labels:t.labels||["x","y"],labelSize:t.labelSize||[12,12],labelFont:t.labelFont||["sans-serif","sans-serif"],title:t.title||"",titleSize:t.titleSize||18,titleFont:t.titleFont||"sans-serif"}),this.static=!!t.static,this.setDirty()},u.dispose=function(){this.box.dispose(),this.grid.dispose(),this.text.dispose(),this.line.dispose();for(var t=this.objects.length-1;t>=0;--t)this.objects[t].dispose();for(this.objects.length=0,t=this.overlays.length-1;t>=0;--t)this.overlays[t].dispose();this.overlays.length=0,this.gl=null},u.addObject=function(t){this.objects.indexOf(t)<0&&(this.objects.push(t),this.setDirty())},u.removeObject=function(t){for(var e=this.objects,r=0;r<e.length;++r)if(e[r]===t){e.splice(r,1),this.setDirty();break}},u.addOverlay=function(t){this.overlays.indexOf(t)<0&&(this.overlays.push(t),this.setOverlayDirty())},u.removeOverlay=function(t){for(var e=this.overlays,r=0;r<e.length;++r)if(e[r]===t){e.splice(r,1),this.setOverlayDirty();break}}},4296:function(t,e,r){"use strict";t.exports=function(t,e){t=t||document.body;var r=[.01,1/0];"distanceLimits"in(e=e||{})&&(r[0]=e.distanceLimits[0],r[1]=e.distanceLimits[1]),"zoomMin"in e&&(r[0]=e.zoomMin),"zoomMax"in e&&(r[1]=e.zoomMax);var u=i({center:e.center||[0,0,0],up:e.up||[0,1,0],eye:e.eye||[0,0,10],mode:e.mode||"orbit",distanceLimits:r}),c=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],f=0,h=t.clientWidth,p=t.clientHeight,d={keyBindingMode:"rotate",enableWheel:!0,view:u,element:t,delay:e.delay||16,rotateSpeed:e.rotateSpeed||1,zoomSpeed:e.zoomSpeed||1,translateSpeed:e.translateSpeed||1,flipX:!!e.flipX,flipY:!!e.flipY,modes:u.modes,_ortho:e._ortho||e.projection&&"orthographic"===e.projection.type||!1,tick:function(){var e=n(),r=this.delay,i=e-2*r;u.idle(e-r),u.recalcMatrix(i),u.flush(e-(100+2*r));for(var a=!0,o=u.computedMatrix,s=0;s<16;++s)a=a&&c[s]===o[s],c[s]=o[s];var l=t.clientWidth===h&&t.clientHeight===p;return h=t.clientWidth,p=t.clientHeight,a?!l:(f=Math.exp(u.computedRadius[0]),!0)},lookAt:function(t,e,r){u.lookAt(u.lastT(),t,e,r)},rotate:function(t,e,r){u.rotate(u.lastT(),t,e,r)},pan:function(t,e,r){u.pan(u.lastT(),t,e,r)},translate:function(t,e,r){u.translate(u.lastT(),t,e,r)}};return Object.defineProperties(d,{matrix:{get:function(){return u.computedMatrix},set:function(t){return u.setMatrix(u.lastT(),t),u.computedMatrix},enumerable:!0},mode:{get:function(){return u.getMode()},set:function(t){var e=u.computedUp.slice(),r=u.computedEye.slice(),i=u.computedCenter.slice();if(u.setMode(t),"turntable"===t){var a=n();u._active.lookAt(a,r,i,e),u._active.lookAt(a+500,r,i,[0,0,1]),u._active.flush(a)}return u.getMode()},enumerable:!0},center:{get:function(){return u.computedCenter},set:function(t){return u.lookAt(u.lastT(),null,t),u.computedCenter},enumerable:!0},eye:{get:function(){return u.computedEye},set:function(t){return u.lookAt(u.lastT(),t),u.computedEye},enumerable:!0},up:{get:function(){return u.computedUp},set:function(t){return u.lookAt(u.lastT(),null,null,t),u.computedUp},enumerable:!0},distance:{get:function(){return f},set:function(t){return u.setDistance(u.lastT(),t),t},enumerable:!0},distanceLimits:{get:function(){return u.getDistanceLimits(r)},set:function(t){return u.setDistanceLimits(t),t},enumerable:!0}}),t.addEventListener("contextmenu",(function(t){return t.preventDefault(),!1})),d._lastX=-1,d._lastY=-1,d._lastMods={shift:!1,control:!1,alt:!1,meta:!1},d.enableMouseListeners=function(){function e(e,r,i,a){var o=d.keyBindingMode;if(!1!==o){var s="rotate"===o,l="pan"===o,c="zoom"===o,h=!!a.control,p=!!a.alt,v=!!a.shift,g=!!(1&e),y=!!(2&e),m=!!(4&e),x=1/t.clientHeight,b=x*(r-d._lastX),_=x*(i-d._lastY),w=d.flipX?1:-1,T=d.flipY?1:-1,k=Math.PI*d.rotateSpeed,A=n();if(-1!==d._lastX&&-1!==d._lastY&&((s&&g&&!h&&!p&&!v||g&&!h&&!p&&v)&&u.rotate(A,w*k*b,-T*k*_,0),(l&&g&&!h&&!p&&!v||y||g&&h&&!p&&!v)&&u.pan(A,-d.translateSpeed*b*f,d.translateSpeed*_*f,0),c&&g&&!h&&!p&&!v||m||g&&!h&&p&&!v)){var M=-d.zoomSpeed*_/window.innerHeight*(A-u.lastT())*100;u.pan(A,0,0,f*(Math.exp(M)-1))}return d._lastX=r,d._lastY=i,d._lastMods=a,!0}}d.mouseListener=a(t,e),t.addEventListener("touchstart",(function(r){var n=s(r.changedTouches[0],t);e(0,n[0],n[1],d._lastMods),e(1,n[0],n[1],d._lastMods)}),!!l&&{passive:!0}),t.addEventListener("touchmove",(function(r){var n=s(r.changedTouches[0],t);e(1,n[0],n[1],d._lastMods),r.preventDefault()}),!!l&&{passive:!1}),t.addEventListener("touchend",(function(t){e(0,d._lastX,d._lastY,d._lastMods)}),!!l&&{passive:!0}),d.wheelListener=o(t,(function(t,e){if(!1!==d.keyBindingMode&&d.enableWheel){var r=d.flipX?1:-1,i=d.flipY?1:-1,a=n();if(Math.abs(t)>Math.abs(e))u.rotate(a,0,0,-t*r*Math.PI*d.rotateSpeed/window.innerWidth);else if(!d._ortho){var o=-d.zoomSpeed*i*e/window.innerHeight*(a-u.lastT())/20;u.pan(a,0,0,f*(Math.exp(o)-1))}}}),!0)},d.enableMouseListeners(),d};var n=r(8161),i=r(1152),a=r(6145),o=r(6475),s=r(2565),l=r(5233)},8245:function(t,e,r){var n=r(6832),i=r(5158),a=n(["precision mediump float;\n#define GLSLIFY 1\nattribute vec2 position;\nvarying vec2 uv;\nvoid main() {\n uv = position;\n gl_Position = vec4(position, 0, 1);\n}"]),o=n(["precision mediump float;\n#define GLSLIFY 1\n\nuniform sampler2D accumBuffer;\nvarying vec2 uv;\n\nvoid main() {\n vec4 accum = texture2D(accumBuffer, 0.5 * (uv + 1.0));\n gl_FragColor = min(vec4(1,1,1,1), accum);\n}"]);t.exports=function(t){return i(t,a,o,null,[{name:"position",type:"vec2"}])}},1059:function(t,e,r){"use strict";var n=r(4296),i=r(7453),a=r(2771),o=r(6496),s=r(2611),l=r(4234),u=r(8126),c=r(6145),f=r(1120),h=r(5268),p=r(8245),d=r(2861)({tablet:!0,featureDetect:!0});function v(){this.mouse=[-1,-1],this.screen=null,this.distance=1/0,this.index=null,this.dataCoordinate=null,this.dataPosition=null,this.object=null,this.data=null}function g(t){var e=Math.round(Math.log(Math.abs(t))/Math.log(10));if(e<0){var r=Math.round(Math.pow(10,-e));return Math.ceil(t*r)/r}return e>0?(r=Math.round(Math.pow(10,e)),Math.ceil(t/r)*r):Math.ceil(t)}function y(t){return"boolean"!=typeof t||t}t.exports={createScene:function(t){(t=t||{}).camera=t.camera||{};var e=t.canvas;e||(e=document.createElement("canvas"),t.container?t.container.appendChild(e):document.body.appendChild(e));var r=t.gl;if(r||(t.glOptions&&(d=!!t.glOptions.preserveDrawingBuffer),r=function(t,e){var r=null;try{(r=t.getContext("webgl",e))||(r=t.getContext("experimental-webgl",e))}catch(t){return null}return r}(e,t.glOptions||{premultipliedAlpha:!0,antialias:!0,preserveDrawingBuffer:d})),!r)throw new Error("webgl not supported");var m=t.bounds||[[-10,-10,-10],[10,10,10]],x=new v,b=l(r,r.drawingBufferWidth,r.drawingBufferHeight,{preferFloat:!d}),_=p(r),w=t.cameraObject&&!0===t.cameraObject._ortho||t.camera.projection&&"orthographic"===t.camera.projection.type||!1,T={eye:t.camera.eye||[2,0,0],center:t.camera.center||[0,0,0],up:t.camera.up||[0,1,0],zoomMin:t.camera.zoomMax||.1,zoomMax:t.camera.zoomMin||100,mode:t.camera.mode||"turntable",_ortho:w},k=t.axes||{},A=i(r,k);A.enable=!k.disable;var M=t.spikes||{},S=o(r,M),E=[],L=[],C=[],P=[],O=!0,I=!0,D={view:null,projection:new Array(16),model:new Array(16),_ortho:!1},z=(I=!0,[r.drawingBufferWidth,r.drawingBufferHeight]),R=t.cameraObject||n(e,T),F={gl:r,contextLost:!1,pixelRatio:t.pixelRatio||1,canvas:e,selection:x,camera:R,axes:A,axesPixels:null,spikes:S,bounds:m,objects:E,shape:z,aspect:t.aspectRatio||[1,1,1],pickRadius:t.pickRadius||10,zNear:t.zNear||.01,zFar:t.zFar||1e3,fovy:t.fovy||Math.PI/4,clearColor:t.clearColor||[0,0,0,0],autoResize:y(t.autoResize),autoBounds:y(t.autoBounds),autoScale:!!t.autoScale,autoCenter:y(t.autoCenter),clipToBounds:y(t.clipToBounds),snapToData:!!t.snapToData,onselect:t.onselect||null,onrender:t.onrender||null,onclick:t.onclick||null,cameraParams:D,oncontextloss:null,mouseListener:null,_stopped:!1,getAspectratio:function(){return{x:this.aspect[0],y:this.aspect[1],z:this.aspect[2]}},setAspectratio:function(t){this.aspect[0]=t.x,this.aspect[1]=t.y,this.aspect[2]=t.z,I=!0},setBounds:function(t,e){this.bounds[0][t]=e.min,this.bounds[1][t]=e.max},setClearColor:function(t){this.clearColor=t},clearRGBA:function(){this.gl.clearColor(this.clearColor[0],this.clearColor[1],this.clearColor[2],this.clearColor[3]),this.gl.clear(this.gl.COLOR_BUFFER_BIT|this.gl.DEPTH_BUFFER_BIT)}},B=[r.drawingBufferWidth/F.pixelRatio|0,r.drawingBufferHeight/F.pixelRatio|0];function N(){if(!F._stopped&&F.autoResize){var t=e.parentNode,r=1,n=1;t&&t!==document.body?(r=t.clientWidth,n=t.clientHeight):(r=window.innerWidth,n=window.innerHeight);var i=0|Math.ceil(r*F.pixelRatio),a=0|Math.ceil(n*F.pixelRatio);if(i!==e.width||a!==e.height){e.width=i,e.height=a;var o=e.style;o.position=o.position||"absolute",o.left="0px",o.top="0px",o.width=r+"px",o.height=n+"px",O=!0}}}function j(){for(var t=E.length,e=P.length,n=0;n<e;++n)C[n]=0;t:for(n=0;n<t;++n){var i=E[n],a=i.pickSlots;if(a){for(var o=0;o<e;++o)if(C[o]+a<255){L[n]=o,i.setPickBase(C[o]+1),C[o]+=a;continue t}var l=s(r,z);L[n]=e,P.push(l),C.push(a),i.setPickBase(1),e+=1}else L[n]=-1}for(;e>0&&0===C[e-1];)C.pop(),P.pop().dispose()}function U(){if(F.contextLost)return!0;r.isContextLost()&&(F.contextLost=!0,F.mouseListener.enabled=!1,F.selection.object=null,F.oncontextloss&&F.oncontextloss())}F.autoResize&&N(),window.addEventListener("resize",N),F.update=function(t){F._stopped||(t=t||{},O=!0,I=!0)},F.add=function(t){F._stopped||(t.axes=A,E.push(t),L.push(-1),O=!0,I=!0,j())},F.remove=function(t){if(!F._stopped){var e=E.indexOf(t);e<0||(E.splice(e,1),L.pop(),O=!0,I=!0,j())}},F.dispose=function(){if(!F._stopped&&(F._stopped=!0,window.removeEventListener("resize",N),e.removeEventListener("webglcontextlost",U),F.mouseListener.enabled=!1,!F.contextLost)){A.dispose(),S.dispose();for(var t=0;t<E.length;++t)E[t].dispose();for(b.dispose(),t=0;t<P.length;++t)P[t].dispose();_.dispose(),r=null,A=null,S=null,E=[]}},F._mouseRotating=!1,F._prevButtons=0,F.enableMouseListeners=function(){F.mouseListener=c(e,(function(t,e,r){if(!F._stopped){var n=P.length,i=E.length,a=x.object;x.distance=1/0,x.mouse[0]=e,x.mouse[1]=r,x.object=null,x.screen=null,x.dataCoordinate=x.dataPosition=null;var o=!1;if(t&&F._prevButtons)F._mouseRotating=!0;else{F._mouseRotating&&(I=!0),F._mouseRotating=!1;for(var s=0;s<n;++s){var l=P[s].query(e,B[1]-r-1,F.pickRadius);if(l){if(l.distance>x.distance)continue;for(var u=0;u<i;++u){var c=E[u];if(L[u]===s){var f=c.pick(l);f&&(x.buttons=t,x.screen=l.coord,x.distance=l.distance,x.object=c,x.index=f.distance,x.dataPosition=f.position,x.dataCoordinate=f.dataCoordinate,x.data=f,o=!0)}}}}}a&&a!==x.object&&(a.highlight&&a.highlight(null),O=!0),x.object&&(x.object.highlight&&x.object.highlight(x.data),O=!0),(o=o||x.object!==a)&&F.onselect&&F.onselect(x),1&t&&!(1&F._prevButtons)&&F.onclick&&F.onclick(x),F._prevButtons=t}}))},e.addEventListener("webglcontextlost",U);var V=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],H=[V[0].slice(),V[1].slice()];function q(){if(!U()){N();var t=F.camera.tick();D.view=F.camera.matrix,O=O||t,I=I||t,A.pixelRatio=F.pixelRatio,S.pixelRatio=F.pixelRatio;var e=E.length,n=V[0],i=V[1];n[0]=n[1]=n[2]=1/0,i[0]=i[1]=i[2]=-1/0;for(var o=0;o<e;++o){(C=E[o]).pixelRatio=F.pixelRatio,C.axes=F.axes,O=O||!!C.dirty,I=I||!!C.dirty;var s=C.bounds;if(s)for(var l=s[0],c=s[1],p=0;p<3;++p)n[p]=Math.min(n[p],l[p]),i[p]=Math.max(i[p],c[p])}var d=F.bounds;if(F.autoBounds)for(p=0;p<3;++p){if(i[p]<n[p])n[p]=-1,i[p]=1;else{n[p]===i[p]&&(n[p]-=1,i[p]+=1);var v=.05*(i[p]-n[p]);n[p]=n[p]-v,i[p]=i[p]+v}d[0][p]=n[p],d[1][p]=i[p]}var y=!1;for(p=0;p<3;++p)y=y||H[0][p]!==d[0][p]||H[1][p]!==d[1][p],H[0][p]=d[0][p],H[1][p]=d[1][p];if(I=I||y,O=O||y){if(y){var m=[0,0,0];for(o=0;o<3;++o)m[o]=g((d[1][o]-d[0][o])/10);A.autoTicks?A.update({bounds:d,tickSpacing:m}):A.update({bounds:d})}var T=r.drawingBufferWidth,k=r.drawingBufferHeight;for(z[0]=T,z[1]=k,B[0]=0|Math.max(T/F.pixelRatio,1),B[1]=0|Math.max(k/F.pixelRatio,1),function(t,e){var r=t.bounds,n=t.cameraParams,i=n.projection,a=n.model,o=t.gl.drawingBufferWidth,s=t.gl.drawingBufferHeight,l=t.zNear,u=t.zFar,c=t.fovy,p=o/s;e?(h(i,-p,p,-1,1,l,u),n._ortho=!0):(f(i,c,p,l,u),n._ortho=!1);for(var d=0;d<16;++d)a[d]=0;a[15]=1;var v=0;for(d=0;d<3;++d)v=Math.max(v,r[1][d]-r[0][d]);for(d=0;d<3;++d)t.autoScale?a[5*d]=t.aspect[d]/(r[1][d]-r[0][d]):a[5*d]=1/v,t.autoCenter&&(a[12+d]=.5*-a[5*d]*(r[0][d]+r[1][d]))}(F,w),o=0;o<e;++o)(C=E[o]).axesBounds=d,F.clipToBounds&&(C.clipBounds=d);x.object&&(F.snapToData?S.position=x.dataCoordinate:S.position=x.dataPosition,S.bounds=d),I&&(I=!1,function(){if(!U()){r.colorMask(!0,!0,!0,!0),r.depthMask(!0),r.disable(r.BLEND),r.enable(r.DEPTH_TEST),r.depthFunc(r.LEQUAL);for(var t=E.length,e=P.length,n=0;n<e;++n){var i=P[n];i.shape=B,i.begin();for(var a=0;a<t;++a)if(L[a]===n){var o=E[a];o.drawPick&&(o.pixelRatio=1,o.drawPick(D))}i.end()}}}()),F.axesPixels=a(F.axes,D,T,k),F.onrender&&F.onrender(),r.bindFramebuffer(r.FRAMEBUFFER,null),r.viewport(0,0,T,k),F.clearRGBA(),r.depthMask(!0),r.colorMask(!0,!0,!0,!0),r.enable(r.DEPTH_TEST),r.depthFunc(r.LEQUAL),r.disable(r.BLEND),r.disable(r.CULL_FACE);var M=!1;for(A.enable&&(M=M||A.isTransparent(),A.draw(D)),S.axes=A,x.object&&S.draw(D),r.disable(r.CULL_FACE),o=0;o<e;++o)(C=E[o]).axes=A,C.pixelRatio=F.pixelRatio,C.isOpaque&&C.isOpaque()&&C.draw(D),C.isTransparent&&C.isTransparent()&&(M=!0);if(M){for(b.shape=z,b.bind(),r.clear(r.DEPTH_BUFFER_BIT),r.colorMask(!1,!1,!1,!1),r.depthMask(!0),r.depthFunc(r.LESS),A.enable&&A.isTransparent()&&A.drawTransparent(D),o=0;o<e;++o)(C=E[o]).isOpaque&&C.isOpaque()&&C.draw(D);for(r.enable(r.BLEND),r.blendEquation(r.FUNC_ADD),r.blendFunc(r.ONE,r.ONE_MINUS_SRC_ALPHA),r.colorMask(!0,!0,!0,!0),r.depthMask(!1),r.clearColor(0,0,0,0),r.clear(r.COLOR_BUFFER_BIT),A.isTransparent()&&A.drawTransparent(D),o=0;o<e;++o){var C;(C=E[o]).isTransparent&&C.isTransparent()&&C.drawTransparent(D)}r.bindFramebuffer(r.FRAMEBUFFER,null),r.blendFunc(r.ONE,r.ONE_MINUS_SRC_ALPHA),r.disable(r.DEPTH_TEST),_.bind(),b.color[0].bind(0),_.uniforms.accumBuffer=0,u(r),r.disable(r.BLEND)}for(O=!1,o=0;o<e;++o)E[o].dirty=!1}}}return F.enableMouseListeners(),function t(){F._stopped||F.contextLost||(q(),requestAnimationFrame(t))}(),F.redraw=function(){F._stopped||(O=!0,q())},F},createCamera:n}},8023:function(t,e,r){var n=r(6832);e.pointVertex=n(["precision mediump float;\n#define GLSLIFY 1\n\nattribute vec2 position;\n\nuniform mat3 matrix;\nuniform float pointSize;\nuniform float pointCloud;\n\nhighp float rand(vec2 co) {\n highp float a = 12.9898;\n highp float b = 78.233;\n highp float c = 43758.5453;\n highp float d = dot(co.xy, vec2(a, b));\n highp float e = mod(d, 3.14);\n return fract(sin(e) * c);\n}\n\nvoid main() {\n vec3 hgPosition = matrix * vec3(position, 1);\n gl_Position = vec4(hgPosition.xy, 0, hgPosition.z);\n // if we don't jitter the point size a bit, overall point cloud\n // saturation 'jumps' on zooming, which is disturbing and confusing\n gl_PointSize = pointSize * ((19.5 + rand(position)) / 20.0);\n if(pointCloud != 0.0) { // pointCloud is truthy\n // get the same square surface as circle would be\n gl_PointSize *= 0.886;\n }\n}"]),e.pointFragment=n(["precision mediump float;\n#define GLSLIFY 1\n\nuniform vec4 color, borderColor;\nuniform float centerFraction;\nuniform float pointCloud;\n\nvoid main() {\n float radius;\n vec4 baseColor;\n if(pointCloud != 0.0) { // pointCloud is truthy\n if(centerFraction == 1.0) {\n gl_FragColor = color;\n } else {\n gl_FragColor = mix(borderColor, color, centerFraction);\n }\n } else {\n radius = length(2.0 * gl_PointCoord.xy - 1.0);\n if(radius > 1.0) {\n discard;\n }\n baseColor = mix(borderColor, color, step(radius, centerFraction));\n gl_FragColor = vec4(baseColor.rgb * baseColor.a, baseColor.a);\n }\n}\n"]),e.pickVertex=n(["precision mediump float;\n#define GLSLIFY 1\n\nattribute vec2 position;\nattribute vec4 pickId;\n\nuniform mat3 matrix;\nuniform float pointSize;\nuniform vec4 pickOffset;\n\nvarying vec4 fragId;\n\nvoid main() {\n vec3 hgPosition = matrix * vec3(position, 1);\n gl_Position = vec4(hgPosition.xy, 0, hgPosition.z);\n gl_PointSize = pointSize;\n\n vec4 id = pickId + pickOffset;\n id.y += floor(id.x / 256.0);\n id.x -= floor(id.x / 256.0) * 256.0;\n\n id.z += floor(id.y / 256.0);\n id.y -= floor(id.y / 256.0) * 256.0;\n\n id.w += floor(id.z / 256.0);\n id.z -= floor(id.z / 256.0) * 256.0;\n\n fragId = id;\n}\n"]),e.pickFragment=n(["precision mediump float;\n#define GLSLIFY 1\n\nvarying vec4 fragId;\n\nvoid main() {\n float radius = length(2.0 * gl_PointCoord.xy - 1.0);\n if(radius > 1.0) {\n discard;\n }\n gl_FragColor = fragId / 255.0;\n}\n"])},8271:function(t,e,r){"use strict";var n=r(5158),i=r(5827),a=r(5306),o=r(8023);function s(t,e,r,n,i){this.plot=t,this.offsetBuffer=e,this.pickBuffer=r,this.shader=n,this.pickShader=i,this.sizeMin=.5,this.sizeMinCap=2,this.sizeMax=20,this.areaRatio=1,this.pointCount=0,this.color=[1,0,0,1],this.borderColor=[0,0,0,1],this.blend=!1,this.pickOffset=0,this.points=null}t.exports=function(t,e){var r=t.gl,a=new s(t,i(r),i(r),n(r,o.pointVertex,o.pointFragment),n(r,o.pickVertex,o.pickFragment));return a.update(e),t.addObject(a),a};var l,u,c=s.prototype;c.dispose=function(){this.shader.dispose(),this.pickShader.dispose(),this.offsetBuffer.dispose(),this.pickBuffer.dispose(),this.plot.removeObject(this)},c.update=function(t){var e;function r(e,r){return e in t?t[e]:r}t=t||{},this.sizeMin=r("sizeMin",.5),this.sizeMax=r("sizeMax",20),this.color=r("color",[1,0,0,1]).slice(),this.areaRatio=r("areaRatio",1),this.borderColor=r("borderColor",[0,0,0,1]).slice(),this.blend=r("blend",!1);var n=t.positions.length>>>1,i=t.positions instanceof Float32Array,o=t.idToIndex instanceof Int32Array&&t.idToIndex.length>=n,s=t.positions,l=i?s:a.mallocFloat32(s.length),u=o?t.idToIndex:a.mallocInt32(n);if(i||l.set(s),!o)for(l.set(s),e=0;e<n;e++)u[e]=e;this.points=s,this.offsetBuffer.update(l),this.pickBuffer.update(u),i||a.free(l),o||a.free(u),this.pointCount=n,this.pickOffset=0},c.unifiedDraw=(l=[1,0,0,0,1,0,0,0,1],u=[0,0,0,0],function(t){var e=void 0!==t,r=e?this.pickShader:this.shader,n=this.plot.gl,i=this.plot.dataBox;if(0===this.pointCount)return t;var a=i[2]-i[0],o=i[3]-i[1],s=function(t,e){var r,n=0,i=t.length>>>1;for(r=0;r<i;r++){var a=t[2*r],o=t[2*r+1];a>=e[0]&&a<=e[2]&&o>=e[1]&&o<=e[3]&&n++}return n}(this.points,i),c=this.plot.pickPixelRatio*Math.max(Math.min(this.sizeMinCap,this.sizeMin),Math.min(this.sizeMax,this.sizeMax/Math.pow(s,.33333)));l[0]=2/a,l[4]=2/o,l[6]=-2*i[0]/a-1,l[7]=-2*i[1]/o-1,this.offsetBuffer.bind(),r.bind(),r.attributes.position.pointer(),r.uniforms.matrix=l,r.uniforms.color=this.color,r.uniforms.borderColor=this.borderColor,r.uniforms.pointCloud=c<5,r.uniforms.pointSize=c,r.uniforms.centerFraction=Math.min(1,Math.max(0,Math.sqrt(1-this.areaRatio))),e&&(u[0]=255&t,u[1]=t>>8&255,u[2]=t>>16&255,u[3]=t>>24&255,this.pickBuffer.bind(),r.attributes.pickId.pointer(n.UNSIGNED_BYTE),r.uniforms.pickOffset=u,this.pickOffset=t);var f=n.getParameter(n.BLEND),h=n.getParameter(n.DITHER);return f&&!this.blend&&n.disable(n.BLEND),h&&n.disable(n.DITHER),n.drawArrays(n.POINTS,0,this.pointCount),f&&!this.blend&&n.enable(n.BLEND),h&&n.enable(n.DITHER),t+this.pointCount}),c.draw=c.unifiedDraw,c.drawPick=c.unifiedDraw,c.pick=function(t,e,r){var n=this.pickOffset,i=this.pointCount;if(r<n||r>=n+i)return null;var a=r-n,o=this.points;return{object:this,pointId:a,dataCoord:[o[2*a],o[2*a+1]]}}},6093:function(t){t.exports=function(t,e,r,n){var i,a,o,s,l,u=e[0],c=e[1],f=e[2],h=e[3],p=r[0],d=r[1],v=r[2],g=r[3];return(a=u*p+c*d+f*v+h*g)<0&&(a=-a,p=-p,d=-d,v=-v,g=-g),1-a>1e-6?(i=Math.acos(a),o=Math.sin(i),s=Math.sin((1-n)*i)/o,l=Math.sin(n*i)/o):(s=1-n,l=n),t[0]=s*u+l*p,t[1]=s*c+l*d,t[2]=s*f+l*v,t[3]=s*h+l*g,t}},8240:function(t){"use strict";t.exports=function(t){return t||0===t?t.toString():""}},4123:function(t,e,r){"use strict";var n=r(875);t.exports=function(t,e,r){var a=i[e];if(a||(a=i[e]={}),t in a)return a[t];var o={textAlign:"center",textBaseline:"middle",lineHeight:1,font:e,lineSpacing:1.25,styletags:{breaklines:!0,bolds:!0,italics:!0,subscripts:!0,superscripts:!0},triangles:!0},s=n(t,o);o.triangles=!1;var l,u,c=n(t,o);if(r&&1!==r){for(l=0;l<s.positions.length;++l)for(u=0;u<s.positions[l].length;++u)s.positions[l][u]/=r;for(l=0;l<c.positions.length;++l)for(u=0;u<c.positions[l].length;++u)c.positions[l][u]/=r}var f=[[1/0,1/0],[-1/0,-1/0]],h=c.positions.length;for(l=0;l<h;++l){var p=c.positions[l];for(u=0;u<2;++u)f[0][u]=Math.min(f[0][u],p[u]),f[1][u]=Math.max(f[1][u],p[u])}return a[t]=[s,c,f]};var i={}},9282:function(t,e,r){var n=r(5158),i=r(6832),a=i(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 glyph;\nattribute vec4 id;\n\nuniform vec4 highlightId;\nuniform float highlightScale;\nuniform mat4 model, view, projection;\nuniform vec3 clipBounds[2];\n\nvarying vec4 interpColor;\nvarying vec4 pickId;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n gl_Position = vec4(0,0,0,0);\n } else {\n float scale = 1.0;\n if(distance(highlightId, id) < 0.0001) {\n scale = highlightScale;\n }\n\n vec4 worldPosition = model * vec4(position, 1);\n vec4 viewPosition = view * worldPosition;\n viewPosition = viewPosition / viewPosition.w;\n vec4 clipPosition = projection * (viewPosition + scale * vec4(glyph.x, -glyph.y, 0, 0));\n\n gl_Position = clipPosition;\n interpColor = color;\n pickId = id;\n dataCoordinate = position;\n }\n}"]),o=i(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 glyph;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\nuniform vec2 screenSize;\nuniform vec3 clipBounds[2];\nuniform float highlightScale, pixelRatio;\nuniform vec4 highlightId;\n\nvarying vec4 interpColor;\nvarying vec4 pickId;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n gl_Position = vec4(0,0,0,0);\n } else {\n float scale = pixelRatio;\n if(distance(highlightId.bgr, id.bgr) < 0.001) {\n scale *= highlightScale;\n }\n\n vec4 worldPosition = model * vec4(position, 1.0);\n vec4 viewPosition = view * worldPosition;\n vec4 clipPosition = projection * viewPosition;\n clipPosition /= clipPosition.w;\n\n gl_Position = clipPosition + vec4(screenSize * scale * vec2(glyph.x, -glyph.y), 0.0, 0.0);\n interpColor = color;\n pickId = id;\n dataCoordinate = position;\n }\n}"]),s=i(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 glyph;\nattribute vec4 id;\n\nuniform float highlightScale;\nuniform vec4 highlightId;\nuniform vec3 axes[2];\nuniform mat4 model, view, projection;\nuniform vec2 screenSize;\nuniform vec3 clipBounds[2];\nuniform float scale, pixelRatio;\n\nvarying vec4 interpColor;\nvarying vec4 pickId;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n gl_Position = vec4(0,0,0,0);\n } else {\n float lscale = pixelRatio * scale;\n if(distance(highlightId, id) < 0.0001) {\n lscale *= highlightScale;\n }\n\n vec4 clipCenter = projection * view * model * vec4(position, 1);\n vec3 dataPosition = position + 0.5*lscale*(axes[0] * glyph.x + axes[1] * glyph.y) * clipCenter.w * screenSize.y;\n vec4 clipPosition = projection * view * model * vec4(dataPosition, 1);\n\n gl_Position = clipPosition;\n interpColor = color;\n pickId = id;\n dataCoordinate = dataPosition;\n }\n}\n"]),l=i(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 fragClipBounds[2];\nuniform float opacity;\n\nvarying vec4 interpColor;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n if (\n outOfRange(fragClipBounds[0], fragClipBounds[1], dataCoordinate) ||\n interpColor.a * opacity == 0.\n ) discard;\n gl_FragColor = interpColor * opacity;\n}\n"]),u=i(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 fragClipBounds[2];\nuniform float pickGroup;\n\nvarying vec4 pickId;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n if (outOfRange(fragClipBounds[0], fragClipBounds[1], dataCoordinate)) discard;\n\n gl_FragColor = vec4(pickGroup, pickId.bgr);\n}"]),c=[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"glyph",type:"vec2"},{name:"id",type:"vec4"}],f={vertex:a,fragment:l,attributes:c},h={vertex:o,fragment:l,attributes:c},p={vertex:s,fragment:l,attributes:c},d={vertex:a,fragment:u,attributes:c},v={vertex:o,fragment:u,attributes:c},g={vertex:s,fragment:u,attributes:c};function y(t,e){var r=n(t,e),i=r.attributes;return i.position.location=0,i.color.location=1,i.glyph.location=2,i.id.location=3,r}e.createPerspective=function(t){return y(t,f)},e.createOrtho=function(t){return y(t,h)},e.createProject=function(t){return y(t,p)},e.createPickPerspective=function(t){return y(t,d)},e.createPickOrtho=function(t){return y(t,v)},e.createPickProject=function(t){return y(t,g)}},2182:function(t,e,r){"use strict";var n=r(3596),i=r(5827),a=r(2944),o=r(5306),s=r(104),l=r(9282),u=r(4123),c=r(8240),f=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function h(t,e){var r=t[0],n=t[1],i=t[2],a=t[3];return t[0]=e[0]*r+e[4]*n+e[8]*i+e[12]*a,t[1]=e[1]*r+e[5]*n+e[9]*i+e[13]*a,t[2]=e[2]*r+e[6]*n+e[10]*i+e[14]*a,t[3]=e[3]*r+e[7]*n+e[11]*i+e[15]*a,t}function p(t,e,r,n){return h(n,n),h(n,n),h(n,n)}function d(t,e){this.index=t,this.dataCoordinate=this.position=e}function v(t){return!0===t||t>1?1:t}function g(t,e,r,n,i,a,o,s,l,u,c,f){this.gl=t,this.pixelRatio=1,this.shader=e,this.orthoShader=r,this.projectShader=n,this.pointBuffer=i,this.colorBuffer=a,this.glyphBuffer=o,this.idBuffer=s,this.vao=l,this.vertexCount=0,this.lineVertexCount=0,this.opacity=1,this.hasAlpha=!1,this.lineWidth=0,this.projectScale=[2/3,2/3,2/3],this.projectOpacity=[1,1,1],this.projectHasAlpha=!1,this.pickId=0,this.pickPerspectiveShader=u,this.pickOrthoShader=c,this.pickProjectShader=f,this.points=[],this._selectResult=new d(0,[0,0,0]),this.useOrtho=!0,this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.axesProject=[!0,!0,!0],this.axesBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.highlightId=[1,1,1,1],this.highlightScale=2,this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.dirty=!0}t.exports=function(t){var e=t.gl,r=l.createPerspective(e),n=l.createOrtho(e),o=l.createProject(e),s=l.createPickPerspective(e),u=l.createPickOrtho(e),c=l.createPickProject(e),f=i(e),h=i(e),p=i(e),d=i(e),v=new g(e,r,n,o,f,h,p,d,a(e,[{buffer:f,size:3,type:e.FLOAT},{buffer:h,size:4,type:e.FLOAT},{buffer:p,size:2,type:e.FLOAT},{buffer:d,size:4,type:e.UNSIGNED_BYTE,normalized:!0}]),s,u,c);return v.update(t),v};var y=g.prototype;y.pickSlots=1,y.setPickBase=function(t){this.pickId=t},y.isTransparent=function(){if(this.hasAlpha)return!0;for(var t=0;t<3;++t)if(this.axesProject[t]&&this.projectHasAlpha)return!0;return!1},y.isOpaque=function(){if(!this.hasAlpha)return!0;for(var t=0;t<3;++t)if(this.axesProject[t]&&!this.projectHasAlpha)return!0;return!1};var m=[0,0],x=[0,0,0],b=[0,0,0],_=[0,0,0,1],w=[0,0,0,1],T=f.slice(),k=[0,0,0],A=[[0,0,0],[0,0,0]];function M(t){return t[0]=t[1]=t[2]=0,t}function S(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=1,t}function E(t,e,r,n){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[r]=n,t}var L=[[-1e8,-1e8,-1e8],[1e8,1e8,1e8]];function C(t,e,r,n,i,a,o){var l=r.gl;if((a===r.projectHasAlpha||o)&&function(t,e,r,n){var i,a=e.axesProject,o=e.gl,l=t.uniforms,u=r.model||f,c=r.view||f,h=r.projection||f,d=e.axesBounds,v=function(t){for(var e=A,r=0;r<2;++r)for(var n=0;n<3;++n)e[r][n]=Math.max(Math.min(t[r][n],1e8),-1e8);return e}(e.clipBounds);i=e.axes&&e.axes.lastCubeProps?e.axes.lastCubeProps.axis:[1,1,1],m[0]=2/o.drawingBufferWidth,m[1]=2/o.drawingBufferHeight,t.bind(),l.view=c,l.projection=h,l.screenSize=m,l.highlightId=e.highlightId,l.highlightScale=e.highlightScale,l.clipBounds=v,l.pickGroup=e.pickId/255,l.pixelRatio=n;for(var g=0;g<3;++g)if(a[g]){l.scale=e.projectScale[g],l.opacity=e.projectOpacity[g];for(var y=T,L=0;L<16;++L)y[L]=0;for(L=0;L<4;++L)y[5*L]=1;y[5*g]=0,i[g]<0?y[12+g]=d[0][g]:y[12+g]=d[1][g],s(y,u,y),l.model=y;var C=(g+1)%3,P=(g+2)%3,O=M(x),I=M(b);O[C]=1,I[P]=1;var D=p(0,0,0,S(_,O)),z=p(0,0,0,S(w,I));if(Math.abs(D[1])>Math.abs(z[1])){var R=D;D=z,z=R,R=O,O=I,I=R;var F=C;C=P,P=F}D[0]<0&&(O[C]=-1),z[1]>0&&(I[P]=-1);var B=0,N=0;for(L=0;L<4;++L)B+=Math.pow(u[4*C+L],2),N+=Math.pow(u[4*P+L],2);O[C]/=Math.sqrt(B),I[P]/=Math.sqrt(N),l.axes[0]=O,l.axes[1]=I,l.fragClipBounds[0]=E(k,v[0],g,-1e8),l.fragClipBounds[1]=E(k,v[1],g,1e8),e.vao.bind(),e.vao.draw(o.TRIANGLES,e.vertexCount),e.lineWidth>0&&(o.lineWidth(e.lineWidth*n),e.vao.draw(o.LINES,e.lineVertexCount,e.vertexCount)),e.vao.unbind()}}(e,r,n,i),a===r.hasAlpha||o){t.bind();var u=t.uniforms;u.model=n.model||f,u.view=n.view||f,u.projection=n.projection||f,m[0]=2/l.drawingBufferWidth,m[1]=2/l.drawingBufferHeight,u.screenSize=m,u.highlightId=r.highlightId,u.highlightScale=r.highlightScale,u.fragClipBounds=L,u.clipBounds=r.axes.bounds,u.opacity=r.opacity,u.pickGroup=r.pickId/255,u.pixelRatio=i,r.vao.bind(),r.vao.draw(l.TRIANGLES,r.vertexCount),r.lineWidth>0&&(l.lineWidth(r.lineWidth*i),r.vao.draw(l.LINES,r.lineVertexCount,r.vertexCount)),r.vao.unbind()}}function P(t,e,r,i){var a;a=Array.isArray(t)?e<t.length?t[e]:void 0:t,a=c(a);var o=!0;n(a)&&(a="▼",o=!1);var s=u(a,r,i);return{mesh:s[0],lines:s[1],bounds:s[2],visible:o}}y.draw=function(t){C(this.useOrtho?this.orthoShader:this.shader,this.projectShader,this,t,this.pixelRatio,!1,!1)},y.drawTransparent=function(t){C(this.useOrtho?this.orthoShader:this.shader,this.projectShader,this,t,this.pixelRatio,!0,!1)},y.drawPick=function(t){C(this.useOrtho?this.pickOrthoShader:this.pickPerspectiveShader,this.pickProjectShader,this,t,1,!0,!0)},y.pick=function(t){if(!t)return null;if(t.id!==this.pickId)return null;var e=t.value[2]+(t.value[1]<<8)+(t.value[0]<<16);if(e>=this.pointCount||e<0)return null;var r=this.points[e],n=this._selectResult;n.index=e;for(var i=0;i<3;++i)n.position[i]=n.dataCoordinate[i]=r[i];return n},y.highlight=function(t){if(t){var e=t.index,r=255&e,n=e>>8&255,i=e>>16&255;this.highlightId=[r/255,n/255,i/255,0]}else this.highlightId=[1,1,1,1]},y.update=function(t){if("perspective"in(t=t||{})&&(this.useOrtho=!t.perspective),"orthographic"in t&&(this.useOrtho=!!t.orthographic),"lineWidth"in t&&(this.lineWidth=t.lineWidth),"project"in t)if(Array.isArray(t.project))this.axesProject=t.project;else{var e=!!t.project;this.axesProject=[e,e,e]}if("projectScale"in t)if(Array.isArray(t.projectScale))this.projectScale=t.projectScale.slice();else{var r=+t.projectScale;this.projectScale=[r,r,r]}if(this.projectHasAlpha=!1,"projectOpacity"in t){Array.isArray(t.projectOpacity)?this.projectOpacity=t.projectOpacity.slice():(r=+t.projectOpacity,this.projectOpacity=[r,r,r]);for(var n=0;n<3;++n)this.projectOpacity[n]=v(this.projectOpacity[n]),this.projectOpacity[n]<1&&(this.projectHasAlpha=!0)}this.hasAlpha=!1,"opacity"in t&&(this.opacity=v(t.opacity),this.opacity<1&&(this.hasAlpha=!0)),this.dirty=!0;var i,a,s=t.position,l=t.font||"normal",u=t.alignment||[0,0];if(2===u.length)i=u[0],a=u[1];else for(i=[],a=[],n=0;n<u.length;++n)i[n]=u[n][0],a[n]=u[n][1];var c=[1/0,1/0,1/0],f=[-1/0,-1/0,-1/0],h=t.glyph,p=t.color,d=t.size,g=t.angle,y=t.lineColor,m=-1,x=0,b=0,_=0;if(s.length){_=s.length;t:for(n=0;n<_;++n){for(var w=s[n],T=0;T<3;++T)if(isNaN(w[T])||!isFinite(w[T]))continue t;var k=(N=P(h,n,l,this.pixelRatio)).mesh,A=N.lines,M=N.bounds;x+=3*k.cells.length,b+=2*A.edges.length}}var S=x+b,E=o.mallocFloat(3*S),L=o.mallocFloat(4*S),C=o.mallocFloat(2*S),O=o.mallocUint32(S);if(S>0){var I=0,D=x,z=[0,0,0,1],R=[0,0,0,1],F=Array.isArray(p)&&Array.isArray(p[0]),B=Array.isArray(y)&&Array.isArray(y[0]);t:for(n=0;n<_;++n){for(m+=1,w=s[n],T=0;T<3;++T){if(isNaN(w[T])||!isFinite(w[T]))continue t;f[T]=Math.max(f[T],w[T]),c[T]=Math.min(c[T],w[T])}k=(N=P(h,n,l,this.pixelRatio)).mesh,A=N.lines,M=N.bounds;var N,j=N.visible;if(j)if(Array.isArray(p)){if(3===(U=F?n<p.length?p[n]:[0,0,0,0]:p).length){for(T=0;T<3;++T)z[T]=U[T];z[3]=1}else if(4===U.length){for(T=0;T<4;++T)z[T]=U[T];!this.hasAlpha&&U[3]<1&&(this.hasAlpha=!0)}}else z[0]=z[1]=z[2]=0,z[3]=1;else z=[1,1,1,0];if(j)if(Array.isArray(y)){var U;if(3===(U=B?n<y.length?y[n]:[0,0,0,0]:y).length){for(T=0;T<3;++T)R[T]=U[T];R[T]=1}else if(4===U.length){for(T=0;T<4;++T)R[T]=U[T];!this.hasAlpha&&U[3]<1&&(this.hasAlpha=!0)}}else R[0]=R[1]=R[2]=0,R[3]=1;else R=[1,1,1,0];var V=.5;j?Array.isArray(d)?V=n<d.length?+d[n]:12:d?V=+d:this.useOrtho&&(V=12):V=0;var H=0;Array.isArray(g)?H=n<g.length?+g[n]:0:g&&(H=+g);var q=Math.cos(H),G=Math.sin(H);for(w=s[n],T=0;T<3;++T)f[T]=Math.max(f[T],w[T]),c[T]=Math.min(c[T],w[T]);var Z=i,Y=a;Z=0,Array.isArray(i)?Z=n<i.length?i[n]:0:i&&(Z=i),Y=0,Array.isArray(a)?Y=n<a.length?a[n]:0:a&&(Y=a);var W=[Z*=Z>0?1-M[0][0]:Z<0?1+M[1][0]:1,Y*=Y>0?1-M[0][1]:Y<0?1+M[1][1]:1],X=k.cells||[],J=k.positions||[];for(T=0;T<X.length;++T)for(var K=X[T],$=0;$<3;++$){for(var Q=0;Q<3;++Q)E[3*I+Q]=w[Q];for(Q=0;Q<4;++Q)L[4*I+Q]=z[Q];O[I]=m;var tt=J[K[$]];C[2*I]=V*(q*tt[0]-G*tt[1]+W[0]),C[2*I+1]=V*(G*tt[0]+q*tt[1]+W[1]),I+=1}for(X=A.edges,J=A.positions,T=0;T<X.length;++T)for(K=X[T],$=0;$<2;++$){for(Q=0;Q<3;++Q)E[3*D+Q]=w[Q];for(Q=0;Q<4;++Q)L[4*D+Q]=R[Q];O[D]=m,tt=J[K[$]],C[2*D]=V*(q*tt[0]-G*tt[1]+W[0]),C[2*D+1]=V*(G*tt[0]+q*tt[1]+W[1]),D+=1}}}this.bounds=[c,f],this.points=s,this.pointCount=s.length,this.vertexCount=x,this.lineVertexCount=b,this.pointBuffer.update(E),this.colorBuffer.update(L),this.glyphBuffer.update(C),this.idBuffer.update(O),o.free(E),o.free(L),o.free(C),o.free(O)},y.dispose=function(){this.shader.dispose(),this.orthoShader.dispose(),this.pickPerspectiveShader.dispose(),this.pickOrthoShader.dispose(),this.vao.dispose(),this.pointBuffer.dispose(),this.colorBuffer.dispose(),this.glyphBuffer.dispose(),this.idBuffer.dispose()}},1884:function(t,e,r){"use strict";var n=r(6832);e.boxVertex=n(["precision mediump float;\n#define GLSLIFY 1\n\nattribute vec2 vertex;\n\nuniform vec2 cornerA, cornerB;\n\nvoid main() {\n gl_Position = vec4(mix(cornerA, cornerB, vertex), 0, 1);\n}\n"]),e.boxFragment=n(["precision mediump float;\n#define GLSLIFY 1\n\nuniform vec4 color;\n\nvoid main() {\n gl_FragColor = color;\n}\n"])},6623:function(t,e,r){"use strict";var n=r(5158),i=r(5827),a=r(1884);function o(t,e,r){this.plot=t,this.boxBuffer=e,this.boxShader=r,this.enabled=!0,this.selectBox=[1/0,1/0,-1/0,-1/0],this.borderColor=[0,0,0,1],this.innerFill=!1,this.innerColor=[0,0,0,.25],this.outerFill=!0,this.outerColor=[0,0,0,.5],this.borderWidth=10}t.exports=function(t,e){var r=t.gl,s=new o(t,i(r,[0,0,0,1,1,0,1,1]),n(r,a.boxVertex,a.boxFragment));return s.update(e),t.addOverlay(s),s};var s=o.prototype;s.draw=function(){if(this.enabled){var t=this.plot,e=this.selectBox,r=this.borderWidth,n=(this.innerFill,this.innerColor),i=(this.outerFill,this.outerColor),a=this.borderColor,o=t.box,s=t.screenBox,l=t.dataBox,u=t.viewBox,c=t.pixelRatio,f=(e[0]-l[0])*(u[2]-u[0])/(l[2]-l[0])+u[0],h=(e[1]-l[1])*(u[3]-u[1])/(l[3]-l[1])+u[1],p=(e[2]-l[0])*(u[2]-u[0])/(l[2]-l[0])+u[0],d=(e[3]-l[1])*(u[3]-u[1])/(l[3]-l[1])+u[1];if(f=Math.max(f,u[0]),h=Math.max(h,u[1]),p=Math.min(p,u[2]),d=Math.min(d,u[3]),!(p<f||d<h)){o.bind();var v=s[2]-s[0],g=s[3]-s[1];if(this.outerFill&&(o.drawBox(0,0,v,h,i),o.drawBox(0,h,f,d,i),o.drawBox(0,d,v,g,i),o.drawBox(p,h,v,d,i)),this.innerFill&&o.drawBox(f,h,p,d,n),r>0){var y=r*c;o.drawBox(f-y,h-y,p+y,h+y,a),o.drawBox(f-y,d-y,p+y,d+y,a),o.drawBox(f-y,h-y,f+y,d+y,a),o.drawBox(p-y,h-y,p+y,d+y,a)}}}},s.update=function(t){t=t||{},this.innerFill=!!t.innerFill,this.outerFill=!!t.outerFill,this.innerColor=(t.innerColor||[0,0,0,.5]).slice(),this.outerColor=(t.outerColor||[0,0,0,.5]).slice(),this.borderColor=(t.borderColor||[0,0,0,1]).slice(),this.borderWidth=t.borderWidth||0,this.selectBox=(t.selectBox||this.selectBox).slice()},s.dispose=function(){this.boxBuffer.dispose(),this.boxShader.dispose(),this.plot.removeOverlay(this)}},2611:function(t,e,r){"use strict";t.exports=function(t,e){var r=e[0],a=e[1];return new l(t,n(t,r,a,{}),i.mallocUint8(r*a*4))};var n=r(4234),i=r(5306),a=r(5050),o=r(2288).nextPow2;function s(t,e,r,n,i){this.coord=[t,e],this.id=r,this.value=n,this.distance=i}function l(t,e,r){this.gl=t,this.fbo=e,this.buffer=r,this._readTimeout=null;var n=this;this._readCallback=function(){n.gl&&(e.bind(),t.readPixels(0,0,e.shape[0],e.shape[1],t.RGBA,t.UNSIGNED_BYTE,n.buffer),n._readTimeout=null)}}var u=l.prototype;Object.defineProperty(u,"shape",{get:function(){return this.gl?this.fbo.shape.slice():[0,0]},set:function(t){if(this.gl){this.fbo.shape=t;var e=this.fbo.shape[0],r=this.fbo.shape[1];if(r*e*4>this.buffer.length){i.free(this.buffer);for(var n=this.buffer=i.mallocUint8(o(r*e*4)),a=0;a<r*e*4;++a)n[a]=255}return t}}}),u.begin=function(){var t=this.gl;this.shape,t&&(this.fbo.bind(),t.clearColor(1,1,1,1),t.clear(t.COLOR_BUFFER_BIT|t.DEPTH_BUFFER_BIT))},u.end=function(){var t=this.gl;t&&(t.bindFramebuffer(t.FRAMEBUFFER,null),this._readTimeout||clearTimeout(this._readTimeout),this._readTimeout=setTimeout(this._readCallback,1))},u.query=function(t,e,r){if(!this.gl)return null;var n=this.fbo.shape.slice();t|=0,e|=0,"number"!=typeof r&&(r=1);var i=0|Math.min(Math.max(t-r,0),n[0]),o=0|Math.min(Math.max(t+r,0),n[0]),l=0|Math.min(Math.max(e-r,0),n[1]),u=0|Math.min(Math.max(e+r,0),n[1]);if(o<=i||u<=l)return null;var c=[o-i,u-l],f=a(this.buffer,[c[0],c[1],4],[4,4*n[0],1],4*(i+n[0]*l)),h=function(t,e,r){for(var n=1e8,i=-1,a=-1,o=t.shape[0],s=t.shape[1],l=0;l<o;l++)for(var u=0;u<s;u++){var c=t.get(l,u,0),f=t.get(l,u,1),h=t.get(l,u,2),p=t.get(l,u,3);if(c<255||f<255||h<255||p<255){var d=e-l,v=r-u,g=d*d+v*v;g<n&&(n=g,i=l,a=u)}}return[i,a,n]}(f.hi(c[0],c[1],1),r,r),p=h[0],d=h[1];return p<0||Math.pow(this.radius,2)<h[2]?null:new s(p+i|0,d+l|0,f.get(p,d,0),[f.get(p,d,1),f.get(p,d,2),f.get(p,d,3)],Math.sqrt(h[2]))},u.dispose=function(){this.gl&&(this.fbo.dispose(),i.free(this.buffer),this.gl=null,this._readTimeout&&clearTimeout(this._readTimeout))}},5158:function(t,e,r){"use strict";var n=r(9016),i=r(4280),a=r(3984),o=r(1628),s=r(2631),l=r(9068);function u(t){this.gl=t,this.gl.lastAttribCount=0,this._vref=this._fref=this._relink=this.vertShader=this.fragShader=this.program=this.attributes=this.uniforms=this.types=null}var c=u.prototype;function f(t,e){return t.name<e.name?-1:1}c.bind=function(){var t;this.program||this._relink();var e=this.gl.getProgramParameter(this.program,this.gl.ACTIVE_ATTRIBUTES),r=this.gl.lastAttribCount;if(e>r)for(t=r;t<e;t++)this.gl.enableVertexAttribArray(t);else if(r>e)for(t=e;t<r;t++)this.gl.disableVertexAttribArray(t);this.gl.lastAttribCount=e,this.gl.useProgram(this.program)},c.dispose=function(){for(var t=this.gl.lastAttribCount,e=0;e<t;e++)this.gl.disableVertexAttribArray(e);this.gl.lastAttribCount=0,this._fref&&this._fref.dispose(),this._vref&&this._vref.dispose(),this.attributes=this.types=this.vertShader=this.fragShader=this.program=this._relink=this._fref=this._vref=null},c.update=function(t,e,r,u){if(!e||1===arguments.length){var c=t;t=c.vertex,e=c.fragment,r=c.uniforms,u=c.attributes}var h=this,p=h.gl,d=h._vref;h._vref=o.shader(p,p.VERTEX_SHADER,t),d&&d.dispose(),h.vertShader=h._vref.shader;var v=this._fref;if(h._fref=o.shader(p,p.FRAGMENT_SHADER,e),v&&v.dispose(),h.fragShader=h._fref.shader,!r||!u){var g=p.createProgram();if(p.attachShader(g,h.fragShader),p.attachShader(g,h.vertShader),p.linkProgram(g),!p.getProgramParameter(g,p.LINK_STATUS)){var y=p.getProgramInfoLog(g);throw new l(y,"Error linking program:"+y)}r=r||s.uniforms(p,g),u=u||s.attributes(p,g),p.deleteProgram(g)}(u=u.slice()).sort(f);var m,x=[],b=[],_=[];for(m=0;m<u.length;++m){var w=u[m];if(w.type.indexOf("mat")>=0){for(var T=0|w.type.charAt(w.type.length-1),k=new Array(T),A=0;A<T;++A)k[A]=_.length,b.push(w.name+"["+A+"]"),"number"==typeof w.location?_.push(w.location+A):Array.isArray(w.location)&&w.location.length===T&&"number"==typeof w.location[A]?_.push(0|w.location[A]):_.push(-1);x.push({name:w.name,type:w.type,locations:k})}else x.push({name:w.name,type:w.type,locations:[_.length]}),b.push(w.name),"number"==typeof w.location?_.push(0|w.location):_.push(-1)}var M=0;for(m=0;m<_.length;++m)if(_[m]<0){for(;_.indexOf(M)>=0;)M+=1;_[m]=M}var S=new Array(r.length);function E(){h.program=o.program(p,h._vref,h._fref,b,_);for(var t=0;t<r.length;++t)S[t]=p.getUniformLocation(h.program,r[t].name)}E(),h._relink=E,h.types={uniforms:a(r),attributes:a(u)},h.attributes=i(p,h,x,_),Object.defineProperty(h,"uniforms",n(p,h,r,S))},t.exports=function(t,e,r,n,i){var a=new u(t);return a.update(e,r,n,i),a}},9068:function(t){function e(t,e,r){this.shortMessage=e||"",this.longMessage=r||"",this.rawError=t||"",this.message="gl-shader: "+(e||t||"")+(r?"\n"+r:""),this.stack=(new Error).stack}e.prototype=new Error,e.prototype.name="GLError",e.prototype.constructor=e,t.exports=e},4280:function(t,e,r){"use strict";t.exports=function(t,e,r,i){for(var a={},o=0,u=r.length;o<u;++o){var c=r[o],f=c.name,h=c.type,p=c.locations;switch(h){case"bool":case"int":case"float":s(t,e,p[0],i,1,a,f);break;default:if(h.indexOf("vec")>=0){if((d=h.charCodeAt(h.length-1)-48)<2||d>4)throw new n("","Invalid data type for attribute "+f+": "+h);s(t,e,p[0],i,d,a,f)}else{if(!(h.indexOf("mat")>=0))throw new n("","Unknown data type for attribute "+f+": "+h);var d;if((d=h.charCodeAt(h.length-1)-48)<2||d>4)throw new n("","Invalid data type for attribute "+f+": "+h);l(t,e,p,i,d,a,f)}}}return a};var n=r(9068);function i(t,e,r,n,i,a){this._gl=t,this._wrapper=e,this._index=r,this._locations=n,this._dimension=i,this._constFunc=a}var a=i.prototype;a.pointer=function(t,e,r,n){var i=this,a=i._gl,o=i._locations[i._index];a.vertexAttribPointer(o,i._dimension,t||a.FLOAT,!!e,r||0,n||0),a.enableVertexAttribArray(o)},a.set=function(t,e,r,n){return this._constFunc(this._locations[this._index],t,e,r,n)},Object.defineProperty(a,"location",{get:function(){return this._locations[this._index]},set:function(t){return t!==this._locations[this._index]&&(this._locations[this._index]=0|t,this._wrapper.program=null),0|t}});var o=[function(t,e,r){return void 0===r.length?t.vertexAttrib1f(e,r):t.vertexAttrib1fv(e,r)},function(t,e,r,n){return void 0===r.length?t.vertexAttrib2f(e,r,n):t.vertexAttrib2fv(e,r)},function(t,e,r,n,i){return void 0===r.length?t.vertexAttrib3f(e,r,n,i):t.vertexAttrib3fv(e,r)},function(t,e,r,n,i,a){return void 0===r.length?t.vertexAttrib4f(e,r,n,i,a):t.vertexAttrib4fv(e,r)}];function s(t,e,r,n,a,s,l){var u=o[a],c=new i(t,e,r,n,a,u);Object.defineProperty(s,l,{set:function(e){return t.disableVertexAttribArray(n[r]),u(t,n[r],e),e},get:function(){return c},enumerable:!0})}function l(t,e,r,n,i,a,o){for(var l=new Array(i),u=new Array(i),c=0;c<i;++c)s(t,e,r[c],n,i,l,c),u[c]=l[c];Object.defineProperty(l,"location",{set:function(t){if(Array.isArray(t))for(var e=0;e<i;++e)u[e].location=t[e];else for(e=0;e<i;++e)u[e].location=t+e;return t},get:function(){for(var t=new Array(i),e=0;e<i;++e)t[e]=n[r[e]];return t},enumerable:!0}),l.pointer=function(e,a,o,s){e=e||t.FLOAT,a=!!a,o=o||i*i,s=s||0;for(var l=0;l<i;++l){var u=n[r[l]];t.vertexAttribPointer(u,i,e,a,o,s+l*i),t.enableVertexAttribArray(u)}};var f=new Array(i),h=t["vertexAttrib"+i+"fv"];Object.defineProperty(a,o,{set:function(e){for(var a=0;a<i;++a){var o=n[r[a]];if(t.disableVertexAttribArray(o),Array.isArray(e[0]))h.call(t,o,e[a]);else{for(var s=0;s<i;++s)f[s]=e[i*a+s];h.call(t,o,f)}}return e},get:function(){return l},enumerable:!0})}},9016:function(t,e,r){"use strict";var n=r(3984),i=r(9068);function a(t){return function(){return t}}function o(t,e){for(var r=new Array(t),n=0;n<t;++n)r[n]=e;return r}t.exports=function(t,e,r,s){function l(e){return function(n){for(var a=u("",e),o=0;o<a.length;++o){var l=a[o],c=l[0],f=l[1];if(s[f]){var h=n;if("string"==typeof c&&(0===c.indexOf(".")||0===c.indexOf("["))){var p=c;if(0===c.indexOf(".")&&(p=c.slice(1)),p.indexOf("]")===p.length-1){var d=p.indexOf("["),v=p.slice(0,d),g=p.slice(d+1,p.length-1);h=v?n[v][g]:n[g]}else h=n[p]}var y,m=r[f].type;switch(m){case"bool":case"int":case"sampler2D":case"samplerCube":t.uniform1i(s[f],h);break;case"float":t.uniform1f(s[f],h);break;default:var x=m.indexOf("vec");if(!(0<=x&&x<=1&&m.length===4+x)){if(0===m.indexOf("mat")&&4===m.length){if((y=m.charCodeAt(m.length-1)-48)<2||y>4)throw new i("","Invalid uniform dimension type for matrix "+name+": "+m);t["uniformMatrix"+y+"fv"](s[f],!1,h);break}throw new i("","Unknown uniform data type for "+name+": "+m)}if((y=m.charCodeAt(m.length-1)-48)<2||y>4)throw new i("","Invalid data type");switch(m.charAt(0)){case"b":case"i":t["uniform"+y+"iv"](s[f],h);break;case"v":t["uniform"+y+"fv"](s[f],h);break;default:throw new i("","Unrecognized data type for vector "+name+": "+m)}}}}}}function u(t,e){if("object"!=typeof e)return[[t,e]];var r=[];for(var n in e){var i=e[n],a=t;parseInt(n)+""===n?a+="["+n+"]":a+="."+n,"object"==typeof i?r.push.apply(r,u(a,i)):r.push([a,i])}return r}function c(t,e,n){if("object"==typeof n){var u=f(n);Object.defineProperty(t,e,{get:a(u),set:l(n),enumerable:!0,configurable:!1})}else s[n]?Object.defineProperty(t,e,{get:(c=n,function(t,e,r){return t.getUniform(e.program,r[c])}),set:l(n),enumerable:!0,configurable:!1}):t[e]=function(t){switch(t){case"bool":return!1;case"int":case"sampler2D":case"samplerCube":case"float":return 0;default:var e=t.indexOf("vec");if(0<=e&&e<=1&&t.length===4+e){if((r=t.charCodeAt(t.length-1)-48)<2||r>4)throw new i("","Invalid data type");return"b"===t.charAt(0)?o(r,!1):o(r,0)}if(0===t.indexOf("mat")&&4===t.length){var r;if((r=t.charCodeAt(t.length-1)-48)<2||r>4)throw new i("","Invalid uniform dimension type for matrix "+name+": "+t);return o(r*r,0)}throw new i("","Unknown uniform data type for "+name+": "+t)}}(r[n].type);var c}function f(t){var e;if(Array.isArray(t)){e=new Array(t.length);for(var r=0;r<t.length;++r)c(e,r,t[r])}else for(var n in e={},t)c(e,n,t[n]);return e}var h=n(r,!0);return{get:a(f(h)),set:l(h),enumerable:!0,configurable:!0}}},3984:function(t){"use strict";t.exports=function(t,e){for(var r={},n=0;n<t.length;++n)for(var i=t[n].name.split("."),a=r,o=0;o<i.length;++o){var s=i[o].split("[");if(s.length>1){s[0]in a||(a[s[0]]=[]),a=a[s[0]];for(var l=1;l<s.length;++l){var u=parseInt(s[l]);l<s.length-1||o<i.length-1?(u in a||(l<s.length-1?a[u]=[]:a[u]={}),a=a[u]):a[u]=e?n:t[n].type}}else o<i.length-1?(s[0]in a||(a[s[0]]={}),a=a[s[0]]):a[s[0]]=e?n:t[n].type}return r}},2631:function(t,e){"use strict";e.uniforms=function(t,e){for(var r=t.getProgramParameter(e,t.ACTIVE_UNIFORMS),n=[],a=0;a<r;++a){var o=t.getActiveUniform(e,a);if(o){var s=i(t,o.type);if(o.size>1)for(var l=0;l<o.size;++l)n.push({name:o.name.replace("[0]","["+l+"]"),type:s});else n.push({name:o.name,type:s})}}return n},e.attributes=function(t,e){for(var r=t.getProgramParameter(e,t.ACTIVE_ATTRIBUTES),n=[],a=0;a<r;++a){var o=t.getActiveAttrib(e,a);o&&n.push({name:o.name,type:i(t,o.type)})}return n};var r={FLOAT:"float",FLOAT_VEC2:"vec2",FLOAT_VEC3:"vec3",FLOAT_VEC4:"vec4",INT:"int",INT_VEC2:"ivec2",INT_VEC3:"ivec3",INT_VEC4:"ivec4",BOOL:"bool",BOOL_VEC2:"bvec2",BOOL_VEC3:"bvec3",BOOL_VEC4:"bvec4",FLOAT_MAT2:"mat2",FLOAT_MAT3:"mat3",FLOAT_MAT4:"mat4",SAMPLER_2D:"sampler2D",SAMPLER_CUBE:"samplerCube"},n=null;function i(t,e){if(!n){var i=Object.keys(r);n={};for(var a=0;a<i.length;++a){var o=i[a];n[t[o]]=r[o]}}return n[e]}},1628:function(t,e,r){"use strict";e.shader=function(t,e,r){return c(t).getShaderReference(e,r)},e.program=function(t,e,r,n,i){return c(t).getProgram(e,r,n,i)};var n=r(9068),i=r(3530),a=new("undefined"==typeof WeakMap?r(4037):WeakMap),o=0;function s(t,e,r,n,i,a,o){this.id=t,this.src=e,this.type=r,this.shader=n,this.count=a,this.programs=[],this.cache=o}function l(t){this.gl=t,this.shaders=[{},{}],this.programs={}}s.prototype.dispose=function(){if(0==--this.count){for(var t=this.cache,e=t.gl,r=this.programs,n=0,i=r.length;n<i;++n){var a=t.programs[r[n]];a&&(delete t.programs[n],e.deleteProgram(a))}e.deleteShader(this.shader),delete t.shaders[this.type===e.FRAGMENT_SHADER|0][this.src]}};var u=l.prototype;function c(t){var e=a.get(t);return e||(e=new l(t),a.set(t,e)),e}u.getShaderReference=function(t,e){var r=this.gl,a=this.shaders[t===r.FRAGMENT_SHADER|0],l=a[e];if(l&&r.isShader(l.shader))l.count+=1;else{var u=function(t,e,r){var a=t.createShader(e);if(t.shaderSource(a,r),t.compileShader(a),!t.getShaderParameter(a,t.COMPILE_STATUS)){var o=t.getShaderInfoLog(a);try{var s=i(o,r,e)}catch(t){throw console.warn("Failed to format compiler error: "+t),new n(o,"Error compiling shader:\n"+o)}throw new n(o,s.short,s.long)}return a}(r,t,e);l=a[e]=new s(o++,e,t,u,[],1,this)}return l},u.getProgram=function(t,e,r,i){var a=[t.id,e.id,r.join(":"),i.join(":")].join("@"),o=this.programs[a];return o&&this.gl.isProgram(o)||(this.programs[a]=o=function(t,e,r,i,a){var o=t.createProgram();t.attachShader(o,e),t.attachShader(o,r);for(var s=0;s<i.length;++s)t.bindAttribLocation(o,a[s],i[s]);if(t.linkProgram(o),!t.getProgramParameter(o,t.LINK_STATUS)){var l=t.getProgramInfoLog(o);throw new n(l,"Error linking program: "+l)}return o}(this.gl,t.shader,e.shader,r,i),t.programs.push(a),e.programs.push(a)),o}},3050:function(t){"use strict";function e(t){this.plot=t,this.enable=[!0,!0,!1,!1],this.width=[1,1,1,1],this.color=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.center=[1/0,1/0]}t.exports=function(t,r){var n=new e(t);return n.update(r),t.addOverlay(n),n};var r=e.prototype;r.update=function(t){t=t||{},this.enable=(t.enable||[!0,!0,!1,!1]).slice(),this.width=(t.width||[1,1,1,1]).slice(),this.color=(t.color||[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]]).map((function(t){return t.slice()})),this.center=(t.center||[1/0,1/0]).slice(),this.plot.setOverlayDirty()},r.draw=function(){var t=this.enable,e=this.width,r=this.color,n=this.center,i=this.plot,a=i.line,o=i.dataBox,s=i.viewBox;if(a.bind(),o[0]<=n[0]&&n[0]<=o[2]&&o[1]<=n[1]&&n[1]<=o[3]){var l=s[0]+(n[0]-o[0])/(o[2]-o[0])*(s[2]-s[0]),u=s[1]+(n[1]-o[1])/(o[3]-o[1])*(s[3]-s[1]);t[0]&&a.drawLine(l,u,s[0],u,e[0],r[0]),t[1]&&a.drawLine(l,u,l,s[1],e[1],r[1]),t[2]&&a.drawLine(l,u,s[2],u,e[2],r[2]),t[3]&&a.drawLine(l,u,l,s[3],e[3],r[3])}},r.dispose=function(){this.plot.removeOverlay(this)}},3540:function(t,e,r){"use strict";var n=r(6832),i=r(5158),a=n(["precision mediump float;\n#define GLSLIFY 1\n\nattribute vec3 position, color;\nattribute float weight;\n\nuniform mat4 model, view, projection;\nuniform vec3 coordinates[3];\nuniform vec4 colors[3];\nuniform vec2 screenShape;\nuniform float lineWidth;\n\nvarying vec4 fragColor;\n\nvoid main() {\n vec3 vertexPosition = mix(coordinates[0],\n mix(coordinates[2], coordinates[1], 0.5 * (position + 1.0)), abs(position));\n\n vec4 clipPos = projection * view * model * vec4(vertexPosition, 1.0);\n vec2 clipOffset = (projection * view * model * vec4(color, 0.0)).xy;\n vec2 delta = weight * clipOffset * screenShape;\n vec2 lineOffset = normalize(vec2(delta.y, -delta.x)) / screenShape;\n\n gl_Position = vec4(clipPos.xy + clipPos.w * 0.5 * lineWidth * lineOffset, clipPos.z, clipPos.w);\n fragColor = color.x * colors[0] + color.y * colors[1] + color.z * colors[2];\n}\n"]),o=n(["precision mediump float;\n#define GLSLIFY 1\n\nvarying vec4 fragColor;\n\nvoid main() {\n gl_FragColor = fragColor;\n}"]);t.exports=function(t){return i(t,a,o,null,[{name:"position",type:"vec3"},{name:"color",type:"vec3"},{name:"weight",type:"float"}])}},6496:function(t,e,r){"use strict";var n=r(5827),i=r(2944),a=r(3540);t.exports=function(t,e){var r=[];function o(t,e,n,i,a,o){var s=[t,e,n,0,0,0,1];s[i+3]=1,s[i]=a,r.push.apply(r,s),s[6]=-1,r.push.apply(r,s),s[i]=o,r.push.apply(r,s),r.push.apply(r,s),s[6]=1,r.push.apply(r,s),s[i]=a,r.push.apply(r,s)}o(0,0,0,0,0,1),o(0,0,0,1,0,1),o(0,0,0,2,0,1),o(1,0,0,1,-1,1),o(1,0,0,2,-1,1),o(0,1,0,0,-1,1),o(0,1,0,2,-1,1),o(0,0,1,0,-1,1),o(0,0,1,1,-1,1);var l=n(t,r),u=i(t,[{type:t.FLOAT,buffer:l,size:3,offset:0,stride:28},{type:t.FLOAT,buffer:l,size:3,offset:12,stride:28},{type:t.FLOAT,buffer:l,size:1,offset:24,stride:28}]),c=a(t);c.attributes.position.location=0,c.attributes.color.location=1,c.attributes.weight.location=2;var f=new s(t,l,u,c);return f.update(e),f};var o=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function s(t,e,r,n){this.gl=t,this.buffer=e,this.vao=r,this.shader=n,this.pixelRatio=1,this.bounds=[[-1e3,-1e3,-1e3],[1e3,1e3,1e3]],this.position=[0,0,0],this.lineWidth=[2,2,2],this.colors=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.enabled=[!0,!0,!0],this.drawSides=[!0,!0,!0],this.axes=null}var l=s.prototype,u=[0,0,0],c=[0,0,0],f=[0,0];l.isTransparent=function(){return!1},l.drawTransparent=function(t){},l.draw=function(t){var e=this.gl,r=this.vao,n=this.shader;r.bind(),n.bind();var i,a=t.model||o,s=t.view||o,l=t.projection||o;this.axes&&(i=this.axes.lastCubeProps.axis);for(var h=u,p=c,d=0;d<3;++d)i&&i[d]<0?(h[d]=this.bounds[0][d],p[d]=this.bounds[1][d]):(h[d]=this.bounds[1][d],p[d]=this.bounds[0][d]);for(f[0]=e.drawingBufferWidth,f[1]=e.drawingBufferHeight,n.uniforms.model=a,n.uniforms.view=s,n.uniforms.projection=l,n.uniforms.coordinates=[this.position,h,p],n.uniforms.colors=this.colors,n.uniforms.screenShape=f,d=0;d<3;++d)n.uniforms.lineWidth=this.lineWidth[d]*this.pixelRatio,this.enabled[d]&&(r.draw(e.TRIANGLES,6,6*d),this.drawSides[d]&&r.draw(e.TRIANGLES,12,18+12*d));r.unbind()},l.update=function(t){t&&("bounds"in t&&(this.bounds=t.bounds),"position"in t&&(this.position=t.position),"lineWidth"in t&&(this.lineWidth=t.lineWidth),"colors"in t&&(this.colors=t.colors),"enabled"in t&&(this.enabled=t.enabled),"drawSides"in t&&(this.drawSides=t.drawSides))},l.dispose=function(){this.vao.dispose(),this.buffer.dispose(),this.shader.dispose()}},9578:function(t,e,r){var n=r(6832),i=n(["precision highp float;\n\nprecision highp float;\n#define GLSLIFY 1\n\nvec3 getOrthogonalVector(vec3 v) {\n // Return up-vector for only-z vector.\n // Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0).\n // From the above if-statement we have ||a|| > 0 U ||b|| > 0.\n // Assign z = 0, x = -b, y = a:\n // a*-b + b*a + c*0 = -ba + ba + 0 = 0\n if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\n return normalize(vec3(-v.y, v.x, 0.0));\n } else {\n return normalize(vec3(0.0, v.z, -v.y));\n }\n}\n\n// Calculate the tube vertex and normal at the given index.\n//\n// The returned vertex is for a tube ring with its center at origin, radius of length(d), pointing in the direction of d.\n//\n// Each tube segment is made up of a ring of vertices.\n// These vertices are used to make up the triangles of the tube by connecting them together in the vertex array.\n// The indexes of tube segments run from 0 to 8.\n//\nvec3 getTubePosition(vec3 d, float index, out vec3 normal) {\n float segmentCount = 8.0;\n\n float angle = 2.0 * 3.14159 * (index / segmentCount);\n\n vec3 u = getOrthogonalVector(d);\n vec3 v = normalize(cross(u, d));\n\n vec3 x = u * cos(angle) * length(d);\n vec3 y = v * sin(angle) * length(d);\n vec3 v3 = x + y;\n\n normal = normalize(v3);\n\n return v3;\n}\n\nattribute vec4 vector;\nattribute vec4 color, position;\nattribute vec2 uv;\n\nuniform float vectorScale, tubeScale;\nuniform mat4 model, view, projection, inverseModel;\nuniform vec3 eyePosition, lightPosition;\n\nvarying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n // Scale the vector magnitude to stay constant with\n // model & view changes.\n vec3 normal;\n vec3 XYZ = getTubePosition(mat3(model) * (tubeScale * vector.w * normalize(vector.xyz)), position.w, normal);\n vec4 tubePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\n\n //Lighting geometry parameters\n vec4 cameraCoordinate = view * tubePosition;\n cameraCoordinate.xyz /= cameraCoordinate.w;\n f_lightDirection = lightPosition - cameraCoordinate.xyz;\n f_eyeDirection = eyePosition - cameraCoordinate.xyz;\n f_normal = normalize((vec4(normal, 0.0) * inverseModel).xyz);\n\n // vec4 m_position = model * vec4(tubePosition, 1.0);\n vec4 t_position = view * tubePosition;\n gl_Position = projection * t_position;\n\n f_color = color;\n f_data = tubePosition.xyz;\n f_position = position.xyz;\n f_uv = uv;\n}\n"]),a=n(["#extension GL_OES_standard_derivatives : enable\n\nprecision highp float;\n#define GLSLIFY 1\n\nfloat beckmannDistribution(float x, float roughness) {\n float NdotH = max(x, 0.0001);\n float cos2Alpha = NdotH * NdotH;\n float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;\n float roughness2 = roughness * roughness;\n float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;\n return exp(tan2Alpha / roughness2) / denom;\n}\n\nfloat cookTorranceSpecular(\n vec3 lightDirection,\n vec3 viewDirection,\n vec3 surfaceNormal,\n float roughness,\n float fresnel) {\n\n float VdotN = max(dot(viewDirection, surfaceNormal), 0.0);\n float LdotN = max(dot(lightDirection, surfaceNormal), 0.0);\n\n //Half angle vector\n vec3 H = normalize(lightDirection + viewDirection);\n\n //Geometric term\n float NdotH = max(dot(surfaceNormal, H), 0.0);\n float VdotH = max(dot(viewDirection, H), 0.000001);\n float LdotH = max(dot(lightDirection, H), 0.000001);\n float G1 = (2.0 * NdotH * VdotN) / VdotH;\n float G2 = (2.0 * NdotH * LdotN) / LdotH;\n float G = min(1.0, min(G1, G2));\n \n //Distribution term\n float D = beckmannDistribution(NdotH, roughness);\n\n //Fresnel term\n float F = pow(1.0 - VdotN, fresnel);\n\n //Multiply terms and done\n return G * F * D / max(3.14159265 * VdotN, 0.000001);\n}\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity;\nuniform sampler2D texture;\n\nvarying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n vec3 N = normalize(f_normal);\n vec3 L = normalize(f_lightDirection);\n vec3 V = normalize(f_eyeDirection);\n\n if(gl_FrontFacing) {\n N = -N;\n }\n\n float specular = min(1.0, max(0.0, cookTorranceSpecular(L, V, N, roughness, fresnel)));\n float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\n\n vec4 surfaceColor = f_color * texture2D(texture, f_uv);\n vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular, 1.0);\n\n gl_FragColor = litColor * opacity;\n}\n"]),o=n(["precision highp float;\n\nprecision highp float;\n#define GLSLIFY 1\n\nvec3 getOrthogonalVector(vec3 v) {\n // Return up-vector for only-z vector.\n // Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0).\n // From the above if-statement we have ||a|| > 0 U ||b|| > 0.\n // Assign z = 0, x = -b, y = a:\n // a*-b + b*a + c*0 = -ba + ba + 0 = 0\n if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\n return normalize(vec3(-v.y, v.x, 0.0));\n } else {\n return normalize(vec3(0.0, v.z, -v.y));\n }\n}\n\n// Calculate the tube vertex and normal at the given index.\n//\n// The returned vertex is for a tube ring with its center at origin, radius of length(d), pointing in the direction of d.\n//\n// Each tube segment is made up of a ring of vertices.\n// These vertices are used to make up the triangles of the tube by connecting them together in the vertex array.\n// The indexes of tube segments run from 0 to 8.\n//\nvec3 getTubePosition(vec3 d, float index, out vec3 normal) {\n float segmentCount = 8.0;\n\n float angle = 2.0 * 3.14159 * (index / segmentCount);\n\n vec3 u = getOrthogonalVector(d);\n vec3 v = normalize(cross(u, d));\n\n vec3 x = u * cos(angle) * length(d);\n vec3 y = v * sin(angle) * length(d);\n vec3 v3 = x + y;\n\n normal = normalize(v3);\n\n return v3;\n}\n\nattribute vec4 vector;\nattribute vec4 position;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\nuniform float tubeScale;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n vec3 normal;\n vec3 XYZ = getTubePosition(mat3(model) * (tubeScale * vector.w * normalize(vector.xyz)), position.w, normal);\n vec4 tubePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\n\n gl_Position = projection * view * tubePosition;\n f_id = id;\n f_position = position.xyz;\n}\n"]),s=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float pickId;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n\n gl_FragColor = vec4(pickId, f_id.xyz);\n}"]);e.meshShader={vertex:i,fragment:a,attributes:[{name:"position",type:"vec4"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"},{name:"vector",type:"vec4"}]},e.pickShader={vertex:o,fragment:s,attributes:[{name:"position",type:"vec4"},{name:"id",type:"vec4"},{name:"vector",type:"vec4"}]}},7307:function(t,e,r){"use strict";var n=r(2858),i=r(4020),a=["xyz","xzy","yxz","yzx","zxy","zyx"],o=function(t,e){var r,n=t.length;for(r=0;r<n;r++){var i=t[r];if(i===e)return r;if(i>e)return r-1}return r},s=function(t,e,r){return t<e?e:t>r?r:t},l=function(t){var e=1/0;t.sort((function(t,e){return t-e}));for(var r=t.length,n=1;n<r;n++){var i=Math.abs(t[n]-t[n-1]);i<e&&(e=i)}return e};t.exports=function(t,e){var r=t.startingPositions,u=t.maxLength||1e3,c=t.tubeSize||1,f=t.absoluteTubeSize,h=t.gridFill||"+x+y+z",p={};-1!==h.indexOf("-x")&&(p.reversedX=!0),-1!==h.indexOf("-y")&&(p.reversedY=!0),-1!==h.indexOf("-z")&&(p.reversedZ=!0),p.filled=a.indexOf(h.replace(/-/g,"").replace(/\+/g,""));var d=t.getVelocity||function(e){return function(t,e,r){var i=e.vectors,a=e.meshgrid,l=t[0],u=t[1],c=t[2],f=a[0].length,h=a[1].length,p=a[2].length,d=o(a[0],l),v=o(a[1],u),g=o(a[2],c),y=d+1,m=v+1,x=g+1;if(d=s(d,0,f-1),y=s(y,0,f-1),v=s(v,0,h-1),m=s(m,0,h-1),g=s(g,0,p-1),x=s(x,0,p-1),d<0||v<0||g<0||y>f-1||m>h-1||x>p-1)return n.create();var b,_,w,T,k,A,M=a[0][d],S=a[0][y],E=a[1][v],L=a[1][m],C=a[2][g],P=(l-M)/(S-M),O=(u-E)/(L-E),I=(c-C)/(a[2][x]-C);switch(isFinite(P)||(P=.5),isFinite(O)||(O=.5),isFinite(I)||(I=.5),r.reversedX&&(d=f-1-d,y=f-1-y),r.reversedY&&(v=h-1-v,m=h-1-m),r.reversedZ&&(g=p-1-g,x=p-1-x),r.filled){case 5:k=g,A=x,w=v*p,T=m*p,b=d*p*h,_=y*p*h;break;case 4:k=g,A=x,b=d*p,_=y*p,w=v*p*f,T=m*p*f;break;case 3:w=v,T=m,k=g*h,A=x*h,b=d*h*p,_=y*h*p;break;case 2:w=v,T=m,b=d*h,_=y*h,k=g*h*f,A=x*h*f;break;case 1:b=d,_=y,k=g*f,A=x*f,w=v*f*p,T=m*f*p;break;default:b=d,_=y,w=v*f,T=m*f,k=g*f*h,A=x*f*h}var D=i[b+w+k],z=i[b+w+A],R=i[b+T+k],F=i[b+T+A],B=i[_+w+k],N=i[_+w+A],j=i[_+T+k],U=i[_+T+A],V=n.create(),H=n.create(),q=n.create(),G=n.create();n.lerp(V,D,B,P),n.lerp(H,z,N,P),n.lerp(q,R,j,P),n.lerp(G,F,U,P);var Z=n.create(),Y=n.create();n.lerp(Z,V,q,O),n.lerp(Y,H,G,O);var W=n.create();return n.lerp(W,Z,Y,I),W}(e,t,p)},v=t.getDivergence||function(t,e){var r=n.create(),i=1e-4;n.add(r,t,[i,0,0]);var a=d(r);n.subtract(a,a,e),n.scale(a,a,1/i),n.add(r,t,[0,i,0]);var o=d(r);n.subtract(o,o,e),n.scale(o,o,1/i),n.add(r,t,[0,0,i]);var s=d(r);return n.subtract(s,s,e),n.scale(s,s,1/i),n.add(r,a,o),n.add(r,r,s),r},g=[],y=e[0][0],m=e[0][1],x=e[0][2],b=e[1][0],_=e[1][1],w=e[1][2],T=function(t){var e=t[0],r=t[1],n=t[2];return!(e<y||e>b||r<m||r>_||n<x||n>w)},k=10*n.distance(e[0],e[1])/u,A=k*k,M=1,S=0,E=r.length;E>1&&(M=function(t){for(var e=[],r=[],n=[],i={},a={},o={},s=t.length,u=0;u<s;u++){var c=t[u],f=c[0],h=c[1],p=c[2];i[f]||(e.push(f),i[f]=!0),a[h]||(r.push(h),a[h]=!0),o[p]||(n.push(p),o[p]=!0)}var d=l(e),v=l(r),g=l(n),y=Math.min(d,v,g);return isFinite(y)?y:1}(r));for(var L=0;L<E;L++){var C=n.create();n.copy(C,r[L]);var P=[C],O=[],I=d(C),D=C;O.push(I);var z=[],R=v(C,I),F=n.length(R);isFinite(F)&&F>S&&(S=F),z.push(F),g.push({points:P,velocities:O,divergences:z});for(var B=0;B<100*u&&P.length<u&&T(C);){B++;var N=n.clone(I),j=n.squaredLength(N);if(0===j)break;j>A&&n.scale(N,N,k/Math.sqrt(j)),n.add(N,N,C),I=d(N),n.squaredDistance(D,N)-A>-1e-4*A&&(P.push(N),D=N,O.push(I),R=v(N,I),F=n.length(R),isFinite(F)&&F>S&&(S=F),z.push(F)),C=N}}var U=function(t,e,r,a){for(var o=0,s=0;s<t.length;s++)for(var l=t[s].velocities,u=0;u<l.length;u++)o=Math.max(o,n.length(l[u]));var c=t.map((function(t){return function(t,e,r,a){for(var o=t.points,s=t.velocities,l=t.divergences,u=[],c=[],f=[],h=[],p=[],d=[],v=0,g=0,y=i.create(),m=i.create(),x=0;x<o.length;x++){var b=o[x],_=s[x],w=l[x];0===e&&(w=.05*r),g=n.length(_)/a,y=i.create(),n.copy(y,_),y[3]=w;for(var T=0;T<8;T++)p[T]=[b[0],b[1],b[2],T];if(h.length>0)for(T=0;T<8;T++){var k=(T+1)%8;u.push(h[T],p[T],p[k],p[k],h[k],h[T]),f.push(m,y,y,y,m,m),d.push(v,g,g,g,v,v);var A=u.length;c.push([A-6,A-5,A-4],[A-3,A-2,A-1])}var M=h;h=p,p=M;var S=m;m=y,y=S;var E=v;v=g,g=E}return{positions:u,cells:c,vectors:f,vertexIntensity:d}}(t,r,a,o)})),f=[],h=[],p=[],d=[];for(s=0;s<c.length;s++){var v=c[s],g=f.length;for(f=f.concat(v.positions),p=p.concat(v.vectors),d=d.concat(v.vertexIntensity),u=0;u<v.cells.length;u++){var y=v.cells[u],m=[];h.push(m);for(var x=0;x<y.length;x++)m.push(y[x]+g)}}return{positions:f,cells:h,vectors:p,vertexIntensity:d,colormap:e}}(g,t.colormap,S,M);return f?U.tubeScale=f:(0===S&&(S=1),U.tubeScale=.5*c*M/S),U};var u=r(9578),c=r(1140).createMesh;t.exports.createTubeMesh=function(t,e){return c(t,e,{shaders:u,traceType:"streamtube"})}},9054:function(t,e,r){var n=r(5158),i=r(6832),a=i(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec4 uv;\nattribute vec3 f;\nattribute vec3 normal;\n\nuniform vec3 objectOffset;\nuniform mat4 model, view, projection, inverseModel;\nuniform vec3 lightPosition, eyePosition;\nuniform sampler2D colormap;\n\nvarying float value, kill;\nvarying vec3 worldCoordinate;\nvarying vec2 planeCoordinate;\nvarying vec3 lightDirection, eyeDirection, surfaceNormal;\nvarying vec4 vColor;\n\nvoid main() {\n vec3 localCoordinate = vec3(uv.zw, f.x);\n worldCoordinate = objectOffset + localCoordinate;\n vec4 worldPosition = model * vec4(worldCoordinate, 1.0);\n vec4 clipPosition = projection * view * worldPosition;\n gl_Position = clipPosition;\n kill = f.y;\n value = f.z;\n planeCoordinate = uv.xy;\n\n vColor = texture2D(colormap, vec2(value, value));\n\n //Lighting geometry parameters\n vec4 cameraCoordinate = view * worldPosition;\n cameraCoordinate.xyz /= cameraCoordinate.w;\n lightDirection = lightPosition - cameraCoordinate.xyz;\n eyeDirection = eyePosition - cameraCoordinate.xyz;\n surfaceNormal = normalize((vec4(normal,0) * inverseModel).xyz);\n}\n"]),o=i(["precision highp float;\n#define GLSLIFY 1\n\nfloat beckmannDistribution(float x, float roughness) {\n float NdotH = max(x, 0.0001);\n float cos2Alpha = NdotH * NdotH;\n float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;\n float roughness2 = roughness * roughness;\n float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;\n return exp(tan2Alpha / roughness2) / denom;\n}\n\nfloat beckmannSpecular(\n vec3 lightDirection,\n vec3 viewDirection,\n vec3 surfaceNormal,\n float roughness) {\n return beckmannDistribution(dot(surfaceNormal, normalize(lightDirection + viewDirection)), roughness);\n}\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 lowerBound, upperBound;\nuniform float contourTint;\nuniform vec4 contourColor;\nuniform sampler2D colormap;\nuniform vec3 clipBounds[2];\nuniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity;\nuniform float vertexColor;\n\nvarying float value, kill;\nvarying vec3 worldCoordinate;\nvarying vec3 lightDirection, eyeDirection, surfaceNormal;\nvarying vec4 vColor;\n\nvoid main() {\n if (\n kill > 0.0 ||\n vColor.a == 0.0 ||\n outOfRange(clipBounds[0], clipBounds[1], worldCoordinate)\n ) discard;\n\n vec3 N = normalize(surfaceNormal);\n vec3 V = normalize(eyeDirection);\n vec3 L = normalize(lightDirection);\n\n if(gl_FrontFacing) {\n N = -N;\n }\n\n float specular = max(beckmannSpecular(L, V, N, roughness), 0.);\n float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\n\n //decide how to interpolate color — in vertex or in fragment\n vec4 surfaceColor =\n step(vertexColor, .5) * texture2D(colormap, vec2(value, value)) +\n step(.5, vertexColor) * vColor;\n\n vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular, 1.0);\n\n gl_FragColor = mix(litColor, contourColor, contourTint) * opacity;\n}\n"]),s=i(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec4 uv;\nattribute float f;\n\nuniform vec3 objectOffset;\nuniform mat3 permutation;\nuniform mat4 model, view, projection;\nuniform float height, zOffset;\nuniform sampler2D colormap;\n\nvarying float value, kill;\nvarying vec3 worldCoordinate;\nvarying vec2 planeCoordinate;\nvarying vec3 lightDirection, eyeDirection, surfaceNormal;\nvarying vec4 vColor;\n\nvoid main() {\n vec3 dataCoordinate = permutation * vec3(uv.xy, height);\n worldCoordinate = objectOffset + dataCoordinate;\n vec4 worldPosition = model * vec4(worldCoordinate, 1.0);\n\n vec4 clipPosition = projection * view * worldPosition;\n clipPosition.z += zOffset;\n\n gl_Position = clipPosition;\n value = f + objectOffset.z;\n kill = -1.0;\n planeCoordinate = uv.zw;\n\n vColor = texture2D(colormap, vec2(value, value));\n\n //Don't do lighting for contours\n surfaceNormal = vec3(1,0,0);\n eyeDirection = vec3(0,1,0);\n lightDirection = vec3(0,0,1);\n}\n"]),l=i(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec2 shape;\nuniform vec3 clipBounds[2];\nuniform float pickId;\n\nvarying float value, kill;\nvarying vec3 worldCoordinate;\nvarying vec2 planeCoordinate;\nvarying vec3 surfaceNormal;\n\nvec2 splitFloat(float v) {\n float vh = 255.0 * v;\n float upper = floor(vh);\n float lower = fract(vh);\n return vec2(upper / 255.0, floor(lower * 16.0) / 16.0);\n}\n\nvoid main() {\n if ((kill > 0.0) ||\n (outOfRange(clipBounds[0], clipBounds[1], worldCoordinate))) discard;\n\n vec2 ux = splitFloat(planeCoordinate.x / shape.x);\n vec2 uy = splitFloat(planeCoordinate.y / shape.y);\n gl_FragColor = vec4(pickId, ux.x, uy.x, ux.y + (uy.y/16.0));\n}\n"]);e.createShader=function(t){var e=n(t,a,o,null,[{name:"uv",type:"vec4"},{name:"f",type:"vec3"},{name:"normal",type:"vec3"}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e.attributes.normal.location=2,e},e.createPickShader=function(t){var e=n(t,a,l,null,[{name:"uv",type:"vec4"},{name:"f",type:"vec3"},{name:"normal",type:"vec3"}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e.attributes.normal.location=2,e},e.createContourShader=function(t){var e=n(t,s,o,null,[{name:"uv",type:"vec4"},{name:"f",type:"float"}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e},e.createPickContourShader=function(t){var e=n(t,s,l,null,[{name:"uv",type:"vec4"},{name:"f",type:"float"}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e}},3754:function(t,e,r){"use strict";t.exports=function(t){var e=t.gl,r=m(e),n=b(e),s=x(e),l=_(e),u=i(e),c=a(e,[{buffer:u,size:4,stride:40,offset:0},{buffer:u,size:3,stride:40,offset:16},{buffer:u,size:3,stride:40,offset:28}]),f=i(e),h=a(e,[{buffer:f,size:4,stride:20,offset:0},{buffer:f,size:1,stride:20,offset:16}]),p=i(e),d=a(e,[{buffer:p,size:2,type:e.FLOAT}]),v=o(e,1,256,e.RGBA,e.UNSIGNED_BYTE);v.minFilter=e.LINEAR,v.magFilter=e.LINEAR;var g=new M(e,[0,0],[[0,0,0],[0,0,0]],r,n,u,c,v,s,l,f,h,p,d,[0,0,0]),y={levels:[[],[],[]]};for(var w in t)y[w]=t[w];return y.colormap=y.colormap||"jet",g.update(y),g};var n=r(2288),i=r(5827),a=r(2944),o=r(8931),s=r(5306),l=r(9156),u=r(7498),c=r(7382),f=r(5050),h=r(4162),p=r(104),d=r(7437),v=r(5070),g=r(9144),y=r(9054),m=y.createShader,x=y.createContourShader,b=y.createPickShader,_=y.createPickContourShader,w=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],T=[[0,0],[0,1],[1,0],[1,1],[1,0],[0,1]],k=[[0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0]];function A(t,e,r,n,i){this.position=t,this.index=e,this.uv=r,this.level=n,this.dataCoordinate=i}function M(t,e,r,n,i,a,o,l,u,c,h,p,d,v,g){this.gl=t,this.shape=e,this.bounds=r,this.objectOffset=g,this.intensityBounds=[],this._shader=n,this._pickShader=i,this._coordinateBuffer=a,this._vao=o,this._colorMap=l,this._contourShader=u,this._contourPickShader=c,this._contourBuffer=h,this._contourVAO=p,this._contourOffsets=[[],[],[]],this._contourCounts=[[],[],[]],this._vertexCount=0,this._pickResult=new A([0,0,0],[0,0],[0,0],[0,0,0],[0,0,0]),this._dynamicBuffer=d,this._dynamicVAO=v,this._dynamicOffsets=[0,0,0],this._dynamicCounts=[0,0,0],this.contourWidth=[1,1,1],this.contourLevels=[[1],[1],[1]],this.contourTint=[0,0,0],this.contourColor=[[.5,.5,.5,1],[.5,.5,.5,1],[.5,.5,.5,1]],this.showContour=!0,this.showSurface=!0,this.enableHighlight=[!0,!0,!0],this.highlightColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.highlightTint=[1,1,1],this.highlightLevel=[-1,-1,-1],this.enableDynamic=[!0,!0,!0],this.dynamicLevel=[NaN,NaN,NaN],this.dynamicColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.dynamicTint=[1,1,1],this.dynamicWidth=[1,1,1],this.axesBounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.surfaceProject=[!1,!1,!1],this.contourProject=[[!1,!1,!1],[!1,!1,!1],[!1,!1,!1]],this.colorBounds=[!1,!1],this._field=[f(s.mallocFloat(1024),[0,0]),f(s.mallocFloat(1024),[0,0]),f(s.mallocFloat(1024),[0,0])],this.pickId=1,this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.snapToData=!1,this.pixelRatio=1,this.opacity=1,this.lightPosition=[10,1e4,0],this.ambientLight=.8,this.diffuseLight=.8,this.specularLight=2,this.roughness=.5,this.fresnel=1.5,this.vertexColor=0,this.dirty=!0}!function(){for(var t=0;t<3;++t){var e=k[t],r=(t+2)%3;e[(t+1)%3+0]=1,e[r+3]=1,e[t+6]=1}}();var S=M.prototype;S.genColormap=function(t,e){var r=!1,n=c([l({colormap:t,nshades:256,format:"rgba"}).map((function(t,n){var i=e?function(t,e){if(!e)return 1;if(!e.length)return 1;for(var r=0;r<e.length;++r){if(e.length<2)return 1;if(e[r][0]===t)return e[r][1];if(e[r][0]>t&&r>0){var n=(e[r][0]-t)/(e[r][0]-e[r-1][0]);return e[r][1]*(1-n)+n*e[r-1][1]}}return 1}(n/255,e):t[3];return i<1&&(r=!0),[t[0],t[1],t[2],255*i]}))]);return u.divseq(n,255),this.hasAlphaScale=r,n},S.isTransparent=function(){return this.opacity<1||this.hasAlphaScale},S.isOpaque=function(){return!this.isTransparent()},S.pickSlots=1,S.setPickBase=function(t){this.pickId=t};var E=[0,0,0],L={showSurface:!1,showContour:!1,projections:[w.slice(),w.slice(),w.slice()],clipBounds:[[[0,0,0],[0,0,0]],[[0,0,0],[0,0,0]],[[0,0,0],[0,0,0]]]};function C(t,e){var r,n,i,a=e.axes&&e.axes.lastCubeProps.axis||E,o=e.showSurface,s=e.showContour;for(r=0;r<3;++r)for(o=o||e.surfaceProject[r],n=0;n<3;++n)s=s||e.contourProject[r][n];for(r=0;r<3;++r){var l=L.projections[r];for(n=0;n<16;++n)l[n]=0;for(n=0;n<4;++n)l[5*n]=1;l[5*r]=0,l[12+r]=e.axesBounds[+(a[r]>0)][r],p(l,t.model,l);var u=L.clipBounds[r];for(i=0;i<2;++i)for(n=0;n<3;++n)u[i][n]=t.clipBounds[i][n];u[0][r]=-1e8,u[1][r]=1e8}return L.showSurface=o,L.showContour=s,L}var P={model:w,view:w,projection:w,inverseModel:w.slice(),lowerBound:[0,0,0],upperBound:[0,0,0],colorMap:0,clipBounds:[[0,0,0],[0,0,0]],height:0,contourTint:0,contourColor:[0,0,0,1],permutation:[1,0,0,0,1,0,0,0,1],zOffset:-1e-4,objectOffset:[0,0,0],kambient:1,kdiffuse:1,kspecular:1,lightPosition:[1e3,1e3,1e3],eyePosition:[0,0,0],roughness:1,fresnel:1,opacity:1,vertexColor:0},O=w.slice(),I=[1,0,0,0,1,0,0,0,1];function D(t,e){t=t||{};var r=this.gl;r.disable(r.CULL_FACE),this._colorMap.bind(0);var n=P;n.model=t.model||w,n.view=t.view||w,n.projection=t.projection||w,n.lowerBound=[this.bounds[0][0],this.bounds[0][1],this.colorBounds[0]||this.bounds[0][2]],n.upperBound=[this.bounds[1][0],this.bounds[1][1],this.colorBounds[1]||this.bounds[1][2]],n.objectOffset=this.objectOffset,n.contourColor=this.contourColor[0],n.inverseModel=d(n.inverseModel,n.model);for(var i=0;i<2;++i)for(var a=n.clipBounds[i],o=0;o<3;++o)a[o]=Math.min(Math.max(this.clipBounds[i][o],-1e8),1e8);n.kambient=this.ambientLight,n.kdiffuse=this.diffuseLight,n.kspecular=this.specularLight,n.roughness=this.roughness,n.fresnel=this.fresnel,n.opacity=this.opacity,n.height=0,n.permutation=I,n.vertexColor=this.vertexColor;var s=O;for(p(s,n.view,n.model),p(s,n.projection,s),d(s,s),i=0;i<3;++i)n.eyePosition[i]=s[12+i]/s[15];var l=s[15];for(i=0;i<3;++i)l+=this.lightPosition[i]*s[4*i+3];for(i=0;i<3;++i){var u=s[12+i];for(o=0;o<3;++o)u+=s[4*o+i]*this.lightPosition[o];n.lightPosition[i]=u/l}var c=C(n,this);if(c.showSurface){for(this._shader.bind(),this._shader.uniforms=n,this._vao.bind(),this.showSurface&&this._vertexCount&&this._vao.draw(r.TRIANGLES,this._vertexCount),i=0;i<3;++i)this.surfaceProject[i]&&this.vertexCount&&(this._shader.uniforms.model=c.projections[i],this._shader.uniforms.clipBounds=c.clipBounds[i],this._vao.draw(r.TRIANGLES,this._vertexCount));this._vao.unbind()}if(c.showContour){var f=this._contourShader;n.kambient=1,n.kdiffuse=0,n.kspecular=0,n.opacity=1,f.bind(),f.uniforms=n;var h=this._contourVAO;for(h.bind(),i=0;i<3;++i)for(f.uniforms.permutation=k[i],r.lineWidth(this.contourWidth[i]*this.pixelRatio),o=0;o<this.contourLevels[i].length;++o)o===this.highlightLevel[i]?(f.uniforms.contourColor=this.highlightColor[i],f.uniforms.contourTint=this.highlightTint[i]):0!==o&&o-1!==this.highlightLevel[i]||(f.uniforms.contourColor=this.contourColor[i],f.uniforms.contourTint=this.contourTint[i]),this._contourCounts[i][o]&&(f.uniforms.height=this.contourLevels[i][o],h.draw(r.LINES,this._contourCounts[i][o],this._contourOffsets[i][o]));for(i=0;i<3;++i)for(f.uniforms.model=c.projections[i],f.uniforms.clipBounds=c.clipBounds[i],o=0;o<3;++o)if(this.contourProject[i][o]){f.uniforms.permutation=k[o],r.lineWidth(this.contourWidth[o]*this.pixelRatio);for(var v=0;v<this.contourLevels[o].length;++v)v===this.highlightLevel[o]?(f.uniforms.contourColor=this.highlightColor[o],f.uniforms.contourTint=this.highlightTint[o]):0!==v&&v-1!==this.highlightLevel[o]||(f.uniforms.contourColor=this.contourColor[o],f.uniforms.contourTint=this.contourTint[o]),this._contourCounts[o][v]&&(f.uniforms.height=this.contourLevels[o][v],h.draw(r.LINES,this._contourCounts[o][v],this._contourOffsets[o][v]))}for(h.unbind(),(h=this._dynamicVAO).bind(),i=0;i<3;++i)if(0!==this._dynamicCounts[i])for(f.uniforms.model=n.model,f.uniforms.clipBounds=n.clipBounds,f.uniforms.permutation=k[i],r.lineWidth(this.dynamicWidth[i]*this.pixelRatio),f.uniforms.contourColor=this.dynamicColor[i],f.uniforms.contourTint=this.dynamicTint[i],f.uniforms.height=this.dynamicLevel[i],h.draw(r.LINES,this._dynamicCounts[i],this._dynamicOffsets[i]),o=0;o<3;++o)this.contourProject[o][i]&&(f.uniforms.model=c.projections[o],f.uniforms.clipBounds=c.clipBounds[o],h.draw(r.LINES,this._dynamicCounts[i],this._dynamicOffsets[i]));h.unbind()}}S.draw=function(t){return D.call(this,t,!1)},S.drawTransparent=function(t){return D.call(this,t,!0)};var z={model:w,view:w,projection:w,inverseModel:w,clipBounds:[[0,0,0],[0,0,0]],height:0,shape:[0,0],pickId:0,lowerBound:[0,0,0],upperBound:[0,0,0],zOffset:0,objectOffset:[0,0,0],permutation:[1,0,0,0,1,0,0,0,1],lightPosition:[0,0,0],eyePosition:[0,0,0]};function R(t,e){return Array.isArray(t)?[e(t[0]),e(t[1]),e(t[2])]:[e(t),e(t),e(t)]}function F(t){return Array.isArray(t)?3===t.length?[t[0],t[1],t[2],1]:[t[0],t[1],t[2],t[3]]:[0,0,0,1]}function B(t){if(Array.isArray(t)){if(Array.isArray(t))return[F(t[0]),F(t[1]),F(t[2])];var e=F(t);return[e.slice(),e.slice(),e.slice()]}}S.drawPick=function(t){t=t||{};var e=this.gl;e.disable(e.CULL_FACE);var r=z;r.model=t.model||w,r.view=t.view||w,r.projection=t.projection||w,r.shape=this._field[2].shape,r.pickId=this.pickId/255,r.lowerBound=this.bounds[0],r.upperBound=this.bounds[1],r.objectOffset=this.objectOffset,r.permutation=I;for(var n=0;n<2;++n)for(var i=r.clipBounds[n],a=0;a<3;++a)i[a]=Math.min(Math.max(this.clipBounds[n][a],-1e8),1e8);var o=C(r,this);if(o.showSurface){for(this._pickShader.bind(),this._pickShader.uniforms=r,this._vao.bind(),this._vao.draw(e.TRIANGLES,this._vertexCount),n=0;n<3;++n)this.surfaceProject[n]&&(this._pickShader.uniforms.model=o.projections[n],this._pickShader.uniforms.clipBounds=o.clipBounds[n],this._vao.draw(e.TRIANGLES,this._vertexCount));this._vao.unbind()}if(o.showContour){var s=this._contourPickShader;s.bind(),s.uniforms=r;var l=this._contourVAO;for(l.bind(),a=0;a<3;++a)for(e.lineWidth(this.contourWidth[a]*this.pixelRatio),s.uniforms.permutation=k[a],n=0;n<this.contourLevels[a].length;++n)this._contourCounts[a][n]&&(s.uniforms.height=this.contourLevels[a][n],l.draw(e.LINES,this._contourCounts[a][n],this._contourOffsets[a][n]));for(n=0;n<3;++n)for(s.uniforms.model=o.projections[n],s.uniforms.clipBounds=o.clipBounds[n],a=0;a<3;++a)if(this.contourProject[n][a]){s.uniforms.permutation=k[a],e.lineWidth(this.contourWidth[a]*this.pixelRatio);for(var u=0;u<this.contourLevels[a].length;++u)this._contourCounts[a][u]&&(s.uniforms.height=this.contourLevels[a][u],l.draw(e.LINES,this._contourCounts[a][u],this._contourOffsets[a][u]))}l.unbind()}},S.pick=function(t){if(!t)return null;if(t.id!==this.pickId)return null;var e=this._field[2].shape,r=this._pickResult,n=e[0]*(t.value[0]+(t.value[2]>>4)/16)/255,i=Math.floor(n),a=n-i,o=e[1]*(t.value[1]+(15&t.value[2])/16)/255,s=Math.floor(o),l=o-s;i+=1,s+=1;var u=r.position;u[0]=u[1]=u[2]=0;for(var c=0;c<2;++c)for(var f=c?a:1-a,h=0;h<2;++h)for(var p=i+c,d=s+h,g=f*(h?l:1-l),y=0;y<3;++y)u[y]+=this._field[y].get(p,d)*g;for(var m=this._pickResult.level,x=0;x<3;++x)if(m[x]=v.le(this.contourLevels[x],u[x]),m[x]<0)this.contourLevels[x].length>0&&(m[x]=0);else if(m[x]<this.contourLevels[x].length-1){var b=this.contourLevels[x][m[x]],_=this.contourLevels[x][m[x]+1];Math.abs(b-u[x])>Math.abs(_-u[x])&&(m[x]+=1)}for(r.index[0]=a<.5?i:i+1,r.index[1]=l<.5?s:s+1,r.uv[0]=n/e[0],r.uv[1]=o/e[1],y=0;y<3;++y)r.dataCoordinate[y]=this._field[y].get(r.index[0],r.index[1]);return r},S.padField=function(t,e){var r=e.shape.slice(),n=t.shape.slice();u.assign(t.lo(1,1).hi(r[0],r[1]),e),u.assign(t.lo(1).hi(r[0],1),e.hi(r[0],1)),u.assign(t.lo(1,n[1]-1).hi(r[0],1),e.lo(0,r[1]-1).hi(r[0],1)),u.assign(t.lo(0,1).hi(1,r[1]),e.hi(1)),u.assign(t.lo(n[0]-1,1).hi(1,r[1]),e.lo(r[0]-1)),t.set(0,0,e.get(0,0)),t.set(0,n[1]-1,e.get(0,r[1]-1)),t.set(n[0]-1,0,e.get(r[0]-1,0)),t.set(n[0]-1,n[1]-1,e.get(r[0]-1,r[1]-1))},S.update=function(t){t=t||{},this.objectOffset=t.objectOffset||this.objectOffset,this.dirty=!0,"contourWidth"in t&&(this.contourWidth=R(t.contourWidth,Number)),"showContour"in t&&(this.showContour=R(t.showContour,Boolean)),"showSurface"in t&&(this.showSurface=!!t.showSurface),"contourTint"in t&&(this.contourTint=R(t.contourTint,Boolean)),"contourColor"in t&&(this.contourColor=B(t.contourColor)),"contourProject"in t&&(this.contourProject=R(t.contourProject,(function(t){return R(t,Boolean)}))),"surfaceProject"in t&&(this.surfaceProject=t.surfaceProject),"dynamicColor"in t&&(this.dynamicColor=B(t.dynamicColor)),"dynamicTint"in t&&(this.dynamicTint=R(t.dynamicTint,Number)),"dynamicWidth"in t&&(this.dynamicWidth=R(t.dynamicWidth,Number)),"opacity"in t&&(this.opacity=t.opacity),"opacityscale"in t&&(this.opacityscale=t.opacityscale),"colorBounds"in t&&(this.colorBounds=t.colorBounds),"vertexColor"in t&&(this.vertexColor=t.vertexColor?1:0),"colormap"in t&&this._colorMap.setPixels(this.genColormap(t.colormap,this.opacityscale));var e=t.field||t.coords&&t.coords[2]||null,r=!1;if(e||(e=this._field[2].shape[0]||this._field[2].shape[2]?this._field[2].lo(1,1).hi(this._field[2].shape[0]-2,this._field[2].shape[1]-2):this._field[2].hi(0,0)),"field"in t||"coords"in t){var i=(e.shape[0]+2)*(e.shape[1]+2);i>this._field[2].data.length&&(s.freeFloat(this._field[2].data),this._field[2].data=s.mallocFloat(n.nextPow2(i))),this._field[2]=f(this._field[2].data,[e.shape[0]+2,e.shape[1]+2]),this.padField(this._field[2],e),this.shape=e.shape.slice();for(var a=this.shape,o=0;o<2;++o)this._field[2].size>this._field[o].data.length&&(s.freeFloat(this._field[o].data),this._field[o].data=s.mallocFloat(this._field[2].size)),this._field[o]=f(this._field[o].data,[a[0]+2,a[1]+2]);if(t.coords){var l=t.coords;if(!Array.isArray(l)||3!==l.length)throw new Error("gl-surface: invalid coordinates for x/y");for(o=0;o<2;++o){var u=l[o];for(y=0;y<2;++y)if(u.shape[y]!==a[y])throw new Error("gl-surface: coords have incorrect shape");this.padField(this._field[o],u)}}else if(t.ticks){var c=t.ticks;if(!Array.isArray(c)||2!==c.length)throw new Error("gl-surface: invalid ticks");for(o=0;o<2;++o){var p=c[o];if((Array.isArray(p)||p.length)&&(p=f(p)),p.shape[0]!==a[o])throw new Error("gl-surface: invalid tick length");var d=f(p.data,a);d.stride[o]=p.stride[0],d.stride[1^o]=0,this.padField(this._field[o],d)}}else{for(o=0;o<2;++o){var v=[0,0];v[o]=1,this._field[o]=f(this._field[o].data,[a[0]+2,a[1]+2],v,0)}this._field[0].set(0,0,0);for(var y=0;y<a[0];++y)this._field[0].set(y+1,0,y);for(this._field[0].set(a[0]+1,0,a[0]-1),this._field[1].set(0,0,0),y=0;y<a[1];++y)this._field[1].set(0,y+1,y);this._field[1].set(0,a[1]+1,a[1]-1)}var m=this._field,x=f(s.mallocFloat(3*m[2].size*2),[3,a[0]+2,a[1]+2,2]);for(o=0;o<3;++o)g(x.pick(o),m[o],"mirror");var b=f(s.mallocFloat(3*m[2].size),[a[0]+2,a[1]+2,3]);for(o=0;o<a[0]+2;++o)for(y=0;y<a[1]+2;++y){var _=x.get(0,o,y,0),w=x.get(0,o,y,1),k=x.get(1,o,y,0),A=x.get(1,o,y,1),M=x.get(2,o,y,0),S=x.get(2,o,y,1),E=k*S-A*M,L=M*w-S*_,C=_*A-w*k,P=Math.sqrt(E*E+L*L+C*C);P<1e-8?(P=Math.max(Math.abs(E),Math.abs(L),Math.abs(C)))<1e-8?(C=1,L=E=0,P=1):P=1/P:P=1/Math.sqrt(P),b.set(o,y,0,E*P),b.set(o,y,1,L*P),b.set(o,y,2,C*P)}s.free(x.data);var O=[1/0,1/0,1/0],I=[-1/0,-1/0,-1/0],D=1/0,z=-1/0,F=(a[0]-1)*(a[1]-1)*6,N=s.mallocFloat(n.nextPow2(10*F)),j=0,U=0;for(o=0;o<a[0]-1;++o)t:for(y=0;y<a[1]-1;++y){for(var V=0;V<2;++V)for(var H=0;H<2;++H)for(var q=0;q<3;++q){var G=this._field[q].get(1+o+V,1+y+H);if(isNaN(G)||!isFinite(G))continue t}for(q=0;q<6;++q){var Z=o+T[q][0],Y=y+T[q][1],W=this._field[0].get(Z+1,Y+1),X=this._field[1].get(Z+1,Y+1);G=this._field[2].get(Z+1,Y+1),E=b.get(Z+1,Y+1,0),L=b.get(Z+1,Y+1,1),C=b.get(Z+1,Y+1,2),t.intensity&&(J=t.intensity.get(Z,Y));var J=t.intensity?t.intensity.get(Z,Y):G+this.objectOffset[2];N[j++]=Z,N[j++]=Y,N[j++]=W,N[j++]=X,N[j++]=G,N[j++]=0,N[j++]=J,N[j++]=E,N[j++]=L,N[j++]=C,O[0]=Math.min(O[0],W+this.objectOffset[0]),O[1]=Math.min(O[1],X+this.objectOffset[1]),O[2]=Math.min(O[2],G+this.objectOffset[2]),D=Math.min(D,J),I[0]=Math.max(I[0],W+this.objectOffset[0]),I[1]=Math.max(I[1],X+this.objectOffset[1]),I[2]=Math.max(I[2],G+this.objectOffset[2]),z=Math.max(z,J),U+=1}}for(t.intensityBounds&&(D=+t.intensityBounds[0],z=+t.intensityBounds[1]),o=6;o<j;o+=10)N[o]=(N[o]-D)/(z-D);this._vertexCount=U,this._coordinateBuffer.update(N.subarray(0,j)),s.freeFloat(N),s.free(b.data),this.bounds=[O,I],this.intensity=t.intensity||this._field[2],this.intensityBounds[0]===D&&this.intensityBounds[1]===z||(r=!0),this.intensityBounds=[D,z]}if("levels"in t){var K=t.levels;for(K=Array.isArray(K[0])?K.slice():[[],[],K],o=0;o<3;++o)K[o]=K[o].slice(),K[o].sort((function(t,e){return t-e}));for(o=0;o<3;++o)for(y=0;y<K[o].length;++y)K[o][y]-=this.objectOffset[o];t:for(o=0;o<3;++o){if(K[o].length!==this.contourLevels[o].length){r=!0;break}for(y=0;y<K[o].length;++y)if(K[o][y]!==this.contourLevels[o][y]){r=!0;break t}}this.contourLevels=K}if(r){m=this._field,a=this.shape;for(var $=[],Q=0;Q<3;++Q){var tt=this.contourLevels[Q],et=[],rt=[],nt=[0,0,0];for(o=0;o<tt.length;++o){var it=h(this._field[Q],tt[o]);et.push($.length/5|0),U=0;t:for(y=0;y<it.cells.length;++y){var at=it.cells[y];for(q=0;q<2;++q){var ot=it.positions[at[q]],st=ot[0],lt=0|Math.floor(st),ut=st-lt,ct=ot[1],ft=0|Math.floor(ct),ht=ct-ft,pt=!1;e:for(var dt=0;dt<3;++dt){nt[dt]=0;var vt=(Q+dt+1)%3;for(V=0;V<2;++V){var gt=V?ut:1-ut;for(Z=0|Math.min(Math.max(lt+V,0),a[0]),H=0;H<2;++H){var yt=H?ht:1-ht;if(Y=0|Math.min(Math.max(ft+H,0),a[1]),G=dt<2?this._field[vt].get(Z,Y):(this.intensity.get(Z,Y)-this.intensityBounds[0])/(this.intensityBounds[1]-this.intensityBounds[0]),!isFinite(G)||isNaN(G)){pt=!0;break e}var mt=gt*yt;nt[dt]+=mt*G}}}if(pt){if(q>0){for(var xt=0;xt<5;++xt)$.pop();U-=1}continue t}$.push(nt[0],nt[1],ot[0],ot[1],nt[2]),U+=1}}rt.push(U)}this._contourOffsets[Q]=et,this._contourCounts[Q]=rt}var bt=s.mallocFloat($.length);for(o=0;o<$.length;++o)bt[o]=$[o];this._contourBuffer.update(bt),s.freeFloat(bt)}},S.dispose=function(){this._shader.dispose(),this._vao.dispose(),this._coordinateBuffer.dispose(),this._colorMap.dispose(),this._contourBuffer.dispose(),this._contourVAO.dispose(),this._contourShader.dispose(),this._contourPickShader.dispose(),this._dynamicBuffer.dispose(),this._dynamicVAO.dispose();for(var t=0;t<3;++t)s.freeFloat(this._field[t].data)},S.highlight=function(t){var e,r;if(!t)return this._dynamicCounts=[0,0,0],this.dyanamicLevel=[NaN,NaN,NaN],void(this.highlightLevel=[-1,-1,-1]);for(e=0;e<3;++e)this.enableHighlight[e]?this.highlightLevel[e]=t.level[e]:this.highlightLevel[e]=-1;for(r=this.snapToData?t.dataCoordinate:t.position,e=0;e<3;++e)r[e]-=this.objectOffset[e];if(this.enableDynamic[0]&&r[0]!==this.dynamicLevel[0]||this.enableDynamic[1]&&r[1]!==this.dynamicLevel[1]||this.enableDynamic[2]&&r[2]!==this.dynamicLevel[2]){for(var n=0,i=this.shape,a=s.mallocFloat(12*i[0]*i[1]),o=0;o<3;++o)if(this.enableDynamic[o]){this.dynamicLevel[o]=r[o];var l=(o+1)%3,u=(o+2)%3,c=this._field[o],f=this._field[l],p=this._field[u],d=h(c,r[o]),v=d.cells,g=d.positions;for(this._dynamicOffsets[o]=n,e=0;e<v.length;++e)for(var y=v[e],m=0;m<2;++m){var x=g[y[m]],b=+x[0],_=0|b,w=0|Math.min(_+1,i[0]),T=b-_,k=1-T,A=+x[1],M=0|A,S=0|Math.min(M+1,i[1]),E=A-M,L=1-E,C=k*L,P=k*E,O=T*L,I=T*E,D=C*f.get(_,M)+P*f.get(_,S)+O*f.get(w,M)+I*f.get(w,S),z=C*p.get(_,M)+P*p.get(_,S)+O*p.get(w,M)+I*p.get(w,S);if(isNaN(D)||isNaN(z)){m&&(n-=1);break}a[2*n+0]=D,a[2*n+1]=z,n+=1}this._dynamicCounts[o]=n-this._dynamicOffsets[o]}else this.dynamicLevel[o]=NaN,this._dynamicCounts[o]=0;this._dynamicBuffer.update(a.subarray(0,2*n)),s.freeFloat(a)}}},8931:function(t,e,r){"use strict";var n=r(5050),i=r(7498),a=r(5306);t.exports=function(t){if(arguments.length<=1)throw new Error("gl-texture2d: Missing arguments for texture2d constructor");if(o||u(t),"number"==typeof arguments[1])return y(t,arguments[1],arguments[2],arguments[3]||t.RGBA,arguments[4]||t.UNSIGNED_BYTE);if(Array.isArray(arguments[1]))return y(t,0|arguments[1][0],0|arguments[1][1],arguments[2]||t.RGBA,arguments[3]||t.UNSIGNED_BYTE);if("object"==typeof arguments[1]){var e=arguments[1],r=c(e)?e:e.raw;if(r)return m(t,r,0|e.width,0|e.height,arguments[2]||t.RGBA,arguments[3]||t.UNSIGNED_BYTE);if(e.shape&&e.data&&e.stride)return x(t,e)}throw new Error("gl-texture2d: Invalid arguments for texture2d constructor")};var o=null,s=null,l=null;function u(t){o=[t.LINEAR,t.NEAREST_MIPMAP_LINEAR,t.LINEAR_MIPMAP_NEAREST,t.LINEAR_MIPMAP_NEAREST],s=[t.NEAREST,t.LINEAR,t.NEAREST_MIPMAP_NEAREST,t.NEAREST_MIPMAP_LINEAR,t.LINEAR_MIPMAP_NEAREST,t.LINEAR_MIPMAP_LINEAR],l=[t.REPEAT,t.CLAMP_TO_EDGE,t.MIRRORED_REPEAT]}function c(t){return"undefined"!=typeof HTMLCanvasElement&&t instanceof HTMLCanvasElement||"undefined"!=typeof HTMLImageElement&&t instanceof HTMLImageElement||"undefined"!=typeof HTMLVideoElement&&t instanceof HTMLVideoElement||"undefined"!=typeof ImageData&&t instanceof ImageData}var f=function(t,e){i.muls(t,e,255)};function h(t,e,r){var n=t.gl,i=n.getParameter(n.MAX_TEXTURE_SIZE);if(e<0||e>i||r<0||r>i)throw new Error("gl-texture2d: Invalid texture size");return t._shape=[e,r],t.bind(),n.texImage2D(n.TEXTURE_2D,0,t.format,e,r,0,t.format,t.type,null),t._mipLevels=[0],t}function p(t,e,r,n,i,a){this.gl=t,this.handle=e,this.format=i,this.type=a,this._shape=[r,n],this._mipLevels=[0],this._magFilter=t.NEAREST,this._minFilter=t.NEAREST,this._wrapS=t.CLAMP_TO_EDGE,this._wrapT=t.CLAMP_TO_EDGE,this._anisoSamples=1;var o=this,s=[this._wrapS,this._wrapT];Object.defineProperties(s,[{get:function(){return o._wrapS},set:function(t){return o.wrapS=t}},{get:function(){return o._wrapT},set:function(t){return o.wrapT=t}}]),this._wrapVector=s;var l=[this._shape[0],this._shape[1]];Object.defineProperties(l,[{get:function(){return o._shape[0]},set:function(t){return o.width=t}},{get:function(){return o._shape[1]},set:function(t){return o.height=t}}]),this._shapeVector=l}var d=p.prototype;function v(t,e){return 3===t.length?1===e[2]&&e[1]===t[0]*t[2]&&e[0]===t[2]:1===e[0]&&e[1]===t[0]}function g(t){var e=t.createTexture();return t.bindTexture(t.TEXTURE_2D,e),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),e}function y(t,e,r,n,i){var a=t.getParameter(t.MAX_TEXTURE_SIZE);if(e<0||e>a||r<0||r>a)throw new Error("gl-texture2d: Invalid texture shape");if(i===t.FLOAT&&!t.getExtension("OES_texture_float"))throw new Error("gl-texture2d: Floating point textures not supported on this platform");var o=g(t);return t.texImage2D(t.TEXTURE_2D,0,n,e,r,0,n,i,null),new p(t,o,e,r,n,i)}function m(t,e,r,n,i,a){var o=g(t);return t.texImage2D(t.TEXTURE_2D,0,i,i,a,e),new p(t,o,r,n,i,a)}function x(t,e){var r=e.dtype,o=e.shape.slice(),s=t.getParameter(t.MAX_TEXTURE_SIZE);if(o[0]<0||o[0]>s||o[1]<0||o[1]>s)throw new Error("gl-texture2d: Invalid texture size");var l=v(o,e.stride.slice()),u=0;"float32"===r?u=t.FLOAT:"float64"===r?(u=t.FLOAT,l=!1,r="float32"):"uint8"===r?u=t.UNSIGNED_BYTE:(u=t.UNSIGNED_BYTE,l=!1,r="uint8");var c,h,d=0;if(2===o.length)d=t.LUMINANCE,o=[o[0],o[1],1],e=n(e.data,o,[e.stride[0],e.stride[1],1],e.offset);else{if(3!==o.length)throw new Error("gl-texture2d: Invalid shape for texture");if(1===o[2])d=t.ALPHA;else if(2===o[2])d=t.LUMINANCE_ALPHA;else if(3===o[2])d=t.RGB;else{if(4!==o[2])throw new Error("gl-texture2d: Invalid shape for pixel coords");d=t.RGBA}}u!==t.FLOAT||t.getExtension("OES_texture_float")||(u=t.UNSIGNED_BYTE,l=!1);var y=e.size;if(l)c=0===e.offset&&e.data.length===y?e.data:e.data.subarray(e.offset,e.offset+y);else{var m=[o[2],o[2]*o[0],1];h=a.malloc(y,r);var x=n(h,o,m,0);"float32"!==r&&"float64"!==r||u!==t.UNSIGNED_BYTE?i.assign(x,e):f(x,e),c=h.subarray(0,y)}var b=g(t);return t.texImage2D(t.TEXTURE_2D,0,d,o[0],o[1],0,d,u,c),l||a.free(h),new p(t,b,o[0],o[1],d,u)}Object.defineProperties(d,{minFilter:{get:function(){return this._minFilter},set:function(t){this.bind();var e=this.gl;if(this.type===e.FLOAT&&o.indexOf(t)>=0&&(e.getExtension("OES_texture_float_linear")||(t=e.NEAREST)),s.indexOf(t)<0)throw new Error("gl-texture2d: Unknown filter mode "+t);return e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,t),this._minFilter=t}},magFilter:{get:function(){return this._magFilter},set:function(t){this.bind();var e=this.gl;if(this.type===e.FLOAT&&o.indexOf(t)>=0&&(e.getExtension("OES_texture_float_linear")||(t=e.NEAREST)),s.indexOf(t)<0)throw new Error("gl-texture2d: Unknown filter mode "+t);return e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,t),this._magFilter=t}},mipSamples:{get:function(){return this._anisoSamples},set:function(t){var e=this._anisoSamples;if(this._anisoSamples=0|Math.max(t,1),e!==this._anisoSamples){var r=this.gl.getExtension("EXT_texture_filter_anisotropic");r&&this.gl.texParameterf(this.gl.TEXTURE_2D,r.TEXTURE_MAX_ANISOTROPY_EXT,this._anisoSamples)}return this._anisoSamples}},wrapS:{get:function(){return this._wrapS},set:function(t){if(this.bind(),l.indexOf(t)<0)throw new Error("gl-texture2d: Unknown wrap mode "+t);return this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_S,t),this._wrapS=t}},wrapT:{get:function(){return this._wrapT},set:function(t){if(this.bind(),l.indexOf(t)<0)throw new Error("gl-texture2d: Unknown wrap mode "+t);return this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_T,t),this._wrapT=t}},wrap:{get:function(){return this._wrapVector},set:function(t){if(Array.isArray(t)||(t=[t,t]),2!==t.length)throw new Error("gl-texture2d: Must specify wrap mode for rows and columns");for(var e=0;e<2;++e)if(l.indexOf(t[e])<0)throw new Error("gl-texture2d: Unknown wrap mode "+t);this._wrapS=t[0],this._wrapT=t[1];var r=this.gl;return this.bind(),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_S,this._wrapS),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_T,this._wrapT),t}},shape:{get:function(){return this._shapeVector},set:function(t){if(Array.isArray(t)){if(2!==t.length)throw new Error("gl-texture2d: Invalid texture shape")}else t=[0|t,0|t];return h(this,0|t[0],0|t[1]),[0|t[0],0|t[1]]}},width:{get:function(){return this._shape[0]},set:function(t){return h(this,t|=0,this._shape[1]),t}},height:{get:function(){return this._shape[1]},set:function(t){return t|=0,h(this,this._shape[0],t),t}}}),d.bind=function(t){var e=this.gl;return void 0!==t&&e.activeTexture(e.TEXTURE0+(0|t)),e.bindTexture(e.TEXTURE_2D,this.handle),void 0!==t?0|t:e.getParameter(e.ACTIVE_TEXTURE)-e.TEXTURE0},d.dispose=function(){this.gl.deleteTexture(this.handle)},d.generateMipmap=function(){this.bind(),this.gl.generateMipmap(this.gl.TEXTURE_2D);for(var t=Math.min(this._shape[0],this._shape[1]),e=0;t>0;++e,t>>>=1)this._mipLevels.indexOf(e)<0&&this._mipLevels.push(e)},d.setPixels=function(t,e,r,o){var s=this.gl;this.bind(),Array.isArray(e)?(o=r,r=0|e[1],e=0|e[0]):(e=e||0,r=r||0),o=o||0;var l=c(t)?t:t.raw;if(l)this._mipLevels.indexOf(o)<0?(s.texImage2D(s.TEXTURE_2D,0,this.format,this.format,this.type,l),this._mipLevels.push(o)):s.texSubImage2D(s.TEXTURE_2D,o,e,r,this.format,this.type,l);else{if(!(t.shape&&t.stride&&t.data))throw new Error("gl-texture2d: Unsupported data type");if(t.shape.length<2||e+t.shape[1]>this._shape[1]>>>o||r+t.shape[0]>this._shape[0]>>>o||e<0||r<0)throw new Error("gl-texture2d: Texture dimensions are out of bounds");!function(t,e,r,o,s,l,u,c){var h=c.dtype,p=c.shape.slice();if(p.length<2||p.length>3)throw new Error("gl-texture2d: Invalid ndarray, must be 2d or 3d");var d=0,g=0,y=v(p,c.stride.slice());if("float32"===h?d=t.FLOAT:"float64"===h?(d=t.FLOAT,y=!1,h="float32"):"uint8"===h?d=t.UNSIGNED_BYTE:(d=t.UNSIGNED_BYTE,y=!1,h="uint8"),2===p.length)g=t.LUMINANCE,p=[p[0],p[1],1],c=n(c.data,p,[c.stride[0],c.stride[1],1],c.offset);else{if(3!==p.length)throw new Error("gl-texture2d: Invalid shape for texture");if(1===p[2])g=t.ALPHA;else if(2===p[2])g=t.LUMINANCE_ALPHA;else if(3===p[2])g=t.RGB;else{if(4!==p[2])throw new Error("gl-texture2d: Invalid shape for pixel coords");g=t.RGBA}p[2]}if(g!==t.LUMINANCE&&g!==t.ALPHA||s!==t.LUMINANCE&&s!==t.ALPHA||(g=s),g!==s)throw new Error("gl-texture2d: Incompatible texture format for setPixels");var m=c.size,x=u.indexOf(o)<0;if(x&&u.push(o),d===l&&y)0===c.offset&&c.data.length===m?x?t.texImage2D(t.TEXTURE_2D,o,s,p[0],p[1],0,s,l,c.data):t.texSubImage2D(t.TEXTURE_2D,o,e,r,p[0],p[1],s,l,c.data):x?t.texImage2D(t.TEXTURE_2D,o,s,p[0],p[1],0,s,l,c.data.subarray(c.offset,c.offset+m)):t.texSubImage2D(t.TEXTURE_2D,o,e,r,p[0],p[1],s,l,c.data.subarray(c.offset,c.offset+m));else{var b;b=l===t.FLOAT?a.mallocFloat32(m):a.mallocUint8(m);var _=n(b,p,[p[2],p[2]*p[0],1]);d===t.FLOAT&&l===t.UNSIGNED_BYTE?f(_,c):i.assign(_,c),x?t.texImage2D(t.TEXTURE_2D,o,s,p[0],p[1],0,s,l,b.subarray(0,m)):t.texSubImage2D(t.TEXTURE_2D,o,e,r,p[0],p[1],s,l,b.subarray(0,m)),l===t.FLOAT?a.freeFloat32(b):a.freeUint8(b)}}(s,e,r,o,this.format,this.type,this._mipLevels,t)}}},3056:function(t){"use strict";t.exports=function(t,e,r){e?e.bind():t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,null);var n=0|t.getParameter(t.MAX_VERTEX_ATTRIBS);if(r){if(r.length>n)throw new Error("gl-vao: Too many vertex attributes");for(var i=0;i<r.length;++i){var a=r[i];if(a.buffer){var o=a.buffer,s=a.size||4,l=a.type||t.FLOAT,u=!!a.normalized,c=a.stride||0,f=a.offset||0;o.bind(),t.enableVertexAttribArray(i),t.vertexAttribPointer(i,s,l,u,c,f)}else{if("number"==typeof a)t.vertexAttrib1f(i,a);else if(1===a.length)t.vertexAttrib1f(i,a[0]);else if(2===a.length)t.vertexAttrib2f(i,a[0],a[1]);else if(3===a.length)t.vertexAttrib3f(i,a[0],a[1],a[2]);else{if(4!==a.length)throw new Error("gl-vao: Invalid vertex attribute");t.vertexAttrib4f(i,a[0],a[1],a[2],a[3])}t.disableVertexAttribArray(i)}}for(;i<n;++i)t.disableVertexAttribArray(i)}else for(t.bindBuffer(t.ARRAY_BUFFER,null),i=0;i<n;++i)t.disableVertexAttribArray(i)}},7220:function(t,e,r){"use strict";var n=r(3056);function i(t){this.gl=t,this._elements=null,this._attributes=null,this._elementsType=t.UNSIGNED_SHORT}i.prototype.bind=function(){n(this.gl,this._elements,this._attributes)},i.prototype.update=function(t,e,r){this._elements=e,this._attributes=t,this._elementsType=r||this.gl.UNSIGNED_SHORT},i.prototype.dispose=function(){},i.prototype.unbind=function(){},i.prototype.draw=function(t,e,r){r=r||0;var n=this.gl;this._elements?n.drawElements(t,e,this._elementsType,r):n.drawArrays(t,r,e)},t.exports=function(t){return new i(t)}},3778:function(t,e,r){"use strict";var n=r(3056);function i(t,e,r,n,i,a){this.location=t,this.dimension=e,this.a=r,this.b=n,this.c=i,this.d=a}function a(t,e,r){this.gl=t,this._ext=e,this.handle=r,this._attribs=[],this._useElements=!1,this._elementsType=t.UNSIGNED_SHORT}i.prototype.bind=function(t){switch(this.dimension){case 1:t.vertexAttrib1f(this.location,this.a);break;case 2:t.vertexAttrib2f(this.location,this.a,this.b);break;case 3:t.vertexAttrib3f(this.location,this.a,this.b,this.c);break;case 4:t.vertexAttrib4f(this.location,this.a,this.b,this.c,this.d)}},a.prototype.bind=function(){this._ext.bindVertexArrayOES(this.handle);for(var t=0;t<this._attribs.length;++t)this._attribs[t].bind(this.gl)},a.prototype.unbind=function(){this._ext.bindVertexArrayOES(null)},a.prototype.dispose=function(){this._ext.deleteVertexArrayOES(this.handle)},a.prototype.update=function(t,e,r){if(this.bind(),n(this.gl,e,t),this.unbind(),this._attribs.length=0,t)for(var a=0;a<t.length;++a){var o=t[a];"number"==typeof o?this._attribs.push(new i(a,1,o)):Array.isArray(o)&&this._attribs.push(new i(a,o.length,o[0],o[1],o[2],o[3]))}this._useElements=!!e,this._elementsType=r||this.gl.UNSIGNED_SHORT},a.prototype.draw=function(t,e,r){r=r||0;var n=this.gl;this._useElements?n.drawElements(t,e,this._elementsType,r):n.drawArrays(t,r,e)},t.exports=function(t,e){return new a(t,e,e.createVertexArrayOES())}},2944:function(t,e,r){"use strict";var n=r(3778),i=r(7220);function a(t){this.bindVertexArrayOES=t.bindVertexArray.bind(t),this.createVertexArrayOES=t.createVertexArray.bind(t),this.deleteVertexArrayOES=t.deleteVertexArray.bind(t)}t.exports=function(t,e,r,o){var s,l=t.createVertexArray?new a(t):t.getExtension("OES_vertex_array_object");return(s=l?n(t,l):i(t)).update(e,r,o),s}},2598:function(t){t.exports=function(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t[2]=e[2]+r[2],t}},5879:function(t,e,r){t.exports=function(t,e){var r=n(t[0],t[1],t[2]),o=n(e[0],e[1],e[2]);i(r,r),i(o,o);var s=a(r,o);return s>1?0:Math.acos(s)};var n=r(5415),i=r(899),a=r(9305)},8827:function(t){t.exports=function(t,e){return t[0]=Math.ceil(e[0]),t[1]=Math.ceil(e[1]),t[2]=Math.ceil(e[2]),t}},7622:function(t){t.exports=function(t){var e=new Float32Array(3);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e}},8782:function(t){t.exports=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}},8501:function(t){t.exports=function(){var t=new Float32Array(3);return t[0]=0,t[1]=0,t[2]=0,t}},903:function(t){t.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=r[0],s=r[1],l=r[2];return t[0]=i*l-a*s,t[1]=a*o-n*l,t[2]=n*s-i*o,t}},5981:function(t,e,r){t.exports=r(8288)},8288:function(t){t.exports=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],i=e[2]-t[2];return Math.sqrt(r*r+n*n+i*i)}},8629:function(t,e,r){t.exports=r(7979)},7979:function(t){t.exports=function(t,e,r){return t[0]=e[0]/r[0],t[1]=e[1]/r[1],t[2]=e[2]/r[2],t}},9305:function(t){t.exports=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}},154:function(t){t.exports=1e-6},4932:function(t,e,r){t.exports=function(t,e){var r=t[0],i=t[1],a=t[2],o=e[0],s=e[1],l=e[2];return Math.abs(r-o)<=n*Math.max(1,Math.abs(r),Math.abs(o))&&Math.abs(i-s)<=n*Math.max(1,Math.abs(i),Math.abs(s))&&Math.abs(a-l)<=n*Math.max(1,Math.abs(a),Math.abs(l))};var n=r(154)},5777:function(t){t.exports=function(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]}},3306:function(t){t.exports=function(t,e){return t[0]=Math.floor(e[0]),t[1]=Math.floor(e[1]),t[2]=Math.floor(e[2]),t}},7447:function(t,e,r){t.exports=function(t,e,r,i,a,o){var s,l;for(e||(e=3),r||(r=0),l=i?Math.min(i*e+r,t.length):t.length,s=r;s<l;s+=e)n[0]=t[s],n[1]=t[s+1],n[2]=t[s+2],a(n,n,o),t[s]=n[0],t[s+1]=n[1],t[s+2]=n[2];return t};var n=r(8501)()},5415:function(t){t.exports=function(t,e,r){var n=new Float32Array(3);return n[0]=t,n[1]=e,n[2]=r,n}},2858:function(t,e,r){t.exports={EPSILON:r(154),create:r(8501),clone:r(7622),angle:r(5879),fromValues:r(5415),copy:r(8782),set:r(831),equals:r(4932),exactEquals:r(5777),add:r(2598),subtract:r(911),sub:r(8921),multiply:r(105),mul:r(5733),divide:r(7979),div:r(8629),min:r(3605),max:r(1716),floor:r(3306),ceil:r(8827),round:r(1624),scale:r(5685),scaleAndAdd:r(6722),distance:r(8288),dist:r(5981),squaredDistance:r(6403),sqrDist:r(5294),length:r(4693),len:r(1468),squaredLength:r(4337),sqrLen:r(3303),negate:r(435),inverse:r(2073),normalize:r(899),dot:r(9305),cross:r(903),lerp:r(1868),random:r(6660),transformMat4:r(3255),transformMat3:r(9908),transformQuat:r(6568),rotateX:r(392),rotateY:r(3222),rotateZ:r(3388),forEach:r(7447)}},2073:function(t){t.exports=function(t,e){return t[0]=1/e[0],t[1]=1/e[1],t[2]=1/e[2],t}},1468:function(t,e,r){t.exports=r(4693)},4693:function(t){t.exports=function(t){var e=t[0],r=t[1],n=t[2];return Math.sqrt(e*e+r*r+n*n)}},1868:function(t){t.exports=function(t,e,r,n){var i=e[0],a=e[1],o=e[2];return t[0]=i+n*(r[0]-i),t[1]=a+n*(r[1]-a),t[2]=o+n*(r[2]-o),t}},1716:function(t){t.exports=function(t,e,r){return t[0]=Math.max(e[0],r[0]),t[1]=Math.max(e[1],r[1]),t[2]=Math.max(e[2],r[2]),t}},3605:function(t){t.exports=function(t,e,r){return t[0]=Math.min(e[0],r[0]),t[1]=Math.min(e[1],r[1]),t[2]=Math.min(e[2],r[2]),t}},5733:function(t,e,r){t.exports=r(105)},105:function(t){t.exports=function(t,e,r){return t[0]=e[0]*r[0],t[1]=e[1]*r[1],t[2]=e[2]*r[2],t}},435:function(t){t.exports=function(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t}},899:function(t){t.exports=function(t,e){var r=e[0],n=e[1],i=e[2],a=r*r+n*n+i*i;return a>0&&(a=1/Math.sqrt(a),t[0]=e[0]*a,t[1]=e[1]*a,t[2]=e[2]*a),t}},6660:function(t){t.exports=function(t,e){e=e||1;var r=2*Math.random()*Math.PI,n=2*Math.random()-1,i=Math.sqrt(1-n*n)*e;return t[0]=Math.cos(r)*i,t[1]=Math.sin(r)*i,t[2]=n*e,t}},392:function(t){t.exports=function(t,e,r,n){var i=r[1],a=r[2],o=e[1]-i,s=e[2]-a,l=Math.sin(n),u=Math.cos(n);return t[0]=e[0],t[1]=i+o*u-s*l,t[2]=a+o*l+s*u,t}},3222:function(t){t.exports=function(t,e,r,n){var i=r[0],a=r[2],o=e[0]-i,s=e[2]-a,l=Math.sin(n),u=Math.cos(n);return t[0]=i+s*l+o*u,t[1]=e[1],t[2]=a+s*u-o*l,t}},3388:function(t){t.exports=function(t,e,r,n){var i=r[0],a=r[1],o=e[0]-i,s=e[1]-a,l=Math.sin(n),u=Math.cos(n);return t[0]=i+o*u-s*l,t[1]=a+o*l+s*u,t[2]=e[2],t}},1624:function(t){t.exports=function(t,e){return t[0]=Math.round(e[0]),t[1]=Math.round(e[1]),t[2]=Math.round(e[2]),t}},5685:function(t){t.exports=function(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t}},6722:function(t){t.exports=function(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t[2]=e[2]+r[2]*n,t}},831:function(t){t.exports=function(t,e,r,n){return t[0]=e,t[1]=r,t[2]=n,t}},5294:function(t,e,r){t.exports=r(6403)},3303:function(t,e,r){t.exports=r(4337)},6403:function(t){t.exports=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],i=e[2]-t[2];return r*r+n*n+i*i}},4337:function(t){t.exports=function(t){var e=t[0],r=t[1],n=t[2];return e*e+r*r+n*n}},8921:function(t,e,r){t.exports=r(911)},911:function(t){t.exports=function(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t}},9908:function(t){t.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2];return t[0]=n*r[0]+i*r[3]+a*r[6],t[1]=n*r[1]+i*r[4]+a*r[7],t[2]=n*r[2]+i*r[5]+a*r[8],t}},3255:function(t){t.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=r[3]*n+r[7]*i+r[11]*a+r[15];return o=o||1,t[0]=(r[0]*n+r[4]*i+r[8]*a+r[12])/o,t[1]=(r[1]*n+r[5]*i+r[9]*a+r[13])/o,t[2]=(r[2]*n+r[6]*i+r[10]*a+r[14])/o,t}},6568:function(t){t.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=r[0],s=r[1],l=r[2],u=r[3],c=u*n+s*a-l*i,f=u*i+l*n-o*a,h=u*a+o*i-s*n,p=-o*n-s*i-l*a;return t[0]=c*u+p*-o+f*-l-h*-s,t[1]=f*u+p*-s+h*-o-c*-l,t[2]=h*u+p*-l+c*-s-f*-o,t}},3433:function(t){t.exports=function(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t[2]=e[2]+r[2],t[3]=e[3]+r[3],t}},1413:function(t){t.exports=function(t){var e=new Float32Array(4);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e}},3470:function(t){t.exports=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t}},5313:function(t){t.exports=function(){var t=new Float32Array(4);return t[0]=0,t[1]=0,t[2]=0,t[3]=0,t}},5446:function(t){t.exports=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],i=e[2]-t[2],a=e[3]-t[3];return Math.sqrt(r*r+n*n+i*i+a*a)}},205:function(t){t.exports=function(t,e,r){return t[0]=e[0]/r[0],t[1]=e[1]/r[1],t[2]=e[2]/r[2],t[3]=e[3]/r[3],t}},4242:function(t){t.exports=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[3]*e[3]}},5680:function(t){t.exports=function(t,e,r,n){var i=new Float32Array(4);return i[0]=t,i[1]=e,i[2]=r,i[3]=n,i}},4020:function(t,e,r){t.exports={create:r(5313),clone:r(1413),fromValues:r(5680),copy:r(3470),set:r(6453),add:r(3433),subtract:r(2705),multiply:r(746),divide:r(205),min:r(2170),max:r(3030),scale:r(5510),scaleAndAdd:r(4224),distance:r(5446),squaredDistance:r(1542),length:r(8177),squaredLength:r(9037),negate:r(6459),inverse:r(8057),normalize:r(381),dot:r(4242),lerp:r(8746),random:r(3770),transformMat4:r(6342),transformQuat:r(5022)}},8057:function(t){t.exports=function(t,e){return t[0]=1/e[0],t[1]=1/e[1],t[2]=1/e[2],t[3]=1/e[3],t}},8177:function(t){t.exports=function(t){var e=t[0],r=t[1],n=t[2],i=t[3];return Math.sqrt(e*e+r*r+n*n+i*i)}},8746:function(t){t.exports=function(t,e,r,n){var i=e[0],a=e[1],o=e[2],s=e[3];return t[0]=i+n*(r[0]-i),t[1]=a+n*(r[1]-a),t[2]=o+n*(r[2]-o),t[3]=s+n*(r[3]-s),t}},3030:function(t){t.exports=function(t,e,r){return t[0]=Math.max(e[0],r[0]),t[1]=Math.max(e[1],r[1]),t[2]=Math.max(e[2],r[2]),t[3]=Math.max(e[3],r[3]),t}},2170:function(t){t.exports=function(t,e,r){return t[0]=Math.min(e[0],r[0]),t[1]=Math.min(e[1],r[1]),t[2]=Math.min(e[2],r[2]),t[3]=Math.min(e[3],r[3]),t}},746:function(t){t.exports=function(t,e,r){return t[0]=e[0]*r[0],t[1]=e[1]*r[1],t[2]=e[2]*r[2],t[3]=e[3]*r[3],t}},6459:function(t){t.exports=function(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=-e[3],t}},381:function(t){t.exports=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=r*r+n*n+i*i+a*a;return o>0&&(o=1/Math.sqrt(o),t[0]=r*o,t[1]=n*o,t[2]=i*o,t[3]=a*o),t}},3770:function(t,e,r){var n=r(381),i=r(5510);t.exports=function(t,e){return e=e||1,t[0]=Math.random(),t[1]=Math.random(),t[2]=Math.random(),t[3]=Math.random(),n(t,t),i(t,t,e),t}},5510:function(t){t.exports=function(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t[3]=e[3]*r,t}},4224:function(t){t.exports=function(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t[2]=e[2]+r[2]*n,t[3]=e[3]+r[3]*n,t}},6453:function(t){t.exports=function(t,e,r,n,i){return t[0]=e,t[1]=r,t[2]=n,t[3]=i,t}},1542:function(t){t.exports=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],i=e[2]-t[2],a=e[3]-t[3];return r*r+n*n+i*i+a*a}},9037:function(t){t.exports=function(t){var e=t[0],r=t[1],n=t[2],i=t[3];return e*e+r*r+n*n+i*i}},2705:function(t){t.exports=function(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t[3]=e[3]-r[3],t}},6342:function(t){t.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3];return t[0]=r[0]*n+r[4]*i+r[8]*a+r[12]*o,t[1]=r[1]*n+r[5]*i+r[9]*a+r[13]*o,t[2]=r[2]*n+r[6]*i+r[10]*a+r[14]*o,t[3]=r[3]*n+r[7]*i+r[11]*a+r[15]*o,t}},5022:function(t){t.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=r[0],s=r[1],l=r[2],u=r[3],c=u*n+s*a-l*i,f=u*i+l*n-o*a,h=u*a+o*i-s*n,p=-o*n-s*i-l*a;return t[0]=c*u+p*-o+f*-l-h*-s,t[1]=f*u+p*-s+h*-o-c*-l,t[2]=h*u+p*-l+c*-s-f*-o,t[3]=e[3],t}},9365:function(t,e,r){var n=r(8096),i=r(7896);t.exports=function(t){for(var e=Array.isArray(t)?t:n(t),r=0;r<e.length;r++){var a=e[r];if("preprocessor"===a.type){var o=a.data.match(/\#define\s+SHADER_NAME(_B64)?\s+(.+)$/);if(o&&o[2]){var s=o[1],l=o[2];return(s?i(l):l).trim()}}}}},3193:function(t,e,r){t.exports=function(t){var e,r,f,h=0,p=0,d=l,v=[],g=[],y=1,m=0,x=0,b=!1,_=!1,w="",T=a,k=n;"300 es"===(t=t||{}).version&&(T=s,k=o);var A={},M={};for(h=0;h<T.length;h++)A[T[h]]=!0;for(h=0;h<k.length;h++)M[k[h]]=!0;return function(t){return g=[],null!==t?function(t){var r;for(h=0,t.toString&&(t=t.toString()),w+=t.replace(/\r\n/g,"\n"),f=w.length;e=w[h],h<f;){switch(r=h,d){case 0:h=P();break;case 1:case 2:h=C();break;case 3:h=O();break;case 4:h=z();break;case 11:h=D();break;case 5:h=R();break;case u:h=F();break;case 9:h=L();break;case l:h=E()}r!==h&&("\n"===w[r]?(m=0,++y):++m)}return p+=h,w=w.slice(h),g}(t):(v.length&&S(v.join("")),d=10,S("(eof)"),g)};function S(t){t.length&&g.push({type:c[d],data:t,position:x,line:y,column:m})}function E(){return v=v.length?[]:v,"/"===r&&"*"===e?(x=p+h-1,d=0,r=e,h+1):"/"===r&&"/"===e?(x=p+h-1,d=1,r=e,h+1):"#"===e?(d=2,x=p+h,h):/\s/.test(e)?(d=9,x=p+h,h):(b=/\d/.test(e),_=/[^\w_]/.test(e),x=p+h,d=b?4:_?3:u,h)}function L(){return/[^\s]/g.test(e)?(S(v.join("")),d=l,h):(v.push(e),r=e,h+1)}function C(){return"\r"!==e&&"\n"!==e||"\\"===r?(v.push(e),r=e,h+1):(S(v.join("")),d=l,h)}function P(){return"/"===e&&"*"===r?(v.push(e),S(v.join("")),d=l,h+1):(v.push(e),r=e,h+1)}function O(){if("."===r&&/\d/.test(e))return d=5,h;if("/"===r&&"*"===e)return d=0,h;if("/"===r&&"/"===e)return d=1,h;if("."===e&&v.length){for(;I(v););return d=5,h}if(";"===e||")"===e||"("===e){if(v.length)for(;I(v););return S(e),d=l,h+1}var t=2===v.length&&"="!==e;if(/[\w_\d\s]/.test(e)||t){for(;I(v););return d=l,h}return v.push(e),r=e,h+1}function I(t){for(var e,r,n=0;;){if(e=i.indexOf(t.slice(0,t.length+n).join("")),r=i[e],-1===e){if(n--+t.length>0)continue;r=t.slice(0,1).join("")}return S(r),x+=r.length,(v=v.slice(r.length)).length}}function D(){return/[^a-fA-F0-9]/.test(e)?(S(v.join("")),d=l,h):(v.push(e),r=e,h+1)}function z(){return"."===e||/[eE]/.test(e)?(v.push(e),d=5,r=e,h+1):"x"===e&&1===v.length&&"0"===v[0]?(d=11,v.push(e),r=e,h+1):/[^\d]/.test(e)?(S(v.join("")),d=l,h):(v.push(e),r=e,h+1)}function R(){return"f"===e&&(v.push(e),r=e,h+=1),/[eE]/.test(e)?(v.push(e),r=e,h+1):("-"!==e&&"+"!==e||!/[eE]/.test(r))&&/[^\d]/.test(e)?(S(v.join("")),d=l,h):(v.push(e),r=e,h+1)}function F(){if(/[^\d\w_]/.test(e)){var t=v.join("");return d=M[t]?8:A[t]?7:6,S(v.join("")),d=l,h}return v.push(e),r=e,h+1}};var n=r(399),i=r(9746),a=r(9525),o=r(9458),s=r(3585),l=999,u=9999,c=["block-comment","line-comment","preprocessor","operator","integer","float","ident","builtin","keyword","whitespace","eof","integer"]},3585:function(t,e,r){var n=r(9525);n=n.slice().filter((function(t){return!/^(gl\_|texture)/.test(t)})),t.exports=n.concat(["gl_VertexID","gl_InstanceID","gl_Position","gl_PointSize","gl_FragCoord","gl_FrontFacing","gl_FragDepth","gl_PointCoord","gl_MaxVertexAttribs","gl_MaxVertexUniformVectors","gl_MaxVertexOutputVectors","gl_MaxFragmentInputVectors","gl_MaxVertexTextureImageUnits","gl_MaxCombinedTextureImageUnits","gl_MaxTextureImageUnits","gl_MaxFragmentUniformVectors","gl_MaxDrawBuffers","gl_MinProgramTexelOffset","gl_MaxProgramTexelOffset","gl_DepthRangeParameters","gl_DepthRange","trunc","round","roundEven","isnan","isinf","floatBitsToInt","floatBitsToUint","intBitsToFloat","uintBitsToFloat","packSnorm2x16","unpackSnorm2x16","packUnorm2x16","unpackUnorm2x16","packHalf2x16","unpackHalf2x16","outerProduct","transpose","determinant","inverse","texture","textureSize","textureProj","textureLod","textureOffset","texelFetch","texelFetchOffset","textureProjOffset","textureLodOffset","textureProjLod","textureProjLodOffset","textureGrad","textureGradOffset","textureProjGrad","textureProjGradOffset"])},9525:function(t){t.exports=["abs","acos","all","any","asin","atan","ceil","clamp","cos","cross","dFdx","dFdy","degrees","distance","dot","equal","exp","exp2","faceforward","floor","fract","gl_BackColor","gl_BackLightModelProduct","gl_BackLightProduct","gl_BackMaterial","gl_BackSecondaryColor","gl_ClipPlane","gl_ClipVertex","gl_Color","gl_DepthRange","gl_DepthRangeParameters","gl_EyePlaneQ","gl_EyePlaneR","gl_EyePlaneS","gl_EyePlaneT","gl_Fog","gl_FogCoord","gl_FogFragCoord","gl_FogParameters","gl_FragColor","gl_FragCoord","gl_FragData","gl_FragDepth","gl_FragDepthEXT","gl_FrontColor","gl_FrontFacing","gl_FrontLightModelProduct","gl_FrontLightProduct","gl_FrontMaterial","gl_FrontSecondaryColor","gl_LightModel","gl_LightModelParameters","gl_LightModelProducts","gl_LightProducts","gl_LightSource","gl_LightSourceParameters","gl_MaterialParameters","gl_MaxClipPlanes","gl_MaxCombinedTextureImageUnits","gl_MaxDrawBuffers","gl_MaxFragmentUniformComponents","gl_MaxLights","gl_MaxTextureCoords","gl_MaxTextureImageUnits","gl_MaxTextureUnits","gl_MaxVaryingFloats","gl_MaxVertexAttribs","gl_MaxVertexTextureImageUnits","gl_MaxVertexUniformComponents","gl_ModelViewMatrix","gl_ModelViewMatrixInverse","gl_ModelViewMatrixInverseTranspose","gl_ModelViewMatrixTranspose","gl_ModelViewProjectionMatrix","gl_ModelViewProjectionMatrixInverse","gl_ModelViewProjectionMatrixInverseTranspose","gl_ModelViewProjectionMatrixTranspose","gl_MultiTexCoord0","gl_MultiTexCoord1","gl_MultiTexCoord2","gl_MultiTexCoord3","gl_MultiTexCoord4","gl_MultiTexCoord5","gl_MultiTexCoord6","gl_MultiTexCoord7","gl_Normal","gl_NormalMatrix","gl_NormalScale","gl_ObjectPlaneQ","gl_ObjectPlaneR","gl_ObjectPlaneS","gl_ObjectPlaneT","gl_Point","gl_PointCoord","gl_PointParameters","gl_PointSize","gl_Position","gl_ProjectionMatrix","gl_ProjectionMatrixInverse","gl_ProjectionMatrixInverseTranspose","gl_ProjectionMatrixTranspose","gl_SecondaryColor","gl_TexCoord","gl_TextureEnvColor","gl_TextureMatrix","gl_TextureMatrixInverse","gl_TextureMatrixInverseTranspose","gl_TextureMatrixTranspose","gl_Vertex","greaterThan","greaterThanEqual","inversesqrt","length","lessThan","lessThanEqual","log","log2","matrixCompMult","max","min","mix","mod","normalize","not","notEqual","pow","radians","reflect","refract","sign","sin","smoothstep","sqrt","step","tan","texture2D","texture2DLod","texture2DProj","texture2DProjLod","textureCube","textureCubeLod","texture2DLodEXT","texture2DProjLodEXT","textureCubeLodEXT","texture2DGradEXT","texture2DProjGradEXT","textureCubeGradEXT"]},9458:function(t,e,r){var n=r(399);t.exports=n.slice().concat(["layout","centroid","smooth","case","mat2x2","mat2x3","mat2x4","mat3x2","mat3x3","mat3x4","mat4x2","mat4x3","mat4x4","uvec2","uvec3","uvec4","samplerCubeShadow","sampler2DArray","sampler2DArrayShadow","isampler2D","isampler3D","isamplerCube","isampler2DArray","usampler2D","usampler3D","usamplerCube","usampler2DArray","coherent","restrict","readonly","writeonly","resource","atomic_uint","noperspective","patch","sample","subroutine","common","partition","active","filter","image1D","image2D","image3D","imageCube","iimage1D","iimage2D","iimage3D","iimageCube","uimage1D","uimage2D","uimage3D","uimageCube","image1DArray","image2DArray","iimage1DArray","iimage2DArray","uimage1DArray","uimage2DArray","image1DShadow","image2DShadow","image1DArrayShadow","image2DArrayShadow","imageBuffer","iimageBuffer","uimageBuffer","sampler1DArray","sampler1DArrayShadow","isampler1D","isampler1DArray","usampler1D","usampler1DArray","isampler2DRect","usampler2DRect","samplerBuffer","isamplerBuffer","usamplerBuffer","sampler2DMS","isampler2DMS","usampler2DMS","sampler2DMSArray","isampler2DMSArray","usampler2DMSArray"])},399:function(t){t.exports=["precision","highp","mediump","lowp","attribute","const","uniform","varying","break","continue","do","for","while","if","else","in","out","inout","float","int","uint","void","bool","true","false","discard","return","mat2","mat3","mat4","vec2","vec3","vec4","ivec2","ivec3","ivec4","bvec2","bvec3","bvec4","sampler1D","sampler2D","sampler3D","samplerCube","sampler1DShadow","sampler2DShadow","struct","asm","class","union","enum","typedef","template","this","packed","goto","switch","default","inline","noinline","volatile","public","static","extern","external","interface","long","short","double","half","fixed","unsigned","input","output","hvec2","hvec3","hvec4","dvec2","dvec3","dvec4","fvec2","fvec3","fvec4","sampler2DRect","sampler3DRect","sampler2DRectShadow","sizeof","cast","namespace","using"]},9746:function(t){t.exports=["<<=",">>=","++","--","<<",">>","<=",">=","==","!=","&&","||","+=","-=","*=","/=","%=","&=","^^","^=","|=","(",")","[","]",".","!","~","*","/","%","+","-","<",">","&","^","|","?",":","=",",",";","{","}"]},8096:function(t,e,r){var n=r(3193);t.exports=function(t,e){var r=n(e),i=[];return(i=i.concat(r(t))).concat(r(null))}},6832:function(t){t.exports=function(t){"string"==typeof t&&(t=[t]);for(var e=[].slice.call(arguments,1),r=[],n=0;n<t.length-1;n++)r.push(t[n],e[n]||"");return r.push(t[n]),r.join("")}},5233:function(t,e,r){"use strict";var n=r(4846);t.exports=n&&function(){var t=!1;try{var e=Object.defineProperty({},"passive",{get:function(){t=!0}});window.addEventListener("test",null,e),window.removeEventListener("test",null,e)}catch(e){t=!1}return t}()},2183:function(t,e,r){"use strict";t.exports=function(t,e){var r=t.length;if(0===r)throw new Error("Must have at least d+1 points");var i=t[0].length;if(r<=i)throw new Error("Must input at least d+1 points");var o=t.slice(0,i+1),s=n.apply(void 0,o);if(0===s)throw new Error("Input not in general position");for(var l=new Array(i+1),c=0;c<=i;++c)l[c]=c;s<0&&(l[0]=1,l[1]=0);var f=new a(l,new Array(i+1),!1),h=f.adjacent,p=new Array(i+2);for(c=0;c<=i;++c){for(var d=l.slice(),v=0;v<=i;++v)v===c&&(d[v]=-1);var g=d[0];d[0]=d[1],d[1]=g;var y=new a(d,new Array(i+1),!0);h[c]=y,p[c]=y}for(p[i+1]=f,c=0;c<=i;++c){d=h[c].vertices;var m=h[c].adjacent;for(v=0;v<=i;++v){var x=d[v];if(x<0)m[v]=f;else for(var b=0;b<=i;++b)h[b].vertices.indexOf(x)<0&&(m[v]=h[b])}}var _=new u(i,o,p),w=!!e;for(c=i+1;c<r;++c)_.insert(t[c],w);return _.boundary()};var n=r(417),i=r(8211).H;function a(t,e,r){this.vertices=t,this.adjacent=e,this.boundary=r,this.lastVisited=-1}function o(t,e,r){this.vertices=t,this.cell=e,this.index=r}function s(t,e){return i(t.vertices,e.vertices)}a.prototype.flip=function(){var t=this.vertices[0];this.vertices[0]=this.vertices[1],this.vertices[1]=t;var e=this.adjacent[0];this.adjacent[0]=this.adjacent[1],this.adjacent[1]=e};var l=[];function u(t,e,r){this.dimension=t,this.vertices=e,this.simplices=r,this.interior=r.filter((function(t){return!t.boundary})),this.tuple=new Array(t+1);for(var i=0;i<=t;++i)this.tuple[i]=this.vertices[i];var a,o=l[t];o||(o=l[t]=((a=n[t+1])||(a=n),function(t){return function(){var e=this.tuple;return t.apply(this,e)}}(a))),this.orient=o}var c=u.prototype;c.handleBoundaryDegeneracy=function(t,e){var r=this.dimension,n=this.vertices.length-1,i=this.tuple,a=this.vertices,o=[t];for(t.lastVisited=-n;o.length>0;)for(var s=(t=o.pop()).adjacent,l=0;l<=r;++l){var u=s[l];if(u.boundary&&!(u.lastVisited<=-n)){for(var c=u.vertices,f=0;f<=r;++f){var h=c[f];i[f]=h<0?e:a[h]}var p=this.orient();if(p>0)return u;u.lastVisited=-n,0===p&&o.push(u)}}return null},c.walk=function(t,e){var r=this.vertices.length-1,n=this.dimension,i=this.vertices,a=this.tuple,o=e?this.interior.length*Math.random()|0:this.interior.length-1,s=this.interior[o];t:for(;!s.boundary;){for(var l=s.vertices,u=s.adjacent,c=0;c<=n;++c)a[c]=i[l[c]];for(s.lastVisited=r,c=0;c<=n;++c){var f=u[c];if(!(f.lastVisited>=r)){var h=a[c];a[c]=t;var p=this.orient();if(a[c]=h,p<0){s=f;continue t}f.boundary?f.lastVisited=-r:f.lastVisited=r}}return}return s},c.addPeaks=function(t,e){var r=this.vertices.length-1,n=this.dimension,i=this.vertices,l=this.tuple,u=this.interior,c=this.simplices,f=[e];e.lastVisited=r,e.vertices[e.vertices.indexOf(-1)]=r,e.boundary=!1,u.push(e);for(var h=[];f.length>0;){var p=(e=f.pop()).vertices,d=e.adjacent,v=p.indexOf(r);if(!(v<0))for(var g=0;g<=n;++g)if(g!==v){var y=d[g];if(y.boundary&&!(y.lastVisited>=r)){var m=y.vertices;if(y.lastVisited!==-r){for(var x=0,b=0;b<=n;++b)m[b]<0?(x=b,l[b]=t):l[b]=i[m[b]];if(this.orient()>0){m[x]=r,y.boundary=!1,u.push(y),f.push(y),y.lastVisited=r;continue}y.lastVisited=-r}var _=y.adjacent,w=p.slice(),T=d.slice(),k=new a(w,T,!0);c.push(k);var A=_.indexOf(e);if(!(A<0))for(_[A]=k,T[v]=y,w[g]=-1,T[g]=e,d[g]=k,k.flip(),b=0;b<=n;++b){var M=w[b];if(!(M<0||M===r)){for(var S=new Array(n-1),E=0,L=0;L<=n;++L){var C=w[L];C<0||L===b||(S[E++]=C)}h.push(new o(S,k,b))}}}}}for(h.sort(s),g=0;g+1<h.length;g+=2){var P=h[g],O=h[g+1],I=P.index,D=O.index;I<0||D<0||(P.cell.adjacent[P.index]=O.cell,O.cell.adjacent[O.index]=P.cell)}},c.insert=function(t,e){var r=this.vertices;r.push(t);var n=this.walk(t,e);if(n){for(var i=this.dimension,a=this.tuple,o=0;o<=i;++o){var s=n.vertices[o];a[o]=s<0?t:r[s]}var l=this.orient(a);l<0||(0!==l||(n=this.handleBoundaryDegeneracy(n,t)))&&this.addPeaks(t,n)}},c.boundary=function(){for(var t=this.dimension,e=[],r=this.simplices,n=r.length,i=0;i<n;++i){var a=r[i];if(a.boundary){for(var o=new Array(t),s=a.vertices,l=0,u=0,c=0;c<=t;++c)s[c]>=0?o[l++]=s[c]:u=1&c;if(u===(1&t)){var f=o[0];o[0]=o[1],o[1]=f}e.push(o)}}return e}},9014:function(t,e,r){"use strict";var n=r(5070);function i(t,e,r,n,i){this.mid=t,this.left=e,this.right=r,this.leftPoints=n,this.rightPoints=i,this.count=(e?e.count:0)+(r?r.count:0)+n.length}t.exports=function(t){return t&&0!==t.length?new y(g(t)):new y(null)};var a=i.prototype;function o(t,e){t.mid=e.mid,t.left=e.left,t.right=e.right,t.leftPoints=e.leftPoints,t.rightPoints=e.rightPoints,t.count=e.count}function s(t,e){var r=g(e);t.mid=r.mid,t.left=r.left,t.right=r.right,t.leftPoints=r.leftPoints,t.rightPoints=r.rightPoints,t.count=r.count}function l(t,e){var r=t.intervals([]);r.push(e),s(t,r)}function u(t,e){var r=t.intervals([]),n=r.indexOf(e);return n<0?0:(r.splice(n,1),s(t,r),1)}function c(t,e,r){for(var n=0;n<t.length&&t[n][0]<=e;++n){var i=r(t[n]);if(i)return i}}function f(t,e,r){for(var n=t.length-1;n>=0&&t[n][1]>=e;--n){var i=r(t[n]);if(i)return i}}function h(t,e){for(var r=0;r<t.length;++r){var n=e(t[r]);if(n)return n}}function p(t,e){return t-e}function d(t,e){return t[0]-e[0]||t[1]-e[1]}function v(t,e){return t[1]-e[1]||t[0]-e[0]}function g(t){if(0===t.length)return null;for(var e=[],r=0;r<t.length;++r)e.push(t[r][0],t[r][1]);e.sort(p);var n=e[e.length>>1],a=[],o=[],s=[];for(r=0;r<t.length;++r){var l=t[r];l[1]<n?a.push(l):n<l[0]?o.push(l):s.push(l)}var u=s,c=s.slice();return u.sort(d),c.sort(v),new i(n,g(a),g(o),u,c)}function y(t){this.root=t}a.intervals=function(t){return t.push.apply(t,this.leftPoints),this.left&&this.left.intervals(t),this.right&&this.right.intervals(t),t},a.insert=function(t){var e=this.count-this.leftPoints.length;if(this.count+=1,t[1]<this.mid)this.left?4*(this.left.count+1)>3*(e+1)?l(this,t):this.left.insert(t):this.left=g([t]);else if(t[0]>this.mid)this.right?4*(this.right.count+1)>3*(e+1)?l(this,t):this.right.insert(t):this.right=g([t]);else{var r=n.ge(this.leftPoints,t,d),i=n.ge(this.rightPoints,t,v);this.leftPoints.splice(r,0,t),this.rightPoints.splice(i,0,t)}},a.remove=function(t){var e=this.count-this.leftPoints;if(t[1]<this.mid)return this.left?4*(this.right?this.right.count:0)>3*(e-1)?u(this,t):2===(s=this.left.remove(t))?(this.left=null,this.count-=1,1):(1===s&&(this.count-=1),s):0;if(t[0]>this.mid)return this.right?4*(this.left?this.left.count:0)>3*(e-1)?u(this,t):2===(s=this.right.remove(t))?(this.right=null,this.count-=1,1):(1===s&&(this.count-=1),s):0;if(1===this.count)return this.leftPoints[0]===t?2:0;if(1===this.leftPoints.length&&this.leftPoints[0]===t){if(this.left&&this.right){for(var r=this,i=this.left;i.right;)r=i,i=i.right;if(r===this)i.right=this.right;else{var a=this.left,s=this.right;r.count-=i.count,r.right=i.left,i.left=a,i.right=s}o(this,i),this.count=(this.left?this.left.count:0)+(this.right?this.right.count:0)+this.leftPoints.length}else this.left?o(this,this.left):o(this,this.right);return 1}for(a=n.ge(this.leftPoints,t,d);a<this.leftPoints.length&&this.leftPoints[a][0]===t[0];++a)if(this.leftPoints[a]===t)for(this.count-=1,this.leftPoints.splice(a,1),s=n.ge(this.rightPoints,t,v);s<this.rightPoints.length&&this.rightPoints[s][1]===t[1];++s)if(this.rightPoints[s]===t)return this.rightPoints.splice(s,1),1;return 0},a.queryPoint=function(t,e){return t<this.mid?this.left&&(r=this.left.queryPoint(t,e))?r:c(this.leftPoints,t,e):t>this.mid?this.right&&(r=this.right.queryPoint(t,e))?r:f(this.rightPoints,t,e):h(this.leftPoints,e);var r},a.queryInterval=function(t,e,r){var n;return t<this.mid&&this.left&&(n=this.left.queryInterval(t,e,r))||e>this.mid&&this.right&&(n=this.right.queryInterval(t,e,r))?n:e<this.mid?c(this.leftPoints,e,r):t>this.mid?f(this.rightPoints,t,r):h(this.leftPoints,r)};var m=y.prototype;m.insert=function(t){this.root?this.root.insert(t):this.root=new i(t[0],null,null,[t],[t])},m.remove=function(t){if(this.root){var e=this.root.remove(t);return 2===e&&(this.root=null),0!==e}return!1},m.queryPoint=function(t,e){if(this.root)return this.root.queryPoint(t,e)},m.queryInterval=function(t,e,r){if(t<=e&&this.root)return this.root.queryInterval(t,e,r)},Object.defineProperty(m,"count",{get:function(){return this.root?this.root.count:0}}),Object.defineProperty(m,"intervals",{get:function(){return this.root?this.root.intervals([]):[]}})},9560:function(t){"use strict";t.exports=function(t){for(var e=new Array(t),r=0;r<t;++r)e[r]=r;return e}},4846:function(t){t.exports=!0},4780:function(t){function e(t){return!!t.constructor&&"function"==typeof t.constructor.isBuffer&&t.constructor.isBuffer(t)}t.exports=function(t){return null!=t&&(e(t)||function(t){return"function"==typeof t.readFloatLE&&"function"==typeof t.slice&&e(t.slice(0,0))}(t)||!!t._isBuffer)}},2861:function(t){"use strict";t.exports=n,t.exports.isMobile=n,t.exports.default=n;var e=/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series[46]0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i,r=/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series[46]0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino|android|ipad|playbook|silk/i;function n(t){t||(t={});var n=t.ua;if(n||"undefined"==typeof navigator||(n=navigator.userAgent),n&&n.headers&&"string"==typeof n.headers["user-agent"]&&(n=n.headers["user-agent"]),"string"!=typeof n)return!1;var i=t.tablet?r.test(n):e.test(n);return!i&&t.tablet&&t.featureDetect&&navigator&&navigator.maxTouchPoints>1&&-1!==n.indexOf("Macintosh")&&-1!==n.indexOf("Safari")&&(i=!0),i}},3596:function(t){"use strict";t.exports=function(t){for(var e,r=t.length,n=0;n<r;n++)if(((e=t.charCodeAt(n))<9||e>13)&&32!==e&&133!==e&&160!==e&&5760!==e&&6158!==e&&(e<8192||e>8205)&&8232!==e&&8233!==e&&8239!==e&&8287!==e&&8288!==e&&12288!==e&&65279!==e)return!1;return!0}},3578:function(t){t.exports=function(t,e,r){return t*(1-r)+e*r}},7191:function(t,e,r){var n=r(4690),i=r(9823),a=r(7332),o=r(7787),s=r(7437),l=r(2142),u={length:r(4693),normalize:r(899),dot:r(9305),cross:r(903)},c=i(),f=i(),h=[0,0,0,0],p=[[0,0,0],[0,0,0],[0,0,0]],d=[0,0,0];function v(t,e,r,n,i){t[0]=e[0]*n+r[0]*i,t[1]=e[1]*n+r[1]*i,t[2]=e[2]*n+r[2]*i}t.exports=function(t,e,r,i,g,y){if(e||(e=[0,0,0]),r||(r=[0,0,0]),i||(i=[0,0,0]),g||(g=[0,0,0,1]),y||(y=[0,0,0,1]),!n(c,t))return!1;if(a(f,c),f[3]=0,f[7]=0,f[11]=0,f[15]=1,Math.abs(o(f)<1e-8))return!1;var m,x,b,_,w,T,k,A=c[3],M=c[7],S=c[11],E=c[12],L=c[13],C=c[14],P=c[15];if(0!==A||0!==M||0!==S){if(h[0]=A,h[1]=M,h[2]=S,h[3]=P,!s(f,f))return!1;l(f,f),m=g,b=f,_=(x=h)[0],w=x[1],T=x[2],k=x[3],m[0]=b[0]*_+b[4]*w+b[8]*T+b[12]*k,m[1]=b[1]*_+b[5]*w+b[9]*T+b[13]*k,m[2]=b[2]*_+b[6]*w+b[10]*T+b[14]*k,m[3]=b[3]*_+b[7]*w+b[11]*T+b[15]*k}else g[0]=g[1]=g[2]=0,g[3]=1;if(e[0]=E,e[1]=L,e[2]=C,function(t,e){t[0][0]=e[0],t[0][1]=e[1],t[0][2]=e[2],t[1][0]=e[4],t[1][1]=e[5],t[1][2]=e[6],t[2][0]=e[8],t[2][1]=e[9],t[2][2]=e[10]}(p,c),r[0]=u.length(p[0]),u.normalize(p[0],p[0]),i[0]=u.dot(p[0],p[1]),v(p[1],p[1],p[0],1,-i[0]),r[1]=u.length(p[1]),u.normalize(p[1],p[1]),i[0]/=r[1],i[1]=u.dot(p[0],p[2]),v(p[2],p[2],p[0],1,-i[1]),i[2]=u.dot(p[1],p[2]),v(p[2],p[2],p[1],1,-i[2]),r[2]=u.length(p[2]),u.normalize(p[2],p[2]),i[1]/=r[2],i[2]/=r[2],u.cross(d,p[1],p[2]),u.dot(p[0],d)<0)for(var O=0;O<3;O++)r[O]*=-1,p[O][0]*=-1,p[O][1]*=-1,p[O][2]*=-1;return y[0]=.5*Math.sqrt(Math.max(1+p[0][0]-p[1][1]-p[2][2],0)),y[1]=.5*Math.sqrt(Math.max(1-p[0][0]+p[1][1]-p[2][2],0)),y[2]=.5*Math.sqrt(Math.max(1-p[0][0]-p[1][1]+p[2][2],0)),y[3]=.5*Math.sqrt(Math.max(1+p[0][0]+p[1][1]+p[2][2],0)),p[2][1]>p[1][2]&&(y[0]=-y[0]),p[0][2]>p[2][0]&&(y[1]=-y[1]),p[1][0]>p[0][1]&&(y[2]=-y[2]),!0}},4690:function(t){t.exports=function(t,e){var r=e[15];if(0===r)return!1;for(var n=1/r,i=0;i<16;i++)t[i]=e[i]*n;return!0}},7649:function(t,e,r){var n=r(1868),i=r(1102),a=r(7191),o=r(7787),s=r(1116),l=f(),u=f(),c=f();function f(){return{translate:h(),scale:h(1),skew:h(),perspective:[0,0,0,1],quaternion:[0,0,0,1]}}function h(t){return[t||0,t||0,t||0]}t.exports=function(t,e,r,f){if(0===o(e)||0===o(r))return!1;var h=a(e,l.translate,l.scale,l.skew,l.perspective,l.quaternion),p=a(r,u.translate,u.scale,u.skew,u.perspective,u.quaternion);return!(!h||!p||(n(c.translate,l.translate,u.translate,f),n(c.skew,l.skew,u.skew,f),n(c.scale,l.scale,u.scale,f),n(c.perspective,l.perspective,u.perspective,f),s(c.quaternion,l.quaternion,u.quaternion,f),i(t,c.translate,c.scale,c.skew,c.perspective,c.quaternion),0))}},1102:function(t,e,r){var n={identity:r(9947),translate:r(998),multiply:r(104),create:r(9823),scale:r(3668),fromRotationTranslation:r(7280)},i=(n.create(),n.create());t.exports=function(t,e,r,a,o,s){return n.identity(t),n.fromRotationTranslation(t,s,e),t[3]=o[0],t[7]=o[1],t[11]=o[2],t[15]=o[3],n.identity(i),0!==a[2]&&(i[9]=a[2],n.multiply(t,t,i)),0!==a[1]&&(i[9]=0,i[8]=a[1],n.multiply(t,t,i)),0!==a[0]&&(i[8]=0,i[4]=a[0],n.multiply(t,t,i)),n.scale(t,t,r),t}},9298:function(t,e,r){"use strict";var n=r(5070),i=r(7649),a=r(7437),o=r(6109),s=r(7115),l=r(5240),u=r(3012),c=r(998),f=(r(3668),r(899)),h=[0,0,0];function p(t){this._components=t.slice(),this._time=[0],this.prevMatrix=t.slice(),this.nextMatrix=t.slice(),this.computedMatrix=t.slice(),this.computedInverse=t.slice(),this.computedEye=[0,0,0],this.computedUp=[0,0,0],this.computedCenter=[0,0,0],this.computedRadius=[0],this._limits=[-1/0,1/0]}t.exports=function(t){return new p((t=t||{}).matrix||[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1])};var d=p.prototype;d.recalcMatrix=function(t){var e=this._time,r=n.le(e,t),o=this.computedMatrix;if(!(r<0)){var s=this._components;if(r===e.length-1)for(var l=16*r,u=0;u<16;++u)o[u]=s[l++];else{var c=e[r+1]-e[r],h=(l=16*r,this.prevMatrix),p=!0;for(u=0;u<16;++u)h[u]=s[l++];var d=this.nextMatrix;for(u=0;u<16;++u)d[u]=s[l++],p=p&&h[u]===d[u];if(c<1e-6||p)for(u=0;u<16;++u)o[u]=h[u];else i(o,h,d,(t-e[r])/c)}var v=this.computedUp;v[0]=o[1],v[1]=o[5],v[2]=o[9],f(v,v);var g=this.computedInverse;a(g,o);var y=this.computedEye,m=g[15];y[0]=g[12]/m,y[1]=g[13]/m,y[2]=g[14]/m;var x=this.computedCenter,b=Math.exp(this.computedRadius[0]);for(u=0;u<3;++u)x[u]=y[u]-o[2+4*u]*b}},d.idle=function(t){if(!(t<this.lastT())){for(var e=this._components,r=e.length-16,n=0;n<16;++n)e.push(e[r++]);this._time.push(t)}},d.flush=function(t){var e=n.gt(this._time,t)-2;e<0||(this._time.splice(0,e),this._components.splice(0,16*e))},d.lastT=function(){return this._time[this._time.length-1]},d.lookAt=function(t,e,r,n){this.recalcMatrix(t),e=e||this.computedEye,r=r||h,n=n||this.computedUp,this.setMatrix(t,u(this.computedMatrix,e,r,n));for(var i=0,a=0;a<3;++a)i+=Math.pow(r[a]-e[a],2);i=Math.log(Math.sqrt(i)),this.computedRadius[0]=i},d.rotate=function(t,e,r,n){this.recalcMatrix(t);var i=this.computedInverse;e&&s(i,i,e),r&&o(i,i,r),n&&l(i,i,n),this.setMatrix(t,a(this.computedMatrix,i))};var v=[0,0,0];d.pan=function(t,e,r,n){v[0]=-(e||0),v[1]=-(r||0),v[2]=-(n||0),this.recalcMatrix(t);var i=this.computedInverse;c(i,i,v),this.setMatrix(t,a(i,i))},d.translate=function(t,e,r,n){v[0]=e||0,v[1]=r||0,v[2]=n||0,this.recalcMatrix(t);var i=this.computedMatrix;c(i,i,v),this.setMatrix(t,i)},d.setMatrix=function(t,e){if(!(t<this.lastT())){this._time.push(t);for(var r=0;r<16;++r)this._components.push(e[r])}},d.setDistance=function(t,e){this.computedRadius[0]=e},d.setDistanceLimits=function(t,e){var r=this._limits;r[0]=t,r[1]=e},d.getDistanceLimits=function(t){var e=this._limits;return t?(t[0]=e[0],t[1]=e[1],t):e}},3266:function(t,e,r){"use strict";t.exports=function(t){var e=t.length;if(e<3){for(var r=new Array(e),i=0;i<e;++i)r[i]=i;return 2===e&&t[0][0]===t[1][0]&&t[0][1]===t[1][1]?[0]:r}var a=new Array(e);for(i=0;i<e;++i)a[i]=i;a.sort((function(e,r){return t[e][0]-t[r][0]||t[e][1]-t[r][1]}));var o=[a[0],a[1]],s=[a[0],a[1]];for(i=2;i<e;++i){for(var l=a[i],u=t[l],c=o.length;c>1&&n(t[o[c-2]],t[o[c-1]],u)<=0;)c-=1,o.pop();for(o.push(l),c=s.length;c>1&&n(t[s[c-2]],t[s[c-1]],u)>=0;)c-=1,s.pop();s.push(l)}r=new Array(s.length+o.length-2);for(var f=0,h=(i=0,o.length);i<h;++i)r[f++]=o[i];for(var p=s.length-2;p>0;--p)r[f++]=s[p];return r};var n=r(417)[3]},6145:function(t,e,r){"use strict";t.exports=function(t,e){e||(e=t,t=window);var r=0,i=0,a=0,o={shift:!1,alt:!1,control:!1,meta:!1},s=!1;function l(t){var e=!1;return"altKey"in t&&(e=e||t.altKey!==o.alt,o.alt=!!t.altKey),"shiftKey"in t&&(e=e||t.shiftKey!==o.shift,o.shift=!!t.shiftKey),"ctrlKey"in t&&(e=e||t.ctrlKey!==o.control,o.control=!!t.ctrlKey),"metaKey"in t&&(e=e||t.metaKey!==o.meta,o.meta=!!t.metaKey),e}function u(t,s){var u=n.x(s),c=n.y(s);"buttons"in s&&(t=0|s.buttons),(t!==r||u!==i||c!==a||l(s))&&(r=0|t,i=u||0,a=c||0,e&&e(r,i,a,o))}function c(t){u(0,t)}function f(){(r||i||a||o.shift||o.alt||o.meta||o.control)&&(i=a=0,r=0,o.shift=o.alt=o.control=o.meta=!1,e&&e(0,0,0,o))}function h(t){l(t)&&e&&e(r,i,a,o)}function p(t){0===n.buttons(t)?u(0,t):u(r,t)}function d(t){u(r|n.buttons(t),t)}function v(t){u(r&~n.buttons(t),t)}function g(){s||(s=!0,t.addEventListener("mousemove",p),t.addEventListener("mousedown",d),t.addEventListener("mouseup",v),t.addEventListener("mouseleave",c),t.addEventListener("mouseenter",c),t.addEventListener("mouseout",c),t.addEventListener("mouseover",c),t.addEventListener("blur",f),t.addEventListener("keyup",h),t.addEventListener("keydown",h),t.addEventListener("keypress",h),t!==window&&(window.addEventListener("blur",f),window.addEventListener("keyup",h),window.addEventListener("keydown",h),window.addEventListener("keypress",h)))}g();var y={element:t};return Object.defineProperties(y,{enabled:{get:function(){return s},set:function(e){e?g():s&&(s=!1,t.removeEventListener("mousemove",p),t.removeEventListener("mousedown",d),t.removeEventListener("mouseup",v),t.removeEventListener("mouseleave",c),t.removeEventListener("mouseenter",c),t.removeEventListener("mouseout",c),t.removeEventListener("mouseover",c),t.removeEventListener("blur",f),t.removeEventListener("keyup",h),t.removeEventListener("keydown",h),t.removeEventListener("keypress",h),t!==window&&(window.removeEventListener("blur",f),window.removeEventListener("keyup",h),window.removeEventListener("keydown",h),window.removeEventListener("keypress",h)))},enumerable:!0},buttons:{get:function(){return r},enumerable:!0},x:{get:function(){return i},enumerable:!0},y:{get:function(){return a},enumerable:!0},mods:{get:function(){return o},enumerable:!0}}),y};var n=r(4110)},2565:function(t){var e={left:0,top:0};t.exports=function(t,r,n){r=r||t.currentTarget||t.srcElement,Array.isArray(n)||(n=[0,0]);var i,a=t.clientX||0,o=t.clientY||0,s=(i=r)===window||i===document||i===document.body?e:i.getBoundingClientRect();return n[0]=a-s.left,n[1]=o-s.top,n}},4110:function(t,e){"use strict";function r(t){return t.target||t.srcElement||window}e.buttons=function(t){if("object"==typeof t){if("buttons"in t)return t.buttons;if("which"in t){if(2===(e=t.which))return 4;if(3===e)return 2;if(e>0)return 1<<e-1}else if("button"in t){var e;if(1===(e=t.button))return 4;if(2===e)return 2;if(e>=0)return 1<<e}}return 0},e.element=r,e.x=function(t){if("object"==typeof t){if("offsetX"in t)return t.offsetX;var e=r(t).getBoundingClientRect();return t.clientX-e.left}return 0},e.y=function(t){if("object"==typeof t){if("offsetY"in t)return t.offsetY;var e=r(t).getBoundingClientRect();return t.clientY-e.top}return 0}},6475:function(t,e,r){"use strict";var n=r(14);t.exports=function(t,e,r){"function"==typeof t&&(r=!!e,e=t,t=window);var i=n("ex",t),a=function(t){r&&t.preventDefault();var n=t.deltaX||0,a=t.deltaY||0,o=t.deltaZ||0,s=1;switch(t.deltaMode){case 1:s=i;break;case 2:s=window.innerHeight}if(a*=s,o*=s,(n*=s)||a||o)return e(n,a,o,t)};return t.addEventListener("wheel",a),a}},9284:function(t,e,r){"use strict";var n=r(5306);t.exports=function(t){function e(t){throw new Error("ndarray-extract-contour: "+t)}"object"!=typeof t&&e("Must specify arguments");var r=t.order;Array.isArray(r)||e("Must specify order");var a=t.arrayArguments||1;a<1&&e("Must have at least one array argument"),(t.scalarArguments||0)<0&&e("Scalar arg count must be > 0"),"function"!=typeof t.vertex&&e("Must specify vertex creation function"),"function"!=typeof t.cell&&e("Must specify cell creation function"),"function"!=typeof t.phase&&e("Must specify phase function");for(var o=t.getters||[],s=new Array(a),l=0;l<a;++l)o.indexOf(l)>=0?s[l]=!0:s[l]=!1;return function(t,e,r,a,o,s){var l=[s,o].join(",");return(0,i[l])(t,e,r,n.mallocUint32,n.freeUint32)}(t.vertex,t.cell,t.phase,0,r,s)};var i={"false,0,1":function(t,e,r,n,i){return function(a,o,s,l){var u,c=0|a.shape[0],f=0|a.shape[1],h=a.data,p=0|a.offset,d=0|a.stride[0],v=0|a.stride[1],g=p,y=0|-d,m=0,x=0|-v,b=0,_=-d-v|0,w=0,T=0|d,k=v-d*c|0,A=0,M=0,S=0,E=2*c|0,L=n(E),C=n(E),P=0,O=0,I=-1,D=-1,z=0,R=0|-c,F=0|c,B=0,N=-c-1|0,j=c-1|0,U=0,V=0,H=0;for(A=0;A<c;++A)L[P++]=r(h[g],o,s,l),g+=T;if(g+=k,f>0){if(M=1,L[P++]=r(h[g],o,s,l),g+=T,c>0)for(A=1,u=h[g],O=L[P]=r(u,o,s,l),z=L[P+I],B=L[P+R],U=L[P+N],O===z&&O===B&&O===U||(m=h[g+y],b=h[g+x],w=h[g+_],t(A,M,u,m,b,w,O,z,B,U,o,s,l),V=C[P]=S++),P+=1,g+=T,A=2;A<c;++A)u=h[g],O=L[P]=r(u,o,s,l),z=L[P+I],B=L[P+R],U=L[P+N],O===z&&O===B&&O===U||(m=h[g+y],b=h[g+x],w=h[g+_],t(A,M,u,m,b,w,O,z,B,U,o,s,l),V=C[P]=S++,U!==z&&e(C[P+I],V,w,m,U,z,o,s,l)),P+=1,g+=T;for(g+=k,P=0,H=I,I=D,D=H,H=R,R=F,F=H,H=N,N=j,j=H,M=2;M<f;++M){if(L[P++]=r(h[g],o,s,l),g+=T,c>0)for(A=1,u=h[g],O=L[P]=r(u,o,s,l),z=L[P+I],B=L[P+R],U=L[P+N],O===z&&O===B&&O===U||(m=h[g+y],b=h[g+x],w=h[g+_],t(A,M,u,m,b,w,O,z,B,U,o,s,l),V=C[P]=S++,U!==B&&e(C[P+R],V,b,w,B,U,o,s,l)),P+=1,g+=T,A=2;A<c;++A)u=h[g],O=L[P]=r(u,o,s,l),z=L[P+I],B=L[P+R],U=L[P+N],O===z&&O===B&&O===U||(m=h[g+y],b=h[g+x],w=h[g+_],t(A,M,u,m,b,w,O,z,B,U,o,s,l),V=C[P]=S++,U!==B&&e(C[P+R],V,b,w,B,U,o,s,l),U!==z&&e(C[P+I],V,w,m,U,z,o,s,l)),P+=1,g+=T;1&M&&(P=0),H=I,I=D,D=H,H=R,R=F,F=H,H=N,N=j,j=H,g+=k}}i(C),i(L)}},"false,1,0":function(t,e,r,n,i){return function(a,o,s,l){var u,c=0|a.shape[0],f=0|a.shape[1],h=a.data,p=0|a.offset,d=0|a.stride[0],v=0|a.stride[1],g=p,y=0|-d,m=0,x=0|-v,b=0,_=-d-v|0,w=0,T=0|v,k=d-v*f|0,A=0,M=0,S=0,E=2*f|0,L=n(E),C=n(E),P=0,O=0,I=-1,D=-1,z=0,R=0|-f,F=0|f,B=0,N=-f-1|0,j=f-1|0,U=0,V=0,H=0;for(M=0;M<f;++M)L[P++]=r(h[g],o,s,l),g+=T;if(g+=k,c>0){if(A=1,L[P++]=r(h[g],o,s,l),g+=T,f>0)for(M=1,u=h[g],O=L[P]=r(u,o,s,l),B=L[P+R],z=L[P+I],U=L[P+N],O===B&&O===z&&O===U||(m=h[g+y],b=h[g+x],w=h[g+_],t(A,M,u,m,b,w,O,B,z,U,o,s,l),V=C[P]=S++),P+=1,g+=T,M=2;M<f;++M)u=h[g],O=L[P]=r(u,o,s,l),B=L[P+R],z=L[P+I],U=L[P+N],O===B&&O===z&&O===U||(m=h[g+y],b=h[g+x],w=h[g+_],t(A,M,u,m,b,w,O,B,z,U,o,s,l),V=C[P]=S++,U!==z&&e(C[P+I],V,b,w,z,U,o,s,l)),P+=1,g+=T;for(g+=k,P=0,H=R,R=F,F=H,H=I,I=D,D=H,H=N,N=j,j=H,A=2;A<c;++A){if(L[P++]=r(h[g],o,s,l),g+=T,f>0)for(M=1,u=h[g],O=L[P]=r(u,o,s,l),B=L[P+R],z=L[P+I],U=L[P+N],O===B&&O===z&&O===U||(m=h[g+y],b=h[g+x],w=h[g+_],t(A,M,u,m,b,w,O,B,z,U,o,s,l),V=C[P]=S++,U!==B&&e(C[P+R],V,w,m,U,B,o,s,l)),P+=1,g+=T,M=2;M<f;++M)u=h[g],O=L[P]=r(u,o,s,l),B=L[P+R],z=L[P+I],U=L[P+N],O===B&&O===z&&O===U||(m=h[g+y],b=h[g+x],w=h[g+_],t(A,M,u,m,b,w,O,B,z,U,o,s,l),V=C[P]=S++,U!==z&&e(C[P+I],V,b,w,z,U,o,s,l),U!==B&&e(C[P+R],V,w,m,U,B,o,s,l)),P+=1,g+=T;1&A&&(P=0),H=R,R=F,F=H,H=I,I=D,D=H,H=N,N=j,j=H,g+=k}}i(C),i(L)}}}},9144:function(t,e,r){"use strict";var n=r(3094),i={zero:function(t,e,r,n){var i=t[0];n|=0;var a=0,o=r[0];for(a=0;a<i;++a)e[n]=0,n+=o},fdTemplate1:function(t,e,r,n,i,a,o){var s=t[0],l=r[0],u=-1*l,c=l;n|=0,o|=0;var f=0,h=l,p=a[0];for(f=0;f<s;++f)i[o]=.5*(e[n+u]-e[n+c]),n+=h,o+=p},fdTemplate2:function(t,e,r,n,i,a,o,s,l,u){var c=t[0],f=t[1],h=r[0],p=r[1],d=a[0],v=a[1],g=l[0],y=l[1],m=-1*h,x=h,b=-1*p,_=p;n|=0,o|=0,u|=0;var w=0,T=0,k=p,A=h-f*p,M=v,S=d-f*v,E=y,L=g-f*y;for(T=0;T<c;++T){for(w=0;w<f;++w)i[o]=.5*(e[n+m]-e[n+x]),s[u]=.5*(e[n+b]-e[n+_]),n+=k,o+=M,u+=E;n+=A,o+=S,u+=L}}},a={cdiff:function(t){var e={};return function(r,n,i){var a=r.dtype,o=r.order,s=n.dtype,l=n.order,u=i.dtype,c=i.order,f=[a,o.join(),s,l.join(),u,c.join()].join(),h=e[f];return h||(e[f]=h=t([a,o,s,l,u,c])),h(r.shape.slice(0),r.data,r.stride,0|r.offset,n.data,n.stride,0|n.offset,i.data,i.stride,0|i.offset)}},zero:function(t){var e={};return function(r){var n=r.dtype,i=r.order,a=[n,i.join()].join(),o=e[a];return o||(e[a]=o=t([n,i])),o(r.shape.slice(0),r.data,r.stride,0|r.offset)}},fdTemplate1:function(t){var e={};return function(r,n){var i=r.dtype,a=r.order,o=n.dtype,s=n.order,l=[i,a.join(),o,s.join()].join(),u=e[l];return u||(e[l]=u=t([i,a,o,s])),u(r.shape.slice(0),r.data,r.stride,0|r.offset,n.data,n.stride,0|n.offset)}},fdTemplate2:function(t){var e={};return function(r,n,i){var a=r.dtype,o=r.order,s=n.dtype,l=n.order,u=i.dtype,c=i.order,f=[a,o.join(),s,l.join(),u,c.join()].join(),h=e[f];return h||(e[f]=h=t([a,o,s,l,u,c])),h(r.shape.slice(0),r.data,r.stride,0|r.offset,n.data,n.stride,0|n.offset,i.data,i.stride,0|i.offset)}}};function o(t){return(0,a[t.funcName])(s.bind(void 0,t))}function s(t){return i[t.funcName]}function l(t){return o({funcName:t.funcName})}var u={},c={},f=l({funcName:"cdiff"}),h=l({funcName:"zero"});function p(t){return t in u?u[t]:u[t]=l({funcName:"fdTemplate"+t})}function d(t,e,r,n){return function(t,i){var a=i.shape.slice();return a[0]>2&&a[1]>2&&n(i.pick(-1,-1).lo(1,1).hi(a[0]-2,a[1]-2),t.pick(-1,-1,0).lo(1,1).hi(a[0]-2,a[1]-2),t.pick(-1,-1,1).lo(1,1).hi(a[0]-2,a[1]-2)),a[1]>2&&(r(i.pick(0,-1).lo(1).hi(a[1]-2),t.pick(0,-1,1).lo(1).hi(a[1]-2)),e(t.pick(0,-1,0).lo(1).hi(a[1]-2))),a[1]>2&&(r(i.pick(a[0]-1,-1).lo(1).hi(a[1]-2),t.pick(a[0]-1,-1,1).lo(1).hi(a[1]-2)),e(t.pick(a[0]-1,-1,0).lo(1).hi(a[1]-2))),a[0]>2&&(r(i.pick(-1,0).lo(1).hi(a[0]-2),t.pick(-1,0,0).lo(1).hi(a[0]-2)),e(t.pick(-1,0,1).lo(1).hi(a[0]-2))),a[0]>2&&(r(i.pick(-1,a[1]-1).lo(1).hi(a[0]-2),t.pick(-1,a[1]-1,0).lo(1).hi(a[0]-2)),e(t.pick(-1,a[1]-1,1).lo(1).hi(a[0]-2))),t.set(0,0,0,0),t.set(0,0,1,0),t.set(a[0]-1,0,0,0),t.set(a[0]-1,0,1,0),t.set(0,a[1]-1,0,0),t.set(0,a[1]-1,1,0),t.set(a[0]-1,a[1]-1,0,0),t.set(a[0]-1,a[1]-1,1,0),t}}t.exports=function(t,e,r){return Array.isArray(r)||(r=n(e.dimension,"string"==typeof r?r:"clamp")),0===e.size?t:0===e.dimension?(t.set(0),t):function(t){var e=t.join();if(a=c[e])return a;for(var r=t.length,n=[f,h],i=1;i<=r;++i)n.push(p(i));var a=d.apply(void 0,n);return c[e]=a,a}(r)(t,e)}},3581:function(t){"use strict";function e(t,e){var r=Math.floor(e),n=e-r,i=0<=r&&r<t.shape[0],a=0<=r+1&&r+1<t.shape[0];return(1-n)*(i?+t.get(r):0)+n*(a?+t.get(r+1):0)}function r(t,e,r){var n=Math.floor(e),i=e-n,a=0<=n&&n<t.shape[0],o=0<=n+1&&n+1<t.shape[0],s=Math.floor(r),l=r-s,u=0<=s&&s<t.shape[1],c=0<=s+1&&s+1<t.shape[1],f=a&&u?t.get(n,s):0,h=a&&c?t.get(n,s+1):0;return(1-l)*((1-i)*f+i*(o&&u?t.get(n+1,s):0))+l*((1-i)*h+i*(o&&c?t.get(n+1,s+1):0))}function n(t,e,r,n){var i=Math.floor(e),a=e-i,o=0<=i&&i<t.shape[0],s=0<=i+1&&i+1<t.shape[0],l=Math.floor(r),u=r-l,c=0<=l&&l<t.shape[1],f=0<=l+1&&l+1<t.shape[1],h=Math.floor(n),p=n-h,d=0<=h&&h<t.shape[2],v=0<=h+1&&h+1<t.shape[2],g=o&&c&&d?t.get(i,l,h):0,y=o&&f&&d?t.get(i,l+1,h):0,m=s&&c&&d?t.get(i+1,l,h):0,x=s&&f&&d?t.get(i+1,l+1,h):0,b=o&&c&&v?t.get(i,l,h+1):0,_=o&&f&&v?t.get(i,l+1,h+1):0;return(1-p)*((1-u)*((1-a)*g+a*m)+u*((1-a)*y+a*x))+p*((1-u)*((1-a)*b+a*(s&&c&&v?t.get(i+1,l,h+1):0))+u*((1-a)*_+a*(s&&f&&v?t.get(i+1,l+1,h+1):0)))}function i(t){var e,r,n=0|t.shape.length,i=new Array(n),a=new Array(n),o=new Array(n),s=new Array(n);for(e=0;e<n;++e)r=+arguments[e+1],i[e]=Math.floor(r),a[e]=r-i[e],o[e]=0<=i[e]&&i[e]<t.shape[e],s[e]=0<=i[e]+1&&i[e]+1<t.shape[e];var l,u,c,f=0;t:for(e=0;e<1<<n;++e){for(u=1,c=t.offset,l=0;l<n;++l)if(e&1<<l){if(!s[l])continue t;u*=a[l],c+=t.stride[l]*(i[l]+1)}else{if(!o[l])continue t;u*=1-a[l],c+=t.stride[l]*i[l]}f+=u*t.data[c]}return f}t.exports=function(t,a,o,s){switch(t.shape.length){case 0:return 0;case 1:return e(t,a);case 2:return r(t,a,o);case 3:return n(t,a,o,s);default:return i.apply(void 0,arguments)}},t.exports.d1=e,t.exports.d2=r,t.exports.d3=n},7498:function(t,e){"use strict";var r={"float64,2,1,0":function(){return function(t,e,r,n,i){var a=t[0],o=t[1],s=t[2],l=r[0],u=r[1],c=r[2];n|=0;var f=0,h=0,p=0,d=c,v=u-s*c,g=l-o*u;for(p=0;p<a;++p){for(h=0;h<o;++h){for(f=0;f<s;++f)e[n]/=i,n+=d;n+=v}n+=g}}},"uint8,2,0,1,float64,2,1,0":function(){return function(t,e,r,n,i,a,o,s){for(var l=t[0],u=t[1],c=t[2],f=r[0],h=r[1],p=r[2],d=a[0],v=a[1],g=a[2],y=n|=0,m=o|=0,x=0|t[0];x>0;){x<64?(l=x,x=0):(l=64,x-=64);for(var b=0|t[1];b>0;){b<64?(u=b,b=0):(u=64,b-=64),n=y+x*f+b*h,o=m+x*d+b*v;var _=0,w=0,T=0,k=p,A=f-c*p,M=h-l*f,S=g,E=d-c*g,L=v-l*d;for(T=0;T<u;++T){for(w=0;w<l;++w){for(_=0;_<c;++_)e[n]=i[o]*s,n+=k,o+=S;n+=A,o+=E}n+=M,o+=L}}}}},"float32,1,0,float32,1,0":function(){return function(t,e,r,n,i,a,o){var s=t[0],l=t[1],u=r[0],c=r[1],f=a[0],h=a[1];n|=0,o|=0;var p=0,d=0,v=c,g=u-l*c,y=h,m=f-l*h;for(d=0;d<s;++d){for(p=0;p<l;++p)e[n]=i[o],n+=v,o+=y;n+=g,o+=m}}},"float32,1,0,float32,0,1":function(){return function(t,e,r,n,i,a,o){for(var s=t[0],l=t[1],u=r[0],c=r[1],f=a[0],h=a[1],p=n|=0,d=o|=0,v=0|t[1];v>0;){v<64?(l=v,v=0):(l=64,v-=64);for(var g=0|t[0];g>0;){g<64?(s=g,g=0):(s=64,g-=64),n=p+v*c+g*u,o=d+v*h+g*f;var y=0,m=0,x=c,b=u-l*c,_=h,w=f-l*h;for(m=0;m<s;++m){for(y=0;y<l;++y)e[n]=i[o],n+=x,o+=_;n+=b,o+=w}}}}},"uint8,2,0,1,uint8,1,2,0":function(){return function(t,e,r,n,i,a,o){for(var s=t[0],l=t[1],u=t[2],c=r[0],f=r[1],h=r[2],p=a[0],d=a[1],v=a[2],g=n|=0,y=o|=0,m=0|t[2];m>0;){m<64?(u=m,m=0):(u=64,m-=64);for(var x=0|t[0];x>0;){x<64?(s=x,x=0):(s=64,x-=64);for(var b=0|t[1];b>0;){b<64?(l=b,b=0):(l=64,b-=64),n=g+m*h+x*c+b*f,o=y+m*v+x*p+b*d;var _=0,w=0,T=0,k=h,A=c-u*h,M=f-s*c,S=v,E=p-u*v,L=d-s*p;for(T=0;T<l;++T){for(w=0;w<s;++w){for(_=0;_<u;++_)e[n]=i[o],n+=k,o+=S;n+=A,o+=E}n+=M,o+=L}}}}}},"uint8,2,0,1,array,2,0,1":function(){return function(t,e,r,n,i,a,o){var s=t[0],l=t[1],u=t[2],c=r[0],f=r[1],h=r[2],p=a[0],d=a[1],v=a[2];n|=0,o|=0;var g=0,y=0,m=0,x=h,b=c-u*h,_=f-s*c,w=v,T=p-u*v,k=d-s*p;for(m=0;m<l;++m){for(y=0;y<s;++y){for(g=0;g<u;++g)e[n]=i[o],n+=x,o+=w;n+=b,o+=T}n+=_,o+=k}}}},n=function(t,e){var n=e.join(",");return(0,r[n])()},i={mul:function(t){var e={};return function(r,n,i){var a=r.dtype,o=r.order,s=n.dtype,l=n.order,u=i.dtype,c=i.order,f=[a,o.join(),s,l.join(),u,c.join()].join(),h=e[f];return h||(e[f]=h=t([a,o,s,l,u,c])),h(r.shape.slice(0),r.data,r.stride,0|r.offset,n.data,n.stride,0|n.offset,i.data,i.stride,0|i.offset)}},muls:function(t){var e={};return function(r,n,i){var a=r.dtype,o=r.order,s=n.dtype,l=n.order,u=[a,o.join(),s,l.join()].join(),c=e[u];return c||(e[u]=c=t([a,o,s,l])),c(r.shape.slice(0),r.data,r.stride,0|r.offset,n.data,n.stride,0|n.offset,i)}},mulseq:function(t){var e={};return function(r,n){var i=r.dtype,a=r.order,o=[i,a.join()].join(),s=e[o];return s||(e[o]=s=t([i,a])),s(r.shape.slice(0),r.data,r.stride,0|r.offset,n)}},div:function(t){var e={};return function(r,n,i){var a=r.dtype,o=r.order,s=n.dtype,l=n.order,u=i.dtype,c=i.order,f=[a,o.join(),s,l.join(),u,c.join()].join(),h=e[f];return h||(e[f]=h=t([a,o,s,l,u,c])),h(r.shape.slice(0),r.data,r.stride,0|r.offset,n.data,n.stride,0|n.offset,i.data,i.stride,0|i.offset)}},divs:function(t){var e={};return function(r,n,i){var a=r.dtype,o=r.order,s=n.dtype,l=n.order,u=[a,o.join(),s,l.join()].join(),c=e[u];return c||(e[u]=c=t([a,o,s,l])),c(r.shape.slice(0),r.data,r.stride,0|r.offset,n.data,n.stride,0|n.offset,i)}},divseq:function(t){var e={};return function(r,n){var i=r.dtype,a=r.order,o=[i,a.join()].join(),s=e[o];return s||(e[o]=s=t([i,a])),s(r.shape.slice(0),r.data,r.stride,0|r.offset,n)}},assign:function(t){var e={};return function(r,n){var i=r.dtype,a=r.order,o=n.dtype,s=n.order,l=[i,a.join(),o,s.join()].join(),u=e[l];return u||(e[l]=u=t([i,a,o,s])),u(r.shape.slice(0),r.data,r.stride,0|r.offset,n.data,n.stride,0|n.offset)}}};function a(t){return e={funcName:t.funcName},(0,i[e.funcName])(n.bind(void 0,e));var e}var o={mul:"*",div:"/"};!function(){for(var t in o)e[t]=a({funcName:t}),e[t+"s"]=a({funcName:t+"s"}),e[t+"seq"]=a({funcName:t+"seq"})}(),e.assign=a({funcName:"assign"})},7382:function(t,e,r){"use strict";var n=r(5050),i=r(9262);t.exports=function(t,e){for(var r=[],a=t,o=1;Array.isArray(a);)r.push(a.length),o*=a.length,a=a[0];return 0===r.length?n():(e||(e=n(new Float64Array(o),r)),i(e,t),e)}},9262:function(t){"use strict";t.exports=function(t){var e={};return function(r,n){var i=r.dtype,a=r.order,o=[i,a.join()].join(),s=e[o];return s||(e[o]=s=t([i,a])),s(r.shape.slice(0),r.data,r.stride,0|r.offset,n)}}(function(){return function(t,e,r,n,i){var a=t[0],o=t[1],s=t[2],l=r[0],u=r[1],c=r[2],f=[0,0,0];n|=0;var h=0,p=0,d=0,v=c,g=u-s*c,y=l-o*u;for(d=0;d<a;++d){for(p=0;p<o;++p){for(h=0;h<s;++h){var m,x=i;for(m=0;m<f.length-1;++m)x=x[f[m]];e[n]=x[f[f.length-1]],n+=v,++f[2]}n+=g,f[2]-=s,++f[1]}n+=y,f[1]-=o,++f[0]}}}.bind(void 0,{funcName:"convert"}))},8139:function(t,e,r){"use strict";var n=r(5306);function i(t){return"uint32"===t?[n.mallocUint32,n.freeUint32]:null}var a={"uint32,1,0":function(t,e){return function(r,n,i,a,o,s,l,u,c,f,h){var p,d,v,g,y,m,x,b,_=r*o+a,w=t(u);for(p=r+1;p<=n;++p){for(d=p,v=_+=o,y=0,m=_,g=0;g<u;++g)w[y++]=i[m],m+=c;t:for(;d-- >r;){y=0,m=v-o;e:for(g=0;g<u;++g){if((x=i[m])<(b=w[y]))break t;if(x>b)break e;m+=f,y+=h}for(y=v,m=v-o,g=0;g<u;++g)i[y]=i[m],y+=c,m+=c;v-=o}for(y=v,m=0,g=0;g<u;++g)i[y]=w[m++],y+=c}e(w)}}},o={"uint32,1,0":function(t,e,r){return function n(i,a,o,s,l,u,c,f,h,p,d){var v,g,y,m,x,b,_,w,T,k,A,M,S,E,L,C,P,O,I,D,z,R,F,B,N,j=(a-i+1)/6|0,U=i+j,V=a-j,H=i+a>>1,q=H-j,G=H+j,Z=U,Y=q,W=H,X=G,J=V,K=i+1,$=a-1,Q=!0,tt=0,et=0,rt=0,nt=f,it=e(nt),at=e(nt);A=l*Z,M=l*Y,N=s;t:for(k=0;k<f;++k){if(w=M+N,(rt=o[_=A+N]-o[w])>0){g=Z,Z=Y,Y=g;break t}if(rt<0)break t;N+=p}A=l*X,M=l*J,N=s;t:for(k=0;k<f;++k){if(w=M+N,(rt=o[_=A+N]-o[w])>0){g=X,X=J,J=g;break t}if(rt<0)break t;N+=p}A=l*Z,M=l*W,N=s;t:for(k=0;k<f;++k){if(w=M+N,(rt=o[_=A+N]-o[w])>0){g=Z,Z=W,W=g;break t}if(rt<0)break t;N+=p}A=l*Y,M=l*W,N=s;t:for(k=0;k<f;++k){if(w=M+N,(rt=o[_=A+N]-o[w])>0){g=Y,Y=W,W=g;break t}if(rt<0)break t;N+=p}A=l*Z,M=l*X,N=s;t:for(k=0;k<f;++k){if(w=M+N,(rt=o[_=A+N]-o[w])>0){g=Z,Z=X,X=g;break t}if(rt<0)break t;N+=p}A=l*W,M=l*X,N=s;t:for(k=0;k<f;++k){if(w=M+N,(rt=o[_=A+N]-o[w])>0){g=W,W=X,X=g;break t}if(rt<0)break t;N+=p}A=l*Y,M=l*J,N=s;t:for(k=0;k<f;++k){if(w=M+N,(rt=o[_=A+N]-o[w])>0){g=Y,Y=J,J=g;break t}if(rt<0)break t;N+=p}A=l*Y,M=l*W,N=s;t:for(k=0;k<f;++k){if(w=M+N,(rt=o[_=A+N]-o[w])>0){g=Y,Y=W,W=g;break t}if(rt<0)break t;N+=p}A=l*X,M=l*J,N=s;t:for(k=0;k<f;++k){if(w=M+N,(rt=o[_=A+N]-o[w])>0){g=X,X=J,J=g;break t}if(rt<0)break t;N+=p}for(A=l*Z,M=l*Y,S=l*W,E=l*X,L=l*J,C=l*U,P=l*H,O=l*V,B=0,N=s,k=0;k<f;++k)_=A+N,w=M+N,T=S+N,I=E+N,D=L+N,z=C+N,R=P+N,F=O+N,it[B]=o[w],at[B]=o[I],Q=Q&&it[B]===at[B],y=o[_],m=o[T],x=o[D],o[z]=y,o[R]=m,o[F]=x,++B,N+=h;for(A=l*q,M=l*i,N=s,k=0;k<f;++k)w=M+N,o[_=A+N]=o[w],N+=h;for(A=l*G,M=l*a,N=s,k=0;k<f;++k)w=M+N,o[_=A+N]=o[w],N+=h;if(Q)for(b=K;b<=$;++b){for(_=s+b*l,B=0,k=0;k<f&&0==(rt=o[_]-it[B]);++k)B+=d,_+=p;if(0!==rt)if(rt<0){if(b!==K)for(A=l*b,M=l*K,N=s,k=0;k<f;++k)w=M+N,v=o[_=A+N],o[_]=o[w],o[w]=v,N+=h;++K}else for(;;){for(_=s+$*l,B=0,k=0;k<f&&0==(rt=o[_]-it[B]);++k)B+=d,_+=p;if(!(rt>0)){if(rt<0){for(A=l*b,M=l*K,S=l*$,N=s,k=0;k<f;++k)w=M+N,T=S+N,v=o[_=A+N],o[_]=o[w],o[w]=o[T],o[T]=v,N+=h;++K,--$;break}for(A=l*b,M=l*$,N=s,k=0;k<f;++k)w=M+N,v=o[_=A+N],o[_]=o[w],o[w]=v,N+=h;--$;break}$--}}else for(b=K;b<=$;++b){for(_=s+b*l,B=0,k=0;k<f&&0==(tt=o[_]-it[B]);++k)B+=d,_+=p;if(tt<0){if(b!==K)for(A=l*b,M=l*K,N=s,k=0;k<f;++k)w=M+N,v=o[_=A+N],o[_]=o[w],o[w]=v,N+=h;++K}else{for(_=s+b*l,B=0,k=0;k<f&&0==(et=o[_]-at[B]);++k)B+=d,_+=p;if(et>0)for(;;){for(_=s+$*l,B=0,k=0;k<f&&0==(rt=o[_]-at[B]);++k)B+=d,_+=p;if(!(rt>0)){for(_=s+$*l,B=0,k=0;k<f&&0==(rt=o[_]-it[B]);++k)B+=d,_+=p;if(rt<0){for(A=l*b,M=l*K,S=l*$,N=s,k=0;k<f;++k)w=M+N,T=S+N,v=o[_=A+N],o[_]=o[w],o[w]=o[T],o[T]=v,N+=h;++K,--$}else{for(A=l*b,M=l*$,N=s,k=0;k<f;++k)w=M+N,v=o[_=A+N],o[_]=o[w],o[w]=v,N+=h;--$}break}if(--$<b)break}}}for(A=l*i,M=l*(K-1),B=0,N=s,k=0;k<f;++k)w=M+N,o[_=A+N]=o[w],o[w]=it[B],++B,N+=h;for(A=l*a,M=l*($+1),B=0,N=s,k=0;k<f;++k)w=M+N,o[_=A+N]=o[w],o[w]=at[B],++B,N+=h;if(K-2-i<=32?t(i,K-2,o,s,l,u,c,f,h,p,d):n(i,K-2,o,s,l,u,c,f,h,p,d),a-($+2)<=32?t($+2,a,o,s,l,u,c,f,h,p,d):n($+2,a,o,s,l,u,c,f,h,p,d),Q)return r(it),void r(at);if(K<U&&$>V){t:for(;;){for(_=s+K*l,B=0,N=s,k=0;k<f;++k){if(o[_]!==it[B])break t;++B,_+=h}++K}t:for(;;){for(_=s+$*l,B=0,N=s,k=0;k<f;++k){if(o[_]!==at[B])break t;++B,_+=h}--$}for(b=K;b<=$;++b){for(_=s+b*l,B=0,k=0;k<f&&0==(tt=o[_]-it[B]);++k)B+=d,_+=p;if(0===tt){if(b!==K)for(A=l*b,M=l*K,N=s,k=0;k<f;++k)w=M+N,v=o[_=A+N],o[_]=o[w],o[w]=v,N+=h;++K}else{for(_=s+b*l,B=0,k=0;k<f&&0==(et=o[_]-at[B]);++k)B+=d,_+=p;if(0===et)for(;;){for(_=s+$*l,B=0,k=0;k<f&&0==(rt=o[_]-at[B]);++k)B+=d,_+=p;if(0!==rt){for(_=s+$*l,B=0,k=0;k<f&&0==(rt=o[_]-it[B]);++k)B+=d,_+=p;if(rt<0){for(A=l*b,M=l*K,S=l*$,N=s,k=0;k<f;++k)w=M+N,T=S+N,v=o[_=A+N],o[_]=o[w],o[w]=o[T],o[T]=v,N+=h;++K,--$}else{for(A=l*b,M=l*$,N=s,k=0;k<f;++k)w=M+N,v=o[_=A+N],o[_]=o[w],o[w]=v,N+=h;--$}break}if(--$<b)break}}}}r(it),r(at),$-K<=32?t(K,$,o,s,l,u,c,f,h,p,d):n(K,$,o,s,l,u,c,f,h,p,d)}}},s={"uint32,1,0":function(t,e){return function(r){var n=r.data,i=0|r.offset,a=r.shape,o=r.stride,s=0|o[0],l=0|a[0],u=0|o[1],c=0|a[1],f=u,h=u;l<=32?t(0,l-1,n,i,s,u,l,c,f,h,1):e(0,l-1,n,i,s,u,l,c,f,h,1)}}};t.exports=function(t,e){var r=[e,t].join(","),n=s[r],l=function(t,e){var r=i(e),n=[e,t].join(","),o=a[n];return r?o(r[0],r[1]):o()}(t,e),u=function(t,e,r){var n=i(e),a=[e,t].join(","),s=o[a];return t.length>1&&n?s(r,n[0],n[1]):s(r)}(t,e,l);return n(l,u)}},8729:function(t,e,r){"use strict";var n=r(8139),i={};t.exports=function(t){var e=t.order,r=t.dtype,a=[e,r].join(":"),o=i[a];return o||(i[a]=o=n(e,r)),o(t),t}},5050:function(t,e,r){var n=r(4780),i="undefined"!=typeof Float64Array;function a(t,e){return t[0]-e[0]}function o(){var t,e=this.stride,r=new Array(e.length);for(t=0;t<r.length;++t)r[t]=[Math.abs(e[t]),t];r.sort(a);var n=new Array(r.length);for(t=0;t<n.length;++t)n[t]=r[t][1];return n}var s={T:function(t){function e(t){this.data=t}var r=e.prototype;return r.dtype=t,r.index=function(){return-1},r.size=0,r.dimension=-1,r.shape=r.stride=r.order=[],r.lo=r.hi=r.transpose=r.step=function(){return new e(this.data)},r.get=r.set=function(){},r.pick=function(){return null},function(t){return new e(t)}},0:function(t,e){function r(t,e){this.data=t,this.offset=e}var n=r.prototype;return n.dtype=t,n.index=function(){return this.offset},n.dimension=0,n.size=1,n.shape=n.stride=n.order=[],n.lo=n.hi=n.transpose=n.step=function(){return new r(this.data,this.offset)},n.pick=function(){return e(this.data)},n.valueOf=n.get=function(){return"generic"===t?this.data.get(this.offset):this.data[this.offset]},n.set=function(e){return"generic"===t?this.data.set(this.offset,e):this.data[this.offset]=e},function(t,e,n,i){return new r(t,i)}},1:function(t,e,r){function n(t,e,r,n){this.data=t,this.shape=[e],this.stride=[r],this.offset=0|n}var i=n.prototype;return i.dtype=t,i.dimension=1,Object.defineProperty(i,"size",{get:function(){return this.shape[0]}}),i.order=[0],i.set=function(e,r){return"generic"===t?this.data.set(this.offset+this.stride[0]*e,r):this.data[this.offset+this.stride[0]*e]=r},i.get=function(e){return"generic"===t?this.data.get(this.offset+this.stride[0]*e):this.data[this.offset+this.stride[0]*e]},i.index=function(t){return this.offset+this.stride[0]*t},i.hi=function(t){return new n(this.data,"number"!=typeof t||t<0?this.shape[0]:0|t,this.stride[0],this.offset)},i.lo=function(t){var e=this.offset,r=0,i=this.shape[0],a=this.stride[0];return"number"==typeof t&&t>=0&&(e+=a*(r=0|t),i-=r),new n(this.data,i,a,e)},i.step=function(t){var e=this.shape[0],r=this.stride[0],i=this.offset,a=0,o=Math.ceil;return"number"==typeof t&&((a=0|t)<0?(i+=r*(e-1),e=o(-e/a)):e=o(e/a),r*=a),new n(this.data,e,r,i)},i.transpose=function(t){t=void 0===t?0:0|t;var e=this.shape,r=this.stride;return new n(this.data,e[t],r[t],this.offset)},i.pick=function(t){var r=[],n=[],i=this.offset;return"number"==typeof t&&t>=0?i=i+this.stride[0]*t|0:(r.push(this.shape[0]),n.push(this.stride[0])),(0,e[r.length+1])(this.data,r,n,i)},function(t,e,r,i){return new n(t,e[0],r[0],i)}},2:function(t,e,r){function n(t,e,r,n,i,a){this.data=t,this.shape=[e,r],this.stride=[n,i],this.offset=0|a}var i=n.prototype;return i.dtype=t,i.dimension=2,Object.defineProperty(i,"size",{get:function(){return this.shape[0]*this.shape[1]}}),Object.defineProperty(i,"order",{get:function(){return Math.abs(this.stride[0])>Math.abs(this.stride[1])?[1,0]:[0,1]}}),i.set=function(e,r,n){return"generic"===t?this.data.set(this.offset+this.stride[0]*e+this.stride[1]*r,n):this.data[this.offset+this.stride[0]*e+this.stride[1]*r]=n},i.get=function(e,r){return"generic"===t?this.data.get(this.offset+this.stride[0]*e+this.stride[1]*r):this.data[this.offset+this.stride[0]*e+this.stride[1]*r]},i.index=function(t,e){return this.offset+this.stride[0]*t+this.stride[1]*e},i.hi=function(t,e){return new n(this.data,"number"!=typeof t||t<0?this.shape[0]:0|t,"number"!=typeof e||e<0?this.shape[1]:0|e,this.stride[0],this.stride[1],this.offset)},i.lo=function(t,e){var r=this.offset,i=0,a=this.shape[0],o=this.shape[1],s=this.stride[0],l=this.stride[1];return"number"==typeof t&&t>=0&&(r+=s*(i=0|t),a-=i),"number"==typeof e&&e>=0&&(r+=l*(i=0|e),o-=i),new n(this.data,a,o,s,l,r)},i.step=function(t,e){var r=this.shape[0],i=this.shape[1],a=this.stride[0],o=this.stride[1],s=this.offset,l=0,u=Math.ceil;return"number"==typeof t&&((l=0|t)<0?(s+=a*(r-1),r=u(-r/l)):r=u(r/l),a*=l),"number"==typeof e&&((l=0|e)<0?(s+=o*(i-1),i=u(-i/l)):i=u(i/l),o*=l),new n(this.data,r,i,a,o,s)},i.transpose=function(t,e){t=void 0===t?0:0|t,e=void 0===e?1:0|e;var r=this.shape,i=this.stride;return new n(this.data,r[t],r[e],i[t],i[e],this.offset)},i.pick=function(t,r){var n=[],i=[],a=this.offset;return"number"==typeof t&&t>=0?a=a+this.stride[0]*t|0:(n.push(this.shape[0]),i.push(this.stride[0])),"number"==typeof r&&r>=0?a=a+this.stride[1]*r|0:(n.push(this.shape[1]),i.push(this.stride[1])),(0,e[n.length+1])(this.data,n,i,a)},function(t,e,r,i){return new n(t,e[0],e[1],r[0],r[1],i)}},3:function(t,e,r){function n(t,e,r,n,i,a,o,s){this.data=t,this.shape=[e,r,n],this.stride=[i,a,o],this.offset=0|s}var i=n.prototype;return i.dtype=t,i.dimension=3,Object.defineProperty(i,"size",{get:function(){return this.shape[0]*this.shape[1]*this.shape[2]}}),Object.defineProperty(i,"order",{get:function(){var t=Math.abs(this.stride[0]),e=Math.abs(this.stride[1]),r=Math.abs(this.stride[2]);return t>e?e>r?[2,1,0]:t>r?[1,2,0]:[1,0,2]:t>r?[2,0,1]:r>e?[0,1,2]:[0,2,1]}}),i.set=function(e,r,n,i){return"generic"===t?this.data.set(this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n,i):this.data[this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n]=i},i.get=function(e,r,n){return"generic"===t?this.data.get(this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n):this.data[this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n]},i.index=function(t,e,r){return this.offset+this.stride[0]*t+this.stride[1]*e+this.stride[2]*r},i.hi=function(t,e,r){return new n(this.data,"number"!=typeof t||t<0?this.shape[0]:0|t,"number"!=typeof e||e<0?this.shape[1]:0|e,"number"!=typeof r||r<0?this.shape[2]:0|r,this.stride[0],this.stride[1],this.stride[2],this.offset)},i.lo=function(t,e,r){var i=this.offset,a=0,o=this.shape[0],s=this.shape[1],l=this.shape[2],u=this.stride[0],c=this.stride[1],f=this.stride[2];return"number"==typeof t&&t>=0&&(i+=u*(a=0|t),o-=a),"number"==typeof e&&e>=0&&(i+=c*(a=0|e),s-=a),"number"==typeof r&&r>=0&&(i+=f*(a=0|r),l-=a),new n(this.data,o,s,l,u,c,f,i)},i.step=function(t,e,r){var i=this.shape[0],a=this.shape[1],o=this.shape[2],s=this.stride[0],l=this.stride[1],u=this.stride[2],c=this.offset,f=0,h=Math.ceil;return"number"==typeof t&&((f=0|t)<0?(c+=s*(i-1),i=h(-i/f)):i=h(i/f),s*=f),"number"==typeof e&&((f=0|e)<0?(c+=l*(a-1),a=h(-a/f)):a=h(a/f),l*=f),"number"==typeof r&&((f=0|r)<0?(c+=u*(o-1),o=h(-o/f)):o=h(o/f),u*=f),new n(this.data,i,a,o,s,l,u,c)},i.transpose=function(t,e,r){t=void 0===t?0:0|t,e=void 0===e?1:0|e,r=void 0===r?2:0|r;var i=this.shape,a=this.stride;return new n(this.data,i[t],i[e],i[r],a[t],a[e],a[r],this.offset)},i.pick=function(t,r,n){var i=[],a=[],o=this.offset;return"number"==typeof t&&t>=0?o=o+this.stride[0]*t|0:(i.push(this.shape[0]),a.push(this.stride[0])),"number"==typeof r&&r>=0?o=o+this.stride[1]*r|0:(i.push(this.shape[1]),a.push(this.stride[1])),"number"==typeof n&&n>=0?o=o+this.stride[2]*n|0:(i.push(this.shape[2]),a.push(this.stride[2])),(0,e[i.length+1])(this.data,i,a,o)},function(t,e,r,i){return new n(t,e[0],e[1],e[2],r[0],r[1],r[2],i)}},4:function(t,e,r){function n(t,e,r,n,i,a,o,s,l,u){this.data=t,this.shape=[e,r,n,i],this.stride=[a,o,s,l],this.offset=0|u}var i=n.prototype;return i.dtype=t,i.dimension=4,Object.defineProperty(i,"size",{get:function(){return this.shape[0]*this.shape[1]*this.shape[2]*this.shape[3]}}),Object.defineProperty(i,"order",{get:r}),i.set=function(e,r,n,i,a){return"generic"===t?this.data.set(this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i,a):this.data[this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i]=a},i.get=function(e,r,n,i){return"generic"===t?this.data.get(this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i):this.data[this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i]},i.index=function(t,e,r,n){return this.offset+this.stride[0]*t+this.stride[1]*e+this.stride[2]*r+this.stride[3]*n},i.hi=function(t,e,r,i){return new n(this.data,"number"!=typeof t||t<0?this.shape[0]:0|t,"number"!=typeof e||e<0?this.shape[1]:0|e,"number"!=typeof r||r<0?this.shape[2]:0|r,"number"!=typeof i||i<0?this.shape[3]:0|i,this.stride[0],this.stride[1],this.stride[2],this.stride[3],this.offset)},i.lo=function(t,e,r,i){var a=this.offset,o=0,s=this.shape[0],l=this.shape[1],u=this.shape[2],c=this.shape[3],f=this.stride[0],h=this.stride[1],p=this.stride[2],d=this.stride[3];return"number"==typeof t&&t>=0&&(a+=f*(o=0|t),s-=o),"number"==typeof e&&e>=0&&(a+=h*(o=0|e),l-=o),"number"==typeof r&&r>=0&&(a+=p*(o=0|r),u-=o),"number"==typeof i&&i>=0&&(a+=d*(o=0|i),c-=o),new n(this.data,s,l,u,c,f,h,p,d,a)},i.step=function(t,e,r,i){var a=this.shape[0],o=this.shape[1],s=this.shape[2],l=this.shape[3],u=this.stride[0],c=this.stride[1],f=this.stride[2],h=this.stride[3],p=this.offset,d=0,v=Math.ceil;return"number"==typeof t&&((d=0|t)<0?(p+=u*(a-1),a=v(-a/d)):a=v(a/d),u*=d),"number"==typeof e&&((d=0|e)<0?(p+=c*(o-1),o=v(-o/d)):o=v(o/d),c*=d),"number"==typeof r&&((d=0|r)<0?(p+=f*(s-1),s=v(-s/d)):s=v(s/d),f*=d),"number"==typeof i&&((d=0|i)<0?(p+=h*(l-1),l=v(-l/d)):l=v(l/d),h*=d),new n(this.data,a,o,s,l,u,c,f,h,p)},i.transpose=function(t,e,r,i){t=void 0===t?0:0|t,e=void 0===e?1:0|e,r=void 0===r?2:0|r,i=void 0===i?3:0|i;var a=this.shape,o=this.stride;return new n(this.data,a[t],a[e],a[r],a[i],o[t],o[e],o[r],o[i],this.offset)},i.pick=function(t,r,n,i){var a=[],o=[],s=this.offset;return"number"==typeof t&&t>=0?s=s+this.stride[0]*t|0:(a.push(this.shape[0]),o.push(this.stride[0])),"number"==typeof r&&r>=0?s=s+this.stride[1]*r|0:(a.push(this.shape[1]),o.push(this.stride[1])),"number"==typeof n&&n>=0?s=s+this.stride[2]*n|0:(a.push(this.shape[2]),o.push(this.stride[2])),"number"==typeof i&&i>=0?s=s+this.stride[3]*i|0:(a.push(this.shape[3]),o.push(this.stride[3])),(0,e[a.length+1])(this.data,a,o,s)},function(t,e,r,i){return new n(t,e[0],e[1],e[2],e[3],r[0],r[1],r[2],r[3],i)}},5:function(t,e,r){function n(t,e,r,n,i,a,o,s,l,u,c,f){this.data=t,this.shape=[e,r,n,i,a],this.stride=[o,s,l,u,c],this.offset=0|f}var i=n.prototype;return i.dtype=t,i.dimension=5,Object.defineProperty(i,"size",{get:function(){return this.shape[0]*this.shape[1]*this.shape[2]*this.shape[3]*this.shape[4]}}),Object.defineProperty(i,"order",{get:r}),i.set=function(e,r,n,i,a,o){return"generic"===t?this.data.set(this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i+this.stride[4]*a,o):this.data[this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i+this.stride[4]*a]=o},i.get=function(e,r,n,i,a){return"generic"===t?this.data.get(this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i+this.stride[4]*a):this.data[this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i+this.stride[4]*a]},i.index=function(t,e,r,n,i){return this.offset+this.stride[0]*t+this.stride[1]*e+this.stride[2]*r+this.stride[3]*n+this.stride[4]*i},i.hi=function(t,e,r,i,a){return new n(this.data,"number"!=typeof t||t<0?this.shape[0]:0|t,"number"!=typeof e||e<0?this.shape[1]:0|e,"number"!=typeof r||r<0?this.shape[2]:0|r,"number"!=typeof i||i<0?this.shape[3]:0|i,"number"!=typeof a||a<0?this.shape[4]:0|a,this.stride[0],this.stride[1],this.stride[2],this.stride[3],this.stride[4],this.offset)},i.lo=function(t,e,r,i,a){var o=this.offset,s=0,l=this.shape[0],u=this.shape[1],c=this.shape[2],f=this.shape[3],h=this.shape[4],p=this.stride[0],d=this.stride[1],v=this.stride[2],g=this.stride[3],y=this.stride[4];return"number"==typeof t&&t>=0&&(o+=p*(s=0|t),l-=s),"number"==typeof e&&e>=0&&(o+=d*(s=0|e),u-=s),"number"==typeof r&&r>=0&&(o+=v*(s=0|r),c-=s),"number"==typeof i&&i>=0&&(o+=g*(s=0|i),f-=s),"number"==typeof a&&a>=0&&(o+=y*(s=0|a),h-=s),new n(this.data,l,u,c,f,h,p,d,v,g,y,o)},i.step=function(t,e,r,i,a){var o=this.shape[0],s=this.shape[1],l=this.shape[2],u=this.shape[3],c=this.shape[4],f=this.stride[0],h=this.stride[1],p=this.stride[2],d=this.stride[3],v=this.stride[4],g=this.offset,y=0,m=Math.ceil;return"number"==typeof t&&((y=0|t)<0?(g+=f*(o-1),o=m(-o/y)):o=m(o/y),f*=y),"number"==typeof e&&((y=0|e)<0?(g+=h*(s-1),s=m(-s/y)):s=m(s/y),h*=y),"number"==typeof r&&((y=0|r)<0?(g+=p*(l-1),l=m(-l/y)):l=m(l/y),p*=y),"number"==typeof i&&((y=0|i)<0?(g+=d*(u-1),u=m(-u/y)):u=m(u/y),d*=y),"number"==typeof a&&((y=0|a)<0?(g+=v*(c-1),c=m(-c/y)):c=m(c/y),v*=y),new n(this.data,o,s,l,u,c,f,h,p,d,v,g)},i.transpose=function(t,e,r,i,a){t=void 0===t?0:0|t,e=void 0===e?1:0|e,r=void 0===r?2:0|r,i=void 0===i?3:0|i,a=void 0===a?4:0|a;var o=this.shape,s=this.stride;return new n(this.data,o[t],o[e],o[r],o[i],o[a],s[t],s[e],s[r],s[i],s[a],this.offset)},i.pick=function(t,r,n,i,a){var o=[],s=[],l=this.offset;return"number"==typeof t&&t>=0?l=l+this.stride[0]*t|0:(o.push(this.shape[0]),s.push(this.stride[0])),"number"==typeof r&&r>=0?l=l+this.stride[1]*r|0:(o.push(this.shape[1]),s.push(this.stride[1])),"number"==typeof n&&n>=0?l=l+this.stride[2]*n|0:(o.push(this.shape[2]),s.push(this.stride[2])),"number"==typeof i&&i>=0?l=l+this.stride[3]*i|0:(o.push(this.shape[3]),s.push(this.stride[3])),"number"==typeof a&&a>=0?l=l+this.stride[4]*a|0:(o.push(this.shape[4]),s.push(this.stride[4])),(0,e[o.length+1])(this.data,o,s,l)},function(t,e,r,i){return new n(t,e[0],e[1],e[2],e[3],e[4],r[0],r[1],r[2],r[3],r[4],i)}}};function l(t,e){var r=-1===e?"T":String(e),n=s[r];return-1===e?n(t):0===e?n(t,u[t][0]):n(t,u[t],o)}var u={generic:[],buffer:[],array:[],float32:[],float64:[],int8:[],int16:[],int32:[],uint8_clamped:[],uint8:[],uint16:[],uint32:[],bigint64:[],biguint64:[]};t.exports=function(t,e,r,a){if(void 0===t)return(0,u.array[0])([]);"number"==typeof t&&(t=[t]),void 0===e&&(e=[t.length]);var o=e.length;if(void 0===r){r=new Array(o);for(var s=o-1,c=1;s>=0;--s)r[s]=c,c*=e[s]}if(void 0===a)for(a=0,s=0;s<o;++s)r[s]<0&&(a-=(e[s]-1)*r[s]);for(var f=function(t){if(n(t))return"buffer";if(i)switch(Object.prototype.toString.call(t)){case"[object Float64Array]":return"float64";case"[object Float32Array]":return"float32";case"[object Int8Array]":return"int8";case"[object Int16Array]":return"int16";case"[object Int32Array]":return"int32";case"[object Uint8ClampedArray]":return"uint8_clamped";case"[object Uint8Array]":return"uint8";case"[object Uint16Array]":return"uint16";case"[object Uint32Array]":return"uint32";case"[object BigInt64Array]":return"bigint64";case"[object BigUint64Array]":return"biguint64"}return Array.isArray(t)?"array":"generic"}(t),h=u[f];h.length<=o+1;)h.push(l(f,h.length-1));return(0,h[o+1])(t,e,r,a)}},8551:function(t,e,r){"use strict";var n=r(8362),i=Math.pow(2,-1074),a=-1>>>0;t.exports=function(t,e){if(isNaN(t)||isNaN(e))return NaN;if(t===e)return t;if(0===t)return e<0?-i:i;var r=n.hi(t),o=n.lo(t);return e>t==t>0?o===a?(r+=1,o=0):o+=1:0===o?(o=a,r-=1):o-=1,n.pack(o,r)}},115:function(t,e){e.vertexNormals=function(t,e,r){for(var n=e.length,i=new Array(n),a=void 0===r?1e-6:r,o=0;o<n;++o)i[o]=[0,0,0];for(o=0;o<t.length;++o)for(var s=t[o],l=0,u=s[s.length-1],c=s[0],f=0;f<s.length;++f){l=u,u=c,c=s[(f+1)%s.length];for(var h=e[l],p=e[u],d=e[c],v=new Array(3),g=0,y=new Array(3),m=0,x=0;x<3;++x)v[x]=h[x]-p[x],g+=v[x]*v[x],y[x]=d[x]-p[x],m+=y[x]*y[x];if(g*m>a){var b=i[u],_=1/Math.sqrt(g*m);for(x=0;x<3;++x){var w=(x+1)%3,T=(x+2)%3;b[x]+=_*(y[w]*v[T]-y[T]*v[w])}}}for(o=0;o<n;++o){b=i[o];var k=0;for(x=0;x<3;++x)k+=b[x]*b[x];if(k>a)for(_=1/Math.sqrt(k),x=0;x<3;++x)b[x]*=_;else for(x=0;x<3;++x)b[x]=0}return i},e.faceNormals=function(t,e,r){for(var n=t.length,i=new Array(n),a=void 0===r?1e-6:r,o=0;o<n;++o){for(var s=t[o],l=new Array(3),u=0;u<3;++u)l[u]=e[s[u]];var c=new Array(3),f=new Array(3);for(u=0;u<3;++u)c[u]=l[1][u]-l[0][u],f[u]=l[2][u]-l[0][u];var h=new Array(3),p=0;for(u=0;u<3;++u){var d=(u+1)%3,v=(u+2)%3;h[u]=c[d]*f[v]-c[v]*f[d],p+=h[u]*h[u]}for(p=p>a?1/Math.sqrt(p):0,u=0;u<3;++u)h[u]*=p;i[o]=h}return i}},567:function(t){"use strict";t.exports=function(t,e,r,n,i,a,o,s,l,u){var c=e+a+u;if(f>0){var f=Math.sqrt(c+1);t[0]=.5*(o-l)/f,t[1]=.5*(s-n)/f,t[2]=.5*(r-a)/f,t[3]=.5*f}else{var h=Math.max(e,a,u);f=Math.sqrt(2*h-c+1),e>=h?(t[0]=.5*f,t[1]=.5*(i+r)/f,t[2]=.5*(s+n)/f,t[3]=.5*(o-l)/f):a>=h?(t[0]=.5*(r+i)/f,t[1]=.5*f,t[2]=.5*(l+o)/f,t[3]=.5*(s-n)/f):(t[0]=.5*(n+s)/f,t[1]=.5*(o+l)/f,t[2]=.5*f,t[3]=.5*(r-i)/f)}return t}},7774:function(t,e,r){"use strict";t.exports=function(t){var e=(t=t||{}).center||[0,0,0],r=t.rotation||[0,0,0,1],n=t.radius||1;e=[].slice.call(e,0,3),c(r=[].slice.call(r,0,4),r);var i=new f(r,e,Math.log(n));return i.setDistanceLimits(t.zoomMin,t.zoomMax),("eye"in t||"up"in t)&&i.lookAt(0,t.eye,t.center,t.up),i};var n=r(8444),i=r(3012),a=r(5950),o=r(7437),s=r(567);function l(t,e,r){return Math.sqrt(Math.pow(t,2)+Math.pow(e,2)+Math.pow(r,2))}function u(t,e,r,n){return Math.sqrt(Math.pow(t,2)+Math.pow(e,2)+Math.pow(r,2)+Math.pow(n,2))}function c(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=u(r,n,i,a);o>1e-6?(t[0]=r/o,t[1]=n/o,t[2]=i/o,t[3]=a/o):(t[0]=t[1]=t[2]=0,t[3]=1)}function f(t,e,r){this.radius=n([r]),this.center=n(e),this.rotation=n(t),this.computedRadius=this.radius.curve(0),this.computedCenter=this.center.curve(0),this.computedRotation=this.rotation.curve(0),this.computedUp=[.1,0,0],this.computedEye=[.1,0,0],this.computedMatrix=[.1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],this.recalcMatrix(0)}var h=f.prototype;h.lastT=function(){return Math.max(this.radius.lastT(),this.center.lastT(),this.rotation.lastT())},h.recalcMatrix=function(t){this.radius.curve(t),this.center.curve(t),this.rotation.curve(t);var e=this.computedRotation;c(e,e);var r=this.computedMatrix;a(r,e);var n=this.computedCenter,i=this.computedEye,o=this.computedUp,s=Math.exp(this.computedRadius[0]);i[0]=n[0]+s*r[2],i[1]=n[1]+s*r[6],i[2]=n[2]+s*r[10],o[0]=r[1],o[1]=r[5],o[2]=r[9];for(var l=0;l<3;++l){for(var u=0,f=0;f<3;++f)u+=r[l+4*f]*i[f];r[12+l]=-u}},h.getMatrix=function(t,e){this.recalcMatrix(t);var r=this.computedMatrix;if(e){for(var n=0;n<16;++n)e[n]=r[n];return e}return r},h.idle=function(t){this.center.idle(t),this.radius.idle(t),this.rotation.idle(t)},h.flush=function(t){this.center.flush(t),this.radius.flush(t),this.rotation.flush(t)},h.pan=function(t,e,r,n){e=e||0,r=r||0,n=n||0,this.recalcMatrix(t);var i=this.computedMatrix,a=i[1],o=i[5],s=i[9],u=l(a,o,s);a/=u,o/=u,s/=u;var c=i[0],f=i[4],h=i[8],p=c*a+f*o+h*s,d=l(c-=a*p,f-=o*p,h-=s*p);c/=d,f/=d,h/=d;var v=i[2],g=i[6],y=i[10],m=v*a+g*o+y*s,x=v*c+g*f+y*h,b=l(v-=m*a+x*c,g-=m*o+x*f,y-=m*s+x*h);v/=b,g/=b,y/=b;var _=c*e+a*r,w=f*e+o*r,T=h*e+s*r;this.center.move(t,_,w,T);var k=Math.exp(this.computedRadius[0]);k=Math.max(1e-4,k+n),this.radius.set(t,Math.log(k))},h.rotate=function(t,e,r,n){this.recalcMatrix(t),e=e||0,r=r||0;var i=this.computedMatrix,a=i[0],o=i[4],s=i[8],c=i[1],f=i[5],h=i[9],p=i[2],d=i[6],v=i[10],g=e*a+r*c,y=e*o+r*f,m=e*s+r*h,x=-(d*m-v*y),b=-(v*g-p*m),_=-(p*y-d*g),w=Math.sqrt(Math.max(0,1-Math.pow(x,2)-Math.pow(b,2)-Math.pow(_,2))),T=u(x,b,_,w);T>1e-6?(x/=T,b/=T,_/=T,w/=T):(x=b=_=0,w=1);var k=this.computedRotation,A=k[0],M=k[1],S=k[2],E=k[3],L=A*w+E*x+M*_-S*b,C=M*w+E*b+S*x-A*_,P=S*w+E*_+A*b-M*x,O=E*w-A*x-M*b-S*_;if(n){x=p,b=d,_=v;var I=Math.sin(n)/l(x,b,_);x*=I,b*=I,_*=I,O=O*(w=Math.cos(e))-(L=L*w+O*x+C*_-P*b)*x-(C=C*w+O*b+P*x-L*_)*b-(P=P*w+O*_+L*b-C*x)*_}var D=u(L,C,P,O);D>1e-6?(L/=D,C/=D,P/=D,O/=D):(L=C=P=0,O=1),this.rotation.set(t,L,C,P,O)},h.lookAt=function(t,e,r,n){this.recalcMatrix(t),r=r||this.computedCenter,e=e||this.computedEye,n=n||this.computedUp;var a=this.computedMatrix;i(a,e,r,n);var o=this.computedRotation;s(o,a[0],a[1],a[2],a[4],a[5],a[6],a[8],a[9],a[10]),c(o,o),this.rotation.set(t,o[0],o[1],o[2],o[3]);for(var l=0,u=0;u<3;++u)l+=Math.pow(r[u]-e[u],2);this.radius.set(t,.5*Math.log(Math.max(l,1e-6))),this.center.set(t,r[0],r[1],r[2])},h.translate=function(t,e,r,n){this.center.move(t,e||0,r||0,n||0)},h.setMatrix=function(t,e){var r=this.computedRotation;s(r,e[0],e[1],e[2],e[4],e[5],e[6],e[8],e[9],e[10]),c(r,r),this.rotation.set(t,r[0],r[1],r[2],r[3]);var n=this.computedMatrix;o(n,e);var i=n[15];if(Math.abs(i)>1e-6){var a=n[12]/i,l=n[13]/i,u=n[14]/i;this.recalcMatrix(t);var f=Math.exp(this.computedRadius[0]);this.center.set(t,a-n[2]*f,l-n[6]*f,u-n[10]*f),this.radius.idle(t)}else this.center.idle(t),this.radius.idle(t)},h.setDistance=function(t,e){e>0&&this.radius.set(t,Math.log(e))},h.setDistanceLimits=function(t,e){t=t>0?Math.log(t):-1/0,e=e>0?Math.log(e):1/0,e=Math.max(e,t),this.radius.bounds[0][0]=t,this.radius.bounds[1][0]=e},h.getDistanceLimits=function(t){var e=this.radius.bounds;return t?(t[0]=Math.exp(e[0][0]),t[1]=Math.exp(e[1][0]),t):[Math.exp(e[0][0]),Math.exp(e[1][0])]},h.toJSON=function(){return this.recalcMatrix(this.lastT()),{center:this.computedCenter.slice(),rotation:this.computedRotation.slice(),distance:Math.log(this.computedRadius[0]),zoomMin:this.radius.bounds[0][0],zoomMax:this.radius.bounds[1][0]}},h.fromJSON=function(t){var e=this.lastT(),r=t.center;r&&this.center.set(e,r[0],r[1],r[2]);var n=t.rotation;n&&this.rotation.set(e,n[0],n[1],n[2],n[3]);var i=t.distance;i&&i>0&&this.radius.set(e,Math.log(i)),this.setDistanceLimits(t.zoomMin,t.zoomMax)}},4930:function(t,e,r){"use strict";var n=r(6184);t.exports=function(t,e,r){return n(r=void 0!==r?r+"":" ",e)+t}},4405:function(t){t.exports=function(t,e){e||(e=[0,""]),t=String(t);var r=parseFloat(t,10);return e[0]=r,e[1]=t.match(/[\d.\-\+]*\s*(.*)/)[1]||"",e}},4166:function(t,e,r){"use strict";t.exports=function(t,e){for(var r=0|e.length,i=t.length,a=[new Array(r),new Array(r)],o=0;o<r;++o)a[0][o]=[],a[1][o]=[];for(o=0;o<i;++o){var s=t[o];a[0][s[0]].push(s),a[1][s[1]].push(s)}var l=[];for(o=0;o<r;++o)a[0][o].length+a[1][o].length===0&&l.push([o]);function u(t,e){var r=a[e][t[e]];r.splice(r.indexOf(t),1)}function c(t,r,i){for(var o,s,l,c=0;c<2;++c)if(a[c][r].length>0){o=a[c][r][0],l=c;break}s=o[1^l];for(var f=0;f<2;++f)for(var h=a[f][r],p=0;p<h.length;++p){var d=h[p],v=d[1^f];n(e[t],e[r],e[s],e[v])>0&&(o=d,s=v,l=f)}return i||o&&u(o,l),s}function f(t,r){var i=a[r][t][0],o=[t];u(i,r);for(var s=i[1^r];;){for(;s!==t;)o.push(s),s=c(o[o.length-2],s,!1);if(a[0][t].length+a[1][t].length===0)break;var l=o[o.length-1],f=t,h=o[1],p=c(l,f,!0);if(n(e[l],e[f],e[h],e[p])<0)break;o.push(t),s=c(l,f)}return o}function h(t,e){return e[1]===e[e.length-1]}for(o=0;o<r;++o)for(var p=0;p<2;++p){for(var d=[];a[p][o].length>0;){a[0][o].length;var v=f(o,p);h(0,v)?d.push.apply(d,v):(d.length>0&&l.push(d),d=v)}d.length>0&&l.push(d)}return l};var n=r(9398)},3959:function(t,e,r){"use strict";t.exports=function(t,e){for(var r=n(t,e.length),i=new Array(e.length),a=new Array(e.length),o=[],s=0;s<e.length;++s){var l=r[s].length;a[s]=l,i[s]=!0,l<=1&&o.push(s)}for(;o.length>0;){var u=o.pop();i[u]=!1;var c=r[u];for(s=0;s<c.length;++s){var f=c[s];0==--a[f]&&o.push(f)}}var h=new Array(e.length),p=[];for(s=0;s<e.length;++s)i[s]?(u=p.length,h[s]=u,p.push(e[s])):h[s]=-1;var d=[];for(s=0;s<t.length;++s){var v=t[s];i[v[0]]&&i[v[1]]&&d.push([h[v[0]],h[v[1]]])}return[d,p]};var n=r(8348)},8040:function(t,e,r){"use strict";t.exports=function(t,e){var r=u(t,e);t=r[0];for(var f=(e=r[1]).length,h=(t.length,n(t,e.length)),p=0;p<f;++p)if(h[p].length%2==1)throw new Error("planar-graph-to-polyline: graph must be manifold");var d=i(t,e),v=(d=d.filter((function(t){for(var r=t.length,n=[0],i=0;i<r;++i){var a=e[t[i]],l=e[t[(i+1)%r]],u=o(-a[0],a[1]),c=o(-a[0],l[1]),f=o(l[0],a[1]),h=o(l[0],l[1]);n=s(n,s(s(u,c),s(f,h)))}return n[n.length-1]>0}))).length,g=new Array(v),y=new Array(v);for(p=0;p<v;++p){g[p]=p;var m=new Array(v),x=d[p].map((function(t){return e[t]})),b=a([x]),_=0;t:for(var w=0;w<v;++w)if(m[w]=0,p!==w){for(var T=(H=d[w]).length,k=0;k<T;++k){var A=b(e[H[k]]);if(0!==A){A<0&&(m[w]=1,_+=1);continue t}}m[w]=1,_+=1}y[p]=[_,p,m]}for(y.sort((function(t,e){return e[0]-t[0]})),p=0;p<v;++p){var M=(m=y[p])[1],S=m[2];for(w=0;w<v;++w)S[w]&&(g[w]=M)}var E=function(t){for(var e=new Array(t),r=0;r<t;++r)e[r]=[];return e}(v);for(p=0;p<v;++p)E[p].push(g[p]),E[g[p]].push(p);var L={},C=c(f,!1);for(p=0;p<v;++p)for(T=(H=d[p]).length,w=0;w<T;++w){var P=H[w],O=H[(w+1)%T],I=Math.min(P,O)+":"+Math.max(P,O);if(I in L){var D=L[I];E[D].push(p),E[p].push(D),C[P]=C[O]=!0}else L[I]=p}function z(t){for(var e=t.length,r=0;r<e;++r)if(!C[t[r]])return!1;return!0}var R=[],F=c(v,-1);for(p=0;p<v;++p)g[p]!==p||z(d[p])?F[p]=-1:(R.push(p),F[p]=0);for(r=[];R.length>0;){var B=R.pop(),N=E[B];l(N,(function(t,e){return t-e}));var j,U=N.length,V=F[B];if(0===V){var H=d[B];j=[H]}for(p=0;p<U;++p){var q=N[p];F[q]>=0||(F[q]=1^V,R.push(q),0===V&&(z(H=d[q])||(H.reverse(),j.push(H))))}0===V&&r.push(j)}return r};var n=r(8348),i=r(4166),a=r(211),o=r(9660),s=r(9662),l=r(1215),u=r(3959);function c(t,e){for(var r=new Array(t),n=0;n<t;++n)r[n]=e;return r}},211:function(t,e,r){t.exports=function(t){for(var e=t.length,r=[],a=[],s=0;s<e;++s)for(var c=t[s],f=c.length,h=f-1,p=0;p<f;h=p++){var d=c[h],v=c[p];d[0]===v[0]?a.push([d,v]):r.push([d,v])}if(0===r.length)return 0===a.length?u:(g=l(a),function(t){return g(t[0],t[1])?0:1});var g,y=i(r),m=function(t,e){return function(r){var i=o.le(e,r[0]);if(i<0)return 1;var a=t[i];if(!a){if(!(i>0&&e[i]===r[0]))return 1;a=t[i-1]}for(var s=1;a;){var l=a.key,u=n(r,l[0],l[1]);if(l[0][0]<l[1][0])if(u<0)a=a.left;else{if(!(u>0))return 0;s=-1,a=a.right}else if(u>0)a=a.left;else{if(!(u<0))return 0;s=1,a=a.right}}return s}}(y.slabs,y.coordinates);return 0===a.length?m:function(t,e){return function(r){return t(r[0],r[1])?0:e(r)}}(l(a),m)};var n=r(417)[3],i=r(4385),a=r(9014),o=r(5070);function s(){return!0}function l(t){for(var e={},r=0;r<t.length;++r){var n=t[r],i=n[0][0],o=n[0][1],l=n[1][1],u=[Math.min(o,l),Math.max(o,l)];i in e?e[i].push(u):e[i]=[u]}var c={},f=Object.keys(e);for(r=0;r<f.length;++r){var h=e[f[r]];c[f[r]]=a(h)}return function(t){return function(e,r){var n=t[e];return!!n&&!!n.queryPoint(r,s)}}(c)}function u(t){return 1}},7309:function(t){"use strict";var e=new Float64Array(4),r=new Float64Array(4),n=new Float64Array(4);t.exports=function(t,i,a,o,s){e.length<o.length&&(e=new Float64Array(o.length),r=new Float64Array(o.length),n=new Float64Array(o.length));for(var l=0;l<o.length;++l)e[l]=t[l]-o[l],r[l]=i[l]-t[l],n[l]=a[l]-t[l];var u=0,c=0,f=0,h=0,p=0,d=0;for(l=0;l<o.length;++l){var v=r[l],g=n[l],y=e[l];u+=v*v,c+=v*g,f+=g*g,h+=y*v,p+=y*g,d+=y*y}var m,x,b,_,w,T=Math.abs(u*f-c*c),k=c*p-f*h,A=c*h-u*p;if(k+A<=T)if(k<0)A<0&&h<0?(A=0,-h>=u?(k=1,m=u+2*h+d):m=h*(k=-h/u)+d):(k=0,p>=0?(A=0,m=d):-p>=f?(A=1,m=f+2*p+d):m=p*(A=-p/f)+d);else if(A<0)A=0,h>=0?(k=0,m=d):-h>=u?(k=1,m=u+2*h+d):m=h*(k=-h/u)+d;else{var M=1/T;m=(k*=M)*(u*k+c*(A*=M)+2*h)+A*(c*k+f*A+2*p)+d}else k<0?(b=f+p)>(x=c+h)?(_=b-x)>=(w=u-2*c+f)?(k=1,A=0,m=u+2*h+d):m=(k=_/w)*(u*k+c*(A=1-k)+2*h)+A*(c*k+f*A+2*p)+d:(k=0,b<=0?(A=1,m=f+2*p+d):p>=0?(A=0,m=d):m=p*(A=-p/f)+d):A<0?(b=u+h)>(x=c+p)?(_=b-x)>=(w=u-2*c+f)?(A=1,k=0,m=f+2*p+d):m=(k=1-(A=_/w))*(u*k+c*A+2*h)+A*(c*k+f*A+2*p)+d:(A=0,b<=0?(k=1,m=u+2*h+d):h>=0?(k=0,m=d):m=h*(k=-h/u)+d):(_=f+p-c-h)<=0?(k=0,A=1,m=f+2*p+d):_>=(w=u-2*c+f)?(k=1,A=0,m=u+2*h+d):m=(k=_/w)*(u*k+c*(A=1-k)+2*h)+A*(c*k+f*A+2*p)+d;var S=1-k-A;for(l=0;l<o.length;++l)s[l]=S*t[l]+k*i[l]+A*a[l];return m<0?0:m}},1116:function(t,e,r){t.exports=r(6093)},7584:function(t,e,r){"use strict";var n=r(1539);t.exports=function(t,e){for(var r=t.length,i=new Array(r),a=0;a<r;++a)i[a]=n(t[a],e[a]);return i}},2826:function(t,e,r){"use strict";t.exports=function(t){for(var e=new Array(t.length),r=0;r<t.length;++r)e[r]=n(t[r]);return e};var n=r(5125)},4469:function(t,e,r){"use strict";var n=r(5125),i=r(3962);t.exports=function(t,e){for(var r=n(e),a=t.length,o=new Array(a),s=0;s<a;++s)o[s]=i(t[s],r);return o}},6695:function(t,e,r){"use strict";var n=r(4354);t.exports=function(t,e){for(var r=t.length,i=new Array(r),a=0;a<r;++a)i[a]=n(t[a],e[a]);return i}},7037:function(t,e,r){"use strict";var n=r(9209),i=r(1284),a=r(9887);t.exports=function(t){t.sort(i);for(var e=t.length,r=0,o=0;o<e;++o){var s=t[o],l=a(s);if(0!==l){if(r>0){var u=t[r-1];if(0===n(s,u)&&a(u)!==l){r-=1;continue}}t[r++]=s}}return t.length=r,t}},6184:function(t){"use strict";var e,r="";t.exports=function(t,n){if("string"!=typeof t)throw new TypeError("expected a string");if(1===n)return t;if(2===n)return t+t;var i=t.length*n;if(e!==t||void 0===e)e=t,r="";else if(r.length>=i)return r.substr(0,i);for(;i>r.length&&n>1;)1&n&&(r+=t),n>>=1,t+=t;return r=(r+=t).substr(0,i)}},8161:function(t,e,r){t.exports=r.g.performance&&r.g.performance.now?function(){return performance.now()}:Date.now||function(){return+new Date}},402:function(t){"use strict";t.exports=function(t){for(var e=t.length,r=t[t.length-1],n=e,i=e-2;i>=0;--i){var a=r,o=t[i];(l=o-((r=a+o)-a))&&(t[--n]=r,r=l)}var s=0;for(i=n;i<e;++i){var l;(l=(o=r)-((r=(a=t[i])+o)-a))&&(t[s++]=l)}return t[s++]=r,t.length=s,t}},8167:function(t,e,r){"use strict";var n=r(9660),i=r(9662),a=r(8289),o=r(402);function s(t,e,r,n){return function(e){return n(t(r(e[0][0],e[1][1]),r(-e[0][1],e[1][0])))}}function l(t,e,r,n){return function(i){return n(t(e(t(r(i[1][1],i[2][2]),r(-i[1][2],i[2][1])),i[0][0]),t(e(t(r(i[1][0],i[2][2]),r(-i[1][2],i[2][0])),-i[0][1]),e(t(r(i[1][0],i[2][1]),r(-i[1][1],i[2][0])),i[0][2]))))}}function u(t,e,r,n){return function(i){return n(t(t(e(t(e(t(r(i[2][2],i[3][3]),r(-i[2][3],i[3][2])),i[1][1]),t(e(t(r(i[2][1],i[3][3]),r(-i[2][3],i[3][1])),-i[1][2]),e(t(r(i[2][1],i[3][2]),r(-i[2][2],i[3][1])),i[1][3]))),i[0][0]),e(t(e(t(r(i[2][2],i[3][3]),r(-i[2][3],i[3][2])),i[1][0]),t(e(t(r(i[2][0],i[3][3]),r(-i[2][3],i[3][0])),-i[1][2]),e(t(r(i[2][0],i[3][2]),r(-i[2][2],i[3][0])),i[1][3]))),-i[0][1])),t(e(t(e(t(r(i[2][1],i[3][3]),r(-i[2][3],i[3][1])),i[1][0]),t(e(t(r(i[2][0],i[3][3]),r(-i[2][3],i[3][0])),-i[1][1]),e(t(r(i[2][0],i[3][1]),r(-i[2][1],i[3][0])),i[1][3]))),i[0][2]),e(t(e(t(r(i[2][1],i[3][2]),r(-i[2][2],i[3][1])),i[1][0]),t(e(t(r(i[2][0],i[3][2]),r(-i[2][2],i[3][0])),-i[1][1]),e(t(r(i[2][0],i[3][1]),r(-i[2][1],i[3][0])),i[1][2]))),-i[0][3]))))}}function c(t,e,r,n){return function(i){return n(t(t(e(t(t(e(t(e(t(r(i[3][3],i[4][4]),r(-i[3][4],i[4][3])),i[2][2]),t(e(t(r(i[3][2],i[4][4]),r(-i[3][4],i[4][2])),-i[2][3]),e(t(r(i[3][2],i[4][3]),r(-i[3][3],i[4][2])),i[2][4]))),i[1][1]),e(t(e(t(r(i[3][3],i[4][4]),r(-i[3][4],i[4][3])),i[2][1]),t(e(t(r(i[3][1],i[4][4]),r(-i[3][4],i[4][1])),-i[2][3]),e(t(r(i[3][1],i[4][3]),r(-i[3][3],i[4][1])),i[2][4]))),-i[1][2])),t(e(t(e(t(r(i[3][2],i[4][4]),r(-i[3][4],i[4][2])),i[2][1]),t(e(t(r(i[3][1],i[4][4]),r(-i[3][4],i[4][1])),-i[2][2]),e(t(r(i[3][1],i[4][2]),r(-i[3][2],i[4][1])),i[2][4]))),i[1][3]),e(t(e(t(r(i[3][2],i[4][3]),r(-i[3][3],i[4][2])),i[2][1]),t(e(t(r(i[3][1],i[4][3]),r(-i[3][3],i[4][1])),-i[2][2]),e(t(r(i[3][1],i[4][2]),r(-i[3][2],i[4][1])),i[2][3]))),-i[1][4]))),i[0][0]),e(t(t(e(t(e(t(r(i[3][3],i[4][4]),r(-i[3][4],i[4][3])),i[2][2]),t(e(t(r(i[3][2],i[4][4]),r(-i[3][4],i[4][2])),-i[2][3]),e(t(r(i[3][2],i[4][3]),r(-i[3][3],i[4][2])),i[2][4]))),i[1][0]),e(t(e(t(r(i[3][3],i[4][4]),r(-i[3][4],i[4][3])),i[2][0]),t(e(t(r(i[3][0],i[4][4]),r(-i[3][4],i[4][0])),-i[2][3]),e(t(r(i[3][0],i[4][3]),r(-i[3][3],i[4][0])),i[2][4]))),-i[1][2])),t(e(t(e(t(r(i[3][2],i[4][4]),r(-i[3][4],i[4][2])),i[2][0]),t(e(t(r(i[3][0],i[4][4]),r(-i[3][4],i[4][0])),-i[2][2]),e(t(r(i[3][0],i[4][2]),r(-i[3][2],i[4][0])),i[2][4]))),i[1][3]),e(t(e(t(r(i[3][2],i[4][3]),r(-i[3][3],i[4][2])),i[2][0]),t(e(t(r(i[3][0],i[4][3]),r(-i[3][3],i[4][0])),-i[2][2]),e(t(r(i[3][0],i[4][2]),r(-i[3][2],i[4][0])),i[2][3]))),-i[1][4]))),-i[0][1])),t(e(t(t(e(t(e(t(r(i[3][3],i[4][4]),r(-i[3][4],i[4][3])),i[2][1]),t(e(t(r(i[3][1],i[4][4]),r(-i[3][4],i[4][1])),-i[2][3]),e(t(r(i[3][1],i[4][3]),r(-i[3][3],i[4][1])),i[2][4]))),i[1][0]),e(t(e(t(r(i[3][3],i[4][4]),r(-i[3][4],i[4][3])),i[2][0]),t(e(t(r(i[3][0],i[4][4]),r(-i[3][4],i[4][0])),-i[2][3]),e(t(r(i[3][0],i[4][3]),r(-i[3][3],i[4][0])),i[2][4]))),-i[1][1])),t(e(t(e(t(r(i[3][1],i[4][4]),r(-i[3][4],i[4][1])),i[2][0]),t(e(t(r(i[3][0],i[4][4]),r(-i[3][4],i[4][0])),-i[2][1]),e(t(r(i[3][0],i[4][1]),r(-i[3][1],i[4][0])),i[2][4]))),i[1][3]),e(t(e(t(r(i[3][1],i[4][3]),r(-i[3][3],i[4][1])),i[2][0]),t(e(t(r(i[3][0],i[4][3]),r(-i[3][3],i[4][0])),-i[2][1]),e(t(r(i[3][0],i[4][1]),r(-i[3][1],i[4][0])),i[2][3]))),-i[1][4]))),i[0][2]),t(e(t(t(e(t(e(t(r(i[3][2],i[4][4]),r(-i[3][4],i[4][2])),i[2][1]),t(e(t(r(i[3][1],i[4][4]),r(-i[3][4],i[4][1])),-i[2][2]),e(t(r(i[3][1],i[4][2]),r(-i[3][2],i[4][1])),i[2][4]))),i[1][0]),e(t(e(t(r(i[3][2],i[4][4]),r(-i[3][4],i[4][2])),i[2][0]),t(e(t(r(i[3][0],i[4][4]),r(-i[3][4],i[4][0])),-i[2][2]),e(t(r(i[3][0],i[4][2]),r(-i[3][2],i[4][0])),i[2][4]))),-i[1][1])),t(e(t(e(t(r(i[3][1],i[4][4]),r(-i[3][4],i[4][1])),i[2][0]),t(e(t(r(i[3][0],i[4][4]),r(-i[3][4],i[4][0])),-i[2][1]),e(t(r(i[3][0],i[4][1]),r(-i[3][1],i[4][0])),i[2][4]))),i[1][2]),e(t(e(t(r(i[3][1],i[4][2]),r(-i[3][2],i[4][1])),i[2][0]),t(e(t(r(i[3][0],i[4][2]),r(-i[3][2],i[4][0])),-i[2][1]),e(t(r(i[3][0],i[4][1]),r(-i[3][1],i[4][0])),i[2][2]))),-i[1][4]))),-i[0][3]),e(t(t(e(t(e(t(r(i[3][2],i[4][3]),r(-i[3][3],i[4][2])),i[2][1]),t(e(t(r(i[3][1],i[4][3]),r(-i[3][3],i[4][1])),-i[2][2]),e(t(r(i[3][1],i[4][2]),r(-i[3][2],i[4][1])),i[2][3]))),i[1][0]),e(t(e(t(r(i[3][2],i[4][3]),r(-i[3][3],i[4][2])),i[2][0]),t(e(t(r(i[3][0],i[4][3]),r(-i[3][3],i[4][0])),-i[2][2]),e(t(r(i[3][0],i[4][2]),r(-i[3][2],i[4][0])),i[2][3]))),-i[1][1])),t(e(t(e(t(r(i[3][1],i[4][3]),r(-i[3][3],i[4][1])),i[2][0]),t(e(t(r(i[3][0],i[4][3]),r(-i[3][3],i[4][0])),-i[2][1]),e(t(r(i[3][0],i[4][1]),r(-i[3][1],i[4][0])),i[2][3]))),i[1][2]),e(t(e(t(r(i[3][1],i[4][2]),r(-i[3][2],i[4][1])),i[2][0]),t(e(t(r(i[3][0],i[4][2]),r(-i[3][2],i[4][0])),-i[2][1]),e(t(r(i[3][0],i[4][1]),r(-i[3][1],i[4][0])),i[2][2]))),-i[1][3]))),i[0][4])))))}}function f(t){return(2===t?s:3===t?l:4===t?u:5===t?c:void 0)(i,a,n,o)}var h=[function(){return[0]},function(t){return[t[0][0]]}];function p(t,e,r,n,i,a,o,s){return function(l){switch(l.length){case 0:return t(l);case 1:return e(l);case 2:return r(l);case 3:return n(l);case 4:return i(l);case 5:return a(l)}var u=o[l.length];return u||(u=o[l.length]=s(l.length)),u(l)}}!function(){for(;h.length<6;)h.push(f(h.length));t.exports=p.apply(void 0,h.concat([h,f]));for(var e=0;e<h.length;++e)t.exports[e]=h[e]}()},9130:function(t,e,r){"use strict";var n=r(9660),i=r(9662);t.exports=function(t,e){for(var r=n(t[0],e[0]),a=1;a<t.length;++a)r=i(r,n(t[a],e[a]));return r}},2227:function(t,e,r){"use strict";var n=r(9660),i=r(9662),a=r(4078),o=r(8289);function s(t){return(3===t?l:4===t?u:5===t?c:f)(i,a,n,o)}function l(t,e,r,n){return function(i,a,o){var s=r(i[0],i[0]),l=n(s,a[0]),u=n(s,o[0]),c=r(a[0],a[0]),f=n(c,i[0]),h=n(c,o[0]),p=r(o[0],o[0]),d=n(p,i[0]),v=n(p,a[0]),g=t(e(v,h),e(f,l)),y=e(d,u),m=e(g,y);return m[m.length-1]}}function u(t,e,r,n){return function(i,a,o,s){var l=t(r(i[0],i[0]),r(i[1],i[1])),u=n(l,a[0]),c=n(l,o[0]),f=n(l,s[0]),h=t(r(a[0],a[0]),r(a[1],a[1])),p=n(h,i[0]),d=n(h,o[0]),v=n(h,s[0]),g=t(r(o[0],o[0]),r(o[1],o[1])),y=n(g,i[0]),m=n(g,a[0]),x=n(g,s[0]),b=t(r(s[0],s[0]),r(s[1],s[1])),_=n(b,i[0]),w=n(b,a[0]),T=n(b,o[0]),k=t(t(n(e(T,x),a[1]),t(n(e(w,v),-o[1]),n(e(m,d),s[1]))),t(n(e(w,v),i[1]),t(n(e(_,f),-a[1]),n(e(p,u),s[1])))),A=t(t(n(e(T,x),i[1]),t(n(e(_,f),-o[1]),n(e(y,c),s[1]))),t(n(e(m,d),i[1]),t(n(e(y,c),-a[1]),n(e(p,u),o[1])))),M=e(k,A);return M[M.length-1]}}function c(t,e,r,n){return function(i,a,o,s,l){var u=t(r(i[0],i[0]),t(r(i[1],i[1]),r(i[2],i[2]))),c=n(u,a[0]),f=n(u,o[0]),h=n(u,s[0]),p=n(u,l[0]),d=t(r(a[0],a[0]),t(r(a[1],a[1]),r(a[2],a[2]))),v=n(d,i[0]),g=n(d,o[0]),y=n(d,s[0]),m=n(d,l[0]),x=t(r(o[0],o[0]),t(r(o[1],o[1]),r(o[2],o[2]))),b=n(x,i[0]),_=n(x,a[0]),w=n(x,s[0]),T=n(x,l[0]),k=t(r(s[0],s[0]),t(r(s[1],s[1]),r(s[2],s[2]))),A=n(k,i[0]),M=n(k,a[0]),S=n(k,o[0]),E=n(k,l[0]),L=t(r(l[0],l[0]),t(r(l[1],l[1]),r(l[2],l[2]))),C=n(L,i[0]),P=n(L,a[0]),O=n(L,o[0]),I=n(L,s[0]),D=t(t(t(n(t(n(e(I,E),o[1]),t(n(e(O,T),-s[1]),n(e(S,w),l[1]))),a[2]),t(n(t(n(e(I,E),a[1]),t(n(e(P,m),-s[1]),n(e(M,y),l[1]))),-o[2]),n(t(n(e(O,T),a[1]),t(n(e(P,m),-o[1]),n(e(_,g),l[1]))),s[2]))),t(n(t(n(e(S,w),a[1]),t(n(e(M,y),-o[1]),n(e(_,g),s[1]))),-l[2]),t(n(t(n(e(I,E),a[1]),t(n(e(P,m),-s[1]),n(e(M,y),l[1]))),i[2]),n(t(n(e(I,E),i[1]),t(n(e(C,p),-s[1]),n(e(A,h),l[1]))),-a[2])))),t(t(n(t(n(e(P,m),i[1]),t(n(e(C,p),-a[1]),n(e(v,c),l[1]))),s[2]),t(n(t(n(e(M,y),i[1]),t(n(e(A,h),-a[1]),n(e(v,c),s[1]))),-l[2]),n(t(n(e(S,w),a[1]),t(n(e(M,y),-o[1]),n(e(_,g),s[1]))),i[2]))),t(n(t(n(e(S,w),i[1]),t(n(e(A,h),-o[1]),n(e(b,f),s[1]))),-a[2]),t(n(t(n(e(M,y),i[1]),t(n(e(A,h),-a[1]),n(e(v,c),s[1]))),o[2]),n(t(n(e(_,g),i[1]),t(n(e(b,f),-a[1]),n(e(v,c),o[1]))),-s[2]))))),z=t(t(t(n(t(n(e(I,E),o[1]),t(n(e(O,T),-s[1]),n(e(S,w),l[1]))),i[2]),n(t(n(e(I,E),i[1]),t(n(e(C,p),-s[1]),n(e(A,h),l[1]))),-o[2])),t(n(t(n(e(O,T),i[1]),t(n(e(C,p),-o[1]),n(e(b,f),l[1]))),s[2]),n(t(n(e(S,w),i[1]),t(n(e(A,h),-o[1]),n(e(b,f),s[1]))),-l[2]))),t(t(n(t(n(e(O,T),a[1]),t(n(e(P,m),-o[1]),n(e(_,g),l[1]))),i[2]),n(t(n(e(O,T),i[1]),t(n(e(C,p),-o[1]),n(e(b,f),l[1]))),-a[2])),t(n(t(n(e(P,m),i[1]),t(n(e(C,p),-a[1]),n(e(v,c),l[1]))),o[2]),n(t(n(e(_,g),i[1]),t(n(e(b,f),-a[1]),n(e(v,c),o[1]))),-l[2])))),R=e(D,z);return R[R.length-1]}}function f(t,e,r,n){return function(i,a,o,s,l,u){var c=t(t(r(i[0],i[0]),r(i[1],i[1])),t(r(i[2],i[2]),r(i[3],i[3]))),f=n(c,a[0]),h=n(c,o[0]),p=n(c,s[0]),d=n(c,l[0]),v=n(c,u[0]),g=t(t(r(a[0],a[0]),r(a[1],a[1])),t(r(a[2],a[2]),r(a[3],a[3]))),y=n(g,i[0]),m=n(g,o[0]),x=n(g,s[0]),b=n(g,l[0]),_=n(g,u[0]),w=t(t(r(o[0],o[0]),r(o[1],o[1])),t(r(o[2],o[2]),r(o[3],o[3]))),T=n(w,i[0]),k=n(w,a[0]),A=n(w,s[0]),M=n(w,l[0]),S=n(w,u[0]),E=t(t(r(s[0],s[0]),r(s[1],s[1])),t(r(s[2],s[2]),r(s[3],s[3]))),L=n(E,i[0]),C=n(E,a[0]),P=n(E,o[0]),O=n(E,l[0]),I=n(E,u[0]),D=t(t(r(l[0],l[0]),r(l[1],l[1])),t(r(l[2],l[2]),r(l[3],l[3]))),z=n(D,i[0]),R=n(D,a[0]),F=n(D,o[0]),B=n(D,s[0]),N=n(D,u[0]),j=t(t(r(u[0],u[0]),r(u[1],u[1])),t(r(u[2],u[2]),r(u[3],u[3]))),U=n(j,i[0]),V=n(j,a[0]),H=n(j,o[0]),q=n(j,s[0]),G=n(j,l[0]),Z=t(t(t(n(t(t(n(t(n(e(G,N),s[1]),t(n(e(q,I),-l[1]),n(e(B,O),u[1]))),o[2]),n(t(n(e(G,N),o[1]),t(n(e(H,S),-l[1]),n(e(F,M),u[1]))),-s[2])),t(n(t(n(e(q,I),o[1]),t(n(e(H,S),-s[1]),n(e(P,A),u[1]))),l[2]),n(t(n(e(B,O),o[1]),t(n(e(F,M),-s[1]),n(e(P,A),l[1]))),-u[2]))),a[3]),t(n(t(t(n(t(n(e(G,N),s[1]),t(n(e(q,I),-l[1]),n(e(B,O),u[1]))),a[2]),n(t(n(e(G,N),a[1]),t(n(e(V,_),-l[1]),n(e(R,b),u[1]))),-s[2])),t(n(t(n(e(q,I),a[1]),t(n(e(V,_),-s[1]),n(e(C,x),u[1]))),l[2]),n(t(n(e(B,O),a[1]),t(n(e(R,b),-s[1]),n(e(C,x),l[1]))),-u[2]))),-o[3]),n(t(t(n(t(n(e(G,N),o[1]),t(n(e(H,S),-l[1]),n(e(F,M),u[1]))),a[2]),n(t(n(e(G,N),a[1]),t(n(e(V,_),-l[1]),n(e(R,b),u[1]))),-o[2])),t(n(t(n(e(H,S),a[1]),t(n(e(V,_),-o[1]),n(e(k,m),u[1]))),l[2]),n(t(n(e(F,M),a[1]),t(n(e(R,b),-o[1]),n(e(k,m),l[1]))),-u[2]))),s[3]))),t(t(n(t(t(n(t(n(e(q,I),o[1]),t(n(e(H,S),-s[1]),n(e(P,A),u[1]))),a[2]),n(t(n(e(q,I),a[1]),t(n(e(V,_),-s[1]),n(e(C,x),u[1]))),-o[2])),t(n(t(n(e(H,S),a[1]),t(n(e(V,_),-o[1]),n(e(k,m),u[1]))),s[2]),n(t(n(e(P,A),a[1]),t(n(e(C,x),-o[1]),n(e(k,m),s[1]))),-u[2]))),-l[3]),n(t(t(n(t(n(e(B,O),o[1]),t(n(e(F,M),-s[1]),n(e(P,A),l[1]))),a[2]),n(t(n(e(B,O),a[1]),t(n(e(R,b),-s[1]),n(e(C,x),l[1]))),-o[2])),t(n(t(n(e(F,M),a[1]),t(n(e(R,b),-o[1]),n(e(k,m),l[1]))),s[2]),n(t(n(e(P,A),a[1]),t(n(e(C,x),-o[1]),n(e(k,m),s[1]))),-l[2]))),u[3])),t(n(t(t(n(t(n(e(G,N),s[1]),t(n(e(q,I),-l[1]),n(e(B,O),u[1]))),a[2]),n(t(n(e(G,N),a[1]),t(n(e(V,_),-l[1]),n(e(R,b),u[1]))),-s[2])),t(n(t(n(e(q,I),a[1]),t(n(e(V,_),-s[1]),n(e(C,x),u[1]))),l[2]),n(t(n(e(B,O),a[1]),t(n(e(R,b),-s[1]),n(e(C,x),l[1]))),-u[2]))),i[3]),n(t(t(n(t(n(e(G,N),s[1]),t(n(e(q,I),-l[1]),n(e(B,O),u[1]))),i[2]),n(t(n(e(G,N),i[1]),t(n(e(U,v),-l[1]),n(e(z,d),u[1]))),-s[2])),t(n(t(n(e(q,I),i[1]),t(n(e(U,v),-s[1]),n(e(L,p),u[1]))),l[2]),n(t(n(e(B,O),i[1]),t(n(e(z,d),-s[1]),n(e(L,p),l[1]))),-u[2]))),-a[3])))),t(t(t(n(t(t(n(t(n(e(G,N),a[1]),t(n(e(V,_),-l[1]),n(e(R,b),u[1]))),i[2]),n(t(n(e(G,N),i[1]),t(n(e(U,v),-l[1]),n(e(z,d),u[1]))),-a[2])),t(n(t(n(e(V,_),i[1]),t(n(e(U,v),-a[1]),n(e(y,f),u[1]))),l[2]),n(t(n(e(R,b),i[1]),t(n(e(z,d),-a[1]),n(e(y,f),l[1]))),-u[2]))),s[3]),n(t(t(n(t(n(e(q,I),a[1]),t(n(e(V,_),-s[1]),n(e(C,x),u[1]))),i[2]),n(t(n(e(q,I),i[1]),t(n(e(U,v),-s[1]),n(e(L,p),u[1]))),-a[2])),t(n(t(n(e(V,_),i[1]),t(n(e(U,v),-a[1]),n(e(y,f),u[1]))),s[2]),n(t(n(e(C,x),i[1]),t(n(e(L,p),-a[1]),n(e(y,f),s[1]))),-u[2]))),-l[3])),t(n(t(t(n(t(n(e(B,O),a[1]),t(n(e(R,b),-s[1]),n(e(C,x),l[1]))),i[2]),n(t(n(e(B,O),i[1]),t(n(e(z,d),-s[1]),n(e(L,p),l[1]))),-a[2])),t(n(t(n(e(R,b),i[1]),t(n(e(z,d),-a[1]),n(e(y,f),l[1]))),s[2]),n(t(n(e(C,x),i[1]),t(n(e(L,p),-a[1]),n(e(y,f),s[1]))),-l[2]))),u[3]),n(t(t(n(t(n(e(q,I),o[1]),t(n(e(H,S),-s[1]),n(e(P,A),u[1]))),a[2]),n(t(n(e(q,I),a[1]),t(n(e(V,_),-s[1]),n(e(C,x),u[1]))),-o[2])),t(n(t(n(e(H,S),a[1]),t(n(e(V,_),-o[1]),n(e(k,m),u[1]))),s[2]),n(t(n(e(P,A),a[1]),t(n(e(C,x),-o[1]),n(e(k,m),s[1]))),-u[2]))),i[3]))),t(t(n(t(t(n(t(n(e(q,I),o[1]),t(n(e(H,S),-s[1]),n(e(P,A),u[1]))),i[2]),n(t(n(e(q,I),i[1]),t(n(e(U,v),-s[1]),n(e(L,p),u[1]))),-o[2])),t(n(t(n(e(H,S),i[1]),t(n(e(U,v),-o[1]),n(e(T,h),u[1]))),s[2]),n(t(n(e(P,A),i[1]),t(n(e(L,p),-o[1]),n(e(T,h),s[1]))),-u[2]))),-a[3]),n(t(t(n(t(n(e(q,I),a[1]),t(n(e(V,_),-s[1]),n(e(C,x),u[1]))),i[2]),n(t(n(e(q,I),i[1]),t(n(e(U,v),-s[1]),n(e(L,p),u[1]))),-a[2])),t(n(t(n(e(V,_),i[1]),t(n(e(U,v),-a[1]),n(e(y,f),u[1]))),s[2]),n(t(n(e(C,x),i[1]),t(n(e(L,p),-a[1]),n(e(y,f),s[1]))),-u[2]))),o[3])),t(n(t(t(n(t(n(e(H,S),a[1]),t(n(e(V,_),-o[1]),n(e(k,m),u[1]))),i[2]),n(t(n(e(H,S),i[1]),t(n(e(U,v),-o[1]),n(e(T,h),u[1]))),-a[2])),t(n(t(n(e(V,_),i[1]),t(n(e(U,v),-a[1]),n(e(y,f),u[1]))),o[2]),n(t(n(e(k,m),i[1]),t(n(e(T,h),-a[1]),n(e(y,f),o[1]))),-u[2]))),-s[3]),n(t(t(n(t(n(e(P,A),a[1]),t(n(e(C,x),-o[1]),n(e(k,m),s[1]))),i[2]),n(t(n(e(P,A),i[1]),t(n(e(L,p),-o[1]),n(e(T,h),s[1]))),-a[2])),t(n(t(n(e(C,x),i[1]),t(n(e(L,p),-a[1]),n(e(y,f),s[1]))),o[2]),n(t(n(e(k,m),i[1]),t(n(e(T,h),-a[1]),n(e(y,f),o[1]))),-s[2]))),u[3]))))),Y=t(t(t(n(t(t(n(t(n(e(G,N),s[1]),t(n(e(q,I),-l[1]),n(e(B,O),u[1]))),o[2]),n(t(n(e(G,N),o[1]),t(n(e(H,S),-l[1]),n(e(F,M),u[1]))),-s[2])),t(n(t(n(e(q,I),o[1]),t(n(e(H,S),-s[1]),n(e(P,A),u[1]))),l[2]),n(t(n(e(B,O),o[1]),t(n(e(F,M),-s[1]),n(e(P,A),l[1]))),-u[2]))),i[3]),t(n(t(t(n(t(n(e(G,N),s[1]),t(n(e(q,I),-l[1]),n(e(B,O),u[1]))),i[2]),n(t(n(e(G,N),i[1]),t(n(e(U,v),-l[1]),n(e(z,d),u[1]))),-s[2])),t(n(t(n(e(q,I),i[1]),t(n(e(U,v),-s[1]),n(e(L,p),u[1]))),l[2]),n(t(n(e(B,O),i[1]),t(n(e(z,d),-s[1]),n(e(L,p),l[1]))),-u[2]))),-o[3]),n(t(t(n(t(n(e(G,N),o[1]),t(n(e(H,S),-l[1]),n(e(F,M),u[1]))),i[2]),n(t(n(e(G,N),i[1]),t(n(e(U,v),-l[1]),n(e(z,d),u[1]))),-o[2])),t(n(t(n(e(H,S),i[1]),t(n(e(U,v),-o[1]),n(e(T,h),u[1]))),l[2]),n(t(n(e(F,M),i[1]),t(n(e(z,d),-o[1]),n(e(T,h),l[1]))),-u[2]))),s[3]))),t(t(n(t(t(n(t(n(e(q,I),o[1]),t(n(e(H,S),-s[1]),n(e(P,A),u[1]))),i[2]),n(t(n(e(q,I),i[1]),t(n(e(U,v),-s[1]),n(e(L,p),u[1]))),-o[2])),t(n(t(n(e(H,S),i[1]),t(n(e(U,v),-o[1]),n(e(T,h),u[1]))),s[2]),n(t(n(e(P,A),i[1]),t(n(e(L,p),-o[1]),n(e(T,h),s[1]))),-u[2]))),-l[3]),n(t(t(n(t(n(e(B,O),o[1]),t(n(e(F,M),-s[1]),n(e(P,A),l[1]))),i[2]),n(t(n(e(B,O),i[1]),t(n(e(z,d),-s[1]),n(e(L,p),l[1]))),-o[2])),t(n(t(n(e(F,M),i[1]),t(n(e(z,d),-o[1]),n(e(T,h),l[1]))),s[2]),n(t(n(e(P,A),i[1]),t(n(e(L,p),-o[1]),n(e(T,h),s[1]))),-l[2]))),u[3])),t(n(t(t(n(t(n(e(G,N),o[1]),t(n(e(H,S),-l[1]),n(e(F,M),u[1]))),a[2]),n(t(n(e(G,N),a[1]),t(n(e(V,_),-l[1]),n(e(R,b),u[1]))),-o[2])),t(n(t(n(e(H,S),a[1]),t(n(e(V,_),-o[1]),n(e(k,m),u[1]))),l[2]),n(t(n(e(F,M),a[1]),t(n(e(R,b),-o[1]),n(e(k,m),l[1]))),-u[2]))),i[3]),n(t(t(n(t(n(e(G,N),o[1]),t(n(e(H,S),-l[1]),n(e(F,M),u[1]))),i[2]),n(t(n(e(G,N),i[1]),t(n(e(U,v),-l[1]),n(e(z,d),u[1]))),-o[2])),t(n(t(n(e(H,S),i[1]),t(n(e(U,v),-o[1]),n(e(T,h),u[1]))),l[2]),n(t(n(e(F,M),i[1]),t(n(e(z,d),-o[1]),n(e(T,h),l[1]))),-u[2]))),-a[3])))),t(t(t(n(t(t(n(t(n(e(G,N),a[1]),t(n(e(V,_),-l[1]),n(e(R,b),u[1]))),i[2]),n(t(n(e(G,N),i[1]),t(n(e(U,v),-l[1]),n(e(z,d),u[1]))),-a[2])),t(n(t(n(e(V,_),i[1]),t(n(e(U,v),-a[1]),n(e(y,f),u[1]))),l[2]),n(t(n(e(R,b),i[1]),t(n(e(z,d),-a[1]),n(e(y,f),l[1]))),-u[2]))),o[3]),n(t(t(n(t(n(e(H,S),a[1]),t(n(e(V,_),-o[1]),n(e(k,m),u[1]))),i[2]),n(t(n(e(H,S),i[1]),t(n(e(U,v),-o[1]),n(e(T,h),u[1]))),-a[2])),t(n(t(n(e(V,_),i[1]),t(n(e(U,v),-a[1]),n(e(y,f),u[1]))),o[2]),n(t(n(e(k,m),i[1]),t(n(e(T,h),-a[1]),n(e(y,f),o[1]))),-u[2]))),-l[3])),t(n(t(t(n(t(n(e(F,M),a[1]),t(n(e(R,b),-o[1]),n(e(k,m),l[1]))),i[2]),n(t(n(e(F,M),i[1]),t(n(e(z,d),-o[1]),n(e(T,h),l[1]))),-a[2])),t(n(t(n(e(R,b),i[1]),t(n(e(z,d),-a[1]),n(e(y,f),l[1]))),o[2]),n(t(n(e(k,m),i[1]),t(n(e(T,h),-a[1]),n(e(y,f),o[1]))),-l[2]))),u[3]),n(t(t(n(t(n(e(B,O),o[1]),t(n(e(F,M),-s[1]),n(e(P,A),l[1]))),a[2]),n(t(n(e(B,O),a[1]),t(n(e(R,b),-s[1]),n(e(C,x),l[1]))),-o[2])),t(n(t(n(e(F,M),a[1]),t(n(e(R,b),-o[1]),n(e(k,m),l[1]))),s[2]),n(t(n(e(P,A),a[1]),t(n(e(C,x),-o[1]),n(e(k,m),s[1]))),-l[2]))),i[3]))),t(t(n(t(t(n(t(n(e(B,O),o[1]),t(n(e(F,M),-s[1]),n(e(P,A),l[1]))),i[2]),n(t(n(e(B,O),i[1]),t(n(e(z,d),-s[1]),n(e(L,p),l[1]))),-o[2])),t(n(t(n(e(F,M),i[1]),t(n(e(z,d),-o[1]),n(e(T,h),l[1]))),s[2]),n(t(n(e(P,A),i[1]),t(n(e(L,p),-o[1]),n(e(T,h),s[1]))),-l[2]))),-a[3]),n(t(t(n(t(n(e(B,O),a[1]),t(n(e(R,b),-s[1]),n(e(C,x),l[1]))),i[2]),n(t(n(e(B,O),i[1]),t(n(e(z,d),-s[1]),n(e(L,p),l[1]))),-a[2])),t(n(t(n(e(R,b),i[1]),t(n(e(z,d),-a[1]),n(e(y,f),l[1]))),s[2]),n(t(n(e(C,x),i[1]),t(n(e(L,p),-a[1]),n(e(y,f),s[1]))),-l[2]))),o[3])),t(n(t(t(n(t(n(e(F,M),a[1]),t(n(e(R,b),-o[1]),n(e(k,m),l[1]))),i[2]),n(t(n(e(F,M),i[1]),t(n(e(z,d),-o[1]),n(e(T,h),l[1]))),-a[2])),t(n(t(n(e(R,b),i[1]),t(n(e(z,d),-a[1]),n(e(y,f),l[1]))),o[2]),n(t(n(e(k,m),i[1]),t(n(e(T,h),-a[1]),n(e(y,f),o[1]))),-l[2]))),-s[3]),n(t(t(n(t(n(e(P,A),a[1]),t(n(e(C,x),-o[1]),n(e(k,m),s[1]))),i[2]),n(t(n(e(P,A),i[1]),t(n(e(L,p),-o[1]),n(e(T,h),s[1]))),-a[2])),t(n(t(n(e(C,x),i[1]),t(n(e(L,p),-a[1]),n(e(y,f),s[1]))),o[2]),n(t(n(e(k,m),i[1]),t(n(e(T,h),-a[1]),n(e(y,f),o[1]))),-s[2]))),l[3]))))),W=e(Z,Y);return W[W.length-1]}}var h=[function(){return 0},function(){return 0},function(){return 0}];function p(t){var e=h[t.length];return e||(e=h[t.length]=s(t.length)),e.apply(void 0,t)}function d(t,e,r,n,i,a,o,s){return function(e,r,l,u,c,f){switch(arguments.length){case 0:case 1:return 0;case 2:return n(e,r);case 3:return i(e,r,l);case 4:return a(e,r,l,u);case 5:return o(e,r,l,u,c);case 6:return s(e,r,l,u,c,f)}for(var h=new Array(arguments.length),p=0;p<arguments.length;++p)h[p]=arguments[p];return t(h)}}!function(){for(;h.length<=6;)h.push(s(h.length));t.exports=d.apply(void 0,[p].concat(h));for(var e=0;e<=6;++e)t.exports[e]=h[e]}()},6606:function(t,e,r){"use strict";var n=r(8167);function i(t){return(2===t?a:3===t?o:4===t?s:5===t?l:u)(t<6?n[t]:n)}function a(t){return function(e,r){return[t([[+r[0],+e[0][1]],[+r[1],+e[1][1]]]),t([[+e[0][0],+r[0]],[+e[1][0],+r[1]]]),t(e)]}}function o(t){return function(e,r){return[t([[+r[0],+e[0][1],+e[0][2]],[+r[1],+e[1][1],+e[1][2]],[+r[2],+e[2][1],+e[2][2]]]),t([[+e[0][0],+r[0],+e[0][2]],[+e[1][0],+r[1],+e[1][2]],[+e[2][0],+r[2],+e[2][2]]]),t([[+e[0][0],+e[0][1],+r[0]],[+e[1][0],+e[1][1],+r[1]],[+e[2][0],+e[2][1],+r[2]]]),t(e)]}}function s(t){return function(e,r){return[t([[+r[0],+e[0][1],+e[0][2],+e[0][3]],[+r[1],+e[1][1],+e[1][2],+e[1][3]],[+r[2],+e[2][1],+e[2][2],+e[2][3]],[+r[3],+e[3][1],+e[3][2],+e[3][3]]]),t([[+e[0][0],+r[0],+e[0][2],+e[0][3]],[+e[1][0],+r[1],+e[1][2],+e[1][3]],[+e[2][0],+r[2],+e[2][2],+e[2][3]],[+e[3][0],+r[3],+e[3][2],+e[3][3]]]),t([[+e[0][0],+e[0][1],+r[0],+e[0][3]],[+e[1][0],+e[1][1],+r[1],+e[1][3]],[+e[2][0],+e[2][1],+r[2],+e[2][3]],[+e[3][0],+e[3][1],+r[3],+e[3][3]]]),t([[+e[0][0],+e[0][1],+e[0][2],+r[0]],[+e[1][0],+e[1][1],+e[1][2],+r[1]],[+e[2][0],+e[2][1],+e[2][2],+r[2]],[+e[3][0],+e[3][1],+e[3][2],+r[3]]]),t(e)]}}function l(t){return function(e,r){return[t([[+r[0],+e[0][1],+e[0][2],+e[0][3],+e[0][4]],[+r[1],+e[1][1],+e[1][2],+e[1][3],+e[1][4]],[+r[2],+e[2][1],+e[2][2],+e[2][3],+e[2][4]],[+r[3],+e[3][1],+e[3][2],+e[3][3],+e[3][4]],[+r[4],+e[4][1],+e[4][2],+e[4][3],+e[4][4]]]),t([[+e[0][0],+r[0],+e[0][2],+e[0][3],+e[0][4]],[+e[1][0],+r[1],+e[1][2],+e[1][3],+e[1][4]],[+e[2][0],+r[2],+e[2][2],+e[2][3],+e[2][4]],[+e[3][0],+r[3],+e[3][2],+e[3][3],+e[3][4]],[+e[4][0],+r[4],+e[4][2],+e[4][3],+e[4][4]]]),t([[+e[0][0],+e[0][1],+r[0],+e[0][3],+e[0][4]],[+e[1][0],+e[1][1],+r[1],+e[1][3],+e[1][4]],[+e[2][0],+e[2][1],+r[2],+e[2][3],+e[2][4]],[+e[3][0],+e[3][1],+r[3],+e[3][3],+e[3][4]],[+e[4][0],+e[4][1],+r[4],+e[4][3],+e[4][4]]]),t([[+e[0][0],+e[0][1],+e[0][2],+r[0],+e[0][4]],[+e[1][0],+e[1][1],+e[1][2],+r[1],+e[1][4]],[+e[2][0],+e[2][1],+e[2][2],+r[2],+e[2][4]],[+e[3][0],+e[3][1],+e[3][2],+r[3],+e[3][4]],[+e[4][0],+e[4][1],+e[4][2],+r[4],+e[4][4]]]),t([[+e[0][0],+e[0][1],+e[0][2],+e[0][3],+r[0]],[+e[1][0],+e[1][1],+e[1][2],+e[1][3],+r[1]],[+e[2][0],+e[2][1],+e[2][2],+e[2][3],+r[2]],[+e[3][0],+e[3][1],+e[3][2],+e[3][3],+r[3]],[+e[4][0],+e[4][1],+e[4][2],+e[4][3],+r[4]]]),t(e)]}}function u(t){return function(e,r){return[t([[+r[0],+e[0][1],+e[0][2],+e[0][3],+e[0][4],+e[0][5]],[+r[1],+e[1][1],+e[1][2],+e[1][3],+e[1][4],+e[1][5]],[+r[2],+e[2][1],+e[2][2],+e[2][3],+e[2][4],+e[2][5]],[+r[3],+e[3][1],+e[3][2],+e[3][3],+e[3][4],+e[3][5]],[+r[4],+e[4][1],+e[4][2],+e[4][3],+e[4][4],+e[4][5]],[+r[5],+e[5][1],+e[5][2],+e[5][3],+e[5][4],+e[5][5]]]),t([[+e[0][0],+r[0],+e[0][2],+e[0][3],+e[0][4],+e[0][5]],[+e[1][0],+r[1],+e[1][2],+e[1][3],+e[1][4],+e[1][5]],[+e[2][0],+r[2],+e[2][2],+e[2][3],+e[2][4],+e[2][5]],[+e[3][0],+r[3],+e[3][2],+e[3][3],+e[3][4],+e[3][5]],[+e[4][0],+r[4],+e[4][2],+e[4][3],+e[4][4],+e[4][5]],[+e[5][0],+r[5],+e[5][2],+e[5][3],+e[5][4],+e[5][5]]]),t([[+e[0][0],+e[0][1],+r[0],+e[0][3],+e[0][4],+e[0][5]],[+e[1][0],+e[1][1],+r[1],+e[1][3],+e[1][4],+e[1][5]],[+e[2][0],+e[2][1],+r[2],+e[2][3],+e[2][4],+e[2][5]],[+e[3][0],+e[3][1],+r[3],+e[3][3],+e[3][4],+e[3][5]],[+e[4][0],+e[4][1],+r[4],+e[4][3],+e[4][4],+e[4][5]],[+e[5][0],+e[5][1],+r[5],+e[5][3],+e[5][4],+e[5][5]]]),t([[+e[0][0],+e[0][1],+e[0][2],+r[0],+e[0][4],+e[0][5]],[+e[1][0],+e[1][1],+e[1][2],+r[1],+e[1][4],+e[1][5]],[+e[2][0],+e[2][1],+e[2][2],+r[2],+e[2][4],+e[2][5]],[+e[3][0],+e[3][1],+e[3][2],+r[3],+e[3][4],+e[3][5]],[+e[4][0],+e[4][1],+e[4][2],+r[4],+e[4][4],+e[4][5]],[+e[5][0],+e[5][1],+e[5][2],+r[5],+e[5][4],+e[5][5]]]),t([[+e[0][0],+e[0][1],+e[0][2],+e[0][3],+r[0],+e[0][5]],[+e[1][0],+e[1][1],+e[1][2],+e[1][3],+r[1],+e[1][5]],[+e[2][0],+e[2][1],+e[2][2],+e[2][3],+r[2],+e[2][5]],[+e[3][0],+e[3][1],+e[3][2],+e[3][3],+r[3],+e[3][5]],[+e[4][0],+e[4][1],+e[4][2],+e[4][3],+r[4],+e[4][5]],[+e[5][0],+e[5][1],+e[5][2],+e[5][3],+r[5],+e[5][5]]]),t([[+e[0][0],+e[0][1],+e[0][2],+e[0][3],+e[0][4],+r[0]],[+e[1][0],+e[1][1],+e[1][2],+e[1][3],+e[1][4],+r[1]],[+e[2][0],+e[2][1],+e[2][2],+e[2][3],+e[2][4],+r[2]],[+e[3][0],+e[3][1],+e[3][2],+e[3][3],+e[3][4],+r[3]],[+e[4][0],+e[4][1],+e[4][2],+e[4][3],+e[4][4],+r[4]],[+e[5][0],+e[5][1],+e[5][2],+e[5][3],+e[5][4],+r[5]]]),t(e)]}}var c=[function(){return[[0]]},function(t,e){return[[e[0]],[t[0][0]]]}];function f(t,e,r,n,i,a,o,s){return function(l,u){switch(l.length){case 0:return t(l,u);case 1:return e(l,u);case 2:return r(l,u);case 3:return n(l,u);case 4:return i(l,u);case 5:return a(l,u)}var c=o[l.length];return c||(c=o[l.length]=s(l.length)),c(l,u)}}!function(){for(;c.length<6;)c.push(i(c.length));t.exports=f.apply(void 0,c.concat([c,i]));for(var e=0;e<6;++e)t.exports[e]=c[e]}()},417:function(t,e,r){"use strict";var n=r(9660),i=r(9662),a=r(8289),o=r(4078);function s(t,e,r,n){return function(r,i,a){var o=t(t(e(i[1],a[0]),e(-a[1],i[0])),t(e(r[1],i[0]),e(-i[1],r[0]))),s=t(e(r[1],a[0]),e(-a[1],r[0])),l=n(o,s);return l[l.length-1]}}function l(t,e,r,n){return function(i,a,o,s){var l=t(t(r(t(e(o[1],s[0]),e(-s[1],o[0])),a[2]),t(r(t(e(a[1],s[0]),e(-s[1],a[0])),-o[2]),r(t(e(a[1],o[0]),e(-o[1],a[0])),s[2]))),t(r(t(e(a[1],s[0]),e(-s[1],a[0])),i[2]),t(r(t(e(i[1],s[0]),e(-s[1],i[0])),-a[2]),r(t(e(i[1],a[0]),e(-a[1],i[0])),s[2])))),u=t(t(r(t(e(o[1],s[0]),e(-s[1],o[0])),i[2]),t(r(t(e(i[1],s[0]),e(-s[1],i[0])),-o[2]),r(t(e(i[1],o[0]),e(-o[1],i[0])),s[2]))),t(r(t(e(a[1],o[0]),e(-o[1],a[0])),i[2]),t(r(t(e(i[1],o[0]),e(-o[1],i[0])),-a[2]),r(t(e(i[1],a[0]),e(-a[1],i[0])),o[2])))),c=n(l,u);return c[c.length-1]}}function u(t,e,r,n){return function(i,a,o,s,l){var u=t(t(t(r(t(r(t(e(s[1],l[0]),e(-l[1],s[0])),o[2]),t(r(t(e(o[1],l[0]),e(-l[1],o[0])),-s[2]),r(t(e(o[1],s[0]),e(-s[1],o[0])),l[2]))),a[3]),t(r(t(r(t(e(s[1],l[0]),e(-l[1],s[0])),a[2]),t(r(t(e(a[1],l[0]),e(-l[1],a[0])),-s[2]),r(t(e(a[1],s[0]),e(-s[1],a[0])),l[2]))),-o[3]),r(t(r(t(e(o[1],l[0]),e(-l[1],o[0])),a[2]),t(r(t(e(a[1],l[0]),e(-l[1],a[0])),-o[2]),r(t(e(a[1],o[0]),e(-o[1],a[0])),l[2]))),s[3]))),t(r(t(r(t(e(o[1],s[0]),e(-s[1],o[0])),a[2]),t(r(t(e(a[1],s[0]),e(-s[1],a[0])),-o[2]),r(t(e(a[1],o[0]),e(-o[1],a[0])),s[2]))),-l[3]),t(r(t(r(t(e(s[1],l[0]),e(-l[1],s[0])),a[2]),t(r(t(e(a[1],l[0]),e(-l[1],a[0])),-s[2]),r(t(e(a[1],s[0]),e(-s[1],a[0])),l[2]))),i[3]),r(t(r(t(e(s[1],l[0]),e(-l[1],s[0])),i[2]),t(r(t(e(i[1],l[0]),e(-l[1],i[0])),-s[2]),r(t(e(i[1],s[0]),e(-s[1],i[0])),l[2]))),-a[3])))),t(t(r(t(r(t(e(a[1],l[0]),e(-l[1],a[0])),i[2]),t(r(t(e(i[1],l[0]),e(-l[1],i[0])),-a[2]),r(t(e(i[1],a[0]),e(-a[1],i[0])),l[2]))),s[3]),t(r(t(r(t(e(a[1],s[0]),e(-s[1],a[0])),i[2]),t(r(t(e(i[1],s[0]),e(-s[1],i[0])),-a[2]),r(t(e(i[1],a[0]),e(-a[1],i[0])),s[2]))),-l[3]),r(t(r(t(e(o[1],s[0]),e(-s[1],o[0])),a[2]),t(r(t(e(a[1],s[0]),e(-s[1],a[0])),-o[2]),r(t(e(a[1],o[0]),e(-o[1],a[0])),s[2]))),i[3]))),t(r(t(r(t(e(o[1],s[0]),e(-s[1],o[0])),i[2]),t(r(t(e(i[1],s[0]),e(-s[1],i[0])),-o[2]),r(t(e(i[1],o[0]),e(-o[1],i[0])),s[2]))),-a[3]),t(r(t(r(t(e(a[1],s[0]),e(-s[1],a[0])),i[2]),t(r(t(e(i[1],s[0]),e(-s[1],i[0])),-a[2]),r(t(e(i[1],a[0]),e(-a[1],i[0])),s[2]))),o[3]),r(t(r(t(e(a[1],o[0]),e(-o[1],a[0])),i[2]),t(r(t(e(i[1],o[0]),e(-o[1],i[0])),-a[2]),r(t(e(i[1],a[0]),e(-a[1],i[0])),o[2]))),-s[3]))))),c=t(t(t(r(t(r(t(e(s[1],l[0]),e(-l[1],s[0])),o[2]),t(r(t(e(o[1],l[0]),e(-l[1],o[0])),-s[2]),r(t(e(o[1],s[0]),e(-s[1],o[0])),l[2]))),i[3]),r(t(r(t(e(s[1],l[0]),e(-l[1],s[0])),i[2]),t(r(t(e(i[1],l[0]),e(-l[1],i[0])),-s[2]),r(t(e(i[1],s[0]),e(-s[1],i[0])),l[2]))),-o[3])),t(r(t(r(t(e(o[1],l[0]),e(-l[1],o[0])),i[2]),t(r(t(e(i[1],l[0]),e(-l[1],i[0])),-o[2]),r(t(e(i[1],o[0]),e(-o[1],i[0])),l[2]))),s[3]),r(t(r(t(e(o[1],s[0]),e(-s[1],o[0])),i[2]),t(r(t(e(i[1],s[0]),e(-s[1],i[0])),-o[2]),r(t(e(i[1],o[0]),e(-o[1],i[0])),s[2]))),-l[3]))),t(t(r(t(r(t(e(o[1],l[0]),e(-l[1],o[0])),a[2]),t(r(t(e(a[1],l[0]),e(-l[1],a[0])),-o[2]),r(t(e(a[1],o[0]),e(-o[1],a[0])),l[2]))),i[3]),r(t(r(t(e(o[1],l[0]),e(-l[1],o[0])),i[2]),t(r(t(e(i[1],l[0]),e(-l[1],i[0])),-o[2]),r(t(e(i[1],o[0]),e(-o[1],i[0])),l[2]))),-a[3])),t(r(t(r(t(e(a[1],l[0]),e(-l[1],a[0])),i[2]),t(r(t(e(i[1],l[0]),e(-l[1],i[0])),-a[2]),r(t(e(i[1],a[0]),e(-a[1],i[0])),l[2]))),o[3]),r(t(r(t(e(a[1],o[0]),e(-o[1],a[0])),i[2]),t(r(t(e(i[1],o[0]),e(-o[1],i[0])),-a[2]),r(t(e(i[1],a[0]),e(-a[1],i[0])),o[2]))),-l[3])))),f=n(u,c);return f[f.length-1]}}function c(t){return(3===t?s:4===t?l:u)(i,n,a,o)}var f=c(3),h=c(4),p=[function(){return 0},function(){return 0},function(t,e){return e[0]-t[0]},function(t,e,r){var n,i=(t[1]-r[1])*(e[0]-r[0]),a=(t[0]-r[0])*(e[1]-r[1]),o=i-a;if(i>0){if(a<=0)return o;n=i+a}else{if(!(i<0))return o;if(a>=0)return o;n=-(i+a)}var s=33306690738754716e-32*n;return o>=s||o<=-s?o:f(t,e,r)},function(t,e,r,n){var i=t[0]-n[0],a=e[0]-n[0],o=r[0]-n[0],s=t[1]-n[1],l=e[1]-n[1],u=r[1]-n[1],c=t[2]-n[2],f=e[2]-n[2],p=r[2]-n[2],d=a*u,v=o*l,g=o*s,y=i*u,m=i*l,x=a*s,b=c*(d-v)+f*(g-y)+p*(m-x),_=7771561172376103e-31*((Math.abs(d)+Math.abs(v))*Math.abs(c)+(Math.abs(g)+Math.abs(y))*Math.abs(f)+(Math.abs(m)+Math.abs(x))*Math.abs(p));return b>_||-b>_?b:h(t,e,r,n)}];function d(t){var e=p[t.length];return e||(e=p[t.length]=c(t.length)),e.apply(void 0,t)}function v(t,e,r,n,i,a,o){return function(e,r,s,l,u){switch(arguments.length){case 0:case 1:return 0;case 2:return n(e,r);case 3:return i(e,r,s);case 4:return a(e,r,s,l);case 5:return o(e,r,s,l,u)}for(var c=new Array(arguments.length),f=0;f<arguments.length;++f)c[f]=arguments[f];return t(c)}}!function(){for(;p.length<=5;)p.push(c(p.length));t.exports=v.apply(void 0,[d].concat(p));for(var e=0;e<=5;++e)t.exports[e]=p[e]}()},2019:function(t,e,r){"use strict";var n=r(9662),i=r(8289);t.exports=function(t,e){if(1===t.length)return i(e,t[0]);if(1===e.length)return i(t,e[0]);if(0===t.length||0===e.length)return[0];var r=[0];if(t.length<e.length)for(var a=0;a<t.length;++a)r=n(r,i(e,t[a]));else for(a=0;a<e.length;++a)r=n(r,i(t,e[a]));return r}},8289:function(t,e,r){"use strict";var n=r(9660),i=r(87);t.exports=function(t,e){var r=t.length;if(1===r){var a=n(t[0],e);return a[0]?a:[a[1]]}var o=new Array(2*r),s=[.1,.1],l=[.1,.1],u=0;n(t[0],e,s),s[0]&&(o[u++]=s[0]);for(var c=1;c<r;++c){n(t[c],e,l);var f=s[1];i(f,l[0],s),s[0]&&(o[u++]=s[0]);var h=l[1],p=s[1],d=h+p,v=p-(d-h);s[1]=d,v&&(o[u++]=v)}return s[1]&&(o[u++]=s[1]),0===u&&(o[u++]=0),o.length=u,o}},4434:function(t,e,r){"use strict";t.exports=function(t,e,r,i){var a=n(t,r,i),o=n(e,r,i);if(a>0&&o>0||a<0&&o<0)return!1;var s=n(r,t,e),l=n(i,t,e);return!(s>0&&l>0||s<0&&l<0)&&(0!==a||0!==o||0!==s||0!==l||function(t,e,r,n){for(var i=0;i<2;++i){var a=t[i],o=e[i],s=Math.min(a,o),l=Math.max(a,o),u=r[i],c=n[i],f=Math.min(u,c);if(Math.max(u,c)<s||l<f)return!1}return!0}(t,e,r,i))};var n=r(417)[3]},4078:function(t){"use strict";t.exports=function(t,e){var r=0|t.length,n=0|e.length;if(1===r&&1===n)return function(t,e){var r=t+e,n=r-t,i=t-(r-n)+(e-n);return i?[i,r]:[r]}(t[0],-e[0]);var i,a,o=new Array(r+n),s=0,l=0,u=0,c=Math.abs,f=t[l],h=c(f),p=-e[u],d=c(p);h<d?(a=f,(l+=1)<r&&(h=c(f=t[l]))):(a=p,(u+=1)<n&&(d=c(p=-e[u]))),l<r&&h<d||u>=n?(i=f,(l+=1)<r&&(h=c(f=t[l]))):(i=p,(u+=1)<n&&(d=c(p=-e[u])));for(var v,g,y=i+a,m=y-i,x=a-m,b=x,_=y;l<r&&u<n;)h<d?(i=f,(l+=1)<r&&(h=c(f=t[l]))):(i=p,(u+=1)<n&&(d=c(p=-e[u]))),(x=(a=b)-(m=(y=i+a)-i))&&(o[s++]=x),b=_-((v=_+y)-(g=v-_))+(y-g),_=v;for(;l<r;)(x=(a=b)-(m=(y=(i=f)+a)-i))&&(o[s++]=x),b=_-((v=_+y)-(g=v-_))+(y-g),_=v,(l+=1)<r&&(f=t[l]);for(;u<n;)(x=(a=b)-(m=(y=(i=p)+a)-i))&&(o[s++]=x),b=_-((v=_+y)-(g=v-_))+(y-g),_=v,(u+=1)<n&&(p=-e[u]);return b&&(o[s++]=b),_&&(o[s++]=_),s||(o[s++]=0),o.length=s,o}},9662:function(t){"use strict";t.exports=function(t,e){var r=0|t.length,n=0|e.length;if(1===r&&1===n)return function(t,e){var r=t+e,n=r-t,i=t-(r-n)+(e-n);return i?[i,r]:[r]}(t[0],e[0]);var i,a,o=new Array(r+n),s=0,l=0,u=0,c=Math.abs,f=t[l],h=c(f),p=e[u],d=c(p);h<d?(a=f,(l+=1)<r&&(h=c(f=t[l]))):(a=p,(u+=1)<n&&(d=c(p=e[u]))),l<r&&h<d||u>=n?(i=f,(l+=1)<r&&(h=c(f=t[l]))):(i=p,(u+=1)<n&&(d=c(p=e[u])));for(var v,g,y=i+a,m=y-i,x=a-m,b=x,_=y;l<r&&u<n;)h<d?(i=f,(l+=1)<r&&(h=c(f=t[l]))):(i=p,(u+=1)<n&&(d=c(p=e[u]))),(x=(a=b)-(m=(y=i+a)-i))&&(o[s++]=x),b=_-((v=_+y)-(g=v-_))+(y-g),_=v;for(;l<r;)(x=(a=b)-(m=(y=(i=f)+a)-i))&&(o[s++]=x),b=_-((v=_+y)-(g=v-_))+(y-g),_=v,(l+=1)<r&&(f=t[l]);for(;u<n;)(x=(a=b)-(m=(y=(i=p)+a)-i))&&(o[s++]=x),b=_-((v=_+y)-(g=v-_))+(y-g),_=v,(u+=1)<n&&(p=e[u]);return b&&(o[s++]=b),_&&(o[s++]=_),s||(o[s++]=0),o.length=s,o}},8691:function(t,e,r){"use strict";t.exports=function(t){return i(n(t))};var n=r(2692),i=r(7037)},7212:function(t,e,r){"use strict";t.exports=function(t,e,r,s){if(r=r||0,void 0===s&&(s=function(t){for(var e=t.length,r=0,n=0;n<e;++n)r=0|Math.max(r,t[n].length);return r-1}(t)),0===t.length||s<1)return{cells:[],vertexIds:[],vertexWeights:[]};var l=function(t,e){for(var r=t.length,n=i.mallocUint8(r),a=0;a<r;++a)n[a]=t[a]<e|0;return n}(e,+r),u=function(t,e){for(var r=t.length,o=e*(e+1)/2*r|0,s=i.mallocUint32(2*o),l=0,u=0;u<r;++u)for(var c=t[u],f=(e=c.length,0);f<e;++f)for(var h=0;h<f;++h){var p=c[h],d=c[f];s[l++]=0|Math.min(p,d),s[l++]=0|Math.max(p,d)}a(n(s,[l/2|0,2]));var v=2;for(u=2;u<l;u+=2)s[u-2]===s[u]&&s[u-1]===s[u+1]||(s[v++]=s[u],s[v++]=s[u+1]);return n(s,[v/2|0,2])}(t,s),c=function(t,e,r,a){for(var o=t.data,s=t.shape[0],l=i.mallocDouble(s),u=0,c=0;c<s;++c){var f=o[2*c],h=o[2*c+1];if(r[f]!==r[h]){var p=e[f],d=e[h];o[2*u]=f,o[2*u+1]=h,l[u++]=(d-a)/(d-p)}}return t.shape[0]=u,n(l,[u])}(u,e,l,+r),f=function(t,e){var r=i.mallocInt32(2*e),n=t.shape[0],a=t.data;r[0]=0;for(var o=0,s=0;s<n;++s){var l=a[2*s];if(l!==o){for(r[2*o+1]=s;++o<l;)r[2*o]=s,r[2*o+1]=s;r[2*o]=s}}for(r[2*o+1]=n;++o<e;)r[2*o]=r[2*o+1]=n;return r}(u,0|e.length),h=o(s)(t,u.data,f,l),p=function(t){for(var e=0|t.shape[0],r=t.data,n=new Array(e),i=0;i<e;++i)n[i]=[r[2*i],r[2*i+1]];return n}(u),d=[].slice.call(c.data,0,c.shape[0]);return i.free(l),i.free(u.data),i.free(c.data),i.free(f),{cells:h,vertexIds:p,vertexWeights:d}};var n=r(5050),i=r(5306),a=r(8729),o=r(1168)},1168:function(t){"use strict";t.exports=function(t){return e[t]()};var e=[function(){return function(t,e,r,n){for(var i=t.length,a=0;a<i;++a)t[a].length;return[]}},function(){function t(t,e,r,n){for(var i=0|Math.min(r,n),a=0|Math.max(r,n),o=t[2*i],s=t[2*i+1];o<s;){var l=o+s>>1,u=e[2*l+1];if(u===a)return l;a<u?s=l:o=l+1}return o}return function(e,r,n,i){for(var a=e.length,o=[],s=0;s<a;++s){var l=e[s];if(2===l.length){var u=(i[l[0]]<<0)+(i[l[1]]<<1);if(0===u||3===u)continue;switch(u){case 0:case 3:break;case 1:o.push([t(n,r,l[0],l[1])]);break;case 2:o.push([t(n,r,l[1],l[0])])}}}return o}},function(){function t(t,e,r,n){for(var i=0|Math.min(r,n),a=0|Math.max(r,n),o=t[2*i],s=t[2*i+1];o<s;){var l=o+s>>1,u=e[2*l+1];if(u===a)return l;a<u?s=l:o=l+1}return o}return function(e,r,n,i){for(var a=e.length,o=[],s=0;s<a;++s){var l=e[s],u=l.length;if(3===u){if(0==(c=(i[l[0]]<<0)+(i[l[1]]<<1)+(i[l[2]]<<2))||7===c)continue;switch(c){case 0:case 7:break;case 1:o.push([t(n,r,l[0],l[2]),t(n,r,l[0],l[1])]);break;case 2:o.push([t(n,r,l[1],l[0]),t(n,r,l[1],l[2])]);break;case 3:o.push([t(n,r,l[0],l[2]),t(n,r,l[1],l[2])]);break;case 4:o.push([t(n,r,l[2],l[1]),t(n,r,l[2],l[0])]);break;case 5:o.push([t(n,r,l[2],l[1]),t(n,r,l[0],l[1])]);break;case 6:o.push([t(n,r,l[1],l[0]),t(n,r,l[2],l[0])])}}else if(2===u){var c;if(0==(c=(i[l[0]]<<0)+(i[l[1]]<<1))||3===c)continue;switch(c){case 0:case 3:break;case 1:o.push([t(n,r,l[0],l[1])]);break;case 2:o.push([t(n,r,l[1],l[0])])}}}return o}},function(){function t(t,e,r,n){for(var i=0|Math.min(r,n),a=0|Math.max(r,n),o=t[2*i],s=t[2*i+1];o<s;){var l=o+s>>1,u=e[2*l+1];if(u===a)return l;a<u?s=l:o=l+1}return o}return function(e,r,n,i){for(var a=e.length,o=[],s=0;s<a;++s){var l=e[s],u=l.length;if(4===u){if(0==(c=(i[l[0]]<<0)+(i[l[1]]<<1)+(i[l[2]]<<2)+(i[l[3]]<<3))||15===c)continue;switch(c){case 0:case 15:break;case 1:o.push([t(n,r,l[0],l[1]),t(n,r,l[0],l[2]),t(n,r,l[0],l[3])]);break;case 2:o.push([t(n,r,l[1],l[2]),t(n,r,l[1],l[0]),t(n,r,l[1],l[3])]);break;case 3:o.push([t(n,r,l[1],l[2]),t(n,r,l[0],l[2]),t(n,r,l[0],l[3])],[t(n,r,l[1],l[3]),t(n,r,l[1],l[2]),t(n,r,l[0],l[3])]);break;case 4:o.push([t(n,r,l[2],l[0]),t(n,r,l[2],l[1]),t(n,r,l[2],l[3])]);break;case 5:o.push([t(n,r,l[0],l[1]),t(n,r,l[2],l[1]),t(n,r,l[0],l[3])],[t(n,r,l[2],l[1]),t(n,r,l[2],l[3]),t(n,r,l[0],l[3])]);break;case 6:o.push([t(n,r,l[2],l[0]),t(n,r,l[1],l[0]),t(n,r,l[1],l[3])],[t(n,r,l[2],l[3]),t(n,r,l[2],l[0]),t(n,r,l[1],l[3])]);break;case 7:o.push([t(n,r,l[0],l[3]),t(n,r,l[1],l[3]),t(n,r,l[2],l[3])]);break;case 8:o.push([t(n,r,l[3],l[1]),t(n,r,l[3],l[0]),t(n,r,l[3],l[2])]);break;case 9:o.push([t(n,r,l[3],l[1]),t(n,r,l[0],l[1]),t(n,r,l[0],l[2])],[t(n,r,l[3],l[2]),t(n,r,l[3],l[1]),t(n,r,l[0],l[2])]);break;case 10:o.push([t(n,r,l[1],l[0]),t(n,r,l[3],l[0]),t(n,r,l[1],l[2])],[t(n,r,l[3],l[0]),t(n,r,l[3],l[2]),t(n,r,l[1],l[2])]);break;case 11:o.push([t(n,r,l[1],l[2]),t(n,r,l[0],l[2]),t(n,r,l[3],l[2])]);break;case 12:o.push([t(n,r,l[3],l[0]),t(n,r,l[2],l[0]),t(n,r,l[2],l[1])],[t(n,r,l[3],l[1]),t(n,r,l[3],l[0]),t(n,r,l[2],l[1])]);break;case 13:o.push([t(n,r,l[0],l[1]),t(n,r,l[2],l[1]),t(n,r,l[3],l[1])]);break;case 14:o.push([t(n,r,l[2],l[0]),t(n,r,l[1],l[0]),t(n,r,l[3],l[0])])}}else if(3===u){if(0==(c=(i[l[0]]<<0)+(i[l[1]]<<1)+(i[l[2]]<<2))||7===c)continue;switch(c){case 0:case 7:break;case 1:o.push([t(n,r,l[0],l[2]),t(n,r,l[0],l[1])]);break;case 2:o.push([t(n,r,l[1],l[0]),t(n,r,l[1],l[2])]);break;case 3:o.push([t(n,r,l[0],l[2]),t(n,r,l[1],l[2])]);break;case 4:o.push([t(n,r,l[2],l[1]),t(n,r,l[2],l[0])]);break;case 5:o.push([t(n,r,l[2],l[1]),t(n,r,l[0],l[1])]);break;case 6:o.push([t(n,r,l[1],l[0]),t(n,r,l[2],l[0])])}}else if(2===u){var c;if(0==(c=(i[l[0]]<<0)+(i[l[1]]<<1))||3===c)continue;switch(c){case 0:case 3:break;case 1:o.push([t(n,r,l[0],l[1])]);break;case 2:o.push([t(n,r,l[1],l[0])])}}}return o}}]},8211:function(t,e,r){"use strict";r(2288),r(1731),e.H=function(t,e){var r=t.length,n=t.length-e.length,i=Math.min;if(n)return n;switch(r){case 0:return 0;case 1:return t[0]-e[0];case 2:return(s=t[0]+t[1]-e[0]-e[1])||i(t[0],t[1])-i(e[0],e[1]);case 3:var a=t[0]+t[1],o=e[0]+e[1];if(s=a+t[2]-(o+e[2]))return s;var s,l=i(t[0],t[1]),u=i(e[0],e[1]);return(s=i(l,t[2])-i(u,e[2]))||i(l+t[2],a)-i(u+e[2],o);default:var c=t.slice(0);c.sort();var f=e.slice(0);f.sort();for(var h=0;h<r;++h)if(n=c[h]-f[h])return n;return 0}}},9392:function(t,e){"use strict";function r(t){var e=32;return(t&=-t)&&e--,65535&t&&(e-=16),16711935&t&&(e-=8),252645135&t&&(e-=4),858993459&t&&(e-=2),1431655765&t&&(e-=1),e}e.INT_BITS=32,e.INT_MAX=2147483647,e.INT_MIN=-1<<31,e.sign=function(t){return(t>0)-(t<0)},e.abs=function(t){var e=t>>31;return(t^e)-e},e.min=function(t,e){return e^(t^e)&-(t<e)},e.max=function(t,e){return t^(t^e)&-(t<e)},e.isPow2=function(t){return!(t&t-1||!t)},e.log2=function(t){var e,r;return e=(t>65535)<<4,e|=r=((t>>>=e)>255)<<3,e|=r=((t>>>=r)>15)<<2,(e|=r=((t>>>=r)>3)<<1)|(t>>>=r)>>1},e.log10=function(t){return t>=1e9?9:t>=1e8?8:t>=1e7?7:t>=1e6?6:t>=1e5?5:t>=1e4?4:t>=1e3?3:t>=100?2:t>=10?1:0},e.popCount=function(t){return 16843009*((t=(858993459&(t-=t>>>1&1431655765))+(t>>>2&858993459))+(t>>>4)&252645135)>>>24},e.countTrailingZeros=r,e.nextPow2=function(t){return t+=0===t,--t,t|=t>>>1,t|=t>>>2,t|=t>>>4,1+((t|=t>>>8)|t>>>16)},e.prevPow2=function(t){return t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,(t|=t>>>16)-(t>>>1)},e.parity=function(t){return t^=t>>>16,t^=t>>>8,t^=t>>>4,27030>>>(t&=15)&1};var n=new Array(256);!function(t){for(var e=0;e<256;++e){var r=e,n=e,i=7;for(r>>>=1;r;r>>>=1)n<<=1,n|=1&r,--i;t[e]=n<<i&255}}(n),e.reverse=function(t){return n[255&t]<<24|n[t>>>8&255]<<16|n[t>>>16&255]<<8|n[t>>>24&255]},e.interleave2=function(t,e){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t&=65535)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e&=65535)|e<<8))|e<<4))|e<<2))|e<<1))<<1},e.deinterleave2=function(t,e){return(t=65535&((t=16711935&((t=252645135&((t=858993459&((t=t>>>e&1431655765)|t>>>1))|t>>>2))|t>>>4))|t>>>16))<<16>>16},e.interleave3=function(t,e,r){return t=1227133513&((t=3272356035&((t=251719695&((t=4278190335&((t&=1023)|t<<16))|t<<8))|t<<4))|t<<2),(t|=(e=1227133513&((e=3272356035&((e=251719695&((e=4278190335&((e&=1023)|e<<16))|e<<8))|e<<4))|e<<2))<<1)|(r=1227133513&((r=3272356035&((r=251719695&((r=4278190335&((r&=1023)|r<<16))|r<<8))|r<<4))|r<<2))<<2},e.deinterleave3=function(t,e){return(t=1023&((t=4278190335&((t=251719695&((t=3272356035&((t=t>>>e&1227133513)|t>>>2))|t>>>4))|t>>>8))|t>>>16))<<22>>22},e.nextCombination=function(t){var e=t|t-1;return e+1|(~e&-~e)-1>>>r(t)+1}},6656:function(t,e,r){"use strict";var n=r(9392),i=r(9521);function a(t,e){var r=t.length,n=t.length-e.length,i=Math.min;if(n)return n;switch(r){case 0:return 0;case 1:return t[0]-e[0];case 2:return(s=t[0]+t[1]-e[0]-e[1])||i(t[0],t[1])-i(e[0],e[1]);case 3:var a=t[0]+t[1],o=e[0]+e[1];if(s=a+t[2]-(o+e[2]))return s;var s,l=i(t[0],t[1]),u=i(e[0],e[1]);return(s=i(l,t[2])-i(u,e[2]))||i(l+t[2],a)-i(u+e[2],o);default:var c=t.slice(0);c.sort();var f=e.slice(0);f.sort();for(var h=0;h<r;++h)if(n=c[h]-f[h])return n;return 0}}function o(t,e){return a(t[0],e[0])}function s(t,e){if(e){for(var r=t.length,n=new Array(r),i=0;i<r;++i)n[i]=[t[i],e[i]];for(n.sort(o),i=0;i<r;++i)t[i]=n[i][0],e[i]=n[i][1];return t}return t.sort(a),t}function l(t){if(0===t.length)return[];for(var e=1,r=t.length,n=1;n<r;++n){var i=t[n];if(a(i,t[n-1])){if(n===e){e++;continue}t[e++]=i}}return t.length=e,t}function u(t,e){for(var r=0,n=t.length-1,i=-1;r<=n;){var o=r+n>>1,s=a(t[o],e);s<=0?(0===s&&(i=o),r=o+1):s>0&&(n=o-1)}return i}function c(t,e){for(var r=new Array(t.length),i=0,o=r.length;i<o;++i)r[i]=[];for(var s=[],l=(i=0,e.length);i<l;++i)for(var c=e[i],f=c.length,h=1,p=1<<f;h<p;++h){s.length=n.popCount(h);for(var d=0,v=0;v<f;++v)h&1<<v&&(s[d++]=c[v]);var g=u(t,s);if(!(g<0))for(;r[g++].push(i),!(g>=t.length||0!==a(t[g],s)););}return r}function f(t,e){if(e<0)return[];for(var r=[],i=(1<<e+1)-1,a=0;a<t.length;++a)for(var o=t[a],l=i;l<1<<o.length;l=n.nextCombination(l)){for(var u=new Array(e+1),c=0,f=0;f<o.length;++f)l&1<<f&&(u[c++]=o[f]);r.push(u)}return s(r)}e.dimension=function(t){for(var e=0,r=Math.max,n=0,i=t.length;n<i;++n)e=r(e,t[n].length);return e-1},e.countVertices=function(t){for(var e=-1,r=Math.max,n=0,i=t.length;n<i;++n)for(var a=t[n],o=0,s=a.length;o<s;++o)e=r(e,a[o]);return e+1},e.cloneCells=function(t){for(var e=new Array(t.length),r=0,n=t.length;r<n;++r)e[r]=t[r].slice(0);return e},e.compareCells=a,e.normalize=s,e.unique=l,e.findCell=u,e.incidence=c,e.dual=function(t,e){if(!e)return c(l(f(t,0)),t);for(var r=new Array(e),n=0;n<e;++n)r[n]=[];n=0;for(var i=t.length;n<i;++n)for(var a=t[n],o=0,s=a.length;o<s;++o)r[a[o]].push(n);return r},e.explode=function(t){for(var e=[],r=0,n=t.length;r<n;++r)for(var i=t[r],a=0|i.length,o=1,l=1<<a;o<l;++o){for(var u=[],c=0;c<a;++c)o>>>c&1&&u.push(i[c]);e.push(u)}return s(e)},e.skeleton=f,e.boundary=function(t){for(var e=[],r=0,n=t.length;r<n;++r)for(var i=t[r],a=0,o=i.length;a<o;++a){for(var l=new Array(i.length-1),u=0,c=0;u<o;++u)u!==a&&(l[c++]=i[u]);e.push(l)}return s(e)},e.connectedComponents=function(t,e){return e?function(t,e){for(var r=new i(e),n=0;n<t.length;++n)for(var a=t[n],o=0;o<a.length;++o)for(var s=o+1;s<a.length;++s)r.link(a[o],a[s]);var l=[],u=r.ranks;for(n=0;n<u.length;++n)u[n]=-1;for(n=0;n<t.length;++n){var c=r.find(t[n][0]);u[c]<0?(u[c]=l.length,l.push([t[n].slice(0)])):l[u[c]].push(t[n].slice(0))}return l}(t,e):function(t){for(var e=l(s(f(t,0))),r=new i(e.length),n=0;n<t.length;++n)for(var a=t[n],o=0;o<a.length;++o)for(var c=u(e,[a[o]]),h=o+1;h<a.length;++h)r.link(c,u(e,[a[h]]));var p=[],d=r.ranks;for(n=0;n<d.length;++n)d[n]=-1;for(n=0;n<t.length;++n){var v=r.find(u(e,[t[n][0]]));d[v]<0?(d[v]=p.length,p.push([t[n].slice(0)])):p[d[v]].push(t[n].slice(0))}return p}(t)}},9521:function(t){"use strict";function e(t){this.roots=new Array(t),this.ranks=new Array(t);for(var e=0;e<t;++e)this.roots[e]=e,this.ranks[e]=0}t.exports=e,e.prototype.length=function(){return this.roots.length},e.prototype.makeSet=function(){var t=this.roots.length;return this.roots.push(t),this.ranks.push(0),t},e.prototype.find=function(t){for(var e=this.roots;e[t]!==t;){var r=e[t];e[t]=e[r],t=r}return t},e.prototype.link=function(t,e){var r=this.find(t),n=this.find(e);if(r!==n){var i=this.ranks,a=this.roots,o=i[r],s=i[n];o<s?a[r]=n:s<o?a[n]=r:(a[n]=r,++i[r])}}},8243:function(t,e,r){"use strict";t.exports=function(t,e,r){for(var a=e.length,o=t.length,s=new Array(a),l=new Array(a),u=new Array(a),c=new Array(a),f=0;f<a;++f)s[f]=l[f]=-1,u[f]=1/0,c[f]=!1;for(f=0;f<o;++f){var h=t[f];if(2!==h.length)throw new Error("Input must be a graph");var p=h[1],d=h[0];-1!==l[d]?l[d]=-2:l[d]=p,-1!==s[p]?s[p]=-2:s[p]=d}function v(t){if(c[t])return 1/0;var r,i,a,o=s[t],u=l[t];return o<0||u<0?1/0:(r=e[t],i=e[o],a=e[u],Math.abs(n(r,i,a))/Math.sqrt(Math.pow(i[0]-a[0],2)+Math.pow(i[1]-a[1],2)))}function g(t,e){var r=k[t],n=k[e];k[t]=n,k[e]=r,A[r]=e,A[n]=t}function y(t){return u[k[t]]}function m(t){return 1&t?t-1>>1:(t>>1)-1}function x(t){for(var e=y(t);;){var r=e,n=2*t+1,i=2*(t+1),a=t;if(n<M){var o=y(n);o<r&&(a=n,r=o)}if(i<M&&y(i)<r&&(a=i),a===t)return t;g(t,a),t=a}}function b(t){for(var e=y(t);t>0;){var r=m(t);if(!(r>=0&&e<y(r)))return t;g(t,r),t=r}}function _(){if(M>0){var t=k[0];return g(0,M-1),M-=1,x(0),t}return-1}function w(t,e){var r=k[t];return u[r]===e?t:(u[r]=-1/0,b(t),_(),u[r]=e,b((M+=1)-1))}function T(t){if(!c[t]){c[t]=!0;var e=s[t],r=l[t];s[r]>=0&&(s[r]=e),l[e]>=0&&(l[e]=r),A[e]>=0&&w(A[e],v(e)),A[r]>=0&&w(A[r],v(r))}}var k=[],A=new Array(a);for(f=0;f<a;++f)(u[f]=v(f))<1/0?(A[f]=k.length,k.push(f)):A[f]=-1;var M=k.length;for(f=M>>1;f>=0;--f)x(f);for(;;){var S=_();if(S<0||u[S]>r)break;T(S)}var E=[];for(f=0;f<a;++f)c[f]||(A[f]=E.length,E.push(e[f].slice()));function L(t,e){if(t[e]<0)return e;var r=e,n=e;do{var i=t[n];if(!c[n]||i<0||i===n)break;if(i=t[n=i],!c[n]||i<0||i===n)break;n=i,r=t[r]}while(r!==n);for(var a=e;a!==n;a=t[a])t[a]=n;return n}E.length;var C=[];return t.forEach((function(t){var e=L(s,t[0]),r=L(l,t[1]);if(e>=0&&r>=0&&e!==r){var n=A[e],i=A[r];n!==i&&C.push([n,i])}})),i.unique(i.normalize(C)),{positions:E,edges:C}};var n=r(417),i=r(6656)},6638:function(t,e,r){"use strict";t.exports=function(t,e){var r,a,o,s;if(e[0][0]<e[1][0])r=e[0],a=e[1];else{if(!(e[0][0]>e[1][0]))return i(e,t);r=e[1],a=e[0]}if(t[0][0]<t[1][0])o=t[0],s=t[1];else{if(!(t[0][0]>t[1][0]))return-i(t,e);o=t[1],s=t[0]}var l=n(r,a,s),u=n(r,a,o);if(l<0){if(u<=0)return l}else if(l>0){if(u>=0)return l}else if(u)return u;if(l=n(s,o,a),u=n(s,o,r),l<0){if(u<=0)return l}else if(l>0){if(u>=0)return l}else if(u)return u;return a[0]-s[0]};var n=r(417);function i(t,e){var r,i,a,o;if(e[0][0]<e[1][0])r=e[0],i=e[1];else{if(!(e[0][0]>e[1][0])){var s=Math.min(t[0][1],t[1][1]),l=Math.max(t[0][1],t[1][1]),u=Math.min(e[0][1],e[1][1]),c=Math.max(e[0][1],e[1][1]);return l<u?l-u:s>c?s-c:l-c}r=e[1],i=e[0]}t[0][1]<t[1][1]?(a=t[0],o=t[1]):(a=t[1],o=t[0]);var f=n(i,r,a);return f||(f=n(i,r,o))||o-i}},4385:function(t,e,r){"use strict";t.exports=function(t){for(var e=t.length,r=2*e,n=new Array(r),a=0;a<e;++a){var l=t[a],u=l[0][0]<l[1][0];n[2*a]=new f(l[0][0],l,u,a),n[2*a+1]=new f(l[1][0],l,!u,a)}n.sort((function(t,e){var r=t.x-e.x;return r||(r=t.create-e.create)||Math.min(t.segment[0][1],t.segment[1][1])-Math.min(e.segment[0][1],e.segment[1][1])}));var h=i(o),p=[],d=[],v=[];for(a=0;a<r;){for(var g=n[a].x,y=[];a<r;){var m=n[a];if(m.x!==g)break;a+=1,m.segment[0][0]===m.x&&m.segment[1][0]===m.x?m.create&&(m.segment[0][1]<m.segment[1][1]?(y.push(new c(m.segment[0][1],m.index,!0,!0)),y.push(new c(m.segment[1][1],m.index,!1,!1))):(y.push(new c(m.segment[1][1],m.index,!0,!1)),y.push(new c(m.segment[0][1],m.index,!1,!0)))):h=m.create?h.insert(m.segment,m.index):h.remove(m.segment)}p.push(h.root),d.push(g),v.push(y)}return new s(p,d,v)};var n=r(5070),i=r(7080),a=r(417),o=r(6638);function s(t,e,r){this.slabs=t,this.coordinates=e,this.horizontal=r}function l(t,e){return t.y-e}function u(t,e){for(var r=null;t;){var n,i,o=t.key;o[0][0]<o[1][0]?(n=o[0],i=o[1]):(n=o[1],i=o[0]);var s=a(n,i,e);if(s<0)t=t.left;else if(s>0)if(e[0]!==o[1][0])r=t,t=t.right;else{if(l=u(t.right,e))return l;t=t.left}else{if(e[0]!==o[1][0])return t;var l;if(l=u(t.right,e))return l;t=t.left}}return r}function c(t,e,r,n){this.y=t,this.index=e,this.start=r,this.closed=n}function f(t,e,r,n){this.x=t,this.segment=e,this.create=r,this.index=n}s.prototype.castUp=function(t){var e=n.le(this.coordinates,t[0]);if(e<0)return-1;this.slabs[e];var r=u(this.slabs[e],t),i=-1;if(r&&(i=r.value),this.coordinates[e]===t[0]){var s=null;if(r&&(s=r.key),e>0){var c=u(this.slabs[e-1],t);c&&(s?o(c.key,s)>0&&(s=c.key,i=c.value):(i=c.value,s=c.key))}var f=this.horizontal[e];if(f.length>0){var h=n.ge(f,t[1],l);if(h<f.length){var p=f[h];if(t[1]===p.y){if(p.closed)return p.index;for(;h<f.length-1&&f[h+1].y===t[1];)if((p=f[h+=1]).closed)return p.index;if(p.y===t[1]&&!p.start){if((h+=1)>=f.length)return i;p=f[h]}}if(p.start)if(s){var d=a(s[0],s[1],[t[0],p.y]);s[0][0]>s[1][0]&&(d=-d),d>0&&(i=p.index)}else i=p.index;else p.y!==t[1]&&(i=p.index)}}}return i}},4670:function(t,e,r){"use strict";var n=r(9130),i=r(9662);function a(t,e){var r=i(n(t,e),[e[e.length-1]]);return r[r.length-1]}function o(t,e,r,n){var i=-e/(n-e);i<0?i=0:i>1&&(i=1);for(var a=1-i,o=t.length,s=new Array(o),l=0;l<o;++l)s[l]=i*t[l]+a*r[l];return s}t.exports=function(t,e){for(var r=[],n=[],i=a(t[t.length-1],e),s=t[t.length-1],l=t[0],u=0;u<t.length;++u,s=l){var c=a(l=t[u],e);if(i<0&&c>0||i>0&&c<0){var f=o(s,c,l,i);r.push(f),n.push(f.slice())}c<0?n.push(l.slice()):c>0?r.push(l.slice()):(r.push(l.slice()),n.push(l.slice())),i=c}return{positive:r,negative:n}},t.exports.positive=function(t,e){for(var r=[],n=a(t[t.length-1],e),i=t[t.length-1],s=t[0],l=0;l<t.length;++l,i=s){var u=a(s=t[l],e);(n<0&&u>0||n>0&&u<0)&&r.push(o(i,u,s,n)),u>=0&&r.push(s.slice()),n=u}return r},t.exports.negative=function(t,e){for(var r=[],n=a(t[t.length-1],e),i=t[t.length-1],s=t[0],l=0;l<t.length;++l,i=s){var u=a(s=t[l],e);(n<0&&u>0||n>0&&u<0)&&r.push(o(i,u,s,n)),u<=0&&r.push(s.slice()),n=u}return r}},8974:function(t,e,r){var n;!function(){"use strict";var i={not_string:/[^s]/,not_bool:/[^t]/,not_type:/[^T]/,not_primitive:/[^v]/,number:/[diefg]/,numeric_arg:/[bcdiefguxX]/,json:/[j]/,not_json:/[^j]/,text:/^[^\x25]+/,modulo:/^\x25{2}/,placeholder:/^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,key:/^([a-z_][a-z_\d]*)/i,key_access:/^\.([a-z_][a-z_\d]*)/i,index_access:/^\[(\d+)\]/,sign:/^[+-]/};function a(t){return s(u(t),arguments)}function o(t,e){return a.apply(null,[t].concat(e||[]))}function s(t,e){var r,n,o,s,l,u,c,f,h,p=1,d=t.length,v="";for(n=0;n<d;n++)if("string"==typeof t[n])v+=t[n];else if("object"==typeof t[n]){if((s=t[n]).keys)for(r=e[p],o=0;o<s.keys.length;o++){if(null==r)throw new Error(a('[sprintf] Cannot access property "%s" of undefined value "%s"',s.keys[o],s.keys[o-1]));r=r[s.keys[o]]}else r=s.param_no?e[s.param_no]:e[p++];if(i.not_type.test(s.type)&&i.not_primitive.test(s.type)&&r instanceof Function&&(r=r()),i.numeric_arg.test(s.type)&&"number"!=typeof r&&isNaN(r))throw new TypeError(a("[sprintf] expecting number but found %T",r));switch(i.number.test(s.type)&&(f=r>=0),s.type){case"b":r=parseInt(r,10).toString(2);break;case"c":r=String.fromCharCode(parseInt(r,10));break;case"d":case"i":r=parseInt(r,10);break;case"j":r=JSON.stringify(r,null,s.width?parseInt(s.width):0);break;case"e":r=s.precision?parseFloat(r).toExponential(s.precision):parseFloat(r).toExponential();break;case"f":r=s.precision?parseFloat(r).toFixed(s.precision):parseFloat(r);break;case"g":r=s.precision?String(Number(r.toPrecision(s.precision))):parseFloat(r);break;case"o":r=(parseInt(r,10)>>>0).toString(8);break;case"s":r=String(r),r=s.precision?r.substring(0,s.precision):r;break;case"t":r=String(!!r),r=s.precision?r.substring(0,s.precision):r;break;case"T":r=Object.prototype.toString.call(r).slice(8,-1).toLowerCase(),r=s.precision?r.substring(0,s.precision):r;break;case"u":r=parseInt(r,10)>>>0;break;case"v":r=r.valueOf(),r=s.precision?r.substring(0,s.precision):r;break;case"x":r=(parseInt(r,10)>>>0).toString(16);break;case"X":r=(parseInt(r,10)>>>0).toString(16).toUpperCase()}i.json.test(s.type)?v+=r:(!i.number.test(s.type)||f&&!s.sign?h="":(h=f?"+":"-",r=r.toString().replace(i.sign,"")),u=s.pad_char?"0"===s.pad_char?"0":s.pad_char.charAt(1):" ",c=s.width-(h+r).length,l=s.width&&c>0?u.repeat(c):"",v+=s.align?h+r+l:"0"===u?h+l+r:l+h+r)}return v}var l=Object.create(null);function u(t){if(l[t])return l[t];for(var e,r=t,n=[],a=0;r;){if(null!==(e=i.text.exec(r)))n.push(e[0]);else if(null!==(e=i.modulo.exec(r)))n.push("%");else{if(null===(e=i.placeholder.exec(r)))throw new SyntaxError("[sprintf] unexpected placeholder");if(e[2]){a|=1;var o=[],s=e[2],u=[];if(null===(u=i.key.exec(s)))throw new SyntaxError("[sprintf] failed to parse named argument key");for(o.push(u[1]);""!==(s=s.substring(u[0].length));)if(null!==(u=i.key_access.exec(s)))o.push(u[1]);else{if(null===(u=i.index_access.exec(s)))throw new SyntaxError("[sprintf] failed to parse named argument key");o.push(u[1])}e[2]=o}else a|=2;if(3===a)throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");n.push({placeholder:e[0],param_no:e[1],keys:e[2],sign:e[3],pad_char:e[4],align:e[5],width:e[6],precision:e[7],type:e[8]})}r=r.substring(e[0].length)}return l[t]=n}e.sprintf=a,e.vsprintf=o,"undefined"!=typeof window&&(window.sprintf=a,window.vsprintf=o,void 0===(n=function(){return{sprintf:a,vsprintf:o}}.call(e,r,e,t))||(t.exports=n))}()},4162:function(t,e,r){"use strict";t.exports=function(t,e){if(t.dimension<=0)return{positions:[],cells:[]};if(1===t.dimension)return function(t,e){for(var r=i(t,e),n=r.length,a=new Array(n),o=new Array(n),s=0;s<n;++s)a[s]=[r[s]],o[s]=[s];return{positions:a,cells:o}}(t,e);var r=t.order.join()+"-"+t.dtype,s=o[r];return e=+e||0,s||(s=o[r]=function(t,e){var r=t.length+"d",i=a[r];if(i)return i(n,t,e)}(t.order,t.dtype)),s(t,e)};var n=r(9284),i=r(9584),a={"2d":function(t,e,r){var n=t({order:e,scalarArguments:3,getters:"generic"===r?[0]:void 0,phase:function(t,e,r,n){return t>n|0},vertex:function(t,e,r,n,i,a,o,s,l,u,c,f,h){var p=(o<<0)+(s<<1)+(l<<2)+(u<<3)|0;if(0!==p&&15!==p)switch(p){case 0:case 15:c.push([t-.5,e-.5]);break;case 1:c.push([t-.25-.25*(n+r-2*h)/(r-n),e-.25-.25*(i+r-2*h)/(r-i)]);break;case 2:c.push([t-.75-.25*(-n-r+2*h)/(n-r),e-.25-.25*(a+n-2*h)/(n-a)]);break;case 3:c.push([t-.5,e-.5-.5*(i+r+a+n-4*h)/(r-i+n-a)]);break;case 4:c.push([t-.25-.25*(a+i-2*h)/(i-a),e-.75-.25*(-i-r+2*h)/(i-r)]);break;case 5:c.push([t-.5-.5*(n+r+a+i-4*h)/(r-n+i-a),e-.5]);break;case 6:c.push([t-.5-.25*(-n-r+a+i)/(n-r+i-a),e-.5-.25*(-i-r+a+n)/(i-r+n-a)]);break;case 7:c.push([t-.75-.25*(a+i-2*h)/(i-a),e-.75-.25*(a+n-2*h)/(n-a)]);break;case 8:c.push([t-.75-.25*(-a-i+2*h)/(a-i),e-.75-.25*(-a-n+2*h)/(a-n)]);break;case 9:c.push([t-.5-.25*(n+r+-a-i)/(r-n+a-i),e-.5-.25*(i+r+-a-n)/(r-i+a-n)]);break;case 10:c.push([t-.5-.5*(-n-r-a-i+4*h)/(n-r+a-i),e-.5]);break;case 11:c.push([t-.25-.25*(-a-i+2*h)/(a-i),e-.75-.25*(i+r-2*h)/(r-i)]);break;case 12:c.push([t-.5,e-.5-.5*(-i-r-a-n+4*h)/(i-r+a-n)]);break;case 13:c.push([t-.75-.25*(n+r-2*h)/(r-n),e-.25-.25*(-a-n+2*h)/(a-n)]);break;case 14:c.push([t-.25-.25*(-n-r+2*h)/(n-r),e-.25-.25*(-i-r+2*h)/(i-r)])}},cell:function(t,e,r,n,i,a,o,s,l){i?s.push([t,e]):s.push([e,t])}});return function(t,e){var r=[],i=[];return n(t,r,i,e),{positions:r,cells:i}}}},o={}},6946:function(t,e,r){"use strict";t.exports=function t(e,r,i){i=i||{};var a=o[e];a||(a=o[e]={" ":{data:new Float32Array(0),shape:.2}});var s=a[r];if(!s)if(r.length<=1||!/\d/.test(r))s=a[r]=function(t){for(var e=t.cells,r=t.positions,n=new Float32Array(6*e.length),i=0,a=0,o=0;o<e.length;++o)for(var s=e[o],l=0;l<3;++l){var u=r[s[l]];n[i++]=u[0],n[i++]=u[1]+1.4,a=Math.max(u[0],a)}return{data:n,shape:a}}(n(r,{triangles:!0,font:e,textAlign:i.textAlign||"left",textBaseline:"alphabetic",styletags:{breaklines:!0,bolds:!0,italics:!0,subscripts:!0,superscripts:!0}}));else{for(var l=r.split(/(\d|\s)/),u=new Array(l.length),c=0,f=0,h=0;h<l.length;++h)u[h]=t(e,l[h]),c+=u[h].data.length,f+=u[h].shape,h>0&&(f+=.02);var p=new Float32Array(c),d=0,v=-.5*f;for(h=0;h<u.length;++h){for(var g=u[h].data,y=0;y<g.length;y+=2)p[d++]=g[y]+v,p[d++]=g[y+1];v+=u[h].shape+.02}s=a[r]={data:p,shape:f}}return s};var n=r(875),a=window||i.global||{},o=a.__TEXT_CACHE||{};a.__TEXT_CACHE={}},14:function(t,e,r){"use strict";var n=r(4405);function i(t,e){var r=n(getComputedStyle(t).getPropertyValue(e));return r[0]*a(r[1],t)}function a(t,e){switch(e=e||document.body,t=(t||"px").trim().toLowerCase(),e!==window&&e!==document||(e=document.body),t){case"%":return e.clientHeight/100;case"ch":case"ex":return function(t,e){var r=document.createElement("div");r.style["font-size"]="128"+t,e.appendChild(r);var n=i(r,"font-size")/128;return e.removeChild(r),n}(t,e);case"em":return i(e,"font-size");case"rem":return i(document.body,"font-size");case"vw":return window.innerWidth/100;case"vh":return window.innerHeight/100;case"vmin":return Math.min(window.innerWidth,window.innerHeight)/100;case"vmax":return Math.max(window.innerWidth,window.innerHeight)/100;case"in":return 96;case"cm":return 96/2.54;case"mm":return 96/25.4;case"pt":return 96/72;case"pc":return 16}return 1}t.exports=a},3440:function(t,e,r){"use strict";t.exports=function(t){var e=(t=t||{}).center||[0,0,0],r=t.up||[0,1,0],n=t.right||f(r),i=t.radius||1,a=t.theta||0,c=t.phi||0;if(e=[].slice.call(e,0,3),r=[].slice.call(r,0,3),s(r,r),n=[].slice.call(n,0,3),s(n,n),"eye"in t){var p=t.eye,d=[p[0]-e[0],p[1]-e[1],p[2]-e[2]];o(n,d,r),u(n[0],n[1],n[2])<1e-6?n=f(r):s(n,n),i=u(d[0],d[1],d[2]);var v=l(r,d)/i,g=l(n,d)/i;c=Math.acos(v),a=Math.acos(g)}return i=Math.log(i),new h(t.zoomMin,t.zoomMax,e,r,n,i,a,c)};var n=r(8444),i=r(7437),a=r(4422),o=r(903),s=r(899),l=r(9305);function u(t,e,r){return Math.sqrt(Math.pow(t,2)+Math.pow(e,2)+Math.pow(r,2))}function c(t){return Math.min(1,Math.max(-1,t))}function f(t){var e=Math.abs(t[0]),r=Math.abs(t[1]),n=Math.abs(t[2]),i=[0,0,0];e>Math.max(r,n)?i[2]=1:r>Math.max(e,n)?i[0]=1:i[1]=1;for(var a=0,o=0,l=0;l<3;++l)a+=t[l]*t[l],o+=i[l]*t[l];for(l=0;l<3;++l)i[l]-=o/a*t[l];return s(i,i),i}function h(t,e,r,i,a,o,s,l){this.center=n(r),this.up=n(i),this.right=n(a),this.radius=n([o]),this.angle=n([s,l]),this.angle.bounds=[[-1/0,-Math.PI/2],[1/0,Math.PI/2]],this.setDistanceLimits(t,e),this.computedCenter=this.center.curve(0),this.computedUp=this.up.curve(0),this.computedRight=this.right.curve(0),this.computedRadius=this.radius.curve(0),this.computedAngle=this.angle.curve(0),this.computedToward=[0,0,0],this.computedEye=[0,0,0],this.computedMatrix=new Array(16);for(var u=0;u<16;++u)this.computedMatrix[u]=.5;this.recalcMatrix(0)}var p=h.prototype;p.setDistanceLimits=function(t,e){t=t>0?Math.log(t):-1/0,e=e>0?Math.log(e):1/0,e=Math.max(e,t),this.radius.bounds[0][0]=t,this.radius.bounds[1][0]=e},p.getDistanceLimits=function(t){var e=this.radius.bounds[0];return t?(t[0]=Math.exp(e[0][0]),t[1]=Math.exp(e[1][0]),t):[Math.exp(e[0][0]),Math.exp(e[1][0])]},p.recalcMatrix=function(t){this.center.curve(t),this.up.curve(t),this.right.curve(t),this.radius.curve(t),this.angle.curve(t);for(var e=this.computedUp,r=this.computedRight,n=0,i=0,a=0;a<3;++a)i+=e[a]*r[a],n+=e[a]*e[a];var l=Math.sqrt(n),c=0;for(a=0;a<3;++a)r[a]-=e[a]*i/n,c+=r[a]*r[a],e[a]/=l;var f=Math.sqrt(c);for(a=0;a<3;++a)r[a]/=f;var h=this.computedToward;o(h,e,r),s(h,h);var p=Math.exp(this.computedRadius[0]),d=this.computedAngle[0],v=this.computedAngle[1],g=Math.cos(d),y=Math.sin(d),m=Math.cos(v),x=Math.sin(v),b=this.computedCenter,_=g*m,w=y*m,T=x,k=-g*x,A=-y*x,M=m,S=this.computedEye,E=this.computedMatrix;for(a=0;a<3;++a){var L=_*r[a]+w*h[a]+T*e[a];E[4*a+1]=k*r[a]+A*h[a]+M*e[a],E[4*a+2]=L,E[4*a+3]=0}var C=E[1],P=E[5],O=E[9],I=E[2],D=E[6],z=E[10],R=P*z-O*D,F=O*I-C*z,B=C*D-P*I,N=u(R,F,B);for(R/=N,F/=N,B/=N,E[0]=R,E[4]=F,E[8]=B,a=0;a<3;++a)S[a]=b[a]+E[2+4*a]*p;for(a=0;a<3;++a){c=0;for(var j=0;j<3;++j)c+=E[a+4*j]*S[j];E[12+a]=-c}E[15]=1},p.getMatrix=function(t,e){this.recalcMatrix(t);var r=this.computedMatrix;if(e){for(var n=0;n<16;++n)e[n]=r[n];return e}return r};var d=[0,0,0];p.rotate=function(t,e,r,n){if(this.angle.move(t,e,r),n){this.recalcMatrix(t);var i=this.computedMatrix;d[0]=i[2],d[1]=i[6],d[2]=i[10];for(var o=this.computedUp,s=this.computedRight,l=this.computedToward,u=0;u<3;++u)i[4*u]=o[u],i[4*u+1]=s[u],i[4*u+2]=l[u];for(a(i,i,n,d),u=0;u<3;++u)o[u]=i[4*u],s[u]=i[4*u+1];this.up.set(t,o[0],o[1],o[2]),this.right.set(t,s[0],s[1],s[2])}},p.pan=function(t,e,r,n){e=e||0,r=r||0,n=n||0,this.recalcMatrix(t);var i=this.computedMatrix,a=(Math.exp(this.computedRadius[0]),i[1]),o=i[5],s=i[9],l=u(a,o,s);a/=l,o/=l,s/=l;var c=i[0],f=i[4],h=i[8],p=c*a+f*o+h*s,d=u(c-=a*p,f-=o*p,h-=s*p),v=(c/=d)*e+a*r,g=(f/=d)*e+o*r,y=(h/=d)*e+s*r;this.center.move(t,v,g,y);var m=Math.exp(this.computedRadius[0]);m=Math.max(1e-4,m+n),this.radius.set(t,Math.log(m))},p.translate=function(t,e,r,n){this.center.move(t,e||0,r||0,n||0)},p.setMatrix=function(t,e,r,n){var a=1;"number"==typeof r&&(a=0|r),(a<0||a>3)&&(a=1);var o=(a+2)%3;e||(this.recalcMatrix(t),e=this.computedMatrix);var s=e[a],l=e[a+4],f=e[a+8];if(n){var h=Math.abs(s),p=Math.abs(l),d=Math.abs(f),v=Math.max(h,p,d);h===v?(s=s<0?-1:1,l=f=0):d===v?(f=f<0?-1:1,s=l=0):(l=l<0?-1:1,s=f=0)}else{var g=u(s,l,f);s/=g,l/=g,f/=g}var y,m,x=e[o],b=e[o+4],_=e[o+8],w=x*s+b*l+_*f,T=u(x-=s*w,b-=l*w,_-=f*w),k=l*(_/=T)-f*(b/=T),A=f*(x/=T)-s*_,M=s*b-l*x,S=u(k,A,M);if(k/=S,A/=S,M/=S,this.center.jump(t,q,G,Z),this.radius.idle(t),this.up.jump(t,s,l,f),this.right.jump(t,x,b,_),2===a){var E=e[1],L=e[5],C=e[9],P=E*x+L*b+C*_,O=E*k+L*A+C*M;y=R<0?-Math.PI/2:Math.PI/2,m=Math.atan2(O,P)}else{var I=e[2],D=e[6],z=e[10],R=I*s+D*l+z*f,F=I*x+D*b+z*_,B=I*k+D*A+z*M;y=Math.asin(c(R)),m=Math.atan2(B,F)}this.angle.jump(t,m,y),this.recalcMatrix(t);var N=e[2],j=e[6],U=e[10],V=this.computedMatrix;i(V,e);var H=V[15],q=V[12]/H,G=V[13]/H,Z=V[14]/H,Y=Math.exp(this.computedRadius[0]);this.center.jump(t,q-N*Y,G-j*Y,Z-U*Y)},p.lastT=function(){return Math.max(this.center.lastT(),this.up.lastT(),this.right.lastT(),this.radius.lastT(),this.angle.lastT())},p.idle=function(t){this.center.idle(t),this.up.idle(t),this.right.idle(t),this.radius.idle(t),this.angle.idle(t)},p.flush=function(t){this.center.flush(t),this.up.flush(t),this.right.flush(t),this.radius.flush(t),this.angle.flush(t)},p.setDistance=function(t,e){e>0&&this.radius.set(t,Math.log(e))},p.lookAt=function(t,e,r,n){this.recalcMatrix(t),e=e||this.computedEye,r=r||this.computedCenter;var i=(n=n||this.computedUp)[0],a=n[1],o=n[2],s=u(i,a,o);if(!(s<1e-6)){i/=s,a/=s,o/=s;var l=e[0]-r[0],f=e[1]-r[1],h=e[2]-r[2],p=u(l,f,h);if(!(p<1e-6)){l/=p,f/=p,h/=p;var d=this.computedRight,v=d[0],g=d[1],y=d[2],m=i*v+a*g+o*y,x=u(v-=m*i,g-=m*a,y-=m*o);if(!(x<.01&&(x=u(v=a*h-o*f,g=o*l-i*h,y=i*f-a*l))<1e-6)){v/=x,g/=x,y/=x,this.up.set(t,i,a,o),this.right.set(t,v,g,y),this.center.set(t,r[0],r[1],r[2]),this.radius.set(t,Math.log(p));var b=a*y-o*g,_=o*v-i*y,w=i*g-a*v,T=u(b,_,w),k=i*l+a*f+o*h,A=v*l+g*f+y*h,M=(b/=T)*l+(_/=T)*f+(w/=T)*h,S=Math.asin(c(k)),E=Math.atan2(M,A),L=this.angle._state,C=L[L.length-1],P=L[L.length-2];C%=2*Math.PI;var O=Math.abs(C+2*Math.PI-E),I=Math.abs(C-E),D=Math.abs(C-2*Math.PI-E);O<I&&(C+=2*Math.PI),D<I&&(C-=2*Math.PI),this.angle.jump(this.angle.lastT(),C,P),this.angle.set(t,E,S)}}}}},9660:function(t){"use strict";t.exports=function(t,r,n){var i=t*r,a=e*t,o=a-(a-t),s=t-o,l=e*r,u=l-(l-r),c=r-u,f=s*c-(i-o*u-s*u-o*c);return n?(n[0]=f,n[1]=i,n):[f,i]};var e=+(Math.pow(2,27)+1)},87:function(t){"use strict";t.exports=function(t,e,r){var n=t+e,i=n-t,a=e-i,o=t-(n-i);return r?(r[0]=o+a,r[1]=n,r):[o+a,n]}},5306:function(t,e,r){"use strict";var n=r(2288),i=r(3094),a=r(2146).lW;r.g.__TYPEDARRAY_POOL||(r.g.__TYPEDARRAY_POOL={UINT8:i([32,0]),UINT16:i([32,0]),UINT32:i([32,0]),BIGUINT64:i([32,0]),INT8:i([32,0]),INT16:i([32,0]),INT32:i([32,0]),BIGINT64:i([32,0]),FLOAT:i([32,0]),DOUBLE:i([32,0]),DATA:i([32,0]),UINT8C:i([32,0]),BUFFER:i([32,0])});var o="undefined"!=typeof Uint8ClampedArray,s="undefined"!=typeof BigUint64Array,l="undefined"!=typeof BigInt64Array,u=r.g.__TYPEDARRAY_POOL;u.UINT8C||(u.UINT8C=i([32,0])),u.BIGUINT64||(u.BIGUINT64=i([32,0])),u.BIGINT64||(u.BIGINT64=i([32,0])),u.BUFFER||(u.BUFFER=i([32,0]));var c=u.DATA,f=u.BUFFER;function h(t){if(t){var e=t.length||t.byteLength,r=n.log2(e);c[r].push(t)}}function p(t){t=n.nextPow2(t);var e=n.log2(t),r=c[e];return r.length>0?r.pop():new ArrayBuffer(t)}function d(t){return new Uint8Array(p(t),0,t)}function v(t){return new Uint16Array(p(2*t),0,t)}function g(t){return new Uint32Array(p(4*t),0,t)}function y(t){return new Int8Array(p(t),0,t)}function m(t){return new Int16Array(p(2*t),0,t)}function x(t){return new Int32Array(p(4*t),0,t)}function b(t){return new Float32Array(p(4*t),0,t)}function _(t){return new Float64Array(p(8*t),0,t)}function w(t){return o?new Uint8ClampedArray(p(t),0,t):d(t)}function T(t){return s?new BigUint64Array(p(8*t),0,t):null}function k(t){return l?new BigInt64Array(p(8*t),0,t):null}function A(t){return new DataView(p(t),0,t)}function M(t){t=n.nextPow2(t);var e=n.log2(t),r=f[e];return r.length>0?r.pop():new a(t)}e.free=function(t){if(a.isBuffer(t))f[n.log2(t.length)].push(t);else{if("[object ArrayBuffer]"!==Object.prototype.toString.call(t)&&(t=t.buffer),!t)return;var e=t.length||t.byteLength,r=0|n.log2(e);c[r].push(t)}},e.freeUint8=e.freeUint16=e.freeUint32=e.freeBigUint64=e.freeInt8=e.freeInt16=e.freeInt32=e.freeBigInt64=e.freeFloat32=e.freeFloat=e.freeFloat64=e.freeDouble=e.freeUint8Clamped=e.freeDataView=function(t){h(t.buffer)},e.freeArrayBuffer=h,e.freeBuffer=function(t){f[n.log2(t.length)].push(t)},e.malloc=function(t,e){if(void 0===e||"arraybuffer"===e)return p(t);switch(e){case"uint8":return d(t);case"uint16":return v(t);case"uint32":return g(t);case"int8":return y(t);case"int16":return m(t);case"int32":return x(t);case"float":case"float32":return b(t);case"double":case"float64":return _(t);case"uint8_clamped":return w(t);case"bigint64":return k(t);case"biguint64":return T(t);case"buffer":return M(t);case"data":case"dataview":return A(t);default:return null}return null},e.mallocArrayBuffer=p,e.mallocUint8=d,e.mallocUint16=v,e.mallocUint32=g,e.mallocInt8=y,e.mallocInt16=m,e.mallocInt32=x,e.mallocFloat32=e.mallocFloat=b,e.mallocFloat64=e.mallocDouble=_,e.mallocUint8Clamped=w,e.mallocBigUint64=T,e.mallocBigInt64=k,e.mallocDataView=A,e.mallocBuffer=M,e.clearCache=function(){for(var t=0;t<32;++t)u.UINT8[t].length=0,u.UINT16[t].length=0,u.UINT32[t].length=0,u.INT8[t].length=0,u.INT16[t].length=0,u.INT32[t].length=0,u.FLOAT[t].length=0,u.DOUBLE[t].length=0,u.BIGUINT64[t].length=0,u.BIGINT64[t].length=0,u.UINT8C[t].length=0,c[t].length=0,f[t].length=0}},1731:function(t){"use strict";function e(t){this.roots=new Array(t),this.ranks=new Array(t);for(var e=0;e<t;++e)this.roots[e]=e,this.ranks[e]=0}t.exports=e;var r=e.prototype;Object.defineProperty(r,"length",{get:function(){return this.roots.length}}),r.makeSet=function(){var t=this.roots.length;return this.roots.push(t),this.ranks.push(0),t},r.find=function(t){for(var e=t,r=this.roots;r[t]!==t;)t=r[t];for(;r[e]!==t;){var n=r[e];r[e]=t,e=n}return t},r.link=function(t,e){var r=this.find(t),n=this.find(e);if(r!==n){var i=this.ranks,a=this.roots,o=i[r],s=i[n];o<s?a[r]=n:s<o?a[n]=r:(a[n]=r,++i[r])}}},1215:function(t){"use strict";t.exports=function(t,e,r){return 0===t.length?t:e?(r||t.sort(e),function(t,e){for(var r=1,n=t.length,i=t[0],a=t[0],o=1;o<n;++o)if(a=i,e(i=t[o],a)){if(o===r){r++;continue}t[r++]=i}return t.length=r,t}(t,e)):(r||t.sort(),function(t){for(var e=1,r=t.length,n=t[0],i=t[0],a=1;a<r;++a,i=n)if(i=n,(n=t[a])!==i){if(a===e){e++;continue}t[e++]=n}return t.length=e,t}(t))}},875:function(t,e,r){"use strict";t.exports=function(t,e){return"object"==typeof e&&null!==e||(e={}),n(t,e.canvas||i,e.context||a,e)};var n=r(712),i=null,a=null;"undefined"!=typeof document&&((i=document.createElement("canvas")).width=8192,i.height=1024,a=i.getContext("2d"))},712:function(t,e,r){t.exports=function(t,e,r,n){var a=64,o=1.25,s={breaklines:!1,bolds:!1,italics:!1,subscripts:!1,superscripts:!1};return n&&(n.size&&n.size>0&&(a=n.size),n.lineSpacing&&n.lineSpacing>0&&(o=n.lineSpacing),n.styletags&&n.styletags.breaklines&&(s.breaklines=!!n.styletags.breaklines),n.styletags&&n.styletags.bolds&&(s.bolds=!!n.styletags.bolds),n.styletags&&n.styletags.italics&&(s.italics=!!n.styletags.italics),n.styletags&&n.styletags.subscripts&&(s.subscripts=!!n.styletags.subscripts),n.styletags&&n.styletags.superscripts&&(s.superscripts=!!n.styletags.superscripts)),r.font=[n.fontStyle,n.fontVariant,n.fontWeight,a+"px",n.font].filter((function(t){return t})).join(" "),r.textAlign="start",r.textBaseline="alphabetic",r.direction="ltr",d(function(t,e,r,n,a,o){r=r.replace(/\n/g,""),r=!0===o.breaklines?r.replace(/\<br\>/g,"\n"):r.replace(/\<br\>/g," ");var s="",l=[];for(v=0;v<r.length;++v)l[v]=s;!0===o.bolds&&(l=f("b",u,r,l)),!0===o.italics&&(l=f("i",c,r,l)),!0===o.superscripts&&(l=f("sup","+1",r,l)),!0===o.subscripts&&(l=f("sub","-1",r,l));var h=[],p="";for(v=0;v<r.length;++v)null!==l[v]&&(p+=r[v],h.push(l[v]));var d,v,g,y,m,x=p.split("\n"),b=x.length,_=Math.round(a*n),w=n,T=2*n,k=0,A=b*_+T;t.height<A&&(t.height=A),e.fillStyle="#000",e.fillRect(0,0,t.width,t.height),e.fillStyle="#fff";var M=0,S="";function E(){if(""!==S){var t=e.measureText(S).width;e.fillText(S,w+g,T+y),g+=t}}function L(){return Math.round(m)+"px "}function C(t,r){var n=""+e.font;if(!0===o.subscripts){var i=t.indexOf("-"),a=r.indexOf("-"),s=i>-1?parseInt(t[1+i]):0,l=a>-1?parseInt(r[1+a]):0;s!==l&&(n=n.replace(L(),"?px "),m*=Math.pow(.75,l-s),n=n.replace("?px ",L())),y+=.25*_*(l-s)}if(!0===o.superscripts){var f=t.indexOf("+"),h=r.indexOf("+"),p=f>-1?parseInt(t[1+f]):0,d=h>-1?parseInt(r[1+h]):0;p!==d&&(n=n.replace(L(),"?px "),m*=Math.pow(.75,d-p),n=n.replace("?px ",L())),y-=.25*_*(d-p)}if(!0===o.bolds){var v=t.indexOf(u)>-1,g=r.indexOf(u)>-1;!v&&g&&(n=x?n.replace("italic ","italic bold "):"bold "+n),v&&!g&&(n=n.replace("bold ",""))}if(!0===o.italics){var x=t.indexOf(c)>-1,b=r.indexOf(c)>-1;!x&&b&&(n="italic "+n),x&&!b&&(n=n.replace("italic ",""))}e.font=n}for(d=0;d<b;++d){var P=x[d]+"\n";for(g=0,y=d*_,m=n,S="",v=0;v<P.length;++v){var O=v+M<h.length?h[v+M]:h[h.length-1];s===O?S+=P[v]:(E(),S=P[v],void 0!==O&&(C(s,O),s=O))}E(),M+=P.length;var I=0|Math.round(g+2*w);k<I&&(k=I)}var D=k,z=T+_*b;return i(e.getImageData(0,0,D,z).data,[z,D,4]).pick(-1,-1,0).transpose(1,0)}(e,r,t,a,o,s),n,a)},t.exports.processPixels=d;var n=r(4162),i=r(5050),a=r(8243),o=r(197),s=r(7761),l=r(8040),u="b|",c="i|";function f(t,e,r,n){for(var i="<"+t+">",a="</"+t+">",o=i.length,s=a.length,l="+"===e[0]||"-"===e[0],u=0,c=-s;u>-1&&-1!==(u=r.indexOf(i,u))&&-1!==(c=r.indexOf(a,u+o))&&!(c<=u);){for(var f=u;f<c+s;++f)if(f<u+o||f>=c)n[f]=null,r=r.substr(0,f)+" "+r.substr(f+1);else if(null!==n[f]){var h=n[f].indexOf(e[0]);-1===h?n[f]+=e:l&&(n[f]=n[f].substr(0,h+1)+(1+parseInt(n[f][h+1]))+n[f].substr(h+2))}var p=u+o,d=r.substr(p,c-p).indexOf(i);u=-1!==d?d:c+s}return n}function h(t,e){var r=n(t,128);return e?a(r.cells,r.positions,.25):{edges:r.cells,positions:r.positions}}function p(t,e,r,n){var i=h(t,n),a=function(t,e,r){for(var n=e.textAlign||"start",i=e.textBaseline||"alphabetic",a=[1<<30,1<<30],o=[0,0],s=t.length,l=0;l<s;++l)for(var u=t[l],c=0;c<2;++c)a[c]=0|Math.min(a[c],u[c]),o[c]=0|Math.max(o[c],u[c]);var f=0;switch(n){case"center":f=-.5*(a[0]+o[0]);break;case"right":case"end":f=-o[0];break;case"left":case"start":f=-a[0];break;default:throw new Error("vectorize-text: Unrecognized textAlign: '"+n+"'")}var h=0;switch(i){case"hanging":case"top":h=-a[1];break;case"middle":h=-.5*(a[1]+o[1]);break;case"alphabetic":case"ideographic":h=-3*r;break;case"bottom":h=-o[1];break;default:throw new Error("vectorize-text: Unrecoginized textBaseline: '"+i+"'")}var p=1/r;return"lineHeight"in e?p*=+e.lineHeight:"width"in e?p=e.width/(o[0]-a[0]):"height"in e&&(p=e.height/(o[1]-a[1])),t.map((function(t){return[p*(t[0]+f),p*(t[1]+h)]}))}(i.positions,e,r),u=i.edges,c="ccw"===e.orientation;if(o(a,u),e.polygons||e.polygon||e.polyline){for(var f=l(u,a),p=new Array(f.length),d=0;d<f.length;++d){for(var v=f[d],g=new Array(v.length),y=0;y<v.length;++y){for(var m=v[y],x=new Array(m.length),b=0;b<m.length;++b)x[b]=a[m[b]].slice();c&&x.reverse(),g[y]=x}p[d]=g}return p}return e.triangles||e.triangulate||e.triangle?{cells:s(a,u,{delaunay:!1,exterior:!1,interior:!0}),positions:a}:{edges:u,positions:a}}function d(t,e,r){try{return p(t,e,r,!0)}catch(t){}try{return p(t,e,r,!1)}catch(t){}return e.polygons||e.polyline||e.polygon?[]:e.triangles||e.triangulate||e.triangle?{cells:[],positions:[]}:{edges:[],positions:[]}}},5346:function(t){!function(){"use strict";if("undefined"==typeof ses||!ses.ok||ses.ok()){"undefined"!=typeof ses&&(ses.weakMapPermitHostObjects=g);var e=!1;if("function"==typeof WeakMap){var r=WeakMap;if("undefined"!=typeof navigator&&/Firefox/.test(navigator.userAgent));else{var n=new r,i=Object.freeze({});if(n.set(i,1),1===n.get(i))return void(t.exports=WeakMap);e=!0}}Object.prototype.hasOwnProperty;var a=Object.getOwnPropertyNames,o=Object.defineProperty,s=Object.isExtensible,l="weakmap:",u="weakmap:ident:"+Math.random()+"___";if("undefined"!=typeof crypto&&"function"==typeof crypto.getRandomValues&&"function"==typeof ArrayBuffer&&"function"==typeof Uint8Array){var c=new ArrayBuffer(25),f=new Uint8Array(c);crypto.getRandomValues(f),u="weakmap:rand:"+Array.prototype.map.call(f,(function(t){return(t%36).toString(36)})).join("")+"___"}if(o(Object,"getOwnPropertyNames",{value:function(t){return a(t).filter(y)}}),"getPropertyNames"in Object){var h=Object.getPropertyNames;o(Object,"getPropertyNames",{value:function(t){return h(t).filter(y)}})}!function(){var t=Object.freeze;o(Object,"freeze",{value:function(e){return m(e),t(e)}});var e=Object.seal;o(Object,"seal",{value:function(t){return m(t),e(t)}});var r=Object.preventExtensions;o(Object,"preventExtensions",{value:function(t){return m(t),r(t)}})}();var p=!1,d=0,v=function(){this instanceof v||b();var t=[],e=[],r=d++;return Object.create(v.prototype,{get___:{value:x((function(n,i){var a,o=m(n);return o?r in o?o[r]:i:(a=t.indexOf(n))>=0?e[a]:i}))},has___:{value:x((function(e){var n=m(e);return n?r in n:t.indexOf(e)>=0}))},set___:{value:x((function(n,i){var a,o=m(n);return o?o[r]=i:(a=t.indexOf(n))>=0?e[a]=i:(a=t.length,e[a]=i,t[a]=n),this}))},delete___:{value:x((function(n){var i,a,o=m(n);return o?r in o&&delete o[r]:!((i=t.indexOf(n))<0||(a=t.length-1,t[i]=void 0,e[i]=e[a],t[i]=t[a],t.length=a,e.length=a,0))}))}})};v.prototype=Object.create(Object.prototype,{get:{value:function(t,e){return this.get___(t,e)},writable:!0,configurable:!0},has:{value:function(t){return this.has___(t)},writable:!0,configurable:!0},set:{value:function(t,e){return this.set___(t,e)},writable:!0,configurable:!0},delete:{value:function(t){return this.delete___(t)},writable:!0,configurable:!0}}),"function"==typeof r?function(){function n(){this instanceof v||b();var t,n=new r,i=void 0,a=!1;return t=e?function(t,e){return n.set(t,e),n.has(t)||(i||(i=new v),i.set(t,e)),this}:function(t,e){if(a)try{n.set(t,e)}catch(r){i||(i=new v),i.set___(t,e)}else n.set(t,e);return this},Object.create(v.prototype,{get___:{value:x((function(t,e){return i?n.has(t)?n.get(t):i.get___(t,e):n.get(t,e)}))},has___:{value:x((function(t){return n.has(t)||!!i&&i.has___(t)}))},set___:{value:x(t)},delete___:{value:x((function(t){var e=!!n.delete(t);return i&&i.delete___(t)||e}))},permitHostObjects___:{value:x((function(t){if(t!==g)throw new Error("bogus call to permitHostObjects___");a=!0}))}})}e&&"undefined"!=typeof Proxy&&(Proxy=void 0),n.prototype=v.prototype,t.exports=n,Object.defineProperty(WeakMap.prototype,"constructor",{value:WeakMap,enumerable:!1,configurable:!0,writable:!0})}():("undefined"!=typeof Proxy&&(Proxy=void 0),t.exports=v)}function g(t){t.permitHostObjects___&&t.permitHostObjects___(g)}function y(t){return!(t.substr(0,l.length)==l&&"___"===t.substr(t.length-3))}function m(t){if(t!==Object(t))throw new TypeError("Not an object: "+t);var e=t[u];if(e&&e.key===t)return e;if(s(t)){e={key:t};try{return o(t,u,{value:e,writable:!1,enumerable:!1,configurable:!1}),e}catch(t){return}}}function x(t){return t.prototype=null,Object.freeze(t)}function b(){p||"undefined"==typeof console||(p=!0,console.warn("WeakMap should be invoked as new WeakMap(), not WeakMap(). This will be an error in the future."))}}()},9222:function(t,e,r){var n=r(7178);t.exports=function(){var t={};return function(e){if(("object"!=typeof e||null===e)&&"function"!=typeof e)throw new Error("Weakmap-shim: Key must be object");var r=e.valueOf(t);return r&&r.identity===t?r:n(e,t)}}},7178:function(t){t.exports=function(t,e){var r={identity:e},n=t.valueOf;return Object.defineProperty(t,"valueOf",{value:function(t){return t!==e?n.apply(this,arguments):r},writable:!0}),r}},4037:function(t,e,r){var n=r(9222);t.exports=function(){var t=n();return{get:function(e,r){var n=t(e);return n.hasOwnProperty("value")?n.value:r},set:function(e,r){return t(e).value=r,this},has:function(e){return"value"in t(e)},delete:function(e){return delete t(e).value}}}},6183:function(t){"use strict";t.exports=function(t){var e={};return function(r,n,i){var a=r.dtype,o=r.order,s=[a,o.join()].join(),l=e[s];return l||(e[s]=l=t([a,o])),l(r.shape.slice(0),r.data,r.stride,0|r.offset,n,i)}}(function(){return function(t,e,r,n,i,a){var o=t[0],s=r[0],l=[0],u=s;n|=0;var c=0,f=s;for(c=0;c<o;++c){var h=e[n]-a,p=e[n+u]-a;h>=0!=p>=0&&i.push(l[0]+.5+.5*(h+p)/(h-p)),n+=f,++l[0]}}}.bind(void 0,{funcName:"zeroCrossings"}))},9584:function(t,e,r){"use strict";t.exports=function(t,e){var r=[];return e=+e||0,n(t.hi(t.shape[0]-1),r,e),r};var n=r(6183)},6601:function(){}},e={};function r(n){var i=e[n];if(void 0!==i)return i.exports;var a=e[n]={id:n,loaded:!1,exports:{}};return t[n].call(a.exports,a,a.exports,r),a.loaded=!0,a.exports}return r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),r.nmd=function(t){return t.paths=[],t.children||(t.children=[]),t},r(7386)}()},t.exports=n()},12856:function(t,e,r){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function i(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function a(t,e){return a=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},a(t,e)}function o(t,e){if(e&&("object"===u(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return s(t)}function s(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function l(t){return l=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},l(t)}function u(t){return u="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},u(t)}var c=r(95341),f=r(95280),h="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;e.Buffer=v,e.SlowBuffer=function(t){return+t!=t&&(t=0),v.alloc(+t)},e.INSPECT_MAX_BYTES=50;var p=2147483647;function d(t){if(t>p)throw new RangeError('The value "'+t+'" is invalid for option "size"');var e=new Uint8Array(t);return Object.setPrototypeOf(e,v.prototype),e}function v(t,e,r){if("number"==typeof t){if("string"==typeof e)throw new TypeError('The "string" argument must be of type string. Received type number');return m(t)}return g(t,e,r)}function g(t,e,r){if("string"==typeof t)return function(t,e){if("string"==typeof e&&""!==e||(e="utf8"),!v.isEncoding(e))throw new TypeError("Unknown encoding: "+e);var r=0|w(t,e),n=d(r),i=n.write(t,e);return i!==r&&(n=n.slice(0,i)),n}(t,e);if(ArrayBuffer.isView(t))return function(t){if(rt(t,Uint8Array)){var e=new Uint8Array(t);return b(e.buffer,e.byteOffset,e.byteLength)}return x(t)}(t);if(null==t)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+u(t));if(rt(t,ArrayBuffer)||t&&rt(t.buffer,ArrayBuffer))return b(t,e,r);if("undefined"!=typeof SharedArrayBuffer&&(rt(t,SharedArrayBuffer)||t&&rt(t.buffer,SharedArrayBuffer)))return b(t,e,r);if("number"==typeof t)throw new TypeError('The "value" argument must not be of type number. Received type number');var n=t.valueOf&&t.valueOf();if(null!=n&&n!==t)return v.from(n,e,r);var i=function(t){if(v.isBuffer(t)){var e=0|_(t.length),r=d(e);return 0===r.length||t.copy(r,0,0,e),r}return void 0!==t.length?"number"!=typeof t.length||nt(t.length)?d(0):x(t):"Buffer"===t.type&&Array.isArray(t.data)?x(t.data):void 0}(t);if(i)return i;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof t[Symbol.toPrimitive])return v.from(t[Symbol.toPrimitive]("string"),e,r);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+u(t))}function y(t){if("number"!=typeof t)throw new TypeError('"size" argument must be of type number');if(t<0)throw new RangeError('The value "'+t+'" is invalid for option "size"')}function m(t){return y(t),d(t<0?0:0|_(t))}function x(t){for(var e=t.length<0?0:0|_(t.length),r=d(e),n=0;n<e;n+=1)r[n]=255&t[n];return r}function b(t,e,r){if(e<0||t.byteLength<e)throw new RangeError('"offset" is outside of buffer bounds');if(t.byteLength<e+(r||0))throw new RangeError('"length" is outside of buffer bounds');var n;return n=void 0===e&&void 0===r?new Uint8Array(t):void 0===r?new Uint8Array(t,e):new Uint8Array(t,e,r),Object.setPrototypeOf(n,v.prototype),n}function _(t){if(t>=p)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+p.toString(16)+" bytes");return 0|t}function w(t,e){if(v.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||rt(t,ArrayBuffer))return t.byteLength;if("string"!=typeof t)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+u(t));var r=t.length,n=arguments.length>2&&!0===arguments[2];if(!n&&0===r)return 0;for(var i=!1;;)switch(e){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return Q(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return tt(t).length;default:if(i)return n?-1:Q(t).length;e=(""+e).toLowerCase(),i=!0}}function T(t,e,r){var n=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if((r>>>=0)<=(e>>>=0))return"";for(t||(t="utf8");;)switch(t){case"hex":return F(this,e,r);case"utf8":case"utf-8":return I(this,e,r);case"ascii":return z(this,e,r);case"latin1":case"binary":return R(this,e,r);case"base64":return O(this,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return B(this,e,r);default:if(n)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),n=!0}}function k(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function A(t,e,r,n,i){if(0===t.length)return-1;if("string"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),nt(r=+r)&&(r=i?0:t.length-1),r<0&&(r=t.length+r),r>=t.length){if(i)return-1;r=t.length-1}else if(r<0){if(!i)return-1;r=0}if("string"==typeof e&&(e=v.from(e,n)),v.isBuffer(e))return 0===e.length?-1:M(t,e,r,n,i);if("number"==typeof e)return e&=255,"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(t,e,r):Uint8Array.prototype.lastIndexOf.call(t,e,r):M(t,[e],r,n,i);throw new TypeError("val must be string, number or Buffer")}function M(t,e,r,n,i){var a,o=1,s=t.length,l=e.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(t.length<2||e.length<2)return-1;o=2,s/=2,l/=2,r/=2}function u(t,e){return 1===o?t[e]:t.readUInt16BE(e*o)}if(i){var c=-1;for(a=r;a<s;a++)if(u(t,a)===u(e,-1===c?0:a-c)){if(-1===c&&(c=a),a-c+1===l)return c*o}else-1!==c&&(a-=a-c),c=-1}else for(r+l>s&&(r=s-l),a=r;a>=0;a--){for(var f=!0,h=0;h<l;h++)if(u(t,a+h)!==u(e,h)){f=!1;break}if(f)return a}return-1}function S(t,e,r,n){r=Number(r)||0;var i=t.length-r;n?(n=Number(n))>i&&(n=i):n=i;var a,o=e.length;for(n>o/2&&(n=o/2),a=0;a<n;++a){var s=parseInt(e.substr(2*a,2),16);if(nt(s))return a;t[r+a]=s}return a}function E(t,e,r,n){return et(Q(e,t.length-r),t,r,n)}function L(t,e,r,n){return et(function(t){for(var e=[],r=0;r<t.length;++r)e.push(255&t.charCodeAt(r));return e}(e),t,r,n)}function C(t,e,r,n){return et(tt(e),t,r,n)}function P(t,e,r,n){return et(function(t,e){for(var r,n,i,a=[],o=0;o<t.length&&!((e-=2)<0);++o)n=(r=t.charCodeAt(o))>>8,i=r%256,a.push(i),a.push(n);return a}(e,t.length-r),t,r,n)}function O(t,e,r){return 0===e&&r===t.length?c.fromByteArray(t):c.fromByteArray(t.slice(e,r))}function I(t,e,r){r=Math.min(t.length,r);for(var n=[],i=e;i<r;){var a=t[i],o=null,s=a>239?4:a>223?3:a>191?2:1;if(i+s<=r){var l=void 0,u=void 0,c=void 0,f=void 0;switch(s){case 1:a<128&&(o=a);break;case 2:128==(192&(l=t[i+1]))&&(f=(31&a)<<6|63&l)>127&&(o=f);break;case 3:l=t[i+1],u=t[i+2],128==(192&l)&&128==(192&u)&&(f=(15&a)<<12|(63&l)<<6|63&u)>2047&&(f<55296||f>57343)&&(o=f);break;case 4:l=t[i+1],u=t[i+2],c=t[i+3],128==(192&l)&&128==(192&u)&&128==(192&c)&&(f=(15&a)<<18|(63&l)<<12|(63&u)<<6|63&c)>65535&&f<1114112&&(o=f)}}null===o?(o=65533,s=1):o>65535&&(o-=65536,n.push(o>>>10&1023|55296),o=56320|1023&o),n.push(o),i+=s}return function(t){var e=t.length;if(e<=D)return String.fromCharCode.apply(String,t);for(var r="",n=0;n<e;)r+=String.fromCharCode.apply(String,t.slice(n,n+=D));return r}(n)}e.kMaxLength=p,v.TYPED_ARRAY_SUPPORT=function(){try{var t=new Uint8Array(1),e={foo:function(){return 42}};return Object.setPrototypeOf(e,Uint8Array.prototype),Object.setPrototypeOf(t,e),42===t.foo()}catch(t){return!1}}(),v.TYPED_ARRAY_SUPPORT||"undefined"==typeof console||"function"!=typeof console.error||console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support."),Object.defineProperty(v.prototype,"parent",{enumerable:!0,get:function(){if(v.isBuffer(this))return this.buffer}}),Object.defineProperty(v.prototype,"offset",{enumerable:!0,get:function(){if(v.isBuffer(this))return this.byteOffset}}),v.poolSize=8192,v.from=function(t,e,r){return g(t,e,r)},Object.setPrototypeOf(v.prototype,Uint8Array.prototype),Object.setPrototypeOf(v,Uint8Array),v.alloc=function(t,e,r){return function(t,e,r){return y(t),t<=0?d(t):void 0!==e?"string"==typeof r?d(t).fill(e,r):d(t).fill(e):d(t)}(t,e,r)},v.allocUnsafe=function(t){return m(t)},v.allocUnsafeSlow=function(t){return m(t)},v.isBuffer=function(t){return null!=t&&!0===t._isBuffer&&t!==v.prototype},v.compare=function(t,e){if(rt(t,Uint8Array)&&(t=v.from(t,t.offset,t.byteLength)),rt(e,Uint8Array)&&(e=v.from(e,e.offset,e.byteLength)),!v.isBuffer(t)||!v.isBuffer(e))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(t===e)return 0;for(var r=t.length,n=e.length,i=0,a=Math.min(r,n);i<a;++i)if(t[i]!==e[i]){r=t[i],n=e[i];break}return r<n?-1:n<r?1:0},v.isEncoding=function(t){switch(String(t).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},v.concat=function(t,e){if(!Array.isArray(t))throw new TypeError('"list" argument must be an Array of Buffers');if(0===t.length)return v.alloc(0);var r;if(void 0===e)for(e=0,r=0;r<t.length;++r)e+=t[r].length;var n=v.allocUnsafe(e),i=0;for(r=0;r<t.length;++r){var a=t[r];if(rt(a,Uint8Array))i+a.length>n.length?(v.isBuffer(a)||(a=v.from(a)),a.copy(n,i)):Uint8Array.prototype.set.call(n,a,i);else{if(!v.isBuffer(a))throw new TypeError('"list" argument must be an Array of Buffers');a.copy(n,i)}i+=a.length}return n},v.byteLength=w,v.prototype._isBuffer=!0,v.prototype.swap16=function(){var t=this.length;if(t%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var e=0;e<t;e+=2)k(this,e,e+1);return this},v.prototype.swap32=function(){var t=this.length;if(t%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var e=0;e<t;e+=4)k(this,e,e+3),k(this,e+1,e+2);return this},v.prototype.swap64=function(){var t=this.length;if(t%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var e=0;e<t;e+=8)k(this,e,e+7),k(this,e+1,e+6),k(this,e+2,e+5),k(this,e+3,e+4);return this},v.prototype.toString=function(){var t=this.length;return 0===t?"":0===arguments.length?I(this,0,t):T.apply(this,arguments)},v.prototype.toLocaleString=v.prototype.toString,v.prototype.equals=function(t){if(!v.isBuffer(t))throw new TypeError("Argument must be a Buffer");return this===t||0===v.compare(this,t)},v.prototype.inspect=function(){var t="",r=e.INSPECT_MAX_BYTES;return t=this.toString("hex",0,r).replace(/(.{2})/g,"$1 ").trim(),this.length>r&&(t+=" ... "),"<Buffer "+t+">"},h&&(v.prototype[h]=v.prototype.inspect),v.prototype.compare=function(t,e,r,n,i){if(rt(t,Uint8Array)&&(t=v.from(t,t.offset,t.byteLength)),!v.isBuffer(t))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+u(t));if(void 0===e&&(e=0),void 0===r&&(r=t?t.length:0),void 0===n&&(n=0),void 0===i&&(i=this.length),e<0||r>t.length||n<0||i>this.length)throw new RangeError("out of range index");if(n>=i&&e>=r)return 0;if(n>=i)return-1;if(e>=r)return 1;if(this===t)return 0;for(var a=(i>>>=0)-(n>>>=0),o=(r>>>=0)-(e>>>=0),s=Math.min(a,o),l=this.slice(n,i),c=t.slice(e,r),f=0;f<s;++f)if(l[f]!==c[f]){a=l[f],o=c[f];break}return a<o?-1:o<a?1:0},v.prototype.includes=function(t,e,r){return-1!==this.indexOf(t,e,r)},v.prototype.indexOf=function(t,e,r){return A(this,t,e,r,!0)},v.prototype.lastIndexOf=function(t,e,r){return A(this,t,e,r,!1)},v.prototype.write=function(t,e,r,n){if(void 0===e)n="utf8",r=this.length,e=0;else if(void 0===r&&"string"==typeof e)n=e,r=this.length,e=0;else{if(!isFinite(e))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");e>>>=0,isFinite(r)?(r>>>=0,void 0===n&&(n="utf8")):(n=r,r=void 0)}var i=this.length-e;if((void 0===r||r>i)&&(r=i),t.length>0&&(r<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var a=!1;;)switch(n){case"hex":return S(this,t,e,r);case"utf8":case"utf-8":return E(this,t,e,r);case"ascii":case"latin1":case"binary":return L(this,t,e,r);case"base64":return C(this,t,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return P(this,t,e,r);default:if(a)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),a=!0}},v.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var D=4096;function z(t,e,r){var n="";r=Math.min(t.length,r);for(var i=e;i<r;++i)n+=String.fromCharCode(127&t[i]);return n}function R(t,e,r){var n="";r=Math.min(t.length,r);for(var i=e;i<r;++i)n+=String.fromCharCode(t[i]);return n}function F(t,e,r){var n=t.length;(!e||e<0)&&(e=0),(!r||r<0||r>n)&&(r=n);for(var i="",a=e;a<r;++a)i+=it[t[a]];return i}function B(t,e,r){for(var n=t.slice(e,r),i="",a=0;a<n.length-1;a+=2)i+=String.fromCharCode(n[a]+256*n[a+1]);return i}function N(t,e,r){if(t%1!=0||t<0)throw new RangeError("offset is not uint");if(t+e>r)throw new RangeError("Trying to access beyond buffer length")}function j(t,e,r,n,i,a){if(!v.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>i||e<a)throw new RangeError('"value" argument is out of bounds');if(r+n>t.length)throw new RangeError("Index out of range")}function U(t,e,r,n,i){X(e,n,i,t,r,7);var a=Number(e&BigInt(4294967295));t[r++]=a,a>>=8,t[r++]=a,a>>=8,t[r++]=a,a>>=8,t[r++]=a;var o=Number(e>>BigInt(32)&BigInt(4294967295));return t[r++]=o,o>>=8,t[r++]=o,o>>=8,t[r++]=o,o>>=8,t[r++]=o,r}function V(t,e,r,n,i){X(e,n,i,t,r,7);var a=Number(e&BigInt(4294967295));t[r+7]=a,a>>=8,t[r+6]=a,a>>=8,t[r+5]=a,a>>=8,t[r+4]=a;var o=Number(e>>BigInt(32)&BigInt(4294967295));return t[r+3]=o,o>>=8,t[r+2]=o,o>>=8,t[r+1]=o,o>>=8,t[r]=o,r+8}function H(t,e,r,n,i,a){if(r+n>t.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function q(t,e,r,n,i){return e=+e,r>>>=0,i||H(t,0,r,4),f.write(t,e,r,n,23,4),r+4}function G(t,e,r,n,i){return e=+e,r>>>=0,i||H(t,0,r,8),f.write(t,e,r,n,52,8),r+8}v.prototype.slice=function(t,e){var r=this.length;(t=~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),(e=void 0===e?r:~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),e<t&&(e=t);var n=this.subarray(t,e);return Object.setPrototypeOf(n,v.prototype),n},v.prototype.readUintLE=v.prototype.readUIntLE=function(t,e,r){t>>>=0,e>>>=0,r||N(t,e,this.length);for(var n=this[t],i=1,a=0;++a<e&&(i*=256);)n+=this[t+a]*i;return n},v.prototype.readUintBE=v.prototype.readUIntBE=function(t,e,r){t>>>=0,e>>>=0,r||N(t,e,this.length);for(var n=this[t+--e],i=1;e>0&&(i*=256);)n+=this[t+--e]*i;return n},v.prototype.readUint8=v.prototype.readUInt8=function(t,e){return t>>>=0,e||N(t,1,this.length),this[t]},v.prototype.readUint16LE=v.prototype.readUInt16LE=function(t,e){return t>>>=0,e||N(t,2,this.length),this[t]|this[t+1]<<8},v.prototype.readUint16BE=v.prototype.readUInt16BE=function(t,e){return t>>>=0,e||N(t,2,this.length),this[t]<<8|this[t+1]},v.prototype.readUint32LE=v.prototype.readUInt32LE=function(t,e){return t>>>=0,e||N(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},v.prototype.readUint32BE=v.prototype.readUInt32BE=function(t,e){return t>>>=0,e||N(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},v.prototype.readBigUInt64LE=at((function(t){J(t>>>=0,"offset");var e=this[t],r=this[t+7];void 0!==e&&void 0!==r||K(t,this.length-8);var n=e+this[++t]*Math.pow(2,8)+this[++t]*Math.pow(2,16)+this[++t]*Math.pow(2,24),i=this[++t]+this[++t]*Math.pow(2,8)+this[++t]*Math.pow(2,16)+r*Math.pow(2,24);return BigInt(n)+(BigInt(i)<<BigInt(32))})),v.prototype.readBigUInt64BE=at((function(t){J(t>>>=0,"offset");var e=this[t],r=this[t+7];void 0!==e&&void 0!==r||K(t,this.length-8);var n=e*Math.pow(2,24)+this[++t]*Math.pow(2,16)+this[++t]*Math.pow(2,8)+this[++t],i=this[++t]*Math.pow(2,24)+this[++t]*Math.pow(2,16)+this[++t]*Math.pow(2,8)+r;return(BigInt(n)<<BigInt(32))+BigInt(i)})),v.prototype.readIntLE=function(t,e,r){t>>>=0,e>>>=0,r||N(t,e,this.length);for(var n=this[t],i=1,a=0;++a<e&&(i*=256);)n+=this[t+a]*i;return n>=(i*=128)&&(n-=Math.pow(2,8*e)),n},v.prototype.readIntBE=function(t,e,r){t>>>=0,e>>>=0,r||N(t,e,this.length);for(var n=e,i=1,a=this[t+--n];n>0&&(i*=256);)a+=this[t+--n]*i;return a>=(i*=128)&&(a-=Math.pow(2,8*e)),a},v.prototype.readInt8=function(t,e){return t>>>=0,e||N(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},v.prototype.readInt16LE=function(t,e){t>>>=0,e||N(t,2,this.length);var r=this[t]|this[t+1]<<8;return 32768&r?4294901760|r:r},v.prototype.readInt16BE=function(t,e){t>>>=0,e||N(t,2,this.length);var r=this[t+1]|this[t]<<8;return 32768&r?4294901760|r:r},v.prototype.readInt32LE=function(t,e){return t>>>=0,e||N(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},v.prototype.readInt32BE=function(t,e){return t>>>=0,e||N(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},v.prototype.readBigInt64LE=at((function(t){J(t>>>=0,"offset");var e=this[t],r=this[t+7];void 0!==e&&void 0!==r||K(t,this.length-8);var n=this[t+4]+this[t+5]*Math.pow(2,8)+this[t+6]*Math.pow(2,16)+(r<<24);return(BigInt(n)<<BigInt(32))+BigInt(e+this[++t]*Math.pow(2,8)+this[++t]*Math.pow(2,16)+this[++t]*Math.pow(2,24))})),v.prototype.readBigInt64BE=at((function(t){J(t>>>=0,"offset");var e=this[t],r=this[t+7];void 0!==e&&void 0!==r||K(t,this.length-8);var n=(e<<24)+this[++t]*Math.pow(2,16)+this[++t]*Math.pow(2,8)+this[++t];return(BigInt(n)<<BigInt(32))+BigInt(this[++t]*Math.pow(2,24)+this[++t]*Math.pow(2,16)+this[++t]*Math.pow(2,8)+r)})),v.prototype.readFloatLE=function(t,e){return t>>>=0,e||N(t,4,this.length),f.read(this,t,!0,23,4)},v.prototype.readFloatBE=function(t,e){return t>>>=0,e||N(t,4,this.length),f.read(this,t,!1,23,4)},v.prototype.readDoubleLE=function(t,e){return t>>>=0,e||N(t,8,this.length),f.read(this,t,!0,52,8)},v.prototype.readDoubleBE=function(t,e){return t>>>=0,e||N(t,8,this.length),f.read(this,t,!1,52,8)},v.prototype.writeUintLE=v.prototype.writeUIntLE=function(t,e,r,n){t=+t,e>>>=0,r>>>=0,n||j(this,t,e,r,Math.pow(2,8*r)-1,0);var i=1,a=0;for(this[e]=255&t;++a<r&&(i*=256);)this[e+a]=t/i&255;return e+r},v.prototype.writeUintBE=v.prototype.writeUIntBE=function(t,e,r,n){t=+t,e>>>=0,r>>>=0,n||j(this,t,e,r,Math.pow(2,8*r)-1,0);var i=r-1,a=1;for(this[e+i]=255&t;--i>=0&&(a*=256);)this[e+i]=t/a&255;return e+r},v.prototype.writeUint8=v.prototype.writeUInt8=function(t,e,r){return t=+t,e>>>=0,r||j(this,t,e,1,255,0),this[e]=255&t,e+1},v.prototype.writeUint16LE=v.prototype.writeUInt16LE=function(t,e,r){return t=+t,e>>>=0,r||j(this,t,e,2,65535,0),this[e]=255&t,this[e+1]=t>>>8,e+2},v.prototype.writeUint16BE=v.prototype.writeUInt16BE=function(t,e,r){return t=+t,e>>>=0,r||j(this,t,e,2,65535,0),this[e]=t>>>8,this[e+1]=255&t,e+2},v.prototype.writeUint32LE=v.prototype.writeUInt32LE=function(t,e,r){return t=+t,e>>>=0,r||j(this,t,e,4,4294967295,0),this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t,e+4},v.prototype.writeUint32BE=v.prototype.writeUInt32BE=function(t,e,r){return t=+t,e>>>=0,r||j(this,t,e,4,4294967295,0),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},v.prototype.writeBigUInt64LE=at((function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return U(this,t,e,BigInt(0),BigInt("0xffffffffffffffff"))})),v.prototype.writeBigUInt64BE=at((function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return V(this,t,e,BigInt(0),BigInt("0xffffffffffffffff"))})),v.prototype.writeIntLE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var i=Math.pow(2,8*r-1);j(this,t,e,r,i-1,-i)}var a=0,o=1,s=0;for(this[e]=255&t;++a<r&&(o*=256);)t<0&&0===s&&0!==this[e+a-1]&&(s=1),this[e+a]=(t/o>>0)-s&255;return e+r},v.prototype.writeIntBE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var i=Math.pow(2,8*r-1);j(this,t,e,r,i-1,-i)}var a=r-1,o=1,s=0;for(this[e+a]=255&t;--a>=0&&(o*=256);)t<0&&0===s&&0!==this[e+a+1]&&(s=1),this[e+a]=(t/o>>0)-s&255;return e+r},v.prototype.writeInt8=function(t,e,r){return t=+t,e>>>=0,r||j(this,t,e,1,127,-128),t<0&&(t=255+t+1),this[e]=255&t,e+1},v.prototype.writeInt16LE=function(t,e,r){return t=+t,e>>>=0,r||j(this,t,e,2,32767,-32768),this[e]=255&t,this[e+1]=t>>>8,e+2},v.prototype.writeInt16BE=function(t,e,r){return t=+t,e>>>=0,r||j(this,t,e,2,32767,-32768),this[e]=t>>>8,this[e+1]=255&t,e+2},v.prototype.writeInt32LE=function(t,e,r){return t=+t,e>>>=0,r||j(this,t,e,4,2147483647,-2147483648),this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24,e+4},v.prototype.writeInt32BE=function(t,e,r){return t=+t,e>>>=0,r||j(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},v.prototype.writeBigInt64LE=at((function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return U(this,t,e,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),v.prototype.writeBigInt64BE=at((function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return V(this,t,e,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),v.prototype.writeFloatLE=function(t,e,r){return q(this,t,e,!0,r)},v.prototype.writeFloatBE=function(t,e,r){return q(this,t,e,!1,r)},v.prototype.writeDoubleLE=function(t,e,r){return G(this,t,e,!0,r)},v.prototype.writeDoubleBE=function(t,e,r){return G(this,t,e,!1,r)},v.prototype.copy=function(t,e,r,n){if(!v.isBuffer(t))throw new TypeError("argument should be a Buffer");if(r||(r=0),n||0===n||(n=this.length),e>=t.length&&(e=t.length),e||(e=0),n>0&&n<r&&(n=r),n===r)return 0;if(0===t.length||0===this.length)return 0;if(e<0)throw new RangeError("targetStart out of bounds");if(r<0||r>=this.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),t.length-e<n-r&&(n=t.length-e+r);var i=n-r;return this===t&&"function"==typeof Uint8Array.prototype.copyWithin?this.copyWithin(e,r,n):Uint8Array.prototype.set.call(t,this.subarray(r,n),e),i},v.prototype.fill=function(t,e,r,n){if("string"==typeof t){if("string"==typeof e?(n=e,e=0,r=this.length):"string"==typeof r&&(n=r,r=this.length),void 0!==n&&"string"!=typeof n)throw new TypeError("encoding must be a string");if("string"==typeof n&&!v.isEncoding(n))throw new TypeError("Unknown encoding: "+n);if(1===t.length){var i=t.charCodeAt(0);("utf8"===n&&i<128||"latin1"===n)&&(t=i)}}else"number"==typeof t?t&=255:"boolean"==typeof t&&(t=Number(t));if(e<0||this.length<e||this.length<r)throw new RangeError("Out of range index");if(r<=e)return this;var a;if(e>>>=0,r=void 0===r?this.length:r>>>0,t||(t=0),"number"==typeof t)for(a=e;a<r;++a)this[a]=t;else{var o=v.isBuffer(t)?t:v.from(t,n),s=o.length;if(0===s)throw new TypeError('The value "'+t+'" is invalid for argument "value"');for(a=0;a<r-e;++a)this[a+e]=o[a%s]}return this};var Z={};function Y(t,e,r){Z[t]=function(r){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&a(t,e)}(d,r);var u,c,f,h,p=(f=d,h=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}(),function(){var t,e=l(f);if(h){var r=l(this).constructor;t=Reflect.construct(e,arguments,r)}else t=e.apply(this,arguments);return o(this,t)});function d(){var r;return n(this,d),r=p.call(this),Object.defineProperty(s(r),"message",{value:e.apply(s(r),arguments),writable:!0,configurable:!0}),r.name="".concat(r.name," [").concat(t,"]"),r.stack,delete r.name,r}return u=d,(c=[{key:"code",get:function(){return t},set:function(t){Object.defineProperty(this,"code",{configurable:!0,enumerable:!0,value:t,writable:!0})}},{key:"toString",value:function(){return"".concat(this.name," [").concat(t,"]: ").concat(this.message)}}])&&i(u.prototype,c),Object.defineProperty(u,"prototype",{writable:!1}),d}(r)}function W(t){for(var e="",r=t.length,n="-"===t[0]?1:0;r>=n+4;r-=3)e="_".concat(t.slice(r-3,r)).concat(e);return"".concat(t.slice(0,r)).concat(e)}function X(t,e,r,n,i,a){if(t>r||t<e){var o,s="bigint"==typeof e?"n":"";throw o=a>3?0===e||e===BigInt(0)?">= 0".concat(s," and < 2").concat(s," ** ").concat(8*(a+1)).concat(s):">= -(2".concat(s," ** ").concat(8*(a+1)-1).concat(s,") and < 2 ** ")+"".concat(8*(a+1)-1).concat(s):">= ".concat(e).concat(s," and <= ").concat(r).concat(s),new Z.ERR_OUT_OF_RANGE("value",o,t)}!function(t,e,r){J(e,"offset"),void 0!==t[e]&&void 0!==t[e+r]||K(e,t.length-(r+1))}(n,i,a)}function J(t,e){if("number"!=typeof t)throw new Z.ERR_INVALID_ARG_TYPE(e,"number",t)}function K(t,e,r){if(Math.floor(t)!==t)throw J(t,r),new Z.ERR_OUT_OF_RANGE(r||"offset","an integer",t);if(e<0)throw new Z.ERR_BUFFER_OUT_OF_BOUNDS;throw new Z.ERR_OUT_OF_RANGE(r||"offset",">= ".concat(r?1:0," and <= ").concat(e),t)}Y("ERR_BUFFER_OUT_OF_BOUNDS",(function(t){return t?"".concat(t," is outside of buffer bounds"):"Attempt to access memory outside buffer bounds"}),RangeError),Y("ERR_INVALID_ARG_TYPE",(function(t,e){return'The "'.concat(t,'" argument must be of type number. Received type ').concat(u(e))}),TypeError),Y("ERR_OUT_OF_RANGE",(function(t,e,r){var n='The value of "'.concat(t,'" is out of range.'),i=r;return Number.isInteger(r)&&Math.abs(r)>Math.pow(2,32)?i=W(String(r)):"bigint"==typeof r&&(i=String(r),(r>Math.pow(BigInt(2),BigInt(32))||r<-Math.pow(BigInt(2),BigInt(32)))&&(i=W(i)),i+="n"),n+" It must be ".concat(e,". Received ").concat(i)}),RangeError);var $=/[^+/0-9A-Za-z-_]/g;function Q(t,e){var r;e=e||1/0;for(var n=t.length,i=null,a=[],o=0;o<n;++o){if((r=t.charCodeAt(o))>55295&&r<57344){if(!i){if(r>56319){(e-=3)>-1&&a.push(239,191,189);continue}if(o+1===n){(e-=3)>-1&&a.push(239,191,189);continue}i=r;continue}if(r<56320){(e-=3)>-1&&a.push(239,191,189),i=r;continue}r=65536+(i-55296<<10|r-56320)}else i&&(e-=3)>-1&&a.push(239,191,189);if(i=null,r<128){if((e-=1)<0)break;a.push(r)}else if(r<2048){if((e-=2)<0)break;a.push(r>>6|192,63&r|128)}else if(r<65536){if((e-=3)<0)break;a.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;a.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return a}function tt(t){return c.toByteArray(function(t){if((t=(t=t.split("=")[0]).trim().replace($,"")).length<2)return"";for(;t.length%4!=0;)t+="=";return t}(t))}function et(t,e,r,n){var i;for(i=0;i<n&&!(i+r>=e.length||i>=t.length);++i)e[i+r]=t[i];return i}function rt(t,e){return t instanceof e||null!=t&&null!=t.constructor&&null!=t.constructor.name&&t.constructor.name===e.name}function nt(t){return t!=t}var it=function(){for(var t="0123456789abcdef",e=new Array(256),r=0;r<16;++r)for(var n=16*r,i=0;i<16;++i)e[n+i]=t[r]+t[i];return e}();function at(t){return"undefined"==typeof BigInt?ot:t}function ot(){throw new Error("BigInt not supported")}},35791:function(t){"use strict";t.exports=i,t.exports.isMobile=i,t.exports.default=i;var e=/(android|bb\d+|meego).+mobile|armv7l|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series[46]0|samsungbrowser|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i,r=/CrOS/,n=/android|ipad|playbook|silk/i;function i(t){t||(t={});var i=t.ua;if(i||"undefined"==typeof navigator||(i=navigator.userAgent),i&&i.headers&&"string"==typeof i.headers["user-agent"]&&(i=i.headers["user-agent"]),"string"!=typeof i)return!1;var a=e.test(i)&&!r.test(i)||!!t.tablet&&n.test(i);return!a&&t.tablet&&t.featureDetect&&navigator&&navigator.maxTouchPoints>1&&-1!==i.indexOf("Macintosh")&&-1!==i.indexOf("Safari")&&(a=!0),a}},86781:function(t,e,r){"use strict";r.r(e),r.d(e,{sankeyCenter:function(){return h},sankeyCircular:function(){return L},sankeyJustify:function(){return f},sankeyLeft:function(){return u},sankeyRight:function(){return c}});var n=r(33064),i=r(15140),a=r(45879),o=r(2502),s=r.n(o);function l(t){return t.target.depth}function u(t){return t.depth}function c(t,e){return e-1-t.height}function f(t,e){return t.sourceLinks.length?t.depth:e-1}function h(t){return t.targetLinks.length?t.depth:t.sourceLinks.length?(0,n.VV)(t.sourceLinks,l)-1:0}function p(t){return function(){return t}}var d="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};function v(t,e){return y(t.source,e.source)||t.index-e.index}function g(t,e){return y(t.target,e.target)||t.index-e.index}function y(t,e){return t.partOfCycle===e.partOfCycle?t.y0-e.y0:"top"===t.circularLinkType||"bottom"===e.circularLinkType?-1:1}function m(t){return t.value}function x(t){return(t.y0+t.y1)/2}function b(t){return x(t.source)}function _(t){return x(t.target)}function w(t){return t.index}function T(t){return t.nodes}function k(t){return t.links}function A(t,e){var r=t.get(e);if(!r)throw new Error("missing: "+e);return r}function M(t,e){return e(t)}var S=25,E=10;function L(){var t,e,r=0,a=0,o=1,s=1,l=24,u=w,c=f,h=T,M=k,L=32,O=2,D=null;function z(){var t={nodes:h.apply(null,arguments),links:M.apply(null,arguments)};F(t),C(t,0,D),B(t),N(t),P(t,u),j(t,L,u),U(t);for(var e=4,r=0;r<e;r++)W(t,s,u),X(t,0,u),Z(t,a,s,u),W(t,s,u),X(t,0,u);return Q(t,a,s),R(t,O,s,u),t}function F(t){t.nodes.forEach((function(t,e){t.index=e,t.sourceLinks=[],t.targetLinks=[]}));var e=(0,i.UI)(t.nodes,u);return t.links.forEach((function(t,r){t.index=r;var n=t.source,i=t.target;"object"!==(void 0===n?"undefined":d(n))&&(n=t.source=A(e,n)),"object"!==(void 0===i?"undefined":d(i))&&(i=t.target=A(e,i)),n.sourceLinks.push(t),i.targetLinks.push(t)})),t}function B(t){t.nodes.forEach((function(t){t.partOfCycle=!1,t.value=Math.max((0,n.Sm)(t.sourceLinks,m),(0,n.Sm)(t.targetLinks,m)),t.sourceLinks.forEach((function(e){e.circular&&(t.partOfCycle=!0,t.circularLinkType=e.circularLinkType)})),t.targetLinks.forEach((function(e){e.circular&&(t.partOfCycle=!0,t.circularLinkType=e.circularLinkType)}))}))}function N(t){var e,r,n;for(e=t.nodes,r=[],n=0;e.length;++n,e=r,r=[])e.forEach((function(t){t.depth=n,t.sourceLinks.forEach((function(t){r.indexOf(t.target)<0&&!t.circular&&r.push(t.target)}))}));for(e=t.nodes,r=[],n=0;e.length;++n,e=r,r=[])e.forEach((function(t){t.height=n,t.targetLinks.forEach((function(t){r.indexOf(t.source)<0&&!t.circular&&r.push(t.source)}))}));t.nodes.forEach((function(t){t.column=Math.floor(c.call(null,t,n))}))}function j(u,c,f){var h=(0,i.b1)().key((function(t){return t.column})).sortKeys(n.j2).entries(u.nodes).map((function(t){return t.values}));!function(i){if(e){var c=1/0;h.forEach((function(t){var r=s*e/(t.length+1);c=r<c?r:c})),t=c}var f=(0,n.VV)(h,(function(e){return(s-a-(e.length-1)*t)/(0,n.Sm)(e,m)}));f*=.3,u.links.forEach((function(t){t.width=t.value*f}));var p=function(t){var e=0,r=0,i=0,a=0,o=(0,n.Fp)(t.nodes,(function(t){return t.column}));return t.links.forEach((function(t){t.circular&&("top"==t.circularLinkType?e+=t.width:r+=t.width,0==t.target.column&&(a+=t.width),t.source.column==o&&(i+=t.width))})),{top:e=e>0?e+S+E:e,bottom:r=r>0?r+S+E:r,left:a=a>0?a+S+E:a,right:i=i>0?i+S+E:i}}(u),d=function(t,e){var i=(0,n.Fp)(t.nodes,(function(t){return t.column})),u=o-r,c=s-a,f=u/(u+e.right+e.left),h=c/(c+e.top+e.bottom);return r=r*f+e.left,o=0==e.right?o:o*f,a=a*h+e.top,s*=h,t.nodes.forEach((function(t){t.x0=r+t.column*((o-r-l)/i),t.x1=t.x0+l})),h}(u,p);f*=d,u.links.forEach((function(t){t.width=t.value*f})),h.forEach((function(t){var e=t.length;t.forEach((function(t,r){t.depth==h.length-1&&1==e||0==t.depth&&1==e?(t.y0=s/2-t.value*f,t.y1=t.y0+t.value*f):t.partOfCycle?0==I(t,i)?(t.y0=s/2+r,t.y1=t.y0+t.value*f):"top"==t.circularLinkType?(t.y0=a+r,t.y1=t.y0+t.value*f):(t.y0=s-t.value*f-r,t.y1=t.y0+t.value*f):0==p.top||0==p.bottom?(t.y0=(s-a)/e*r,t.y1=t.y0+t.value*f):(t.y0=(s-a)/2-e/2+r,t.y1=t.y0+t.value*f)}))}))}(f),g();for(var p=1,d=c;d>0;--d)v(p*=.99,f),g();function v(t,e){var r=h.length;h.forEach((function(i){var a=i.length,o=i[0].depth;i.forEach((function(i){var l;if(i.sourceLinks.length||i.targetLinks.length)if(i.partOfCycle&&I(i,e)>0);else if(0==o&&1==a)l=i.y1-i.y0,i.y0=s/2-l/2,i.y1=s/2+l/2;else if(o==r-1&&1==a)l=i.y1-i.y0,i.y0=s/2-l/2,i.y1=s/2+l/2;else{var u=(0,n.J6)(i.sourceLinks,_),c=(0,n.J6)(i.targetLinks,b),f=((u&&c?(u+c)/2:u||c)-x(i))*t;i.y0+=f,i.y1+=f}}))}))}function g(){h.forEach((function(e){var r,n,i,o=a,l=e.length;for(e.sort(y),i=0;i<l;++i)(n=o-(r=e[i]).y0)>0&&(r.y0+=n,r.y1+=n),o=r.y1+t;if((n=o-t-s)>0)for(o=r.y0-=n,r.y1-=n,i=l-2;i>=0;--i)(n=(r=e[i]).y1+t-o)>0&&(r.y0-=n,r.y1-=n),o=r.y0}))}}function U(t){t.nodes.forEach((function(t){t.sourceLinks.sort(g),t.targetLinks.sort(v)})),t.nodes.forEach((function(t){var e=t.y0,r=e,n=t.y1,i=n;t.sourceLinks.forEach((function(t){t.circular?(t.y0=n-t.width/2,n-=t.width):(t.y0=e+t.width/2,e+=t.width)})),t.targetLinks.forEach((function(t){t.circular?(t.y1=i-t.width/2,i-=t.width):(t.y1=r+t.width/2,r+=t.width)}))}))}return z.nodeId=function(t){return arguments.length?(u="function"==typeof t?t:p(t),z):u},z.nodeAlign=function(t){return arguments.length?(c="function"==typeof t?t:p(t),z):c},z.nodeWidth=function(t){return arguments.length?(l=+t,z):l},z.nodePadding=function(e){return arguments.length?(t=+e,z):t},z.nodes=function(t){return arguments.length?(h="function"==typeof t?t:p(t),z):h},z.links=function(t){return arguments.length?(M="function"==typeof t?t:p(t),z):M},z.size=function(t){return arguments.length?(r=a=0,o=+t[0],s=+t[1],z):[o-r,s-a]},z.extent=function(t){return arguments.length?(r=+t[0][0],o=+t[1][0],a=+t[0][1],s=+t[1][1],z):[[r,a],[o,s]]},z.iterations=function(t){return arguments.length?(L=+t,z):L},z.circularLinkGap=function(t){return arguments.length?(O=+t,z):O},z.nodePaddingRatio=function(t){return arguments.length?(e=+t,z):e},z.sortNodes=function(t){return arguments.length?(D=t,z):D},z.update=function(t){return P(t,u),U(t),t.links.forEach((function(t){t.circular&&(t.circularLinkType=t.y0+t.y1<s?"top":"bottom",t.source.circularLinkType=t.circularLinkType,t.target.circularLinkType=t.circularLinkType)})),W(t,s,u,!1),X(t,0,u),R(t,O,s,u),t},z}function C(t,e,r){var n=0;if(null===r){for(var i=[],a=0;a<t.links.length;a++){var o=t.links[a],l=o.source.index,u=o.target.index;i[l]||(i[l]=[]),i[u]||(i[u]=[]),-1===i[l].indexOf(u)&&i[l].push(u)}var c=s()(i);c.sort((function(t,e){return t.length-e.length}));var f={};for(a=0;a<c.length;a++){var h=c[a].slice(-2);f[h[0]]||(f[h[0]]={}),f[h[0]][h[1]]=!0}t.links.forEach((function(t){var e=t.target.index,r=t.source.index;e===r||f[r]&&f[r][e]?(t.circular=!0,t.circularLinkID=n,n+=1):t.circular=!1}))}else t.links.forEach((function(t){t.source[r]<t.target[r]?t.circular=!1:(t.circular=!0,t.circularLinkID=n,n+=1)}))}function P(t,e){var r=0,n=0;t.links.forEach((function(i){i.circular&&(i.source.circularLinkType||i.target.circularLinkType?i.circularLinkType=i.source.circularLinkType?i.source.circularLinkType:i.target.circularLinkType:i.circularLinkType=r<n?"top":"bottom","top"==i.circularLinkType?r+=1:n+=1,t.nodes.forEach((function(t){M(t,e)!=M(i.source,e)&&M(t,e)!=M(i.target,e)||(t.circularLinkType=i.circularLinkType)})))})),t.links.forEach((function(t){t.circular&&(t.source.circularLinkType==t.target.circularLinkType&&(t.circularLinkType=t.source.circularLinkType),$(t,e)&&(t.circularLinkType=t.source.circularLinkType))}))}function O(t){var e=Math.abs(t.y1-t.y0),r=Math.abs(t.target.x0-t.source.x1);return Math.atan(r/e)}function I(t,e){var r=0;t.sourceLinks.forEach((function(t){r=t.circular&&!$(t,e)?r+1:r}));var n=0;return t.targetLinks.forEach((function(t){n=t.circular&&!$(t,e)?n+1:n})),r+n}function D(t){var e=t.source.sourceLinks,r=0;e.forEach((function(t){r=t.circular?r+1:r}));var n=t.target.targetLinks,i=0;return n.forEach((function(t){i=t.circular?i+1:i})),!(r>1||i>1)}function z(t,e,r){return t.sort(F),t.forEach((function(n,i){var a,o,s=0;if($(n,r)&&D(n))n.circularPathData.verticalBuffer=s+n.width/2;else{for(var l=0;l<i;l++)if(a=t[i],o=t[l],!(a.source.column<o.target.column||a.target.column>o.source.column)){var u=t[l].circularPathData.verticalBuffer+t[l].width/2+e;s=u>s?u:s}n.circularPathData.verticalBuffer=s+n.width/2}})),t}function R(t,e,r,i){var o=(0,n.VV)(t.links,(function(t){return t.source.y0}));t.links.forEach((function(t){t.circular&&(t.circularPathData={})})),z(t.links.filter((function(t){return"top"==t.circularLinkType})),e,i),z(t.links.filter((function(t){return"bottom"==t.circularLinkType})),e,i),t.links.forEach((function(n){if(n.circular){if(n.circularPathData.arcRadius=n.width+E,n.circularPathData.leftNodeBuffer=5,n.circularPathData.rightNodeBuffer=5,n.circularPathData.sourceWidth=n.source.x1-n.source.x0,n.circularPathData.sourceX=n.source.x0+n.circularPathData.sourceWidth,n.circularPathData.targetX=n.target.x0,n.circularPathData.sourceY=n.y0,n.circularPathData.targetY=n.y1,$(n,i)&&D(n))n.circularPathData.leftSmallArcRadius=E+n.width/2,n.circularPathData.leftLargeArcRadius=E+n.width/2,n.circularPathData.rightSmallArcRadius=E+n.width/2,n.circularPathData.rightLargeArcRadius=E+n.width/2,"bottom"==n.circularLinkType?(n.circularPathData.verticalFullExtent=n.source.y1+S+n.circularPathData.verticalBuffer,n.circularPathData.verticalLeftInnerExtent=n.circularPathData.verticalFullExtent-n.circularPathData.leftLargeArcRadius,n.circularPathData.verticalRightInnerExtent=n.circularPathData.verticalFullExtent-n.circularPathData.rightLargeArcRadius):(n.circularPathData.verticalFullExtent=n.source.y0-S-n.circularPathData.verticalBuffer,n.circularPathData.verticalLeftInnerExtent=n.circularPathData.verticalFullExtent+n.circularPathData.leftLargeArcRadius,n.circularPathData.verticalRightInnerExtent=n.circularPathData.verticalFullExtent+n.circularPathData.rightLargeArcRadius);else{var s=n.source.column,l=n.circularLinkType,u=t.links.filter((function(t){return t.source.column==s&&t.circularLinkType==l}));"bottom"==n.circularLinkType?u.sort(N):u.sort(B);var c=0;u.forEach((function(t,r){t.circularLinkID==n.circularLinkID&&(n.circularPathData.leftSmallArcRadius=E+n.width/2+c,n.circularPathData.leftLargeArcRadius=E+n.width/2+r*e+c),c+=t.width})),s=n.target.column,u=t.links.filter((function(t){return t.target.column==s&&t.circularLinkType==l})),"bottom"==n.circularLinkType?u.sort(U):u.sort(j),c=0,u.forEach((function(t,r){t.circularLinkID==n.circularLinkID&&(n.circularPathData.rightSmallArcRadius=E+n.width/2+c,n.circularPathData.rightLargeArcRadius=E+n.width/2+r*e+c),c+=t.width})),"bottom"==n.circularLinkType?(n.circularPathData.verticalFullExtent=Math.max(r,n.source.y1,n.target.y1)+S+n.circularPathData.verticalBuffer,n.circularPathData.verticalLeftInnerExtent=n.circularPathData.verticalFullExtent-n.circularPathData.leftLargeArcRadius,n.circularPathData.verticalRightInnerExtent=n.circularPathData.verticalFullExtent-n.circularPathData.rightLargeArcRadius):(n.circularPathData.verticalFullExtent=o-S-n.circularPathData.verticalBuffer,n.circularPathData.verticalLeftInnerExtent=n.circularPathData.verticalFullExtent+n.circularPathData.leftLargeArcRadius,n.circularPathData.verticalRightInnerExtent=n.circularPathData.verticalFullExtent+n.circularPathData.rightLargeArcRadius)}n.circularPathData.leftInnerExtent=n.circularPathData.sourceX+n.circularPathData.leftNodeBuffer,n.circularPathData.rightInnerExtent=n.circularPathData.targetX-n.circularPathData.rightNodeBuffer,n.circularPathData.leftFullExtent=n.circularPathData.sourceX+n.circularPathData.leftLargeArcRadius+n.circularPathData.leftNodeBuffer,n.circularPathData.rightFullExtent=n.circularPathData.targetX-n.circularPathData.rightLargeArcRadius-n.circularPathData.rightNodeBuffer}if(n.circular)n.path=function(t){return"top"==t.circularLinkType?"M"+t.circularPathData.sourceX+" "+t.circularPathData.sourceY+" L"+t.circularPathData.leftInnerExtent+" "+t.circularPathData.sourceY+" A"+t.circularPathData.leftLargeArcRadius+" "+t.circularPathData.leftSmallArcRadius+" 0 0 0 "+t.circularPathData.leftFullExtent+" "+(t.circularPathData.sourceY-t.circularPathData.leftSmallArcRadius)+" L"+t.circularPathData.leftFullExtent+" "+t.circularPathData.verticalLeftInnerExtent+" A"+t.circularPathData.leftLargeArcRadius+" "+t.circularPathData.leftLargeArcRadius+" 0 0 0 "+t.circularPathData.leftInnerExtent+" "+t.circularPathData.verticalFullExtent+" L"+t.circularPathData.rightInnerExtent+" "+t.circularPathData.verticalFullExtent+" A"+t.circularPathData.rightLargeArcRadius+" "+t.circularPathData.rightLargeArcRadius+" 0 0 0 "+t.circularPathData.rightFullExtent+" "+t.circularPathData.verticalRightInnerExtent+" L"+t.circularPathData.rightFullExtent+" "+(t.circularPathData.targetY-t.circularPathData.rightSmallArcRadius)+" A"+t.circularPathData.rightLargeArcRadius+" "+t.circularPathData.rightSmallArcRadius+" 0 0 0 "+t.circularPathData.rightInnerExtent+" "+t.circularPathData.targetY+" L"+t.circularPathData.targetX+" "+t.circularPathData.targetY:"M"+t.circularPathData.sourceX+" "+t.circularPathData.sourceY+" L"+t.circularPathData.leftInnerExtent+" "+t.circularPathData.sourceY+" A"+t.circularPathData.leftLargeArcRadius+" "+t.circularPathData.leftSmallArcRadius+" 0 0 1 "+t.circularPathData.leftFullExtent+" "+(t.circularPathData.sourceY+t.circularPathData.leftSmallArcRadius)+" L"+t.circularPathData.leftFullExtent+" "+t.circularPathData.verticalLeftInnerExtent+" A"+t.circularPathData.leftLargeArcRadius+" "+t.circularPathData.leftLargeArcRadius+" 0 0 1 "+t.circularPathData.leftInnerExtent+" "+t.circularPathData.verticalFullExtent+" L"+t.circularPathData.rightInnerExtent+" "+t.circularPathData.verticalFullExtent+" A"+t.circularPathData.rightLargeArcRadius+" "+t.circularPathData.rightLargeArcRadius+" 0 0 1 "+t.circularPathData.rightFullExtent+" "+t.circularPathData.verticalRightInnerExtent+" L"+t.circularPathData.rightFullExtent+" "+(t.circularPathData.targetY+t.circularPathData.rightSmallArcRadius)+" A"+t.circularPathData.rightLargeArcRadius+" "+t.circularPathData.rightSmallArcRadius+" 0 0 1 "+t.circularPathData.rightInnerExtent+" "+t.circularPathData.targetY+" L"+t.circularPathData.targetX+" "+t.circularPathData.targetY}(n);else{var f=(0,a.h5)().source((function(t){return[t.source.x0+(t.source.x1-t.source.x0),t.y0]})).target((function(t){return[t.target.x0,t.y1]}));n.path=f(n)}}))}function F(t,e){return V(t)==V(e)?"bottom"==t.circularLinkType?N(t,e):B(t,e):V(e)-V(t)}function B(t,e){return t.y0-e.y0}function N(t,e){return e.y0-t.y0}function j(t,e){return t.y1-e.y1}function U(t,e){return e.y1-t.y1}function V(t){return t.target.column-t.source.column}function H(t){return t.target.x0-t.source.x1}function q(t,e){var r=O(t),n=H(e)/Math.tan(r);return"up"==K(t)?t.y1+n:t.y1-n}function G(t,e){var r=O(t),n=H(e)/Math.tan(r);return"up"==K(t)?t.y1-n:t.y1+n}function Z(t,e,r,n){t.links.forEach((function(i){if(!i.circular&&i.target.column-i.source.column>1){var a=i.source.column+1,o=i.target.column-1,s=1,l=o-a+1;for(s=1;a<=o;a++,s++)t.nodes.forEach((function(o){if(o.column==a){var u,c=s/(l+1),f=Math.pow(1-c,3),h=3*c*Math.pow(1-c,2),p=3*Math.pow(c,2)*(1-c),d=Math.pow(c,3),v=f*i.y0+h*i.y0+p*i.y1+d*i.y1,g=v-i.width/2,y=v+i.width/2;g>o.y0&&g<o.y1?(u=o.y1-g+10,u="bottom"==o.circularLinkType?u:-u,o=Y(o,u,e,r),t.nodes.forEach((function(t){var i,a;M(t,n)!=M(o,n)&&t.column==o.column&&(a=t,(i=o).y0>a.y0&&i.y0<a.y1||i.y1>a.y0&&i.y1<a.y1||i.y0<a.y0&&i.y1>a.y1)&&Y(t,u,e,r)}))):(y>o.y0&&y<o.y1||g<o.y0&&y>o.y1)&&(u=y-o.y0+10,o=Y(o,u,e,r),t.nodes.forEach((function(t){M(t,n)!=M(o,n)&&t.column==o.column&&t.y0<o.y1&&t.y1>o.y1&&Y(t,u,e,r)})))}}))}}))}function Y(t,e,r,n){return t.y0+e>=r&&t.y1+e<=n&&(t.y0=t.y0+e,t.y1=t.y1+e,t.targetLinks.forEach((function(t){t.y1=t.y1+e})),t.sourceLinks.forEach((function(t){t.y0=t.y0+e}))),t}function W(t,e,r,n){t.nodes.forEach((function(i){n&&i.y+(i.y1-i.y0)>e&&(i.y=i.y-(i.y+(i.y1-i.y0)-e));var a=t.links.filter((function(t){return M(t.source,r)==M(i,r)})),o=a.length;o>1&&a.sort((function(t,e){if(!t.circular&&!e.circular){if(t.target.column==e.target.column)return t.y1-e.y1;if(!J(t,e))return t.y1-e.y1;if(t.target.column>e.target.column){var r=G(e,t);return t.y1-r}if(e.target.column>t.target.column)return G(t,e)-e.y1}return t.circular&&!e.circular?"top"==t.circularLinkType?-1:1:e.circular&&!t.circular?"top"==e.circularLinkType?1:-1:t.circular&&e.circular?t.circularLinkType===e.circularLinkType&&"top"==t.circularLinkType?t.target.column===e.target.column?t.target.y1-e.target.y1:e.target.column-t.target.column:t.circularLinkType===e.circularLinkType&&"bottom"==t.circularLinkType?t.target.column===e.target.column?e.target.y1-t.target.y1:t.target.column-e.target.column:"top"==t.circularLinkType?-1:1:void 0}));var s=i.y0;a.forEach((function(t){t.y0=s+t.width/2,s+=t.width})),a.forEach((function(t,e){if("bottom"==t.circularLinkType){for(var r=e+1,n=0;r<o;r++)n+=a[r].width;t.y0=i.y1-n-t.width/2}}))}))}function X(t,e,r){t.nodes.forEach((function(e){var n=t.links.filter((function(t){return M(t.target,r)==M(e,r)})),i=n.length;i>1&&n.sort((function(t,e){if(!t.circular&&!e.circular){if(t.source.column==e.source.column)return t.y0-e.y0;if(!J(t,e))return t.y0-e.y0;if(e.source.column<t.source.column){var r=q(e,t);return t.y0-r}if(t.source.column<e.source.column)return q(t,e)-e.y0}return t.circular&&!e.circular?"top"==t.circularLinkType?-1:1:e.circular&&!t.circular?"top"==e.circularLinkType?1:-1:t.circular&&e.circular?t.circularLinkType===e.circularLinkType&&"top"==t.circularLinkType?t.source.column===e.source.column?t.source.y1-e.source.y1:t.source.column-e.source.column:t.circularLinkType===e.circularLinkType&&"bottom"==t.circularLinkType?t.source.column===e.source.column?t.source.y1-e.source.y1:e.source.column-t.source.column:"top"==t.circularLinkType?-1:1:void 0}));var a=e.y0;n.forEach((function(t){t.y1=a+t.width/2,a+=t.width})),n.forEach((function(t,r){if("bottom"==t.circularLinkType){for(var a=r+1,o=0;a<i;a++)o+=n[a].width;t.y1=e.y1-o-t.width/2}}))}))}function J(t,e){return K(t)==K(e)}function K(t){return t.y0-t.y1>0?"up":"down"}function $(t,e){return M(t.source,e)==M(t.target,e)}function Q(t,e,r){var i=t.nodes,a=t.links,o=!1,s=!1;if(a.forEach((function(t){"top"==t.circularLinkType?o=!0:"bottom"==t.circularLinkType&&(s=!0)})),0==o||0==s){var l=(0,n.VV)(i,(function(t){return t.y0})),u=(r-e)/((0,n.Fp)(i,(function(t){return t.y1}))-l);i.forEach((function(t){var e=(t.y1-t.y0)*u;t.y0=(t.y0-l)*u,t.y1=t.y0+e})),a.forEach((function(t){t.y0=(t.y0-l)*u,t.y1=(t.y1-l)*u,t.width=t.width*u}))}}},30838:function(t,e,r){"use strict";r.r(e),r.d(e,{sankey:function(){return w},sankeyCenter:function(){return u},sankeyJustify:function(){return l},sankeyLeft:function(){return o},sankeyLinkHorizontal:function(){return M},sankeyRight:function(){return s}});var n=r(33064),i=r(15140);function a(t){return t.target.depth}function o(t){return t.depth}function s(t,e){return e-1-t.height}function l(t,e){return t.sourceLinks.length?t.depth:e-1}function u(t){return t.targetLinks.length?t.depth:t.sourceLinks.length?(0,n.VV)(t.sourceLinks,a)-1:0}function c(t){return function(){return t}}function f(t,e){return p(t.source,e.source)||t.index-e.index}function h(t,e){return p(t.target,e.target)||t.index-e.index}function p(t,e){return t.y0-e.y0}function d(t){return t.value}function v(t){return(t.y0+t.y1)/2}function g(t){return v(t.source)*t.value}function y(t){return v(t.target)*t.value}function m(t){return t.index}function x(t){return t.nodes}function b(t){return t.links}function _(t,e){var r=t.get(e);if(!r)throw new Error("missing: "+e);return r}function w(){var t=0,e=0,r=1,a=1,o=24,s=8,u=m,w=l,T=x,k=b,A=32;function M(){var t={nodes:T.apply(null,arguments),links:k.apply(null,arguments)};return S(t),E(t),L(t),C(t),P(t),t}function S(t){t.nodes.forEach((function(t,e){t.index=e,t.sourceLinks=[],t.targetLinks=[]}));var e=(0,i.UI)(t.nodes,u);t.links.forEach((function(t,r){t.index=r;var n=t.source,i=t.target;"object"!=typeof n&&(n=t.source=_(e,n)),"object"!=typeof i&&(i=t.target=_(e,i)),n.sourceLinks.push(t),i.targetLinks.push(t)}))}function E(t){t.nodes.forEach((function(t){t.value=Math.max((0,n.Sm)(t.sourceLinks,d),(0,n.Sm)(t.targetLinks,d))}))}function L(e){var n,i,a;for(n=e.nodes,i=[],a=0;n.length;++a,n=i,i=[])n.forEach((function(t){t.depth=a,t.sourceLinks.forEach((function(t){i.indexOf(t.target)<0&&i.push(t.target)}))}));for(n=e.nodes,i=[],a=0;n.length;++a,n=i,i=[])n.forEach((function(t){t.height=a,t.targetLinks.forEach((function(t){i.indexOf(t.source)<0&&i.push(t.source)}))}));var s=(r-t-o)/(a-1);e.nodes.forEach((function(e){e.x1=(e.x0=t+Math.max(0,Math.min(a-1,Math.floor(w.call(null,e,a))))*s)+o}))}function C(t){var r=(0,i.b1)().key((function(t){return t.x0})).sortKeys(n.j2).entries(t.nodes).map((function(t){return t.values}));!function(){var i=(0,n.Fp)(r,(function(t){return t.length})),o=.6666666666666666*(a-e)/(i-1);s>o&&(s=o);var l=(0,n.VV)(r,(function(t){return(a-e-(t.length-1)*s)/(0,n.Sm)(t,d)}));r.forEach((function(t){t.forEach((function(t,e){t.y1=(t.y0=e)+t.value*l}))})),t.links.forEach((function(t){t.width=t.value*l}))}(),f();for(var o=1,l=A;l>0;--l)c(o*=.99),f(),u(o),f();function u(t){r.forEach((function(e){e.forEach((function(e){if(e.targetLinks.length){var r=((0,n.Sm)(e.targetLinks,g)/(0,n.Sm)(e.targetLinks,d)-v(e))*t;e.y0+=r,e.y1+=r}}))}))}function c(t){r.slice().reverse().forEach((function(e){e.forEach((function(e){if(e.sourceLinks.length){var r=((0,n.Sm)(e.sourceLinks,y)/(0,n.Sm)(e.sourceLinks,d)-v(e))*t;e.y0+=r,e.y1+=r}}))}))}function f(){r.forEach((function(t){var r,n,i,o=e,l=t.length;for(t.sort(p),i=0;i<l;++i)(n=o-(r=t[i]).y0)>0&&(r.y0+=n,r.y1+=n),o=r.y1+s;if((n=o-s-a)>0)for(o=r.y0-=n,r.y1-=n,i=l-2;i>=0;--i)(n=(r=t[i]).y1+s-o)>0&&(r.y0-=n,r.y1-=n),o=r.y0}))}}function P(t){t.nodes.forEach((function(t){t.sourceLinks.sort(h),t.targetLinks.sort(f)})),t.nodes.forEach((function(t){var e=t.y0,r=e;t.sourceLinks.forEach((function(t){t.y0=e+t.width/2,e+=t.width})),t.targetLinks.forEach((function(t){t.y1=r+t.width/2,r+=t.width}))}))}return M.update=function(t){return P(t),t},M.nodeId=function(t){return arguments.length?(u="function"==typeof t?t:c(t),M):u},M.nodeAlign=function(t){return arguments.length?(w="function"==typeof t?t:c(t),M):w},M.nodeWidth=function(t){return arguments.length?(o=+t,M):o},M.nodePadding=function(t){return arguments.length?(s=+t,M):s},M.nodes=function(t){return arguments.length?(T="function"==typeof t?t:c(t),M):T},M.links=function(t){return arguments.length?(k="function"==typeof t?t:c(t),M):k},M.size=function(n){return arguments.length?(t=e=0,r=+n[0],a=+n[1],M):[r-t,a-e]},M.extent=function(n){return arguments.length?(t=+n[0][0],r=+n[1][0],e=+n[0][1],a=+n[1][1],M):[[t,e],[r,a]]},M.iterations=function(t){return arguments.length?(A=+t,M):A},M}var T=r(45879);function k(t){return[t.source.x1,t.y0]}function A(t){return[t.target.x0,t.y1]}function M(){return(0,T.h5)().source(k).target(A)}},39898:function(t,e,r){var n,i;(function(){var a={version:"3.8.0"},o=[].slice,s=function(t){return o.call(t)},l=self.document;function u(t){return t&&(t.ownerDocument||t.document||t).documentElement}function c(t){return t&&(t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView)}if(l)try{s(l.documentElement.childNodes)[0].nodeType}catch(t){s=function(t){for(var e=t.length,r=new Array(e);e--;)r[e]=t[e];return r}}if(Date.now||(Date.now=function(){return+new Date}),l)try{l.createElement("DIV").style.setProperty("opacity",0,"")}catch(t){var f=this.Element.prototype,h=f.setAttribute,p=f.setAttributeNS,d=this.CSSStyleDeclaration.prototype,v=d.setProperty;f.setAttribute=function(t,e){h.call(this,t,e+"")},f.setAttributeNS=function(t,e,r){p.call(this,t,e,r+"")},d.setProperty=function(t,e,r){v.call(this,t,e+"",r)}}function g(t,e){return t<e?-1:t>e?1:t>=e?0:NaN}function y(t){return null===t?NaN:+t}function m(t){return!isNaN(t)}function x(t){return{left:function(e,r,n,i){for(arguments.length<3&&(n=0),arguments.length<4&&(i=e.length);n<i;){var a=n+i>>>1;t(e[a],r)<0?n=a+1:i=a}return n},right:function(e,r,n,i){for(arguments.length<3&&(n=0),arguments.length<4&&(i=e.length);n<i;){var a=n+i>>>1;t(e[a],r)>0?i=a:n=a+1}return n}}}a.ascending=g,a.descending=function(t,e){return e<t?-1:e>t?1:e>=t?0:NaN},a.min=function(t,e){var r,n,i=-1,a=t.length;if(1===arguments.length){for(;++i<a;)if(null!=(n=t[i])&&n>=n){r=n;break}for(;++i<a;)null!=(n=t[i])&&r>n&&(r=n)}else{for(;++i<a;)if(null!=(n=e.call(t,t[i],i))&&n>=n){r=n;break}for(;++i<a;)null!=(n=e.call(t,t[i],i))&&r>n&&(r=n)}return r},a.max=function(t,e){var r,n,i=-1,a=t.length;if(1===arguments.length){for(;++i<a;)if(null!=(n=t[i])&&n>=n){r=n;break}for(;++i<a;)null!=(n=t[i])&&n>r&&(r=n)}else{for(;++i<a;)if(null!=(n=e.call(t,t[i],i))&&n>=n){r=n;break}for(;++i<a;)null!=(n=e.call(t,t[i],i))&&n>r&&(r=n)}return r},a.extent=function(t,e){var r,n,i,a=-1,o=t.length;if(1===arguments.length){for(;++a<o;)if(null!=(n=t[a])&&n>=n){r=i=n;break}for(;++a<o;)null!=(n=t[a])&&(r>n&&(r=n),i<n&&(i=n))}else{for(;++a<o;)if(null!=(n=e.call(t,t[a],a))&&n>=n){r=i=n;break}for(;++a<o;)null!=(n=e.call(t,t[a],a))&&(r>n&&(r=n),i<n&&(i=n))}return[r,i]},a.sum=function(t,e){var r,n=0,i=t.length,a=-1;if(1===arguments.length)for(;++a<i;)m(r=+t[a])&&(n+=r);else for(;++a<i;)m(r=+e.call(t,t[a],a))&&(n+=r);return n},a.mean=function(t,e){var r,n=0,i=t.length,a=-1,o=i;if(1===arguments.length)for(;++a<i;)m(r=y(t[a]))?n+=r:--o;else for(;++a<i;)m(r=y(e.call(t,t[a],a)))?n+=r:--o;if(o)return n/o},a.quantile=function(t,e){var r=(t.length-1)*e+1,n=Math.floor(r),i=+t[n-1],a=r-n;return a?i+a*(t[n]-i):i},a.median=function(t,e){var r,n=[],i=t.length,o=-1;if(1===arguments.length)for(;++o<i;)m(r=y(t[o]))&&n.push(r);else for(;++o<i;)m(r=y(e.call(t,t[o],o)))&&n.push(r);if(n.length)return a.quantile(n.sort(g),.5)},a.variance=function(t,e){var r,n,i=t.length,a=0,o=0,s=-1,l=0;if(1===arguments.length)for(;++s<i;)m(r=y(t[s]))&&(o+=(n=r-a)*(r-(a+=n/++l)));else for(;++s<i;)m(r=y(e.call(t,t[s],s)))&&(o+=(n=r-a)*(r-(a+=n/++l)));if(l>1)return o/(l-1)},a.deviation=function(){var t=a.variance.apply(this,arguments);return t?Math.sqrt(t):t};var b=x(g);function _(t){return t.length}a.bisectLeft=b.left,a.bisect=a.bisectRight=b.right,a.bisector=function(t){return x(1===t.length?function(e,r){return g(t(e),r)}:t)},a.shuffle=function(t,e,r){(a=arguments.length)<3&&(r=t.length,a<2&&(e=0));for(var n,i,a=r-e;a;)i=Math.random()*a--|0,n=t[a+e],t[a+e]=t[i+e],t[i+e]=n;return t},a.permute=function(t,e){for(var r=e.length,n=new Array(r);r--;)n[r]=t[e[r]];return n},a.pairs=function(t){for(var e=0,r=t.length-1,n=t[0],i=new Array(r<0?0:r);e<r;)i[e]=[n,n=t[++e]];return i},a.transpose=function(t){if(!(i=t.length))return[];for(var e=-1,r=a.min(t,_),n=new Array(r);++e<r;)for(var i,o=-1,s=n[e]=new Array(i);++o<i;)s[o]=t[o][e];return n},a.zip=function(){return a.transpose(arguments)},a.keys=function(t){var e=[];for(var r in t)e.push(r);return e},a.values=function(t){var e=[];for(var r in t)e.push(t[r]);return e},a.entries=function(t){var e=[];for(var r in t)e.push({key:r,value:t[r]});return e},a.merge=function(t){for(var e,r,n,i=t.length,a=-1,o=0;++a<i;)o+=t[a].length;for(r=new Array(o);--i>=0;)for(e=(n=t[i]).length;--e>=0;)r[--o]=n[e];return r};var w=Math.abs;function T(t){for(var e=1;t*e%1;)e*=10;return e}function k(t,e){for(var r in e)Object.defineProperty(t.prototype,r,{value:e[r],enumerable:!1})}function A(){this._=Object.create(null)}function M(t){return"__proto__"==(t+="")||"\0"===t[0]?"\0"+t:t}function S(t){return"\0"===(t+="")[0]?t.slice(1):t}function E(t){return M(t)in this._}function L(t){return(t=M(t))in this._&&delete this._[t]}function C(){var t=[];for(var e in this._)t.push(S(e));return t}function P(){var t=0;for(var e in this._)++t;return t}function O(){for(var t in this._)return!1;return!0}function I(){this._=Object.create(null)}function D(t){return t}function z(t,e,r){return function(){var n=r.apply(e,arguments);return n===e?t:n}}function R(t,e){if(e in t)return e;e=e.charAt(0).toUpperCase()+e.slice(1);for(var r=0,n=F.length;r<n;++r){var i=F[r]+e;if(i in t)return i}}a.range=function(t,e,r){if(arguments.length<3&&(r=1,arguments.length<2&&(e=t,t=0)),(e-t)/r==1/0)throw new Error("infinite range");var n,i=[],a=T(w(r)),o=-1;if(t*=a,e*=a,(r*=a)<0)for(;(n=t+r*++o)>e;)i.push(n/a);else for(;(n=t+r*++o)<e;)i.push(n/a);return i},a.map=function(t,e){var r=new A;if(t instanceof A)t.forEach((function(t,e){r.set(t,e)}));else if(Array.isArray(t)){var n,i=-1,a=t.length;if(1===arguments.length)for(;++i<a;)r.set(i,t[i]);else for(;++i<a;)r.set(e.call(t,n=t[i],i),n)}else for(var o in t)r.set(o,t[o]);return r},k(A,{has:E,get:function(t){return this._[M(t)]},set:function(t,e){return this._[M(t)]=e},remove:L,keys:C,values:function(){var t=[];for(var e in this._)t.push(this._[e]);return t},entries:function(){var t=[];for(var e in this._)t.push({key:S(e),value:this._[e]});return t},size:P,empty:O,forEach:function(t){for(var e in this._)t.call(this,S(e),this._[e])}}),a.nest=function(){var t,e,r={},n=[],i=[];function o(i,a,s){if(s>=n.length)return e?e.call(r,a):t?a.sort(t):a;for(var l,u,c,f,h=-1,p=a.length,d=n[s++],v=new A;++h<p;)(f=v.get(l=d(u=a[h])))?f.push(u):v.set(l,[u]);return i?(u=i(),c=function(t,e){u.set(t,o(i,e,s))}):(u={},c=function(t,e){u[t]=o(i,e,s)}),v.forEach(c),u}function s(t,e){if(e>=n.length)return t;var r=[],a=i[e++];return t.forEach((function(t,n){r.push({key:t,values:s(n,e)})})),a?r.sort((function(t,e){return a(t.key,e.key)})):r}return r.map=function(t,e){return o(e,t,0)},r.entries=function(t){return s(o(a.map,t,0),0)},r.key=function(t){return n.push(t),r},r.sortKeys=function(t){return i[n.length-1]=t,r},r.sortValues=function(e){return t=e,r},r.rollup=function(t){return e=t,r},r},a.set=function(t){var e=new I;if(t)for(var r=0,n=t.length;r<n;++r)e.add(t[r]);return e},k(I,{has:E,add:function(t){return this._[M(t+="")]=!0,t},remove:L,values:C,size:P,empty:O,forEach:function(t){for(var e in this._)t.call(this,S(e))}}),a.behavior={},a.rebind=function(t,e){for(var r,n=1,i=arguments.length;++n<i;)t[r=arguments[n]]=z(t,e,e[r]);return t};var F=["webkit","ms","moz","Moz","o","O"];function B(){}function N(){}function j(t){var e=[],r=new A;function n(){for(var r,n=e,i=-1,a=n.length;++i<a;)(r=n[i].on)&&r.apply(this,arguments);return t}return n.on=function(n,i){var a,o=r.get(n);return arguments.length<2?o&&o.on:(o&&(o.on=null,e=e.slice(0,a=e.indexOf(o)).concat(e.slice(a+1)),r.remove(n)),i&&e.push(r.set(n,{on:i})),t)},n}function U(){a.event.preventDefault()}function V(){for(var t,e=a.event;t=e.sourceEvent;)e=t;return e}function H(t){for(var e=new N,r=0,n=arguments.length;++r<n;)e[arguments[r]]=j(e);return e.of=function(r,n){return function(i){try{var o=i.sourceEvent=a.event;i.target=t,a.event=i,e[i.type].apply(r,n)}finally{a.event=o}}},e}a.dispatch=function(){for(var t=new N,e=-1,r=arguments.length;++e<r;)t[arguments[e]]=j(t);return t},N.prototype.on=function(t,e){var r=t.indexOf("."),n="";if(r>=0&&(n=t.slice(r+1),t=t.slice(0,r)),t)return arguments.length<2?this[t].on(n):this[t].on(n,e);if(2===arguments.length){if(null==e)for(t in this)this.hasOwnProperty(t)&&this[t].on(n,null);return this}},a.event=null,a.requote=function(t){return t.replace(q,"\\$&")};var q=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g,G={}.__proto__?function(t,e){t.__proto__=e}:function(t,e){for(var r in e)t[r]=e[r]};function Z(t){return G(t,J),t}var Y=function(t,e){return e.querySelector(t)},W=function(t,e){return e.querySelectorAll(t)},X=function(t,e){var r=t.matches||t[R(t,"matchesSelector")];return X=function(t,e){return r.call(t,e)},X(t,e)};"function"==typeof Sizzle&&(Y=function(t,e){return Sizzle(t,e)[0]||null},W=Sizzle,X=Sizzle.matchesSelector),a.selection=function(){return a.select(l.documentElement)};var J=a.selection.prototype=[];function K(t){return"function"==typeof t?t:function(){return Y(t,this)}}function $(t){return"function"==typeof t?t:function(){return W(t,this)}}J.select=function(t){var e,r,n,i,a=[];t=K(t);for(var o=-1,s=this.length;++o<s;){a.push(e=[]),e.parentNode=(n=this[o]).parentNode;for(var l=-1,u=n.length;++l<u;)(i=n[l])?(e.push(r=t.call(i,i.__data__,l,o)),r&&"__data__"in i&&(r.__data__=i.__data__)):e.push(null)}return Z(a)},J.selectAll=function(t){var e,r,n=[];t=$(t);for(var i=-1,a=this.length;++i<a;)for(var o=this[i],l=-1,u=o.length;++l<u;)(r=o[l])&&(n.push(e=s(t.call(r,r.__data__,l,i))),e.parentNode=r);return Z(n)};var Q="http://www.w3.org/1999/xhtml",tt={svg:"http://www.w3.org/2000/svg",xhtml:Q,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function et(t,e){return t=a.ns.qualify(t),null==e?t.local?function(){this.removeAttributeNS(t.space,t.local)}:function(){this.removeAttribute(t)}:"function"==typeof e?t.local?function(){var r=e.apply(this,arguments);null==r?this.removeAttributeNS(t.space,t.local):this.setAttributeNS(t.space,t.local,r)}:function(){var r=e.apply(this,arguments);null==r?this.removeAttribute(t):this.setAttribute(t,r)}:t.local?function(){this.setAttributeNS(t.space,t.local,e)}:function(){this.setAttribute(t,e)}}function rt(t){return t.trim().replace(/\s+/g," ")}function nt(t){return new RegExp("(?:^|\\s+)"+a.requote(t)+"(?:\\s+|$)","g")}function it(t){return(t+"").trim().split(/^|\s+/)}function at(t,e){var r=(t=it(t).map(ot)).length;return"function"==typeof e?function(){for(var n=-1,i=e.apply(this,arguments);++n<r;)t[n](this,i)}:function(){for(var n=-1;++n<r;)t[n](this,e)}}function ot(t){var e=nt(t);return function(r,n){if(i=r.classList)return n?i.add(t):i.remove(t);var i=r.getAttribute("class")||"";n?(e.lastIndex=0,e.test(i)||r.setAttribute("class",rt(i+" "+t))):r.setAttribute("class",rt(i.replace(e," ")))}}function st(t,e,r){return null==e?function(){this.style.removeProperty(t)}:"function"==typeof e?function(){var n=e.apply(this,arguments);null==n?this.style.removeProperty(t):this.style.setProperty(t,n,r)}:function(){this.style.setProperty(t,e,r)}}function lt(t,e){return null==e?function(){delete this[t]}:"function"==typeof e?function(){var r=e.apply(this,arguments);null==r?delete this[t]:this[t]=r}:function(){this[t]=e}}function ut(t){return"function"==typeof t?t:(t=a.ns.qualify(t)).local?function(){return this.ownerDocument.createElementNS(t.space,t.local)}:function(){var e=this.ownerDocument,r=this.namespaceURI;return r===Q&&e.documentElement.namespaceURI===Q?e.createElement(t):e.createElementNS(r,t)}}function ct(){var t=this.parentNode;t&&t.removeChild(this)}function ft(t){return{__data__:t}}function ht(t){return function(){return X(this,t)}}function pt(t){return arguments.length||(t=g),function(e,r){return e&&r?t(e.__data__,r.__data__):!e-!r}}function dt(t,e){for(var r=0,n=t.length;r<n;r++)for(var i,a=t[r],o=0,s=a.length;o<s;o++)(i=a[o])&&e(i,o,r);return t}function vt(t){return G(t,gt),t}a.ns={prefix:tt,qualify:function(t){var e=t.indexOf(":"),r=t;return e>=0&&"xmlns"!==(r=t.slice(0,e))&&(t=t.slice(e+1)),tt.hasOwnProperty(r)?{space:tt[r],local:t}:t}},J.attr=function(t,e){if(arguments.length<2){if("string"==typeof t){var r=this.node();return(t=a.ns.qualify(t)).local?r.getAttributeNS(t.space,t.local):r.getAttribute(t)}for(e in t)this.each(et(e,t[e]));return this}return this.each(et(t,e))},J.classed=function(t,e){if(arguments.length<2){if("string"==typeof t){var r=this.node(),n=(t=it(t)).length,i=-1;if(e=r.classList){for(;++i<n;)if(!e.contains(t[i]))return!1}else for(e=r.getAttribute("class");++i<n;)if(!nt(t[i]).test(e))return!1;return!0}for(e in t)this.each(at(e,t[e]));return this}return this.each(at(t,e))},J.style=function(t,e,r){var n=arguments.length;if(n<3){if("string"!=typeof t){for(r in n<2&&(e=""),t)this.each(st(r,t[r],e));return this}if(n<2){var i=this.node();return c(i).getComputedStyle(i,null).getPropertyValue(t)}r=""}return this.each(st(t,e,r))},J.property=function(t,e){if(arguments.length<2){if("string"==typeof t)return this.node()[t];for(e in t)this.each(lt(e,t[e]));return this}return this.each(lt(t,e))},J.text=function(t){return arguments.length?this.each("function"==typeof t?function(){var e=t.apply(this,arguments);this.textContent=null==e?"":e}:null==t?function(){this.textContent=""}:function(){this.textContent=t}):this.node().textContent},J.html=function(t){return arguments.length?this.each("function"==typeof t?function(){var e=t.apply(this,arguments);this.innerHTML=null==e?"":e}:null==t?function(){this.innerHTML=""}:function(){this.innerHTML=t}):this.node().innerHTML},J.append=function(t){return t=ut(t),this.select((function(){return this.appendChild(t.apply(this,arguments))}))},J.insert=function(t,e){return t=ut(t),e=K(e),this.select((function(){return this.insertBefore(t.apply(this,arguments),e.apply(this,arguments)||null)}))},J.remove=function(){return this.each(ct)},J.data=function(t,e){var r,n,i=-1,a=this.length;if(!arguments.length){for(t=new Array(a=(r=this[0]).length);++i<a;)(n=r[i])&&(t[i]=n.__data__);return t}function o(t,r){var n,i,a,o=t.length,c=r.length,f=Math.min(o,c),h=new Array(c),p=new Array(c),d=new Array(o);if(e){var v,g=new A,y=new Array(o);for(n=-1;++n<o;)(i=t[n])&&(g.has(v=e.call(i,i.__data__,n))?d[n]=i:g.set(v,i),y[n]=v);for(n=-1;++n<c;)(i=g.get(v=e.call(r,a=r[n],n)))?!0!==i&&(h[n]=i,i.__data__=a):p[n]=ft(a),g.set(v,!0);for(n=-1;++n<o;)n in y&&!0!==g.get(y[n])&&(d[n]=t[n])}else{for(n=-1;++n<f;)i=t[n],a=r[n],i?(i.__data__=a,h[n]=i):p[n]=ft(a);for(;n<c;++n)p[n]=ft(r[n]);for(;n<o;++n)d[n]=t[n]}p.update=h,p.parentNode=h.parentNode=d.parentNode=t.parentNode,s.push(p),l.push(h),u.push(d)}var s=vt([]),l=Z([]),u=Z([]);if("function"==typeof t)for(;++i<a;)o(r=this[i],t.call(r,r.parentNode.__data__,i));else for(;++i<a;)o(r=this[i],t);return l.enter=function(){return s},l.exit=function(){return u},l},J.datum=function(t){return arguments.length?this.property("__data__",t):this.property("__data__")},J.filter=function(t){var e,r,n,i=[];"function"!=typeof t&&(t=ht(t));for(var a=0,o=this.length;a<o;a++){i.push(e=[]),e.parentNode=(r=this[a]).parentNode;for(var s=0,l=r.length;s<l;s++)(n=r[s])&&t.call(n,n.__data__,s,a)&&e.push(n)}return Z(i)},J.order=function(){for(var t=-1,e=this.length;++t<e;)for(var r,n=this[t],i=n.length-1,a=n[i];--i>=0;)(r=n[i])&&(a&&a!==r.nextSibling&&a.parentNode.insertBefore(r,a),a=r);return this},J.sort=function(t){t=pt.apply(this,arguments);for(var e=-1,r=this.length;++e<r;)this[e].sort(t);return this.order()},J.each=function(t){return dt(this,(function(e,r,n){t.call(e,e.__data__,r,n)}))},J.call=function(t){var e=s(arguments);return t.apply(e[0]=this,e),this},J.empty=function(){return!this.node()},J.node=function(){for(var t=0,e=this.length;t<e;t++)for(var r=this[t],n=0,i=r.length;n<i;n++){var a=r[n];if(a)return a}return null},J.size=function(){var t=0;return dt(this,(function(){++t})),t};var gt=[];function yt(t){var e,r;return function(n,i,a){var o,s=t[a].update,l=s.length;for(a!=r&&(r=a,e=0),i>=e&&(e=i+1);!(o=s[e])&&++e<l;);return o}}function mt(t,e,r){var n="__on"+t,i=t.indexOf("."),o=bt;i>0&&(t=t.slice(0,i));var l=xt.get(t);function u(){var e=this[n];e&&(this.removeEventListener(t,e,e.$),delete this[n])}return l&&(t=l,o=_t),i?e?function(){var i=o(e,s(arguments));u.call(this),this.addEventListener(t,this[n]=i,i.$=r),i._=e}:u:e?B:function(){var e,r=new RegExp("^__on([^.]+)"+a.requote(t)+"$");for(var n in this)if(e=n.match(r)){var i=this[n];this.removeEventListener(e[1],i,i.$),delete this[n]}}}a.selection.enter=vt,a.selection.enter.prototype=gt,gt.append=J.append,gt.empty=J.empty,gt.node=J.node,gt.call=J.call,gt.size=J.size,gt.select=function(t){for(var e,r,n,i,a,o=[],s=-1,l=this.length;++s<l;){n=(i=this[s]).update,o.push(e=[]),e.parentNode=i.parentNode;for(var u=-1,c=i.length;++u<c;)(a=i[u])?(e.push(n[u]=r=t.call(i.parentNode,a.__data__,u,s)),r.__data__=a.__data__):e.push(null)}return Z(o)},gt.insert=function(t,e){return arguments.length<2&&(e=yt(this)),J.insert.call(this,t,e)},a.select=function(t){var e;return"string"==typeof t?(e=[Y(t,l)]).parentNode=l.documentElement:(e=[t]).parentNode=u(t),Z([e])},a.selectAll=function(t){var e;return"string"==typeof t?(e=s(W(t,l))).parentNode=l.documentElement:(e=s(t)).parentNode=null,Z([e])},J.on=function(t,e,r){var n=arguments.length;if(n<3){if("string"!=typeof t){for(r in n<2&&(e=!1),t)this.each(mt(r,t[r],e));return this}if(n<2)return(n=this.node()["__on"+t])&&n._;r=!1}return this.each(mt(t,e,r))};var xt=a.map({mouseenter:"mouseover",mouseleave:"mouseout"});function bt(t,e){return function(r){var n=a.event;a.event=r,e[0]=this.__data__;try{t.apply(this,e)}finally{a.event=n}}}function _t(t,e){var r=bt(t,e);return function(t){var e=this,n=t.relatedTarget;n&&(n===e||8&n.compareDocumentPosition(e))||r.call(e,t)}}l&&xt.forEach((function(t){"on"+t in l&&xt.remove(t)}));var wt,Tt=0;function kt(t){var e=".dragsuppress-"+ ++Tt,r="click"+e,n=a.select(c(t)).on("touchmove"+e,U).on("dragstart"+e,U).on("selectstart"+e,U);if(null==wt&&(wt=!("onselectstart"in t)&&R(t.style,"userSelect")),wt){var i=u(t).style,o=i[wt];i[wt]="none"}return function(t){if(n.on(e,null),wt&&(i[wt]=o),t){var a=function(){n.on(r,null)};n.on(r,(function(){U(),a()}),!0),setTimeout(a,0)}}}a.mouse=function(t){return Mt(t,V())};var At=this.navigator&&/WebKit/.test(this.navigator.userAgent)?-1:0;function Mt(t,e){e.changedTouches&&(e=e.changedTouches[0]);var r=t.ownerSVGElement||t;if(r.createSVGPoint){var n=r.createSVGPoint();if(At<0){var i=c(t);if(i.scrollX||i.scrollY){var o=(r=a.select("body").append("svg").style({position:"absolute",top:0,left:0,margin:0,padding:0,border:"none"},"important"))[0][0].getScreenCTM();At=!(o.f||o.e),r.remove()}}return At?(n.x=e.pageX,n.y=e.pageY):(n.x=e.clientX,n.y=e.clientY),[(n=n.matrixTransform(t.getScreenCTM().inverse())).x,n.y]}var s=t.getBoundingClientRect();return[e.clientX-s.left-t.clientLeft,e.clientY-s.top-t.clientTop]}function St(){return a.event.changedTouches[0].identifier}a.touch=function(t,e,r){if(arguments.length<3&&(r=e,e=V().changedTouches),e)for(var n,i=0,a=e.length;i<a;++i)if((n=e[i]).identifier===r)return Mt(t,n)},a.behavior.drag=function(){var t=H(i,"drag","dragstart","dragend"),e=null,r=o(B,a.mouse,c,"mousemove","mouseup"),n=o(St,a.touch,D,"touchmove","touchend");function i(){this.on("mousedown.drag",r).on("touchstart.drag",n)}function o(r,n,i,o,s){return function(){var l,u=this,c=a.event.target.correspondingElement||a.event.target,f=u.parentNode,h=t.of(u,arguments),p=0,d=r(),v=".drag"+(null==d?"":"-"+d),g=a.select(i(c)).on(o+v,x).on(s+v,b),y=kt(c),m=n(f,d);function x(){var t,e,r=n(f,d);r&&(t=r[0]-m[0],e=r[1]-m[1],p|=t|e,m=r,h({type:"drag",x:r[0]+l[0],y:r[1]+l[1],dx:t,dy:e}))}function b(){n(f,d)&&(g.on(o+v,null).on(s+v,null),y(p),h({type:"dragend"}))}l=e?[(l=e.apply(u,arguments)).x-m[0],l.y-m[1]]:[0,0],h({type:"dragstart"})}}return i.origin=function(t){return arguments.length?(e=t,i):e},a.rebind(i,t,"on")},a.touches=function(t,e){return arguments.length<2&&(e=V().touches),e?s(e).map((function(e){var r=Mt(t,e);return r.identifier=e.identifier,r})):[]};var Et=1e-6,Lt=Math.PI,Ct=2*Lt,Pt=Ct-Et,Ot=Lt/2,It=Lt/180,Dt=180/Lt;function zt(t){return t>1?Ot:t<-1?-Ot:Math.asin(t)}function Rt(t){return((t=Math.exp(t))+1/t)/2}var Ft=Math.SQRT2;a.interpolateZoom=function(t,e){var r,n,i=t[0],a=t[1],o=t[2],s=e[0],l=e[1],u=e[2],c=s-i,f=l-a,h=c*c+f*f;if(h<1e-12)n=Math.log(u/o)/Ft,r=function(t){return[i+t*c,a+t*f,o*Math.exp(Ft*t*n)]};else{var p=Math.sqrt(h),d=(u*u-o*o+4*h)/(2*o*2*p),v=(u*u-o*o-4*h)/(2*u*2*p),g=Math.log(Math.sqrt(d*d+1)-d),y=Math.log(Math.sqrt(v*v+1)-v);n=(y-g)/Ft,r=function(t){var e,r=t*n,s=Rt(g),l=o/(2*p)*(s*(e=Ft*r+g,((e=Math.exp(2*e))-1)/(e+1))-function(t){return((t=Math.exp(t))-1/t)/2}(g));return[i+l*c,a+l*f,o*s/Rt(Ft*r+g)]}}return r.duration=1e3*n,r},a.behavior.zoom=function(){var t,e,r,n,i,o,s,u,f,h={x:0,y:0,k:1},p=[960,500],d=jt,v=250,g=0,y="mousedown.zoom",m="mousemove.zoom",x="mouseup.zoom",b="touchstart.zoom",_=H(w,"zoomstart","zoom","zoomend");function w(t){t.on(y,P).on(Nt+".zoom",I).on("dblclick.zoom",D).on(b,O)}function T(t){return[(t[0]-h.x)/h.k,(t[1]-h.y)/h.k]}function k(t){h.k=Math.max(d[0],Math.min(d[1],t))}function A(t,e){e=function(t){return[t[0]*h.k+h.x,t[1]*h.k+h.y]}(e),h.x+=t[0]-e[0],h.y+=t[1]-e[1]}function M(t,r,n,i){t.__chart__={x:h.x,y:h.y,k:h.k},k(Math.pow(2,i)),A(e=r,n),t=a.select(t),v>0&&(t=t.transition().duration(v)),t.call(w.event)}function S(){s&&s.domain(o.range().map((function(t){return(t-h.x)/h.k})).map(o.invert)),f&&f.domain(u.range().map((function(t){return(t-h.y)/h.k})).map(u.invert))}function E(t){g++||t({type:"zoomstart"})}function L(t){S(),t({type:"zoom",scale:h.k,translate:[h.x,h.y]})}function C(t){--g||(t({type:"zoomend"}),e=null)}function P(){var t=this,e=_.of(t,arguments),r=0,n=a.select(c(t)).on(m,s).on(x,l),i=T(a.mouse(t)),o=kt(t);function s(){r=1,A(a.mouse(t),i),L(e)}function l(){n.on(m,null).on(x,null),o(r),C(e)}$i.call(t),E(e)}function O(){var t,e=this,r=_.of(e,arguments),n={},o=0,s=".zoom-"+a.event.changedTouches[0].identifier,l="touchmove"+s,u="touchend"+s,c=[],f=a.select(e),p=kt(e);function d(){var r=a.touches(e);return t=h.k,r.forEach((function(t){t.identifier in n&&(n[t.identifier]=T(t))})),r}function v(){var t=a.event.target;a.select(t).on(l,g).on(u,m),c.push(t);for(var r=a.event.changedTouches,s=0,f=r.length;s<f;++s)n[r[s].identifier]=null;var p=d(),v=Date.now();if(1===p.length){if(v-i<500){var y=p[0];M(e,y,n[y.identifier],Math.floor(Math.log(h.k)/Math.LN2)+1),U()}i=v}else if(p.length>1){y=p[0];var x=p[1],b=y[0]-x[0],_=y[1]-x[1];o=b*b+_*_}}function g(){var s,l,u,c,f=a.touches(e);$i.call(e);for(var h=0,p=f.length;h<p;++h,c=null)if(u=f[h],c=n[u.identifier]){if(l)break;s=u,l=c}if(c){var d=(d=u[0]-s[0])*d+(d=u[1]-s[1])*d,v=o&&Math.sqrt(d/o);s=[(s[0]+u[0])/2,(s[1]+u[1])/2],l=[(l[0]+c[0])/2,(l[1]+c[1])/2],k(v*t)}i=null,A(s,l),L(r)}function m(){if(a.event.touches.length){for(var t=a.event.changedTouches,e=0,i=t.length;e<i;++e)delete n[t[e].identifier];for(var o in n)return void d()}a.selectAll(c).on(s,null),f.on(y,P).on(b,O),p(),C(r)}v(),E(r),f.on(y,null).on(b,v)}function I(){var i=_.of(this,arguments);n?clearTimeout(n):($i.call(this),t=T(e=r||a.mouse(this)),E(i)),n=setTimeout((function(){n=null,C(i)}),50),U(),k(Math.pow(2,.002*Bt())*h.k),A(e,t),L(i)}function D(){var t=a.mouse(this),e=Math.log(h.k)/Math.LN2;M(this,t,T(t),a.event.shiftKey?Math.ceil(e)-1:Math.floor(e)+1)}return Nt||(Nt="onwheel"in l?(Bt=function(){return-a.event.deltaY*(a.event.deltaMode?120:1)},"wheel"):"onmousewheel"in l?(Bt=function(){return a.event.wheelDelta},"mousewheel"):(Bt=function(){return-a.event.detail},"MozMousePixelScroll")),w.event=function(t){t.each((function(){var t=_.of(this,arguments),r=h;ea?a.select(this).transition().each("start.zoom",(function(){h=this.__chart__||{x:0,y:0,k:1},E(t)})).tween("zoom:zoom",(function(){var n=p[0],i=p[1],o=e?e[0]:n/2,s=e?e[1]:i/2,l=a.interpolateZoom([(o-h.x)/h.k,(s-h.y)/h.k,n/h.k],[(o-r.x)/r.k,(s-r.y)/r.k,n/r.k]);return function(e){var r=l(e),i=n/r[2];this.__chart__=h={x:o-r[0]*i,y:s-r[1]*i,k:i},L(t)}})).each("interrupt.zoom",(function(){C(t)})).each("end.zoom",(function(){C(t)})):(this.__chart__=h,E(t),L(t),C(t))}))},w.translate=function(t){return arguments.length?(h={x:+t[0],y:+t[1],k:h.k},S(),w):[h.x,h.y]},w.scale=function(t){return arguments.length?(h={x:h.x,y:h.y,k:null},k(+t),S(),w):h.k},w.scaleExtent=function(t){return arguments.length?(d=null==t?jt:[+t[0],+t[1]],w):d},w.center=function(t){return arguments.length?(r=t&&[+t[0],+t[1]],w):r},w.size=function(t){return arguments.length?(p=t&&[+t[0],+t[1]],w):p},w.duration=function(t){return arguments.length?(v=+t,w):v},w.x=function(t){return arguments.length?(s=t,o=t.copy(),h={x:0,y:0,k:1},w):s},w.y=function(t){return arguments.length?(f=t,u=t.copy(),h={x:0,y:0,k:1},w):f},a.rebind(w,_,"on")};var Bt,Nt,jt=[0,1/0];function Ut(){}function Vt(t,e,r){return this instanceof Vt?(this.h=+t,this.s=+e,void(this.l=+r)):arguments.length<2?t instanceof Vt?new Vt(t.h,t.s,t.l):ue(""+t,ce,Vt):new Vt(t,e,r)}a.color=Ut,Ut.prototype.toString=function(){return this.rgb()+""},a.hsl=Vt;var Ht=Vt.prototype=new Ut;function qt(t,e,r){var n,i;function a(t){return Math.round(255*function(t){return t>360?t-=360:t<0&&(t+=360),t<60?n+(i-n)*t/60:t<180?i:t<240?n+(i-n)*(240-t)/60:n}(t))}return t=isNaN(t)?0:(t%=360)<0?t+360:t,e=isNaN(e)||e<0?0:e>1?1:e,n=2*(r=r<0?0:r>1?1:r)-(i=r<=.5?r*(1+e):r+e-r*e),new ie(a(t+120),a(t),a(t-120))}function Gt(t,e,r){return this instanceof Gt?(this.h=+t,this.c=+e,void(this.l=+r)):arguments.length<2?t instanceof Gt?new Gt(t.h,t.c,t.l):te(t instanceof Wt?t.l:(t=fe((t=a.rgb(t)).r,t.g,t.b)).l,t.a,t.b):new Gt(t,e,r)}Ht.brighter=function(t){return t=Math.pow(.7,arguments.length?t:1),new Vt(this.h,this.s,this.l/t)},Ht.darker=function(t){return t=Math.pow(.7,arguments.length?t:1),new Vt(this.h,this.s,t*this.l)},Ht.rgb=function(){return qt(this.h,this.s,this.l)},a.hcl=Gt;var Zt=Gt.prototype=new Ut;function Yt(t,e,r){return isNaN(t)&&(t=0),isNaN(e)&&(e=0),new Wt(r,Math.cos(t*=It)*e,Math.sin(t)*e)}function Wt(t,e,r){return this instanceof Wt?(this.l=+t,this.a=+e,void(this.b=+r)):arguments.length<2?t instanceof Wt?new Wt(t.l,t.a,t.b):t instanceof Gt?Yt(t.h,t.c,t.l):fe((t=ie(t)).r,t.g,t.b):new Wt(t,e,r)}Zt.brighter=function(t){return new Gt(this.h,this.c,Math.min(100,this.l+Xt*(arguments.length?t:1)))},Zt.darker=function(t){return new Gt(this.h,this.c,Math.max(0,this.l-Xt*(arguments.length?t:1)))},Zt.rgb=function(){return Yt(this.h,this.c,this.l).rgb()},a.lab=Wt;var Xt=18,Jt=.95047,Kt=1.08883,$t=Wt.prototype=new Ut;function Qt(t,e,r){var n=(t+16)/116,i=n+e/500,a=n-r/200;return new ie(ne(3.2404542*(i=ee(i)*Jt)-1.5371385*(n=1*ee(n))-.4985314*(a=ee(a)*Kt)),ne(-.969266*i+1.8760108*n+.041556*a),ne(.0556434*i-.2040259*n+1.0572252*a))}function te(t,e,r){return t>0?new Gt(Math.atan2(r,e)*Dt,Math.sqrt(e*e+r*r),t):new Gt(NaN,NaN,t)}function ee(t){return t>.206893034?t*t*t:(t-4/29)/7.787037}function re(t){return t>.008856?Math.pow(t,1/3):7.787037*t+4/29}function ne(t){return Math.round(255*(t<=.00304?12.92*t:1.055*Math.pow(t,1/2.4)-.055))}function ie(t,e,r){return this instanceof ie?(this.r=~~t,this.g=~~e,void(this.b=~~r)):arguments.length<2?t instanceof ie?new ie(t.r,t.g,t.b):ue(""+t,ie,qt):new ie(t,e,r)}function ae(t){return new ie(t>>16,t>>8&255,255&t)}function oe(t){return ae(t)+""}$t.brighter=function(t){return new Wt(Math.min(100,this.l+Xt*(arguments.length?t:1)),this.a,this.b)},$t.darker=function(t){return new Wt(Math.max(0,this.l-Xt*(arguments.length?t:1)),this.a,this.b)},$t.rgb=function(){return Qt(this.l,this.a,this.b)},a.rgb=ie;var se=ie.prototype=new Ut;function le(t){return t<16?"0"+Math.max(0,t).toString(16):Math.min(255,t).toString(16)}function ue(t,e,r){var n,i,a,o=0,s=0,l=0;if(n=/([a-z]+)\((.*)\)/.exec(t=t.toLowerCase()))switch(i=n[2].split(","),n[1]){case"hsl":return r(parseFloat(i[0]),parseFloat(i[1])/100,parseFloat(i[2])/100);case"rgb":return e(pe(i[0]),pe(i[1]),pe(i[2]))}return(a=de.get(t))?e(a.r,a.g,a.b):(null==t||"#"!==t.charAt(0)||isNaN(a=parseInt(t.slice(1),16))||(4===t.length?(o=(3840&a)>>4,o|=o>>4,s=240&a,s|=s>>4,l=15&a,l|=l<<4):7===t.length&&(o=(16711680&a)>>16,s=(65280&a)>>8,l=255&a)),e(o,s,l))}function ce(t,e,r){var n,i,a=Math.min(t/=255,e/=255,r/=255),o=Math.max(t,e,r),s=o-a,l=(o+a)/2;return s?(i=l<.5?s/(o+a):s/(2-o-a),n=t==o?(e-r)/s+(e<r?6:0):e==o?(r-t)/s+2:(t-e)/s+4,n*=60):(n=NaN,i=l>0&&l<1?0:n),new Vt(n,i,l)}function fe(t,e,r){var n=re((.4124564*(t=he(t))+.3575761*(e=he(e))+.1804375*(r=he(r)))/Jt),i=re((.2126729*t+.7151522*e+.072175*r)/1);return Wt(116*i-16,500*(n-i),200*(i-re((.0193339*t+.119192*e+.9503041*r)/Kt)))}function he(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function pe(t){var e=parseFloat(t);return"%"===t.charAt(t.length-1)?Math.round(2.55*e):e}se.brighter=function(t){t=Math.pow(.7,arguments.length?t:1);var e=this.r,r=this.g,n=this.b,i=30;return e||r||n?(e&&e<i&&(e=i),r&&r<i&&(r=i),n&&n<i&&(n=i),new ie(Math.min(255,e/t),Math.min(255,r/t),Math.min(255,n/t))):new ie(i,i,i)},se.darker=function(t){return new ie((t=Math.pow(.7,arguments.length?t:1))*this.r,t*this.g,t*this.b)},se.hsl=function(){return ce(this.r,this.g,this.b)},se.toString=function(){return"#"+le(this.r)+le(this.g)+le(this.b)};var de=a.map({aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074});function ve(t){return"function"==typeof t?t:function(){return t}}function ge(t){return function(e,r,n){return 2===arguments.length&&"function"==typeof r&&(n=r,r=null),ye(e,r,t,n)}}function ye(t,e,r,n){var i={},o=a.dispatch("beforesend","progress","load","error"),l={},u=new XMLHttpRequest,c=null;function f(){var t,e=u.status;if(!e&&function(t){var e=t.responseType;return e&&"text"!==e?t.response:t.responseText}(u)||e>=200&&e<300||304===e){try{t=r.call(i,u)}catch(t){return void o.error.call(i,t)}o.load.call(i,t)}else o.error.call(i,u)}return self.XDomainRequest&&!("withCredentials"in u)&&/^(http(s)?:)?\/\//.test(t)&&(u=new XDomainRequest),"onload"in u?u.onload=u.onerror=f:u.onreadystatechange=function(){u.readyState>3&&f()},u.onprogress=function(t){var e=a.event;a.event=t;try{o.progress.call(i,u)}finally{a.event=e}},i.header=function(t,e){return t=(t+"").toLowerCase(),arguments.length<2?l[t]:(null==e?delete l[t]:l[t]=e+"",i)},i.mimeType=function(t){return arguments.length?(e=null==t?null:t+"",i):e},i.responseType=function(t){return arguments.length?(c=t,i):c},i.response=function(t){return r=t,i},["get","post"].forEach((function(t){i[t]=function(){return i.send.apply(i,[t].concat(s(arguments)))}})),i.send=function(r,n,a){if(2===arguments.length&&"function"==typeof n&&(a=n,n=null),u.open(r,t,!0),null==e||"accept"in l||(l.accept=e+",*/*"),u.setRequestHeader)for(var s in l)u.setRequestHeader(s,l[s]);return null!=e&&u.overrideMimeType&&u.overrideMimeType(e),null!=c&&(u.responseType=c),null!=a&&i.on("error",a).on("load",(function(t){a(null,t)})),o.beforesend.call(i,u),u.send(null==n?null:n),i},i.abort=function(){return u.abort(),i},a.rebind(i,o,"on"),null==n?i:i.get(function(t){return 1===t.length?function(e,r){t(null==e?r:null)}:t}(n))}de.forEach((function(t,e){de.set(t,ae(e))})),a.functor=ve,a.xhr=ge(D),a.dsv=function(t,e){var r=new RegExp('["'+t+"\n]"),n=t.charCodeAt(0);function i(t,r,n){arguments.length<3&&(n=r,r=null);var i=ye(t,e,null==r?a:o(r),n);return i.row=function(t){return arguments.length?i.response(null==(r=t)?a:o(t)):r},i}function a(t){return i.parse(t.responseText)}function o(t){return function(e){return i.parse(e.responseText,t)}}function s(e){return e.map(l).join(t)}function l(t){return r.test(t)?'"'+t.replace(/\"/g,'""')+'"':t}return i.parse=function(t,e){var r;return i.parseRows(t,(function(t,n){if(r)return r(t,n-1);var i=function(e){for(var r={},n=t.length,i=0;i<n;++i)r[t[i]]=e[i];return r};r=e?function(t,r){return e(i(t),r)}:i}))},i.parseRows=function(t,e){var r,i,a={},o={},s=[],l=t.length,u=0,c=0;function f(){if(u>=l)return o;if(i)return i=!1,a;var e=u;if(34===t.charCodeAt(e)){for(var r=e;r++<l;)if(34===t.charCodeAt(r)){if(34!==t.charCodeAt(r+1))break;++r}return u=r+2,13===(s=t.charCodeAt(r+1))?(i=!0,10===t.charCodeAt(r+2)&&++u):10===s&&(i=!0),t.slice(e+1,r).replace(/""/g,'"')}for(;u<l;){var s,c=1;if(10===(s=t.charCodeAt(u++)))i=!0;else if(13===s)i=!0,10===t.charCodeAt(u)&&(++u,++c);else if(s!==n)continue;return t.slice(e,u-c)}return t.slice(e)}for(;(r=f())!==o;){for(var h=[];r!==a&&r!==o;)h.push(r),r=f();e&&null==(h=e(h,c++))||s.push(h)}return s},i.format=function(e){if(Array.isArray(e[0]))return i.formatRows(e);var r=new I,n=[];return e.forEach((function(t){for(var e in t)r.has(e)||n.push(r.add(e))})),[n.map(l).join(t)].concat(e.map((function(e){return n.map((function(t){return l(e[t])})).join(t)}))).join("\n")},i.formatRows=function(t){return t.map(s).join("\n")},i},a.csv=a.dsv(",","text/csv"),a.tsv=a.dsv("\t","text/tab-separated-values");var me,xe,be,_e,we=this[R(this,"requestAnimationFrame")]||function(t){setTimeout(t,17)};function Te(t,e,r){var n=arguments.length;n<2&&(e=0),n<3&&(r=Date.now());var i=r+e,a={c:t,t:i,n:null};return xe?xe.n=a:me=a,xe=a,be||(_e=clearTimeout(_e),be=1,we(ke)),a}function ke(){var t=Ae(),e=Me()-t;e>24?(isFinite(e)&&(clearTimeout(_e),_e=setTimeout(ke,e)),be=0):(be=1,we(ke))}function Ae(){for(var t=Date.now(),e=me;e;)t>=e.t&&e.c(t-e.t)&&(e.c=null),e=e.n;return t}function Me(){for(var t,e=me,r=1/0;e;)e.c?(e.t<r&&(r=e.t),e=(t=e).n):e=t?t.n=e.n:me=e.n;return xe=t,r}function Se(t){return t[0]}function Ee(t){return t[1]}function Le(t){for(var e,r,n,i=t.length,a=[0,1],o=2,s=2;s<i;s++){for(;o>1&&(e=t[a[o-2]],r=t[a[o-1]],n=t[s],(r[0]-e[0])*(n[1]-e[1])-(r[1]-e[1])*(n[0]-e[0])<=0);)--o;a[o++]=s}return a.slice(0,o)}function Ce(t,e){return t[0]-e[0]||t[1]-e[1]}a.timer=function(){Te.apply(this,arguments)},a.timer.flush=function(){Ae(),Me()},a.round=function(t,e){return e?Math.round(t*(e=Math.pow(10,e)))/e:Math.round(t)},a.geom={},a.geom.hull=function(t){var e=Se,r=Ee;if(arguments.length)return n(t);function n(t){if(t.length<3)return[];var n,i=ve(e),a=ve(r),o=t.length,s=[],l=[];for(n=0;n<o;n++)s.push([+i.call(this,t[n],n),+a.call(this,t[n],n),n]);for(s.sort(Ce),n=0;n<o;n++)l.push([s[n][0],-s[n][1]]);var u=Le(s),c=Le(l),f=c[0]===u[0],h=c[c.length-1]===u[u.length-1],p=[];for(n=u.length-1;n>=0;--n)p.push(t[s[u[n]][2]]);for(n=+f;n<c.length-h;++n)p.push(t[s[c[n]][2]]);return p}return n.x=function(t){return arguments.length?(e=t,n):e},n.y=function(t){return arguments.length?(r=t,n):r},n},a.geom.polygon=function(t){return G(t,Pe),t};var Pe=a.geom.polygon.prototype=[];function Oe(t,e,r){return(r[0]-e[0])*(t[1]-e[1])<(r[1]-e[1])*(t[0]-e[0])}function Ie(t,e,r,n){var i=t[0],a=r[0],o=e[0]-i,s=n[0]-a,l=t[1],u=r[1],c=e[1]-l,f=n[1]-u,h=(s*(l-u)-f*(i-a))/(f*o-s*c);return[i+h*o,l+h*c]}function De(t){var e=t[0],r=t[t.length-1];return!(e[0]-r[0]||e[1]-r[1])}Pe.area=function(){for(var t,e=-1,r=this.length,n=this[r-1],i=0;++e<r;)t=n,n=this[e],i+=t[1]*n[0]-t[0]*n[1];return.5*i},Pe.centroid=function(t){var e,r,n=-1,i=this.length,a=0,o=0,s=this[i-1];for(arguments.length||(t=-1/(6*this.area()));++n<i;)e=s,s=this[n],r=e[0]*s[1]-s[0]*e[1],a+=(e[0]+s[0])*r,o+=(e[1]+s[1])*r;return[a*t,o*t]},Pe.clip=function(t){for(var e,r,n,i,a,o,s=De(t),l=-1,u=this.length-De(this),c=this[u-1];++l<u;){for(e=t.slice(),t.length=0,i=this[l],a=e[(n=e.length-s)-1],r=-1;++r<n;)Oe(o=e[r],c,i)?(Oe(a,c,i)||t.push(Ie(a,o,c,i)),t.push(o)):Oe(a,c,i)&&t.push(Ie(a,o,c,i)),a=o;s&&t.push(t[0]),c=i}return t};var ze,Re,Fe,Be,Ne,je=[],Ue=[];function Ve(){or(this),this.edge=this.site=this.circle=null}function He(t){var e=je.pop()||new Ve;return e.site=t,e}function qe(t){Qe(t),Fe.remove(t),je.push(t),or(t)}function Ge(t){var e=t.circle,r=e.x,n=e.cy,i={x:r,y:n},a=t.P,o=t.N,s=[t];qe(t);for(var l=a;l.circle&&w(r-l.circle.x)<Et&&w(n-l.circle.cy)<Et;)a=l.P,s.unshift(l),qe(l),l=a;s.unshift(l),Qe(l);for(var u=o;u.circle&&w(r-u.circle.x)<Et&&w(n-u.circle.cy)<Et;)o=u.N,s.push(u),qe(u),u=o;s.push(u),Qe(u);var c,f=s.length;for(c=1;c<f;++c)u=s[c],l=s[c-1],nr(u.edge,l.site,u.site,i);l=s[0],(u=s[f-1]).edge=rr(l.site,u.site,null,i),$e(l),$e(u)}function Ze(t){for(var e,r,n,i,a=t.x,o=t.y,s=Fe._;s;)if((n=Ye(s,o)-a)>Et)s=s.L;else{if(!((i=a-We(s,o))>Et)){n>-Et?(e=s.P,r=s):i>-Et?(e=s,r=s.N):e=r=s;break}if(!s.R){e=s;break}s=s.R}var l=He(t);if(Fe.insert(e,l),e||r){if(e===r)return Qe(e),r=He(e.site),Fe.insert(l,r),l.edge=r.edge=rr(e.site,l.site),$e(e),void $e(r);if(r){Qe(e),Qe(r);var u=e.site,c=u.x,f=u.y,h=t.x-c,p=t.y-f,d=r.site,v=d.x-c,g=d.y-f,y=2*(h*g-p*v),m=h*h+p*p,x=v*v+g*g,b={x:(g*m-p*x)/y+c,y:(h*x-v*m)/y+f};nr(r.edge,u,d,b),l.edge=rr(u,t,null,b),r.edge=rr(t,d,null,b),$e(e),$e(r)}else l.edge=rr(e.site,l.site)}}function Ye(t,e){var r=t.site,n=r.x,i=r.y,a=i-e;if(!a)return n;var o=t.P;if(!o)return-1/0;var s=(r=o.site).x,l=r.y,u=l-e;if(!u)return s;var c=s-n,f=1/a-1/u,h=c/u;return f?(-h+Math.sqrt(h*h-2*f*(c*c/(-2*u)-l+u/2+i-a/2)))/f+n:(n+s)/2}function We(t,e){var r=t.N;if(r)return Ye(r,e);var n=t.site;return n.y===e?n.x:1/0}function Xe(t){this.site=t,this.edges=[]}function Je(t,e){return e.angle-t.angle}function Ke(){or(this),this.x=this.y=this.arc=this.site=this.cy=null}function $e(t){var e=t.P,r=t.N;if(e&&r){var n=e.site,i=t.site,a=r.site;if(n!==a){var o=i.x,s=i.y,l=n.x-o,u=n.y-s,c=a.x-o,f=2*(l*(g=a.y-s)-u*c);if(!(f>=-1e-12)){var h=l*l+u*u,p=c*c+g*g,d=(g*h-u*p)/f,v=(l*p-c*h)/f,g=v+s,y=Ue.pop()||new Ke;y.arc=t,y.site=i,y.x=d+o,y.y=g+Math.sqrt(d*d+v*v),y.cy=g,t.circle=y;for(var m=null,x=Ne._;x;)if(y.y<x.y||y.y===x.y&&y.x<=x.x){if(!x.L){m=x.P;break}x=x.L}else{if(!x.R){m=x;break}x=x.R}Ne.insert(m,y),m||(Be=y)}}}}function Qe(t){var e=t.circle;e&&(e.P||(Be=e.N),Ne.remove(e),Ue.push(e),or(e),t.circle=null)}function tr(t,e){var r=t.b;if(r)return!0;var n,i,a=t.a,o=e[0][0],s=e[1][0],l=e[0][1],u=e[1][1],c=t.l,f=t.r,h=c.x,p=c.y,d=f.x,v=f.y,g=(h+d)/2,y=(p+v)/2;if(v===p){if(g<o||g>=s)return;if(h>d){if(a){if(a.y>=u)return}else a={x:g,y:l};r={x:g,y:u}}else{if(a){if(a.y<l)return}else a={x:g,y:u};r={x:g,y:l}}}else if(i=y-(n=(h-d)/(v-p))*g,n<-1||n>1)if(h>d){if(a){if(a.y>=u)return}else a={x:(l-i)/n,y:l};r={x:(u-i)/n,y:u}}else{if(a){if(a.y<l)return}else a={x:(u-i)/n,y:u};r={x:(l-i)/n,y:l}}else if(p<v){if(a){if(a.x>=s)return}else a={x:o,y:n*o+i};r={x:s,y:n*s+i}}else{if(a){if(a.x<o)return}else a={x:s,y:n*s+i};r={x:o,y:n*o+i}}return t.a=a,t.b=r,!0}function er(t,e){this.l=t,this.r=e,this.a=this.b=null}function rr(t,e,r,n){var i=new er(t,e);return ze.push(i),r&&nr(i,t,e,r),n&&nr(i,e,t,n),Re[t.i].edges.push(new ir(i,t,e)),Re[e.i].edges.push(new ir(i,e,t)),i}function nr(t,e,r,n){t.a||t.b?t.l===r?t.b=n:t.a=n:(t.a=n,t.l=e,t.r=r)}function ir(t,e,r){var n=t.a,i=t.b;this.edge=t,this.site=e,this.angle=r?Math.atan2(r.y-e.y,r.x-e.x):t.l===e?Math.atan2(i.x-n.x,n.y-i.y):Math.atan2(n.x-i.x,i.y-n.y)}function ar(){this._=null}function or(t){t.U=t.C=t.L=t.R=t.P=t.N=null}function sr(t,e){var r=e,n=e.R,i=r.U;i?i.L===r?i.L=n:i.R=n:t._=n,n.U=i,r.U=n,r.R=n.L,r.R&&(r.R.U=r),n.L=r}function lr(t,e){var r=e,n=e.L,i=r.U;i?i.L===r?i.L=n:i.R=n:t._=n,n.U=i,r.U=n,r.L=n.R,r.L&&(r.L.U=r),n.R=r}function ur(t){for(;t.L;)t=t.L;return t}function cr(t,e){var r,n,i,a=t.sort(fr).pop();for(ze=[],Re=new Array(t.length),Fe=new ar,Ne=new ar;;)if(i=Be,a&&(!i||a.y<i.y||a.y===i.y&&a.x<i.x))a.x===r&&a.y===n||(Re[a.i]=new Xe(a),Ze(a),r=a.x,n=a.y),a=t.pop();else{if(!i)break;Ge(i.arc)}e&&(function(t){for(var e,r,n,i,a,o=ze,s=(r=t[0][0],n=t[0][1],i=t[1][0],a=t[1][1],function(t){var e,o=t.a,s=t.b,l=o.x,u=o.y,c=0,f=1,h=s.x-l,p=s.y-u;if(e=r-l,h||!(e>0)){if(e/=h,h<0){if(e<c)return;e<f&&(f=e)}else if(h>0){if(e>f)return;e>c&&(c=e)}if(e=i-l,h||!(e<0)){if(e/=h,h<0){if(e>f)return;e>c&&(c=e)}else if(h>0){if(e<c)return;e<f&&(f=e)}if(e=n-u,p||!(e>0)){if(e/=p,p<0){if(e<c)return;e<f&&(f=e)}else if(p>0){if(e>f)return;e>c&&(c=e)}if(e=a-u,p||!(e<0)){if(e/=p,p<0){if(e>f)return;e>c&&(c=e)}else if(p>0){if(e<c)return;e<f&&(f=e)}return c>0&&(t.a={x:l+c*h,y:u+c*p}),f<1&&(t.b={x:l+f*h,y:u+f*p}),t}}}}}),l=o.length;l--;)(!tr(e=o[l],t)||!s(e)||w(e.a.x-e.b.x)<Et&&w(e.a.y-e.b.y)<Et)&&(e.a=e.b=null,o.splice(l,1))}(e),function(t){for(var e,r,n,i,a,o,s,l,u,c,f=t[0][0],h=t[1][0],p=t[0][1],d=t[1][1],v=Re,g=v.length;g--;)if((a=v[g])&&a.prepare())for(l=(s=a.edges).length,o=0;o<l;)n=(c=s[o].end()).x,i=c.y,e=(u=s[++o%l].start()).x,r=u.y,(w(n-e)>Et||w(i-r)>Et)&&(s.splice(o,0,new ir((y=a.site,m=c,x=w(n-f)<Et&&d-i>Et?{x:f,y:w(e-f)<Et?r:d}:w(i-d)<Et&&h-n>Et?{x:w(r-d)<Et?e:h,y:d}:w(n-h)<Et&&i-p>Et?{x:h,y:w(e-h)<Et?r:p}:w(i-p)<Et&&n-f>Et?{x:w(r-p)<Et?e:f,y:p}:null,b=void 0,(b=new er(y,null)).a=m,b.b=x,ze.push(b),b),a.site,null)),++l);var y,m,x,b}(e));var o={cells:Re,edges:ze};return Fe=Ne=ze=Re=null,o}function fr(t,e){return e.y-t.y||e.x-t.x}Xe.prototype.prepare=function(){for(var t,e=this.edges,r=e.length;r--;)(t=e[r].edge).b&&t.a||e.splice(r,1);return e.sort(Je),e.length},ir.prototype={start:function(){return this.edge.l===this.site?this.edge.a:this.edge.b},end:function(){return this.edge.l===this.site?this.edge.b:this.edge.a}},ar.prototype={insert:function(t,e){var r,n,i;if(t){if(e.P=t,e.N=t.N,t.N&&(t.N.P=e),t.N=e,t.R){for(t=t.R;t.L;)t=t.L;t.L=e}else t.R=e;r=t}else this._?(t=ur(this._),e.P=null,e.N=t,t.P=t.L=e,r=t):(e.P=e.N=null,this._=e,r=null);for(e.L=e.R=null,e.U=r,e.C=!0,t=e;r&&r.C;)r===(n=r.U).L?(i=n.R)&&i.C?(r.C=i.C=!1,n.C=!0,t=n):(t===r.R&&(sr(this,r),r=(t=r).U),r.C=!1,n.C=!0,lr(this,n)):(i=n.L)&&i.C?(r.C=i.C=!1,n.C=!0,t=n):(t===r.L&&(lr(this,r),r=(t=r).U),r.C=!1,n.C=!0,sr(this,n)),r=t.U;this._.C=!1},remove:function(t){t.N&&(t.N.P=t.P),t.P&&(t.P.N=t.N),t.N=t.P=null;var e,r,n,i=t.U,a=t.L,o=t.R;if(r=a?o?ur(o):a:o,i?i.L===t?i.L=r:i.R=r:this._=r,a&&o?(n=r.C,r.C=t.C,r.L=a,a.U=r,r!==o?(i=r.U,r.U=t.U,t=r.R,i.L=t,r.R=o,o.U=r):(r.U=i,i=r,t=r.R)):(n=t.C,t=r),t&&(t.U=i),!n)if(t&&t.C)t.C=!1;else{do{if(t===this._)break;if(t===i.L){if((e=i.R).C&&(e.C=!1,i.C=!0,sr(this,i),e=i.R),e.L&&e.L.C||e.R&&e.R.C){e.R&&e.R.C||(e.L.C=!1,e.C=!0,lr(this,e),e=i.R),e.C=i.C,i.C=e.R.C=!1,sr(this,i),t=this._;break}}else if((e=i.L).C&&(e.C=!1,i.C=!0,lr(this,i),e=i.L),e.L&&e.L.C||e.R&&e.R.C){e.L&&e.L.C||(e.R.C=!1,e.C=!0,sr(this,e),e=i.L),e.C=i.C,i.C=e.L.C=!1,lr(this,i),t=this._;break}e.C=!0,t=i,i=i.U}while(!t.C);t&&(t.C=!1)}}},a.geom.voronoi=function(t){var e=Se,r=Ee,n=e,i=r,a=hr;if(t)return o(t);function o(t){var e=new Array(t.length),r=a[0][0],n=a[0][1],i=a[1][0],o=a[1][1];return cr(s(t),a).cells.forEach((function(a,s){var l=a.edges,u=a.site;(e[s]=l.length?l.map((function(t){var e=t.start();return[e.x,e.y]})):u.x>=r&&u.x<=i&&u.y>=n&&u.y<=o?[[r,o],[i,o],[i,n],[r,n]]:[]).point=t[s]})),e}function s(t){return t.map((function(t,e){return{x:Math.round(n(t,e)/Et)*Et,y:Math.round(i(t,e)/Et)*Et,i:e}}))}return o.links=function(t){return cr(s(t)).edges.filter((function(t){return t.l&&t.r})).map((function(e){return{source:t[e.l.i],target:t[e.r.i]}}))},o.triangles=function(t){var e=[];return cr(s(t)).cells.forEach((function(r,n){for(var i,a,o,s,l=r.site,u=r.edges.sort(Je),c=-1,f=u.length,h=u[f-1].edge,p=h.l===l?h.r:h.l;++c<f;)i=p,p=(h=u[c].edge).l===l?h.r:h.l,n<i.i&&n<p.i&&(o=i,s=p,((a=l).x-s.x)*(o.y-a.y)-(a.x-o.x)*(s.y-a.y)<0)&&e.push([t[n],t[i.i],t[p.i]])})),e},o.x=function(t){return arguments.length?(n=ve(e=t),o):e},o.y=function(t){return arguments.length?(i=ve(r=t),o):r},o.clipExtent=function(t){return arguments.length?(a=null==t?hr:t,o):a===hr?null:a},o.size=function(t){return arguments.length?o.clipExtent(t&&[[0,0],t]):a===hr?null:a&&a[1]},o};var hr=[[-1e6,-1e6],[1e6,1e6]];function pr(t){return t.x}function dr(t){return t.y}function vr(t,e,r,n,i,a){if(!t(e,r,n,i,a)){var o=.5*(r+i),s=.5*(n+a),l=e.nodes;l[0]&&vr(t,l[0],r,n,o,s),l[1]&&vr(t,l[1],o,n,i,s),l[2]&&vr(t,l[2],r,s,o,a),l[3]&&vr(t,l[3],o,s,i,a)}}function gr(t,e,r,n,i,a,o){var s,l=1/0;return function t(u,c,f,h,p){if(!(c>a||f>o||h<n||p<i)){if(d=u.point){var d,v=e-u.x,g=r-u.y,y=v*v+g*g;if(y<l){var m=Math.sqrt(l=y);n=e-m,i=r-m,a=e+m,o=r+m,s=d}}for(var x=u.nodes,b=.5*(c+h),_=.5*(f+p),w=(r>=_)<<1|e>=b,T=w+4;w<T;++w)if(u=x[3&w])switch(3&w){case 0:t(u,c,f,b,_);break;case 1:t(u,b,f,h,_);break;case 2:t(u,c,_,b,p);break;case 3:t(u,b,_,h,p)}}}(t,n,i,a,o),s}function yr(t,e){t=a.rgb(t),e=a.rgb(e);var r=t.r,n=t.g,i=t.b,o=e.r-r,s=e.g-n,l=e.b-i;return function(t){return"#"+le(Math.round(r+o*t))+le(Math.round(n+s*t))+le(Math.round(i+l*t))}}function mr(t,e){var r,n={},i={};for(r in t)r in e?n[r]=Tr(t[r],e[r]):i[r]=t[r];for(r in e)r in t||(i[r]=e[r]);return function(t){for(r in n)i[r]=n[r](t);return i}}function xr(t,e){return t=+t,e=+e,function(r){return t*(1-r)+e*r}}function br(t,e){var r,n,i,a=_r.lastIndex=wr.lastIndex=0,o=-1,s=[],l=[];for(t+="",e+="";(r=_r.exec(t))&&(n=wr.exec(e));)(i=n.index)>a&&(i=e.slice(a,i),s[o]?s[o]+=i:s[++o]=i),(r=r[0])===(n=n[0])?s[o]?s[o]+=n:s[++o]=n:(s[++o]=null,l.push({i:o,x:xr(r,n)})),a=wr.lastIndex;return a<e.length&&(i=e.slice(a),s[o]?s[o]+=i:s[++o]=i),s.length<2?l[0]?(e=l[0].x,function(t){return e(t)+""}):function(){return e}:(e=l.length,function(t){for(var r,n=0;n<e;++n)s[(r=l[n]).i]=r.x(t);return s.join("")})}a.geom.delaunay=function(t){return a.geom.voronoi().triangles(t)},a.geom.quadtree=function(t,e,r,n,i){var a,o=Se,s=Ee;if(a=arguments.length)return o=pr,s=dr,3===a&&(i=r,n=e,r=e=0),l(t);function l(t){var l,u,c,f,h,p,d,v,g,y=ve(o),m=ve(s);if(null!=e)p=e,d=r,v=n,g=i;else if(v=g=-(p=d=1/0),u=[],c=[],h=t.length,a)for(f=0;f<h;++f)(l=t[f]).x<p&&(p=l.x),l.y<d&&(d=l.y),l.x>v&&(v=l.x),l.y>g&&(g=l.y),u.push(l.x),c.push(l.y);else for(f=0;f<h;++f){var x=+y(l=t[f],f),b=+m(l,f);x<p&&(p=x),b<d&&(d=b),x>v&&(v=x),b>g&&(g=b),u.push(x),c.push(b)}var _=v-p,T=g-d;function k(t,e,r,n,i,a,o,s){if(!isNaN(r)&&!isNaN(n))if(t.leaf){var l=t.x,u=t.y;if(null!=l)if(w(l-r)+w(u-n)<.01)A(t,e,r,n,i,a,o,s);else{var c=t.point;t.x=t.y=t.point=null,A(t,c,l,u,i,a,o,s),A(t,e,r,n,i,a,o,s)}else t.x=r,t.y=n,t.point=e}else A(t,e,r,n,i,a,o,s)}function A(t,e,r,n,i,a,o,s){var l=.5*(i+o),u=.5*(a+s),c=r>=l,f=n>=u,h=f<<1|c;t.leaf=!1,c?i=l:o=l,f?a=u:s=u,k(t=t.nodes[h]||(t.nodes[h]={leaf:!0,nodes:[],point:null,x:null,y:null}),e,r,n,i,a,o,s)}_>T?g=d+_:v=p+T;var M={leaf:!0,nodes:[],point:null,x:null,y:null,add:function(t){k(M,t,+y(t,++f),+m(t,f),p,d,v,g)},visit:function(t){vr(t,M,p,d,v,g)},find:function(t){return gr(M,t[0],t[1],p,d,v,g)}};if(f=-1,null==e){for(;++f<h;)k(M,t[f],u[f],c[f],p,d,v,g);--f}else t.forEach(M.add);return u=c=t=l=null,M}return l.x=function(t){return arguments.length?(o=t,l):o},l.y=function(t){return arguments.length?(s=t,l):s},l.extent=function(t){return arguments.length?(null==t?e=r=n=i=null:(e=+t[0][0],r=+t[0][1],n=+t[1][0],i=+t[1][1]),l):null==e?null:[[e,r],[n,i]]},l.size=function(t){return arguments.length?(null==t?e=r=n=i=null:(e=r=0,n=+t[0],i=+t[1]),l):null==e?null:[n-e,i-r]},l},a.interpolateRgb=yr,a.interpolateObject=mr,a.interpolateNumber=xr,a.interpolateString=br;var _r=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,wr=new RegExp(_r.source,"g");function Tr(t,e){for(var r,n=a.interpolators.length;--n>=0&&!(r=a.interpolators[n](t,e)););return r}function kr(t,e){var r,n=[],i=[],a=t.length,o=e.length,s=Math.min(t.length,e.length);for(r=0;r<s;++r)n.push(Tr(t[r],e[r]));for(;r<a;++r)i[r]=t[r];for(;r<o;++r)i[r]=e[r];return function(t){for(r=0;r<s;++r)i[r]=n[r](t);return i}}a.interpolate=Tr,a.interpolators=[function(t,e){var r=typeof e;return("string"===r?de.has(e.toLowerCase())||/^(#|rgb\(|hsl\()/i.test(e)?yr:br:e instanceof Ut?yr:Array.isArray(e)?kr:"object"===r&&isNaN(e)?mr:xr)(t,e)}],a.interpolateArray=kr;var Ar=function(){return D},Mr=a.map({linear:Ar,poly:function(t){return function(e){return Math.pow(e,t)}},quad:function(){return Pr},cubic:function(){return Or},sin:function(){return Dr},exp:function(){return zr},circle:function(){return Rr},elastic:function(t,e){var r;return arguments.length<2&&(e=.45),arguments.length?r=e/Ct*Math.asin(1/t):(t=1,r=e/4),function(n){return 1+t*Math.pow(2,-10*n)*Math.sin((n-r)*Ct/e)}},back:function(t){return t||(t=1.70158),function(e){return e*e*((t+1)*e-t)}},bounce:function(){return Fr}}),Sr=a.map({in:D,out:Lr,"in-out":Cr,"out-in":function(t){return Cr(Lr(t))}});function Er(t){return function(e){return e<=0?0:e>=1?1:t(e)}}function Lr(t){return function(e){return 1-t(1-e)}}function Cr(t){return function(e){return.5*(e<.5?t(2*e):2-t(2-2*e))}}function Pr(t){return t*t}function Or(t){return t*t*t}function Ir(t){if(t<=0)return 0;if(t>=1)return 1;var e=t*t,r=e*t;return 4*(t<.5?r:3*(t-e)+r-.75)}function Dr(t){return 1-Math.cos(t*Ot)}function zr(t){return Math.pow(2,10*(t-1))}function Rr(t){return 1-Math.sqrt(1-t*t)}function Fr(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375}function Br(t,e){return e-=t,function(r){return Math.round(t+e*r)}}function Nr(t){var e,r,n,i=[t.a,t.b],a=[t.c,t.d],o=Ur(i),s=jr(i,a),l=Ur(((e=a)[0]+=(n=-s)*(r=i)[0],e[1]+=n*r[1],e))||0;i[0]*a[1]<a[0]*i[1]&&(i[0]*=-1,i[1]*=-1,o*=-1,s*=-1),this.rotate=(o?Math.atan2(i[1],i[0]):Math.atan2(-a[0],a[1]))*Dt,this.translate=[t.e,t.f],this.scale=[o,l],this.skew=l?Math.atan2(s,l)*Dt:0}function jr(t,e){return t[0]*e[0]+t[1]*e[1]}function Ur(t){var e=Math.sqrt(jr(t,t));return e&&(t[0]/=e,t[1]/=e),e}a.ease=function(t){var e=t.indexOf("-"),r=e>=0?t.slice(0,e):t,n=e>=0?t.slice(e+1):"in";return r=Mr.get(r)||Ar,Er((n=Sr.get(n)||D)(r.apply(null,o.call(arguments,1))))},a.interpolateHcl=function(t,e){t=a.hcl(t),e=a.hcl(e);var r=t.h,n=t.c,i=t.l,o=e.h-r,s=e.c-n,l=e.l-i;return isNaN(s)&&(s=0,n=isNaN(n)?e.c:n),isNaN(o)?(o=0,r=isNaN(r)?e.h:r):o>180?o-=360:o<-180&&(o+=360),function(t){return Yt(r+o*t,n+s*t,i+l*t)+""}},a.interpolateHsl=function(t,e){t=a.hsl(t),e=a.hsl(e);var r=t.h,n=t.s,i=t.l,o=e.h-r,s=e.s-n,l=e.l-i;return isNaN(s)&&(s=0,n=isNaN(n)?e.s:n),isNaN(o)?(o=0,r=isNaN(r)?e.h:r):o>180?o-=360:o<-180&&(o+=360),function(t){return qt(r+o*t,n+s*t,i+l*t)+""}},a.interpolateLab=function(t,e){t=a.lab(t),e=a.lab(e);var r=t.l,n=t.a,i=t.b,o=e.l-r,s=e.a-n,l=e.b-i;return function(t){return Qt(r+o*t,n+s*t,i+l*t)+""}},a.interpolateRound=Br,a.transform=function(t){var e=l.createElementNS(a.ns.prefix.svg,"g");return(a.transform=function(t){if(null!=t){e.setAttribute("transform",t);var r=e.transform.baseVal.consolidate()}return new Nr(r?r.matrix:Vr)})(t)},Nr.prototype.toString=function(){return"translate("+this.translate+")rotate("+this.rotate+")skewX("+this.skew+")scale("+this.scale+")"};var Vr={a:1,b:0,c:0,d:1,e:0,f:0};function Hr(t){return t.length?t.pop()+",":""}function qr(t,e){var r=[],n=[];return t=a.transform(t),e=a.transform(e),function(t,e,r,n){if(t[0]!==e[0]||t[1]!==e[1]){var i=r.push("translate(",null,",",null,")");n.push({i:i-4,x:xr(t[0],e[0])},{i:i-2,x:xr(t[1],e[1])})}else(e[0]||e[1])&&r.push("translate("+e+")")}(t.translate,e.translate,r,n),function(t,e,r,n){t!==e?(t-e>180?e+=360:e-t>180&&(t+=360),n.push({i:r.push(Hr(r)+"rotate(",null,")")-2,x:xr(t,e)})):e&&r.push(Hr(r)+"rotate("+e+")")}(t.rotate,e.rotate,r,n),function(t,e,r,n){t!==e?n.push({i:r.push(Hr(r)+"skewX(",null,")")-2,x:xr(t,e)}):e&&r.push(Hr(r)+"skewX("+e+")")}(t.skew,e.skew,r,n),function(t,e,r,n){if(t[0]!==e[0]||t[1]!==e[1]){var i=r.push(Hr(r)+"scale(",null,",",null,")");n.push({i:i-4,x:xr(t[0],e[0])},{i:i-2,x:xr(t[1],e[1])})}else 1===e[0]&&1===e[1]||r.push(Hr(r)+"scale("+e+")")}(t.scale,e.scale,r,n),t=e=null,function(t){for(var e,i=-1,a=n.length;++i<a;)r[(e=n[i]).i]=e.x(t);return r.join("")}}function Gr(t,e){return e=(e-=t=+t)||1/e,function(r){return(r-t)/e}}function Zr(t,e){return e=(e-=t=+t)||1/e,function(r){return Math.max(0,Math.min(1,(r-t)/e))}}function Yr(t){for(var e=t.source,r=t.target,n=function(t,e){if(t===e)return t;for(var r=Wr(t),n=Wr(e),i=r.pop(),a=n.pop(),o=null;i===a;)o=i,i=r.pop(),a=n.pop();return o}(e,r),i=[e];e!==n;)e=e.parent,i.push(e);for(var a=i.length;r!==n;)i.splice(a,0,r),r=r.parent;return i}function Wr(t){for(var e=[],r=t.parent;null!=r;)e.push(t),t=r,r=r.parent;return e.push(t),e}function Xr(t){t.fixed|=2}function Jr(t){t.fixed&=-7}function Kr(t){t.fixed|=4,t.px=t.x,t.py=t.y}function $r(t){t.fixed&=-5}function Qr(t,e,r){var n=0,i=0;if(t.charge=0,!t.leaf)for(var a,o=t.nodes,s=o.length,l=-1;++l<s;)null!=(a=o[l])&&(Qr(a,e,r),t.charge+=a.charge,n+=a.charge*a.cx,i+=a.charge*a.cy);if(t.point){t.leaf||(t.point.x+=Math.random()-.5,t.point.y+=Math.random()-.5);var u=e*r[t.point.index];t.charge+=t.pointCharge=u,n+=u*t.point.x,i+=u*t.point.y}t.cx=n/t.charge,t.cy=i/t.charge}a.interpolateTransform=qr,a.layout={},a.layout.bundle=function(){return function(t){for(var e=[],r=-1,n=t.length;++r<n;)e.push(Yr(t[r]));return e}},a.layout.chord=function(){var t,e,r,n,i,o,s,l={},u=0;function c(){var l,c,h,p,d,v={},g=[],y=a.range(n),m=[];for(t=[],e=[],l=0,p=-1;++p<n;){for(c=0,d=-1;++d<n;)c+=r[p][d];g.push(c),m.push(a.range(n)),l+=c}for(i&&y.sort((function(t,e){return i(g[t],g[e])})),o&&m.forEach((function(t,e){t.sort((function(t,n){return o(r[e][t],r[e][n])}))})),l=(Ct-u*n)/l,c=0,p=-1;++p<n;){for(h=c,d=-1;++d<n;){var x=y[p],b=m[x][d],_=r[x][b],w=c,T=c+=_*l;v[x+"-"+b]={index:x,subindex:b,startAngle:w,endAngle:T,value:_}}e[x]={index:x,startAngle:h,endAngle:c,value:g[x]},c+=u}for(p=-1;++p<n;)for(d=p-1;++d<n;){var k=v[p+"-"+d],A=v[d+"-"+p];(k.value||A.value)&&t.push(k.value<A.value?{source:A,target:k}:{source:k,target:A})}s&&f()}function f(){t.sort((function(t,e){return s((t.source.value+t.target.value)/2,(e.source.value+e.target.value)/2)}))}return l.matrix=function(i){return arguments.length?(n=(r=i)&&r.length,t=e=null,l):r},l.padding=function(r){return arguments.length?(u=r,t=e=null,l):u},l.sortGroups=function(r){return arguments.length?(i=r,t=e=null,l):i},l.sortSubgroups=function(e){return arguments.length?(o=e,t=null,l):o},l.sortChords=function(e){return arguments.length?(s=e,t&&f(),l):s},l.chords=function(){return t||c(),t},l.groups=function(){return e||c(),e},l},a.layout.force=function(){var t,e,r,n,i,o,s={},l=a.dispatch("start","tick","end"),u=[1,1],c=.9,f=tn,h=en,p=-30,d=rn,v=.1,g=.64,y=[],m=[];function x(t){return function(e,r,n,i){if(e.point!==t){var a=e.cx-t.x,o=e.cy-t.y,s=i-r,l=a*a+o*o;if(s*s/g<l){if(l<d){var u=e.charge/l;t.px-=a*u,t.py-=o*u}return!0}e.point&&l&&l<d&&(u=e.pointCharge/l,t.px-=a*u,t.py-=o*u)}return!e.charge}}function b(t){t.px=a.event.x,t.py=a.event.y,s.resume()}return s.tick=function(){if((r*=.99)<.005)return t=null,l.end({type:"end",alpha:r=0}),!0;var e,s,f,h,d,g,b,_,w,T=y.length,k=m.length;for(s=0;s<k;++s)h=(f=m[s]).source,(g=(_=(d=f.target).x-h.x)*_+(w=d.y-h.y)*w)&&(_*=g=r*i[s]*((g=Math.sqrt(g))-n[s])/g,w*=g,d.x-=_*(b=h.weight+d.weight?h.weight/(h.weight+d.weight):.5),d.y-=w*b,h.x+=_*(b=1-b),h.y+=w*b);if((b=r*v)&&(_=u[0]/2,w=u[1]/2,s=-1,b))for(;++s<T;)(f=y[s]).x+=(_-f.x)*b,f.y+=(w-f.y)*b;if(p)for(Qr(e=a.geom.quadtree(y),r,o),s=-1;++s<T;)(f=y[s]).fixed||e.visit(x(f));for(s=-1;++s<T;)(f=y[s]).fixed?(f.x=f.px,f.y=f.py):(f.x-=(f.px-(f.px=f.x))*c,f.y-=(f.py-(f.py=f.y))*c);l.tick({type:"tick",alpha:r})},s.nodes=function(t){return arguments.length?(y=t,s):y},s.links=function(t){return arguments.length?(m=t,s):m},s.size=function(t){return arguments.length?(u=t,s):u},s.linkDistance=function(t){return arguments.length?(f="function"==typeof t?t:+t,s):f},s.distance=s.linkDistance,s.linkStrength=function(t){return arguments.length?(h="function"==typeof t?t:+t,s):h},s.friction=function(t){return arguments.length?(c=+t,s):c},s.charge=function(t){return arguments.length?(p="function"==typeof t?t:+t,s):p},s.chargeDistance=function(t){return arguments.length?(d=t*t,s):Math.sqrt(d)},s.gravity=function(t){return arguments.length?(v=+t,s):v},s.theta=function(t){return arguments.length?(g=t*t,s):Math.sqrt(g)},s.alpha=function(e){return arguments.length?(e=+e,r?e>0?r=e:(t.c=null,t.t=NaN,t=null,l.end({type:"end",alpha:r=0})):e>0&&(l.start({type:"start",alpha:r=e}),t=Te(s.tick)),s):r},s.start=function(){var t,e,r,a=y.length,l=m.length,c=u[0],d=u[1];for(t=0;t<a;++t)(r=y[t]).index=t,r.weight=0;for(t=0;t<l;++t)"number"==typeof(r=m[t]).source&&(r.source=y[r.source]),"number"==typeof r.target&&(r.target=y[r.target]),++r.source.weight,++r.target.weight;for(t=0;t<a;++t)r=y[t],isNaN(r.x)&&(r.x=v("x",c)),isNaN(r.y)&&(r.y=v("y",d)),isNaN(r.px)&&(r.px=r.x),isNaN(r.py)&&(r.py=r.y);if(n=[],"function"==typeof f)for(t=0;t<l;++t)n[t]=+f.call(this,m[t],t);else for(t=0;t<l;++t)n[t]=f;if(i=[],"function"==typeof h)for(t=0;t<l;++t)i[t]=+h.call(this,m[t],t);else for(t=0;t<l;++t)i[t]=h;if(o=[],"function"==typeof p)for(t=0;t<a;++t)o[t]=+p.call(this,y[t],t);else for(t=0;t<a;++t)o[t]=p;function v(r,n){if(!e){for(e=new Array(a),u=0;u<a;++u)e[u]=[];for(u=0;u<l;++u){var i=m[u];e[i.source.index].push(i.target),e[i.target.index].push(i.source)}}for(var o,s=e[t],u=-1,c=s.length;++u<c;)if(!isNaN(o=s[u][r]))return o;return Math.random()*n}return s.resume()},s.resume=function(){return s.alpha(.1)},s.stop=function(){return s.alpha(0)},s.drag=function(){if(e||(e=a.behavior.drag().origin(D).on("dragstart.force",Xr).on("drag.force",b).on("dragend.force",Jr)),!arguments.length)return e;this.on("mouseover.force",Kr).on("mouseout.force",$r).call(e)},a.rebind(s,l,"on")};var tn=20,en=1,rn=1/0;function nn(t,e){return a.rebind(t,e,"sort","children","value"),t.nodes=t,t.links=cn,t}function an(t,e){for(var r=[t];null!=(t=r.pop());)if(e(t),(i=t.children)&&(n=i.length))for(var n,i;--n>=0;)r.push(i[n])}function on(t,e){for(var r=[t],n=[];null!=(t=r.pop());)if(n.push(t),(a=t.children)&&(i=a.length))for(var i,a,o=-1;++o<i;)r.push(a[o]);for(;null!=(t=n.pop());)e(t)}function sn(t){return t.children}function ln(t){return t.value}function un(t,e){return e.value-t.value}function cn(t){return a.merge(t.map((function(t){return(t.children||[]).map((function(e){return{source:t,target:e}}))})))}a.layout.hierarchy=function(){var t=un,e=sn,r=ln;function n(i){var a,o=[i],s=[];for(i.depth=0;null!=(a=o.pop());)if(s.push(a),(u=e.call(n,a,a.depth))&&(l=u.length)){for(var l,u,c;--l>=0;)o.push(c=u[l]),c.parent=a,c.depth=a.depth+1;r&&(a.value=0),a.children=u}else r&&(a.value=+r.call(n,a,a.depth)||0),delete a.children;return on(i,(function(e){var n,i;t&&(n=e.children)&&n.sort(t),r&&(i=e.parent)&&(i.value+=e.value)})),s}return n.sort=function(e){return arguments.length?(t=e,n):t},n.children=function(t){return arguments.length?(e=t,n):e},n.value=function(t){return arguments.length?(r=t,n):r},n.revalue=function(t){return r&&(an(t,(function(t){t.children&&(t.value=0)})),on(t,(function(t){var e;t.children||(t.value=+r.call(n,t,t.depth)||0),(e=t.parent)&&(e.value+=t.value)}))),t},n},a.layout.partition=function(){var t=a.layout.hierarchy(),e=[1,1];function r(t,e,n,i){var a=t.children;if(t.x=e,t.y=t.depth*i,t.dx=n,t.dy=i,a&&(o=a.length)){var o,s,l,u=-1;for(n=t.value?n/t.value:0;++u<o;)r(s=a[u],e,l=s.value*n,i),e+=l}}function n(t){var e=t.children,r=0;if(e&&(i=e.length))for(var i,a=-1;++a<i;)r=Math.max(r,n(e[a]));return 1+r}function i(i,a){var o=t.call(this,i,a);return r(o[0],0,e[0],e[1]/n(o[0])),o}return i.size=function(t){return arguments.length?(e=t,i):e},nn(i,t)},a.layout.pie=function(){var t=Number,e=fn,r=0,n=Ct,i=0;function o(s){var l,u=s.length,c=s.map((function(e,r){return+t.call(o,e,r)})),f=+("function"==typeof r?r.apply(this,arguments):r),h=("function"==typeof n?n.apply(this,arguments):n)-f,p=Math.min(Math.abs(h)/u,+("function"==typeof i?i.apply(this,arguments):i)),d=p*(h<0?-1:1),v=a.sum(c),g=v?(h-u*d)/v:0,y=a.range(u),m=[];return null!=e&&y.sort(e===fn?function(t,e){return c[e]-c[t]}:function(t,r){return e(s[t],s[r])}),y.forEach((function(t){m[t]={data:s[t],value:l=c[t],startAngle:f,endAngle:f+=l*g+d,padAngle:p}})),m}return o.value=function(e){return arguments.length?(t=e,o):t},o.sort=function(t){return arguments.length?(e=t,o):e},o.startAngle=function(t){return arguments.length?(r=t,o):r},o.endAngle=function(t){return arguments.length?(n=t,o):n},o.padAngle=function(t){return arguments.length?(i=t,o):i},o};var fn={};function hn(t){return t.x}function pn(t){return t.y}function dn(t,e,r){t.y0=e,t.y=r}a.layout.stack=function(){var t=D,e=yn,r=mn,n=dn,i=hn,o=pn;function s(l,u){if(!(p=l.length))return l;var c=l.map((function(e,r){return t.call(s,e,r)})),f=c.map((function(t){return t.map((function(t,e){return[i.call(s,t,e),o.call(s,t,e)]}))})),h=e.call(s,f,u);c=a.permute(c,h),f=a.permute(f,h);var p,d,v,g,y=r.call(s,f,u),m=c[0].length;for(v=0;v<m;++v)for(n.call(s,c[0][v],g=y[v],f[0][v][1]),d=1;d<p;++d)n.call(s,c[d][v],g+=f[d-1][v][1],f[d][v][1]);return l}return s.values=function(e){return arguments.length?(t=e,s):t},s.order=function(t){return arguments.length?(e="function"==typeof t?t:vn.get(t)||yn,s):e},s.offset=function(t){return arguments.length?(r="function"==typeof t?t:gn.get(t)||mn,s):r},s.x=function(t){return arguments.length?(i=t,s):i},s.y=function(t){return arguments.length?(o=t,s):o},s.out=function(t){return arguments.length?(n=t,s):n},s};var vn=a.map({"inside-out":function(t){var e,r,n=t.length,i=t.map(xn),o=t.map(bn),s=a.range(n).sort((function(t,e){return i[t]-i[e]})),l=0,u=0,c=[],f=[];for(e=0;e<n;++e)r=s[e],l<u?(l+=o[r],c.push(r)):(u+=o[r],f.push(r));return f.reverse().concat(c)},reverse:function(t){return a.range(t.length).reverse()},default:yn}),gn=a.map({silhouette:function(t){var e,r,n,i=t.length,a=t[0].length,o=[],s=0,l=[];for(r=0;r<a;++r){for(e=0,n=0;e<i;e++)n+=t[e][r][1];n>s&&(s=n),o.push(n)}for(r=0;r<a;++r)l[r]=(s-o[r])/2;return l},wiggle:function(t){var e,r,n,i,a,o,s,l,u,c=t.length,f=t[0],h=f.length,p=[];for(p[0]=l=u=0,r=1;r<h;++r){for(e=0,i=0;e<c;++e)i+=t[e][r][1];for(e=0,a=0,s=f[r][0]-f[r-1][0];e<c;++e){for(n=0,o=(t[e][r][1]-t[e][r-1][1])/(2*s);n<e;++n)o+=(t[n][r][1]-t[n][r-1][1])/s;a+=o*t[e][r][1]}p[r]=l-=i?a/i*s:0,l<u&&(u=l)}for(r=0;r<h;++r)p[r]-=u;return p},expand:function(t){var e,r,n,i=t.length,a=t[0].length,o=1/i,s=[];for(r=0;r<a;++r){for(e=0,n=0;e<i;e++)n+=t[e][r][1];if(n)for(e=0;e<i;e++)t[e][r][1]/=n;else for(e=0;e<i;e++)t[e][r][1]=o}for(r=0;r<a;++r)s[r]=0;return s},zero:mn});function yn(t){return a.range(t.length)}function mn(t){for(var e=-1,r=t[0].length,n=[];++e<r;)n[e]=0;return n}function xn(t){for(var e,r=1,n=0,i=t[0][1],a=t.length;r<a;++r)(e=t[r][1])>i&&(n=r,i=e);return n}function bn(t){return t.reduce(_n,0)}function _n(t,e){return t+e[1]}function wn(t,e){return Tn(t,Math.ceil(Math.log(e.length)/Math.LN2+1))}function Tn(t,e){for(var r=-1,n=+t[0],i=(t[1]-n)/e,a=[];++r<=e;)a[r]=i*r+n;return a}function kn(t){return[a.min(t),a.max(t)]}function An(t,e){return t.value-e.value}function Mn(t,e){var r=t._pack_next;t._pack_next=e,e._pack_prev=t,e._pack_next=r,r._pack_prev=e}function Sn(t,e){t._pack_next=e,e._pack_prev=t}function En(t,e){var r=e.x-t.x,n=e.y-t.y,i=t.r+e.r;return.999*i*i>r*r+n*n}function Ln(t){if((e=t.children)&&(l=e.length)){var e,r,n,i,a,o,s,l,u=1/0,c=-1/0,f=1/0,h=-1/0;if(e.forEach(Cn),(r=e[0]).x=-r.r,r.y=0,x(r),l>1&&((n=e[1]).x=n.r,n.y=0,x(n),l>2))for(In(r,n,i=e[2]),x(i),Mn(r,i),r._pack_prev=i,Mn(i,n),n=r._pack_next,a=3;a<l;a++){In(r,n,i=e[a]);var p=0,d=1,v=1;for(o=n._pack_next;o!==n;o=o._pack_next,d++)if(En(o,i)){p=1;break}if(1==p)for(s=r._pack_prev;s!==o._pack_prev&&!En(s,i);s=s._pack_prev,v++);p?(d<v||d==v&&n.r<r.r?Sn(r,n=o):Sn(r=s,n),a--):(Mn(r,i),n=i,x(i))}var g=(u+c)/2,y=(f+h)/2,m=0;for(a=0;a<l;a++)(i=e[a]).x-=g,i.y-=y,m=Math.max(m,i.r+Math.sqrt(i.x*i.x+i.y*i.y));t.r=m,e.forEach(Pn)}function x(t){u=Math.min(t.x-t.r,u),c=Math.max(t.x+t.r,c),f=Math.min(t.y-t.r,f),h=Math.max(t.y+t.r,h)}}function Cn(t){t._pack_next=t._pack_prev=t}function Pn(t){delete t._pack_next,delete t._pack_prev}function On(t,e,r,n){var i=t.children;if(t.x=e+=n*t.x,t.y=r+=n*t.y,t.r*=n,i)for(var a=-1,o=i.length;++a<o;)On(i[a],e,r,n)}function In(t,e,r){var n=t.r+r.r,i=e.x-t.x,a=e.y-t.y;if(n&&(i||a)){var o=e.r+r.r,s=i*i+a*a,l=.5+((n*=n)-(o*=o))/(2*s),u=Math.sqrt(Math.max(0,2*o*(n+s)-(n-=s)*n-o*o))/(2*s);r.x=t.x+l*i+u*a,r.y=t.y+l*a-u*i}else r.x=t.x+n,r.y=t.y}function Dn(t,e){return t.parent==e.parent?1:2}function zn(t){var e=t.children;return e.length?e[0]:t.t}function Rn(t){var e,r=t.children;return(e=r.length)?r[e-1]:t.t}function Fn(t,e,r){var n=r/(e.i-t.i);e.c-=n,e.s+=r,t.c+=n,e.z+=r,e.m+=r}function Bn(t,e,r){return t.a.parent===e.parent?t.a:r}function Nn(t){var e=t.children;return e&&e.length?Nn(e[0]):t}function jn(t){var e,r=t.children;return r&&(e=r.length)?jn(r[e-1]):t}function Un(t){return{x:t.x,y:t.y,dx:t.dx,dy:t.dy}}function Vn(t,e){var r=t.x+e[3],n=t.y+e[0],i=t.dx-e[1]-e[3],a=t.dy-e[0]-e[2];return i<0&&(r+=i/2,i=0),a<0&&(n+=a/2,a=0),{x:r,y:n,dx:i,dy:a}}function Hn(t){var e=t[0],r=t[t.length-1];return e<r?[e,r]:[r,e]}function qn(t){return t.rangeExtent?t.rangeExtent():Hn(t.range())}function Gn(t,e,r,n){var i=r(t[0],t[1]),a=n(e[0],e[1]);return function(t){return a(i(t))}}function Zn(t,e){var r,n=0,i=t.length-1,a=t[n],o=t[i];return o<a&&(r=n,n=i,i=r,r=a,a=o,o=r),t[n]=e.floor(a),t[i]=e.ceil(o),t}function Yn(t){return t?{floor:function(e){return Math.floor(e/t)*t},ceil:function(e){return Math.ceil(e/t)*t}}:Wn}a.layout.histogram=function(){var t=!0,e=Number,r=kn,n=wn;function i(i,o){for(var s,l,u=[],c=i.map(e,this),f=r.call(this,c,o),h=n.call(this,f,c,o),p=(o=-1,c.length),d=h.length-1,v=t?1:1/p;++o<d;)(s=u[o]=[]).dx=h[o+1]-(s.x=h[o]),s.y=0;if(d>0)for(o=-1;++o<p;)(l=c[o])>=f[0]&&l<=f[1]&&((s=u[a.bisect(h,l,1,d)-1]).y+=v,s.push(i[o]));return u}return i.value=function(t){return arguments.length?(e=t,i):e},i.range=function(t){return arguments.length?(r=ve(t),i):r},i.bins=function(t){return arguments.length?(n="number"==typeof t?function(e){return Tn(e,t)}:ve(t),i):n},i.frequency=function(e){return arguments.length?(t=!!e,i):t},i},a.layout.pack=function(){var t,e=a.layout.hierarchy().sort(An),r=0,n=[1,1];function i(i,a){var o=e.call(this,i,a),s=o[0],l=n[0],u=n[1],c=null==t?Math.sqrt:"function"==typeof t?t:function(){return t};if(s.x=s.y=0,on(s,(function(t){t.r=+c(t.value)})),on(s,Ln),r){var f=r*(t?1:Math.max(2*s.r/l,2*s.r/u))/2;on(s,(function(t){t.r+=f})),on(s,Ln),on(s,(function(t){t.r-=f}))}return On(s,l/2,u/2,t?1:1/Math.max(2*s.r/l,2*s.r/u)),o}return i.size=function(t){return arguments.length?(n=t,i):n},i.radius=function(e){return arguments.length?(t=null==e||"function"==typeof e?e:+e,i):t},i.padding=function(t){return arguments.length?(r=+t,i):r},nn(i,e)},a.layout.tree=function(){var t=a.layout.hierarchy().sort(null).value(null),e=Dn,r=[1,1],n=null;function i(i,a){var u=t.call(this,i,a),c=u[0],f=function(t){for(var e,r={A:null,children:[t]},n=[r];null!=(e=n.pop());)for(var i,a=e.children,o=0,s=a.length;o<s;++o)n.push((a[o]=i={_:a[o],parent:e,children:(i=a[o].children)&&i.slice()||[],A:null,a:null,z:0,m:0,c:0,s:0,t:null,i:o}).a=i);return r.children[0]}(c);if(on(f,o),f.parent.m=-f.z,an(f,s),n)an(c,l);else{var h=c,p=c,d=c;an(c,(function(t){t.x<h.x&&(h=t),t.x>p.x&&(p=t),t.depth>d.depth&&(d=t)}));var v=e(h,p)/2-h.x,g=r[0]/(p.x+e(p,h)/2+v),y=r[1]/(d.depth||1);an(c,(function(t){t.x=(t.x+v)*g,t.y=t.depth*y}))}return u}function o(t){var r=t.children,n=t.parent.children,i=t.i?n[t.i-1]:null;if(r.length){!function(t){for(var e,r=0,n=0,i=t.children,a=i.length;--a>=0;)(e=i[a]).z+=r,e.m+=r,r+=e.s+(n+=e.c)}(t);var a=(r[0].z+r[r.length-1].z)/2;i?(t.z=i.z+e(t._,i._),t.m=t.z-a):t.z=a}else i&&(t.z=i.z+e(t._,i._));t.parent.A=function(t,r,n){if(r){for(var i,a=t,o=t,s=r,l=a.parent.children[0],u=a.m,c=o.m,f=s.m,h=l.m;s=Rn(s),a=zn(a),s&&a;)l=zn(l),(o=Rn(o)).a=t,(i=s.z+f-a.z-u+e(s._,a._))>0&&(Fn(Bn(s,t,n),t,i),u+=i,c+=i),f+=s.m,u+=a.m,h+=l.m,c+=o.m;s&&!Rn(o)&&(o.t=s,o.m+=f-c),a&&!zn(l)&&(l.t=a,l.m+=u-h,n=t)}return n}(t,i,t.parent.A||n[0])}function s(t){t._.x=t.z+t.parent.m,t.m+=t.parent.m}function l(t){t.x*=r[0],t.y=t.depth*r[1]}return i.separation=function(t){return arguments.length?(e=t,i):e},i.size=function(t){return arguments.length?(n=null==(r=t)?l:null,i):n?null:r},i.nodeSize=function(t){return arguments.length?(n=null==(r=t)?null:l,i):n?r:null},nn(i,t)},a.layout.cluster=function(){var t=a.layout.hierarchy().sort(null).value(null),e=Dn,r=[1,1],n=!1;function i(i,o){var s,l=t.call(this,i,o),u=l[0],c=0;on(u,(function(t){var r=t.children;r&&r.length?(t.x=function(t){return t.reduce((function(t,e){return t+e.x}),0)/t.length}(r),t.y=function(t){return 1+a.max(t,(function(t){return t.y}))}(r)):(t.x=s?c+=e(t,s):0,t.y=0,s=t)}));var f=Nn(u),h=jn(u),p=f.x-e(f,h)/2,d=h.x+e(h,f)/2;return on(u,n?function(t){t.x=(t.x-u.x)*r[0],t.y=(u.y-t.y)*r[1]}:function(t){t.x=(t.x-p)/(d-p)*r[0],t.y=(1-(u.y?t.y/u.y:1))*r[1]}),l}return i.separation=function(t){return arguments.length?(e=t,i):e},i.size=function(t){return arguments.length?(n=null==(r=t),i):n?null:r},i.nodeSize=function(t){return arguments.length?(n=null!=(r=t),i):n?r:null},nn(i,t)},a.layout.treemap=function(){var t,e=a.layout.hierarchy(),r=Math.round,n=[1,1],i=null,o=Un,s=!1,l="squarify",u=.5*(1+Math.sqrt(5));function c(t,e){for(var r,n,i=-1,a=t.length;++i<a;)n=(r=t[i]).value*(e<0?0:e),r.area=isNaN(n)||n<=0?0:n}function f(t){var e=t.children;if(e&&e.length){var r,n,i,a=o(t),s=[],u=e.slice(),h=1/0,v="slice"===l?a.dx:"dice"===l?a.dy:"slice-dice"===l?1&t.depth?a.dy:a.dx:Math.min(a.dx,a.dy);for(c(u,a.dx*a.dy/t.value),s.area=0;(i=u.length)>0;)s.push(r=u[i-1]),s.area+=r.area,"squarify"!==l||(n=p(s,v))<=h?(u.pop(),h=n):(s.area-=s.pop().area,d(s,v,a,!1),v=Math.min(a.dx,a.dy),s.length=s.area=0,h=1/0);s.length&&(d(s,v,a,!0),s.length=s.area=0),e.forEach(f)}}function h(t){var e=t.children;if(e&&e.length){var r,n=o(t),i=e.slice(),a=[];for(c(i,n.dx*n.dy/t.value),a.area=0;r=i.pop();)a.push(r),a.area+=r.area,null!=r.z&&(d(a,r.z?n.dx:n.dy,n,!i.length),a.length=a.area=0);e.forEach(h)}}function p(t,e){for(var r,n=t.area,i=0,a=1/0,o=-1,s=t.length;++o<s;)(r=t[o].area)&&(r<a&&(a=r),r>i&&(i=r));return e*=e,(n*=n)?Math.max(e*i*u/n,n/(e*a*u)):1/0}function d(t,e,n,i){var a,o=-1,s=t.length,l=n.x,u=n.y,c=e?r(t.area/e):0;if(e==n.dx){for((i||c>n.dy)&&(c=n.dy);++o<s;)(a=t[o]).x=l,a.y=u,a.dy=c,l+=a.dx=Math.min(n.x+n.dx-l,c?r(a.area/c):0);a.z=!0,a.dx+=n.x+n.dx-l,n.y+=c,n.dy-=c}else{for((i||c>n.dx)&&(c=n.dx);++o<s;)(a=t[o]).x=l,a.y=u,a.dx=c,u+=a.dy=Math.min(n.y+n.dy-u,c?r(a.area/c):0);a.z=!1,a.dy+=n.y+n.dy-u,n.x+=c,n.dx-=c}}function v(r){var i=t||e(r),a=i[0];return a.x=a.y=0,a.value?(a.dx=n[0],a.dy=n[1]):a.dx=a.dy=0,t&&e.revalue(a),c([a],a.dx*a.dy/a.value),(t?h:f)(a),s&&(t=i),i}return v.size=function(t){return arguments.length?(n=t,v):n},v.padding=function(t){if(!arguments.length)return i;function e(e){var r=t.call(v,e,e.depth);return null==r?Un(e):Vn(e,"number"==typeof r?[r,r,r,r]:r)}function r(e){return Vn(e,t)}var n;return o=null==(i=t)?Un:"function"==(n=typeof t)?e:"number"===n?(t=[t,t,t,t],r):r,v},v.round=function(t){return arguments.length?(r=t?Math.round:Number,v):r!=Number},v.sticky=function(e){return arguments.length?(s=e,t=null,v):s},v.ratio=function(t){return arguments.length?(u=t,v):u},v.mode=function(t){return arguments.length?(l=t+"",v):l},nn(v,e)},a.random={normal:function(t,e){var r=arguments.length;return r<2&&(e=1),r<1&&(t=0),function(){var r,n,i;do{i=(r=2*Math.random()-1)*r+(n=2*Math.random()-1)*n}while(!i||i>1);return t+e*r*Math.sqrt(-2*Math.log(i)/i)}},logNormal:function(){var t=a.random.normal.apply(a,arguments);return function(){return Math.exp(t())}},bates:function(t){var e=a.random.irwinHall(t);return function(){return e()/t}},irwinHall:function(t){return function(){for(var e=0,r=0;r<t;r++)e+=Math.random();return e}}},a.scale={};var Wn={floor:D,ceil:D};function Xn(t,e,r,n){var i=[],o=[],s=0,l=Math.min(t.length,e.length)-1;for(t[l]<t[0]&&(t=t.slice().reverse(),e=e.slice().reverse());++s<=l;)i.push(r(t[s-1],t[s])),o.push(n(e[s-1],e[s]));return function(e){var r=a.bisect(t,e,1,l)-1;return o[r](i[r](e))}}function Jn(t,e,r,n){var i,a;function o(){var o=Math.min(t.length,e.length)>2?Xn:Gn,l=n?Zr:Gr;return i=o(t,e,l,r),a=o(e,t,l,Tr),s}function s(t){return i(t)}return s.invert=function(t){return a(t)},s.domain=function(e){return arguments.length?(t=e.map(Number),o()):t},s.range=function(t){return arguments.length?(e=t,o()):e},s.rangeRound=function(t){return s.range(t).interpolate(Br)},s.clamp=function(t){return arguments.length?(n=t,o()):n},s.interpolate=function(t){return arguments.length?(r=t,o()):r},s.ticks=function(e){return ti(t,e)},s.tickFormat=function(e,r){return d3_scale_linearTickFormat(t,e,r)},s.nice=function(e){return $n(t,e),o()},s.copy=function(){return Jn(t,e,r,n)},o()}function Kn(t,e){return a.rebind(t,e,"range","rangeRound","interpolate","clamp")}function $n(t,e){return Zn(t,Yn(Qn(t,e)[2])),Zn(t,Yn(Qn(t,e)[2])),t}function Qn(t,e){null==e&&(e=10);var r=Hn(t),n=r[1]-r[0],i=Math.pow(10,Math.floor(Math.log(n/e)/Math.LN10)),a=e/n*i;return a<=.15?i*=10:a<=.35?i*=5:a<=.75&&(i*=2),r[0]=Math.ceil(r[0]/i)*i,r[1]=Math.floor(r[1]/i)*i+.5*i,r[2]=i,r}function ti(t,e){return a.range.apply(a,Qn(t,e))}function ei(t,e,r,n){function i(t){return(r?Math.log(t<0?0:t):-Math.log(t>0?0:-t))/Math.log(e)}function a(t){return r?Math.pow(e,t):-Math.pow(e,-t)}function o(e){return t(i(e))}return o.invert=function(e){return a(t.invert(e))},o.domain=function(e){return arguments.length?(r=e[0]>=0,t.domain((n=e.map(Number)).map(i)),o):n},o.base=function(r){return arguments.length?(e=+r,t.domain(n.map(i)),o):e},o.nice=function(){var e=Zn(n.map(i),r?Math:ri);return t.domain(e),n=e.map(a),o},o.ticks=function(){var t=Hn(n),o=[],s=t[0],l=t[1],u=Math.floor(i(s)),c=Math.ceil(i(l)),f=e%1?2:e;if(isFinite(c-u)){if(r){for(;u<c;u++)for(var h=1;h<f;h++)o.push(a(u)*h);o.push(a(u))}else for(o.push(a(u));u++<c;)for(h=f-1;h>0;h--)o.push(a(u)*h);for(u=0;o[u]<s;u++);for(c=o.length;o[c-1]>l;c--);o=o.slice(u,c)}return o},o.copy=function(){return ei(t.copy(),e,r,n)},Kn(o,t)}a.scale.linear=function(){return Jn([0,1],[0,1],Tr,!1)},a.scale.log=function(){return ei(a.scale.linear().domain([0,1]),10,!0,[1,10])};var ri={floor:function(t){return-Math.ceil(-t)},ceil:function(t){return-Math.floor(-t)}};function ni(t,e,r){var n=ii(e),i=ii(1/e);function a(e){return t(n(e))}return a.invert=function(e){return i(t.invert(e))},a.domain=function(e){return arguments.length?(t.domain((r=e.map(Number)).map(n)),a):r},a.ticks=function(t){return ti(r,t)},a.tickFormat=function(t,e){return d3_scale_linearTickFormat(r,t,e)},a.nice=function(t){return a.domain($n(r,t))},a.exponent=function(o){return arguments.length?(n=ii(e=o),i=ii(1/e),t.domain(r.map(n)),a):e},a.copy=function(){return ni(t.copy(),e,r)},Kn(a,t)}function ii(t){return function(e){return e<0?-Math.pow(-e,t):Math.pow(e,t)}}function ai(t,e){var r,n,i;function o(i){return n[((r.get(i)||("range"===e.t?r.set(i,t.push(i)):NaN))-1)%n.length]}function s(e,r){return a.range(t.length).map((function(t){return e+r*t}))}return o.domain=function(n){if(!arguments.length)return t;t=[],r=new A;for(var i,a=-1,s=n.length;++a<s;)r.has(i=n[a])||r.set(i,t.push(i));return o[e.t].apply(o,e.a)},o.range=function(t){return arguments.length?(n=t,i=0,e={t:"range",a:arguments},o):n},o.rangePoints=function(r,a){arguments.length<2&&(a=0);var l=r[0],u=r[1],c=t.length<2?(l=(l+u)/2,0):(u-l)/(t.length-1+a);return n=s(l+c*a/2,c),i=0,e={t:"rangePoints",a:arguments},o},o.rangeRoundPoints=function(r,a){arguments.length<2&&(a=0);var l=r[0],u=r[1],c=t.length<2?(l=u=Math.round((l+u)/2),0):(u-l)/(t.length-1+a)|0;return n=s(l+Math.round(c*a/2+(u-l-(t.length-1+a)*c)/2),c),i=0,e={t:"rangeRoundPoints",a:arguments},o},o.rangeBands=function(r,a,l){arguments.length<2&&(a=0),arguments.length<3&&(l=a);var u=r[1]<r[0],c=r[u-0],f=r[1-u],h=(f-c)/(t.length-a+2*l);return n=s(c+h*l,h),u&&n.reverse(),i=h*(1-a),e={t:"rangeBands",a:arguments},o},o.rangeRoundBands=function(r,a,l){arguments.length<2&&(a=0),arguments.length<3&&(l=a);var u=r[1]<r[0],c=r[u-0],f=r[1-u],h=Math.floor((f-c)/(t.length-a+2*l));return n=s(c+Math.round((f-c-(t.length-a)*h)/2),h),u&&n.reverse(),i=Math.round(h*(1-a)),e={t:"rangeRoundBands",a:arguments},o},o.rangeBand=function(){return i},o.rangeExtent=function(){return Hn(e.a[0])},o.copy=function(){return ai(t,e)},o.domain(t)}a.scale.pow=function(){return ni(a.scale.linear(),1,[0,1])},a.scale.sqrt=function(){return a.scale.pow().exponent(.5)},a.scale.ordinal=function(){return ai([],{t:"range",a:[[]]})},a.scale.category10=function(){return a.scale.ordinal().range(oi)},a.scale.category20=function(){return a.scale.ordinal().range(si)},a.scale.category20b=function(){return a.scale.ordinal().range(li)},a.scale.category20c=function(){return a.scale.ordinal().range(ui)};var oi=[2062260,16744206,2924588,14034728,9725885,9197131,14907330,8355711,12369186,1556175].map(oe),si=[2062260,11454440,16744206,16759672,2924588,10018698,14034728,16750742,9725885,12955861,9197131,12885140,14907330,16234194,8355711,13092807,12369186,14408589,1556175,10410725].map(oe),li=[3750777,5395619,7040719,10264286,6519097,9216594,11915115,13556636,9202993,12426809,15186514,15190932,8666169,11356490,14049643,15177372,8077683,10834324,13528509,14589654].map(oe),ui=[3244733,7057110,10406625,13032431,15095053,16616764,16625259,16634018,3253076,7652470,10607003,13101504,7695281,10394312,12369372,14342891,6513507,9868950,12434877,14277081].map(oe);function ci(t,e){var r;function n(){var n=0,o=e.length;for(r=[];++n<o;)r[n-1]=a.quantile(t,n/o);return i}function i(t){if(!isNaN(t=+t))return e[a.bisect(r,t)]}return i.domain=function(e){return arguments.length?(t=e.map(y).filter(m).sort(g),n()):t},i.range=function(t){return arguments.length?(e=t,n()):e},i.quantiles=function(){return r},i.invertExtent=function(n){return(n=e.indexOf(n))<0?[NaN,NaN]:[n>0?r[n-1]:t[0],n<r.length?r[n]:t[t.length-1]]},i.copy=function(){return ci(t,e)},n()}function fi(t,e,r){var n,i;function a(e){return r[Math.max(0,Math.min(i,Math.floor(n*(e-t))))]}function o(){return n=r.length/(e-t),i=r.length-1,a}return a.domain=function(r){return arguments.length?(t=+r[0],e=+r[r.length-1],o()):[t,e]},a.range=function(t){return arguments.length?(r=t,o()):r},a.invertExtent=function(e){return[e=(e=r.indexOf(e))<0?NaN:e/n+t,e+1/n]},a.copy=function(){return fi(t,e,r)},o()}function hi(t,e){function r(r){if(r<=r)return e[a.bisect(t,r)]}return r.domain=function(e){return arguments.length?(t=e,r):t},r.range=function(t){return arguments.length?(e=t,r):e},r.invertExtent=function(r){return r=e.indexOf(r),[t[r-1],t[r]]},r.copy=function(){return hi(t,e)},r}function pi(t){function e(t){return+t}return e.invert=e,e.domain=e.range=function(r){return arguments.length?(t=r.map(e),e):t},e.ticks=function(e){return ti(t,e)},e.tickFormat=function(e,r){return d3_scale_linearTickFormat(t,e,r)},e.copy=function(){return pi(t)},e}function di(){return 0}a.scale.quantile=function(){return ci([],[])},a.scale.quantize=function(){return fi(0,1,[0,1])},a.scale.threshold=function(){return hi([.5],[0,1])},a.scale.identity=function(){return pi([0,1])},a.svg={},a.svg.arc=function(){var t=gi,e=yi,r=di,n=vi,i=mi,a=xi,o=bi;function s(){var s=Math.max(0,+t.apply(this,arguments)),u=Math.max(0,+e.apply(this,arguments)),c=i.apply(this,arguments)-Ot,f=a.apply(this,arguments)-Ot,h=Math.abs(f-c),p=c>f?0:1;if(u<s&&(d=u,u=s,s=d),h>=Pt)return l(u,p)+(s?l(s,1-p):"")+"Z";var d,v,g,y,m,x,b,_,w,T,k,A,M=0,S=0,E=[];if((y=(+o.apply(this,arguments)||0)/2)&&(g=n===vi?Math.sqrt(s*s+u*u):+n.apply(this,arguments),p||(S*=-1),u&&(S=zt(g/u*Math.sin(y))),s&&(M=zt(g/s*Math.sin(y)))),u){m=u*Math.cos(c+S),x=u*Math.sin(c+S),b=u*Math.cos(f-S),_=u*Math.sin(f-S);var L=Math.abs(f-c-2*S)<=Lt?0:1;if(S&&_i(m,x,b,_)===p^L){var C=(c+f)/2;m=u*Math.cos(C),x=u*Math.sin(C),b=_=null}}else m=x=0;if(s){w=s*Math.cos(f-M),T=s*Math.sin(f-M),k=s*Math.cos(c+M),A=s*Math.sin(c+M);var P=Math.abs(c-f+2*M)<=Lt?0:1;if(M&&_i(w,T,k,A)===1-p^P){var O=(c+f)/2;w=s*Math.cos(O),T=s*Math.sin(O),k=A=null}}else w=T=0;if(h>Et&&(d=Math.min(Math.abs(u-s)/2,+r.apply(this,arguments)))>.001){v=s<u^p?0:1;var I=d,D=d;if(h<Lt){var z=null==k?[w,T]:null==b?[m,x]:Ie([m,x],[k,A],[b,_],[w,T]),R=m-z[0],F=x-z[1],B=b-z[0],N=_-z[1],j=1/Math.sin(Math.acos((R*B+F*N)/(Math.sqrt(R*R+F*F)*Math.sqrt(B*B+N*N)))/2),U=Math.sqrt(z[0]*z[0]+z[1]*z[1]);D=Math.min(d,(s-U)/(j-1)),I=Math.min(d,(u-U)/(j+1))}if(null!=b){var V=wi(null==k?[w,T]:[k,A],[m,x],u,I,p),H=wi([b,_],[w,T],u,I,p);d===I?E.push("M",V[0],"A",I,",",I," 0 0,",v," ",V[1],"A",u,",",u," 0 ",1-p^_i(V[1][0],V[1][1],H[1][0],H[1][1]),",",p," ",H[1],"A",I,",",I," 0 0,",v," ",H[0]):E.push("M",V[0],"A",I,",",I," 0 1,",v," ",H[0])}else E.push("M",m,",",x);if(null!=k){var q=wi([m,x],[k,A],s,-D,p),G=wi([w,T],null==b?[m,x]:[b,_],s,-D,p);d===D?E.push("L",G[0],"A",D,",",D," 0 0,",v," ",G[1],"A",s,",",s," 0 ",p^_i(G[1][0],G[1][1],q[1][0],q[1][1]),",",1-p," ",q[1],"A",D,",",D," 0 0,",v," ",q[0]):E.push("L",G[0],"A",D,",",D," 0 0,",v," ",q[0])}else E.push("L",w,",",T)}else E.push("M",m,",",x),null!=b&&E.push("A",u,",",u," 0 ",L,",",p," ",b,",",_),E.push("L",w,",",T),null!=k&&E.push("A",s,",",s," 0 ",P,",",1-p," ",k,",",A);return E.push("Z"),E.join("")}function l(t,e){return"M0,"+t+"A"+t+","+t+" 0 1,"+e+" 0,"+-t+"A"+t+","+t+" 0 1,"+e+" 0,"+t}return s.innerRadius=function(e){return arguments.length?(t=ve(e),s):t},s.outerRadius=function(t){return arguments.length?(e=ve(t),s):e},s.cornerRadius=function(t){return arguments.length?(r=ve(t),s):r},s.padRadius=function(t){return arguments.length?(n=t==vi?vi:ve(t),s):n},s.startAngle=function(t){return arguments.length?(i=ve(t),s):i},s.endAngle=function(t){return arguments.length?(a=ve(t),s):a},s.padAngle=function(t){return arguments.length?(o=ve(t),s):o},s.centroid=function(){var r=(+t.apply(this,arguments)+ +e.apply(this,arguments))/2,n=(+i.apply(this,arguments)+ +a.apply(this,arguments))/2-Ot;return[Math.cos(n)*r,Math.sin(n)*r]},s};var vi="auto";function gi(t){return t.innerRadius}function yi(t){return t.outerRadius}function mi(t){return t.startAngle}function xi(t){return t.endAngle}function bi(t){return t&&t.padAngle}function _i(t,e,r,n){return(t-r)*e-(e-n)*t>0?0:1}function wi(t,e,r,n,i){var a=t[0]-e[0],o=t[1]-e[1],s=(i?n:-n)/Math.sqrt(a*a+o*o),l=s*o,u=-s*a,c=t[0]+l,f=t[1]+u,h=e[0]+l,p=e[1]+u,d=(c+h)/2,v=(f+p)/2,g=h-c,y=p-f,m=g*g+y*y,x=r-n,b=c*p-h*f,_=(y<0?-1:1)*Math.sqrt(Math.max(0,x*x*m-b*b)),w=(b*y-g*_)/m,T=(-b*g-y*_)/m,k=(b*y+g*_)/m,A=(-b*g+y*_)/m,M=w-d,S=T-v,E=k-d,L=A-v;return M*M+S*S>E*E+L*L&&(w=k,T=A),[[w-l,T-u],[w*r/x,T*r/x]]}function Ti(){return!0}function ki(t){var e=Se,r=Ee,n=Ti,i=Mi,a=i.key,o=.7;function s(a){var s,l=[],u=[],c=-1,f=a.length,h=ve(e),p=ve(r);function d(){l.push("M",i(t(u),o))}for(;++c<f;)n.call(this,s=a[c],c)?u.push([+h.call(this,s,c),+p.call(this,s,c)]):u.length&&(d(),u=[]);return u.length&&d(),l.length?l.join(""):null}return s.x=function(t){return arguments.length?(e=t,s):e},s.y=function(t){return arguments.length?(r=t,s):r},s.defined=function(t){return arguments.length?(n=t,s):n},s.interpolate=function(t){return arguments.length?(a="function"==typeof t?i=t:(i=Ai.get(t)||Mi).key,s):a},s.tension=function(t){return arguments.length?(o=t,s):o},s}a.svg.line=function(){return ki(D)};var Ai=a.map({linear:Mi,"linear-closed":Si,step:function(t){for(var e=0,r=t.length,n=t[0],i=[n[0],",",n[1]];++e<r;)i.push("H",(n[0]+(n=t[e])[0])/2,"V",n[1]);return r>1&&i.push("H",n[0]),i.join("")},"step-before":Ei,"step-after":Li,basis:Oi,"basis-open":function(t){if(t.length<4)return Mi(t);for(var e,r=[],n=-1,i=t.length,a=[0],o=[0];++n<3;)e=t[n],a.push(e[0]),o.push(e[1]);for(r.push(Ii(Ri,a)+","+Ii(Ri,o)),--n;++n<i;)e=t[n],a.shift(),a.push(e[0]),o.shift(),o.push(e[1]),Fi(r,a,o);return r.join("")},"basis-closed":function(t){for(var e,r,n=-1,i=t.length,a=i+4,o=[],s=[];++n<4;)r=t[n%i],o.push(r[0]),s.push(r[1]);for(e=[Ii(Ri,o),",",Ii(Ri,s)],--n;++n<a;)r=t[n%i],o.shift(),o.push(r[0]),s.shift(),s.push(r[1]),Fi(e,o,s);return e.join("")},bundle:function(t,e){var r=t.length-1;if(r)for(var n,i,a=t[0][0],o=t[0][1],s=t[r][0]-a,l=t[r][1]-o,u=-1;++u<=r;)i=u/r,(n=t[u])[0]=e*n[0]+(1-e)*(a+i*s),n[1]=e*n[1]+(1-e)*(o+i*l);return Oi(t)},cardinal:function(t,e){return t.length<3?Mi(t):t[0]+Ci(t,Pi(t,e))},"cardinal-open":function(t,e){return t.length<4?Mi(t):t[1]+Ci(t.slice(1,-1),Pi(t,e))},"cardinal-closed":function(t,e){return t.length<3?Si(t):t[0]+Ci((t.push(t[0]),t),Pi([t[t.length-2]].concat(t,[t[1]]),e))},monotone:function(t){return t.length<3?Mi(t):t[0]+Ci(t,function(t){for(var e,r,n,i,a=[],o=function(t){for(var e=0,r=t.length-1,n=[],i=t[0],a=t[1],o=n[0]=Bi(i,a);++e<r;)n[e]=(o+(o=Bi(i=a,a=t[e+1])))/2;return n[e]=o,n}(t),s=-1,l=t.length-1;++s<l;)e=Bi(t[s],t[s+1]),w(e)<Et?o[s]=o[s+1]=0:(i=(r=o[s]/e)*r+(n=o[s+1]/e)*n)>9&&(i=3*e/Math.sqrt(i),o[s]=i*r,o[s+1]=i*n);for(s=-1;++s<=l;)i=(t[Math.min(l,s+1)][0]-t[Math.max(0,s-1)][0])/(6*(1+o[s]*o[s])),a.push([i||0,o[s]*i||0]);return a}(t))}});function Mi(t){return t.length>1?t.join("L"):t+"Z"}function Si(t){return t.join("L")+"Z"}function Ei(t){for(var e=0,r=t.length,n=t[0],i=[n[0],",",n[1]];++e<r;)i.push("V",(n=t[e])[1],"H",n[0]);return i.join("")}function Li(t){for(var e=0,r=t.length,n=t[0],i=[n[0],",",n[1]];++e<r;)i.push("H",(n=t[e])[0],"V",n[1]);return i.join("")}function Ci(t,e){if(e.length<1||t.length!=e.length&&t.length!=e.length+2)return Mi(t);var r=t.length!=e.length,n="",i=t[0],a=t[1],o=e[0],s=o,l=1;if(r&&(n+="Q"+(a[0]-2*o[0]/3)+","+(a[1]-2*o[1]/3)+","+a[0]+","+a[1],i=t[1],l=2),e.length>1){s=e[1],a=t[l],l++,n+="C"+(i[0]+o[0])+","+(i[1]+o[1])+","+(a[0]-s[0])+","+(a[1]-s[1])+","+a[0]+","+a[1];for(var u=2;u<e.length;u++,l++)a=t[l],s=e[u],n+="S"+(a[0]-s[0])+","+(a[1]-s[1])+","+a[0]+","+a[1]}if(r){var c=t[l];n+="Q"+(a[0]+2*s[0]/3)+","+(a[1]+2*s[1]/3)+","+c[0]+","+c[1]}return n}function Pi(t,e){for(var r,n=[],i=(1-e)/2,a=t[0],o=t[1],s=1,l=t.length;++s<l;)r=a,a=o,o=t[s],n.push([i*(o[0]-r[0]),i*(o[1]-r[1])]);return n}function Oi(t){if(t.length<3)return Mi(t);var e=1,r=t.length,n=t[0],i=n[0],a=n[1],o=[i,i,i,(n=t[1])[0]],s=[a,a,a,n[1]],l=[i,",",a,"L",Ii(Ri,o),",",Ii(Ri,s)];for(t.push(t[r-1]);++e<=r;)n=t[e],o.shift(),o.push(n[0]),s.shift(),s.push(n[1]),Fi(l,o,s);return t.pop(),l.push("L",n),l.join("")}function Ii(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[3]*e[3]}Ai.forEach((function(t,e){e.key=t,e.closed=/-closed$/.test(t)}));var Di=[0,2/3,1/3,0],zi=[0,1/3,2/3,0],Ri=[0,1/6,2/3,1/6];function Fi(t,e,r){t.push("C",Ii(Di,e),",",Ii(Di,r),",",Ii(zi,e),",",Ii(zi,r),",",Ii(Ri,e),",",Ii(Ri,r))}function Bi(t,e){return(e[1]-t[1])/(e[0]-t[0])}function Ni(t){for(var e,r,n,i=-1,a=t.length;++i<a;)r=(e=t[i])[0],n=e[1]-Ot,e[0]=r*Math.cos(n),e[1]=r*Math.sin(n);return t}function ji(t){var e=Se,r=Se,n=0,i=Ee,a=Ti,o=Mi,s=o.key,l=o,u="L",c=.7;function f(s){var f,h,p,d=[],v=[],g=[],y=-1,m=s.length,x=ve(e),b=ve(n),_=e===r?function(){return h}:ve(r),w=n===i?function(){return p}:ve(i);function T(){d.push("M",o(t(g),c),u,l(t(v.reverse()),c),"Z")}for(;++y<m;)a.call(this,f=s[y],y)?(v.push([h=+x.call(this,f,y),p=+b.call(this,f,y)]),g.push([+_.call(this,f,y),+w.call(this,f,y)])):v.length&&(T(),v=[],g=[]);return v.length&&T(),d.length?d.join(""):null}return f.x=function(t){return arguments.length?(e=r=t,f):r},f.x0=function(t){return arguments.length?(e=t,f):e},f.x1=function(t){return arguments.length?(r=t,f):r},f.y=function(t){return arguments.length?(n=i=t,f):i},f.y0=function(t){return arguments.length?(n=t,f):n},f.y1=function(t){return arguments.length?(i=t,f):i},f.defined=function(t){return arguments.length?(a=t,f):a},f.interpolate=function(t){return arguments.length?(s="function"==typeof t?o=t:(o=Ai.get(t)||Mi).key,l=o.reverse||o,u=o.closed?"M":"L",f):s},f.tension=function(t){return arguments.length?(c=t,f):c},f}function Ui(t){return t.source}function Vi(t){return t.target}function Hi(t){return t.radius}function qi(t){return[t.x,t.y]}function Gi(t){return function(){var e=t.apply(this,arguments),r=e[0],n=e[1]-Ot;return[r*Math.cos(n),r*Math.sin(n)]}}function Zi(){return 64}function Yi(){return"circle"}function Wi(t){var e=Math.sqrt(t/Lt);return"M0,"+e+"A"+e+","+e+" 0 1,1 0,"+-e+"A"+e+","+e+" 0 1,1 0,"+e+"Z"}a.svg.line.radial=function(){var t=ki(Ni);return t.radius=t.x,delete t.x,t.angle=t.y,delete t.y,t},Ei.reverse=Li,Li.reverse=Ei,a.svg.area=function(){return ji(D)},a.svg.area.radial=function(){var t=ji(Ni);return t.radius=t.x,delete t.x,t.innerRadius=t.x0,delete t.x0,t.outerRadius=t.x1,delete t.x1,t.angle=t.y,delete t.y,t.startAngle=t.y0,delete t.y0,t.endAngle=t.y1,delete t.y1,t},a.svg.chord=function(){var t=Ui,e=Vi,r=Hi,n=mi,i=xi;function a(r,n){var i,a,u=o(this,t,r,n),c=o(this,e,r,n);return"M"+u.p0+s(u.r,u.p1,u.a1-u.a0)+(a=c,((i=u).a0==a.a0&&i.a1==a.a1?l(u.r,u.p1,u.r,u.p0):l(u.r,u.p1,c.r,c.p0)+s(c.r,c.p1,c.a1-c.a0)+l(c.r,c.p1,u.r,u.p0))+"Z")}function o(t,e,a,o){var s=e.call(t,a,o),l=r.call(t,s,o),u=n.call(t,s,o)-Ot,c=i.call(t,s,o)-Ot;return{r:l,a0:u,a1:c,p0:[l*Math.cos(u),l*Math.sin(u)],p1:[l*Math.cos(c),l*Math.sin(c)]}}function s(t,e,r){return"A"+t+","+t+" 0 "+ +(r>Lt)+",1 "+e}function l(t,e,r,n){return"Q 0,0 "+n}return a.radius=function(t){return arguments.length?(r=ve(t),a):r},a.source=function(e){return arguments.length?(t=ve(e),a):t},a.target=function(t){return arguments.length?(e=ve(t),a):e},a.startAngle=function(t){return arguments.length?(n=ve(t),a):n},a.endAngle=function(t){return arguments.length?(i=ve(t),a):i},a},a.svg.diagonal=function(){var t=Ui,e=Vi,r=qi;function n(n,i){var a=t.call(this,n,i),o=e.call(this,n,i),s=(a.y+o.y)/2,l=[a,{x:a.x,y:s},{x:o.x,y:s},o];return"M"+(l=l.map(r))[0]+"C"+l[1]+" "+l[2]+" "+l[3]}return n.source=function(e){return arguments.length?(t=ve(e),n):t},n.target=function(t){return arguments.length?(e=ve(t),n):e},n.projection=function(t){return arguments.length?(r=t,n):r},n},a.svg.diagonal.radial=function(){var t=a.svg.diagonal(),e=qi,r=t.projection;return t.projection=function(t){return arguments.length?r(Gi(e=t)):e},t},a.svg.symbol=function(){var t=Yi,e=Zi;function r(r,n){return(Xi.get(t.call(this,r,n))||Wi)(e.call(this,r,n))}return r.type=function(e){return arguments.length?(t=ve(e),r):t},r.size=function(t){return arguments.length?(e=ve(t),r):e},r};var Xi=a.map({circle:Wi,cross:function(t){var e=Math.sqrt(t/5)/2;return"M"+-3*e+","+-e+"H"+-e+"V"+-3*e+"H"+e+"V"+-e+"H"+3*e+"V"+e+"H"+e+"V"+3*e+"H"+-e+"V"+e+"H"+-3*e+"Z"},diamond:function(t){var e=Math.sqrt(t/(2*Ki)),r=e*Ki;return"M0,"+-e+"L"+r+",0 0,"+e+" "+-r+",0Z"},square:function(t){var e=Math.sqrt(t)/2;return"M"+-e+","+-e+"L"+e+","+-e+" "+e+","+e+" "+-e+","+e+"Z"},"triangle-down":function(t){var e=Math.sqrt(t/Ji),r=e*Ji/2;return"M0,"+r+"L"+e+","+-r+" "+-e+","+-r+"Z"},"triangle-up":function(t){var e=Math.sqrt(t/Ji),r=e*Ji/2;return"M0,"+-r+"L"+e+","+r+" "+-e+","+r+"Z"}});a.svg.symbolTypes=Xi.keys();var Ji=Math.sqrt(3),Ki=Math.tan(30*It);J.transition=function(t){for(var e,r,n=ea||++ia,i=sa(t),a=[],o=ra||{time:Date.now(),ease:Ir,delay:0,duration:250},s=-1,l=this.length;++s<l;){a.push(e=[]);for(var u=this[s],c=-1,f=u.length;++c<f;)(r=u[c])&&la(r,c,i,n,o),e.push(r)}return ta(a,i,n)},J.interrupt=function(t){return this.each(null==t?$i:Qi(sa(t)))};var $i=Qi(sa());function Qi(t){return function(){var e,r,n;(e=this[t])&&(n=e[r=e.active])&&(n.timer.c=null,n.timer.t=NaN,--e.count?delete e[r]:delete this[t],e.active+=.5,n.event&&n.event.interrupt.call(this,this.__data__,n.index))}}function ta(t,e,r){return G(t,na),t.namespace=e,t.id=r,t}var ea,ra,na=[],ia=0;function aa(t,e,r,n){var i=t.id,a=t.namespace;return dt(t,"function"==typeof r?function(t,o,s){t[a][i].tween.set(e,n(r.call(t,t.__data__,o,s)))}:(r=n(r),function(t){t[a][i].tween.set(e,r)}))}function oa(t){return null==t&&(t=""),function(){this.textContent=t}}function sa(t){return null==t?"__transition__":"__transition_"+t+"__"}function la(t,e,r,n,i){var a,o,s,l,u,c=t[r]||(t[r]={active:0,count:0}),f=c[n];function h(r){var i=c.active,h=c[i];for(var d in h&&(h.timer.c=null,h.timer.t=NaN,--c.count,delete c[i],h.event&&h.event.interrupt.call(t,t.__data__,h.index)),c)if(+d<n){var v=c[d];v.timer.c=null,v.timer.t=NaN,--c.count,delete c[d]}o.c=p,Te((function(){return o.c&&p(r||1)&&(o.c=null,o.t=NaN),1}),0,a),c.active=n,f.event&&f.event.start.call(t,t.__data__,e),u=[],f.tween.forEach((function(r,n){(n=n.call(t,t.__data__,e))&&u.push(n)})),l=f.ease,s=f.duration}function p(i){for(var a=i/s,o=l(a),h=u.length;h>0;)u[--h].call(t,o);if(a>=1)return f.event&&f.event.end.call(t,t.__data__,e),--c.count?delete c[n]:delete t[r],1}f||(a=i.time,o=Te((function(t){var e=f.delay;if(o.t=e+a,e<=t)return h(t-e);o.c=h}),0,a),f=c[n]={tween:new A,time:a,timer:o,delay:i.delay,duration:i.duration,ease:i.ease,index:e},i=null,++c.count)}na.call=J.call,na.empty=J.empty,na.node=J.node,na.size=J.size,a.transition=function(t,e){return t&&t.transition?ea?t.transition(e):t:a.selection().transition(t)},a.transition.prototype=na,na.select=function(t){var e,r,n,i=this.id,a=this.namespace,o=[];t=K(t);for(var s=-1,l=this.length;++s<l;){o.push(e=[]);for(var u=this[s],c=-1,f=u.length;++c<f;)(n=u[c])&&(r=t.call(n,n.__data__,c,s))?("__data__"in n&&(r.__data__=n.__data__),la(r,c,a,i,n[a][i]),e.push(r)):e.push(null)}return ta(o,a,i)},na.selectAll=function(t){var e,r,n,i,a,o=this.id,s=this.namespace,l=[];t=$(t);for(var u=-1,c=this.length;++u<c;)for(var f=this[u],h=-1,p=f.length;++h<p;)if(n=f[h]){a=n[s][o],r=t.call(n,n.__data__,h,u),l.push(e=[]);for(var d=-1,v=r.length;++d<v;)(i=r[d])&&la(i,d,s,o,a),e.push(i)}return ta(l,s,o)},na.filter=function(t){var e,r,n=[];"function"!=typeof t&&(t=ht(t));for(var i=0,a=this.length;i<a;i++){n.push(e=[]);for(var o,s=0,l=(o=this[i]).length;s<l;s++)(r=o[s])&&t.call(r,r.__data__,s,i)&&e.push(r)}return ta(n,this.namespace,this.id)},na.tween=function(t,e){var r=this.id,n=this.namespace;return arguments.length<2?this.node()[n][r].tween.get(t):dt(this,null==e?function(e){e[n][r].tween.remove(t)}:function(i){i[n][r].tween.set(t,e)})},na.attr=function(t,e){if(arguments.length<2){for(e in t)this.attr(e,t[e]);return this}var r="transform"==t?qr:Tr,n=a.ns.qualify(t);function i(){this.removeAttribute(n)}function o(){this.removeAttributeNS(n.space,n.local)}function s(t){return null==t?i:(t+="",function(){var e,i=this.getAttribute(n);return i!==t&&(e=r(i,t),function(t){this.setAttribute(n,e(t))})})}function l(t){return null==t?o:(t+="",function(){var e,i=this.getAttributeNS(n.space,n.local);return i!==t&&(e=r(i,t),function(t){this.setAttributeNS(n.space,n.local,e(t))})})}return aa(this,"attr."+t,e,n.local?l:s)},na.attrTween=function(t,e){var r=a.ns.qualify(t);return this.tween("attr."+t,r.local?function(t,n){var i=e.call(this,t,n,this.getAttributeNS(r.space,r.local));return i&&function(t){this.setAttributeNS(r.space,r.local,i(t))}}:function(t,n){var i=e.call(this,t,n,this.getAttribute(r));return i&&function(t){this.setAttribute(r,i(t))}})},na.style=function(t,e,r){var n=arguments.length;if(n<3){if("string"!=typeof t){for(r in n<2&&(e=""),t)this.style(r,t[r],e);return this}r=""}function i(){this.style.removeProperty(t)}function a(e){return null==e?i:(e+="",function(){var n,i=c(this).getComputedStyle(this,null).getPropertyValue(t);return i!==e&&(n=Tr(i,e),function(e){this.style.setProperty(t,n(e),r)})})}return aa(this,"style."+t,e,a)},na.styleTween=function(t,e,r){function n(n,i){var a=e.call(this,n,i,c(this).getComputedStyle(this,null).getPropertyValue(t));return a&&function(e){this.style.setProperty(t,a(e),r)}}return arguments.length<3&&(r=""),this.tween("style."+t,n)},na.text=function(t){return aa(this,"text",t,oa)},na.remove=function(){var t=this.namespace;return this.each("end.transition",(function(){var e;this[t].count<2&&(e=this.parentNode)&&e.removeChild(this)}))},na.ease=function(t){var e=this.id,r=this.namespace;return arguments.length<1?this.node()[r][e].ease:("function"!=typeof t&&(t=a.ease.apply(a,arguments)),dt(this,(function(n){n[r][e].ease=t})))},na.delay=function(t){var e=this.id,r=this.namespace;return arguments.length<1?this.node()[r][e].delay:dt(this,"function"==typeof t?function(n,i,a){n[r][e].delay=+t.call(n,n.__data__,i,a)}:(t=+t,function(n){n[r][e].delay=t}))},na.duration=function(t){var e=this.id,r=this.namespace;return arguments.length<1?this.node()[r][e].duration:dt(this,"function"==typeof t?function(n,i,a){n[r][e].duration=Math.max(1,t.call(n,n.__data__,i,a))}:(t=Math.max(1,t),function(n){n[r][e].duration=t}))},na.each=function(t,e){var r=this.id,n=this.namespace;if(arguments.length<2){var i=ra,o=ea;try{ea=r,dt(this,(function(e,i,a){ra=e[n][r],t.call(e,e.__data__,i,a)}))}finally{ra=i,ea=o}}else dt(this,(function(i){var o=i[n][r];(o.event||(o.event=a.dispatch("start","end","interrupt"))).on(t,e)}));return this},na.transition=function(){for(var t,e,r,n=this.id,i=++ia,a=this.namespace,o=[],s=0,l=this.length;s<l;s++){o.push(t=[]);for(var u,c=0,f=(u=this[s]).length;c<f;c++)(e=u[c])&&la(e,c,a,i,{time:(r=e[a][n]).time,ease:r.ease,delay:r.delay+r.duration,duration:r.duration}),t.push(e)}return ta(o,a,i)},a.svg.axis=function(){var t,e=a.scale.linear(),r=ua,n=6,i=6,o=3,l=[10],u=null;function c(s){s.each((function(){var s,c=a.select(this),f=this.__chart__||e,h=this.__chart__=e.copy(),p=null==u?h.ticks?h.ticks.apply(h,l):h.domain():u,d=null==t?h.tickFormat?h.tickFormat.apply(h,l):D:t,v=c.selectAll(".tick").data(p,h),g=v.enter().insert("g",".domain").attr("class","tick").style("opacity",Et),y=a.transition(v.exit()).style("opacity",Et).remove(),m=a.transition(v.order()).style("opacity",1),x=Math.max(n,0)+o,b=qn(h),_=c.selectAll(".domain").data([0]),w=(_.enter().append("path").attr("class","domain"),a.transition(_));g.append("line"),g.append("text");var T,k,A,M,S=g.select("line"),E=m.select("line"),L=v.select("text").text(d),C=g.select("text"),P=m.select("text"),O="top"===r||"left"===r?-1:1;if("bottom"===r||"top"===r?(s=fa,T="x",A="y",k="x2",M="y2",L.attr("dy",O<0?"0em":".71em").style("text-anchor","middle"),w.attr("d","M"+b[0]+","+O*i+"V0H"+b[1]+"V"+O*i)):(s=ha,T="y",A="x",k="y2",M="x2",L.attr("dy",".32em").style("text-anchor",O<0?"end":"start"),w.attr("d","M"+O*i+","+b[0]+"H0V"+b[1]+"H"+O*i)),S.attr(M,O*n),C.attr(A,O*x),E.attr(k,0).attr(M,O*n),P.attr(T,0).attr(A,O*x),h.rangeBand){var I=h,z=I.rangeBand()/2;f=h=function(t){return I(t)+z}}else f.rangeBand?f=h:y.call(s,h,f);g.call(s,f,h),m.call(s,h,h)}))}return c.scale=function(t){return arguments.length?(e=t,c):e},c.orient=function(t){return arguments.length?(r=t in ca?t+"":ua,c):r},c.ticks=function(){return arguments.length?(l=s(arguments),c):l},c.tickValues=function(t){return arguments.length?(u=t,c):u},c.tickFormat=function(e){return arguments.length?(t=e,c):t},c.tickSize=function(t){var e=arguments.length;return e?(n=+t,i=+arguments[e-1],c):n},c.innerTickSize=function(t){return arguments.length?(n=+t,c):n},c.outerTickSize=function(t){return arguments.length?(i=+t,c):i},c.tickPadding=function(t){return arguments.length?(o=+t,c):o},c.tickSubdivide=function(){return arguments.length&&c},c};var ua="bottom",ca={top:1,right:1,bottom:1,left:1};function fa(t,e,r){t.attr("transform",(function(t){var n=e(t);return"translate("+(isFinite(n)?n:r(t))+",0)"}))}function ha(t,e,r){t.attr("transform",(function(t){var n=e(t);return"translate(0,"+(isFinite(n)?n:r(t))+")"}))}a.svg.brush=function(){var t,e,r=H(h,"brushstart","brush","brushend"),n=null,i=null,o=[0,0],s=[0,0],l=!0,u=!0,f=da[0];function h(t){t.each((function(){var t=a.select(this).style("pointer-events","all").style("-webkit-tap-highlight-color","rgba(0,0,0,0)").on("mousedown.brush",g).on("touchstart.brush",g),e=t.selectAll(".background").data([0]);e.enter().append("rect").attr("class","background").style("visibility","hidden").style("cursor","crosshair"),t.selectAll(".extent").data([0]).enter().append("rect").attr("class","extent").style("cursor","move");var r=t.selectAll(".resize").data(f,D);r.exit().remove(),r.enter().append("g").attr("class",(function(t){return"resize "+t})).style("cursor",(function(t){return pa[t]})).append("rect").attr("x",(function(t){return/[ew]$/.test(t)?-3:null})).attr("y",(function(t){return/^[ns]/.test(t)?-3:null})).attr("width",6).attr("height",6).style("visibility","hidden"),r.style("display",h.empty()?"none":null);var o,s=a.transition(t),l=a.transition(e);n&&(o=qn(n),l.attr("x",o[0]).attr("width",o[1]-o[0]),d(s)),i&&(o=qn(i),l.attr("y",o[0]).attr("height",o[1]-o[0]),v(s)),p(s)}))}function p(t){t.selectAll(".resize").attr("transform",(function(t){return"translate("+o[+/e$/.test(t)]+","+s[+/^s/.test(t)]+")"}))}function d(t){t.select(".extent").attr("x",o[0]),t.selectAll(".extent,.n>rect,.s>rect").attr("width",o[1]-o[0])}function v(t){t.select(".extent").attr("y",s[0]),t.selectAll(".extent,.e>rect,.w>rect").attr("height",s[1]-s[0])}function g(){var f,g,y=this,m=a.select(a.event.target),x=r.of(y,arguments),b=a.select(y),_=m.datum(),w=!/^(n|s)$/.test(_)&&n,T=!/^(e|w)$/.test(_)&&i,k=m.classed("extent"),A=kt(y),M=a.mouse(y),S=a.select(c(y)).on("keydown.brush",C).on("keyup.brush",P);if(a.event.changedTouches?S.on("touchmove.brush",O).on("touchend.brush",D):S.on("mousemove.brush",O).on("mouseup.brush",D),b.interrupt().selectAll("*").interrupt(),k)M[0]=o[0]-M[0],M[1]=s[0]-M[1];else if(_){var E=+/w$/.test(_),L=+/^n/.test(_);g=[o[1-E]-M[0],s[1-L]-M[1]],M[0]=o[E],M[1]=s[L]}else a.event.altKey&&(f=M.slice());function C(){32==a.event.keyCode&&(k||(f=null,M[0]-=o[1],M[1]-=s[1],k=2),U())}function P(){32==a.event.keyCode&&2==k&&(M[0]+=o[1],M[1]+=s[1],k=0,U())}function O(){var t=a.mouse(y),e=!1;g&&(t[0]+=g[0],t[1]+=g[1]),k||(a.event.altKey?(f||(f=[(o[0]+o[1])/2,(s[0]+s[1])/2]),M[0]=o[+(t[0]<f[0])],M[1]=s[+(t[1]<f[1])]):f=null),w&&I(t,n,0)&&(d(b),e=!0),T&&I(t,i,1)&&(v(b),e=!0),e&&(p(b),x({type:"brush",mode:k?"move":"resize"}))}function I(r,n,i){var a,c,h=qn(n),p=h[0],d=h[1],v=M[i],g=i?s:o,y=g[1]-g[0];if(k&&(p-=v,d-=y+v),a=(i?u:l)?Math.max(p,Math.min(d,r[i])):r[i],k?c=(a+=v)+y:(f&&(v=Math.max(p,Math.min(d,2*f[i]-a))),v<a?(c=a,a=v):c=v),g[0]!=a||g[1]!=c)return i?e=null:t=null,g[0]=a,g[1]=c,!0}function D(){O(),b.style("pointer-events","all").selectAll(".resize").style("display",h.empty()?"none":null),a.select("body").style("cursor",null),S.on("mousemove.brush",null).on("mouseup.brush",null).on("touchmove.brush",null).on("touchend.brush",null).on("keydown.brush",null).on("keyup.brush",null),A(),x({type:"brushend"})}b.style("pointer-events","none").selectAll(".resize").style("display",null),a.select("body").style("cursor",m.style("cursor")),x({type:"brushstart"}),O()}return h.event=function(n){n.each((function(){var n=r.of(this,arguments),i={x:o,y:s,i:t,j:e},l=this.__chart__||i;this.__chart__=i,ea?a.select(this).transition().each("start.brush",(function(){t=l.i,e=l.j,o=l.x,s=l.y,n({type:"brushstart"})})).tween("brush:brush",(function(){var r=kr(o,i.x),a=kr(s,i.y);return t=e=null,function(t){o=i.x=r(t),s=i.y=a(t),n({type:"brush",mode:"resize"})}})).each("end.brush",(function(){t=i.i,e=i.j,n({type:"brush",mode:"resize"}),n({type:"brushend"})})):(n({type:"brushstart"}),n({type:"brush",mode:"resize"}),n({type:"brushend"}))}))},h.x=function(t){return arguments.length?(f=da[!(n=t)<<1|!i],h):n},h.y=function(t){return arguments.length?(f=da[!n<<1|!(i=t)],h):i},h.clamp=function(t){return arguments.length?(n&&i?(l=!!t[0],u=!!t[1]):n?l=!!t:i&&(u=!!t),h):n&&i?[l,u]:n?l:i?u:null},h.extent=function(r){var a,l,u,c,f;return arguments.length?(n&&(a=r[0],l=r[1],i&&(a=a[0],l=l[0]),t=[a,l],n.invert&&(a=n(a),l=n(l)),l<a&&(f=a,a=l,l=f),a==o[0]&&l==o[1]||(o=[a,l])),i&&(u=r[0],c=r[1],n&&(u=u[1],c=c[1]),e=[u,c],i.invert&&(u=i(u),c=i(c)),c<u&&(f=u,u=c,c=f),u==s[0]&&c==s[1]||(s=[u,c])),h):(n&&(t?(a=t[0],l=t[1]):(a=o[0],l=o[1],n.invert&&(a=n.invert(a),l=n.invert(l)),l<a&&(f=a,a=l,l=f))),i&&(e?(u=e[0],c=e[1]):(u=s[0],c=s[1],i.invert&&(u=i.invert(u),c=i.invert(c)),c<u&&(f=u,u=c,c=f))),n&&i?[[a,u],[l,c]]:n?[a,l]:i&&[u,c])},h.clear=function(){return h.empty()||(o=[0,0],s=[0,0],t=e=null),h},h.empty=function(){return!!n&&o[0]==o[1]||!!i&&s[0]==s[1]},a.rebind(h,r,"on")};var pa={n:"ns-resize",e:"ew-resize",s:"ns-resize",w:"ew-resize",nw:"nwse-resize",ne:"nesw-resize",se:"nwse-resize",sw:"nesw-resize"},da=[["n","e","s","w","nw","ne","se","sw"],["e","w"],["n","s"],[]];function va(t){return JSON.parse(t.responseText)}function ga(t){var e=l.createRange();return e.selectNode(l.body),e.createContextualFragment(t.responseText)}a.text=ge((function(t){return t.responseText})),a.json=function(t,e){return ye(t,"application/json",va,e)},a.html=function(t,e){return ye(t,"text/html",ga,e)},a.xml=ge((function(t){return t.responseXML})),this.d3=a,void 0===(i="function"==typeof(n=a)?n.call(e,r,e,t):n)||(t.exports=i)}).apply(self)},88294:function(t,e,r){"use strict";t.exports=r(62849)},62849:function(t,e,r){"use strict";var n=r(91358),i=r(53435),a=r(18863),o=r(21527),s=r(71299),l=r(46775),u=r(30120),c=r(64941),f=r(90660),h=r(27084);function p(t,e){for(var r=e[0],n=e[1],a=1/(e[2]-r),o=1/(e[3]-n),s=new Array(t.length),l=0,u=t.length/2;l<u;l++)s[2*l]=i((t[2*l]-r)*a,0,1),s[2*l+1]=i((t[2*l+1]-n)*o,0,1);return s}t.exports=function(t,e){e||(e={}),t=u(t,"float64"),e=s(e,{bounds:"range bounds dataBox databox",maxDepth:"depth maxDepth maxdepth level maxLevel maxlevel levels",dtype:"type dtype format out dst output destination"});var r=l(e.maxDepth,255),i=l(e.bounds,o(t,2));i[0]===i[2]&&i[2]++,i[1]===i[3]&&i[3]++;var d,v=p(t,i),g=t.length>>>1;e.dtype||(e.dtype="array"),"string"==typeof e.dtype?d=new(f(e.dtype))(g):e.dtype&&(d=e.dtype,Array.isArray(d)&&(d.length=g));for(var y=0;y<g;++y)d[y]=y;var m=[],x=[],b=[],_=[];!function t(e,n,i,a,o,s){if(!a.length)return null;var l=m[o]||(m[o]=[]),u=b[o]||(b[o]=[]),c=x[o]||(x[o]=[]),f=l.length;if(++o>r||s>1073741824){for(var h=0;h<a.length;h++)l.push(a[h]),u.push(s),c.push(null,null,null,null);return f}if(l.push(a[0]),u.push(s),a.length<=1)return c.push(null,null,null,null),f;for(var p=.5*i,d=e+p,g=n+p,y=[],_=[],w=[],T=[],k=1,A=a.length;k<A;k++){var M=a[k],S=v[2*M],E=v[2*M+1];S<d?E<g?y.push(M):_.push(M):E<g?w.push(M):T.push(M)}return s<<=2,c.push(t(e,n,p,y,o,s),t(e,g,p,_,o,s+1),t(d,n,p,w,o,s+2),t(d,g,p,T,o,s+3)),f}(0,0,1,d,0,1);for(var w=0,T=0;T<m.length;T++){var k=m[T];if(d.set)d.set(k,w);else for(var A=0,M=k.length;A<M;A++)d[A+w]=k[A];var S=w+m[T].length;_[T]=[w,S],w=S}return d.range=function(){for(var e,r=[],n=arguments.length;n--;)r[n]=arguments[n];if(c(r[r.length-1])){var o=r.pop();r.length||null==o.x&&null==o.l&&null==o.left||(r=[o],e={}),e=s(o,{level:"level maxLevel",d:"d diam diameter r radius px pxSize pixel pixelSize maxD size minSize",lod:"lod details ranges offsets"})}else e={};r.length||(r=i);var u,f=a.apply(void 0,r),d=[Math.min(f.x,f.x+f.width),Math.min(f.y,f.y+f.height),Math.max(f.x,f.x+f.width),Math.max(f.y,f.y+f.height)],v=d[0],g=d[1],y=d[2],b=d[3],_=p([v,g,y,b],i),w=_[0],T=_[1],k=_[2],A=_[3],M=l(e.level,m.length);null!=e.d&&("number"==typeof e.d?u=[e.d,e.d]:e.d.length&&(u=e.d),M=Math.min(Math.max(Math.ceil(-h(Math.abs(u[0])/(i[2]-i[0]))),Math.ceil(-h(Math.abs(u[1])/(i[3]-i[1])))),M));if(M=Math.min(M,m.length),e.lod)return E(w,T,k,A,M);var S=[];function L(e,r,n,i,a,o){if(null!==a&&null!==o&&!(w>e+n||T>r+n||k<e||A<r||i>=M||a===o)){var s=m[i];void 0===o&&(o=s.length);for(var l=a;l<o;l++){var u=s[l],c=t[2*u],f=t[2*u+1];c>=v&&c<=y&&f>=g&&f<=b&&S.push(u)}var h=x[i],p=h[4*a+0],d=h[4*a+1],_=h[4*a+2],E=h[4*a+3],P=C(h,a+1),O=.5*n,I=i+1;L(e,r,O,I,p,d||_||E||P),L(e,r+O,O,I,d,_||E||P),L(e+O,r,O,I,_,E||P),L(e+O,r+O,O,I,E,P)}}function C(t,e){for(var r=null,n=0;null===r;)if(r=t[4*e+n],++n>t.length)return null;return r}return L(0,0,1,0,0,1),S},d;function E(t,e,r,i,a){for(var o=[],s=0;s<a;s++){var l=b[s],u=_[s][0],c=L(t,e,s),f=L(r,i,s),h=n.ge(l,c),p=n.gt(l,f,h,l.length-1);o[s]=[h+u,p+u]}return o}function L(t,e,r){for(var n=1,i=.5,a=.5,o=.5,s=0;s<r;s++)n<<=2,n+=t<i?e<a?0:1:e<a?2:3,o*=.5,i+=t<i?-o:o,a+=e<a?-o:o;return n}}},30774:function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=r(60302),i=6378137;function a(t){var e=0;if(t&&t.length>0){e+=Math.abs(o(t[0]));for(var r=1;r<t.length;r++)e-=Math.abs(o(t[r]))}return e}function o(t){var e,r,n,a,o,l,u=0,c=t.length;if(c>2){for(l=0;l<c;l++)l===c-2?(n=c-2,a=c-1,o=0):l===c-1?(n=c-1,a=0,o=1):(n=l,a=l+1,o=l+2),e=t[n],r=t[a],u+=(s(t[o][0])-s(e[0]))*Math.sin(s(r[1]));u=u*i*i/2}return u}function s(t){return t*Math.PI/180}e.default=function(t){return n.geomReduce(t,(function(t,e){return t+function(t){var e,r=0;switch(t.type){case"Polygon":return a(t.coordinates);case"MultiPolygon":for(e=0;e<t.coordinates.length;e++)r+=a(t.coordinates[e]);return r;case"Point":case"MultiPoint":case"LineString":case"MultiLineString":return 0}return 0}(e)}),0)}},23132:function(t,e){"use strict";function r(t,e,r){void 0===r&&(r={});var n={type:"Feature"};return(0===r.id||r.id)&&(n.id=r.id),r.bbox&&(n.bbox=r.bbox),n.properties=e||{},n.geometry=t,n}function n(t,e,n){if(void 0===n&&(n={}),!t)throw new Error("coordinates is required");if(!Array.isArray(t))throw new Error("coordinates must be an Array");if(t.length<2)throw new Error("coordinates must be at least 2 numbers long");if(!p(t[0])||!p(t[1]))throw new Error("coordinates must contain numbers");return r({type:"Point",coordinates:t},e,n)}function i(t,e,n){void 0===n&&(n={});for(var i=0,a=t;i<a.length;i++){var o=a[i];if(o.length<4)throw new Error("Each LinearRing of a Polygon must have 4 or more Positions.");for(var s=0;s<o[o.length-1].length;s++)if(o[o.length-1][s]!==o[0][s])throw new Error("First and last Position are not equivalent.")}return r({type:"Polygon",coordinates:t},e,n)}function a(t,e,n){if(void 0===n&&(n={}),t.length<2)throw new Error("coordinates must be an array of two or more positions");return r({type:"LineString",coordinates:t},e,n)}function o(t,e){void 0===e&&(e={});var r={type:"FeatureCollection"};return e.id&&(r.id=e.id),e.bbox&&(r.bbox=e.bbox),r.features=t,r}function s(t,e,n){return void 0===n&&(n={}),r({type:"MultiLineString",coordinates:t},e,n)}function l(t,e,n){return void 0===n&&(n={}),r({type:"MultiPoint",coordinates:t},e,n)}function u(t,e,n){return void 0===n&&(n={}),r({type:"MultiPolygon",coordinates:t},e,n)}function c(t,r){void 0===r&&(r="kilometers");var n=e.factors[r];if(!n)throw new Error(r+" units is invalid");return t*n}function f(t,r){void 0===r&&(r="kilometers");var n=e.factors[r];if(!n)throw new Error(r+" units is invalid");return t/n}function h(t){return t%(2*Math.PI)*180/Math.PI}function p(t){return!isNaN(t)&&null!==t&&!Array.isArray(t)}Object.defineProperty(e,"__esModule",{value:!0}),e.earthRadius=6371008.8,e.factors={centimeters:100*e.earthRadius,centimetres:100*e.earthRadius,degrees:e.earthRadius/111325,feet:3.28084*e.earthRadius,inches:39.37*e.earthRadius,kilometers:e.earthRadius/1e3,kilometres:e.earthRadius/1e3,meters:e.earthRadius,metres:e.earthRadius,miles:e.earthRadius/1609.344,millimeters:1e3*e.earthRadius,millimetres:1e3*e.earthRadius,nauticalmiles:e.earthRadius/1852,radians:1,yards:1.0936*e.earthRadius},e.unitsFactors={centimeters:100,centimetres:100,degrees:1/111325,feet:3.28084,inches:39.37,kilometers:.001,kilometres:.001,meters:1,metres:1,miles:1/1609.344,millimeters:1e3,millimetres:1e3,nauticalmiles:1/1852,radians:1/e.earthRadius,yards:1.0936133},e.areaFactors={acres:247105e-9,centimeters:1e4,centimetres:1e4,feet:10.763910417,hectares:1e-4,inches:1550.003100006,kilometers:1e-6,kilometres:1e-6,meters:1,metres:1,miles:386e-9,millimeters:1e6,millimetres:1e6,yards:1.195990046},e.feature=r,e.geometry=function(t,e,r){switch(void 0===r&&(r={}),t){case"Point":return n(e).geometry;case"LineString":return a(e).geometry;case"Polygon":return i(e).geometry;case"MultiPoint":return l(e).geometry;case"MultiLineString":return s(e).geometry;case"MultiPolygon":return u(e).geometry;default:throw new Error(t+" is invalid")}},e.point=n,e.points=function(t,e,r){return void 0===r&&(r={}),o(t.map((function(t){return n(t,e)})),r)},e.polygon=i,e.polygons=function(t,e,r){return void 0===r&&(r={}),o(t.map((function(t){return i(t,e)})),r)},e.lineString=a,e.lineStrings=function(t,e,r){return void 0===r&&(r={}),o(t.map((function(t){return a(t,e)})),r)},e.featureCollection=o,e.multiLineString=s,e.multiPoint=l,e.multiPolygon=u,e.geometryCollection=function(t,e,n){return void 0===n&&(n={}),r({type:"GeometryCollection",geometries:t},e,n)},e.round=function(t,e){if(void 0===e&&(e=0),e&&!(e>=0))throw new Error("precision must be a positive number");var r=Math.pow(10,e||0);return Math.round(t*r)/r},e.radiansToLength=c,e.lengthToRadians=f,e.lengthToDegrees=function(t,e){return h(f(t,e))},e.bearingToAzimuth=function(t){var e=t%360;return e<0&&(e+=360),e},e.radiansToDegrees=h,e.degreesToRadians=function(t){return t%360*Math.PI/180},e.convertLength=function(t,e,r){if(void 0===e&&(e="kilometers"),void 0===r&&(r="kilometers"),!(t>=0))throw new Error("length must be a positive number");return c(f(t,e),r)},e.convertArea=function(t,r,n){if(void 0===r&&(r="meters"),void 0===n&&(n="kilometers"),!(t>=0))throw new Error("area must be a positive number");var i=e.areaFactors[r];if(!i)throw new Error("invalid original units");var a=e.areaFactors[n];if(!a)throw new Error("invalid final units");return t/i*a},e.isNumber=p,e.isObject=function(t){return!!t&&t.constructor===Object},e.validateBBox=function(t){if(!t)throw new Error("bbox is required");if(!Array.isArray(t))throw new Error("bbox must be an Array");if(4!==t.length&&6!==t.length)throw new Error("bbox must be an Array of 4 or 6 numbers");t.forEach((function(t){if(!p(t))throw new Error("bbox must only contain numbers")}))},e.validateId=function(t){if(!t)throw new Error("id is required");if(-1===["string","number"].indexOf(typeof t))throw new Error("id must be a number or a string")}},60302:function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=r(23132);function i(t,e,r){if(null!==t)for(var n,a,o,s,l,u,c,f,h=0,p=0,d=t.type,v="FeatureCollection"===d,g="Feature"===d,y=v?t.features.length:1,m=0;m<y;m++){l=(f=!!(c=v?t.features[m].geometry:g?t.geometry:t)&&"GeometryCollection"===c.type)?c.geometries.length:1;for(var x=0;x<l;x++){var b=0,_=0;if(null!==(s=f?c.geometries[x]:c)){u=s.coordinates;var w=s.type;switch(h=!r||"Polygon"!==w&&"MultiPolygon"!==w?0:1,w){case null:break;case"Point":if(!1===e(u,p,m,b,_))return!1;p++,b++;break;case"LineString":case"MultiPoint":for(n=0;n<u.length;n++){if(!1===e(u[n],p,m,b,_))return!1;p++,"MultiPoint"===w&&b++}"LineString"===w&&b++;break;case"Polygon":case"MultiLineString":for(n=0;n<u.length;n++){for(a=0;a<u[n].length-h;a++){if(!1===e(u[n][a],p,m,b,_))return!1;p++}"MultiLineString"===w&&b++,"Polygon"===w&&_++}"Polygon"===w&&b++;break;case"MultiPolygon":for(n=0;n<u.length;n++){for(_=0,a=0;a<u[n].length;a++){for(o=0;o<u[n][a].length-h;o++){if(!1===e(u[n][a][o],p,m,b,_))return!1;p++}_++}b++}break;case"GeometryCollection":for(n=0;n<s.geometries.length;n++)if(!1===i(s.geometries[n],e,r))return!1;break;default:throw new Error("Unknown Geometry Type")}}}}}function a(t,e){var r;switch(t.type){case"FeatureCollection":for(r=0;r<t.features.length&&!1!==e(t.features[r].properties,r);r++);break;case"Feature":e(t.properties,0)}}function o(t,e){if("Feature"===t.type)e(t,0);else if("FeatureCollection"===t.type)for(var r=0;r<t.features.length&&!1!==e(t.features[r],r);r++);}function s(t,e){var r,n,i,a,o,s,l,u,c,f,h=0,p="FeatureCollection"===t.type,d="Feature"===t.type,v=p?t.features.length:1;for(r=0;r<v;r++){for(s=p?t.features[r].geometry:d?t.geometry:t,u=p?t.features[r].properties:d?t.properties:{},c=p?t.features[r].bbox:d?t.bbox:void 0,f=p?t.features[r].id:d?t.id:void 0,o=(l=!!s&&"GeometryCollection"===s.type)?s.geometries.length:1,i=0;i<o;i++)if(null!==(a=l?s.geometries[i]:s))switch(a.type){case"Point":case"LineString":case"MultiPoint":case"Polygon":case"MultiLineString":case"MultiPolygon":if(!1===e(a,h,u,c,f))return!1;break;case"GeometryCollection":for(n=0;n<a.geometries.length;n++)if(!1===e(a.geometries[n],h,u,c,f))return!1;break;default:throw new Error("Unknown Geometry Type")}else if(!1===e(null,h,u,c,f))return!1;h++}}function l(t,e){s(t,(function(t,r,i,a,o){var s,l=null===t?null:t.type;switch(l){case null:case"Point":case"LineString":case"Polygon":return!1!==e(n.feature(t,i,{bbox:a,id:o}),r,0)&&void 0}switch(l){case"MultiPoint":s="Point";break;case"MultiLineString":s="LineString";break;case"MultiPolygon":s="Polygon"}for(var u=0;u<t.coordinates.length;u++){var c={type:s,coordinates:t.coordinates[u]};if(!1===e(n.feature(c,i),r,u))return!1}}))}function u(t,e){l(t,(function(t,r,a){var o=0;if(t.geometry){var s=t.geometry.type;if("Point"!==s&&"MultiPoint"!==s){var l,u=0,c=0,f=0;return!1!==i(t,(function(i,s,h,p,d){if(void 0===l||r>u||p>c||d>f)return l=i,u=r,c=p,f=d,void(o=0);var v=n.lineString([l,i],t.properties);if(!1===e(v,r,a,d,o))return!1;o++,l=i}))&&void 0}}}))}function c(t,e){if(!t)throw new Error("geojson is required");l(t,(function(t,r,i){if(null!==t.geometry){var a=t.geometry.type,o=t.geometry.coordinates;switch(a){case"LineString":if(!1===e(t,r,i,0,0))return!1;break;case"Polygon":for(var s=0;s<o.length;s++)if(!1===e(n.lineString(o[s],t.properties),r,i,s))return!1}}}))}e.coordEach=i,e.coordReduce=function(t,e,r,n){var a=r;return i(t,(function(t,n,i,o,s){a=0===n&&void 0===r?t:e(a,t,n,i,o,s)}),n),a},e.propEach=a,e.propReduce=function(t,e,r){var n=r;return a(t,(function(t,i){n=0===i&&void 0===r?t:e(n,t,i)})),n},e.featureEach=o,e.featureReduce=function(t,e,r){var n=r;return o(t,(function(t,i){n=0===i&&void 0===r?t:e(n,t,i)})),n},e.coordAll=function(t){var e=[];return i(t,(function(t){e.push(t)})),e},e.geomEach=s,e.geomReduce=function(t,e,r){var n=r;return s(t,(function(t,i,a,o,s){n=0===i&&void 0===r?t:e(n,t,i,a,o,s)})),n},e.flattenEach=l,e.flattenReduce=function(t,e,r){var n=r;return l(t,(function(t,i,a){n=0===i&&0===a&&void 0===r?t:e(n,t,i,a)})),n},e.segmentEach=u,e.segmentReduce=function(t,e,r){var n=r,i=!1;return u(t,(function(t,a,o,s,l){n=!1===i&&void 0===r?t:e(n,t,a,o,s,l),i=!0})),n},e.lineEach=c,e.lineReduce=function(t,e,r){var n=r;return c(t,(function(t,i,a,o){n=0===i&&void 0===r?t:e(n,t,i,a,o)})),n},e.findSegment=function(t,e){if(e=e||{},!n.isObject(e))throw new Error("options is invalid");var r,i=e.featureIndex||0,a=e.multiFeatureIndex||0,o=e.geometryIndex||0,s=e.segmentIndex||0,l=e.properties;switch(t.type){case"FeatureCollection":i<0&&(i=t.features.length+i),l=l||t.features[i].properties,r=t.features[i].geometry;break;case"Feature":l=l||t.properties,r=t.geometry;break;case"Point":case"MultiPoint":return null;case"LineString":case"Polygon":case"MultiLineString":case"MultiPolygon":r=t;break;default:throw new Error("geojson is invalid")}if(null===r)return null;var u=r.coordinates;switch(r.type){case"Point":case"MultiPoint":return null;case"LineString":return s<0&&(s=u.length+s-1),n.lineString([u[s],u[s+1]],l,e);case"Polygon":return o<0&&(o=u.length+o),s<0&&(s=u[o].length+s-1),n.lineString([u[o][s],u[o][s+1]],l,e);case"MultiLineString":return a<0&&(a=u.length+a),s<0&&(s=u[a].length+s-1),n.lineString([u[a][s],u[a][s+1]],l,e);case"MultiPolygon":return a<0&&(a=u.length+a),o<0&&(o=u[a].length+o),s<0&&(s=u[a][o].length-s-1),n.lineString([u[a][o][s],u[a][o][s+1]],l,e)}throw new Error("geojson is invalid")},e.findPoint=function(t,e){if(e=e||{},!n.isObject(e))throw new Error("options is invalid");var r,i=e.featureIndex||0,a=e.multiFeatureIndex||0,o=e.geometryIndex||0,s=e.coordIndex||0,l=e.properties;switch(t.type){case"FeatureCollection":i<0&&(i=t.features.length+i),l=l||t.features[i].properties,r=t.features[i].geometry;break;case"Feature":l=l||t.properties,r=t.geometry;break;case"Point":case"MultiPoint":return null;case"LineString":case"Polygon":case"MultiLineString":case"MultiPolygon":r=t;break;default:throw new Error("geojson is invalid")}if(null===r)return null;var u=r.coordinates;switch(r.type){case"Point":return n.point(u,l,e);case"MultiPoint":return a<0&&(a=u.length+a),n.point(u[a],l,e);case"LineString":return s<0&&(s=u.length+s),n.point(u[s],l,e);case"Polygon":return o<0&&(o=u.length+o),s<0&&(s=u[o].length+s),n.point(u[o][s],l,e);case"MultiLineString":return a<0&&(a=u.length+a),s<0&&(s=u[a].length+s),n.point(u[a][s],l,e);case"MultiPolygon":return a<0&&(a=u.length+a),o<0&&(o=u[a].length+o),s<0&&(s=u[a][o].length-s),n.point(u[a][o][s],l,e)}throw new Error("geojson is invalid")}},85268:function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=r(27138);function i(t){var e=[1/0,1/0,-1/0,-1/0];return n.coordEach(t,(function(t){e[0]>t[0]&&(e[0]=t[0]),e[1]>t[1]&&(e[1]=t[1]),e[2]<t[0]&&(e[2]=t[0]),e[3]<t[1]&&(e[3]=t[1])})),e}i.default=i,e.default=i},94228:function(t,e){"use strict";function r(t,e,r){void 0===r&&(r={});var n={type:"Feature"};return(0===r.id||r.id)&&(n.id=r.id),r.bbox&&(n.bbox=r.bbox),n.properties=e||{},n.geometry=t,n}function n(t,e,n){if(void 0===n&&(n={}),!t)throw new Error("coordinates is required");if(!Array.isArray(t))throw new Error("coordinates must be an Array");if(t.length<2)throw new Error("coordinates must be at least 2 numbers long");if(!p(t[0])||!p(t[1]))throw new Error("coordinates must contain numbers");return r({type:"Point",coordinates:t},e,n)}function i(t,e,n){void 0===n&&(n={});for(var i=0,a=t;i<a.length;i++){var o=a[i];if(o.length<4)throw new Error("Each LinearRing of a Polygon must have 4 or more Positions.");for(var s=0;s<o[o.length-1].length;s++)if(o[o.length-1][s]!==o[0][s])throw new Error("First and last Position are not equivalent.")}return r({type:"Polygon",coordinates:t},e,n)}function a(t,e,n){if(void 0===n&&(n={}),t.length<2)throw new Error("coordinates must be an array of two or more positions");return r({type:"LineString",coordinates:t},e,n)}function o(t,e){void 0===e&&(e={});var r={type:"FeatureCollection"};return e.id&&(r.id=e.id),e.bbox&&(r.bbox=e.bbox),r.features=t,r}function s(t,e,n){return void 0===n&&(n={}),r({type:"MultiLineString",coordinates:t},e,n)}function l(t,e,n){return void 0===n&&(n={}),r({type:"MultiPoint",coordinates:t},e,n)}function u(t,e,n){return void 0===n&&(n={}),r({type:"MultiPolygon",coordinates:t},e,n)}function c(t,r){void 0===r&&(r="kilometers");var n=e.factors[r];if(!n)throw new Error(r+" units is invalid");return t*n}function f(t,r){void 0===r&&(r="kilometers");var n=e.factors[r];if(!n)throw new Error(r+" units is invalid");return t/n}function h(t){return t%(2*Math.PI)*180/Math.PI}function p(t){return!isNaN(t)&&null!==t&&!Array.isArray(t)}Object.defineProperty(e,"__esModule",{value:!0}),e.earthRadius=6371008.8,e.factors={centimeters:100*e.earthRadius,centimetres:100*e.earthRadius,degrees:e.earthRadius/111325,feet:3.28084*e.earthRadius,inches:39.37*e.earthRadius,kilometers:e.earthRadius/1e3,kilometres:e.earthRadius/1e3,meters:e.earthRadius,metres:e.earthRadius,miles:e.earthRadius/1609.344,millimeters:1e3*e.earthRadius,millimetres:1e3*e.earthRadius,nauticalmiles:e.earthRadius/1852,radians:1,yards:1.0936*e.earthRadius},e.unitsFactors={centimeters:100,centimetres:100,degrees:1/111325,feet:3.28084,inches:39.37,kilometers:.001,kilometres:.001,meters:1,metres:1,miles:1/1609.344,millimeters:1e3,millimetres:1e3,nauticalmiles:1/1852,radians:1/e.earthRadius,yards:1.0936133},e.areaFactors={acres:247105e-9,centimeters:1e4,centimetres:1e4,feet:10.763910417,hectares:1e-4,inches:1550.003100006,kilometers:1e-6,kilometres:1e-6,meters:1,metres:1,miles:386e-9,millimeters:1e6,millimetres:1e6,yards:1.195990046},e.feature=r,e.geometry=function(t,e,r){switch(void 0===r&&(r={}),t){case"Point":return n(e).geometry;case"LineString":return a(e).geometry;case"Polygon":return i(e).geometry;case"MultiPoint":return l(e).geometry;case"MultiLineString":return s(e).geometry;case"MultiPolygon":return u(e).geometry;default:throw new Error(t+" is invalid")}},e.point=n,e.points=function(t,e,r){return void 0===r&&(r={}),o(t.map((function(t){return n(t,e)})),r)},e.polygon=i,e.polygons=function(t,e,r){return void 0===r&&(r={}),o(t.map((function(t){return i(t,e)})),r)},e.lineString=a,e.lineStrings=function(t,e,r){return void 0===r&&(r={}),o(t.map((function(t){return a(t,e)})),r)},e.featureCollection=o,e.multiLineString=s,e.multiPoint=l,e.multiPolygon=u,e.geometryCollection=function(t,e,n){return void 0===n&&(n={}),r({type:"GeometryCollection",geometries:t},e,n)},e.round=function(t,e){if(void 0===e&&(e=0),e&&!(e>=0))throw new Error("precision must be a positive number");var r=Math.pow(10,e||0);return Math.round(t*r)/r},e.radiansToLength=c,e.lengthToRadians=f,e.lengthToDegrees=function(t,e){return h(f(t,e))},e.bearingToAzimuth=function(t){var e=t%360;return e<0&&(e+=360),e},e.radiansToDegrees=h,e.degreesToRadians=function(t){return t%360*Math.PI/180},e.convertLength=function(t,e,r){if(void 0===e&&(e="kilometers"),void 0===r&&(r="kilometers"),!(t>=0))throw new Error("length must be a positive number");return c(f(t,e),r)},e.convertArea=function(t,r,n){if(void 0===r&&(r="meters"),void 0===n&&(n="kilometers"),!(t>=0))throw new Error("area must be a positive number");var i=e.areaFactors[r];if(!i)throw new Error("invalid original units");var a=e.areaFactors[n];if(!a)throw new Error("invalid final units");return t/i*a},e.isNumber=p,e.isObject=function(t){return!!t&&t.constructor===Object},e.validateBBox=function(t){if(!t)throw new Error("bbox is required");if(!Array.isArray(t))throw new Error("bbox must be an Array");if(4!==t.length&&6!==t.length)throw new Error("bbox must be an Array of 4 or 6 numbers");t.forEach((function(t){if(!p(t))throw new Error("bbox must only contain numbers")}))},e.validateId=function(t){if(!t)throw new Error("id is required");if(-1===["string","number"].indexOf(typeof t))throw new Error("id must be a number or a string")}},27138:function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=r(94228);function i(t,e,r){if(null!==t)for(var n,a,o,s,l,u,c,f,h=0,p=0,d=t.type,v="FeatureCollection"===d,g="Feature"===d,y=v?t.features.length:1,m=0;m<y;m++){l=(f=!!(c=v?t.features[m].geometry:g?t.geometry:t)&&"GeometryCollection"===c.type)?c.geometries.length:1;for(var x=0;x<l;x++){var b=0,_=0;if(null!==(s=f?c.geometries[x]:c)){u=s.coordinates;var w=s.type;switch(h=!r||"Polygon"!==w&&"MultiPolygon"!==w?0:1,w){case null:break;case"Point":if(!1===e(u,p,m,b,_))return!1;p++,b++;break;case"LineString":case"MultiPoint":for(n=0;n<u.length;n++){if(!1===e(u[n],p,m,b,_))return!1;p++,"MultiPoint"===w&&b++}"LineString"===w&&b++;break;case"Polygon":case"MultiLineString":for(n=0;n<u.length;n++){for(a=0;a<u[n].length-h;a++){if(!1===e(u[n][a],p,m,b,_))return!1;p++}"MultiLineString"===w&&b++,"Polygon"===w&&_++}"Polygon"===w&&b++;break;case"MultiPolygon":for(n=0;n<u.length;n++){for(_=0,a=0;a<u[n].length;a++){for(o=0;o<u[n][a].length-h;o++){if(!1===e(u[n][a][o],p,m,b,_))return!1;p++}_++}b++}break;case"GeometryCollection":for(n=0;n<s.geometries.length;n++)if(!1===i(s.geometries[n],e,r))return!1;break;default:throw new Error("Unknown Geometry Type")}}}}}function a(t,e){var r;switch(t.type){case"FeatureCollection":for(r=0;r<t.features.length&&!1!==e(t.features[r].properties,r);r++);break;case"Feature":e(t.properties,0)}}function o(t,e){if("Feature"===t.type)e(t,0);else if("FeatureCollection"===t.type)for(var r=0;r<t.features.length&&!1!==e(t.features[r],r);r++);}function s(t,e){var r,n,i,a,o,s,l,u,c,f,h=0,p="FeatureCollection"===t.type,d="Feature"===t.type,v=p?t.features.length:1;for(r=0;r<v;r++){for(s=p?t.features[r].geometry:d?t.geometry:t,u=p?t.features[r].properties:d?t.properties:{},c=p?t.features[r].bbox:d?t.bbox:void 0,f=p?t.features[r].id:d?t.id:void 0,o=(l=!!s&&"GeometryCollection"===s.type)?s.geometries.length:1,i=0;i<o;i++)if(null!==(a=l?s.geometries[i]:s))switch(a.type){case"Point":case"LineString":case"MultiPoint":case"Polygon":case"MultiLineString":case"MultiPolygon":if(!1===e(a,h,u,c,f))return!1;break;case"GeometryCollection":for(n=0;n<a.geometries.length;n++)if(!1===e(a.geometries[n],h,u,c,f))return!1;break;default:throw new Error("Unknown Geometry Type")}else if(!1===e(null,h,u,c,f))return!1;h++}}function l(t,e){s(t,(function(t,r,i,a,o){var s,l=null===t?null:t.type;switch(l){case null:case"Point":case"LineString":case"Polygon":return!1!==e(n.feature(t,i,{bbox:a,id:o}),r,0)&&void 0}switch(l){case"MultiPoint":s="Point";break;case"MultiLineString":s="LineString";break;case"MultiPolygon":s="Polygon"}for(var u=0;u<t.coordinates.length;u++){var c={type:s,coordinates:t.coordinates[u]};if(!1===e(n.feature(c,i),r,u))return!1}}))}function u(t,e){l(t,(function(t,r,a){var o=0;if(t.geometry){var s=t.geometry.type;if("Point"!==s&&"MultiPoint"!==s){var l,u=0,c=0,f=0;return!1!==i(t,(function(i,s,h,p,d){if(void 0===l||r>u||p>c||d>f)return l=i,u=r,c=p,f=d,void(o=0);var v=n.lineString([l,i],t.properties);if(!1===e(v,r,a,d,o))return!1;o++,l=i}))&&void 0}}}))}function c(t,e){if(!t)throw new Error("geojson is required");l(t,(function(t,r,i){if(null!==t.geometry){var a=t.geometry.type,o=t.geometry.coordinates;switch(a){case"LineString":if(!1===e(t,r,i,0,0))return!1;break;case"Polygon":for(var s=0;s<o.length;s++)if(!1===e(n.lineString(o[s],t.properties),r,i,s))return!1}}}))}e.coordEach=i,e.coordReduce=function(t,e,r,n){var a=r;return i(t,(function(t,n,i,o,s){a=0===n&&void 0===r?t:e(a,t,n,i,o,s)}),n),a},e.propEach=a,e.propReduce=function(t,e,r){var n=r;return a(t,(function(t,i){n=0===i&&void 0===r?t:e(n,t,i)})),n},e.featureEach=o,e.featureReduce=function(t,e,r){var n=r;return o(t,(function(t,i){n=0===i&&void 0===r?t:e(n,t,i)})),n},e.coordAll=function(t){var e=[];return i(t,(function(t){e.push(t)})),e},e.geomEach=s,e.geomReduce=function(t,e,r){var n=r;return s(t,(function(t,i,a,o,s){n=0===i&&void 0===r?t:e(n,t,i,a,o,s)})),n},e.flattenEach=l,e.flattenReduce=function(t,e,r){var n=r;return l(t,(function(t,i,a){n=0===i&&0===a&&void 0===r?t:e(n,t,i,a)})),n},e.segmentEach=u,e.segmentReduce=function(t,e,r){var n=r,i=!1;return u(t,(function(t,a,o,s,l){n=!1===i&&void 0===r?t:e(n,t,a,o,s,l),i=!0})),n},e.lineEach=c,e.lineReduce=function(t,e,r){var n=r;return c(t,(function(t,i,a,o){n=0===i&&void 0===r?t:e(n,t,i,a,o)})),n},e.findSegment=function(t,e){if(e=e||{},!n.isObject(e))throw new Error("options is invalid");var r,i=e.featureIndex||0,a=e.multiFeatureIndex||0,o=e.geometryIndex||0,s=e.segmentIndex||0,l=e.properties;switch(t.type){case"FeatureCollection":i<0&&(i=t.features.length+i),l=l||t.features[i].properties,r=t.features[i].geometry;break;case"Feature":l=l||t.properties,r=t.geometry;break;case"Point":case"MultiPoint":return null;case"LineString":case"Polygon":case"MultiLineString":case"MultiPolygon":r=t;break;default:throw new Error("geojson is invalid")}if(null===r)return null;var u=r.coordinates;switch(r.type){case"Point":case"MultiPoint":return null;case"LineString":return s<0&&(s=u.length+s-1),n.lineString([u[s],u[s+1]],l,e);case"Polygon":return o<0&&(o=u.length+o),s<0&&(s=u[o].length+s-1),n.lineString([u[o][s],u[o][s+1]],l,e);case"MultiLineString":return a<0&&(a=u.length+a),s<0&&(s=u[a].length+s-1),n.lineString([u[a][s],u[a][s+1]],l,e);case"MultiPolygon":return a<0&&(a=u.length+a),o<0&&(o=u[a].length+o),s<0&&(s=u[a][o].length-s-1),n.lineString([u[a][o][s],u[a][o][s+1]],l,e)}throw new Error("geojson is invalid")},e.findPoint=function(t,e){if(e=e||{},!n.isObject(e))throw new Error("options is invalid");var r,i=e.featureIndex||0,a=e.multiFeatureIndex||0,o=e.geometryIndex||0,s=e.coordIndex||0,l=e.properties;switch(t.type){case"FeatureCollection":i<0&&(i=t.features.length+i),l=l||t.features[i].properties,r=t.features[i].geometry;break;case"Feature":l=l||t.properties,r=t.geometry;break;case"Point":case"MultiPoint":return null;case"LineString":case"Polygon":case"MultiLineString":case"MultiPolygon":r=t;break;default:throw new Error("geojson is invalid")}if(null===r)return null;var u=r.coordinates;switch(r.type){case"Point":return n.point(u,l,e);case"MultiPoint":return a<0&&(a=u.length+a),n.point(u[a],l,e);case"LineString":return s<0&&(s=u.length+s),n.point(u[s],l,e);case"Polygon":return o<0&&(o=u.length+o),s<0&&(s=u[o].length+s),n.point(u[o][s],l,e);case"MultiLineString":return a<0&&(a=u.length+a),s<0&&(s=u[a].length+s),n.point(u[a][s],l,e);case"MultiPolygon":return a<0&&(a=u.length+a),o<0&&(o=u[a].length+o),s<0&&(s=u[a][o].length-s),n.point(u[a][o][s],l,e)}throw new Error("geojson is invalid")}},29261:function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=r(88553),i=r(64182);e.default=function(t,e){void 0===e&&(e={});var r=0,a=0,o=0;return n.coordEach(t,(function(t){r+=t[0],a+=t[1],o++})),i.point([r/o,a/o],e.properties)}},64182:function(t,e){"use strict";function r(t,e,r){void 0===r&&(r={});var n={type:"Feature"};return(0===r.id||r.id)&&(n.id=r.id),r.bbox&&(n.bbox=r.bbox),n.properties=e||{},n.geometry=t,n}function n(t,e,n){return void 0===n&&(n={}),r({type:"Point",coordinates:t},e,n)}function i(t,e,n){void 0===n&&(n={});for(var i=0,a=t;i<a.length;i++){var o=a[i];if(o.length<4)throw new Error("Each LinearRing of a Polygon must have 4 or more Positions.");for(var s=0;s<o[o.length-1].length;s++)if(o[o.length-1][s]!==o[0][s])throw new Error("First and last Position are not equivalent.")}return r({type:"Polygon",coordinates:t},e,n)}function a(t,e,n){if(void 0===n&&(n={}),t.length<2)throw new Error("coordinates must be an array of two or more positions");return r({type:"LineString",coordinates:t},e,n)}function o(t,e){void 0===e&&(e={});var r={type:"FeatureCollection"};return e.id&&(r.id=e.id),e.bbox&&(r.bbox=e.bbox),r.features=t,r}function s(t,e,n){return void 0===n&&(n={}),r({type:"MultiLineString",coordinates:t},e,n)}function l(t,e,n){return void 0===n&&(n={}),r({type:"MultiPoint",coordinates:t},e,n)}function u(t,e,n){return void 0===n&&(n={}),r({type:"MultiPolygon",coordinates:t},e,n)}function c(t,r){void 0===r&&(r="kilometers");var n=e.factors[r];if(!n)throw new Error(r+" units is invalid");return t*n}function f(t,r){void 0===r&&(r="kilometers");var n=e.factors[r];if(!n)throw new Error(r+" units is invalid");return t/n}function h(t){return t%(2*Math.PI)*180/Math.PI}function p(t){return!isNaN(t)&&null!==t&&!Array.isArray(t)&&!/^\s*$/.test(t)}Object.defineProperty(e,"__esModule",{value:!0}),e.earthRadius=6371008.8,e.factors={centimeters:100*e.earthRadius,centimetres:100*e.earthRadius,degrees:e.earthRadius/111325,feet:3.28084*e.earthRadius,inches:39.37*e.earthRadius,kilometers:e.earthRadius/1e3,kilometres:e.earthRadius/1e3,meters:e.earthRadius,metres:e.earthRadius,miles:e.earthRadius/1609.344,millimeters:1e3*e.earthRadius,millimetres:1e3*e.earthRadius,nauticalmiles:e.earthRadius/1852,radians:1,yards:e.earthRadius/1.0936},e.unitsFactors={centimeters:100,centimetres:100,degrees:1/111325,feet:3.28084,inches:39.37,kilometers:.001,kilometres:.001,meters:1,metres:1,miles:1/1609.344,millimeters:1e3,millimetres:1e3,nauticalmiles:1/1852,radians:1/e.earthRadius,yards:1/1.0936},e.areaFactors={acres:247105e-9,centimeters:1e4,centimetres:1e4,feet:10.763910417,inches:1550.003100006,kilometers:1e-6,kilometres:1e-6,meters:1,metres:1,miles:386e-9,millimeters:1e6,millimetres:1e6,yards:1.195990046},e.feature=r,e.geometry=function(t,e,r){switch(void 0===r&&(r={}),t){case"Point":return n(e).geometry;case"LineString":return a(e).geometry;case"Polygon":return i(e).geometry;case"MultiPoint":return l(e).geometry;case"MultiLineString":return s(e).geometry;case"MultiPolygon":return u(e).geometry;default:throw new Error(t+" is invalid")}},e.point=n,e.points=function(t,e,r){return void 0===r&&(r={}),o(t.map((function(t){return n(t,e)})),r)},e.polygon=i,e.polygons=function(t,e,r){return void 0===r&&(r={}),o(t.map((function(t){return i(t,e)})),r)},e.lineString=a,e.lineStrings=function(t,e,r){return void 0===r&&(r={}),o(t.map((function(t){return a(t,e)})),r)},e.featureCollection=o,e.multiLineString=s,e.multiPoint=l,e.multiPolygon=u,e.geometryCollection=function(t,e,n){return void 0===n&&(n={}),r({type:"GeometryCollection",geometries:t},e,n)},e.round=function(t,e){if(void 0===e&&(e=0),e&&!(e>=0))throw new Error("precision must be a positive number");var r=Math.pow(10,e||0);return Math.round(t*r)/r},e.radiansToLength=c,e.lengthToRadians=f,e.lengthToDegrees=function(t,e){return h(f(t,e))},e.bearingToAzimuth=function(t){var e=t%360;return e<0&&(e+=360),e},e.radiansToDegrees=h,e.degreesToRadians=function(t){return t%360*Math.PI/180},e.convertLength=function(t,e,r){if(void 0===e&&(e="kilometers"),void 0===r&&(r="kilometers"),!(t>=0))throw new Error("length must be a positive number");return c(f(t,e),r)},e.convertArea=function(t,r,n){if(void 0===r&&(r="meters"),void 0===n&&(n="kilometers"),!(t>=0))throw new Error("area must be a positive number");var i=e.areaFactors[r];if(!i)throw new Error("invalid original units");var a=e.areaFactors[n];if(!a)throw new Error("invalid final units");return t/i*a},e.isNumber=p,e.isObject=function(t){return!!t&&t.constructor===Object},e.validateBBox=function(t){if(!t)throw new Error("bbox is required");if(!Array.isArray(t))throw new Error("bbox must be an Array");if(4!==t.length&&6!==t.length)throw new Error("bbox must be an Array of 4 or 6 numbers");t.forEach((function(t){if(!p(t))throw new Error("bbox must only contain numbers")}))},e.validateId=function(t){if(!t)throw new Error("id is required");if(-1===["string","number"].indexOf(typeof t))throw new Error("id must be a number or a string")},e.radians2degrees=function(){throw new Error("method has been renamed to `radiansToDegrees`")},e.degrees2radians=function(){throw new Error("method has been renamed to `degreesToRadians`")},e.distanceToDegrees=function(){throw new Error("method has been renamed to `lengthToDegrees`")},e.distanceToRadians=function(){throw new Error("method has been renamed to `lengthToRadians`")},e.radiansToDistance=function(){throw new Error("method has been renamed to `radiansToLength`")},e.bearingToAngle=function(){throw new Error("method has been renamed to `bearingToAzimuth`")},e.convertDistance=function(){throw new Error("method has been renamed to `convertLength`")}},88553:function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=r(64182);function i(t,e,r){if(null!==t)for(var n,a,o,s,l,u,c,f,h=0,p=0,d=t.type,v="FeatureCollection"===d,g="Feature"===d,y=v?t.features.length:1,m=0;m<y;m++){l=(f=!!(c=v?t.features[m].geometry:g?t.geometry:t)&&"GeometryCollection"===c.type)?c.geometries.length:1;for(var x=0;x<l;x++){var b=0,_=0;if(null!==(s=f?c.geometries[x]:c)){u=s.coordinates;var w=s.type;switch(h=!r||"Polygon"!==w&&"MultiPolygon"!==w?0:1,w){case null:break;case"Point":if(!1===e(u,p,m,b,_))return!1;p++,b++;break;case"LineString":case"MultiPoint":for(n=0;n<u.length;n++){if(!1===e(u[n],p,m,b,_))return!1;p++,"MultiPoint"===w&&b++}"LineString"===w&&b++;break;case"Polygon":case"MultiLineString":for(n=0;n<u.length;n++){for(a=0;a<u[n].length-h;a++){if(!1===e(u[n][a],p,m,b,_))return!1;p++}"MultiLineString"===w&&b++,"Polygon"===w&&_++}"Polygon"===w&&b++;break;case"MultiPolygon":for(n=0;n<u.length;n++){for(_=0,a=0;a<u[n].length;a++){for(o=0;o<u[n][a].length-h;o++){if(!1===e(u[n][a][o],p,m,b,_))return!1;p++}_++}b++}break;case"GeometryCollection":for(n=0;n<s.geometries.length;n++)if(!1===i(s.geometries[n],e,r))return!1;break;default:throw new Error("Unknown Geometry Type")}}}}}function a(t,e){var r;switch(t.type){case"FeatureCollection":for(r=0;r<t.features.length&&!1!==e(t.features[r].properties,r);r++);break;case"Feature":e(t.properties,0)}}function o(t,e){if("Feature"===t.type)e(t,0);else if("FeatureCollection"===t.type)for(var r=0;r<t.features.length&&!1!==e(t.features[r],r);r++);}function s(t,e){var r,n,i,a,o,s,l,u,c,f,h=0,p="FeatureCollection"===t.type,d="Feature"===t.type,v=p?t.features.length:1;for(r=0;r<v;r++){for(s=p?t.features[r].geometry:d?t.geometry:t,u=p?t.features[r].properties:d?t.properties:{},c=p?t.features[r].bbox:d?t.bbox:void 0,f=p?t.features[r].id:d?t.id:void 0,o=(l=!!s&&"GeometryCollection"===s.type)?s.geometries.length:1,i=0;i<o;i++)if(null!==(a=l?s.geometries[i]:s))switch(a.type){case"Point":case"LineString":case"MultiPoint":case"Polygon":case"MultiLineString":case"MultiPolygon":if(!1===e(a,h,u,c,f))return!1;break;case"GeometryCollection":for(n=0;n<a.geometries.length;n++)if(!1===e(a.geometries[n],h,u,c,f))return!1;break;default:throw new Error("Unknown Geometry Type")}else if(!1===e(null,h,u,c,f))return!1;h++}}function l(t,e){s(t,(function(t,r,i,a,o){var s,l=null===t?null:t.type;switch(l){case null:case"Point":case"LineString":case"Polygon":return!1!==e(n.feature(t,i,{bbox:a,id:o}),r,0)&&void 0}switch(l){case"MultiPoint":s="Point";break;case"MultiLineString":s="LineString";break;case"MultiPolygon":s="Polygon"}for(var u=0;u<t.coordinates.length;u++){var c={type:s,coordinates:t.coordinates[u]};if(!1===e(n.feature(c,i),r,u))return!1}}))}function u(t,e){l(t,(function(t,r,a){var o=0;if(t.geometry){var s=t.geometry.type;if("Point"!==s&&"MultiPoint"!==s){var l,u=0,c=0,f=0;return!1!==i(t,(function(i,s,h,p,d){if(void 0===l||r>u||p>c||d>f)return l=i,u=r,c=p,f=d,void(o=0);var v=n.lineString([l,i],t.properties);if(!1===e(v,r,a,d,o))return!1;o++,l=i}))&&void 0}}}))}function c(t,e){if(!t)throw new Error("geojson is required");l(t,(function(t,r,i){if(null!==t.geometry){var a=t.geometry.type,o=t.geometry.coordinates;switch(a){case"LineString":if(!1===e(t,r,i,0,0))return!1;break;case"Polygon":for(var s=0;s<o.length;s++)if(!1===e(n.lineString(o[s],t.properties),r,i,s))return!1}}}))}e.coordEach=i,e.coordReduce=function(t,e,r,n){var a=r;return i(t,(function(t,n,i,o,s){a=0===n&&void 0===r?t:e(a,t,n,i,o,s)}),n),a},e.propEach=a,e.propReduce=function(t,e,r){var n=r;return a(t,(function(t,i){n=0===i&&void 0===r?t:e(n,t,i)})),n},e.featureEach=o,e.featureReduce=function(t,e,r){var n=r;return o(t,(function(t,i){n=0===i&&void 0===r?t:e(n,t,i)})),n},e.coordAll=function(t){var e=[];return i(t,(function(t){e.push(t)})),e},e.geomEach=s,e.geomReduce=function(t,e,r){var n=r;return s(t,(function(t,i,a,o,s){n=0===i&&void 0===r?t:e(n,t,i,a,o,s)})),n},e.flattenEach=l,e.flattenReduce=function(t,e,r){var n=r;return l(t,(function(t,i,a){n=0===i&&0===a&&void 0===r?t:e(n,t,i,a)})),n},e.segmentEach=u,e.segmentReduce=function(t,e,r){var n=r,i=!1;return u(t,(function(t,a,o,s,l){n=!1===i&&void 0===r?t:e(n,t,a,o,s,l),i=!0})),n},e.lineEach=c,e.lineReduce=function(t,e,r){var n=r;return c(t,(function(t,i,a,o){n=0===i&&void 0===r?t:e(n,t,i,a,o)})),n},e.findSegment=function(t,e){if(e=e||{},!n.isObject(e))throw new Error("options is invalid");var r,i=e.featureIndex||0,a=e.multiFeatureIndex||0,o=e.geometryIndex||0,s=e.segmentIndex||0,l=e.properties;switch(t.type){case"FeatureCollection":i<0&&(i=t.features.length+i),l=l||t.features[i].properties,r=t.features[i].geometry;break;case"Feature":l=l||t.properties,r=t.geometry;break;case"Point":case"MultiPoint":return null;case"LineString":case"Polygon":case"MultiLineString":case"MultiPolygon":r=t;break;default:throw new Error("geojson is invalid")}if(null===r)return null;var u=r.coordinates;switch(r.type){case"Point":case"MultiPoint":return null;case"LineString":return s<0&&(s=u.length+s-1),n.lineString([u[s],u[s+1]],l,e);case"Polygon":return o<0&&(o=u.length+o),s<0&&(s=u[o].length+s-1),n.lineString([u[o][s],u[o][s+1]],l,e);case"MultiLineString":return a<0&&(a=u.length+a),s<0&&(s=u[a].length+s-1),n.lineString([u[a][s],u[a][s+1]],l,e);case"MultiPolygon":return a<0&&(a=u.length+a),o<0&&(o=u[a].length+o),s<0&&(s=u[a][o].length-s-1),n.lineString([u[a][o][s],u[a][o][s+1]],l,e)}throw new Error("geojson is invalid")},e.findPoint=function(t,e){if(e=e||{},!n.isObject(e))throw new Error("options is invalid");var r,i=e.featureIndex||0,a=e.multiFeatureIndex||0,o=e.geometryIndex||0,s=e.coordIndex||0,l=e.properties;switch(t.type){case"FeatureCollection":i<0&&(i=t.features.length+i),l=l||t.features[i].properties,r=t.features[i].geometry;break;case"Feature":l=l||t.properties,r=t.geometry;break;case"Point":case"MultiPoint":return null;case"LineString":case"Polygon":case"MultiLineString":case"MultiPolygon":r=t;break;default:throw new Error("geojson is invalid")}if(null===r)return null;var u=r.coordinates;switch(r.type){case"Point":return n.point(u,l,e);case"MultiPoint":return a<0&&(a=u.length+a),n.point(u[a],l,e);case"LineString":return s<0&&(s=u.length+s),n.point(u[s],l,e);case"Polygon":return o<0&&(o=u.length+o),s<0&&(s=u[o].length+s),n.point(u[o][s],l,e);case"MultiLineString":return a<0&&(a=u.length+a),s<0&&(s=u[a].length+s),n.point(u[a][s],l,e);case"MultiPolygon":return a<0&&(a=u.length+a),o<0&&(o=u[a].length+o),s<0&&(s=u[a][o].length-s),n.point(u[a][o][s],l,e)}throw new Error("geojson is invalid")}},65185:function(t){t.exports=function(t){var e=0,r=0,n=0,i=0;return t.map((function(t){var a=(t=t.slice())[0],o=a.toUpperCase();if(a!=o)switch(t[0]=o,a){case"a":t[6]+=n,t[7]+=i;break;case"v":t[1]+=i;break;case"h":t[1]+=n;break;default:for(var s=1;s<t.length;)t[s++]+=n,t[s++]+=i}switch(o){case"Z":n=e,i=r;break;case"H":n=t[1];break;case"V":i=t[1];break;case"M":n=e=t[1],i=r=t[2];break;default:n=t[t.length-2],i=t[t.length-1]}return t}))}},21527:function(t){"use strict";t.exports=function(t,e){if(!t||null==t.length)throw Error("Argument should be an array");e=null==e?1:Math.floor(e);for(var r=Array(2*e),n=0;n<e;n++){for(var i=-1/0,a=1/0,o=n,s=t.length;o<s;o+=e)t[o]>i&&(i=t[o]),t[o]<a&&(a=t[o]);r[n]=a,r[e+n]=i}return r}},24696:function(t){t.exports=function(t,r,n){if(t.filter)return t.filter(r,n);if(null==t)throw new TypeError;if("function"!=typeof r)throw new TypeError;for(var i=[],a=0;a<t.length;a++)if(e.call(t,a)){var o=t[a];r.call(n,o,a,t)&&i.push(o)}return i};var e=Object.prototype.hasOwnProperty},6851:function(t){"use strict";t.exports=function(t,e,r){if("function"==typeof Array.prototype.findIndex)return t.findIndex(e,r);if("function"!=typeof e)throw new TypeError("predicate must be a function");var n=Object(t),i=n.length;if(0===i)return-1;for(var a=0;a<i;a++)if(e.call(r,n[a],a,n))return a;return-1}},54:function(t,e,r){"use strict";var n=r(21527);t.exports=function(t,e,r){if(!t||null==t.length)throw Error("Argument should be an array");null==e&&(e=1),null==r&&(r=n(t,e));for(var i=0;i<e;i++){var a=r[e+i],o=r[i],s=i,l=t.length;if(a===1/0&&o===-1/0)for(s=i;s<l;s+=e)t[s]=t[s]===a?1:t[s]===o?0:.5;else if(a===1/0)for(s=i;s<l;s+=e)t[s]=t[s]===a?1:0;else if(o===-1/0)for(s=i;s<l;s+=e)t[s]=t[s]===o?0:1;else{var u=a-o;for(s=i;s<l;s+=e)isNaN(t[s])||(t[s]=0===u?.5:(t[s]-o)/u)}}return t}},57471:function(t){t.exports=function(t,e){var r="number"==typeof t,n="number"==typeof e;r&&!n?(e=t,t=0):r||n||(t=0,e=0);var i=(e|=0)-(t|=0);if(i<0)throw new Error("array length must be positive");for(var a=new Array(i),o=0,s=t;o<i;o++,s++)a[o]=s;return a}},32791:function(t,e,r){"use strict";var n=r(90386);function i(t){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},i(t)}var a,o,s=r(79616).codes,l=s.ERR_AMBIGUOUS_ARGUMENT,u=s.ERR_INVALID_ARG_TYPE,c=s.ERR_INVALID_ARG_VALUE,f=s.ERR_INVALID_RETURN_VALUE,h=s.ERR_MISSING_ARGS,p=r(73894),d=r(43827).inspect,v=r(43827).types,g=v.isPromise,y=v.isRegExp,m=Object.assign?Object.assign:r(73523).assign,x=Object.is?Object.is:r(64003);function b(){var t=r(74061);a=t.isDeepEqual,o=t.isDeepStrictEqual}new Map;var _=!1,w=t.exports=M,T={};function k(t){if(t.message instanceof Error)throw t.message;throw new p(t)}function A(t,e,r,n){if(!r){var i=!1;if(0===e)i=!0,n="No value argument passed to `assert.ok()`";else if(n instanceof Error)throw n;var a=new p({actual:r,expected:!0,message:n,operator:"==",stackStartFn:t});throw a.generatedMessage=i,a}}function M(){for(var t=arguments.length,e=new Array(t),r=0;r<t;r++)e[r]=arguments[r];A.apply(void 0,[M,e.length].concat(e))}w.fail=function t(e,r,i,a,o){var s,l=arguments.length;if(0===l)s="Failed";else if(1===l)i=e,e=void 0;else{if(!1===_){_=!0;var u=n.emitWarning?n.emitWarning:console.warn.bind(console);u("assert.fail() with more than one argument is deprecated. Please use assert.strictEqual() instead or only pass a message.","DeprecationWarning","DEP0094")}2===l&&(a="!=")}if(i instanceof Error)throw i;var c={actual:e,expected:r,operator:void 0===a?"fail":a,stackStartFn:o||t};void 0!==i&&(c.message=i);var f=new p(c);throw s&&(f.message=s,f.generatedMessage=!0),f},w.AssertionError=p,w.ok=M,w.equal=function t(e,r,n){if(arguments.length<2)throw new h("actual","expected");e!=r&&k({actual:e,expected:r,message:n,operator:"==",stackStartFn:t})},w.notEqual=function t(e,r,n){if(arguments.length<2)throw new h("actual","expected");e==r&&k({actual:e,expected:r,message:n,operator:"!=",stackStartFn:t})},w.deepEqual=function t(e,r,n){if(arguments.length<2)throw new h("actual","expected");void 0===a&&b(),a(e,r)||k({actual:e,expected:r,message:n,operator:"deepEqual",stackStartFn:t})},w.notDeepEqual=function t(e,r,n){if(arguments.length<2)throw new h("actual","expected");void 0===a&&b(),a(e,r)&&k({actual:e,expected:r,message:n,operator:"notDeepEqual",stackStartFn:t})},w.deepStrictEqual=function t(e,r,n){if(arguments.length<2)throw new h("actual","expected");void 0===a&&b(),o(e,r)||k({actual:e,expected:r,message:n,operator:"deepStrictEqual",stackStartFn:t})},w.notDeepStrictEqual=function t(e,r,n){if(arguments.length<2)throw new h("actual","expected");void 0===a&&b(),o(e,r)&&k({actual:e,expected:r,message:n,operator:"notDeepStrictEqual",stackStartFn:t})},w.strictEqual=function t(e,r,n){if(arguments.length<2)throw new h("actual","expected");x(e,r)||k({actual:e,expected:r,message:n,operator:"strictEqual",stackStartFn:t})},w.notStrictEqual=function t(e,r,n){if(arguments.length<2)throw new h("actual","expected");x(e,r)&&k({actual:e,expected:r,message:n,operator:"notStrictEqual",stackStartFn:t})};var S=function t(e,r,n){var i=this;!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),r.forEach((function(t){t in e&&(void 0!==n&&"string"==typeof n[t]&&y(e[t])&&e[t].test(n[t])?i[t]=n[t]:i[t]=e[t])}))};function E(t,e,r,n,i,a){if(!(r in t)||!o(t[r],e[r])){if(!n){var s=new S(t,i),l=new S(e,i,t),u=new p({actual:s,expected:l,operator:"deepStrictEqual",stackStartFn:a});throw u.actual=t,u.expected=e,u.operator=a.name,u}k({actual:t,expected:e,message:n,operator:a.name,stackStartFn:a})}}function L(t,e,r,n){if("function"!=typeof e){if(y(e))return e.test(t);if(2===arguments.length)throw new u("expected",["Function","RegExp"],e);if("object"!==i(t)||null===t){var o=new p({actual:t,expected:e,message:r,operator:"deepStrictEqual",stackStartFn:n});throw o.operator=n.name,o}var s=Object.keys(e);if(e instanceof Error)s.push("name","message");else if(0===s.length)throw new c("error",e,"may not be an empty object");return void 0===a&&b(),s.forEach((function(i){"string"==typeof t[i]&&y(e[i])&&e[i].test(t[i])||E(t,e,i,r,s,n)})),!0}return void 0!==e.prototype&&t instanceof e||!Error.isPrototypeOf(e)&&!0===e.call({},t)}function C(t){if("function"!=typeof t)throw new u("fn","Function",t);try{t()}catch(t){return t}return T}function P(t){return g(t)||null!==t&&"object"===i(t)&&"function"==typeof t.then&&"function"==typeof t.catch}function O(t){return Promise.resolve().then((function(){var e;if("function"==typeof t){if(!P(e=t()))throw new f("instance of Promise","promiseFn",e)}else{if(!P(t))throw new u("promiseFn",["Function","Promise"],t);e=t}return Promise.resolve().then((function(){return e})).then((function(){return T})).catch((function(t){return t}))}))}function I(t,e,r,n){if("string"==typeof r){if(4===arguments.length)throw new u("error",["Object","Error","Function","RegExp"],r);if("object"===i(e)&&null!==e){if(e.message===r)throw new l("error/message",'The error message "'.concat(e.message,'" is identical to the message.'))}else if(e===r)throw new l("error/message",'The error "'.concat(e,'" is identical to the message.'));n=r,r=void 0}else if(null!=r&&"object"!==i(r)&&"function"!=typeof r)throw new u("error",["Object","Error","Function","RegExp"],r);if(e===T){var a="";r&&r.name&&(a+=" (".concat(r.name,")")),a+=n?": ".concat(n):".";var o="rejects"===t.name?"rejection":"exception";k({actual:void 0,expected:r,operator:t.name,message:"Missing expected ".concat(o).concat(a),stackStartFn:t})}if(r&&!L(e,r,n,t))throw e}function D(t,e,r,n){if(e!==T){if("string"==typeof r&&(n=r,r=void 0),!r||L(e,r)){var i=n?": ".concat(n):".",a="doesNotReject"===t.name?"rejection":"exception";k({actual:e,expected:r,operator:t.name,message:"Got unwanted ".concat(a).concat(i,"\n")+'Actual message: "'.concat(e&&e.message,'"'),stackStartFn:t})}throw e}}function z(){for(var t=arguments.length,e=new Array(t),r=0;r<t;r++)e[r]=arguments[r];A.apply(void 0,[z,e.length].concat(e))}w.throws=function t(e){for(var r=arguments.length,n=new Array(r>1?r-1:0),i=1;i<r;i++)n[i-1]=arguments[i];I.apply(void 0,[t,C(e)].concat(n))},w.rejects=function t(e){for(var r=arguments.length,n=new Array(r>1?r-1:0),i=1;i<r;i++)n[i-1]=arguments[i];return O(e).then((function(e){return I.apply(void 0,[t,e].concat(n))}))},w.doesNotThrow=function t(e){for(var r=arguments.length,n=new Array(r>1?r-1:0),i=1;i<r;i++)n[i-1]=arguments[i];D.apply(void 0,[t,C(e)].concat(n))},w.doesNotReject=function t(e){for(var r=arguments.length,n=new Array(r>1?r-1:0),i=1;i<r;i++)n[i-1]=arguments[i];return O(e).then((function(e){return D.apply(void 0,[t,e].concat(n))}))},w.ifError=function t(e){if(null!=e){var r="ifError got unwanted exception: ";"object"===i(e)&&"string"==typeof e.message?0===e.message.length&&e.constructor?r+=e.constructor.name:r+=e.message:r+=d(e);var n=new p({actual:e,expected:null,operator:"ifError",message:r,stackStartFn:t}),a=e.stack;if("string"==typeof a){var o=a.split("\n");o.shift();for(var s=n.stack.split("\n"),l=0;l<o.length;l++){var u=s.indexOf(o[l]);if(-1!==u){s=s.slice(0,u);break}}n.stack="".concat(s.join("\n"),"\n").concat(o.join("\n"))}throw n}},w.strict=m(z,w,{equal:w.strictEqual,deepEqual:w.deepStrictEqual,notEqual:w.notStrictEqual,notDeepEqual:w.notDeepStrictEqual}),w.strict.strict=w.strict},73894:function(t,e,r){"use strict";var n=r(90386);function i(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function a(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function o(t,e){return!e||"object"!==p(e)&&"function"!=typeof e?s(t):e}function s(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function l(t){var e="function"==typeof Map?new Map:void 0;return l=function(t){if(null===t||(r=t,-1===Function.toString.call(r).indexOf("[native code]")))return t;var r;if("function"!=typeof t)throw new TypeError("Super expression must either be null or a function");if(void 0!==e){if(e.has(t))return e.get(t);e.set(t,n)}function n(){return c(t,arguments,h(this).constructor)}return n.prototype=Object.create(t.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),f(n,t)},l(t)}function u(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(t){return!1}}function c(t,e,r){return c=u()?Reflect.construct:function(t,e,r){var n=[null];n.push.apply(n,e);var i=new(Function.bind.apply(t,n));return r&&f(i,r.prototype),i},c.apply(null,arguments)}function f(t,e){return f=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t},f(t,e)}function h(t){return h=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)},h(t)}function p(t){return p="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},p(t)}var d=r(43827).inspect,v=r(79616).codes.ERR_INVALID_ARG_TYPE;function g(t,e,r){return(void 0===r||r>t.length)&&(r=t.length),t.substring(r-e.length,r)===e}var y="",m="",x="",b="",_={deepStrictEqual:"Expected values to be strictly deep-equal:",strictEqual:"Expected values to be strictly equal:",strictEqualObject:'Expected "actual" to be reference-equal to "expected":',deepEqual:"Expected values to be loosely deep-equal:",equal:"Expected values to be loosely equal:",notDeepStrictEqual:'Expected "actual" not to be strictly deep-equal to:',notStrictEqual:'Expected "actual" to be strictly unequal to:',notStrictEqualObject:'Expected "actual" not to be reference-equal to "expected":',notDeepEqual:'Expected "actual" not to be loosely deep-equal to:',notEqual:'Expected "actual" to be loosely unequal to:',notIdentical:"Values identical but not reference-equal:"};function w(t){var e=Object.keys(t),r=Object.create(Object.getPrototypeOf(t));return e.forEach((function(e){r[e]=t[e]})),Object.defineProperty(r,"message",{value:t.message}),r}function T(t){return d(t,{compact:!1,customInspect:!1,depth:1e3,maxArrayLength:1/0,showHidden:!1,breakLength:1/0,showProxy:!1,sorted:!0,getters:!0})}var k=function(t){function e(t){var r;if(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),"object"!==p(t)||null===t)throw new v("options","Object",t);var i=t.message,a=t.operator,l=t.stackStartFn,u=t.actual,c=t.expected,f=Error.stackTraceLimit;if(Error.stackTraceLimit=0,null!=i)r=o(this,h(e).call(this,String(i)));else if(n.stderr&&n.stderr.isTTY&&(n.stderr&&n.stderr.getColorDepth&&1!==n.stderr.getColorDepth()?(y="[34m",m="[32m",b="[39m",x="[31m"):(y="",m="",b="",x="")),"object"===p(u)&&null!==u&&"object"===p(c)&&null!==c&&"stack"in u&&u instanceof Error&&"stack"in c&&c instanceof Error&&(u=w(u),c=w(c)),"deepStrictEqual"===a||"strictEqual"===a)r=o(this,h(e).call(this,function(t,e,r){var i="",a="",o=0,s="",l=!1,u=T(t),c=u.split("\n"),f=T(e).split("\n"),h=0,d="";if("strictEqual"===r&&"object"===p(t)&&"object"===p(e)&&null!==t&&null!==e&&(r="strictEqualObject"),1===c.length&&1===f.length&&c[0]!==f[0]){var v=c[0].length+f[0].length;if(v<=10){if(!("object"===p(t)&&null!==t||"object"===p(e)&&null!==e||0===t&&0===e))return"".concat(_[r],"\n\n")+"".concat(c[0]," !== ").concat(f[0],"\n")}else if("strictEqualObject"!==r&&v<(n.stderr&&n.stderr.isTTY?n.stderr.columns:80)){for(;c[0][h]===f[0][h];)h++;h>2&&(d="\n ".concat(function(t,e){if(e=Math.floor(e),0==t.length||0==e)return"";var r=t.length*e;for(e=Math.floor(Math.log(e)/Math.log(2));e;)t+=t,e--;return t+t.substring(0,r-t.length)}(" ",h),"^"),h=0)}}for(var w=c[c.length-1],k=f[f.length-1];w===k&&(h++<2?s="\n ".concat(w).concat(s):i=w,c.pop(),f.pop(),0!==c.length&&0!==f.length);)w=c[c.length-1],k=f[f.length-1];var A=Math.max(c.length,f.length);if(0===A){var M=u.split("\n");if(M.length>30)for(M[26]="".concat(y,"...").concat(b);M.length>27;)M.pop();return"".concat(_.notIdentical,"\n\n").concat(M.join("\n"),"\n")}h>3&&(s="\n".concat(y,"...").concat(b).concat(s),l=!0),""!==i&&(s="\n ".concat(i).concat(s),i="");var S=0,E=_[r]+"\n".concat(m,"+ actual").concat(b," ").concat(x,"- expected").concat(b),L=" ".concat(y,"...").concat(b," Lines skipped");for(h=0;h<A;h++){var C=h-o;if(c.length<h+1)C>1&&h>2&&(C>4?(a+="\n".concat(y,"...").concat(b),l=!0):C>3&&(a+="\n ".concat(f[h-2]),S++),a+="\n ".concat(f[h-1]),S++),o=h,i+="\n".concat(x,"-").concat(b," ").concat(f[h]),S++;else if(f.length<h+1)C>1&&h>2&&(C>4?(a+="\n".concat(y,"...").concat(b),l=!0):C>3&&(a+="\n ".concat(c[h-2]),S++),a+="\n ".concat(c[h-1]),S++),o=h,a+="\n".concat(m,"+").concat(b," ").concat(c[h]),S++;else{var P=f[h],O=c[h],I=O!==P&&(!g(O,",")||O.slice(0,-1)!==P);I&&g(P,",")&&P.slice(0,-1)===O&&(I=!1,O+=","),I?(C>1&&h>2&&(C>4?(a+="\n".concat(y,"...").concat(b),l=!0):C>3&&(a+="\n ".concat(c[h-2]),S++),a+="\n ".concat(c[h-1]),S++),o=h,a+="\n".concat(m,"+").concat(b," ").concat(O),i+="\n".concat(x,"-").concat(b," ").concat(P),S+=2):(a+=i,i="",1!==C&&0!==h||(a+="\n ".concat(O),S++))}if(S>20&&h<A-2)return"".concat(E).concat(L,"\n").concat(a,"\n").concat(y,"...").concat(b).concat(i,"\n")+"".concat(y,"...").concat(b)}return"".concat(E).concat(l?L:"","\n").concat(a).concat(i).concat(s).concat(d)}(u,c,a)));else if("notDeepStrictEqual"===a||"notStrictEqual"===a){var d=_[a],k=T(u).split("\n");if("notStrictEqual"===a&&"object"===p(u)&&null!==u&&(d=_.notStrictEqualObject),k.length>30)for(k[26]="".concat(y,"...").concat(b);k.length>27;)k.pop();r=1===k.length?o(this,h(e).call(this,"".concat(d," ").concat(k[0]))):o(this,h(e).call(this,"".concat(d,"\n\n").concat(k.join("\n"),"\n")))}else{var A=T(u),M="",S=_[a];"notDeepEqual"===a||"notEqual"===a?(A="".concat(_[a],"\n\n").concat(A)).length>1024&&(A="".concat(A.slice(0,1021),"...")):(M="".concat(T(c)),A.length>512&&(A="".concat(A.slice(0,509),"...")),M.length>512&&(M="".concat(M.slice(0,509),"...")),"deepEqual"===a||"equal"===a?A="".concat(S,"\n\n").concat(A,"\n\nshould equal\n\n"):M=" ".concat(a," ").concat(M)),r=o(this,h(e).call(this,"".concat(A).concat(M)))}return Error.stackTraceLimit=f,r.generatedMessage=!i,Object.defineProperty(s(r),"name",{value:"AssertionError [ERR_ASSERTION]",enumerable:!1,writable:!0,configurable:!0}),r.code="ERR_ASSERTION",r.actual=u,r.expected=c,r.operator=a,Error.captureStackTrace&&Error.captureStackTrace(s(r),l),r.stack,r.name="AssertionError",o(r)}var r,l;return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&f(t,e)}(e,t),r=e,l=[{key:"toString",value:function(){return"".concat(this.name," [").concat(this.code,"]: ").concat(this.message)}},{key:d.custom,value:function(t,e){return d(this,function(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter((function(t){return Object.getOwnPropertyDescriptor(r,t).enumerable})))),n.forEach((function(e){i(t,e,r[e])}))}return t}({},e,{customInspect:!1,depth:0}))}}],l&&a(r.prototype,l),e}(l(Error));t.exports=k},79616:function(t,e,r){"use strict";function n(t){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},n(t)}function i(t){return i=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)},i(t)}function a(t,e){return a=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t},a(t,e)}var o,s,l={};function u(t,e,r){r||(r=Error);var o=function(r){function o(r,a,s){var l;return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,o),l=function(t,e){return!e||"object"!==n(e)&&"function"!=typeof e?function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t):e}(this,i(o).call(this,function(t,r,n){return"string"==typeof e?e:e(t,r,n)}(r,a,s))),l.code=t,l}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&a(t,e)}(o,r),o}(r);l[t]=o}function c(t,e){if(Array.isArray(t)){var r=t.length;return t=t.map((function(t){return String(t)})),r>2?"one of ".concat(e," ").concat(t.slice(0,r-1).join(", "),", or ")+t[r-1]:2===r?"one of ".concat(e," ").concat(t[0]," or ").concat(t[1]):"of ".concat(e," ").concat(t[0])}return"of ".concat(e," ").concat(String(t))}u("ERR_AMBIGUOUS_ARGUMENT",'The "%s" argument is ambiguous. %s',TypeError),u("ERR_INVALID_ARG_TYPE",(function(t,e,i){var a,s,l,u,f;if(void 0===o&&(o=r(32791)),o("string"==typeof t,"'name' must be a string"),"string"==typeof e&&(s="not ",e.substr(0,s.length)===s)?(a="must not be",e=e.replace(/^not /,"")):a="must be",function(t,e,r){return(void 0===r||r>t.length)&&(r=t.length),t.substring(r-e.length,r)===e}(t," argument"))l="The ".concat(t," ").concat(a," ").concat(c(e,"type"));else{var h=("number"!=typeof f&&(f=0),f+".".length>(u=t).length||-1===u.indexOf(".",f)?"argument":"property");l='The "'.concat(t,'" ').concat(h," ").concat(a," ").concat(c(e,"type"))}return l+". Received type ".concat(n(i))}),TypeError),u("ERR_INVALID_ARG_VALUE",(function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"is invalid";void 0===s&&(s=r(43827));var i=s.inspect(e);return i.length>128&&(i="".concat(i.slice(0,128),"...")),"The argument '".concat(t,"' ").concat(n,". Received ").concat(i)}),TypeError,RangeError),u("ERR_INVALID_RETURN_VALUE",(function(t,e,r){var i;return i=r&&r.constructor&&r.constructor.name?"instance of ".concat(r.constructor.name):"type ".concat(n(r)),"Expected ".concat(t,' to be returned from the "').concat(e,'"')+" function but got ".concat(i,".")}),TypeError),u("ERR_MISSING_ARGS",(function(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];void 0===o&&(o=r(32791)),o(e.length>0,"At least one arg needs to be specified");var i="The ",a=e.length;switch(e=e.map((function(t){return'"'.concat(t,'"')})),a){case 1:i+="".concat(e[0]," argument");break;case 2:i+="".concat(e[0]," and ").concat(e[1]," arguments");break;default:i+=e.slice(0,a-1).join(", "),i+=", and ".concat(e[a-1]," arguments")}return"".concat(i," must be specified")}),TypeError),t.exports.codes=l},74061:function(t,e,r){"use strict";function n(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var r=[],n=!0,i=!1,a=void 0;try{for(var o,s=t[Symbol.iterator]();!(n=(o=s.next()).done)&&(r.push(o.value),!e||r.length!==e);n=!0);}catch(t){i=!0,a=t}finally{try{n||null==s.return||s.return()}finally{if(i)throw a}}return r}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}function i(t){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},i(t)}var a=void 0!==/a/g.flags,o=function(t){var e=[];return t.forEach((function(t){return e.push(t)})),e},s=function(t){var e=[];return t.forEach((function(t,r){return e.push([r,t])})),e},l=Object.is?Object.is:r(64003),u=Object.getOwnPropertySymbols?Object.getOwnPropertySymbols:function(){return[]},c=Number.isNaN?Number.isNaN:r(15567);function f(t){return t.call.bind(t)}var h=f(Object.prototype.hasOwnProperty),p=f(Object.prototype.propertyIsEnumerable),d=f(Object.prototype.toString),v=r(43827).types,g=v.isAnyArrayBuffer,y=v.isArrayBufferView,m=v.isDate,x=v.isMap,b=v.isRegExp,_=v.isSet,w=v.isNativeError,T=v.isBoxedPrimitive,k=v.isNumberObject,A=v.isStringObject,M=v.isBooleanObject,S=v.isBigIntObject,E=v.isSymbolObject,L=v.isFloat32Array,C=v.isFloat64Array;function P(t){if(0===t.length||t.length>10)return!0;for(var e=0;e<t.length;e++){var r=t.charCodeAt(e);if(r<48||r>57)return!0}return 10===t.length&&t>=Math.pow(2,32)}function O(t){return Object.keys(t).filter(P).concat(u(t).filter(Object.prototype.propertyIsEnumerable.bind(t)))}function I(t,e){if(t===e)return 0;for(var r=t.length,n=e.length,i=0,a=Math.min(r,n);i<a;++i)if(t[i]!==e[i]){r=t[i],n=e[i];break}return r<n?-1:n<r?1:0}function D(t,e,r,n){if(t===e)return 0!==t||!r||l(t,e);if(r){if("object"!==i(t))return"number"==typeof t&&c(t)&&c(e);if("object"!==i(e)||null===t||null===e)return!1;if(Object.getPrototypeOf(t)!==Object.getPrototypeOf(e))return!1}else{if(null===t||"object"!==i(t))return(null===e||"object"!==i(e))&&t==e;if(null===e||"object"!==i(e))return!1}var o,s,u,f,h=d(t);if(h!==d(e))return!1;if(Array.isArray(t)){if(t.length!==e.length)return!1;var p=O(t),v=O(e);return p.length===v.length&&R(t,e,r,n,1,p)}if("[object Object]"===h&&(!x(t)&&x(e)||!_(t)&&_(e)))return!1;if(m(t)){if(!m(e)||Date.prototype.getTime.call(t)!==Date.prototype.getTime.call(e))return!1}else if(b(t)){if(!b(e)||(u=t,f=e,!(a?u.source===f.source&&u.flags===f.flags:RegExp.prototype.toString.call(u)===RegExp.prototype.toString.call(f))))return!1}else if(w(t)||t instanceof Error){if(t.message!==e.message||t.name!==e.name)return!1}else{if(y(t)){if(r||!L(t)&&!C(t)){if(!function(t,e){return t.byteLength===e.byteLength&&0===I(new Uint8Array(t.buffer,t.byteOffset,t.byteLength),new Uint8Array(e.buffer,e.byteOffset,e.byteLength))}(t,e))return!1}else if(!function(t,e){if(t.byteLength!==e.byteLength)return!1;for(var r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0}(t,e))return!1;var P=O(t),D=O(e);return P.length===D.length&&R(t,e,r,n,0,P)}if(_(t))return!(!_(e)||t.size!==e.size)&&R(t,e,r,n,2);if(x(t))return!(!x(e)||t.size!==e.size)&&R(t,e,r,n,3);if(g(t)){if(s=e,(o=t).byteLength!==s.byteLength||0!==I(new Uint8Array(o),new Uint8Array(s)))return!1}else if(T(t)&&!function(t,e){return k(t)?k(e)&&l(Number.prototype.valueOf.call(t),Number.prototype.valueOf.call(e)):A(t)?A(e)&&String.prototype.valueOf.call(t)===String.prototype.valueOf.call(e):M(t)?M(e)&&Boolean.prototype.valueOf.call(t)===Boolean.prototype.valueOf.call(e):S(t)?S(e)&&BigInt.prototype.valueOf.call(t)===BigInt.prototype.valueOf.call(e):E(e)&&Symbol.prototype.valueOf.call(t)===Symbol.prototype.valueOf.call(e)}(t,e))return!1}return R(t,e,r,n,0)}function z(t,e){return e.filter((function(e){return p(t,e)}))}function R(t,e,r,n,i,a){if(5===arguments.length){a=Object.keys(t);var o=Object.keys(e);if(a.length!==o.length)return!1}for(var s=0;s<a.length;s++)if(!h(e,a[s]))return!1;if(r&&5===arguments.length){var l=u(t);if(0!==l.length){var c=0;for(s=0;s<l.length;s++){var f=l[s];if(p(t,f)){if(!p(e,f))return!1;a.push(f),c++}else if(p(e,f))return!1}var d=u(e);if(l.length!==d.length&&z(e,d).length!==c)return!1}else{var v=u(e);if(0!==v.length&&0!==z(e,v).length)return!1}}if(0===a.length&&(0===i||1===i&&0===t.length||0===t.size))return!0;if(void 0===n)n={val1:new Map,val2:new Map,position:0};else{var g=n.val1.get(t);if(void 0!==g){var y=n.val2.get(e);if(void 0!==y)return g===y}n.position++}n.val1.set(t,n.position),n.val2.set(e,n.position);var m=V(t,e,r,a,n,i);return n.val1.delete(t),n.val2.delete(e),m}function F(t,e,r,n){for(var i=o(t),a=0;a<i.length;a++){var s=i[a];if(D(e,s,r,n))return t.delete(s),!0}return!1}function B(t){switch(i(t)){case"undefined":return null;case"object":return;case"symbol":return!1;case"string":t=+t;case"number":if(c(t))return!1}return!0}function N(t,e,r){var n=B(r);return null!=n?n:e.has(n)&&!t.has(n)}function j(t,e,r,n,i){var a=B(r);if(null!=a)return a;var o=e.get(a);return!(void 0===o&&!e.has(a)||!D(n,o,!1,i))&&!t.has(a)&&D(n,o,!1,i)}function U(t,e,r,n,i,a){for(var s=o(t),l=0;l<s.length;l++){var u=s[l];if(D(r,u,i,a)&&D(n,e.get(u),i,a))return t.delete(u),!0}return!1}function V(t,e,r,a,l,u){var c=0;if(2===u){if(!function(t,e,r,n){for(var a=null,s=o(t),l=0;l<s.length;l++){var u=s[l];if("object"===i(u)&&null!==u)null===a&&(a=new Set),a.add(u);else if(!e.has(u)){if(r)return!1;if(!N(t,e,u))return!1;null===a&&(a=new Set),a.add(u)}}if(null!==a){for(var c=o(e),f=0;f<c.length;f++){var h=c[f];if("object"===i(h)&&null!==h){if(!F(a,h,r,n))return!1}else if(!r&&!t.has(h)&&!F(a,h,r,n))return!1}return 0===a.size}return!0}(t,e,r,l))return!1}else if(3===u){if(!function(t,e,r,a){for(var o=null,l=s(t),u=0;u<l.length;u++){var c=n(l[u],2),f=c[0],h=c[1];if("object"===i(f)&&null!==f)null===o&&(o=new Set),o.add(f);else{var p=e.get(f);if(void 0===p&&!e.has(f)||!D(h,p,r,a)){if(r)return!1;if(!j(t,e,f,h,a))return!1;null===o&&(o=new Set),o.add(f)}}}if(null!==o){for(var d=s(e),v=0;v<d.length;v++){var g=n(d[v],2),y=(f=g[0],g[1]);if("object"===i(f)&&null!==f){if(!U(o,t,f,y,r,a))return!1}else if(!(r||t.has(f)&&D(t.get(f),y,!1,a)||U(o,t,f,y,!1,a)))return!1}return 0===o.size}return!0}(t,e,r,l))return!1}else if(1===u)for(;c<t.length;c++){if(!h(t,c)){if(h(e,c))return!1;for(var f=Object.keys(t);c<f.length;c++){var p=f[c];if(!h(e,p)||!D(t[p],e[p],r,l))return!1}return f.length===Object.keys(e).length}if(!h(e,c)||!D(t[c],e[c],r,l))return!1}for(c=0;c<a.length;c++){var d=a[c];if(!D(t[d],e[d],r,l))return!1}return!0}t.exports={isDeepEqual:function(t,e){return D(t,e,!1)},isDeepStrictEqual:function(t,e){return D(t,e,!0)}}},95341:function(t,e){"use strict";e.byteLength=function(t){var e=l(t),r=e[0],n=e[1];return 3*(r+n)/4-n},e.toByteArray=function(t){var e,r,a=l(t),o=a[0],s=a[1],u=new i(function(t,e,r){return 3*(e+r)/4-r}(0,o,s)),c=0,f=s>0?o-4:o;for(r=0;r<f;r+=4)e=n[t.charCodeAt(r)]<<18|n[t.charCodeAt(r+1)]<<12|n[t.charCodeAt(r+2)]<<6|n[t.charCodeAt(r+3)],u[c++]=e>>16&255,u[c++]=e>>8&255,u[c++]=255&e;return 2===s&&(e=n[t.charCodeAt(r)]<<2|n[t.charCodeAt(r+1)]>>4,u[c++]=255&e),1===s&&(e=n[t.charCodeAt(r)]<<10|n[t.charCodeAt(r+1)]<<4|n[t.charCodeAt(r+2)]>>2,u[c++]=e>>8&255,u[c++]=255&e),u},e.fromByteArray=function(t){for(var e,n=t.length,i=n%3,a=[],o=16383,s=0,l=n-i;s<l;s+=o)a.push(u(t,s,s+o>l?l:s+o));return 1===i?(e=t[n-1],a.push(r[e>>2]+r[e<<4&63]+"==")):2===i&&(e=(t[n-2]<<8)+t[n-1],a.push(r[e>>10]+r[e>>4&63]+r[e<<2&63]+"=")),a.join("")};for(var r=[],n=[],i="undefined"!=typeof Uint8Array?Uint8Array:Array,a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",o=0,s=a.length;o<s;++o)r[o]=a[o],n[a.charCodeAt(o)]=o;function l(t){var e=t.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=t.indexOf("=");return-1===r&&(r=e),[r,r===e?0:4-r%4]}function u(t,e,n){for(var i,a,o=[],s=e;s<n;s+=3)i=(t[s]<<16&16711680)+(t[s+1]<<8&65280)+(255&t[s+2]),o.push(r[(a=i)>>18&63]+r[a>>12&63]+r[a>>6&63]+r[63&a]);return o.join("")}n["-".charCodeAt(0)]=62,n["_".charCodeAt(0)]=63},91358:function(t){"use strict";function e(t,e,r,n,i){for(var a=i+1;n<=i;){var o=n+i>>>1,s=t[o];(void 0!==r?r(s,e):s-e)>=0?(a=o,i=o-1):n=o+1}return a}function r(t,e,r,n,i){for(var a=i+1;n<=i;){var o=n+i>>>1,s=t[o];(void 0!==r?r(s,e):s-e)>0?(a=o,i=o-1):n=o+1}return a}function n(t,e,r,n,i){for(var a=n-1;n<=i;){var o=n+i>>>1,s=t[o];(void 0!==r?r(s,e):s-e)<0?(a=o,n=o+1):i=o-1}return a}function i(t,e,r,n,i){for(var a=n-1;n<=i;){var o=n+i>>>1,s=t[o];(void 0!==r?r(s,e):s-e)<=0?(a=o,n=o+1):i=o-1}return a}function a(t,e,r,n,i){for(;n<=i;){var a=n+i>>>1,o=t[a],s=void 0!==r?r(o,e):o-e;if(0===s)return a;s<=0?n=a+1:i=a-1}return-1}function o(t,e,r,n,i,a){return"function"==typeof r?a(t,e,r,void 0===n?0:0|n,void 0===i?t.length-1:0|i):a(t,e,void 0,void 0===r?0:0|r,void 0===n?t.length-1:0|n)}t.exports={ge:function(t,r,n,i,a){return o(t,r,n,i,a,e)},gt:function(t,e,n,i,a){return o(t,e,n,i,a,r)},lt:function(t,e,r,i,a){return o(t,e,r,i,a,n)},le:function(t,e,r,n,a){return o(t,e,r,n,a,i)},eq:function(t,e,r,n,i){return o(t,e,r,n,i,a)}}},13547:function(t,e){"use strict";function r(t){var e=32;return(t&=-t)&&e--,65535&t&&(e-=16),16711935&t&&(e-=8),252645135&t&&(e-=4),858993459&t&&(e-=2),1431655765&t&&(e-=1),e}e.INT_BITS=32,e.INT_MAX=2147483647,e.INT_MIN=-1<<31,e.sign=function(t){return(t>0)-(t<0)},e.abs=function(t){var e=t>>31;return(t^e)-e},e.min=function(t,e){return e^(t^e)&-(t<e)},e.max=function(t,e){return t^(t^e)&-(t<e)},e.isPow2=function(t){return!(t&t-1||!t)},e.log2=function(t){var e,r;return e=(t>65535)<<4,e|=r=((t>>>=e)>255)<<3,e|=r=((t>>>=r)>15)<<2,(e|=r=((t>>>=r)>3)<<1)|(t>>>=r)>>1},e.log10=function(t){return t>=1e9?9:t>=1e8?8:t>=1e7?7:t>=1e6?6:t>=1e5?5:t>=1e4?4:t>=1e3?3:t>=100?2:t>=10?1:0},e.popCount=function(t){return 16843009*((t=(858993459&(t-=t>>>1&1431655765))+(t>>>2&858993459))+(t>>>4)&252645135)>>>24},e.countTrailingZeros=r,e.nextPow2=function(t){return t+=0===t,--t,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,1+(t|=t>>>16)},e.prevPow2=function(t){return t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,(t|=t>>>16)-(t>>>1)},e.parity=function(t){return t^=t>>>16,t^=t>>>8,t^=t>>>4,27030>>>(t&=15)&1};var n=new Array(256);!function(t){for(var e=0;e<256;++e){var r=e,n=e,i=7;for(r>>>=1;r;r>>>=1)n<<=1,n|=1&r,--i;t[e]=n<<i&255}}(n),e.reverse=function(t){return n[255&t]<<24|n[t>>>8&255]<<16|n[t>>>16&255]<<8|n[t>>>24&255]},e.interleave2=function(t,e){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t&=65535)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e&=65535)|e<<8))|e<<4))|e<<2))|e<<1))<<1},e.deinterleave2=function(t,e){return(t=65535&((t=16711935&((t=252645135&((t=858993459&((t=t>>>e&1431655765)|t>>>1))|t>>>2))|t>>>4))|t>>>16))<<16>>16},e.interleave3=function(t,e,r){return t=1227133513&((t=3272356035&((t=251719695&((t=4278190335&((t&=1023)|t<<16))|t<<8))|t<<4))|t<<2),(t|=(e=1227133513&((e=3272356035&((e=251719695&((e=4278190335&((e&=1023)|e<<16))|e<<8))|e<<4))|e<<2))<<1)|(r=1227133513&((r=3272356035&((r=251719695&((r=4278190335&((r&=1023)|r<<16))|r<<8))|r<<4))|r<<2))<<2},e.deinterleave3=function(t,e){return(t=1023&((t=4278190335&((t=251719695&((t=3272356035&((t=t>>>e&1227133513)|t>>>2))|t>>>4))|t>>>8))|t>>>16))<<22>>22},e.nextCombination=function(t){var e=t|t-1;return e+1|(~e&-~e)-1>>>r(t)+1}},44781:function(t,e,r){"use strict";var n=r(53435);t.exports=function(t,e){e||(e={});var r,o,s,l,u,c,f,h,p,d,v,g=null==e.cutoff?.25:e.cutoff,y=null==e.radius?8:e.radius,m=e.channel||0;if(ArrayBuffer.isView(t)||Array.isArray(t)){if(!e.width||!e.height)throw Error("For raw data width and height should be provided by options");r=e.width,o=e.height,l=t,c=e.stride?e.stride:Math.floor(t.length/r/o)}else window.HTMLCanvasElement&&t instanceof window.HTMLCanvasElement?(f=(h=t).getContext("2d"),r=h.width,o=h.height,l=(p=f.getImageData(0,0,r,o)).data,c=4):window.CanvasRenderingContext2D&&t instanceof window.CanvasRenderingContext2D?(f=t,r=(h=t.canvas).width,o=h.height,l=(p=f.getImageData(0,0,r,o)).data,c=4):window.ImageData&&t instanceof window.ImageData&&(p=t,r=t.width,o=t.height,l=p.data,c=4);if(s=Math.max(r,o),window.Uint8ClampedArray&&l instanceof window.Uint8ClampedArray||window.Uint8Array&&l instanceof window.Uint8Array)for(u=l,l=Array(r*o),d=0,v=u.length;d<v;d++)l[d]=u[d*c+m]/255;else if(1!==c)throw Error("Raw data can have only 1 value per pixel");var x=Array(r*o),b=Array(r*o),_=Array(s),w=Array(s),T=Array(s+1),k=Array(s);for(d=0,v=r*o;d<v;d++){var A=l[d];x[d]=1===A?0:0===A?i:Math.pow(Math.max(0,.5-A),2),b[d]=1===A?i:0===A?0:Math.pow(Math.max(0,A-.5),2)}a(x,r,o,_,w,k,T),a(b,r,o,_,w,k,T);var M=window.Float32Array?new Float32Array(r*o):new Array(r*o);for(d=0,v=r*o;d<v;d++)M[d]=n(1-((x[d]-b[d])/y+g),0,1);return M};var i=1e20;function a(t,e,r,n,i,a,s){for(var l=0;l<e;l++){for(var u=0;u<r;u++)n[u]=t[u*e+l];for(o(n,i,a,s,r),u=0;u<r;u++)t[u*e+l]=i[u]}for(u=0;u<r;u++){for(l=0;l<e;l++)n[l]=t[u*e+l];for(o(n,i,a,s,e),l=0;l<e;l++)t[u*e+l]=Math.sqrt(i[l])}}function o(t,e,r,n,a){r[0]=0,n[0]=-i,n[1]=+i;for(var o=1,s=0;o<a;o++){for(var l=(t[o]+o*o-(t[r[s]]+r[s]*r[s]))/(2*o-2*r[s]);l<=n[s];)s--,l=(t[o]+o*o-(t[r[s]]+r[s]*r[s]))/(2*o-2*r[s]);r[++s]=o,n[s]=l,n[s+1]=+i}for(o=0,s=0;o<a;o++){for(;n[s+1]<o;)s++;e[o]=(o-r[s])*(o-r[s])+t[r[s]]}}},68222:function(t,e,r){"use strict";var n=r(77575),i=r(68318),a=i("%Function.prototype.apply%"),o=i("%Function.prototype.call%"),s=i("%Reflect.apply%",!0)||n.call(o,a),l=i("%Object.defineProperty%",!0);if(l)try{l({},"a",{value:1})}catch(t){l=null}t.exports=function(){return s(n,o,arguments)};var u=function(){return s(n,a,arguments)};l?l(t.exports,"apply",{value:u}):t.exports.apply=u},53435:function(t){t.exports=function(t,e,r){return e<r?t<e?e:t>r?r:t:t<r?r:t>e?e:t}},6475:function(t,e,r){"use strict";var n=r(53435);function i(t,e){null==e&&(e=!0);var r=t[0],i=t[1],a=t[2],o=t[3];return null==o&&(o=e?1:255),e&&(r*=255,i*=255,a*=255,o*=255),16777216*(r=255&n(r,0,255))+((i=255&n(i,0,255))<<16)+((a=255&n(a,0,255))<<8)+(255&n(o,0,255))}t.exports=i,t.exports.to=i,t.exports.from=function(t,e){var r=(t=+t)>>>24,n=(16711680&t)>>>16,i=(65280&t)>>>8,a=255&t;return!1===e?[r,n,i,a]:[r/255,n/255,i/255,a/255]}},76857:function(t){"use strict";t.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}},25075:function(t,e,r){"use strict";var n=r(36652),i=r(53435),a=r(90660);t.exports=function(t,e){"float"!==e&&e||(e="array"),"uint"===e&&(e="uint8"),"uint_clamped"===e&&(e="uint8_clamped");var r=new(a(e))(4),o="uint8"!==e&&"uint8_clamped"!==e;return t.length&&"string"!=typeof t||((t=n(t))[0]/=255,t[1]/=255,t[2]/=255),function(t){return t instanceof Uint8Array||t instanceof Uint8ClampedArray||!!(Array.isArray(t)&&(t[0]>1||0===t[0])&&(t[1]>1||0===t[1])&&(t[2]>1||0===t[2])&&(!t[3]||t[3]>1))}(t)?(r[0]=t[0],r[1]=t[1],r[2]=t[2],r[3]=null!=t[3]?t[3]:255,o&&(r[0]/=255,r[1]/=255,r[2]/=255,r[3]/=255),r):(o?(r[0]=t[0],r[1]=t[1],r[2]=t[2],r[3]=null!=t[3]?t[3]:1):(r[0]=i(Math.floor(255*t[0]),0,255),r[1]=i(Math.floor(255*t[1]),0,255),r[2]=i(Math.floor(255*t[2]),0,255),r[3]=null==t[3]?255:i(Math.floor(255*t[3]),0,255)),r)}},90736:function(t,e,r){"use strict";var n=r(76857),i=r(10973),a=r(46775);t.exports=function(t){var e,s,l=[],u=1;if("string"==typeof t)if(n[t])l=n[t].slice(),s="rgb";else if("transparent"===t)u=0,s="rgb",l=[0,0,0];else if(/^#[A-Fa-f0-9]+$/.test(t)){var c=(p=t.slice(1)).length;u=1,c<=4?(l=[parseInt(p[0]+p[0],16),parseInt(p[1]+p[1],16),parseInt(p[2]+p[2],16)],4===c&&(u=parseInt(p[3]+p[3],16)/255)):(l=[parseInt(p[0]+p[1],16),parseInt(p[2]+p[3],16),parseInt(p[4]+p[5],16)],8===c&&(u=parseInt(p[6]+p[7],16)/255)),l[0]||(l[0]=0),l[1]||(l[1]=0),l[2]||(l[2]=0),s="rgb"}else if(e=/^((?:rgb|hs[lvb]|hwb|cmyk?|xy[zy]|gray|lab|lchu?v?|[ly]uv|lms)a?)\s*\(([^\)]*)\)/.exec(t)){var f=e[1],h="rgb"===f,p=f.replace(/a$/,"");s=p,c="cmyk"===p?4:"gray"===p?1:3,l=e[2].trim().split(/\s*,\s*/).map((function(t,e){if(/%$/.test(t))return e===c?parseFloat(t)/100:"rgb"===p?255*parseFloat(t)/100:parseFloat(t);if("h"===p[e]){if(/deg$/.test(t))return parseFloat(t);if(void 0!==o[t])return o[t]}return parseFloat(t)})),f===p&&l.push(1),u=h||void 0===l[c]?1:l[c],l=l.slice(0,c)}else t.length>10&&/[0-9](?:\s|\/)/.test(t)&&(l=t.match(/([0-9]+)/g).map((function(t){return parseFloat(t)})),s=t.match(/([a-z])/gi).join("").toLowerCase());else if(isNaN(t))if(i(t)){var d=a(t.r,t.red,t.R,null);null!==d?(s="rgb",l=[d,a(t.g,t.green,t.G),a(t.b,t.blue,t.B)]):(s="hsl",l=[a(t.h,t.hue,t.H),a(t.s,t.saturation,t.S),a(t.l,t.lightness,t.L,t.b,t.brightness)]),u=a(t.a,t.alpha,t.opacity,1),null!=t.opacity&&(u/=100)}else(Array.isArray(t)||r.g.ArrayBuffer&&ArrayBuffer.isView&&ArrayBuffer.isView(t))&&(l=[t[0],t[1],t[2]],s="rgb",u=4===t.length?t[3]:1);else s="rgb",l=[t>>>16,(65280&t)>>>8,255&t];return{space:s,values:l,alpha:u}};var o={red:0,orange:60,yellow:120,green:180,blue:240,purple:300}},36652:function(t,e,r){"use strict";var n=r(90736),i=r(80009),a=r(53435);t.exports=function(t){var e,r=n(t);return r.space?((e=Array(3))[0]=a(r.values[0],0,255),e[1]=a(r.values[1],0,255),e[2]=a(r.values[2],0,255),"h"===r.space[0]&&(e=i.rgb(e)),e.push(a(r.alpha,0,1)),e):[]}},80009:function(t,e,r){"use strict";var n=r(6866);t.exports={name:"hsl",min:[0,0,0],max:[360,100,100],channel:["hue","saturation","lightness"],alias:["HSL"],rgb:function(t){var e,r,n,i,a,o=t[0]/360,s=t[1]/100,l=t[2]/100;if(0===s)return[a=255*l,a,a];e=2*l-(r=l<.5?l*(1+s):l+s-l*s),i=[0,0,0];for(var u=0;u<3;u++)(n=o+1/3*-(u-1))<0?n++:n>1&&n--,a=6*n<1?e+6*(r-e)*n:2*n<1?r:3*n<2?e+(r-e)*(2/3-n)*6:e,i[u]=255*a;return i}},n.hsl=function(t){var e,r,n=t[0]/255,i=t[1]/255,a=t[2]/255,o=Math.min(n,i,a),s=Math.max(n,i,a),l=s-o;return s===o?e=0:n===s?e=(i-a)/l:i===s?e=2+(a-n)/l:a===s&&(e=4+(n-i)/l),(e=Math.min(60*e,360))<0&&(e+=360),r=(o+s)/2,[e,100*(s===o?0:r<=.5?l/(s+o):l/(2-s-o)),100*r]}},6866:function(t){"use strict";t.exports={name:"rgb",min:[0,0,0],max:[255,255,255],channel:["red","green","blue"],alias:["RGB"]}},24138:function(t){t.exports={AFG:"afghan",ALA:"\\b\\wland",ALB:"albania",DZA:"algeria",ASM:"^(?=.*americ).*samoa",AND:"andorra",AGO:"angola",AIA:"anguill?a",ATA:"antarctica",ATG:"antigua",ARG:"argentin",ARM:"armenia",ABW:"^(?!.*bonaire).*\\baruba",AUS:"australia",AUT:"^(?!.*hungary).*austria|\\baustri.*\\bemp",AZE:"azerbaijan",BHS:"bahamas",BHR:"bahrain",BGD:"bangladesh|^(?=.*east).*paki?stan",BRB:"barbados",BLR:"belarus|byelo",BEL:"^(?!.*luxem).*belgium",BLZ:"belize|^(?=.*british).*honduras",BEN:"benin|dahome",BMU:"bermuda",BTN:"bhutan",BOL:"bolivia",BES:"^(?=.*bonaire).*eustatius|^(?=.*carib).*netherlands|\\bbes.?islands",BIH:"herzegovina|bosnia",BWA:"botswana|bechuana",BVT:"bouvet",BRA:"brazil",IOT:"british.?indian.?ocean",BRN:"brunei",BGR:"bulgaria",BFA:"burkina|\\bfaso|upper.?volta",BDI:"burundi",CPV:"verde",KHM:"cambodia|kampuchea|khmer",CMR:"cameroon",CAN:"canada",CYM:"cayman",CAF:"\\bcentral.african.republic",TCD:"\\bchad",CHL:"\\bchile",CHN:"^(?!.*\\bmac)(?!.*\\bhong)(?!.*\\btai)(?!.*\\brep).*china|^(?=.*peo)(?=.*rep).*china",CXR:"christmas",CCK:"\\bcocos|keeling",COL:"colombia",COM:"comoro",COG:"^(?!.*\\bdem)(?!.*\\bd[\\.]?r)(?!.*kinshasa)(?!.*zaire)(?!.*belg)(?!.*l.opoldville)(?!.*free).*\\bcongo",COK:"\\bcook",CRI:"costa.?rica",CIV:"ivoire|ivory",HRV:"croatia",CUB:"\\bcuba",CUW:"^(?!.*bonaire).*\\bcura(c|ç)ao",CYP:"cyprus",CSK:"czechoslovakia",CZE:"^(?=.*rep).*czech|czechia|bohemia",COD:"\\bdem.*congo|congo.*\\bdem|congo.*\\bd[\\.]?r|\\bd[\\.]?r.*congo|belgian.?congo|congo.?free.?state|kinshasa|zaire|l.opoldville|drc|droc|rdc",DNK:"denmark",DJI:"djibouti",DMA:"dominica(?!n)",DOM:"dominican.rep",ECU:"ecuador",EGY:"egypt",SLV:"el.?salvador",GNQ:"guine.*eq|eq.*guine|^(?=.*span).*guinea",ERI:"eritrea",EST:"estonia",ETH:"ethiopia|abyssinia",FLK:"falkland|malvinas",FRO:"faroe|faeroe",FJI:"fiji",FIN:"finland",FRA:"^(?!.*\\bdep)(?!.*martinique).*france|french.?republic|\\bgaul",GUF:"^(?=.*french).*guiana",PYF:"french.?polynesia|tahiti",ATF:"french.?southern",GAB:"gabon",GMB:"gambia",GEO:"^(?!.*south).*georgia",DDR:"german.?democratic.?republic|democratic.?republic.*germany|east.germany",DEU:"^(?!.*east).*germany|^(?=.*\\bfed.*\\brep).*german",GHA:"ghana|gold.?coast",GIB:"gibraltar",GRC:"greece|hellenic|hellas",GRL:"greenland",GRD:"grenada",GLP:"guadeloupe",GUM:"\\bguam",GTM:"guatemala",GGY:"guernsey",GIN:"^(?!.*eq)(?!.*span)(?!.*bissau)(?!.*portu)(?!.*new).*guinea",GNB:"bissau|^(?=.*portu).*guinea",GUY:"guyana|british.?guiana",HTI:"haiti",HMD:"heard.*mcdonald",VAT:"holy.?see|vatican|papal.?st",HND:"^(?!.*brit).*honduras",HKG:"hong.?kong",HUN:"^(?!.*austr).*hungary",ISL:"iceland",IND:"india(?!.*ocea)",IDN:"indonesia",IRN:"\\biran|persia",IRQ:"\\biraq|mesopotamia",IRL:"(^ireland)|(^republic.*ireland)",IMN:"^(?=.*isle).*\\bman",ISR:"israel",ITA:"italy",JAM:"jamaica",JPN:"japan",JEY:"jersey",JOR:"jordan",KAZ:"kazak",KEN:"kenya|british.?east.?africa|east.?africa.?prot",KIR:"kiribati",PRK:"^(?=.*democrat|people|north|d.*p.*.r).*\\bkorea|dprk|korea.*(d.*p.*r)",KWT:"kuwait",KGZ:"kyrgyz|kirghiz",LAO:"\\blaos?\\b",LVA:"latvia",LBN:"lebanon",LSO:"lesotho|basuto",LBR:"liberia",LBY:"libya",LIE:"liechtenstein",LTU:"lithuania",LUX:"^(?!.*belg).*luxem",MAC:"maca(o|u)",MDG:"madagascar|malagasy",MWI:"malawi|nyasa",MYS:"malaysia",MDV:"maldive",MLI:"\\bmali\\b",MLT:"\\bmalta",MHL:"marshall",MTQ:"martinique",MRT:"mauritania",MUS:"mauritius",MYT:"\\bmayotte",MEX:"\\bmexic",FSM:"fed.*micronesia|micronesia.*fed",MCO:"monaco",MNG:"mongolia",MNE:"^(?!.*serbia).*montenegro",MSR:"montserrat",MAR:"morocco|\\bmaroc",MOZ:"mozambique",MMR:"myanmar|burma",NAM:"namibia",NRU:"nauru",NPL:"nepal",NLD:"^(?!.*\\bant)(?!.*\\bcarib).*netherlands",ANT:"^(?=.*\\bant).*(nether|dutch)",NCL:"new.?caledonia",NZL:"new.?zealand",NIC:"nicaragua",NER:"\\bniger(?!ia)",NGA:"nigeria",NIU:"niue",NFK:"norfolk",MNP:"mariana",NOR:"norway",OMN:"\\boman|trucial",PAK:"^(?!.*east).*paki?stan",PLW:"palau",PSE:"palestin|\\bgaza|west.?bank",PAN:"panama",PNG:"papua|new.?guinea",PRY:"paraguay",PER:"peru",PHL:"philippines",PCN:"pitcairn",POL:"poland",PRT:"portugal",PRI:"puerto.?rico",QAT:"qatar",KOR:"^(?!.*d.*p.*r)(?!.*democrat)(?!.*people)(?!.*north).*\\bkorea(?!.*d.*p.*r)",MDA:"moldov|b(a|e)ssarabia",REU:"r(e|é)union",ROU:"r(o|u|ou)mania",RUS:"\\brussia|soviet.?union|u\\.?s\\.?s\\.?r|socialist.?republics",RWA:"rwanda",BLM:"barth(e|é)lemy",SHN:"helena",KNA:"kitts|\\bnevis",LCA:"\\blucia",MAF:"^(?=.*collectivity).*martin|^(?=.*france).*martin(?!ique)|^(?=.*french).*martin(?!ique)",SPM:"miquelon",VCT:"vincent",WSM:"^(?!.*amer).*samoa",SMR:"san.?marino",STP:"\\bs(a|ã)o.?tom(e|é)",SAU:"\\bsa\\w*.?arabia",SEN:"senegal",SRB:"^(?!.*monte).*serbia",SYC:"seychell",SLE:"sierra",SGP:"singapore",SXM:"^(?!.*martin)(?!.*saba).*maarten",SVK:"^(?!.*cze).*slovak",SVN:"slovenia",SLB:"solomon",SOM:"somali",ZAF:"south.africa|s\\\\..?africa",SGS:"south.?georgia|sandwich",SSD:"\\bs\\w*.?sudan",ESP:"spain",LKA:"sri.?lanka|ceylon",SDN:"^(?!.*\\bs(?!u)).*sudan",SUR:"surinam|dutch.?guiana",SJM:"svalbard",SWZ:"swaziland",SWE:"sweden",CHE:"switz|swiss",SYR:"syria",TWN:"taiwan|taipei|formosa|^(?!.*peo)(?=.*rep).*china",TJK:"tajik",THA:"thailand|\\bsiam",MKD:"macedonia|fyrom",TLS:"^(?=.*leste).*timor|^(?=.*east).*timor",TGO:"togo",TKL:"tokelau",TON:"tonga",TTO:"trinidad|tobago",TUN:"tunisia",TUR:"turkey",TKM:"turkmen",TCA:"turks",TUV:"tuvalu",UGA:"uganda",UKR:"ukrain",ARE:"emirates|^u\\.?a\\.?e\\.?$|united.?arab.?em",GBR:"united.?kingdom|britain|^u\\.?k\\.?$",TZA:"tanzania",USA:"united.?states\\b(?!.*islands)|\\bu\\.?s\\.?a\\.?\\b|^\\s*u\\.?s\\.?\\b(?!.*islands)",UMI:"minor.?outlying.?is",URY:"uruguay",UZB:"uzbek",VUT:"vanuatu|new.?hebrides",VEN:"venezuela",VNM:"^(?!.*republic).*viet.?nam|^(?=.*socialist).*viet.?nam",VGB:"^(?=.*\\bu\\.?\\s?k).*virgin|^(?=.*brit).*virgin|^(?=.*kingdom).*virgin",VIR:"^(?=.*\\bu\\.?\\s?s).*virgin|^(?=.*states).*virgin",WLF:"futuna|wallis",ESH:"western.sahara",YEM:"^(?!.*arab)(?!.*north)(?!.*sana)(?!.*peo)(?!.*dem)(?!.*south)(?!.*aden)(?!.*\\bp\\.?d\\.?r).*yemen",YMD:"^(?=.*peo).*yemen|^(?!.*rep)(?=.*dem).*yemen|^(?=.*south).*yemen|^(?=.*aden).*yemen|^(?=.*\\bp\\.?d\\.?r).*yemen",YUG:"yugoslavia",ZMB:"zambia|northern.?rhodesia",EAZ:"zanzibar",ZWE:"zimbabwe|^(?!.*northern).*rhodesia"}},72791:function(t,e,r){"use strict";t.exports={parse:r(41004),stringify:r(53313)}},63625:function(t,e,r){"use strict";var n=r(40402);t.exports={isSize:function(t){return/^[\d\.]/.test(t)||-1!==t.indexOf("/")||-1!==n.indexOf(t)}}},41004:function(t,e,r){"use strict";var n=r(90448),i=r(38732),a=r(41901),o=r(15659),s=r(96209),l=r(83794),u=r(99011),c=r(63625).isSize;t.exports=h;var f=h.cache={};function h(t){if("string"!=typeof t)throw new Error("Font argument must be a string.");if(f[t])return f[t];if(""===t)throw new Error("Cannot parse an empty string.");if(-1!==a.indexOf(t))return f[t]={system:t};for(var e,r={style:"normal",variant:"normal",weight:"normal",stretch:"normal",lineHeight:"normal",size:"1rem",family:["serif"]},h=u(t,/\s+/);e=h.shift();){if(-1!==i.indexOf(e))return["style","variant","weight","stretch"].forEach((function(t){r[t]=e})),f[t]=r;if(-1===s.indexOf(e))if("normal"!==e&&"small-caps"!==e)if(-1===l.indexOf(e)){if(-1===o.indexOf(e)){if(c(e)){var d=u(e,"/");if(r.size=d[0],null!=d[1]?r.lineHeight=p(d[1]):"/"===h[0]&&(h.shift(),r.lineHeight=p(h.shift())),!h.length)throw new Error("Missing required font-family.");return r.family=u(h.join(" "),/\s*,\s*/).map(n),f[t]=r}throw new Error("Unknown or unsupported font token: "+e)}r.weight=e}else r.stretch=e;else r.variant=e;else r.style=e}throw new Error("Missing required font-size.")}function p(t){var e=parseFloat(t);return e.toString()===t?e:t}},53313:function(t,e,r){"use strict";var n=r(71299),i=r(63625).isSize,a=d(r(38732)),o=d(r(41901)),s=d(r(15659)),l=d(r(96209)),u=d(r(83794)),c={normal:1,"small-caps":1},f={serif:1,"sans-serif":1,monospace:1,cursive:1,fantasy:1,"system-ui":1},h="serif";function p(t,e){if(t&&!e[t]&&!a[t])throw Error("Unknown keyword `"+t+"`");return t}function d(t){for(var e={},r=0;r<t.length;r++)e[t[r]]=1;return e}t.exports=function(t){if((t=n(t,{style:"style fontstyle fontStyle font-style slope distinction",variant:"variant font-variant fontVariant fontvariant var capitalization",weight:"weight w font-weight fontWeight fontweight",stretch:"stretch font-stretch fontStretch fontstretch width",size:"size s font-size fontSize fontsize height em emSize",lineHeight:"lh line-height lineHeight lineheight leading",family:"font family fontFamily font-family fontfamily type typeface face",system:"system reserved default global"})).system)return t.system&&p(t.system,o),t.system;if(p(t.style,l),p(t.variant,c),p(t.weight,s),p(t.stretch,u),null==t.size&&(t.size="1rem"),"number"==typeof t.size&&(t.size+="px"),!i)throw Error("Bad size value `"+t.size+"`");t.family||(t.family=h),Array.isArray(t.family)&&(t.family.length||(t.family=[h]),t.family=t.family.map((function(t){return f[t]?t:'"'+t+'"'})).join(", "));var e=[];return e.push(t.style),t.variant!==t.style&&e.push(t.variant),t.weight!==t.variant&&t.weight!==t.style&&e.push(t.weight),t.stretch!==t.weight&&t.stretch!==t.variant&&t.stretch!==t.style&&e.push(t.stretch),e.push(t.size+(null==t.lineHeight||"normal"===t.lineHeight||t.lineHeight+""=="1"?"":"/"+t.lineHeight)),e.push(t.family),e.filter(Boolean).join(" ")}},55174:function(t,e,r){"use strict";var n,i=r(24582),a=r(10424),o=r(82527),s=r(19012),l=r(21780),u=r(16906),c=Function.prototype.bind,f=Object.defineProperty,h=Object.prototype.hasOwnProperty;n=function(t,e,r){var n,i=a(e)&&o(e.value);return delete(n=s(e)).writable,delete n.value,n.get=function(){return!r.overwriteDefinition&&h.call(this,t)?i:(e.value=c.call(i,r.resolveContext?r.resolveContext(this):this),f(this,t,e),this[t])},n},t.exports=function(t){var e=l(arguments[1]);return i(e.resolveContext)&&o(e.resolveContext),u(t,(function(t,r){return n(r,t,e)}))}},62072:function(t,e,r){"use strict";var n=r(24582),i=r(84985),a=r(95879),o=r(21780),s=r(66741),l=t.exports=function(t,e){var r,i,l,u,c;return arguments.length<2||"string"!=typeof t?(u=e,e=t,t=null):u=arguments[2],n(t)?(r=s.call(t,"c"),i=s.call(t,"e"),l=s.call(t,"w")):(r=l=!0,i=!1),c={value:e,configurable:r,enumerable:i,writable:l},u?a(o(u),c):c};l.gs=function(t,e,r){var l,u,c,f;return"string"!=typeof t?(c=r,r=e,e=t,t=null):c=arguments[3],n(e)?i(e)?n(r)?i(r)||(c=r,r=void 0):r=void 0:(c=e,e=r=void 0):e=void 0,n(t)?(l=s.call(t,"c"),u=s.call(t,"e")):(l=!0,u=!1),f={get:e,set:r,configurable:l,enumerable:u},c?a(o(c),f):f}},33064:function(t,e,r){"use strict";function n(t,e){return t<e?-1:t>e?1:t>=e?0:NaN}r.d(e,{j2:function(){return n},Fp:function(){return s},J6:function(){return u},TS:function(){return c},VV:function(){return f},w6:function(){return h},Sm:function(){return p}}),1===(i=n).length&&(a=i,i=function(t,e){return n(a(t),e)});var i,a,o=Array.prototype;function s(t,e){var r,n,i=t.length,a=-1;if(null==e){for(;++a<i;)if(null!=(r=t[a])&&r>=r)for(n=r;++a<i;)null!=(r=t[a])&&r>n&&(n=r)}else for(;++a<i;)if(null!=(r=e(t[a],a,t))&&r>=r)for(n=r;++a<i;)null!=(r=e(t[a],a,t))&&r>n&&(n=r);return n}function l(t){return null===t?NaN:+t}function u(t,e){var r,n=t.length,i=n,a=-1,o=0;if(null==e)for(;++a<n;)isNaN(r=l(t[a]))?--i:o+=r;else for(;++a<n;)isNaN(r=l(e(t[a],a,t)))?--i:o+=r;if(i)return o/i}function c(t){for(var e,r,n,i=t.length,a=-1,o=0;++a<i;)o+=t[a].length;for(r=new Array(o);--i>=0;)for(e=(n=t[i]).length;--e>=0;)r[--o]=n[e];return r}function f(t,e){var r,n,i=t.length,a=-1;if(null==e){for(;++a<i;)if(null!=(r=t[a])&&r>=r)for(n=r;++a<i;)null!=(r=t[a])&&n>r&&(n=r)}else for(;++a<i;)if(null!=(r=e(t[a],a,t))&&r>=r)for(n=r;++a<i;)null!=(r=e(t[a],a,t))&&n>r&&(n=r);return n}function h(t,e,r){t=+t,e=+e,r=(i=arguments.length)<2?(e=t,t=0,1):i<3?1:+r;for(var n=-1,i=0|Math.max(0,Math.ceil((e-t)/r)),a=new Array(i);++n<i;)a[n]=t+n*r;return a}function p(t,e){var r,n=t.length,i=-1,a=0;if(null==e)for(;++i<n;)(r=+t[i])&&(a+=r);else for(;++i<n;)(r=+e(t[i],i,t))&&(a+=r);return a}o.slice,o.map,Math.sqrt(50),Math.sqrt(10),Math.sqrt(2)},15140:function(t,e,r){"use strict";r.d(e,{UI:function(){return o},b1:function(){return s}});var n="$";function i(){}function a(t,e){var r=new i;if(t instanceof i)t.each((function(t,e){r.set(e,t)}));else if(Array.isArray(t)){var n,a=-1,o=t.length;if(null==e)for(;++a<o;)r.set(a,t[a]);else for(;++a<o;)r.set(e(n=t[a],a,t),n)}else if(t)for(var s in t)r.set(s,t[s]);return r}i.prototype=a.prototype={constructor:i,has:function(t){return n+t in this},get:function(t){return this[n+t]},set:function(t,e){return this[n+t]=e,this},remove:function(t){var e=n+t;return e in this&&delete this[e]},clear:function(){for(var t in this)t[0]===n&&delete this[t]},keys:function(){var t=[];for(var e in this)e[0]===n&&t.push(e.slice(1));return t},values:function(){var t=[];for(var e in this)e[0]===n&&t.push(this[e]);return t},entries:function(){var t=[];for(var e in this)e[0]===n&&t.push({key:e.slice(1),value:this[e]});return t},size:function(){var t=0;for(var e in this)e[0]===n&&++t;return t},empty:function(){for(var t in this)if(t[0]===n)return!1;return!0},each:function(t){for(var e in this)e[0]===n&&t(this[e],e.slice(1),this)}};var o=a;function s(){var t,e,r,n=[],i=[];function a(r,i,s,l){if(i>=n.length)return null!=t&&r.sort(t),null!=e?e(r):r;for(var u,c,f,h=-1,p=r.length,d=n[i++],v=o(),g=s();++h<p;)(f=v.get(u=d(c=r[h])+""))?f.push(c):v.set(u,[c]);return v.each((function(t,e){l(g,e,a(t,i,s,l))})),g}function s(t,r){if(++r>n.length)return t;var a,o=i[r-1];return null!=e&&r>=n.length?a=t.entries():(a=[],t.each((function(t,e){a.push({key:e,values:s(t,r)})}))),null!=o?a.sort((function(t,e){return o(t.key,e.key)})):a}return r={object:function(t){return a(t,0,l,u)},map:function(t){return a(t,0,c,f)},entries:function(t){return s(a(t,0,c,f),0)},key:function(t){return n.push(t),r},sortKeys:function(t){return i[n.length-1]=t,r},sortValues:function(e){return t=e,r},rollup:function(t){return e=t,r}}}function l(){return{}}function u(t,e,r){t[e]=r}function c(){return o()}function f(t,e,r){t.set(e,r)}function h(){}var p=o.prototype;h.prototype=function(t,e){var r=new h;if(t instanceof h)t.each((function(t){r.add(t)}));else if(t){var n=-1,i=t.length;if(null==e)for(;++n<i;)r.add(t[n]);else for(;++n<i;)r.add(e(t[n],n,t))}return r}.prototype={constructor:h,has:p.has,add:function(t){return this[n+(t+="")]=t,this},remove:p.remove,clear:p.clear,values:p.keys,size:p.size,empty:p.empty,each:p.each}},49887:function(t,e,r){"use strict";function n(t,e){var r;function n(){var n,i,a=r.length,o=0,s=0;for(n=0;n<a;++n)o+=(i=r[n]).x,s+=i.y;for(o=o/a-t,s=s/a-e,n=0;n<a;++n)(i=r[n]).x-=o,i.y-=s}return null==t&&(t=0),null==e&&(e=0),n.initialize=function(t){r=t},n.x=function(e){return arguments.length?(t=+e,n):t},n.y=function(t){return arguments.length?(e=+t,n):e},n}function i(t){return function(){return t}}function a(){return 1e-6*(Math.random()-.5)}function o(t,e,r,n){if(isNaN(e)||isNaN(r))return t;var i,a,o,s,l,u,c,f,h,p=t._root,d={data:n},v=t._x0,g=t._y0,y=t._x1,m=t._y1;if(!p)return t._root=d,t;for(;p.length;)if((u=e>=(a=(v+y)/2))?v=a:y=a,(c=r>=(o=(g+m)/2))?g=o:m=o,i=p,!(p=p[f=c<<1|u]))return i[f]=d,t;if(s=+t._x.call(null,p.data),l=+t._y.call(null,p.data),e===s&&r===l)return d.next=p,i?i[f]=d:t._root=d,t;do{i=i?i[f]=new Array(4):t._root=new Array(4),(u=e>=(a=(v+y)/2))?v=a:y=a,(c=r>=(o=(g+m)/2))?g=o:m=o}while((f=c<<1|u)==(h=(l>=o)<<1|s>=a));return i[h]=p,i[f]=d,t}function s(t,e,r,n,i){this.node=t,this.x0=e,this.y0=r,this.x1=n,this.y1=i}function l(t){return t[0]}function u(t){return t[1]}function c(t,e,r){var n=new f(null==e?l:e,null==r?u:r,NaN,NaN,NaN,NaN);return null==t?n:n.addAll(t)}function f(t,e,r,n,i,a){this._x=t,this._y=e,this._x0=r,this._y0=n,this._x1=i,this._y1=a,this._root=void 0}function h(t){for(var e={data:t.data},r=e;t=t.next;)r=r.next={data:t.data};return e}r.r(e),r.d(e,{forceCenter:function(){return n},forceCollide:function(){return g},forceLink:function(){return b},forceManyBody:function(){return X},forceRadial:function(){return J},forceSimulation:function(){return W},forceX:function(){return K},forceY:function(){return $}});var p=c.prototype=f.prototype;function d(t){return t.x+t.vx}function v(t){return t.y+t.vy}function g(t){var e,r,n=1,o=1;function s(){for(var t,i,s,u,f,h,p,g=e.length,y=0;y<o;++y)for(i=c(e,d,v).visitAfter(l),t=0;t<g;++t)s=e[t],h=r[s.index],p=h*h,u=s.x+s.vx,f=s.y+s.vy,i.visit(m);function m(t,e,r,i,o){var l=t.data,c=t.r,d=h+c;if(!l)return e>u+d||i<u-d||r>f+d||o<f-d;if(l.index>s.index){var v=u-l.x-l.vx,g=f-l.y-l.vy,y=v*v+g*g;y<d*d&&(0===v&&(y+=(v=a())*v),0===g&&(y+=(g=a())*g),y=(d-(y=Math.sqrt(y)))/y*n,s.vx+=(v*=y)*(d=(c*=c)/(p+c)),s.vy+=(g*=y)*d,l.vx-=v*(d=1-d),l.vy-=g*d)}}}function l(t){if(t.data)return t.r=r[t.data.index];for(var e=t.r=0;e<4;++e)t[e]&&t[e].r>t.r&&(t.r=t[e].r)}function u(){if(e){var n,i,a=e.length;for(r=new Array(a),n=0;n<a;++n)i=e[n],r[i.index]=+t(i,n,e)}}return"function"!=typeof t&&(t=i(null==t?1:+t)),s.initialize=function(t){e=t,u()},s.iterations=function(t){return arguments.length?(o=+t,s):o},s.strength=function(t){return arguments.length?(n=+t,s):n},s.radius=function(e){return arguments.length?(t="function"==typeof e?e:i(+e),u(),s):t},s}p.copy=function(){var t,e,r=new f(this._x,this._y,this._x0,this._y0,this._x1,this._y1),n=this._root;if(!n)return r;if(!n.length)return r._root=h(n),r;for(t=[{source:n,target:r._root=new Array(4)}];n=t.pop();)for(var i=0;i<4;++i)(e=n.source[i])&&(e.length?t.push({source:e,target:n.target[i]=new Array(4)}):n.target[i]=h(e));return r},p.add=function(t){var e=+this._x.call(null,t),r=+this._y.call(null,t);return o(this.cover(e,r),e,r,t)},p.addAll=function(t){var e,r,n,i,a=t.length,s=new Array(a),l=new Array(a),u=1/0,c=1/0,f=-1/0,h=-1/0;for(r=0;r<a;++r)isNaN(n=+this._x.call(null,e=t[r]))||isNaN(i=+this._y.call(null,e))||(s[r]=n,l[r]=i,n<u&&(u=n),n>f&&(f=n),i<c&&(c=i),i>h&&(h=i));if(u>f||c>h)return this;for(this.cover(u,c).cover(f,h),r=0;r<a;++r)o(this,s[r],l[r],t[r]);return this},p.cover=function(t,e){if(isNaN(t=+t)||isNaN(e=+e))return this;var r=this._x0,n=this._y0,i=this._x1,a=this._y1;if(isNaN(r))i=(r=Math.floor(t))+1,a=(n=Math.floor(e))+1;else{for(var o,s,l=i-r,u=this._root;r>t||t>=i||n>e||e>=a;)switch(s=(e<n)<<1|t<r,(o=new Array(4))[s]=u,u=o,l*=2,s){case 0:i=r+l,a=n+l;break;case 1:r=i-l,a=n+l;break;case 2:i=r+l,n=a-l;break;case 3:r=i-l,n=a-l}this._root&&this._root.length&&(this._root=u)}return this._x0=r,this._y0=n,this._x1=i,this._y1=a,this},p.data=function(){var t=[];return this.visit((function(e){if(!e.length)do{t.push(e.data)}while(e=e.next)})),t},p.extent=function(t){return arguments.length?this.cover(+t[0][0],+t[0][1]).cover(+t[1][0],+t[1][1]):isNaN(this._x0)?void 0:[[this._x0,this._y0],[this._x1,this._y1]]},p.find=function(t,e,r){var n,i,a,o,l,u,c,f=this._x0,h=this._y0,p=this._x1,d=this._y1,v=[],g=this._root;for(g&&v.push(new s(g,f,h,p,d)),null==r?r=1/0:(f=t-r,h=e-r,p=t+r,d=e+r,r*=r);u=v.pop();)if(!(!(g=u.node)||(i=u.x0)>p||(a=u.y0)>d||(o=u.x1)<f||(l=u.y1)<h))if(g.length){var y=(i+o)/2,m=(a+l)/2;v.push(new s(g[3],y,m,o,l),new s(g[2],i,m,y,l),new s(g[1],y,a,o,m),new s(g[0],i,a,y,m)),(c=(e>=m)<<1|t>=y)&&(u=v[v.length-1],v[v.length-1]=v[v.length-1-c],v[v.length-1-c]=u)}else{var x=t-+this._x.call(null,g.data),b=e-+this._y.call(null,g.data),_=x*x+b*b;if(_<r){var w=Math.sqrt(r=_);f=t-w,h=e-w,p=t+w,d=e+w,n=g.data}}return n},p.remove=function(t){if(isNaN(a=+this._x.call(null,t))||isNaN(o=+this._y.call(null,t)))return this;var e,r,n,i,a,o,s,l,u,c,f,h,p=this._root,d=this._x0,v=this._y0,g=this._x1,y=this._y1;if(!p)return this;if(p.length)for(;;){if((u=a>=(s=(d+g)/2))?d=s:g=s,(c=o>=(l=(v+y)/2))?v=l:y=l,e=p,!(p=p[f=c<<1|u]))return this;if(!p.length)break;(e[f+1&3]||e[f+2&3]||e[f+3&3])&&(r=e,h=f)}for(;p.data!==t;)if(n=p,!(p=p.next))return this;return(i=p.next)&&delete p.next,n?(i?n.next=i:delete n.next,this):e?(i?e[f]=i:delete e[f],(p=e[0]||e[1]||e[2]||e[3])&&p===(e[3]||e[2]||e[1]||e[0])&&!p.length&&(r?r[h]=p:this._root=p),this):(this._root=i,this)},p.removeAll=function(t){for(var e=0,r=t.length;e<r;++e)this.remove(t[e]);return this},p.root=function(){return this._root},p.size=function(){var t=0;return this.visit((function(e){if(!e.length)do{++t}while(e=e.next)})),t},p.visit=function(t){var e,r,n,i,a,o,l=[],u=this._root;for(u&&l.push(new s(u,this._x0,this._y0,this._x1,this._y1));e=l.pop();)if(!t(u=e.node,n=e.x0,i=e.y0,a=e.x1,o=e.y1)&&u.length){var c=(n+a)/2,f=(i+o)/2;(r=u[3])&&l.push(new s(r,c,f,a,o)),(r=u[2])&&l.push(new s(r,n,f,c,o)),(r=u[1])&&l.push(new s(r,c,i,a,f)),(r=u[0])&&l.push(new s(r,n,i,c,f))}return this},p.visitAfter=function(t){var e,r=[],n=[];for(this._root&&r.push(new s(this._root,this._x0,this._y0,this._x1,this._y1));e=r.pop();){var i=e.node;if(i.length){var a,o=e.x0,l=e.y0,u=e.x1,c=e.y1,f=(o+u)/2,h=(l+c)/2;(a=i[0])&&r.push(new s(a,o,l,f,h)),(a=i[1])&&r.push(new s(a,f,l,u,h)),(a=i[2])&&r.push(new s(a,o,h,f,c)),(a=i[3])&&r.push(new s(a,f,h,u,c))}n.push(e)}for(;e=n.pop();)t(e.node,e.x0,e.y0,e.x1,e.y1);return this},p.x=function(t){return arguments.length?(this._x=t,this):this._x},p.y=function(t){return arguments.length?(this._y=t,this):this._y};var y=r(15140);function m(t){return t.index}function x(t,e){var r=t.get(e);if(!r)throw new Error("missing: "+e);return r}function b(t){var e,r,n,o,s,l=m,u=function(t){return 1/Math.min(o[t.source.index],o[t.target.index])},c=i(30),f=1;function h(n){for(var i=0,o=t.length;i<f;++i)for(var l,u,c,h,p,d,v,g=0;g<o;++g)u=(l=t[g]).source,h=(c=l.target).x+c.vx-u.x-u.vx||a(),p=c.y+c.vy-u.y-u.vy||a(),h*=d=((d=Math.sqrt(h*h+p*p))-r[g])/d*n*e[g],p*=d,c.vx-=h*(v=s[g]),c.vy-=p*v,u.vx+=h*(v=1-v),u.vy+=p*v}function p(){if(n){var i,a,u=n.length,c=t.length,f=(0,y.UI)(n,l);for(i=0,o=new Array(u);i<c;++i)(a=t[i]).index=i,"object"!=typeof a.source&&(a.source=x(f,a.source)),"object"!=typeof a.target&&(a.target=x(f,a.target)),o[a.source.index]=(o[a.source.index]||0)+1,o[a.target.index]=(o[a.target.index]||0)+1;for(i=0,s=new Array(c);i<c;++i)a=t[i],s[i]=o[a.source.index]/(o[a.source.index]+o[a.target.index]);e=new Array(c),d(),r=new Array(c),v()}}function d(){if(n)for(var r=0,i=t.length;r<i;++r)e[r]=+u(t[r],r,t)}function v(){if(n)for(var e=0,i=t.length;e<i;++e)r[e]=+c(t[e],e,t)}return null==t&&(t=[]),h.initialize=function(t){n=t,p()},h.links=function(e){return arguments.length?(t=e,p(),h):t},h.id=function(t){return arguments.length?(l=t,h):l},h.iterations=function(t){return arguments.length?(f=+t,h):f},h.strength=function(t){return arguments.length?(u="function"==typeof t?t:i(+t),d(),h):u},h.distance=function(t){return arguments.length?(c="function"==typeof t?t:i(+t),v(),h):c},h}var _={value:function(){}};function w(){for(var t,e=0,r=arguments.length,n={};e<r;++e){if(!(t=arguments[e]+"")||t in n||/[\s.]/.test(t))throw new Error("illegal type: "+t);n[t]=[]}return new T(n)}function T(t){this._=t}function k(t,e){return t.trim().split(/^|\s+/).map((function(t){var r="",n=t.indexOf(".");if(n>=0&&(r=t.slice(n+1),t=t.slice(0,n)),t&&!e.hasOwnProperty(t))throw new Error("unknown type: "+t);return{type:t,name:r}}))}function A(t,e){for(var r,n=0,i=t.length;n<i;++n)if((r=t[n]).name===e)return r.value}function M(t,e,r){for(var n=0,i=t.length;n<i;++n)if(t[n].name===e){t[n]=_,t=t.slice(0,n).concat(t.slice(n+1));break}return null!=r&&t.push({name:e,value:r}),t}T.prototype=w.prototype={constructor:T,on:function(t,e){var r,n=this._,i=k(t+"",n),a=-1,o=i.length;if(!(arguments.length<2)){if(null!=e&&"function"!=typeof e)throw new Error("invalid callback: "+e);for(;++a<o;)if(r=(t=i[a]).type)n[r]=M(n[r],t.name,e);else if(null==e)for(r in n)n[r]=M(n[r],t.name,null);return this}for(;++a<o;)if((r=(t=i[a]).type)&&(r=A(n[r],t.name)))return r},copy:function(){var t={},e=this._;for(var r in e)t[r]=e[r].slice();return new T(t)},call:function(t,e){if((r=arguments.length-2)>0)for(var r,n,i=new Array(r),a=0;a<r;++a)i[a]=arguments[a+2];if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(a=0,r=(n=this._[t]).length;a<r;++a)n[a].value.apply(e,i)},apply:function(t,e,r){if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(var n=this._[t],i=0,a=n.length;i<a;++i)n[i].value.apply(e,r)}};var S,E,L=w,C=0,P=0,O=0,I=0,D=0,z=0,R="object"==typeof performance&&performance.now?performance:Date,F="object"==typeof window&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(t){setTimeout(t,17)};function B(){return D||(F(N),D=R.now()+z)}function N(){D=0}function j(){this._call=this._time=this._next=null}function U(t,e,r){var n=new j;return n.restart(t,e,r),n}function V(){D=(I=R.now())+z,C=P=0;try{!function(){B(),++C;for(var t,e=S;e;)(t=D-e._time)>=0&&e._call.call(null,t),e=e._next;--C}()}finally{C=0,function(){for(var t,e,r=S,n=1/0;r;)r._call?(n>r._time&&(n=r._time),t=r,r=r._next):(e=r._next,r._next=null,r=t?t._next=e:S=e);E=t,q(n)}(),D=0}}function H(){var t=R.now(),e=t-I;e>1e3&&(z-=e,I=t)}function q(t){C||(P&&(P=clearTimeout(P)),t-D>24?(t<1/0&&(P=setTimeout(V,t-R.now()-z)),O&&(O=clearInterval(O))):(O||(I=R.now(),O=setInterval(H,1e3)),C=1,F(V)))}function G(t){return t.x}function Z(t){return t.y}j.prototype=U.prototype={constructor:j,restart:function(t,e,r){if("function"!=typeof t)throw new TypeError("callback is not a function");r=(null==r?B():+r)+(null==e?0:+e),this._next||E===this||(E?E._next=this:S=this,E=this),this._call=t,this._time=r,q()},stop:function(){this._call&&(this._call=null,this._time=1/0,q())}};var Y=Math.PI*(3-Math.sqrt(5));function W(t){var e,r=1,n=.001,i=1-Math.pow(n,1/300),a=0,o=.6,s=(0,y.UI)(),l=U(c),u=L("tick","end");function c(){f(),u.call("tick",e),r<n&&(l.stop(),u.call("end",e))}function f(n){var l,u,c=t.length;void 0===n&&(n=1);for(var f=0;f<n;++f)for(r+=(a-r)*i,s.each((function(t){t(r)})),l=0;l<c;++l)null==(u=t[l]).fx?u.x+=u.vx*=o:(u.x=u.fx,u.vx=0),null==u.fy?u.y+=u.vy*=o:(u.y=u.fy,u.vy=0);return e}function h(){for(var e,r=0,n=t.length;r<n;++r){if((e=t[r]).index=r,null!=e.fx&&(e.x=e.fx),null!=e.fy&&(e.y=e.fy),isNaN(e.x)||isNaN(e.y)){var i=10*Math.sqrt(r),a=r*Y;e.x=i*Math.cos(a),e.y=i*Math.sin(a)}(isNaN(e.vx)||isNaN(e.vy))&&(e.vx=e.vy=0)}}function p(e){return e.initialize&&e.initialize(t),e}return null==t&&(t=[]),h(),e={tick:f,restart:function(){return l.restart(c),e},stop:function(){return l.stop(),e},nodes:function(r){return arguments.length?(t=r,h(),s.each(p),e):t},alpha:function(t){return arguments.length?(r=+t,e):r},alphaMin:function(t){return arguments.length?(n=+t,e):n},alphaDecay:function(t){return arguments.length?(i=+t,e):+i},alphaTarget:function(t){return arguments.length?(a=+t,e):a},velocityDecay:function(t){return arguments.length?(o=1-t,e):1-o},force:function(t,r){return arguments.length>1?(null==r?s.remove(t):s.set(t,p(r)),e):s.get(t)},find:function(e,r,n){var i,a,o,s,l,u=0,c=t.length;for(null==n?n=1/0:n*=n,u=0;u<c;++u)(o=(i=e-(s=t[u]).x)*i+(a=r-s.y)*a)<n&&(l=s,n=o);return l},on:function(t,r){return arguments.length>1?(u.on(t,r),e):u.on(t)}}}function X(){var t,e,r,n,o=i(-30),s=1,l=1/0,u=.81;function f(n){var i,a=t.length,o=c(t,G,Z).visitAfter(p);for(r=n,i=0;i<a;++i)e=t[i],o.visit(d)}function h(){if(t){var e,r,i=t.length;for(n=new Array(i),e=0;e<i;++e)r=t[e],n[r.index]=+o(r,e,t)}}function p(t){var e,r,i,a,o,s=0,l=0;if(t.length){for(i=a=o=0;o<4;++o)(e=t[o])&&(r=Math.abs(e.value))&&(s+=e.value,l+=r,i+=r*e.x,a+=r*e.y);t.x=i/l,t.y=a/l}else{(e=t).x=e.data.x,e.y=e.data.y;do{s+=n[e.data.index]}while(e=e.next)}t.value=s}function d(t,i,o,c){if(!t.value)return!0;var f=t.x-e.x,h=t.y-e.y,p=c-i,d=f*f+h*h;if(p*p/u<d)return d<l&&(0===f&&(d+=(f=a())*f),0===h&&(d+=(h=a())*h),d<s&&(d=Math.sqrt(s*d)),e.vx+=f*t.value*r/d,e.vy+=h*t.value*r/d),!0;if(!(t.length||d>=l)){(t.data!==e||t.next)&&(0===f&&(d+=(f=a())*f),0===h&&(d+=(h=a())*h),d<s&&(d=Math.sqrt(s*d)));do{t.data!==e&&(p=n[t.data.index]*r/d,e.vx+=f*p,e.vy+=h*p)}while(t=t.next)}}return f.initialize=function(e){t=e,h()},f.strength=function(t){return arguments.length?(o="function"==typeof t?t:i(+t),h(),f):o},f.distanceMin=function(t){return arguments.length?(s=t*t,f):Math.sqrt(s)},f.distanceMax=function(t){return arguments.length?(l=t*t,f):Math.sqrt(l)},f.theta=function(t){return arguments.length?(u=t*t,f):Math.sqrt(u)},f}function J(t,e,r){var n,a,o,s=i(.1);function l(t){for(var i=0,s=n.length;i<s;++i){var l=n[i],u=l.x-e||1e-6,c=l.y-r||1e-6,f=Math.sqrt(u*u+c*c),h=(o[i]-f)*a[i]*t/f;l.vx+=u*h,l.vy+=c*h}}function u(){if(n){var e,r=n.length;for(a=new Array(r),o=new Array(r),e=0;e<r;++e)o[e]=+t(n[e],e,n),a[e]=isNaN(o[e])?0:+s(n[e],e,n)}}return"function"!=typeof t&&(t=i(+t)),null==e&&(e=0),null==r&&(r=0),l.initialize=function(t){n=t,u()},l.strength=function(t){return arguments.length?(s="function"==typeof t?t:i(+t),u(),l):s},l.radius=function(e){return arguments.length?(t="function"==typeof e?e:i(+e),u(),l):t},l.x=function(t){return arguments.length?(e=+t,l):e},l.y=function(t){return arguments.length?(r=+t,l):r},l}function K(t){var e,r,n,a=i(.1);function o(t){for(var i,a=0,o=e.length;a<o;++a)(i=e[a]).vx+=(n[a]-i.x)*r[a]*t}function s(){if(e){var i,o=e.length;for(r=new Array(o),n=new Array(o),i=0;i<o;++i)r[i]=isNaN(n[i]=+t(e[i],i,e))?0:+a(e[i],i,e)}}return"function"!=typeof t&&(t=i(null==t?0:+t)),o.initialize=function(t){e=t,s()},o.strength=function(t){return arguments.length?(a="function"==typeof t?t:i(+t),s(),o):a},o.x=function(e){return arguments.length?(t="function"==typeof e?e:i(+e),s(),o):t},o}function $(t){var e,r,n,a=i(.1);function o(t){for(var i,a=0,o=e.length;a<o;++a)(i=e[a]).vy+=(n[a]-i.y)*r[a]*t}function s(){if(e){var i,o=e.length;for(r=new Array(o),n=new Array(o),i=0;i<o;++i)r[i]=isNaN(n[i]=+t(e[i],i,e))?0:+a(e[i],i,e)}}return"function"!=typeof t&&(t=i(null==t?0:+t)),o.initialize=function(t){e=t,s()},o.strength=function(t){return arguments.length?(a="function"==typeof t?t:i(+t),s(),o):a},o.y=function(e){return arguments.length?(t="function"==typeof e?e:i(+e),s(),o):t},o}},60721:function(t,e,r){"use strict";function n(t,e){if((r=(t=e?t.toExponential(e-1):t.toExponential()).indexOf("e"))<0)return null;var r,n=t.slice(0,r);return[n.length>1?n[0]+n.slice(2):n,+t.slice(r+1)]}r.d(e,{WU:function(){return h},FF:function(){return v}});var i,a=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function o(t){if(!(e=a.exec(t)))throw new Error("invalid format: "+t);var e;return new s({fill:e[1],align:e[2],sign:e[3],symbol:e[4],zero:e[5],width:e[6],comma:e[7],precision:e[8]&&e[8].slice(1),trim:e[9],type:e[10]})}function s(t){this.fill=void 0===t.fill?" ":t.fill+"",this.align=void 0===t.align?">":t.align+"",this.sign=void 0===t.sign?"-":t.sign+"",this.symbol=void 0===t.symbol?"":t.symbol+"",this.zero=!!t.zero,this.width=void 0===t.width?void 0:+t.width,this.comma=!!t.comma,this.precision=void 0===t.precision?void 0:+t.precision,this.trim=!!t.trim,this.type=void 0===t.type?"":t.type+""}function l(t,e){var r=n(t,e);if(!r)return t+"";var i=r[0],a=r[1];return a<0?"0."+new Array(-a).join("0")+i:i.length>a+1?i.slice(0,a+1)+"."+i.slice(a+1):i+new Array(a-i.length+2).join("0")}o.prototype=s.prototype,s.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(void 0===this.width?"":Math.max(1,0|this.width))+(this.comma?",":"")+(void 0===this.precision?"":"."+Math.max(0,0|this.precision))+(this.trim?"~":"")+this.type};var u={"%":function(t,e){return(100*t).toFixed(e)},b:function(t){return Math.round(t).toString(2)},c:function(t){return t+""},d:function(t){return Math.abs(t=Math.round(t))>=1e21?t.toLocaleString("en").replace(/,/g,""):t.toString(10)},e:function(t,e){return t.toExponential(e)},f:function(t,e){return t.toFixed(e)},g:function(t,e){return t.toPrecision(e)},o:function(t){return Math.round(t).toString(8)},p:function(t,e){return l(100*t,e)},r:l,s:function(t,e){var r=n(t,e);if(!r)return t+"";var a=r[0],o=r[1],s=o-(i=3*Math.max(-8,Math.min(8,Math.floor(o/3))))+1,l=a.length;return s===l?a:s>l?a+new Array(s-l+1).join("0"):s>0?a.slice(0,s)+"."+a.slice(s):"0."+new Array(1-s).join("0")+n(t,Math.max(0,e+s-1))[0]},X:function(t){return Math.round(t).toString(16).toUpperCase()},x:function(t){return Math.round(t).toString(16)}};function c(t){return t}var f,h,p=Array.prototype.map,d=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function v(t){var e,r,a=void 0===t.grouping||void 0===t.thousands?c:(e=p.call(t.grouping,Number),r=t.thousands+"",function(t,n){for(var i=t.length,a=[],o=0,s=e[0],l=0;i>0&&s>0&&(l+s+1>n&&(s=Math.max(1,n-l)),a.push(t.substring(i-=s,i+s)),!((l+=s+1)>n));)s=e[o=(o+1)%e.length];return a.reverse().join(r)}),s=void 0===t.currency?"":t.currency[0]+"",l=void 0===t.currency?"":t.currency[1]+"",f=void 0===t.decimal?".":t.decimal+"",h=void 0===t.numerals?c:function(t){return function(e){return e.replace(/[0-9]/g,(function(e){return t[+e]}))}}(p.call(t.numerals,String)),v=void 0===t.percent?"%":t.percent+"",g=void 0===t.minus?"-":t.minus+"",y=void 0===t.nan?"NaN":t.nan+"";function m(t){var e=(t=o(t)).fill,r=t.align,n=t.sign,c=t.symbol,p=t.zero,m=t.width,x=t.comma,b=t.precision,_=t.trim,w=t.type;"n"===w?(x=!0,w="g"):u[w]||(void 0===b&&(b=12),_=!0,w="g"),(p||"0"===e&&"="===r)&&(p=!0,e="0",r="=");var T="$"===c?s:"#"===c&&/[boxX]/.test(w)?"0"+w.toLowerCase():"",k="$"===c?l:/[%p]/.test(w)?v:"",A=u[w],M=/[defgprs%]/.test(w);function S(t){var o,s,l,u=T,c=k;if("c"===w)c=A(t)+c,t="";else{var v=(t=+t)<0||1/t<0;if(t=isNaN(t)?y:A(Math.abs(t),b),_&&(t=function(t){t:for(var e,r=t.length,n=1,i=-1;n<r;++n)switch(t[n]){case".":i=e=n;break;case"0":0===i&&(i=n),e=n;break;default:if(!+t[n])break t;i>0&&(i=0)}return i>0?t.slice(0,i)+t.slice(e+1):t}(t)),v&&0==+t&&"+"!==n&&(v=!1),u=(v?"("===n?n:g:"-"===n||"("===n?"":n)+u,c=("s"===w?d[8+i/3]:"")+c+(v&&"("===n?")":""),M)for(o=-1,s=t.length;++o<s;)if(48>(l=t.charCodeAt(o))||l>57){c=(46===l?f+t.slice(o+1):t.slice(o))+c,t=t.slice(0,o);break}}x&&!p&&(t=a(t,1/0));var S=u.length+t.length+c.length,E=S<m?new Array(m-S+1).join(e):"";switch(x&&p&&(t=a(E+t,E.length?m-c.length:1/0),E=""),r){case"<":t=u+t+c+E;break;case"=":t=u+E+t+c;break;case"^":t=E.slice(0,S=E.length>>1)+u+t+c+E.slice(S);break;default:t=E+u+t+c}return h(t)}return b=void 0===b?6:/[gprs]/.test(w)?Math.max(1,Math.min(21,b)):Math.max(0,Math.min(20,b)),S.toString=function(){return t+""},S}return{format:m,formatPrefix:function(t,e){var r,i=m(((t=o(t)).type="f",t)),a=3*Math.max(-8,Math.min(8,Math.floor((r=e,((r=n(Math.abs(r)))?r[1]:NaN)/3)))),s=Math.pow(10,-a),l=d[8+a/3];return function(t){return i(s*t)+l}}}}f=v({decimal:".",thousands:",",grouping:[3],currency:["$",""],minus:"-"}),h=f.format,f.formatPrefix},65704:function(t,e,r){"use strict";r.r(e),r.d(e,{geoAiry:function(){return z},geoAiryRaw:function(){return D},geoAitoff:function(){return F},geoAitoffRaw:function(){return R},geoArmadillo:function(){return N},geoArmadilloRaw:function(){return B},geoAugust:function(){return U},geoAugustRaw:function(){return j},geoBaker:function(){return G},geoBakerRaw:function(){return q},geoBerghaus:function(){return W},geoBerghausRaw:function(){return Y},geoBertin1953:function(){return rt},geoBertin1953Raw:function(){return et},geoBoggs:function(){return ct},geoBoggsRaw:function(){return ut},geoBonne:function(){return vt},geoBonneRaw:function(){return dt},geoBottomley:function(){return yt},geoBottomleyRaw:function(){return gt},geoBromley:function(){return xt},geoBromleyRaw:function(){return mt},geoChamberlin:function(){return Et},geoChamberlinAfrica:function(){return St},geoChamberlinRaw:function(){return At},geoCollignon:function(){return Ct},geoCollignonRaw:function(){return Lt},geoCraig:function(){return Ot},geoCraigRaw:function(){return Pt},geoCraster:function(){return zt},geoCrasterRaw:function(){return Dt},geoCylindricalEqualArea:function(){return Ft},geoCylindricalEqualAreaRaw:function(){return Rt},geoCylindricalStereographic:function(){return Nt},geoCylindricalStereographicRaw:function(){return Bt},geoEckert1:function(){return Ut},geoEckert1Raw:function(){return jt},geoEckert2:function(){return Ht},geoEckert2Raw:function(){return Vt},geoEckert3:function(){return Gt},geoEckert3Raw:function(){return qt},geoEckert4:function(){return Yt},geoEckert4Raw:function(){return Zt},geoEckert5:function(){return Xt},geoEckert5Raw:function(){return Wt},geoEckert6:function(){return Kt},geoEckert6Raw:function(){return Jt},geoEisenlohr:function(){return te},geoEisenlohrRaw:function(){return Qt},geoFahey:function(){return ne},geoFaheyRaw:function(){return re},geoFoucaut:function(){return ae},geoFoucautRaw:function(){return ie},geoFoucautSinusoidal:function(){return se},geoFoucautSinusoidalRaw:function(){return oe},geoGilbert:function(){return he},geoGingery:function(){return ge},geoGingeryRaw:function(){return pe},geoGinzburg4:function(){return xe},geoGinzburg4Raw:function(){return me},geoGinzburg5:function(){return _e},geoGinzburg5Raw:function(){return be},geoGinzburg6:function(){return Te},geoGinzburg6Raw:function(){return we},geoGinzburg8:function(){return Ae},geoGinzburg8Raw:function(){return ke},geoGinzburg9:function(){return Se},geoGinzburg9Raw:function(){return Me},geoGringorten:function(){return Ce},geoGringortenQuincuncial:function(){return ei},geoGringortenRaw:function(){return Le},geoGuyou:function(){return De},geoGuyouRaw:function(){return Ie},geoHammer:function(){return $},geoHammerRaw:function(){return J},geoHammerRetroazimuthal:function(){return Be},geoHammerRetroazimuthalRaw:function(){return Re},geoHealpix:function(){return Ye},geoHealpixRaw:function(){return He},geoHill:function(){return Xe},geoHillRaw:function(){return We},geoHomolosine:function(){return er},geoHomolosineRaw:function(){return tr},geoHufnagel:function(){return nr},geoHufnagelRaw:function(){return rr},geoHyperelliptical:function(){return sr},geoHyperellipticalRaw:function(){return or},geoInterrupt:function(){return fr},geoInterruptedBoggs:function(){return pr},geoInterruptedHomolosine:function(){return vr},geoInterruptedMollweide:function(){return yr},geoInterruptedMollweideHemispheres:function(){return xr},geoInterruptedQuarticAuthalic:function(){return hn},geoInterruptedSinuMollweide:function(){return _r},geoInterruptedSinusoidal:function(){return Tr},geoKavrayskiy7:function(){return Ar},geoKavrayskiy7Raw:function(){return kr},geoLagrange:function(){return Sr},geoLagrangeRaw:function(){return Mr},geoLarrivee:function(){return Cr},geoLarriveeRaw:function(){return Lr},geoLaskowski:function(){return Or},geoLaskowskiRaw:function(){return Pr},geoLittrow:function(){return Dr},geoLittrowRaw:function(){return Ir},geoLoximuthal:function(){return Rr},geoLoximuthalRaw:function(){return zr},geoMiller:function(){return Br},geoMillerRaw:function(){return Fr},geoModifiedStereographic:function(){return Jr},geoModifiedStereographicAlaska:function(){return Gr},geoModifiedStereographicGs48:function(){return Zr},geoModifiedStereographicGs50:function(){return Yr},geoModifiedStereographicLee:function(){return Xr},geoModifiedStereographicMiller:function(){return Wr},geoModifiedStereographicRaw:function(){return Nr},geoMollweide:function(){return ot},geoMollweideRaw:function(){return at},geoMtFlatPolarParabolic:function(){return tn},geoMtFlatPolarParabolicRaw:function(){return Qr},geoMtFlatPolarQuartic:function(){return rn},geoMtFlatPolarQuarticRaw:function(){return en},geoMtFlatPolarSinusoidal:function(){return an},geoMtFlatPolarSinusoidalRaw:function(){return nn},geoNaturalEarth:function(){return on.Z},geoNaturalEarth2:function(){return ln},geoNaturalEarth2Raw:function(){return sn},geoNaturalEarthRaw:function(){return on.K},geoNellHammer:function(){return cn},geoNellHammerRaw:function(){return un},geoNicolosi:function(){return dn},geoNicolosiRaw:function(){return pn},geoPatterson:function(){return _n},geoPattersonRaw:function(){return bn},geoPeirceQuincuncial:function(){return ri},geoPierceQuincuncial:function(){return ri},geoPolyconic:function(){return Tn},geoPolyconicRaw:function(){return wn},geoPolyhedral:function(){return Ln},geoPolyhedralButterfly:function(){return Rn},geoPolyhedralCollignon:function(){return Nn},geoPolyhedralWaterman:function(){return jn},geoProject:function(){return Gn},geoQuantize:function(){return ni},geoQuincuncial:function(){return ti},geoRectangularPolyconic:function(){return ai},geoRectangularPolyconicRaw:function(){return ii},geoRobinson:function(){return li},geoRobinsonRaw:function(){return si},geoSatellite:function(){return ci},geoSatelliteRaw:function(){return ui},geoSinuMollweide:function(){return Qe},geoSinuMollweideRaw:function(){return $e},geoSinusoidal:function(){return pt},geoSinusoidalRaw:function(){return ht},geoStitch:function(){return Ti},geoTimes:function(){return Ai},geoTimesRaw:function(){return ki},geoTwoPointAzimuthal:function(){return Li},geoTwoPointAzimuthalRaw:function(){return Si},geoTwoPointAzimuthalUsa:function(){return Ei},geoTwoPointEquidistant:function(){return Oi},geoTwoPointEquidistantRaw:function(){return Ci},geoTwoPointEquidistantUsa:function(){return Pi},geoVanDerGrinten:function(){return Di},geoVanDerGrinten2:function(){return Ri},geoVanDerGrinten2Raw:function(){return zi},geoVanDerGrinten3:function(){return Bi},geoVanDerGrinten3Raw:function(){return Fi},geoVanDerGrinten4:function(){return ji},geoVanDerGrinten4Raw:function(){return Ni},geoVanDerGrintenRaw:function(){return Ii},geoWagner:function(){return Vi},geoWagner4:function(){return Yi},geoWagner4Raw:function(){return Zi},geoWagner6:function(){return Xi},geoWagner6Raw:function(){return Wi},geoWagner7:function(){return Hi},geoWagnerRaw:function(){return Ui},geoWiechel:function(){return Ki},geoWiechelRaw:function(){return Ji},geoWinkel3:function(){return Qi},geoWinkel3Raw:function(){return $i}});var n=r(15002),i=Math.abs,a=Math.atan,o=Math.atan2,s=(Math.ceil,Math.cos),l=Math.exp,u=Math.floor,c=Math.log,f=Math.max,h=Math.min,p=Math.pow,d=Math.round,v=Math.sign||function(t){return t>0?1:t<0?-1:0},g=Math.sin,y=Math.tan,m=1e-6,x=1e-12,b=Math.PI,_=b/2,w=b/4,T=Math.SQRT1_2,k=P(2),A=P(b),M=2*b,S=180/b,E=b/180;function L(t){return t>1?_:t<-1?-_:Math.asin(t)}function C(t){return t>1?0:t<-1?b:Math.acos(t)}function P(t){return t>0?Math.sqrt(t):0}function O(t){return(l(t)-l(-t))/2}function I(t){return(l(t)+l(-t))/2}function D(t){var e=y(t/2),r=2*c(s(t/2))/(e*e);function n(t,e){var n=s(t),i=s(e),a=g(e),o=i*n,l=-((1-o?c((1+o)/2)/(1-o):-.5)+r/(1+o));return[l*i*g(t),l*a]}return n.invert=function(e,n){var a,l=P(e*e+n*n),u=-t/2,f=50;if(!l)return[0,0];do{var h=u/2,p=s(h),d=g(h),v=d/p,y=-c(i(p));u-=a=(2/v*y-r*v-l)/(-y/(d*d)+1-r/(2*p*p))*(p<0?.7:1)}while(i(a)>m&&--f>0);var x=g(u);return[o(e*x,l*s(u)),L(n*x/l)]},n}function z(){var t=_,e=(0,n.r)(D),r=e(t);return r.radius=function(r){return arguments.length?e(t=r*E):t*S},r.scale(179.976).clipAngle(147)}function R(t,e){var r=s(e),n=function(t){return t?t/Math.sin(t):1}(C(r*s(t/=2)));return[2*r*g(t)*n,g(e)*n]}function F(){return(0,n.Z)(R).scale(152.63)}function B(t){var e=g(t),r=s(t),n=t>=0?1:-1,a=y(n*t),l=(1+e-r)/2;function u(t,i){var u=s(i),c=s(t/=2);return[(1+u)*g(t),(n*i>-o(c,a)-.001?0:10*-n)+l+g(i)*r-(1+u)*e*c]}return u.invert=function(t,u){var c=0,f=0,h=50;do{var p=s(c),d=g(c),v=s(f),y=g(f),x=1+v,b=x*d-t,_=l+y*r-x*e*p-u,w=x*p/2,T=-d*y,k=e*x*d/2,A=r*v+e*p*y,M=T*k-A*w,S=(_*T-b*A)/M/2,E=(b*k-_*w)/M;i(E)>2&&(E/=2),c-=S,f-=E}while((i(S)>m||i(E)>m)&&--h>0);return n*f>-o(s(c),a)-.001?[2*c,f]:null},u}function N(){var t=20*E,e=t>=0?1:-1,r=y(e*t),i=(0,n.r)(B),a=i(t),l=a.stream;return a.parallel=function(n){return arguments.length?(r=y((e=(t=n*E)>=0?1:-1)*t),i(t)):t*S},a.stream=function(n){var i=a.rotate(),u=l(n),c=(a.rotate([0,0]),l(n)),f=a.precision();return a.rotate(i),u.sphere=function(){c.polygonStart(),c.lineStart();for(var n=-180*e;e*n<180;n+=90*e)c.point(n,90*e);if(t)for(;e*(n-=3*e*f)>=-180;)c.point(n,e*-o(s(n*E/2),r)*S);c.lineEnd(),c.polygonEnd()},u},a.scale(218.695).center([0,28.0974])}function j(t,e){var r=y(e/2),n=P(1-r*r),i=1+n*s(t/=2),a=g(t)*n/i,o=r/i,l=a*a,u=o*o;return[4/3*a*(3+l-3*u),4/3*o*(3+3*l-u)]}function U(){return(0,n.Z)(j).scale(66.1603)}R.invert=function(t,e){if(!(t*t+4*e*e>b*b+m)){var r=t,n=e,a=25;do{var o,l=g(r),u=g(r/2),c=s(r/2),f=g(n),h=s(n),p=g(2*n),d=f*f,v=h*h,y=u*u,x=1-v*c*c,_=x?C(h*c)*P(o=1/x):o=0,w=2*_*h*u-t,T=_*f-e,k=o*(v*y+_*h*c*d),A=o*(.5*l*p-2*_*f*u),M=.25*o*(p*u-_*f*v*l),S=o*(d*c+_*y*h),E=A*M-S*k;if(!E)break;var L=(T*A-w*S)/E,O=(w*M-T*k)/E;r-=L,n-=O}while((i(L)>m||i(O)>m)&&--a>0);return[r,n]}},j.invert=function(t,e){if(e*=3/8,!(t*=3/8)&&i(e)>1)return null;var r=1+t*t+e*e,n=P((r-P(r*r-4*e*e))/2),a=L(n)/3,l=n?function(t){return c(t+P(t*t-1))}(i(e/n))/3:function(t){return c(t+P(t*t+1))}(i(t))/3,u=s(a),f=I(l),h=f*f-u*u;return[2*v(t)*o(O(l)*u,.25-h),2*v(e)*o(f*g(a),.25+h)]};var V=P(8),H=c(1+k);function q(t,e){var r=i(e);return r<w?[t,c(y(w+e/2))]:[t*s(r)*(2*k-1/g(r)),v(e)*(2*k*(r-w)-c(y(r/2)))]}function G(){return(0,n.Z)(q).scale(112.314)}q.invert=function(t,e){if((n=i(e))<H)return[t,2*a(l(e))-_];var r,n,o=w,u=25;do{var f=s(o/2),h=y(o/2);o-=r=(V*(o-w)-c(h)-n)/(V-f*f/(2*h))}while(i(r)>x&&--u>0);return[t/(s(o)*(V-1/g(o))),v(e)*o]};var Z=r(17889);function Y(t){var e=2*b/t;function r(t,r){var n=(0,Z.N)(t,r);if(i(t)>_){var a=o(n[1],n[0]),l=P(n[0]*n[0]+n[1]*n[1]),u=e*d((a-_)/e)+_,c=o(g(a-=u),2-s(a));a=u+L(b/l*g(c))-c,n[0]=l*s(a),n[1]=l*g(a)}return n}return r.invert=function(t,r){var n=P(t*t+r*r);if(n>_){var i=o(r,t),l=e*d((i-_)/e)+_,u=i>l?-1:1,c=n*s(l-i),f=1/y(u*C((c-b)/P(b*(b-2*c)+n*n)));i=l+2*a((f+u*P(f*f-3))/3),t=n*s(i),r=n*g(i)}return Z.N.invert(t,r)},r}function W(){var t=5,e=(0,n.r)(Y),r=e(t),i=r.stream,a=.01,l=-s(a*E),u=g(a*E);return r.lobes=function(r){return arguments.length?e(t=+r):t},r.stream=function(e){var n=r.rotate(),c=i(e),f=(r.rotate([0,0]),i(e));return r.rotate(n),c.sphere=function(){f.polygonStart(),f.lineStart();for(var e=0,r=360/t,n=2*b/t,i=90-180/t,c=_;e<t;++e,i-=r,c-=n)f.point(o(u*s(c),l)*S,L(u*g(c))*S),i<-90?(f.point(-90,-180-i-a),f.point(-90,-180-i+a)):(f.point(90,i+a),f.point(90,i-a));f.lineEnd(),f.polygonEnd()},c},r.scale(87.8076).center([0,17.1875]).clipAngle(179.999)}var X=r(12956);function J(t,e){if(arguments.length<2&&(e=t),1===e)return X.l;if(e===1/0)return K;function r(r,n){var i=(0,X.l)(r/e,n);return i[0]*=t,i}return r.invert=function(r,n){var i=X.l.invert(r/t,n);return i[0]*=e,i},r}function K(t,e){return[t*s(e)/s(e/=2),2*g(e)]}function $(){var t=2,e=(0,n.r)(J),r=e(t);return r.coefficient=function(r){return arguments.length?e(t=+r):t},r.scale(169.529)}function Q(t,e,r){var n,a,o,s=100;r=void 0===r?0:+r,e=+e;do{(a=t(r))===(o=t(r+m))&&(o=a+m),r-=n=-1e-6*(a-e)/(a-o)}while(s-- >0&&i(n)>m);return s<0?NaN:r}function tt(t,e,r){return void 0===e&&(e=40),void 0===r&&(r=x),function(n,a,o,s){var l,u,c;o=void 0===o?0:+o,s=void 0===s?0:+s;for(var f=0;f<e;f++){var h=t(o,s),p=h[0]-n,d=h[1]-a;if(i(p)<r&&i(d)<r)break;var v=p*p+d*d;if(v>l)o-=u/=2,s-=c/=2;else{l=v;var g=(o>0?-1:1)*r,y=(s>0?-1:1)*r,m=t(o+g,s),x=t(o,s+y),b=(m[0]-h[0])/g,_=(m[1]-h[1])/g,w=(x[0]-h[0])/y,T=(x[1]-h[1])/y,k=T*b-_*w,A=(i(k)<.5?.5:1)/k;if(o+=u=(d*w-p*T)*A,s+=c=(p*_-d*b)*A,i(u)<r&&i(c)<r)break}}return[o,s]}}function et(){var t=J(1.68,2);function e(e,r){if(e+r<-1.4){var n=(e-r+1.6)*(e+r+1.4)/8;e+=n,r-=.8*n*g(r+b/2)}var i=t(e,r),a=(1-s(e*r))/12;return i[1]<0&&(i[0]*=1+a),i[1]>0&&(i[1]*=1+a/1.5*i[0]*i[0]),i}return e.invert=tt(e),e}function rt(){return(0,n.Z)(et()).rotate([-16.5,-42]).scale(176.57).center([7.93,.09])}function nt(t,e){var r,n=t*g(e),a=30;do{e-=r=(e+g(e)-n)/(1+s(e))}while(i(r)>m&&--a>0);return e/2}function it(t,e,r){function n(n,i){return[t*n*s(i=nt(r,i)),e*g(i)]}return n.invert=function(n,i){return i=L(i/e),[n/(t*s(i)),L((2*i+g(2*i))/r)]},n}K.invert=function(t,e){var r=2*L(e/2);return[t*s(r/2)/s(r),r]};var at=it(k/_,k,b);function ot(){return(0,n.Z)(at).scale(169.529)}var st=2.00276,lt=1.11072;function ut(t,e){var r=nt(b,e);return[st*t/(1/s(e)+lt/s(r)),(e+k*g(r))/st]}function ct(){return(0,n.Z)(ut).scale(160.857)}function ft(t){var e=0,r=(0,n.r)(t),i=r(e);return i.parallel=function(t){return arguments.length?r(e=t*E):e*S},i}function ht(t,e){return[t*s(e),e]}function pt(){return(0,n.Z)(ht).scale(152.63)}function dt(t){if(!t)return ht;var e=1/y(t);function r(r,n){var i=e+t-n,a=i?r*s(n)/i:i;return[i*g(a),e-i*s(a)]}return r.invert=function(r,n){var i=P(r*r+(n=e-n)*n),a=e+t-i;return[i/s(a)*o(r,n),a]},r}function vt(){return ft(dt).scale(123.082).center([0,26.1441]).parallel(45)}function gt(t){function e(e,r){var n=_-r,i=n?e*t*g(n)/n:n;return[n*g(i)/t,_-n*s(i)]}return e.invert=function(e,r){var n=e*t,i=_-r,a=P(n*n+i*i),s=o(n,i);return[(a?a/g(a):1)*s/t,_-a]},e}function yt(){var t=.5,e=(0,n.r)(gt),r=e(t);return r.fraction=function(r){return arguments.length?e(t=+r):t},r.scale(158.837)}ut.invert=function(t,e){var r,n,a=st*e,o=e<0?-w:w,l=25;do{n=a-k*g(o),o-=r=(g(2*o)+2*o-b*g(n))/(2*s(2*o)+2+b*s(n)*k*s(o))}while(i(r)>m&&--l>0);return n=a-k*g(o),[t*(1/s(n)+lt/s(o))/st,n]},ht.invert=function(t,e){return[t/s(e),e]};var mt=it(1,4/b,b);function xt(){return(0,n.Z)(mt).scale(152.63)}var bt=r(66624),_t=r(49386);function wt(t,e,r,n,a,l){var u,c=s(l);if(i(t)>1||i(l)>1)u=C(r*a+e*n*c);else{var f=g(t/2),h=g(l/2);u=2*L(P(f*f+e*n*h*h))}return i(u)>m?[u,o(n*g(l),e*a-r*n*c)]:[0,0]}function Tt(t,e,r){return C((t*t+e*e-r*r)/(2*t*e))}function kt(t){return t-2*b*u((t+b)/(2*b))}function At(t,e,r){for(var n,i=[[t[0],t[1],g(t[1]),s(t[1])],[e[0],e[1],g(e[1]),s(e[1])],[r[0],r[1],g(r[1]),s(r[1])]],a=i[2],o=0;o<3;++o,a=n)n=i[o],a.v=wt(n[1]-a[1],a[3],a[2],n[3],n[2],n[0]-a[0]),a.point=[0,0];var l=Tt(i[0].v[0],i[2].v[0],i[1].v[0]),u=Tt(i[0].v[0],i[1].v[0],i[2].v[0]),c=b-l;i[2].point[1]=0,i[0].point[0]=-(i[1].point[0]=i[0].v[0]/2);var f=[i[2].point[0]=i[0].point[0]+i[2].v[0]*s(l),2*(i[0].point[1]=i[1].point[1]=i[2].v[0]*g(l))];return function(t,e){var r,n=g(e),a=s(e),o=new Array(3);for(r=0;r<3;++r){var l=i[r];if(o[r]=wt(e-l[1],l[3],l[2],a,n,t-l[0]),!o[r][0])return l.point;o[r][1]=kt(o[r][1]-l.v[1])}var h=f.slice();for(r=0;r<3;++r){var p=2==r?0:r+1,d=Tt(i[r].v[0],o[r][0],o[p][0]);o[r][1]<0&&(d=-d),r?1==r?(d=u-d,h[0]-=o[r][0]*s(d),h[1]-=o[r][0]*g(d)):(d=c-d,h[0]+=o[r][0]*s(d),h[1]+=o[r][0]*g(d)):(h[0]+=o[r][0]*s(d),h[1]-=o[r][0]*g(d))}return h[0]/=3,h[1]/=3,h}}function Mt(t){return t[0]*=E,t[1]*=E,t}function St(){return Et([0,22],[45,22],[22.5,-22]).scale(380).center([22.5,2])}function Et(t,e,r){var i=(0,bt.Z)({type:"MultiPoint",coordinates:[t,e,r]}),a=[-i[0],-i[1]],o=(0,_t.Z)(a),s=At(Mt(o(t)),Mt(o(e)),Mt(o(r)));s.invert=tt(s);var l=(0,n.Z)(s).rotate(a),u=l.center;return delete l.rotate,l.center=function(t){return arguments.length?u(o(t)):o.invert(u())},l.clipAngle(90)}function Lt(t,e){var r=P(1-g(e));return[2/A*t*r,A*(1-r)]}function Ct(){return(0,n.Z)(Lt).scale(95.6464).center([0,30])}function Pt(t){var e=y(t);function r(t,r){return[t,(t?t/g(t):1)*(g(r)*s(t)-e*s(r))]}return r.invert=e?function(t,r){t&&(r*=g(t)/t);var n=s(t);return[t,2*o(P(n*n+e*e-r*r)-n,e-r)]}:function(t,e){return[t,L(t?e*y(t)/t:e)]},r}function Ot(){return ft(Pt).scale(249.828).clipAngle(90)}Lt.invert=function(t,e){var r=(r=e/A-1)*r;return[r>0?t*P(b/r)/2:0,L(1-r)]};var It=P(3);function Dt(t,e){return[It*t*(2*s(2*e/3)-1)/A,It*A*g(e/3)]}function zt(){return(0,n.Z)(Dt).scale(156.19)}function Rt(t){var e=s(t);function r(t,r){return[t*e,g(r)/e]}return r.invert=function(t,r){return[t/e,L(r*e)]},r}function Ft(){return ft(Rt).parallel(38.58).scale(195.044)}function Bt(t){var e=s(t);function r(t,r){return[t*e,(1+e)*y(r/2)]}return r.invert=function(t,r){return[t/e,2*a(r/(1+e))]},r}function Nt(){return ft(Bt).scale(124.75)}function jt(t,e){var r=P(8/(3*b));return[r*t*(1-i(e)/b),r*e]}function Ut(){return(0,n.Z)(jt).scale(165.664)}function Vt(t,e){var r=P(4-3*g(i(e)));return[2/P(6*b)*t*r,v(e)*P(2*b/3)*(2-r)]}function Ht(){return(0,n.Z)(Vt).scale(165.664)}function qt(t,e){var r=P(b*(4+b));return[2/r*t*(1+P(1-4*e*e/(b*b))),4/r*e]}function Gt(){return(0,n.Z)(qt).scale(180.739)}function Zt(t,e){var r=(2+_)*g(e);e/=2;for(var n=0,a=1/0;n<10&&i(a)>m;n++){var o=s(e);e-=a=(e+g(e)*(o+2)-r)/(2*o*(1+o))}return[2/P(b*(4+b))*t*(1+s(e)),2*P(b/(4+b))*g(e)]}function Yt(){return(0,n.Z)(Zt).scale(180.739)}function Wt(t,e){return[t*(1+s(e))/P(2+b),2*e/P(2+b)]}function Xt(){return(0,n.Z)(Wt).scale(173.044)}function Jt(t,e){for(var r=(1+_)*g(e),n=0,a=1/0;n<10&&i(a)>m;n++)e-=a=(e+g(e)-r)/(1+s(e));return r=P(2+b),[t*(1+s(e))/r,2*e/r]}function Kt(){return(0,n.Z)(Jt).scale(173.044)}Dt.invert=function(t,e){var r=3*L(e/(It*A));return[A*t/(It*(2*s(2*r/3)-1)),r]},jt.invert=function(t,e){var r=P(8/(3*b)),n=e/r;return[t/(r*(1-i(n)/b)),n]},Vt.invert=function(t,e){var r=2-i(e)/P(2*b/3);return[t*P(6*b)/(2*r),v(e)*L((4-r*r)/3)]},qt.invert=function(t,e){var r=P(b*(4+b))/2;return[t*r/(1+P(1-e*e*(4+b)/(4*b))),e*r/2]},Zt.invert=function(t,e){var r=e*P((4+b)/b)/2,n=L(r),i=s(n);return[t/(2/P(b*(4+b))*(1+i)),L((n+r*(i+2))/(2+_))]},Wt.invert=function(t,e){var r=P(2+b),n=e*r/2;return[r*t/(1+s(n)),n]},Jt.invert=function(t,e){var r=1+_,n=P(r/2);return[2*t*n/(1+s(e*=n)),L((e+g(e))/r)]};var $t=3+2*k;function Qt(t,e){var r=g(t/=2),n=s(t),i=P(s(e)),o=s(e/=2),l=g(e)/(o+k*n*i),u=P(2/(1+l*l)),f=P((k*o+(n+r)*i)/(k*o+(n-r)*i));return[$t*(u*(f-1/f)-2*c(f)),$t*(u*l*(f+1/f)-2*a(l))]}function te(){return(0,n.Z)(Qt).scale(62.5271)}Qt.invert=function(t,e){if(!(r=j.invert(t/1.2,1.065*e)))return null;var r,n=r[0],o=r[1],l=20;t/=$t,e/=$t;do{var u=n/2,p=o/2,d=g(u),v=s(u),y=g(p),x=s(p),b=s(o),w=P(b),A=y/(x+k*v*w),M=A*A,S=P(2/(1+M)),E=(k*x+(v+d)*w)/(k*x+(v-d)*w),L=P(E),C=L-1/L,O=L+1/L,I=S*C-2*c(L)-t,D=S*A*O-2*a(A)-e,z=y&&T*w*d*M/y,R=(k*v*x+w)/(2*(x+k*v*w)*(x+k*v*w)*w),F=-.5*A*S*S*S,B=F*z,N=F*R,U=(U=2*x+k*w*(v-d))*U*L,V=(k*v*x*w+b)/U,H=-k*d*y/(w*U),q=C*B-2*V/L+S*(V+V/E),G=C*N-2*H/L+S*(H+H/E),Z=A*O*B-2*z/(1+M)+S*O*z+S*A*(V-V/E),Y=A*O*N-2*R/(1+M)+S*O*R+S*A*(H-H/E),W=G*Z-Y*q;if(!W)break;var X=(D*G-I*Y)/W,J=(I*Z-D*q)/W;n-=X,o=f(-_,h(_,o-J))}while((i(X)>m||i(J)>m)&&--l>0);return i(i(o)-_)<m?[0,o]:l&&[n,o]};var ee=s(35*E);function re(t,e){var r=y(e/2);return[t*ee*P(1-r*r),(1+ee)*r]}function ne(){return(0,n.Z)(re).scale(137.152)}function ie(t,e){var r=e/2,n=s(r);return[2*t/A*s(e)*n*n,A*y(r)]}function ae(){return(0,n.Z)(ie).scale(135.264)}function oe(t){var e=1-t,r=i(b,0)[0]-i(-b,0)[0],n=P(2*(i(0,_)[1]-i(0,-_)[1])/r);function i(r,n){var i=s(n),a=g(n);return[i/(e+t*i)*r,e*n+t*a]}function a(t,e){var r=i(t,e);return[r[0]*n,r[1]/n]}function o(t){return a(0,t)[1]}return a.invert=function(r,i){var a=Q(o,i);return[r/n*(t+e/s(a)),a]},a}function se(){var t=.5,e=(0,n.r)(oe),r=e(t);return r.alpha=function(r){return arguments.length?e(t=+r):t},r.scale(168.725)}re.invert=function(t,e){var r=e/(1+ee);return[t&&t/(ee*P(1-r*r)),2*a(r)]},ie.invert=function(t,e){var r=a(e/A),n=s(r),i=2*r;return[t*A/2/(s(i)*n*n),i]};var le=r(57962),ue=r(97492);function ce(t){return[t[0]/2,L(y(t[1]/2*E))*S]}function fe(t){return[2*t[0],2*a(g(t[1]*E))*S]}function he(t){null==t&&(t=le.Z);var e=t(),r=(0,ue.Z)().scale(S).precision(0).clipAngle(null).translate([0,0]);function n(t){return e(ce(t))}function i(t){n[t]=function(){return arguments.length?(e[t].apply(e,arguments),n):e[t]()}}return e.invert&&(n.invert=function(t){return fe(e.invert(t))}),n.stream=function(t){var n=e.stream(t),i=r.stream({point:function(t,e){n.point(t/2,L(y(-e/2*E))*S)},lineStart:function(){n.lineStart()},lineEnd:function(){n.lineEnd()},polygonStart:function(){n.polygonStart()},polygonEnd:function(){n.polygonEnd()}});return i.sphere=n.sphere,i},n.rotate=function(t){return arguments.length?(r.rotate(t),n):r.rotate()},n.center=function(t){return arguments.length?(e.center(ce(t)),n):fe(e.center())},i("angle"),i("clipAngle"),i("clipExtent"),i("fitExtent"),i("fitHeight"),i("fitSize"),i("fitWidth"),i("scale"),i("translate"),i("precision"),n.scale(249.5)}function pe(t,e){var r=2*b/e,n=t*t;function a(e,a){var l=(0,Z.N)(e,a),u=l[0],c=l[1],f=u*u+c*c;if(f>n){var h=P(f),p=o(c,u),v=r*d(p/r),y=p-v,x=t*s(y),w=(t*g(y)-y*g(x))/(_-x),T=de(y,w),k=(b-t)/ve(T,x,b);u=h;var A,M=50;do{u-=A=(t+ve(T,x,u)*k-h)/(T(u)*k)}while(i(A)>m&&--M>0);c=y*g(u),u<_&&(c-=w*(u-_));var S=g(v),E=s(v);l[0]=u*E-c*S,l[1]=u*S+c*E}return l}return a.invert=function(e,a){var l=e*e+a*a;if(l>n){var u=P(l),c=o(a,e),f=r*d(c/r),h=c-f;e=u*s(h),a=u*g(h);for(var p=e-_,v=g(e),y=a/v,m=e<_?1/0:0,w=10;;){var T=t*g(y),k=t*s(y),A=g(k),M=_-k,S=(T-y*A)/M,E=de(y,S);if(i(m)<x||!--w)break;y-=m=(y*v-S*p-a)/(v-2*p*(M*(k+y*T*s(k)-A)-T*(T-y*A))/(M*M))}e=(u=t+ve(E,k,e)*(b-t)/ve(E,k,b))*s(c=f+y),a=u*g(c)}return Z.N.invert(e,a)},a}function de(t,e){return function(r){var n=t*s(r);return r<_&&(n-=e),P(1+n*n)}}function ve(t,e,r){for(var n=(r-e)/50,i=t(e)+t(r),a=1,o=e;a<50;++a)i+=2*t(o+=n);return.5*i*n}function ge(){var t=6,e=30*E,r=s(e),i=g(e),a=(0,n.r)(pe),l=a(e,t),u=l.stream,c=-s(.01*E),f=g(.01*E);return l.radius=function(n){return arguments.length?(r=s(e=n*E),i=g(e),a(e,t)):e*S},l.lobes=function(r){return arguments.length?a(e,t=+r):t},l.stream=function(e){var n=l.rotate(),a=u(e),h=(l.rotate([0,0]),u(e));return l.rotate(n),a.sphere=function(){h.polygonStart(),h.lineStart();for(var e=0,n=2*b/t,a=0;e<t;++e,a-=n)h.point(o(f*s(a),c)*S,L(f*g(a))*S),h.point(o(i*s(a-n/2),r)*S,L(i*g(a-n/2))*S);h.lineEnd(),h.polygonEnd()},a},l.rotate([90,-40]).scale(91.7095).clipAngle(179.999)}function ye(t,e,r,n,a,o,l,u){function c(i,c){if(!c)return[t*i/b,0];var f=c*c,h=t+f*(e+f*(r+f*n)),p=c*(a-1+f*(o-u+f*l)),d=(h*h+p*p)/(2*p),v=i*L(h/d)/b;return[d*g(v),c*(1+f*u)+d*(1-s(v))]}return arguments.length<8&&(u=0),c.invert=function(c,f){var h,p,d=b*c/t,v=f,y=50;do{var x=v*v,_=t+x*(e+x*(r+x*n)),w=v*(a-1+x*(o-u+x*l)),T=_*_+w*w,k=2*w,A=T/k,M=A*A,S=L(_/A)/b,E=d*S,C=_*_,O=(2*e+x*(4*r+6*x*n))*v,I=a+x*(3*o+5*x*l),D=(2*(_*O+w*(I-1))*k-T*(2*(I-1)))/(k*k),z=s(E),R=g(E),F=A*z,B=A*R,N=d/b*(1/P(1-C/M))*(O*A-_*D)/M,j=B-c,U=v*(1+x*u)+A-F-f,V=D*R+F*N,H=F*S,q=1+D-(D*z-B*N),G=B*S,Z=V*G-q*H;if(!Z)break;d-=h=(U*V-j*q)/Z,v-=p=(j*G-U*H)/Z}while((i(h)>m||i(p)>m)&&--y>0);return[d,v]},c}var me=ye(2.8284,-1.6988,.75432,-.18071,1.76003,-.38914,.042555);function xe(){return(0,n.Z)(me).scale(149.995)}var be=ye(2.583819,-.835827,.170354,-.038094,1.543313,-.411435,.082742);function _e(){return(0,n.Z)(be).scale(153.93)}var we=ye(5/6*b,-.62636,-.0344,0,1.3493,-.05524,0,.045);function Te(){return(0,n.Z)(we).scale(130.945)}function ke(t,e){var r=t*t,n=e*e;return[t*(1-.162388*n)*(.87-952426e-9*r*r),e*(1+n/12)]}function Ae(){return(0,n.Z)(ke).scale(131.747)}ke.invert=function(t,e){var r,n=t,a=e,o=50;do{var s=a*a;a-=r=(a*(1+s/12)-e)/(1+s/4)}while(i(r)>m&&--o>0);o=50,t/=1-.162388*s;do{var l=(l=n*n)*l;n-=r=(n*(.87-952426e-9*l)-t)/(.87-.00476213*l)}while(i(r)>m&&--o>0);return[n,a]};var Me=ye(2.6516,-.76534,.19123,-.047094,1.36289,-.13965,.031762);function Se(){return(0,n.Z)(Me).scale(131.087)}function Ee(t){var e=t(_,0)[0]-t(-_,0)[0];function r(r,n){var i=r>0?-.5:.5,a=t(r+i*b,n);return a[0]-=i*e,a}return t.invert&&(r.invert=function(r,n){var i=r>0?-.5:.5,a=t.invert(r+i*e,n),o=a[0]-i*b;return o<-b?o+=2*b:o>b&&(o-=2*b),a[0]=o,a}),r}function Le(t,e){var r=v(t),n=v(e),a=s(e),l=s(t)*a,u=g(t)*a,c=g(n*e);t=i(o(u,c)),e=L(l),i(t-_)>m&&(t%=_);var f=function(t,e){if(e===_)return[0,0];var r,n,a=g(e),o=a*a,l=o*o,u=1+l,c=1+3*l,f=1-l,h=L(1/P(u)),p=f+o*u*h,d=(1-a)/p,v=P(d),y=d*u,x=P(y),w=v*f;if(0===t)return[0,-(w+o*x)];var T,k=s(e),A=1/k,M=2*a*k,S=(-p*k-(-3*o+h*c)*M*(1-a))/(p*p),E=-A*M,C=-A*(o*u*S+d*c*M),O=-2*A*(f*(.5*S/v)-2*o*v*M),I=4*t/b;if(t>.222*b||e<b/4&&t>.175*b){if(r=(w+o*P(y*(1+l)-w*w))/(1+l),t>b/4)return[r,r];var D=r,z=.5*r;r=.5*(z+D),n=50;do{var R=r*(O+E*P(y-r*r))+C*L(r/x)-I;if(!R)break;R<0?z=r:D=r,r=.5*(z+D)}while(i(D-z)>m&&--n>0)}else{r=m,n=25;do{var F=r*r,B=P(y-F),N=O+E*B,j=r*N+C*L(r/x)-I;r-=T=B?j/(N+(C-E*F)/B):0}while(i(T)>m&&--n>0)}return[r,-w-o*P(y-r*r)]}(t>b/4?_-t:t,e);return t>b/4&&(c=f[0],f[0]=-f[1],f[1]=-c),f[0]*=r,f[1]*=-n,f}function Ce(){return(0,n.Z)(Ee(Le)).scale(239.75)}function Pe(t,e){var r,n,o,u,c,f;if(e<m)return[(u=g(t))-(r=e*(t-u*(n=s(t)))/4)*n,n+r*u,1-e*u*u/2,t-r];if(e>=.999999)return r=(1-e)/4,o=1/(n=I(t)),[(u=((f=l(2*(f=t)))-1)/(f+1))+r*((c=n*O(t))-t)/(n*n),o-r*u*o*(c-t),o+r*u*o*(c+t),2*a(l(t))-_+r*(c-t)/n];var h=[1,0,0,0,0,0,0,0,0],p=[P(e),0,0,0,0,0,0,0,0],d=0;for(n=P(1-e),c=1;i(p[d]/h[d])>m&&d<8;)r=h[d++],p[d]=(r-n)/2,h[d]=(r+n)/2,n=P(r*n),c*=2;o=c*h[d]*t;do{o=(L(u=p[d]*g(n=o)/h[d])+o)/2}while(--d);return[g(o),u=s(o),u/s(o-n),o]}function Oe(t,e){if(!e)return t;if(1===e)return c(y(t/2+w));for(var r=1,n=P(1-e),o=P(e),s=0;i(o)>m;s++){if(t%b){var l=a(n*y(t)/r);l<0&&(l+=b),t+=l+~~(t/b)*b}else t+=t;o=(r+n)/2,n=P(r*n),o=((r=o)-n)/2}return t/(p(2,s)*r)}function Ie(t,e){var r=(k-1)/(k+1),n=P(1-r*r),u=Oe(_,n*n),f=c(y(b/4+i(e)/2)),h=l(-1*f)/P(r),p=function(t,e){var r=t*t,n=e+1,i=1-r-e*e;return[.5*((t>=0?_:-_)-o(i,2*t)),-.25*c(i*i+4*r)+.5*c(n*n+r)]}(h*s(-1*t),h*g(-1*t)),d=function(t,e,r){var n=i(t),o=O(i(e));if(n){var s=1/g(n),l=1/(y(n)*y(n)),u=-(l+r*(o*o*s*s)-1+r),c=(-u+P(u*u-(r-1)*l*4))/2;return[Oe(a(1/P(c)),r)*v(t),Oe(a(P((c/l-1)/r)),1-r)*v(e)]}return[0,Oe(a(o),1-r)*v(e)]}(p[0],p[1],n*n);return[-d[1],(e>=0?1:-1)*(.5*u-d[0])]}function De(){return(0,n.Z)(Ee(Ie)).scale(151.496)}Le.invert=function(t,e){i(t)>1&&(t=2*v(t)-t),i(e)>1&&(e=2*v(e)-e);var r=v(t),n=v(e),a=-r*t,l=-n*e,u=l/a<1,c=function(t,e){for(var r=0,n=1,a=.5,o=50;;){var l=a*a,u=P(a),c=L(1/P(1+l)),f=1-l+a*(1+l)*c,h=(1-u)/f,p=P(h),d=h*(1+l),v=p*(1-l),g=P(d-t*t),y=e+v+a*g;if(i(n-r)<x||0==--o||0===y)break;y>0?r=a:n=a,a=.5*(r+n)}if(!o)return null;var m=L(u),_=s(m),w=1/_,T=2*u*_,k=(-f*_-(-3*a+c*(1+3*l))*T*(1-u))/(f*f);return[b/4*(t*(-2*w*(.5*k/p*(1-l)-2*a*p*T)+-w*T*g)+-w*(a*(1+l)*k+h*(1+3*l)*T)*L(t/P(d))),m]}(u?l:a,u?a:l),f=c[0],h=c[1],p=s(h);return u&&(f=-_-f),[r*(o(g(f)*p,-g(h))+b),n*L(s(f)*p)]},Ie.invert=function(t,e){var r,n,i,s,u,f,h=(k-1)/(k+1),p=P(1-h*h),d=(n=-t,i=p*p,(r=.5*Oe(_,p*p)-e)?(s=Pe(r,i),n?(f=(u=Pe(n,1-i))[1]*u[1]+i*s[0]*s[0]*u[0]*u[0],[[s[0]*u[2]/f,s[1]*s[2]*u[0]*u[1]/f],[s[1]*u[1]/f,-s[0]*s[2]*u[0]*u[2]/f],[s[2]*u[1]*u[2]/f,-i*s[0]*s[1]*u[0]/f]]):[[s[0],0],[s[1],0],[s[2],0]]):[[0,(u=Pe(n,1-i))[0]/u[1]],[1/u[1],0],[u[2]/u[1],0]]),v=function(t,e){var r=e[0]*e[0]+e[1]*e[1];return[(t[0]*e[0]+t[1]*e[1])/r,(t[1]*e[0]-t[0]*e[1])/r]}(d[0],d[1]);return[o(v[1],v[0])/-1,2*a(l(-.5*c(h*v[0]*v[0]+h*v[1]*v[1])))-_]};var ze=r(7613);function Re(t){var e=g(t),r=s(t),n=Fe(t);function a(t,a){var o=n(t,a);t=o[0],a=o[1];var l=g(a),u=s(a),c=s(t),f=C(e*l+r*u*c),h=g(f),p=i(h)>m?f/h:1;return[p*r*g(t),(i(t)>_?p:-p)*(e*u-r*l*c)]}return n.invert=Fe(-t),a.invert=function(t,r){var i=P(t*t+r*r),a=-g(i),l=s(i),u=i*l,c=-r*a,f=i*e,h=P(u*u+c*c-f*f),p=o(u*f+c*h,c*f-u*h),d=(i>_?-1:1)*o(t*a,i*s(p)*l+r*g(p)*a);return n.invert(d,p)},a}function Fe(t){var e=g(t),r=s(t);return function(t,n){var i=s(n),a=s(t)*i,l=g(t)*i,u=g(n);return[o(l,a*r-u*e),L(u*r+a*e)]}}function Be(){var t=0,e=(0,n.r)(Re),r=e(t),i=r.rotate,a=r.stream,o=(0,ze.Z)();return r.parallel=function(n){if(!arguments.length)return t*S;var i=r.rotate();return e(t=n*E).rotate(i)},r.rotate=function(e){return arguments.length?(i.call(r,[e[0],e[1]-t*S]),o.center([-e[0],-e[1]]),r):((e=i.call(r))[1]+=t*S,e)},r.stream=function(t){return(t=a(t)).sphere=function(){t.polygonStart();var e,r=o.radius(89.99)().coordinates[0],n=r.length-1,i=-1;for(t.lineStart();++i<n;)t.point((e=r[i])[0],e[1]);for(t.lineEnd(),n=(r=o.radius(90.01)().coordinates[0]).length-1,t.lineStart();--i>=0;)t.point((e=r[i])[0],e[1]);t.lineEnd(),t.polygonEnd()},t},r.scale(79.4187).parallel(45).clipAngle(179.999)}var Ne=r(33064),je=r(72736),Ue=L(1-1/3)*S,Ve=Rt(0);function He(t){var e=Ue*E,r=Lt(b,e)[0]-Lt(-b,e)[0],n=Ve(0,e)[1],a=Lt(0,e)[1],o=A-a,s=M/t,l=4/M,c=n+o*o*4/M;function p(p,d){var v,g=i(d);if(g>e){var y=h(t-1,f(0,u((p+b)/s)));(v=Lt(p+=b*(t-1)/t-y*s,g))[0]=v[0]*M/r-M*(t-1)/(2*t)+y*M/t,v[1]=n+4*(v[1]-a)*o/M,d<0&&(v[1]=-v[1])}else v=Ve(p,d);return v[0]*=l,v[1]/=c,v}return p.invert=function(e,p){e/=l;var d=i(p*=c);if(d>n){var v=h(t-1,f(0,u((e+b)/s)));e=(e+b*(t-1)/t-v*s)*r/M;var g=Lt.invert(e,.25*(d-n)*M/o+a);return g[0]-=b*(t-1)/t-v*s,p<0&&(g[1]=-g[1]),g}return Ve.invert(e,p)},p}function qe(t,e){return[t,1&e?89.999999:Ue]}function Ge(t,e){return[t,1&e?-89.999999:-Ue]}function Ze(t){return[.999999*t[0],t[1]]}function Ye(){var t=4,e=(0,n.r)(He),r=e(t),i=r.stream;return r.lobes=function(r){return arguments.length?e(t=+r):t},r.stream=function(e){var n=r.rotate(),a=i(e),o=(r.rotate([0,0]),i(e));return r.rotate(n),a.sphere=function(){var e,r;(0,je.Z)((e=180/t,r=[].concat((0,Ne.w6)(-180,180+e/2,e).map(qe),(0,Ne.w6)(180,-180-e/2,-e).map(Ge)),{type:"Polygon",coordinates:[180===e?r.map(Ze):r]}),o)},a},r.scale(239.75)}function We(t){var e,r=1+t,n=L(g(1/r)),a=2*P(b/(e=b+4*n*r)),l=.5*a*(r+P(t*(2+t))),u=t*t,c=r*r;function f(f,h){var p,d,v=1-g(h);if(v&&v<2){var y,m=_-h,w=25;do{var T=g(m),k=s(m),A=n+o(T,r-k),M=1+c-2*r*k;m-=y=(m-u*n-r*T+M*A-.5*v*e)/(2*r*T*A)}while(i(y)>x&&--w>0);p=a*P(M),d=f*A/b}else p=a*(t+v),d=f*n/b;return[p*g(d),l-p*s(d)]}return f.invert=function(t,i){var s=t*t+(i-=l)*i,f=(1+c-s/(a*a))/(2*r),h=C(f),p=g(h),d=n+o(p,r-f);return[L(t/P(s))*b/d,L(1-2*(h-u*n-r*p+(1+c-2*r*f)*d)/e)]},f}function Xe(){var t=1,e=(0,n.r)(We),r=e(t);return r.ratio=function(r){return arguments.length?e(t=+r):t},r.scale(167.774).center([0,18.67])}var Je=.7109889596207567,Ke=.0528035274542;function $e(t,e){return e>-Je?((t=at(t,e))[1]+=Ke,t):ht(t,e)}function Qe(){return(0,n.Z)($e).rotate([-20,-55]).scale(164.263).center([0,-5.4036])}function tr(t,e){return i(e)>Je?((t=at(t,e))[1]-=e>0?Ke:-Ke,t):ht(t,e)}function er(){return(0,n.Z)(tr).scale(152.63)}function rr(t,e,r,n){var i=P(4*b/(2*r+(1+t-e/2)*g(2*r)+(t+e)/2*g(4*r)+e/2*g(6*r))),a=P(n*g(r)*P((1+t*s(2*r)+e*s(4*r))/(1+t+e))),o=r*u(1);function l(r){return P(1+t*s(2*r)+e*s(4*r))}function u(n){var i=n*r;return(2*i+(1+t-e/2)*g(2*i)+(t+e)/2*g(4*i)+e/2*g(6*i))/r}function c(t){return l(t)*g(t)}var f=function(t,e){var n=r*Q(u,o*g(e)/r,e/b);isNaN(n)&&(n=r*v(e));var c=i*l(n);return[c*a*t/b*s(n),c/a*g(n)]};return f.invert=function(t,e){var n=Q(c,e*a/i);return[t*b/(s(n)*i*a*l(n)),L(r*u(n/r)/o)]},0===r&&(i=P(n/b),(f=function(t,e){return[t*i,g(e)/i]}).invert=function(t,e){return[t/i,L(e*i)]}),f}function nr(){var t=1,e=0,r=45*E,i=2,a=(0,n.r)(rr),o=a(t,e,r,i);return o.a=function(n){return arguments.length?a(t=+n,e,r,i):t},o.b=function(n){return arguments.length?a(t,e=+n,r,i):e},o.psiMax=function(n){return arguments.length?a(t,e,r=+n*E,i):r*S},o.ratio=function(n){return arguments.length?a(t,e,r,i=+n):i},o.scale(180.739)}function ir(t,e,r,n,i,a,o,s,l,u,c){if(c.nanEncountered)return NaN;var f,h,p,d,v,g,y,m,x,b;if(h=t(e+.25*(f=r-e)),p=t(r-.25*f),isNaN(h))c.nanEncountered=!0;else{if(!isNaN(p))return b=((g=(d=f*(n+4*h+i)/12)+(v=f*(i+4*p+a)/12))-o)/15,u>l?(c.maxDepthCount++,g+b):Math.abs(b)<s?g+b:(m=ir(t,e,y=e+.5*f,n,h,i,d,.5*s,l,u+1,c),isNaN(m)?(c.nanEncountered=!0,NaN):(x=ir(t,y,r,i,p,a,v,.5*s,l,u+1,c),isNaN(x)?(c.nanEncountered=!0,NaN):m+x));c.nanEncountered=!0}}function ar(t,e,r,n,i){void 0===n&&(n=1e-8),void 0===i&&(i=20);var a=t(e),o=t(.5*(e+r)),s=t(r);return ir(t,e,r,a,o,s,(a+4*o+s)*(r-e)/6,n,i,1,{maxDepthCount:0,nanEncountered:!1})}function or(t,e,r){function n(r){return t+(1-t)*p(1-p(r,e),1/e)}function a(t){return ar(n,0,t,1e-4)}for(var o=1/a(1),s=1e3,l=(1+1e-8)*o,u=[],c=0;c<=s;c++)u.push(a(c/s)*l);function f(t){var e=0,r=s,n=500;do{u[n]>t?r=n:e=n,n=e+r>>1}while(n>e);var i=u[n+1]-u[n];return i&&(i=(t-u[n+1])/i),(n+1+i)/s}var h=2*f(1)/b*o/r,d=function(t,e){var r=f(i(g(e))),a=n(r)*t;return r/=h,[a,e>=0?r:-r]};return d.invert=function(t,e){var r;return i(e*=h)<1&&(r=v(e)*L(a(i(e))*o)),[t/n(i(e)),r]},d}function sr(){var t=0,e=2.5,r=1.183136,i=(0,n.r)(or),a=i(t,e,r);return a.alpha=function(n){return arguments.length?i(t=+n,e,r):t},a.k=function(n){return arguments.length?i(t,e=+n,r):e},a.gamma=function(n){return arguments.length?i(t,e,r=+n):r},a.scale(152.63)}function lr(t,e){return i(t[0]-e[0])<m&&i(t[1]-e[1])<m}function ur(t,e){for(var r,n,i,a=-1,o=t.length,s=t[0],l=[];++a<o;){n=((r=t[a])[0]-s[0])/e,i=(r[1]-s[1])/e;for(var u=0;u<e;++u)l.push([s[0]+u*n,s[1]+u*i]);s=r}return l.push(r),l}function cr(t){var e,r,n,i,a,o,s,l=[],u=t[0].length;for(s=0;s<u;++s)r=(e=t[0][s])[0][0],n=e[0][1],i=e[1][1],a=e[2][0],o=e[2][1],l.push(ur([[r+m,n+m],[r+m,i-m],[a-m,i-m],[a-m,o+m]],30));for(s=t[1].length-1;s>=0;--s)r=(e=t[1][s])[0][0],n=e[0][1],i=e[1][1],a=e[2][0],o=e[2][1],l.push(ur([[a-m,o-m],[a-m,i+m],[r+m,i+m],[r+m,n-m]],30));return{type:"Polygon",coordinates:[(0,Ne.TS)(l)]}}function fr(t,e,r){var i,a;function o(r,n){for(var i=n<0?-1:1,a=e[+(n<0)],o=0,s=a.length-1;o<s&&r>a[o][2][0];++o);var l=t(r-a[o][1][0],n);return l[0]+=t(a[o][1][0],i*n>i*a[o][0][1]?a[o][0][1]:n)[0],l}r?o.invert=r(o):t.invert&&(o.invert=function(r,n){for(var i=a[+(n<0)],s=e[+(n<0)],l=0,u=i.length;l<u;++l){var c=i[l];if(c[0][0]<=r&&r<c[1][0]&&c[0][1]<=n&&n<c[1][1]){var f=t.invert(r-t(s[l][1][0],0)[0],n);return f[0]+=s[l][1][0],lr(o(f[0],f[1]),[r,n])?f:null}}});var s=(0,n.Z)(o),l=s.stream;return s.stream=function(t){var e=s.rotate(),r=l(t),n=(s.rotate([0,0]),l(t));return s.rotate(e),r.sphere=function(){(0,je.Z)(i,n)},r},s.lobes=function(r){return arguments.length?(i=cr(r),e=r.map((function(t){return t.map((function(t){return[[t[0][0]*E,t[0][1]*E],[t[1][0]*E,t[1][1]*E],[t[2][0]*E,t[2][1]*E]]}))})),a=e.map((function(e){return e.map((function(e){var r,n=t(e[0][0],e[0][1])[0],i=t(e[2][0],e[2][1])[0],a=t(e[1][0],e[0][1])[1],o=t(e[1][0],e[1][1])[1];return a>o&&(r=a,a=o,o=r),[[n,a],[i,o]]}))})),s):e.map((function(t){return t.map((function(t){return[[t[0][0]*S,t[0][1]*S],[t[1][0]*S,t[1][1]*S],[t[2][0]*S,t[2][1]*S]]}))}))},null!=e&&s.lobes(e),s}$e.invert=function(t,e){return e>-Je?at.invert(t,e-Ke):ht.invert(t,e)},tr.invert=function(t,e){return i(e)>Je?at.invert(t,e+(e>0?Ke:-Ke)):ht.invert(t,e)};var hr=[[[[-180,0],[-100,90],[-40,0]],[[-40,0],[30,90],[180,0]]],[[[-180,0],[-160,-90],[-100,0]],[[-100,0],[-60,-90],[-20,0]],[[-20,0],[20,-90],[80,0]],[[80,0],[140,-90],[180,0]]]];function pr(){return fr(ut,hr).scale(160.857)}var dr=[[[[-180,0],[-100,90],[-40,0]],[[-40,0],[30,90],[180,0]]],[[[-180,0],[-160,-90],[-100,0]],[[-100,0],[-60,-90],[-20,0]],[[-20,0],[20,-90],[80,0]],[[80,0],[140,-90],[180,0]]]];function vr(){return fr(tr,dr).scale(152.63)}var gr=[[[[-180,0],[-100,90],[-40,0]],[[-40,0],[30,90],[180,0]]],[[[-180,0],[-160,-90],[-100,0]],[[-100,0],[-60,-90],[-20,0]],[[-20,0],[20,-90],[80,0]],[[80,0],[140,-90],[180,0]]]];function yr(){return fr(at,gr).scale(169.529)}var mr=[[[[-180,0],[-90,90],[0,0]],[[0,0],[90,90],[180,0]]],[[[-180,0],[-90,-90],[0,0]],[[0,0],[90,-90],[180,0]]]];function xr(){return fr(at,mr).scale(169.529).rotate([20,0])}var br=[[[[-180,35],[-30,90],[0,35]],[[0,35],[30,90],[180,35]]],[[[-180,-10],[-102,-90],[-65,-10]],[[-65,-10],[5,-90],[77,-10]],[[77,-10],[103,-90],[180,-10]]]];function _r(){return fr($e,br,tt).rotate([-20,-55]).scale(164.263).center([0,-5.4036])}var wr=[[[[-180,0],[-110,90],[-40,0]],[[-40,0],[0,90],[40,0]],[[40,0],[110,90],[180,0]]],[[[-180,0],[-110,-90],[-40,0]],[[-40,0],[0,-90],[40,0]],[[40,0],[110,-90],[180,0]]]];function Tr(){return fr(ht,wr).scale(152.63).rotate([-20,0])}function kr(t,e){return[3/M*t*P(b*b/3-e*e),e]}function Ar(){return(0,n.Z)(kr).scale(158.837)}function Mr(t){function e(e,r){if(i(i(r)-_)<m)return[0,r<0?-2:2];var n=g(r),a=p((1+n)/(1-n),t/2),o=.5*(a+1/a)+s(e*=t);return[2*g(e)/o,(a-1/a)/o]}return e.invert=function(e,r){var n=i(r);if(i(n-2)<m)return e?null:[0,v(r)*_];if(n>2)return null;var a=(e/=2)*e,s=(r/=2)*r,l=2*r/(1+a+s);return l=p((1+l)/(1-l),1/t),[o(2*e,1-a-s)/t,L((l-1)/(l+1))]},e}function Sr(){var t=.5,e=(0,n.r)(Mr),r=e(t);return r.spacing=function(r){return arguments.length?e(t=+r):t},r.scale(124.75)}kr.invert=function(t,e){return[M/3*t/P(b*b/3-e*e),e]};var Er=b/k;function Lr(t,e){return[t*(1+P(s(e)))/2,e/(s(e/2)*s(t/6))]}function Cr(){return(0,n.Z)(Lr).scale(97.2672)}function Pr(t,e){var r=t*t,n=e*e;return[t*(.975534+n*(-.0143059*r-.119161+-.0547009*n)),e*(1.00384+r*(.0802894+-.02855*n+199025e-9*r)+n*(.0998909+-.0491032*n))]}function Or(){return(0,n.Z)(Pr).scale(139.98)}function Ir(t,e){return[g(t)/s(e),y(e)*s(t)]}function Dr(){return(0,n.Z)(Ir).scale(144.049).clipAngle(89.999)}function zr(t){var e=s(t),r=y(w+t/2);function n(n,a){var o=a-t,s=i(o)<m?n*e:i(s=w+a/2)<m||i(i(s)-_)<m?0:n*o/c(y(s)/r);return[s,o]}return n.invert=function(n,a){var o,s=a+t;return[i(a)<m?n/e:i(o=w+s/2)<m||i(i(o)-_)<m?0:n*c(y(o)/r)/a,s]},n}function Rr(){return ft(zr).parallel(40).scale(158.837)}function Fr(t,e){return[t,1.25*c(y(w+.4*e))]}function Br(){return(0,n.Z)(Fr).scale(108.318)}function Nr(t){var e=t.length-1;function r(r,n){for(var i,a=s(n),o=2/(1+a*s(r)),l=o*a*g(r),u=o*g(n),c=e,f=t[c],h=f[0],p=f[1];--c>=0;)h=(f=t[c])[0]+l*(i=h)-u*p,p=f[1]+l*p+u*i;return[h=l*(i=h)-u*p,p=l*p+u*i]}return r.invert=function(r,n){var l=20,u=r,c=n;do{for(var f,h=e,p=t[h],d=p[0],v=p[1],y=0,m=0;--h>=0;)y=d+u*(f=y)-c*m,m=v+u*m+c*f,d=(p=t[h])[0]+u*(f=d)-c*v,v=p[1]+u*v+c*f;var x,b,_=(y=d+u*(f=y)-c*m)*y+(m=v+u*m+c*f)*m;u-=x=((d=u*(f=d)-c*v-r)*y+(v=u*v+c*f-n)*m)/_,c-=b=(v*y-d*m)/_}while(i(x)+i(b)>1e-12&&--l>0);if(l){var w=P(u*u+c*c),T=2*a(.5*w),k=g(T);return[o(u*k,w*s(T)),w?L(c*k/w):0]}},r}Lr.invert=function(t,e){var r=i(t),n=i(e),a=m,o=_;n<Er?o*=n/Er:a+=6*C(Er/n);for(var l=0;l<25;l++){var u=g(o),c=P(s(o)),f=g(o/2),h=s(o/2),p=g(a/6),d=s(a/6),v=.5*a*(1+c)-r,y=o/(h*d)-n,x=c?-.25*a*u/c:0,b=.5*(1+c),w=(1+.5*o*f/h)/(h*d),T=o/h*(p/6)/(d*d),k=x*T-w*b,A=(v*T-y*b)/k,M=(y*x-v*w)/k;if(o-=A,a-=M,i(A)<m&&i(M)<m)break}return[t<0?-a:a,e<0?-o:o]},Pr.invert=function(t,e){var r=v(t)*b,n=e/2,a=50;do{var o=r*r,s=n*n,l=r*n,u=r*(.975534+s*(-.0143059*o-.119161+-.0547009*s))-t,c=n*(1.00384+o*(.0802894+-.02855*s+199025e-9*o)+s*(.0998909+-.0491032*s))-e,f=.975534-s*(.119161+3*o*.0143059+.0547009*s),h=-l*(.238322+.2188036*s+.0286118*o),p=l*(.1605788+7961e-7*o+-.0571*s),d=1.00384+o*(.0802894+199025e-9*o)+s*(3*(.0998909-.02855*o)-.245516*s),g=h*p-d*f,y=(c*h-u*d)/g,x=(u*p-c*f)/g;r-=y,n-=x}while((i(y)>m||i(x)>m)&&--a>0);return a&&[r,n]},Ir.invert=function(t,e){var r=t*t,n=e*e+1,i=r+n,a=t?T*P((i-P(i*i-4*r))/r):1/P(n);return[L(t*a),v(e)*C(a)]},Fr.invert=function(t,e){return[t,2.5*a(l(.8*e))-.625*b]};var jr=[[.9972523,0],[.0052513,-.0041175],[.0074606,.0048125],[-.0153783,-.1968253],[.0636871,-.1408027],[.3660976,-.2937382]],Ur=[[.98879,0],[0,0],[-.050909,0],[0,0],[.075528,0]],Vr=[[.984299,0],[.0211642,.0037608],[-.1036018,-.0575102],[-.0329095,-.0320119],[.0499471,.1223335],[.026046,.0899805],[7388e-7,-.1435792],[.0075848,-.1334108],[-.0216473,.0776645],[-.0225161,.0853673]],Hr=[[.9245,0],[0,0],[.01943,0]],qr=[[.721316,0],[0,0],[-.00881625,-.00617325]];function Gr(){return Jr(jr,[152,-64]).scale(1400).center([-160.908,62.4864]).clipAngle(30).angle(7.8)}function Zr(){return Jr(Ur,[95,-38]).scale(1e3).clipAngle(55).center([-96.5563,38.8675])}function Yr(){return Jr(Vr,[120,-45]).scale(359.513).clipAngle(55).center([-117.474,53.0628])}function Wr(){return Jr(Hr,[-20,-18]).scale(209.091).center([20,16.7214]).clipAngle(82)}function Xr(){return Jr(qr,[165,10]).scale(250).clipAngle(130).center([-165,-10])}function Jr(t,e){var r=(0,n.Z)(Nr(t)).rotate(e).clipAngle(90),i=(0,_t.Z)(e),a=r.center;return delete r.rotate,r.center=function(t){return arguments.length?a(i(t)):i.invert(a())},r}var Kr=P(6),$r=P(7);function Qr(t,e){var r=L(7*g(e)/(3*Kr));return[Kr*t*(2*s(2*r/3)-1)/$r,9*g(r/3)/$r]}function tn(){return(0,n.Z)(Qr).scale(164.859)}function en(t,e){for(var r,n=(1+T)*g(e),a=e,o=0;o<25&&(a-=r=(g(a/2)+g(a)-n)/(.5*s(a/2)+s(a)),!(i(r)<m));o++);return[t*(1+2*s(a)/s(a/2))/(3*k),2*P(3)*g(a/2)/P(2+k)]}function rn(){return(0,n.Z)(en).scale(188.209)}function nn(t,e){for(var r,n=P(6/(4+b)),a=(1+b/4)*g(e),o=e/2,l=0;l<25&&(o-=r=(o/2+g(o)-a)/(.5+s(o)),!(i(r)<m));l++);return[n*(.5+s(o))*t/1.5,n*o]}function an(){return(0,n.Z)(nn).scale(166.518)}Qr.invert=function(t,e){var r=3*L(e*$r/9);return[t*$r/(Kr*(2*s(2*r/3)-1)),L(3*g(r)*Kr/7)]},en.invert=function(t,e){var r=e*P(2+k)/(2*P(3)),n=2*L(r);return[3*k*t/(1+2*s(n)/s(n/2)),L((r+g(n))/(1+T))]},nn.invert=function(t,e){var r=P(6/(4+b)),n=e/r;return i(i(n)-_)<m&&(n=n<0?-_:_),[1.5*t/(r*(.5+s(n))),L((n/2+g(n))/(1+b/4))]};var on=r(26867);function sn(t,e){var r=e*e,n=r*r,i=r*n;return[t*(.84719-.13063*r+i*i*(.05494*r-.04515-.02326*n+.00331*i)),e*(1.01183+n*n*(.01926*r-.02625-.00396*n))]}function ln(){return(0,n.Z)(sn).scale(175.295)}function un(t,e){return[t*(1+s(e))/2,2*(e-y(e/2))]}function cn(){return(0,n.Z)(un).scale(152.63)}sn.invert=function(t,e){var r,n,a,o,s=e,l=25;do{s-=r=(s*(1.01183+(a=(n=s*s)*n)*a*(.01926*n-.02625-.00396*a))-e)/(1.01183+a*a*(.21186*n-.23625+-.05148*a))}while(i(r)>x&&--l>0);return[t/(.84719-.13063*(n=s*s)+(o=n*(a=n*n))*o*(.05494*n-.04515-.02326*a+.00331*o)),s]},un.invert=function(t,e){for(var r=e/2,n=0,a=1/0;n<10&&i(a)>m;++n){var o=s(e/2);e-=a=(e-y(e/2)-r)/(1-.5/(o*o))}return[2*t/(1+s(e)),e]};var fn=[[[[-180,0],[-90,90],[0,0]],[[0,0],[90,90],[180,0]]],[[[-180,0],[-90,-90],[0,0]],[[0,0],[90,-90],[180,0]]]];function hn(){return fr(J(1/0),fn).rotate([20,0]).scale(152.63)}function pn(t,e){var r=g(e),n=s(e),a=v(t);if(0===t||i(e)===_)return[0,e];if(0===e)return[t,0];if(i(t)===_)return[t*n,_*r];var o=b/(2*t)-2*t/b,l=2*e/b,u=(1-l*l)/(r-l),c=o*o,f=u*u,h=1+c/f,p=1+f/c,d=(o*r/u-o/2)/h,y=(f*r/c+u/2)/p,m=y*y-(f*r*r/c+u*r-1)/p;return[_*(d+P(d*d+n*n/h)*a),_*(y+P(m<0?0:m)*v(-e*o)*a)]}function dn(){return(0,n.Z)(pn).scale(127.267)}pn.invert=function(t,e){var r=(t/=_)*t,n=r+(e/=_)*e,i=b*b;return[t?(n-1+P((1-n)*(1-n)+4*r))/(2*t)*_:0,Q((function(t){return n*(b*g(t)-2*t)*b+4*t*t*(e-g(t))+2*b*t-i*e}),0)]};var vn=1.0148,gn=.23185,yn=-.14499,mn=.02406,xn=1.790857183;function bn(t,e){var r=e*e;return[t,e*(vn+r*r*(gn+r*(yn+mn*r)))]}function _n(){return(0,n.Z)(bn).scale(139.319)}function wn(t,e){if(i(e)<m)return[t,0];var r=y(e),n=t*g(e);return[g(n)/r,e+(1-s(n))/r]}function Tn(){return(0,n.Z)(wn).scale(103.74)}bn.invert=function(t,e){e>xn?e=xn:e<-1.790857183&&(e=-1.790857183);var r,n=e;do{var a=n*n;n-=r=(n*(vn+a*a*(gn+a*(yn+mn*a)))-e)/(1.0148+a*a*(1.1592500000000001+a*(.21654*a-1.01493)))}while(i(r)>m);return[t,n]},wn.invert=function(t,e){if(i(e)<m)return[t,0];var r,n=t*t+e*e,a=.5*e,o=10;do{var l=y(a),u=1/s(a),c=n-2*e*a+a*a;a-=r=(l*c+2*(a-e))/(2+c*u*u+2*(a-e)*l)}while(i(r)>m&&--o>0);return l=y(a),[(i(e)<i(a+1/l)?L(t*l):v(e)*v(t)*(C(i(t*l))+_))/g(a),a]};var kn=r(77338),An=r(83074);function Mn(t,e){return[t[0]*e[0]+t[1]*e[3],t[0]*e[1]+t[1]*e[4],t[0]*e[2]+t[1]*e[5]+t[2],t[3]*e[0]+t[4]*e[3],t[3]*e[1]+t[4]*e[4],t[3]*e[2]+t[4]*e[5]+t[5]]}function Sn(t,e){return[t[0]-e[0],t[1]-e[1]]}function En(t){return P(t[0]*t[0]+t[1]*t[1])}function Ln(t,e,r){function i(t,r){var n,i=e(t,r),a=i.project([t*S,r*S]);return(n=i.transform)?[n[0]*a[0]+n[1]*a[1]+n[2],-(n[3]*a[0]+n[4]*a[1]+n[5])]:(a[1]=-a[1],a)}function a(t,r){var n=t.project.invert,i=t.transform,o=r;if(i&&(i=function(t){var e=1/(t[0]*t[4]-t[1]*t[3]);return[e*t[4],-e*t[1],e*(t[1]*t[5]-t[2]*t[4]),-e*t[3],e*t[0],e*(t[2]*t[3]-t[0]*t[5])]}(i),o=[i[0]*o[0]+i[1]*o[1]+i[2],i[3]*o[0]+i[4]*o[1]+i[5]]),n&&t===function(t){return e(t[0]*E,t[1]*E)}(s=n(o)))return s;for(var s,l=t.children,u=0,c=l&&l.length;u<c;++u)if(s=a(l[u],r))return s}!function t(e,r){if(e.edges=function(t){for(var e=t.length,r=[],n=t[e-1],i=0;i<e;++i)r.push([n,n=t[i]]);return r}(e.face),r.face){var n=e.shared=function(t,e){for(var r,n,i=t.length,a=null,o=0;o<i;++o){r=t[o];for(var s=e.length;--s>=0;)if(n=e[s],r[0]===n[0]&&r[1]===n[1]){if(a)return[a,r];a=r}}}(e.face,r.face),i=(c=n.map(r.project),f=n.map(e.project),h=Sn(c[1],c[0]),p=Sn(f[1],f[0]),d=function(t,e){return o(t[0]*e[1]-t[1]*e[0],t[0]*e[0]+t[1]*e[1])}(h,p),v=En(h)/En(p),Mn([1,0,c[0][0],0,1,c[0][1]],Mn([v,0,0,0,v,0],Mn([s(d),g(d),0,-g(d),s(d),0],[1,0,-f[0][0],0,1,-f[0][1]]))));e.transform=r.transform?Mn(r.transform,i):i;for(var a=r.edges,l=0,u=a.length;l<u;++l)Pn(n[0],a[l][1])&&Pn(n[1],a[l][0])&&(a[l]=e),Pn(n[0],a[l][0])&&Pn(n[1],a[l][1])&&(a[l]=e);for(l=0,u=(a=e.edges).length;l<u;++l)Pn(n[0],a[l][0])&&Pn(n[1],a[l][1])&&(a[l]=r),Pn(n[0],a[l][1])&&Pn(n[1],a[l][0])&&(a[l]=r)}else e.transform=r.transform;var c,f,h,p,d,v;return e.children&&e.children.forEach((function(r){t(r,e)})),e}(t,{transform:null}),On(t)&&(i.invert=function(e,r){var n=a(t,[e,-r]);return n&&(n[0]*=E,n[1]*=E,n)});var l=(0,n.Z)(i),u=l.stream;return l.stream=function(e){var r=l.rotate(),n=u(e),i=(l.rotate([0,0]),u(e));return l.rotate(r),n.sphere=function(){i.polygonStart(),i.lineStart(),Cn(i,t),i.lineEnd(),i.polygonEnd()},n},l.angle(null==r?-30:r*S)}function Cn(t,e,r){var n,a,o=e.edges,s=o.length,l={type:"MultiPoint",coordinates:e.face},u=e.face.filter((function(t){return 90!==i(t[1])})),c=(0,kn.Z)({type:"MultiPoint",coordinates:u}),f=!1,h=-1,p=c[1][0]-c[0][0],d=180===p||360===p?[(c[0][0]+c[1][0])/2,(c[0][1]+c[1][1])/2]:(0,bt.Z)(l);if(r)for(;++h<s&&o[h]!==r;);++h;for(var v=0;v<s;++v)a=o[(v+h)%s],Array.isArray(a)?(f||(t.point((n=(0,An.Z)(a[0],d)(m))[0],n[1]),f=!0),t.point((n=(0,An.Z)(a[1],d)(m))[0],n[1])):(f=!1,a!==r&&Cn(t,a,e))}function Pn(t,e){return t&&e&&t[0]===e[0]&&t[1]===e[1]}function On(t){return t.project.invert||t.children&&t.children.some(On)}var In=r(98936),Dn=[[0,90],[-90,0],[0,0],[90,0],[180,0],[0,-90]],zn=[[0,2,1],[0,3,2],[5,1,2],[5,2,3],[0,1,4],[0,4,3],[5,4,1],[5,3,4]].map((function(t){return t.map((function(t){return Dn[t]}))}));function Rn(t){t=t||function(t){var e=(0,bt.Z)({type:"MultiPoint",coordinates:t});return(0,In.Z)().scale(1).translate([0,0]).rotate([-e[0],-e[1]])};var e=zn.map((function(e){return{face:e,project:t(e)}}));return[-1,0,0,1,0,1,4,5].forEach((function(t,r){var n=e[t];n&&(n.children||(n.children=[])).push(e[r])})),Ln(e[0],(function(t,r){return e[t<-b/2?r<0?6:4:t<0?r<0?2:0:t<b/2?r<0?3:1:r<0?7:5]})).angle(-30).scale(101.858).center([0,45])}var Fn=2/P(3);function Bn(t,e){var r=Lt(t,e);return[r[0]*Fn,r[1]]}function Nn(t){t=t||function(t){var e=(0,bt.Z)({type:"MultiPoint",coordinates:t});return(0,n.Z)(Bn).translate([0,0]).scale(1).rotate(e[1]>0?[-e[0],0]:[180-e[0],180])};var e=zn.map((function(e){return{face:e,project:t(e)}}));return[-1,0,0,1,0,1,4,5].forEach((function(t,r){var n=e[t];n&&(n.children||(n.children=[])).push(e[r])})),Ln(e[0],(function(t,r){return e[t<-b/2?r<0?6:4:t<0?r<0?2:0:t<b/2?r<0?3:1:r<0?7:5]})).angle(-30).scale(121.906).center([0,48.5904])}function jn(t){t=t||function(t){var e=6===t.length?(0,bt.Z)({type:"MultiPoint",coordinates:t}):t[0];return(0,In.Z)().scale(1).translate([0,0]).rotate([-e[0],-e[1]])};var e=zn.map((function(t){for(var e,r=t.map(Hn),n=r.length,i=r[n-1],a=[],o=0;o<n;++o)e=r[o],a.push(Vn([.9486832980505138*i[0]+.31622776601683794*e[0],.9486832980505138*i[1]+.31622776601683794*e[1],.9486832980505138*i[2]+.31622776601683794*e[2]]),Vn([.9486832980505138*e[0]+.31622776601683794*i[0],.9486832980505138*e[1]+.31622776601683794*i[1],.9486832980505138*e[2]+.31622776601683794*i[2]])),i=e;return a})),r=[],n=[-1,0,0,1,0,1,4,5];e.forEach((function(t,i){for(var a,o,s=zn[i],l=s.length,u=r[i]=[],c=0;c<l;++c)e.push([s[c],t[(2*c+2)%(2*l)],t[(2*c+1)%(2*l)]]),n.push(i),u.push((a=Hn(t[(2*c+2)%(2*l)]),o=Hn(t[(2*c+1)%(2*l)]),[a[1]*o[2]-a[2]*o[1],a[2]*o[0]-a[0]*o[2],a[0]*o[1]-a[1]*o[0]]))}));var i=e.map((function(e){return{project:t(e),face:e}}));return n.forEach((function(t,e){var r=i[t];r&&(r.children||(r.children=[])).push(i[e])})),Ln(i[0],(function(t,e){var n=s(e),a=[n*s(t),n*g(t),g(e)],o=t<-b/2?e<0?6:4:t<0?e<0?2:0:t<b/2?e<0?3:1:e<0?7:5,l=r[o];return i[Un(l[0],a)<0?8+3*o:Un(l[1],a)<0?8+3*o+1:Un(l[2],a)<0?8+3*o+2:o]})).angle(-30).scale(110.625).center([0,45])}function Un(t,e){for(var r=0,n=t.length,i=0;r<n;++r)i+=t[r]*e[r];return i}function Vn(t){return[o(t[1],t[0])*S,L(f(-1,h(1,t[2])))*S]}function Hn(t){var e=t[0]*E,r=t[1]*E,n=s(r);return[n*s(e),n*g(e),g(r)]}function qn(){}function Gn(t,e){var r,n=e.stream;if(!n)throw new Error("invalid projection");switch(t&&t.type){case"Feature":r=Yn;break;case"FeatureCollection":r=Zn;break;default:r=Wn}return r(t,n)}function Zn(t,e){return{type:"FeatureCollection",features:t.features.map((function(t){return Yn(t,e)}))}}function Yn(t,e){return{type:"Feature",id:t.id,properties:t.properties,geometry:Wn(t.geometry,e)}}function Wn(t,e){if(!t)return null;if("GeometryCollection"===t.type)return function(t,e){return{type:"GeometryCollection",geometries:t.geometries.map((function(t){return Wn(t,e)}))}}(t,e);var r;switch(t.type){case"Point":case"MultiPoint":r=Kn;break;case"LineString":case"MultiLineString":r=$n;break;case"Polygon":case"MultiPolygon":case"Sphere":r=Qn;break;default:return null}return(0,je.Z)(t,e(r)),r.result()}Bn.invert=function(t,e){return Lt.invert(t/Fn,e)};var Xn=[],Jn=[],Kn={point:function(t,e){Xn.push([t,e])},result:function(){var t=Xn.length?Xn.length<2?{type:"Point",coordinates:Xn[0]}:{type:"MultiPoint",coordinates:Xn}:null;return Xn=[],t}},$n={lineStart:qn,point:function(t,e){Xn.push([t,e])},lineEnd:function(){Xn.length&&(Jn.push(Xn),Xn=[])},result:function(){var t=Jn.length?Jn.length<2?{type:"LineString",coordinates:Jn[0]}:{type:"MultiLineString",coordinates:Jn}:null;return Jn=[],t}},Qn={polygonStart:qn,lineStart:qn,point:function(t,e){Xn.push([t,e])},lineEnd:function(){var t=Xn.length;if(t){do{Xn.push(Xn[0].slice())}while(++t<4);Jn.push(Xn),Xn=[]}},polygonEnd:qn,result:function(){if(!Jn.length)return null;var t=[],e=[];return Jn.forEach((function(r){!function(t){if((e=t.length)<4)return!1;for(var e,r=0,n=t[e-1][1]*t[0][0]-t[e-1][0]*t[0][1];++r<e;)n+=t[r-1][1]*t[r][0]-t[r-1][0]*t[r][1];return n<=0}(r)?e.push(r):t.push([r])})),e.forEach((function(e){var r=e[0];t.some((function(t){if(function(t,e){for(var r=e[0],n=e[1],i=!1,a=0,o=t.length,s=o-1;a<o;s=a++){var l=t[a],u=l[0],c=l[1],f=t[s],h=f[0],p=f[1];c>n^p>n&&r<(h-u)*(n-c)/(p-c)+u&&(i=!i)}return i}(t[0],r))return t.push(e),!0}))||t.push([e])})),Jn=[],t.length?t.length>1?{type:"MultiPolygon",coordinates:t}:{type:"Polygon",coordinates:t[0]}:null}};function ti(t){var e=t(_,0)[0]-t(-_,0)[0];function r(r,n){var a=i(r)<_,o=t(a?r:r>0?r-b:r+b,n),s=(o[0]-o[1])*T,l=(o[0]+o[1])*T;if(a)return[s,l];var u=e*T,c=s>0^l>0?-1:1;return[c*s-v(l)*u,c*l-v(s)*u]}return t.invert&&(r.invert=function(r,n){var a=(r+n)*T,o=(n-r)*T,s=i(a)<.5*e&&i(o)<.5*e;if(!s){var l=e*T,u=a>0^o>0?-1:1,c=-u*r+(o>0?1:-1)*l,f=-u*n+(a>0?1:-1)*l;a=(-c-f)*T,o=(c-f)*T}var h=t.invert(a,o);return s||(h[0]+=a>0?b:-b),h}),(0,n.Z)(r).rotate([-90,-90,45]).clipAngle(179.999)}function ei(){return ti(Le).scale(176.423)}function ri(){return ti(Ie).scale(111.48)}function ni(t,e){if(!(0<=(e=+e)&&e<=20))throw new Error("invalid digits");function r(t){var r=t.length,n=2,i=new Array(r);for(i[0]=+t[0].toFixed(e),i[1]=+t[1].toFixed(e);n<r;)i[n]=t[n],++n;return i}function n(t){return t.map(r)}function i(t){for(var e=r(t[0]),n=[e],i=1;i<t.length;i++){var a=r(t[i]);(a.length>2||a[0]!=e[0]||a[1]!=e[1])&&(n.push(a),e=a)}return 1===n.length&&t.length>1&&n.push(r(t[t.length-1])),n}function a(t){return t.map(i)}function o(t){if(null==t)return t;var e;switch(t.type){case"GeometryCollection":e={type:"GeometryCollection",geometries:t.geometries.map(o)};break;case"Point":e={type:"Point",coordinates:r(t.coordinates)};break;case"MultiPoint":e={type:t.type,coordinates:n(t.coordinates)};break;case"LineString":e={type:t.type,coordinates:i(t.coordinates)};break;case"MultiLineString":case"Polygon":e={type:t.type,coordinates:a(t.coordinates)};break;case"MultiPolygon":e={type:"MultiPolygon",coordinates:t.coordinates.map(a)};break;default:return t}return null!=t.bbox&&(e.bbox=t.bbox),e}function s(t){var e={type:"Feature",properties:t.properties,geometry:o(t.geometry)};return null!=t.id&&(e.id=t.id),null!=t.bbox&&(e.bbox=t.bbox),e}if(null!=t)switch(t.type){case"Feature":return s(t);case"FeatureCollection":var l={type:"FeatureCollection",features:t.features.map(s)};return null!=t.bbox&&(l.bbox=t.bbox),l;default:return o(t)}return t}function ii(t){var e=g(t);function r(r,n){var i=e?y(r*e/2)/e:r/2;if(!n)return[2*i,-t];var o=2*a(i*g(n)),l=1/y(n);return[g(o)*l,n+(1-s(o))*l-t]}return r.invert=function(r,n){if(i(n+=t)<m)return[e?2*a(e*r/2)/e:r,0];var o,l=r*r+n*n,u=0,c=10;do{var f=y(u),h=1/s(u),p=l-2*n*u+u*u;u-=o=(f*p+2*(u-n))/(2+p*h*h+2*(u-n)*f)}while(i(o)>m&&--c>0);var d=r*(f=y(u)),v=y(i(n)<i(u+1/f)?.5*L(d):.5*C(d)+b/4)/g(u);return[e?2*a(e*v)/e:2*v,u]},r}function ai(){return ft(ii).scale(131.215)}var oi=[[.9986,-.062],[1,0],[.9986,.062],[.9954,.124],[.99,.186],[.9822,.248],[.973,.31],[.96,.372],[.9427,.434],[.9216,.4958],[.8962,.5571],[.8679,.6176],[.835,.6769],[.7986,.7346],[.7597,.7903],[.7186,.8435],[.6732,.8936],[.6213,.9394],[.5722,.9761],[.5322,1]];function si(t,e){var r,n=h(18,36*i(e)/b),a=u(n),o=n-a,s=(r=oi[a])[0],l=r[1],c=(r=oi[++a])[0],f=r[1],p=(r=oi[h(19,++a)])[0],d=r[1];return[t*(c+o*(p-s)/2+o*o*(p-2*c+s)/2),(e>0?_:-_)*(f+o*(d-l)/2+o*o*(d-2*f+l)/2)]}function li(){return(0,n.Z)(si).scale(152.63)}function ui(t,e){var r=function(t){function e(e,r){var n=s(r),i=(t-1)/(t-n*s(e));return[i*n*g(e),i*g(r)]}return e.invert=function(e,r){var n=e*e+r*r,i=P(n),a=(t-P(1-n*(t+1)/(t-1)))/((t-1)/i+i/(t-1));return[o(e*a,i*P(1-a*a)),i?L(r*a/i):0]},e}(t);if(!e)return r;var n=s(e),i=g(e);function a(e,a){var o=r(e,a),s=o[1],l=s*i/(t-1)+n;return[o[0]*n/l,s/l]}return a.invert=function(e,a){var o=(t-1)/(t-1-a*i);return r.invert(o*e,o*a*n)},a}function ci(){var t=2,e=0,r=(0,n.r)(ui),i=r(t,e);return i.distance=function(n){return arguments.length?r(t=+n,e):t},i.tilt=function(n){return arguments.length?r(t,e=n*E):e*S},i.scale(432.147).clipAngle(C(1/t)*S-1e-6)}oi.forEach((function(t){t[1]*=1.0144})),si.invert=function(t,e){var r=e/_,n=90*r,a=h(18,i(n/5)),o=f(0,u(a));do{var s=oi[o][1],l=oi[o+1][1],c=oi[h(19,o+2)][1],p=c-s,d=c-2*l+s,v=2*(i(r)-l)/p,g=d/p,y=v*(1-g*v*(1-2*g*v));if(y>=0||1===o){n=(e>=0?5:-5)*(y+a);var m,b=50;do{y=(a=h(18,i(n)/5))-(o=u(a)),s=oi[o][1],l=oi[o+1][1],c=oi[h(19,o+2)][1],n-=(m=(e>=0?_:-_)*(l+y*(c-s)/2+y*y*(c-2*l+s)/2)-e)*S}while(i(m)>x&&--b>0);break}}while(--o>=0);var w=oi[o][0],T=oi[o+1][0],k=oi[h(19,o+2)][0];return[t/(T+y*(k-w)/2+y*y*(k-2*T+w)/2),n*E]};var fi=-179.9999,hi=179.9999,pi=-89.9999,di=89.9999;function vi(t){return t.length>0}function gi(t){return-90===t||90===t?[0,t]:[-180,(e=t,Math.floor(1e4*e)/1e4)];var e}function yi(t){var e=t[0],r=t[1],n=!1;return e<=fi?(e=-180,n=!0):e>=hi&&(e=180,n=!0),r<=pi?(r=-90,n=!0):r>=di&&(r=90,n=!0),n?[e,r]:t}function mi(t){return t.map(yi)}function xi(t,e,r){for(var n=0,i=t.length;n<i;++n){var a=t[n].slice();r.push({index:-1,polygon:e,ring:a});for(var o=0,s=a.length;o<s;++o){var l=a[o],u=l[0],c=l[1];if(u<=fi||u>=hi||c<=pi||c>=di){a[o]=yi(l);for(var f=o+1;f<s;++f){var h=a[f],p=h[0],d=h[1];if(p>fi&&p<hi&&d>pi&&d<di)break}if(f===o+1)continue;if(o){var v={index:-1,polygon:e,ring:a.slice(0,o+1)};v.ring[v.ring.length-1]=gi(c),r[r.length-1]=v}else r.pop();if(f>=s)break;r.push({index:-1,polygon:e,ring:a=a.slice(f-1)}),a[0]=gi(a[0][1]),o=-1,s=a.length}}}}function bi(t){var e,r,n,i,a,o,s=t.length,l={},u={};for(e=0;e<s;++e)n=(r=t[e]).ring[0],a=r.ring[r.ring.length-1],n[0]!==a[0]||n[1]!==a[1]?(r.index=e,l[n]=u[a]=r):(r.polygon.push(r.ring),t[e]=null);for(e=0;e<s;++e)if(r=t[e]){if(n=r.ring[0],a=r.ring[r.ring.length-1],i=u[n],o=l[a],delete l[n],delete u[a],n[0]===a[0]&&n[1]===a[1]){r.polygon.push(r.ring);continue}i?(delete u[n],delete l[i.ring[0]],i.ring.pop(),t[i.index]=null,r={index:-1,polygon:i.polygon,ring:i.ring.concat(r.ring)},i===o?r.polygon.push(r.ring):(r.index=s++,t.push(l[r.ring[0]]=u[r.ring[r.ring.length-1]]=r))):o?(delete l[a],delete u[o.ring[o.ring.length-1]],r.ring.pop(),r={index:s++,polygon:o.polygon,ring:r.ring.concat(o.ring)},t[o.index]=null,t.push(l[r.ring[0]]=u[r.ring[r.ring.length-1]]=r)):(r.ring.push(r.ring[0]),r.polygon.push(r.ring))}}function _i(t){var e={type:"Feature",geometry:wi(t.geometry)};return null!=t.id&&(e.id=t.id),null!=t.bbox&&(e.bbox=t.bbox),null!=t.properties&&(e.properties=t.properties),e}function wi(t){if(null==t)return t;var e,r,n,i;switch(t.type){case"GeometryCollection":e={type:"GeometryCollection",geometries:t.geometries.map(wi)};break;case"Point":e={type:"Point",coordinates:yi(t.coordinates)};break;case"MultiPoint":case"LineString":e={type:t.type,coordinates:mi(t.coordinates)};break;case"MultiLineString":e={type:"MultiLineString",coordinates:t.coordinates.map(mi)};break;case"Polygon":var a=[];xi(t.coordinates,a,r=[]),bi(r),e={type:"Polygon",coordinates:a};break;case"MultiPolygon":r=[],n=-1,i=t.coordinates.length;for(var o=new Array(i);++n<i;)xi(t.coordinates[n],o[n]=[],r);bi(r),e={type:"MultiPolygon",coordinates:o.filter(vi)};break;default:return t}return null!=t.bbox&&(e.bbox=t.bbox),e}function Ti(t){if(null==t)return t;switch(t.type){case"Feature":return _i(t);case"FeatureCollection":var e={type:"FeatureCollection",features:t.features.map(_i)};return null!=t.bbox&&(e.bbox=t.bbox),e;default:return wi(t)}}function ki(t,e){var r=y(e/2),n=g(w*r);return[t*(.74482-.34588*n*n),1.70711*r]}function Ai(){return(0,n.Z)(ki).scale(146.153)}function Mi(t,e,r){var i=(0,An.Z)(e,r),a=i(.5),o=(0,_t.Z)([-a[0],-a[1]])(e),s=i.distance/2,l=-L(g(o[1]*E)/g(s)),u=[-a[0],-a[1],-(o[0]>0?b-l:l)*S],c=(0,n.Z)(t(s)).rotate(u),f=(0,_t.Z)(u),h=c.center;return delete c.rotate,c.center=function(t){return arguments.length?h(f(t)):f.invert(h())},c.clipAngle(90)}function Si(t){var e=s(t);function r(t,r){var n=(0,In.M)(t,r);return n[0]*=e,n}return r.invert=function(t,r){return In.M.invert(t/e,r)},r}function Ei(){return Li([-158,21.5],[-77,39]).clipAngle(60).scale(400)}function Li(t,e){return Mi(Si,t,e)}function Ci(t){if(!(t*=2))return Z.N;var e=-t/2,r=-e,n=t*t,i=y(r),a=.5/g(r);function l(i,a){var o=C(s(a)*s(i-e)),l=C(s(a)*s(i-r));return[((o*=o)-(l*=l))/(2*t),(a<0?-1:1)*P(4*n*l-(n-o+l)*(n-o+l))/(2*t)]}return l.invert=function(t,n){var l,u,c=n*n,f=s(P(c+(l=t+e)*l)),h=s(P(c+(l=t+r)*l));return[o(u=f-h,l=(f+h)*i),(n<0?-1:1)*C(P(l*l+u*u)*a)]},l}function Pi(){return Oi([-158,21.5],[-77,39]).clipAngle(130).scale(122.571)}function Oi(t,e){return Mi(Ci,t,e)}function Ii(t,e){if(i(e)<m)return[t,0];var r=i(e/_),n=L(r);if(i(t)<m||i(i(e)-_)<m)return[0,v(e)*b*y(n/2)];var a=s(n),o=i(b/t-t/b)/2,l=o*o,u=a/(r+a-1),c=u*(2/r-1),f=c*c,h=f+l,p=u-f,d=l+u;return[v(t)*b*(o*p+P(l*p*p-h*(u*u-f)))/h,v(e)*b*(c*d-o*P((l+1)*h-d*d))/h]}function Di(){return(0,n.Z)(Ii).scale(79.4183)}function zi(t,e){if(i(e)<m)return[t,0];var r=i(e/_),n=L(r);if(i(t)<m||i(i(e)-_)<m)return[0,v(e)*b*y(n/2)];var a=s(n),o=i(b/t-t/b)/2,l=o*o,u=a*(P(1+l)-o*a)/(1+l*r*r);return[v(t)*b*u,v(e)*b*P(1-u*(2*o+u))]}function Ri(){return(0,n.Z)(zi).scale(79.4183)}function Fi(t,e){if(i(e)<m)return[t,0];var r=e/_,n=L(r);if(i(t)<m||i(i(e)-_)<m)return[0,b*y(n/2)];var a=(b/t-t/b)/2,o=r/(1+s(n));return[b*(v(t)*P(a*a+1-o*o)-a),b*o]}function Bi(){return(0,n.Z)(Fi).scale(79.4183)}function Ni(t,e){if(!e)return[t,0];var r=i(e);if(!t||r===_)return[0,e];var n=r/_,a=n*n,o=(8*n-a*(a+2)-5)/(2*a*(n-1)),s=o*o,l=n*o,u=a+s+2*l,c=n+3*o,f=t/_,h=f+1/f,p=v(i(t)-_)*P(h*h-4),d=p*p,g=(p*(u+s-1)+2*P(u*(a+s*d-1)+(1-a)*(a*(c*c+4*s)+12*l*s+4*s*s)))/(4*u+d);return[v(t)*_*g,v(e)*_*P(1+p*i(g)-g*g)]}function ji(){return(0,n.Z)(Ni).scale(127.16)}function Ui(t,e,r,n){var i=b/3;t=f(t,m),e=f(e,m),t=h(t,_),e=h(e,b-m),r=f(r,0),r=h(r,99.999999);var a=(n=f(n,m))/100,l=C((r/100+1)*s(i))/i,u=g(t)/g(l*_),c=e/b,p=P(a*g(t/2)/g(e/2));return function(t,e,r,n,i){function a(a,o){var l=r*g(n*o),u=P(1-l*l),c=P(2/(1+u*s(a*=i)));return[t*u*c*g(a),e*l*c]}return a.invert=function(a,s){var l=a/t,u=s/e,c=P(l*l+u*u),f=2*L(c/2);return[o(a*y(f),t*c)/i,c&&L(s*g(f)/(e*r*c))/n]},a}(p/P(c*u*l),1/(p*P(c*u*l)),u,l,c)}function Vi(){var t=65*E,e=60*E,r=20,i=200,a=(0,n.r)(Ui),o=a(t,e,r,i);return o.poleline=function(n){return arguments.length?a(t=+n*E,e,r,i):t*S},o.parallels=function(n){return arguments.length?a(t,e=+n*E,r,i):e*S},o.inflation=function(n){return arguments.length?a(t,e,r=+n,i):r},o.ratio=function(n){return arguments.length?a(t,e,r,i=+n):i},o.scale(163.775)}function Hi(){return Vi().poleline(65).parallels(60).inflation(0).ratio(200).scale(172.633)}ki.invert=function(t,e){var r=e/1.70711,n=g(w*r);return[t/(.74482-.34588*n*n),2*a(r)]},Ii.invert=function(t,e){if(i(e)<m)return[t,0];if(i(t)<m)return[0,_*g(2*a(e/b))];var r=(t/=b)*t,n=(e/=b)*e,o=r+n,l=o*o,u=-i(e)*(1+o),c=u-2*n+r,f=-2*u+1+2*n+l,h=n/f+(2*c*c*c/(f*f*f)-9*u*c/(f*f))/27,p=(u-c*c/(3*f))/f,d=2*P(-p/3),y=C(3*h/(p*d))/3;return[b*(o-1+P(1+2*(r-n)+l))/(2*t),v(e)*b*(-d*s(y+b/3)-c/(3*f))]},zi.invert=function(t,e){if(!t)return[0,_*g(2*a(e/b))];var r=i(t/b),n=(1-r*r-(e/=b)*e)/(2*r),s=P(n*n+1);return[v(t)*b*(s-n),v(e)*_*g(2*o(P((1-2*n*r)*(n+s)-r),P(s+n+r)))]},Fi.invert=function(t,e){if(!e)return[t,0];var r=e/b,n=(b*b*(1-r*r)-t*t)/(2*b*t);return[t?b*(v(t)*P(n*n+1)-n):0,_*g(2*a(r))]},Ni.invert=function(t,e){var r;if(!t||!e)return[t,e];e/=b;var n=v(t)*t/_,a=(n*n-1+4*e*e)/i(n),o=a*a,s=2*e,l=50;do{var u=s*s,c=(8*s-u*(u+2)-5)/(2*u*(s-1)),f=(3*s-u*s-10)/(2*u*s),h=c*c,p=s*c,d=s+c,g=d*d,y=s+3*c,x=-2*d*(4*p*h+(1-4*u+3*u*u)*(1+f)+h*(14*u-6-o+(8*u-8-2*o)*f)+p*(12*u-8+(10*u-10-o)*f)),w=P(g*(u+h*o-1)+(1-u)*(u*(y*y+4*h)+h*(12*p+4*h)));s-=r=(a*(g+h-1)+2*w-n*(4*g+o))/(a*(2*c*f+2*d*(1+f))+x/w-8*d*(a*(-1+h+g)+2*w)*(1+f)/(o+4*g))}while(r>m&&--l>0);return[v(t)*(P(a*a+4)+a)*b/4,_*s]};var qi=4*b+3*P(3),Gi=2*P(2*b*P(3)/qi),Zi=it(Gi*P(3)/b,Gi,qi/6);function Yi(){return(0,n.Z)(Zi).scale(176.84)}function Wi(t,e){return[t*P(1-3*e*e/(b*b)),e]}function Xi(){return(0,n.Z)(Wi).scale(152.63)}function Ji(t,e){var r=s(e),n=s(t)*r,i=1-n,a=s(t=o(g(t)*r,-g(e))),l=g(t);return[l*(r=P(1-n*n))-a*i,-a*r-l*i]}function Ki(){return(0,n.Z)(Ji).rotate([0,-90,45]).scale(124.75).clipAngle(179.999)}function $i(t,e){var r=R(t,e);return[(r[0]+t/_)/2,(r[1]+e)/2]}function Qi(){return(0,n.Z)($i).scale(158.837)}Wi.invert=function(t,e){return[t/P(1-3*e*e/(b*b)),e]},Ji.invert=function(t,e){var r=(t*t+e*e)/-2,n=P(-r*(2+r)),i=e*r+t*n,a=t*r-e*n,s=P(a*a+i*i);return[o(n*i,s*(1+r)),s?-L(n*a/s):0]},$i.invert=function(t,e){var r=t,n=e,a=25;do{var o,l=s(n),u=g(n),c=g(2*n),f=u*u,h=l*l,p=g(r),d=s(r/2),v=g(r/2),y=v*v,x=1-h*d*d,b=x?C(l*d)*P(o=1/x):o=0,w=.5*(2*b*l*v+r/_)-t,T=.5*(b*u+n)-e,k=.5*o*(h*y+b*l*d*f)+.5/_,A=o*(p*c/4-b*u*v),M=.125*o*(c*v-b*u*h*p),S=.5*o*(f*d+b*y*l)+.5,E=A*M-S*k,L=(T*A-w*S)/E,O=(w*M-T*k)/E;r-=L,n-=O}while((i(L)>m||i(O)>m)&&--a>0);return[r,n]}},33940:function(t,e,r){"use strict";function n(){return new i}function i(){this.reset()}r.d(e,{Z:function(){return n}}),i.prototype={constructor:i,reset:function(){this.s=this.t=0},add:function(t){o(a,t,this.t),o(this,a.s,this.s),this.s?this.t+=a.t:this.s=a.t},valueOf:function(){return this.s}};var a=new i;function o(t,e,r){var n=t.s=e+r,i=n-e,a=n-i;t.t=e-a+(r-i)}},97860:function(t,e,r){"use strict";r.d(e,{L9:function(){return h},ZP:function(){return x},gL:function(){return d}});var n,i,a,o,s,l=r(33940),u=r(39695),c=r(73182),f=r(72736),h=(0,l.Z)(),p=(0,l.Z)(),d={point:c.Z,lineStart:c.Z,lineEnd:c.Z,polygonStart:function(){h.reset(),d.lineStart=v,d.lineEnd=g},polygonEnd:function(){var t=+h;p.add(t<0?u.BZ+t:t),this.lineStart=this.lineEnd=this.point=c.Z},sphere:function(){p.add(u.BZ)}};function v(){d.point=y}function g(){m(n,i)}function y(t,e){d.point=m,n=t,i=e,t*=u.uR,e*=u.uR,a=t,o=(0,u.mC)(e=e/2+u.pu),s=(0,u.O$)(e)}function m(t,e){t*=u.uR,e=(e*=u.uR)/2+u.pu;var r=t-a,n=r>=0?1:-1,i=n*r,l=(0,u.mC)(e),c=(0,u.O$)(e),f=s*c,p=o*l+f*(0,u.mC)(i),d=f*n*(0,u.O$)(i);h.add((0,u.fv)(d,p)),a=t,o=l,s=c}function x(t){return p.reset(),(0,f.Z)(t,d),2*p}},77338:function(t,e,r){"use strict";r.d(e,{Z:function(){return C}});var n,i,a,o,s,l,u,c,f,h,p=r(33940),d=r(97860),v=r(7620),g=r(39695),y=r(72736),m=(0,p.Z)(),x={point:b,lineStart:w,lineEnd:T,polygonStart:function(){x.point=k,x.lineStart=A,x.lineEnd=M,m.reset(),d.gL.polygonStart()},polygonEnd:function(){d.gL.polygonEnd(),x.point=b,x.lineStart=w,x.lineEnd=T,d.L9<0?(n=-(a=180),i=-(o=90)):m>g.Ho?o=90:m<-g.Ho&&(i=-90),h[0]=n,h[1]=a},sphere:function(){n=-(a=180),i=-(o=90)}};function b(t,e){f.push(h=[n=t,a=t]),e<i&&(i=e),e>o&&(o=e)}function _(t,e){var r=(0,v.Og)([t*g.uR,e*g.uR]);if(c){var l=(0,v.T5)(c,r),u=[l[1],-l[0],0],p=(0,v.T5)(u,l);(0,v.iJ)(p),p=(0,v.Y1)(p);var d,y=t-s,m=y>0?1:-1,x=p[0]*g.RW*m,b=(0,g.Wn)(y)>180;b^(m*s<x&&x<m*t)?(d=p[1]*g.RW)>o&&(o=d):b^(m*s<(x=(x+360)%360-180)&&x<m*t)?(d=-p[1]*g.RW)<i&&(i=d):(e<i&&(i=e),e>o&&(o=e)),b?t<s?S(n,t)>S(n,a)&&(a=t):S(t,a)>S(n,a)&&(n=t):a>=n?(t<n&&(n=t),t>a&&(a=t)):t>s?S(n,t)>S(n,a)&&(a=t):S(t,a)>S(n,a)&&(n=t)}else f.push(h=[n=t,a=t]);e<i&&(i=e),e>o&&(o=e),c=r,s=t}function w(){x.point=_}function T(){h[0]=n,h[1]=a,x.point=b,c=null}function k(t,e){if(c){var r=t-s;m.add((0,g.Wn)(r)>180?r+(r>0?360:-360):r)}else l=t,u=e;d.gL.point(t,e),_(t,e)}function A(){d.gL.lineStart()}function M(){k(l,u),d.gL.lineEnd(),(0,g.Wn)(m)>g.Ho&&(n=-(a=180)),h[0]=n,h[1]=a,c=null}function S(t,e){return(e-=t)<0?e+360:e}function E(t,e){return t[0]-e[0]}function L(t,e){return t[0]<=t[1]?t[0]<=e&&e<=t[1]:e<t[0]||t[1]<e}function C(t){var e,r,s,l,u,c,p;if(o=a=-(n=i=1/0),f=[],(0,y.Z)(t,x),r=f.length){for(f.sort(E),e=1,u=[s=f[0]];e<r;++e)L(s,(l=f[e])[0])||L(s,l[1])?(S(s[0],l[1])>S(s[0],s[1])&&(s[1]=l[1]),S(l[0],s[1])>S(s[0],s[1])&&(s[0]=l[0])):u.push(s=l);for(c=-1/0,e=0,s=u[r=u.length-1];e<=r;s=l,++e)l=u[e],(p=S(s[1],l[0]))>c&&(c=p,n=l[0],a=s[1])}return f=h=null,n===1/0||i===1/0?[[NaN,NaN],[NaN,NaN]]:[[n,i],[a,o]]}},7620:function(t,e,r){"use strict";r.d(e,{Og:function(){return a},T:function(){return u},T5:function(){return s},Y1:function(){return i},iJ:function(){return c},j9:function(){return o},s0:function(){return l}});var n=r(39695);function i(t){return[(0,n.fv)(t[1],t[0]),(0,n.ZR)(t[2])]}function a(t){var e=t[0],r=t[1],i=(0,n.mC)(r);return[i*(0,n.mC)(e),i*(0,n.O$)(e),(0,n.O$)(r)]}function o(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}function s(t,e){return[t[1]*e[2]-t[2]*e[1],t[2]*e[0]-t[0]*e[2],t[0]*e[1]-t[1]*e[0]]}function l(t,e){t[0]+=e[0],t[1]+=e[1],t[2]+=e[2]}function u(t,e){return[t[0]*e,t[1]*e,t[2]*e]}function c(t){var e=(0,n._b)(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]);t[0]/=e,t[1]/=e,t[2]/=e}},66624:function(t,e,r){"use strict";r.d(e,{Z:function(){return I}});var n,i,a,o,s,l,u,c,f,h,p,d,v,g,y,m,x=r(39695),b=r(73182),_=r(72736),w={sphere:b.Z,point:T,lineStart:A,lineEnd:E,polygonStart:function(){w.lineStart=L,w.lineEnd=C},polygonEnd:function(){w.lineStart=A,w.lineEnd=E}};function T(t,e){t*=x.uR,e*=x.uR;var r=(0,x.mC)(e);k(r*(0,x.mC)(t),r*(0,x.O$)(t),(0,x.O$)(e))}function k(t,e,r){++n,a+=(t-a)/n,o+=(e-o)/n,s+=(r-s)/n}function A(){w.point=M}function M(t,e){t*=x.uR,e*=x.uR;var r=(0,x.mC)(e);g=r*(0,x.mC)(t),y=r*(0,x.O$)(t),m=(0,x.O$)(e),w.point=S,k(g,y,m)}function S(t,e){t*=x.uR,e*=x.uR;var r=(0,x.mC)(e),n=r*(0,x.mC)(t),a=r*(0,x.O$)(t),o=(0,x.O$)(e),s=(0,x.fv)((0,x._b)((s=y*o-m*a)*s+(s=m*n-g*o)*s+(s=g*a-y*n)*s),g*n+y*a+m*o);i+=s,l+=s*(g+(g=n)),u+=s*(y+(y=a)),c+=s*(m+(m=o)),k(g,y,m)}function E(){w.point=T}function L(){w.point=P}function C(){O(d,v),w.point=T}function P(t,e){d=t,v=e,t*=x.uR,e*=x.uR,w.point=O;var r=(0,x.mC)(e);g=r*(0,x.mC)(t),y=r*(0,x.O$)(t),m=(0,x.O$)(e),k(g,y,m)}function O(t,e){t*=x.uR,e*=x.uR;var r=(0,x.mC)(e),n=r*(0,x.mC)(t),a=r*(0,x.O$)(t),o=(0,x.O$)(e),s=y*o-m*a,d=m*n-g*o,v=g*a-y*n,b=(0,x._b)(s*s+d*d+v*v),_=(0,x.ZR)(b),w=b&&-_/b;f+=w*s,h+=w*d,p+=w*v,i+=_,l+=_*(g+(g=n)),u+=_*(y+(y=a)),c+=_*(m+(m=o)),k(g,y,m)}function I(t){n=i=a=o=s=l=u=c=f=h=p=0,(0,_.Z)(t,w);var e=f,r=h,d=p,v=e*e+r*r+d*d;return v<x.aW&&(e=l,r=u,d=c,i<x.Ho&&(e=a,r=o,d=s),(v=e*e+r*r+d*d)<x.aW)?[NaN,NaN]:[(0,x.fv)(r,e)*x.RW,(0,x.ZR)(d/(0,x._b)(v))*x.RW]}},7613:function(t,e,r){"use strict";r.d(e,{m:function(){return s},Z:function(){return u}});var n=r(7620);function i(t){return function(){return t}}var a=r(39695),o=r(49386);function s(t,e,r,i,o,s){if(r){var u=(0,a.mC)(e),c=(0,a.O$)(e),f=i*r;null==o?(o=e+i*a.BZ,s=e-f/2):(o=l(u,o),s=l(u,s),(i>0?o<s:o>s)&&(o+=i*a.BZ));for(var h,p=o;i>0?p>s:p<s;p-=f)h=(0,n.Y1)([u,-c*(0,a.mC)(p),-c*(0,a.O$)(p)]),t.point(h[0],h[1])}}function l(t,e){(e=(0,n.Og)(e))[0]-=t,(0,n.iJ)(e);var r=(0,a.Kh)(-e[1]);return((-e[2]<0?-r:r)+a.BZ-a.Ho)%a.BZ}function u(){var t,e,r=i([0,0]),n=i(90),l=i(6),u={point:function(r,n){t.push(r=e(r,n)),r[0]*=a.RW,r[1]*=a.RW}};function c(){var i=r.apply(this,arguments),c=n.apply(this,arguments)*a.uR,f=l.apply(this,arguments)*a.uR;return t=[],e=(0,o.I)(-i[0]*a.uR,-i[1]*a.uR,0).invert,s(u,c,f,1),i={type:"Polygon",coordinates:[t]},t=e=null,i}return c.center=function(t){return arguments.length?(r="function"==typeof t?t:i([+t[0],+t[1]]),c):r},c.radius=function(t){return arguments.length?(n="function"==typeof t?t:i(+t),c):n},c.precision=function(t){return arguments.length?(l="function"==typeof t?t:i(+t),c):l},c}},87070:function(t,e,r){"use strict";var n=r(97023),i=r(39695);e.Z=(0,n.Z)((function(){return!0}),(function(t){var e,r=NaN,n=NaN,a=NaN;return{lineStart:function(){t.lineStart(),e=1},point:function(o,s){var l=o>0?i.pi:-i.pi,u=(0,i.Wn)(o-r);(0,i.Wn)(u-i.pi)<i.Ho?(t.point(r,n=(n+s)/2>0?i.ou:-i.ou),t.point(a,n),t.lineEnd(),t.lineStart(),t.point(l,n),t.point(o,n),e=0):a!==l&&u>=i.pi&&((0,i.Wn)(r-a)<i.Ho&&(r-=a*i.Ho),(0,i.Wn)(o-l)<i.Ho&&(o-=l*i.Ho),n=function(t,e,r,n){var a,o,s=(0,i.O$)(t-r);return(0,i.Wn)(s)>i.Ho?(0,i.z4)(((0,i.O$)(e)*(o=(0,i.mC)(n))*(0,i.O$)(r)-(0,i.O$)(n)*(a=(0,i.mC)(e))*(0,i.O$)(t))/(a*o*s)):(e+n)/2}(r,n,o,s),t.point(a,n),t.lineEnd(),t.lineStart(),t.point(l,n),e=0),t.point(r=o,n=s),a=l},lineEnd:function(){t.lineEnd(),r=n=NaN},clean:function(){return 2-e}}}),(function(t,e,r,n){var a;if(null==t)a=r*i.ou,n.point(-i.pi,a),n.point(0,a),n.point(i.pi,a),n.point(i.pi,0),n.point(i.pi,-a),n.point(0,-a),n.point(-i.pi,-a),n.point(-i.pi,0),n.point(-i.pi,a);else if((0,i.Wn)(t[0]-e[0])>i.Ho){var o=t[0]<e[0]?i.pi:-i.pi;a=r*o/2,n.point(-o,a),n.point(0,a),n.point(o,a)}else n.point(e[0],e[1])}),[-i.pi,-i.ou])},85272:function(t,e,r){"use strict";r.d(e,{Z:function(){return i}});var n=r(73182);function i(){var t,e=[];return{point:function(e,r,n){t.push([e,r,n])},lineStart:function(){e.push(t=[])},lineEnd:n.Z,rejoin:function(){e.length>1&&e.push(e.pop().concat(e.shift()))},result:function(){var r=e;return e=[],t=null,r}}}},1457:function(t,e,r){"use strict";r.d(e,{Z:function(){return l}});var n=r(7620),i=r(7613),a=r(39695),o=r(67108),s=r(97023);function l(t){var e=(0,a.mC)(t),r=6*a.uR,l=e>0,u=(0,a.Wn)(e)>a.Ho;function c(t,r){return(0,a.mC)(t)*(0,a.mC)(r)>e}function f(t,r,i){var o=(0,n.Og)(t),s=(0,n.Og)(r),l=[1,0,0],u=(0,n.T5)(o,s),c=(0,n.j9)(u,u),f=u[0],h=c-f*f;if(!h)return!i&&t;var p=e*c/h,d=-e*f/h,v=(0,n.T5)(l,u),g=(0,n.T)(l,p),y=(0,n.T)(u,d);(0,n.s0)(g,y);var m=v,x=(0,n.j9)(g,m),b=(0,n.j9)(m,m),_=x*x-b*((0,n.j9)(g,g)-1);if(!(_<0)){var w=(0,a._b)(_),T=(0,n.T)(m,(-x-w)/b);if((0,n.s0)(T,g),T=(0,n.Y1)(T),!i)return T;var k,A=t[0],M=r[0],S=t[1],E=r[1];M<A&&(k=A,A=M,M=k);var L=M-A,C=(0,a.Wn)(L-a.pi)<a.Ho;if(!C&&E<S&&(k=S,S=E,E=k),C||L<a.Ho?C?S+E>0^T[1]<((0,a.Wn)(T[0]-A)<a.Ho?S:E):S<=T[1]&&T[1]<=E:L>a.pi^(A<=T[0]&&T[0]<=M)){var P=(0,n.T)(m,(-x+w)/b);return(0,n.s0)(P,g),[T,(0,n.Y1)(P)]}}}function h(e,r){var n=l?t:a.pi-t,i=0;return e<-n?i|=1:e>n&&(i|=2),r<-n?i|=4:r>n&&(i|=8),i}return(0,s.Z)(c,(function(t){var e,r,n,i,s;return{lineStart:function(){i=n=!1,s=1},point:function(p,d){var v,g=[p,d],y=c(p,d),m=l?y?0:h(p,d):y?h(p+(p<0?a.pi:-a.pi),d):0;if(!e&&(i=n=y)&&t.lineStart(),y!==n&&(!(v=f(e,g))||(0,o.Z)(e,v)||(0,o.Z)(g,v))&&(g[2]=1),y!==n)s=0,y?(t.lineStart(),v=f(g,e),t.point(v[0],v[1])):(v=f(e,g),t.point(v[0],v[1],2),t.lineEnd()),e=v;else if(u&&e&&l^y){var x;m&r||!(x=f(g,e,!0))||(s=0,l?(t.lineStart(),t.point(x[0][0],x[0][1]),t.point(x[1][0],x[1][1]),t.lineEnd()):(t.point(x[1][0],x[1][1]),t.lineEnd(),t.lineStart(),t.point(x[0][0],x[0][1],3)))}!y||e&&(0,o.Z)(e,g)||t.point(g[0],g[1]),e=g,n=y,r=m},lineEnd:function(){n&&t.lineEnd(),e=null},clean:function(){return s|(i&&n)<<1}}}),(function(e,n,a,o){(0,i.m)(o,t,r,a,e,n)}),l?[0,-t]:[-a.pi,t-a.pi])}},97023:function(t,e,r){"use strict";r.d(e,{Z:function(){return l}});var n=r(85272),i=r(46225),a=r(39695),o=r(23071),s=r(33064);function l(t,e,r,a){return function(l){var f,h,p,d=e(l),v=(0,n.Z)(),g=e(v),y=!1,m={point:x,lineStart:_,lineEnd:w,polygonStart:function(){m.point=T,m.lineStart=k,m.lineEnd=A,h=[],f=[]},polygonEnd:function(){m.point=x,m.lineStart=_,m.lineEnd=w,h=(0,s.TS)(h);var t=(0,o.Z)(f,a);h.length?(y||(l.polygonStart(),y=!0),(0,i.Z)(h,c,t,r,l)):t&&(y||(l.polygonStart(),y=!0),l.lineStart(),r(null,null,1,l),l.lineEnd()),y&&(l.polygonEnd(),y=!1),h=f=null},sphere:function(){l.polygonStart(),l.lineStart(),r(null,null,1,l),l.lineEnd(),l.polygonEnd()}};function x(e,r){t(e,r)&&l.point(e,r)}function b(t,e){d.point(t,e)}function _(){m.point=b,d.lineStart()}function w(){m.point=x,d.lineEnd()}function T(t,e){p.push([t,e]),g.point(t,e)}function k(){g.lineStart(),p=[]}function A(){T(p[0][0],p[0][1]),g.lineEnd();var t,e,r,n,i=g.clean(),a=v.result(),o=a.length;if(p.pop(),f.push(p),p=null,o)if(1&i){if((e=(r=a[0]).length-1)>0){for(y||(l.polygonStart(),y=!0),l.lineStart(),t=0;t<e;++t)l.point((n=r[t])[0],n[1]);l.lineEnd()}}else o>1&&2&i&&a.push(a.pop().concat(a.shift())),h.push(a.filter(u))}return m}}function u(t){return t.length>1}function c(t,e){return((t=t.x)[0]<0?t[1]-a.ou-a.Ho:a.ou-t[1])-((e=e.x)[0]<0?e[1]-a.ou-a.Ho:a.ou-e[1])}},87605:function(t,e,r){"use strict";r.d(e,{Z:function(){return u}});var n=r(39695),i=r(85272),a=r(46225),o=r(33064),s=1e9,l=-s;function u(t,e,r,u){function c(n,i){return t<=n&&n<=r&&e<=i&&i<=u}function f(n,i,a,o){var s=0,l=0;if(null==n||(s=h(n,a))!==(l=h(i,a))||d(n,i)<0^a>0)do{o.point(0===s||3===s?t:r,s>1?u:e)}while((s=(s+a+4)%4)!==l);else o.point(i[0],i[1])}function h(i,a){return(0,n.Wn)(i[0]-t)<n.Ho?a>0?0:3:(0,n.Wn)(i[0]-r)<n.Ho?a>0?2:1:(0,n.Wn)(i[1]-e)<n.Ho?a>0?1:0:a>0?3:2}function p(t,e){return d(t.x,e.x)}function d(t,e){var r=h(t,1),n=h(e,1);return r!==n?r-n:0===r?e[1]-t[1]:1===r?t[0]-e[0]:2===r?t[1]-e[1]:e[0]-t[0]}return function(n){var h,d,v,g,y,m,x,b,_,w,T,k=n,A=(0,i.Z)(),M={point:S,lineStart:function(){M.point=E,d&&d.push(v=[]),w=!0,_=!1,x=b=NaN},lineEnd:function(){h&&(E(g,y),m&&_&&A.rejoin(),h.push(A.result())),M.point=S,_&&k.lineEnd()},polygonStart:function(){k=A,h=[],d=[],T=!0},polygonEnd:function(){var e=function(){for(var e=0,r=0,n=d.length;r<n;++r)for(var i,a,o=d[r],s=1,l=o.length,c=o[0],f=c[0],h=c[1];s<l;++s)i=f,a=h,f=(c=o[s])[0],h=c[1],a<=u?h>u&&(f-i)*(u-a)>(h-a)*(t-i)&&++e:h<=u&&(f-i)*(u-a)<(h-a)*(t-i)&&--e;return e}(),r=T&&e,i=(h=(0,o.TS)(h)).length;(r||i)&&(n.polygonStart(),r&&(n.lineStart(),f(null,null,1,n),n.lineEnd()),i&&(0,a.Z)(h,p,e,f,n),n.polygonEnd()),k=n,h=d=v=null}};function S(t,e){c(t,e)&&k.point(t,e)}function E(n,i){var a=c(n,i);if(d&&v.push([n,i]),w)g=n,y=i,m=a,w=!1,a&&(k.lineStart(),k.point(n,i));else if(a&&_)k.point(n,i);else{var o=[x=Math.max(l,Math.min(s,x)),b=Math.max(l,Math.min(s,b))],f=[n=Math.max(l,Math.min(s,n)),i=Math.max(l,Math.min(s,i))];!function(t,e,r,n,i,a){var o,s=t[0],l=t[1],u=0,c=1,f=e[0]-s,h=e[1]-l;if(o=r-s,f||!(o>0)){if(o/=f,f<0){if(o<u)return;o<c&&(c=o)}else if(f>0){if(o>c)return;o>u&&(u=o)}if(o=i-s,f||!(o<0)){if(o/=f,f<0){if(o>c)return;o>u&&(u=o)}else if(f>0){if(o<u)return;o<c&&(c=o)}if(o=n-l,h||!(o>0)){if(o/=h,h<0){if(o<u)return;o<c&&(c=o)}else if(h>0){if(o>c)return;o>u&&(u=o)}if(o=a-l,h||!(o<0)){if(o/=h,h<0){if(o>c)return;o>u&&(u=o)}else if(h>0){if(o<u)return;o<c&&(c=o)}return u>0&&(t[0]=s+u*f,t[1]=l+u*h),c<1&&(e[0]=s+c*f,e[1]=l+c*h),!0}}}}}(o,f,t,e,r,u)?a&&(k.lineStart(),k.point(n,i),T=!1):(_||(k.lineStart(),k.point(o[0],o[1])),k.point(f[0],f[1]),a||k.lineEnd(),T=!1)}x=n,b=i,_=a}return M}}},46225:function(t,e,r){"use strict";r.d(e,{Z:function(){return o}});var n=r(67108),i=r(39695);function a(t,e,r,n){this.x=t,this.z=e,this.o=r,this.e=n,this.v=!1,this.n=this.p=null}function o(t,e,r,o,l){var u,c,f=[],h=[];if(t.forEach((function(t){if(!((e=t.length-1)<=0)){var e,r,o=t[0],s=t[e];if((0,n.Z)(o,s)){if(!o[2]&&!s[2]){for(l.lineStart(),u=0;u<e;++u)l.point((o=t[u])[0],o[1]);return void l.lineEnd()}s[0]+=2*i.Ho}f.push(r=new a(o,t,null,!0)),h.push(r.o=new a(o,null,r,!1)),f.push(r=new a(s,t,null,!1)),h.push(r.o=new a(s,null,r,!0))}})),f.length){for(h.sort(e),s(f),s(h),u=0,c=h.length;u<c;++u)h[u].e=r=!r;for(var p,d,v=f[0];;){for(var g=v,y=!0;g.v;)if((g=g.n)===v)return;p=g.z,l.lineStart();do{if(g.v=g.o.v=!0,g.e){if(y)for(u=0,c=p.length;u<c;++u)l.point((d=p[u])[0],d[1]);else o(g.x,g.n.x,1,l);g=g.n}else{if(y)for(p=g.p.z,u=p.length-1;u>=0;--u)l.point((d=p[u])[0],d[1]);else o(g.x,g.p.x,-1,l);g=g.p}p=(g=g.o).z,y=!y}while(!g.v);l.lineEnd()}}}function s(t){if(e=t.length){for(var e,r,n=0,i=t[0];++n<e;)i.n=r=t[n],r.p=i,i=r;i.n=r=t[0],r.p=i}}},96059:function(t,e,r){"use strict";function n(t,e){function r(r,n){return r=t(r,n),e(r[0],r[1])}return t.invert&&e.invert&&(r.invert=function(r,n){return(r=e.invert(r,n))&&t.invert(r[0],r[1])}),r}r.d(e,{Z:function(){return n}})},8593:function(t,e,r){"use strict";function n(t){return t}r.d(e,{Z:function(){return n}})},27362:function(t,e,r){"use strict";r.r(e),r.d(e,{geoAlbers:function(){return Gt},geoAlbersUsa:function(){return Yt},geoArea:function(){return n.ZP},geoAzimuthalEqualArea:function(){return Wt.Z},geoAzimuthalEqualAreaRaw:function(){return Wt.l},geoAzimuthalEquidistant:function(){return Xt.Z},geoAzimuthalEquidistantRaw:function(){return Xt.N},geoBounds:function(){return i.Z},geoCentroid:function(){return a.Z},geoCircle:function(){return o.Z},geoClipAntimeridian:function(){return s.Z},geoClipCircle:function(){return l.Z},geoClipExtent:function(){return c},geoClipRectangle:function(){return u.Z},geoConicConformal:function(){return re},geoConicConformalRaw:function(){return ee},geoConicEqualArea:function(){return qt},geoConicEqualAreaRaw:function(){return Ht},geoConicEquidistant:function(){return ae},geoConicEquidistantRaw:function(){return ie},geoContains:function(){return R},geoDistance:function(){return S},geoEqualEarth:function(){return he},geoEqualEarthRaw:function(){return fe},geoEquirectangular:function(){return ne.Z},geoEquirectangularRaw:function(){return ne.k},geoGnomonic:function(){return pe.Z},geoGnomonicRaw:function(){return pe.M},geoGraticule:function(){return j},geoGraticule10:function(){return U},geoIdentity:function(){return ve},geoInterpolate:function(){return Z.Z},geoLength:function(){return k},geoMercator:function(){return $t},geoMercatorRaw:function(){return Kt},geoNaturalEarth1:function(){return ge.Z},geoNaturalEarth1Raw:function(){return ge.K},geoOrthographic:function(){return ye.Z},geoOrthographicRaw:function(){return ye.I},geoPath:function(){return jt},geoProjection:function(){return Ut.Z},geoProjectionMutator:function(){return Ut.r},geoRotation:function(){return Jt.Z},geoStereographic:function(){return be},geoStereographicRaw:function(){return xe},geoStream:function(){return m.Z},geoTransform:function(){return de.Z},geoTransverseMercator:function(){return we},geoTransverseMercatorRaw:function(){return _e}});var n=r(97860),i=r(77338),a=r(66624),o=r(7613),s=r(87070),l=r(1457),u=r(87605);function c(){var t,e,r,n=0,i=0,a=960,o=500;return r={stream:function(r){return t&&e===r?t:t=(0,u.Z)(n,i,a,o)(e=r)},extent:function(s){return arguments.length?(n=+s[0][0],i=+s[0][1],a=+s[1][0],o=+s[1][1],t=e=null,r):[[n,i],[a,o]]}}}var f,h,p,d=r(23071),v=r(33940),g=r(39695),y=r(73182),m=r(72736),x=(0,v.Z)(),b={sphere:y.Z,point:y.Z,lineStart:function(){b.point=w,b.lineEnd=_},lineEnd:y.Z,polygonStart:y.Z,polygonEnd:y.Z};function _(){b.point=b.lineEnd=y.Z}function w(t,e){t*=g.uR,e*=g.uR,f=t,h=(0,g.O$)(e),p=(0,g.mC)(e),b.point=T}function T(t,e){t*=g.uR,e*=g.uR;var r=(0,g.O$)(e),n=(0,g.mC)(e),i=(0,g.Wn)(t-f),a=(0,g.mC)(i),o=n*(0,g.O$)(i),s=p*r-h*n*a,l=h*r+p*n*a;x.add((0,g.fv)((0,g._b)(o*o+s*s),l)),f=t,h=r,p=n}function k(t){return x.reset(),(0,m.Z)(t,b),+x}var A=[null,null],M={type:"LineString",coordinates:A};function S(t,e){return A[0]=t,A[1]=e,k(M)}var E={Feature:function(t,e){return C(t.geometry,e)},FeatureCollection:function(t,e){for(var r=t.features,n=-1,i=r.length;++n<i;)if(C(r[n].geometry,e))return!0;return!1}},L={Sphere:function(){return!0},Point:function(t,e){return P(t.coordinates,e)},MultiPoint:function(t,e){for(var r=t.coordinates,n=-1,i=r.length;++n<i;)if(P(r[n],e))return!0;return!1},LineString:function(t,e){return O(t.coordinates,e)},MultiLineString:function(t,e){for(var r=t.coordinates,n=-1,i=r.length;++n<i;)if(O(r[n],e))return!0;return!1},Polygon:function(t,e){return I(t.coordinates,e)},MultiPolygon:function(t,e){for(var r=t.coordinates,n=-1,i=r.length;++n<i;)if(I(r[n],e))return!0;return!1},GeometryCollection:function(t,e){for(var r=t.geometries,n=-1,i=r.length;++n<i;)if(C(r[n],e))return!0;return!1}};function C(t,e){return!(!t||!L.hasOwnProperty(t.type))&&L[t.type](t,e)}function P(t,e){return 0===S(t,e)}function O(t,e){for(var r,n,i,a=0,o=t.length;a<o;a++){if(0===(n=S(t[a],e)))return!0;if(a>0&&(i=S(t[a],t[a-1]))>0&&r<=i&&n<=i&&(r+n-i)*(1-Math.pow((r-n)/i,2))<g.aW*i)return!0;r=n}return!1}function I(t,e){return!!(0,d.Z)(t.map(D),z(e))}function D(t){return(t=t.map(z)).pop(),t}function z(t){return[t[0]*g.uR,t[1]*g.uR]}function R(t,e){return(t&&E.hasOwnProperty(t.type)?E[t.type]:C)(t,e)}var F=r(33064);function B(t,e,r){var n=(0,F.w6)(t,e-g.Ho,r).concat(e);return function(t){return n.map((function(e){return[t,e]}))}}function N(t,e,r){var n=(0,F.w6)(t,e-g.Ho,r).concat(e);return function(t){return n.map((function(e){return[e,t]}))}}function j(){var t,e,r,n,i,a,o,s,l,u,c,f,h=10,p=h,d=90,v=360,y=2.5;function m(){return{type:"MultiLineString",coordinates:x()}}function x(){return(0,F.w6)((0,g.mD)(n/d)*d,r,d).map(c).concat((0,F.w6)((0,g.mD)(s/v)*v,o,v).map(f)).concat((0,F.w6)((0,g.mD)(e/h)*h,t,h).filter((function(t){return(0,g.Wn)(t%d)>g.Ho})).map(l)).concat((0,F.w6)((0,g.mD)(a/p)*p,i,p).filter((function(t){return(0,g.Wn)(t%v)>g.Ho})).map(u))}return m.lines=function(){return x().map((function(t){return{type:"LineString",coordinates:t}}))},m.outline=function(){return{type:"Polygon",coordinates:[c(n).concat(f(o).slice(1),c(r).reverse().slice(1),f(s).reverse().slice(1))]}},m.extent=function(t){return arguments.length?m.extentMajor(t).extentMinor(t):m.extentMinor()},m.extentMajor=function(t){return arguments.length?(n=+t[0][0],r=+t[1][0],s=+t[0][1],o=+t[1][1],n>r&&(t=n,n=r,r=t),s>o&&(t=s,s=o,o=t),m.precision(y)):[[n,s],[r,o]]},m.extentMinor=function(r){return arguments.length?(e=+r[0][0],t=+r[1][0],a=+r[0][1],i=+r[1][1],e>t&&(r=e,e=t,t=r),a>i&&(r=a,a=i,i=r),m.precision(y)):[[e,a],[t,i]]},m.step=function(t){return arguments.length?m.stepMajor(t).stepMinor(t):m.stepMinor()},m.stepMajor=function(t){return arguments.length?(d=+t[0],v=+t[1],m):[d,v]},m.stepMinor=function(t){return arguments.length?(h=+t[0],p=+t[1],m):[h,p]},m.precision=function(h){return arguments.length?(y=+h,l=B(a,i,90),u=N(e,t,y),c=B(s,o,90),f=N(n,r,y),m):y},m.extentMajor([[-180,-90+g.Ho],[180,90-g.Ho]]).extentMinor([[-180,-80-g.Ho],[180,80+g.Ho]])}function U(){return j()()}var V,H,q,G,Z=r(83074),Y=r(8593),W=(0,v.Z)(),X=(0,v.Z)(),J={point:y.Z,lineStart:y.Z,lineEnd:y.Z,polygonStart:function(){J.lineStart=K,J.lineEnd=tt},polygonEnd:function(){J.lineStart=J.lineEnd=J.point=y.Z,W.add((0,g.Wn)(X)),X.reset()},result:function(){var t=W/2;return W.reset(),t}};function K(){J.point=$}function $(t,e){J.point=Q,V=q=t,H=G=e}function Q(t,e){X.add(G*t-q*e),q=t,G=e}function tt(){Q(V,H)}var et,rt,nt,it,at=J,ot=r(3559),st=0,lt=0,ut=0,ct=0,ft=0,ht=0,pt=0,dt=0,vt=0,gt={point:yt,lineStart:mt,lineEnd:_t,polygonStart:function(){gt.lineStart=wt,gt.lineEnd=Tt},polygonEnd:function(){gt.point=yt,gt.lineStart=mt,gt.lineEnd=_t},result:function(){var t=vt?[pt/vt,dt/vt]:ht?[ct/ht,ft/ht]:ut?[st/ut,lt/ut]:[NaN,NaN];return st=lt=ut=ct=ft=ht=pt=dt=vt=0,t}};function yt(t,e){st+=t,lt+=e,++ut}function mt(){gt.point=xt}function xt(t,e){gt.point=bt,yt(nt=t,it=e)}function bt(t,e){var r=t-nt,n=e-it,i=(0,g._b)(r*r+n*n);ct+=i*(nt+t)/2,ft+=i*(it+e)/2,ht+=i,yt(nt=t,it=e)}function _t(){gt.point=yt}function wt(){gt.point=kt}function Tt(){At(et,rt)}function kt(t,e){gt.point=At,yt(et=nt=t,rt=it=e)}function At(t,e){var r=t-nt,n=e-it,i=(0,g._b)(r*r+n*n);ct+=i*(nt+t)/2,ft+=i*(it+e)/2,ht+=i,pt+=(i=it*t-nt*e)*(nt+t),dt+=i*(it+e),vt+=3*i,yt(nt=t,it=e)}var Mt=gt;function St(t){this._context=t}St.prototype={_radius:4.5,pointRadius:function(t){return this._radius=t,this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){0===this._line&&this._context.closePath(),this._point=NaN},point:function(t,e){switch(this._point){case 0:this._context.moveTo(t,e),this._point=1;break;case 1:this._context.lineTo(t,e);break;default:this._context.moveTo(t+this._radius,e),this._context.arc(t,e,this._radius,0,g.BZ)}},result:y.Z};var Et,Lt,Ct,Pt,Ot,It=(0,v.Z)(),Dt={point:y.Z,lineStart:function(){Dt.point=zt},lineEnd:function(){Et&&Rt(Lt,Ct),Dt.point=y.Z},polygonStart:function(){Et=!0},polygonEnd:function(){Et=null},result:function(){var t=+It;return It.reset(),t}};function zt(t,e){Dt.point=Rt,Lt=Pt=t,Ct=Ot=e}function Rt(t,e){Pt-=t,Ot-=e,It.add((0,g._b)(Pt*Pt+Ot*Ot)),Pt=t,Ot=e}var Ft=Dt;function Bt(){this._string=[]}function Nt(t){return"m0,"+t+"a"+t+","+t+" 0 1,1 0,"+-2*t+"a"+t+","+t+" 0 1,1 0,"+2*t+"z"}function jt(t,e){var r,n,i=4.5;function a(t){return t&&("function"==typeof i&&n.pointRadius(+i.apply(this,arguments)),(0,m.Z)(t,r(n))),n.result()}return a.area=function(t){return(0,m.Z)(t,r(at)),at.result()},a.measure=function(t){return(0,m.Z)(t,r(Ft)),Ft.result()},a.bounds=function(t){return(0,m.Z)(t,r(ot.Z)),ot.Z.result()},a.centroid=function(t){return(0,m.Z)(t,r(Mt)),Mt.result()},a.projection=function(e){return arguments.length?(r=null==e?(t=null,Y.Z):(t=e).stream,a):t},a.context=function(t){return arguments.length?(n=null==t?(e=null,new Bt):new St(e=t),"function"!=typeof i&&n.pointRadius(i),a):e},a.pointRadius=function(t){return arguments.length?(i="function"==typeof t?t:(n.pointRadius(+t),+t),a):i},a.projection(t).context(e)}Bt.prototype={_radius:4.5,_circle:Nt(4.5),pointRadius:function(t){return(t=+t)!==this._radius&&(this._radius=t,this._circle=null),this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){0===this._line&&this._string.push("Z"),this._point=NaN},point:function(t,e){switch(this._point){case 0:this._string.push("M",t,",",e),this._point=1;break;case 1:this._string.push("L",t,",",e);break;default:null==this._circle&&(this._circle=Nt(this._radius)),this._string.push("M",t,",",e,this._circle)}},result:function(){if(this._string.length){var t=this._string.join("");return this._string=[],t}return null}};var Ut=r(15002);function Vt(t){var e=0,r=g.pi/3,n=(0,Ut.r)(t),i=n(e,r);return i.parallels=function(t){return arguments.length?n(e=t[0]*g.uR,r=t[1]*g.uR):[e*g.RW,r*g.RW]},i}function Ht(t,e){var r=(0,g.O$)(t),n=(r+(0,g.O$)(e))/2;if((0,g.Wn)(n)<g.Ho)return function(t){var e=(0,g.mC)(t);function r(t,r){return[t*e,(0,g.O$)(r)/e]}return r.invert=function(t,r){return[t/e,(0,g.ZR)(r*e)]},r}(t);var i=1+r*(2*n-r),a=(0,g._b)(i)/n;function o(t,e){var r=(0,g._b)(i-2*n*(0,g.O$)(e))/n;return[r*(0,g.O$)(t*=n),a-r*(0,g.mC)(t)]}return o.invert=function(t,e){var r=a-e,o=(0,g.fv)(t,(0,g.Wn)(r))*(0,g.Xx)(r);return r*n<0&&(o-=g.pi*(0,g.Xx)(t)*(0,g.Xx)(r)),[o/n,(0,g.ZR)((i-(t*t+r*r)*n*n)/(2*n))]},o}function qt(){return Vt(Ht).scale(155.424).center([0,33.6442])}function Gt(){return qt().parallels([29.5,45.5]).scale(1070).translate([480,250]).rotate([96,0]).center([-.6,38.7])}var Zt=r(47589);function Yt(){var t,e,r,n,i,a,o=Gt(),s=qt().rotate([154,0]).center([-2,58.5]).parallels([55,65]),l=qt().rotate([157,0]).center([-3,19.9]).parallels([8,18]),u={point:function(t,e){a=[t,e]}};function c(t){var e=t[0],o=t[1];return a=null,r.point(e,o),a||(n.point(e,o),a)||(i.point(e,o),a)}function f(){return t=e=null,c}return c.invert=function(t){var e=o.scale(),r=o.translate(),n=(t[0]-r[0])/e,i=(t[1]-r[1])/e;return(i>=.12&&i<.234&&n>=-.425&&n<-.214?s:i>=.166&&i<.234&&n>=-.214&&n<-.115?l:o).invert(t)},c.stream=function(r){return t&&e===r?t:(n=[o.stream(e=r),s.stream(r),l.stream(r)],i=n.length,t={point:function(t,e){for(var r=-1;++r<i;)n[r].point(t,e)},sphere:function(){for(var t=-1;++t<i;)n[t].sphere()},lineStart:function(){for(var t=-1;++t<i;)n[t].lineStart()},lineEnd:function(){for(var t=-1;++t<i;)n[t].lineEnd()},polygonStart:function(){for(var t=-1;++t<i;)n[t].polygonStart()},polygonEnd:function(){for(var t=-1;++t<i;)n[t].polygonEnd()}});var n,i},c.precision=function(t){return arguments.length?(o.precision(t),s.precision(t),l.precision(t),f()):o.precision()},c.scale=function(t){return arguments.length?(o.scale(t),s.scale(.35*t),l.scale(t),c.translate(o.translate())):o.scale()},c.translate=function(t){if(!arguments.length)return o.translate();var e=o.scale(),a=+t[0],c=+t[1];return r=o.translate(t).clipExtent([[a-.455*e,c-.238*e],[a+.455*e,c+.238*e]]).stream(u),n=s.translate([a-.307*e,c+.201*e]).clipExtent([[a-.425*e+g.Ho,c+.12*e+g.Ho],[a-.214*e-g.Ho,c+.234*e-g.Ho]]).stream(u),i=l.translate([a-.205*e,c+.212*e]).clipExtent([[a-.214*e+g.Ho,c+.166*e+g.Ho],[a-.115*e-g.Ho,c+.234*e-g.Ho]]).stream(u),f()},c.fitExtent=function(t,e){return(0,Zt.qg)(c,t,e)},c.fitSize=function(t,e){return(0,Zt.mF)(c,t,e)},c.fitWidth=function(t,e){return(0,Zt.V6)(c,t,e)},c.fitHeight=function(t,e){return(0,Zt.rf)(c,t,e)},c.scale(1070)}var Wt=r(12956),Xt=r(17889),Jt=r(49386);function Kt(t,e){return[t,(0,g.cM)((0,g.OR)((g.ou+e)/2))]}function $t(){return Qt(Kt).scale(961/g.BZ)}function Qt(t){var e,r,n,i=(0,Ut.Z)(t),a=i.center,o=i.scale,s=i.translate,l=i.clipExtent,u=null;function c(){var a=g.pi*o(),s=i((0,Jt.Z)(i.rotate()).invert([0,0]));return l(null==u?[[s[0]-a,s[1]-a],[s[0]+a,s[1]+a]]:t===Kt?[[Math.max(s[0]-a,u),e],[Math.min(s[0]+a,r),n]]:[[u,Math.max(s[1]-a,e)],[r,Math.min(s[1]+a,n)]])}return i.scale=function(t){return arguments.length?(o(t),c()):o()},i.translate=function(t){return arguments.length?(s(t),c()):s()},i.center=function(t){return arguments.length?(a(t),c()):a()},i.clipExtent=function(t){return arguments.length?(null==t?u=e=r=n=null:(u=+t[0][0],e=+t[0][1],r=+t[1][0],n=+t[1][1]),c()):null==u?null:[[u,e],[r,n]]},c()}function te(t){return(0,g.OR)((g.ou+t)/2)}function ee(t,e){var r=(0,g.mC)(t),n=t===e?(0,g.O$)(t):(0,g.cM)(r/(0,g.mC)(e))/(0,g.cM)(te(e)/te(t)),i=r*(0,g.sQ)(te(t),n)/n;if(!n)return Kt;function a(t,e){i>0?e<-g.ou+g.Ho&&(e=-g.ou+g.Ho):e>g.ou-g.Ho&&(e=g.ou-g.Ho);var r=i/(0,g.sQ)(te(e),n);return[r*(0,g.O$)(n*t),i-r*(0,g.mC)(n*t)]}return a.invert=function(t,e){var r=i-e,a=(0,g.Xx)(n)*(0,g._b)(t*t+r*r),o=(0,g.fv)(t,(0,g.Wn)(r))*(0,g.Xx)(r);return r*n<0&&(o-=g.pi*(0,g.Xx)(t)*(0,g.Xx)(r)),[o/n,2*(0,g.z4)((0,g.sQ)(i/a,1/n))-g.ou]},a}function re(){return Vt(ee).scale(109.5).parallels([30,30])}Kt.invert=function(t,e){return[t,2*(0,g.z4)((0,g.Qq)(e))-g.ou]};var ne=r(97492);function ie(t,e){var r=(0,g.mC)(t),n=t===e?(0,g.O$)(t):(r-(0,g.mC)(e))/(e-t),i=r/n+t;if((0,g.Wn)(n)<g.Ho)return ne.k;function a(t,e){var r=i-e,a=n*t;return[r*(0,g.O$)(a),i-r*(0,g.mC)(a)]}return a.invert=function(t,e){var r=i-e,a=(0,g.fv)(t,(0,g.Wn)(r))*(0,g.Xx)(r);return r*n<0&&(a-=g.pi*(0,g.Xx)(t)*(0,g.Xx)(r)),[a/n,i-(0,g.Xx)(n)*(0,g._b)(t*t+r*r)]},a}function ae(){return Vt(ie).scale(131.154).center([0,13.9389])}var oe=1.340264,se=-.081106,le=893e-6,ue=.003796,ce=(0,g._b)(3)/2;function fe(t,e){var r=(0,g.ZR)(ce*(0,g.O$)(e)),n=r*r,i=n*n*n;return[t*(0,g.mC)(r)/(ce*(oe+3*se*n+i*(7*le+9*ue*n))),r*(oe+se*n+i*(le+ue*n))]}function he(){return(0,Ut.Z)(fe).scale(177.158)}fe.invert=function(t,e){for(var r,n=e,i=n*n,a=i*i*i,o=0;o<12&&(a=(i=(n-=r=(n*(oe+se*i+a*(le+ue*i))-e)/(oe+3*se*i+a*(7*le+9*ue*i)))*n)*i*i,!((0,g.Wn)(r)<g.aW));++o);return[ce*t*(oe+3*se*i+a*(7*le+9*ue*i))/(0,g.mC)(n),(0,g.ZR)((0,g.O$)(n)/ce)]};var pe=r(98936),de=r(64684);function ve(){var t,e,r,n,i,a,o,s=1,l=0,c=0,f=1,h=1,p=0,d=null,v=1,y=1,m=(0,de.l)({point:function(t,e){var r=_([t,e]);this.stream.point(r[0],r[1])}}),x=Y.Z;function b(){return v=s*f,y=s*h,a=o=null,_}function _(r){var n=r[0]*v,i=r[1]*y;if(p){var a=i*t-n*e;n=n*t+i*e,i=a}return[n+l,i+c]}return _.invert=function(r){var n=r[0]-l,i=r[1]-c;if(p){var a=i*t+n*e;n=n*t-i*e,i=a}return[n/v,i/y]},_.stream=function(t){return a&&o===t?a:a=m(x(o=t))},_.postclip=function(t){return arguments.length?(x=t,d=r=n=i=null,b()):x},_.clipExtent=function(t){return arguments.length?(x=null==t?(d=r=n=i=null,Y.Z):(0,u.Z)(d=+t[0][0],r=+t[0][1],n=+t[1][0],i=+t[1][1]),b()):null==d?null:[[d,r],[n,i]]},_.scale=function(t){return arguments.length?(s=+t,b()):s},_.translate=function(t){return arguments.length?(l=+t[0],c=+t[1],b()):[l,c]},_.angle=function(r){return arguments.length?(p=r%360*g.uR,e=(0,g.O$)(p),t=(0,g.mC)(p),b()):p*g.RW},_.reflectX=function(t){return arguments.length?(f=t?-1:1,b()):f<0},_.reflectY=function(t){return arguments.length?(h=t?-1:1,b()):h<0},_.fitExtent=function(t,e){return(0,Zt.qg)(_,t,e)},_.fitSize=function(t,e){return(0,Zt.mF)(_,t,e)},_.fitWidth=function(t,e){return(0,Zt.V6)(_,t,e)},_.fitHeight=function(t,e){return(0,Zt.rf)(_,t,e)},_}var ge=r(26867),ye=r(57962),me=r(25382);function xe(t,e){var r=(0,g.mC)(e),n=1+(0,g.mC)(t)*r;return[r*(0,g.O$)(t)/n,(0,g.O$)(e)/n]}function be(){return(0,Ut.Z)(xe).scale(250).clipAngle(142)}function _e(t,e){return[(0,g.cM)((0,g.OR)((g.ou+e)/2)),-t]}function we(){var t=Qt(_e),e=t.center,r=t.rotate;return t.center=function(t){return arguments.length?e([-t[1],t[0]]):[(t=e())[1],-t[0]]},t.rotate=function(t){return arguments.length?r([t[0],t[1],t.length>2?t[2]+90:90]):[(t=r())[0],t[1],t[2]-90]},r([0,0,90]).scale(159.155)}xe.invert=(0,me.O)((function(t){return 2*(0,g.z4)(t)})),_e.invert=function(t,e){return[-e,2*(0,g.z4)((0,g.Qq)(t))-g.ou]}},83074:function(t,e,r){"use strict";r.d(e,{Z:function(){return i}});var n=r(39695);function i(t,e){var r=t[0]*n.uR,i=t[1]*n.uR,a=e[0]*n.uR,o=e[1]*n.uR,s=(0,n.mC)(i),l=(0,n.O$)(i),u=(0,n.mC)(o),c=(0,n.O$)(o),f=s*(0,n.mC)(r),h=s*(0,n.O$)(r),p=u*(0,n.mC)(a),d=u*(0,n.O$)(a),v=2*(0,n.ZR)((0,n._b)((0,n.Jy)(o-i)+s*u*(0,n.Jy)(a-r))),g=(0,n.O$)(v),y=v?function(t){var e=(0,n.O$)(t*=v)/g,r=(0,n.O$)(v-t)/g,i=r*f+e*p,a=r*h+e*d,o=r*l+e*c;return[(0,n.fv)(a,i)*n.RW,(0,n.fv)(o,(0,n._b)(i*i+a*a))*n.RW]}:function(){return[r*n.RW,i*n.RW]};return y.distance=v,y}},39695:function(t,e,r){"use strict";r.d(e,{BZ:function(){return l},Ho:function(){return n},Jy:function(){return A},Kh:function(){return T},O$:function(){return x},OR:function(){return w},Qq:function(){return g},RW:function(){return u},Wn:function(){return f},Xx:function(){return b},ZR:function(){return k},_b:function(){return _},aW:function(){return i},cM:function(){return y},fv:function(){return p},mC:function(){return d},mD:function(){return v},ou:function(){return o},pi:function(){return a},pu:function(){return s},sQ:function(){return m},uR:function(){return c},z4:function(){return h}});var n=1e-6,i=1e-12,a=Math.PI,o=a/2,s=a/4,l=2*a,u=180/a,c=a/180,f=Math.abs,h=Math.atan,p=Math.atan2,d=Math.cos,v=Math.ceil,g=Math.exp,y=(Math.floor,Math.log),m=Math.pow,x=Math.sin,b=Math.sign||function(t){return t>0?1:t<0?-1:0},_=Math.sqrt,w=Math.tan;function T(t){return t>1?0:t<-1?a:Math.acos(t)}function k(t){return t>1?o:t<-1?-o:Math.asin(t)}function A(t){return(t=x(t/2))*t}},73182:function(t,e,r){"use strict";function n(){}r.d(e,{Z:function(){return n}})},3559:function(t,e,r){"use strict";var n=r(73182),i=1/0,a=i,o=-i,s=o,l={point:function(t,e){t<i&&(i=t),t>o&&(o=t),e<a&&(a=e),e>s&&(s=e)},lineStart:n.Z,lineEnd:n.Z,polygonStart:n.Z,polygonEnd:n.Z,result:function(){var t=[[i,a],[o,s]];return o=s=-(a=i=1/0),t}};e.Z=l},67108:function(t,e,r){"use strict";r.d(e,{Z:function(){return i}});var n=r(39695);function i(t,e){return(0,n.Wn)(t[0]-e[0])<n.Ho&&(0,n.Wn)(t[1]-e[1])<n.Ho}},23071:function(t,e,r){"use strict";r.d(e,{Z:function(){return l}});var n=r(33940),i=r(7620),a=r(39695),o=(0,n.Z)();function s(t){return(0,a.Wn)(t[0])<=a.pi?t[0]:(0,a.Xx)(t[0])*(((0,a.Wn)(t[0])+a.pi)%a.BZ-a.pi)}function l(t,e){var r=s(e),n=e[1],l=(0,a.O$)(n),u=[(0,a.O$)(r),-(0,a.mC)(r),0],c=0,f=0;o.reset(),1===l?n=a.ou+a.Ho:-1===l&&(n=-a.ou-a.Ho);for(var h=0,p=t.length;h<p;++h)if(v=(d=t[h]).length)for(var d,v,g=d[v-1],y=s(g),m=g[1]/2+a.pu,x=(0,a.O$)(m),b=(0,a.mC)(m),_=0;_<v;++_,y=T,x=A,b=M,g=w){var w=d[_],T=s(w),k=w[1]/2+a.pu,A=(0,a.O$)(k),M=(0,a.mC)(k),S=T-y,E=S>=0?1:-1,L=E*S,C=L>a.pi,P=x*A;if(o.add((0,a.fv)(P*E*(0,a.O$)(L),b*M+P*(0,a.mC)(L))),c+=C?S+E*a.BZ:S,C^y>=r^T>=r){var O=(0,i.T5)((0,i.Og)(g),(0,i.Og)(w));(0,i.iJ)(O);var I=(0,i.T5)(u,O);(0,i.iJ)(I);var D=(C^S>=0?-1:1)*(0,a.ZR)(I[2]);(n>D||n===D&&(O[0]||O[1]))&&(f+=C^S>=0?1:-1)}}return(c<-a.Ho||c<a.Ho&&o<-a.Ho)^1&f}},25382:function(t,e,r){"use strict";r.d(e,{O:function(){return a},W:function(){return i}});var n=r(39695);function i(t){return function(e,r){var i=(0,n.mC)(e),a=(0,n.mC)(r),o=t(i*a);return[o*a*(0,n.O$)(e),o*(0,n.O$)(r)]}}function a(t){return function(e,r){var i=(0,n._b)(e*e+r*r),a=t(i),o=(0,n.O$)(a),s=(0,n.mC)(a);return[(0,n.fv)(e*o,i*s),(0,n.ZR)(i&&r*o/i)]}}},12956:function(t,e,r){"use strict";r.d(e,{Z:function(){return s},l:function(){return o}});var n=r(39695),i=r(25382),a=r(15002),o=(0,i.W)((function(t){return(0,n._b)(2/(1+t))}));function s(){return(0,a.Z)(o).scale(124.75).clipAngle(179.999)}o.invert=(0,i.O)((function(t){return 2*(0,n.ZR)(t/2)}))},17889:function(t,e,r){"use strict";r.d(e,{N:function(){return o},Z:function(){return s}});var n=r(39695),i=r(25382),a=r(15002),o=(0,i.W)((function(t){return(t=(0,n.Kh)(t))&&t/(0,n.O$)(t)}));function s(){return(0,a.Z)(o).scale(79.4188).clipAngle(179.999)}o.invert=(0,i.O)((function(t){return t}))},97492:function(t,e,r){"use strict";r.d(e,{Z:function(){return a},k:function(){return i}});var n=r(15002);function i(t,e){return[t,e]}function a(){return(0,n.Z)(i).scale(152.63)}i.invert=i},47589:function(t,e,r){"use strict";r.d(e,{V6:function(){return l},mF:function(){return s},qg:function(){return o},rf:function(){return u}});var n=r(72736),i=r(3559);function a(t,e,r){var a=t.clipExtent&&t.clipExtent();return t.scale(150).translate([0,0]),null!=a&&t.clipExtent(null),(0,n.Z)(r,t.stream(i.Z)),e(i.Z.result()),null!=a&&t.clipExtent(a),t}function o(t,e,r){return a(t,(function(r){var n=e[1][0]-e[0][0],i=e[1][1]-e[0][1],a=Math.min(n/(r[1][0]-r[0][0]),i/(r[1][1]-r[0][1])),o=+e[0][0]+(n-a*(r[1][0]+r[0][0]))/2,s=+e[0][1]+(i-a*(r[1][1]+r[0][1]))/2;t.scale(150*a).translate([o,s])}),r)}function s(t,e,r){return o(t,[[0,0],e],r)}function l(t,e,r){return a(t,(function(r){var n=+e,i=n/(r[1][0]-r[0][0]),a=(n-i*(r[1][0]+r[0][0]))/2,o=-i*r[0][1];t.scale(150*i).translate([a,o])}),r)}function u(t,e,r){return a(t,(function(r){var n=+e,i=n/(r[1][1]-r[0][1]),a=-i*r[0][0],o=(n-i*(r[1][1]+r[0][1]))/2;t.scale(150*i).translate([a,o])}),r)}},98936:function(t,e,r){"use strict";r.d(e,{M:function(){return o},Z:function(){return s}});var n=r(39695),i=r(25382),a=r(15002);function o(t,e){var r=(0,n.mC)(e),i=(0,n.mC)(t)*r;return[r*(0,n.O$)(t)/i,(0,n.O$)(e)/i]}function s(){return(0,a.Z)(o).scale(144.049).clipAngle(60)}o.invert=(0,i.O)(n.z4)},15002:function(t,e,r){"use strict";r.d(e,{Z:function(){return m},r:function(){return x}});var n=r(87070),i=r(1457),a=r(87605),o=r(96059),s=r(8593),l=r(39695),u=r(49386),c=r(64684),f=r(47589),h=r(7620),p=(0,l.mC)(30*l.uR);function d(t,e){return+e?function(t,e){function r(n,i,a,o,s,u,c,f,h,d,v,g,y,m){var x=c-n,b=f-i,_=x*x+b*b;if(_>4*e&&y--){var w=o+d,T=s+v,k=u+g,A=(0,l._b)(w*w+T*T+k*k),M=(0,l.ZR)(k/=A),S=(0,l.Wn)((0,l.Wn)(k)-1)<l.Ho||(0,l.Wn)(a-h)<l.Ho?(a+h)/2:(0,l.fv)(T,w),E=t(S,M),L=E[0],C=E[1],P=L-n,O=C-i,I=b*P-x*O;(I*I/_>e||(0,l.Wn)((x*P+b*O)/_-.5)>.3||o*d+s*v+u*g<p)&&(r(n,i,a,o,s,u,L,C,S,w/=A,T/=A,k,y,m),m.point(L,C),r(L,C,S,w,T,k,c,f,h,d,v,g,y,m))}}return function(e){var n,i,a,o,s,l,u,c,f,p,d,v,g={point:y,lineStart:m,lineEnd:b,polygonStart:function(){e.polygonStart(),g.lineStart=_},polygonEnd:function(){e.polygonEnd(),g.lineStart=m}};function y(r,n){r=t(r,n),e.point(r[0],r[1])}function m(){c=NaN,g.point=x,e.lineStart()}function x(n,i){var a=(0,h.Og)([n,i]),o=t(n,i);r(c,f,u,p,d,v,c=o[0],f=o[1],u=n,p=a[0],d=a[1],v=a[2],16,e),e.point(c,f)}function b(){g.point=y,e.lineEnd()}function _(){m(),g.point=w,g.lineEnd=T}function w(t,e){x(n=t,e),i=c,a=f,o=p,s=d,l=v,g.point=x}function T(){r(c,f,u,p,d,v,i,a,n,o,s,l,16,e),g.lineEnd=b,b()}return g}}(t,e):function(t){return(0,c.l)({point:function(e,r){e=t(e,r),this.stream.point(e[0],e[1])}})}(t)}var v=(0,c.l)({point:function(t,e){this.stream.point(t*l.uR,e*l.uR)}});function g(t,e,r,n,i){function a(a,o){return[e+t*(a*=n),r-t*(o*=i)]}return a.invert=function(a,o){return[(a-e)/t*n,(r-o)/t*i]},a}function y(t,e,r,n,i,a){var o=(0,l.mC)(a),s=(0,l.O$)(a),u=o*t,c=s*t,f=o/t,h=s/t,p=(s*r-o*e)/t,d=(s*e+o*r)/t;function v(t,a){return[u*(t*=n)-c*(a*=i)+e,r-c*t-u*a]}return v.invert=function(t,e){return[n*(f*t-h*e+p),i*(d-h*t-f*e)]},v}function m(t){return x((function(){return t}))()}function x(t){var e,r,h,p,m,x,b,_,w,T,k=150,A=480,M=250,S=0,E=0,L=0,C=0,P=0,O=0,I=1,D=1,z=null,R=n.Z,F=null,B=s.Z,N=.5;function j(t){return _(t[0]*l.uR,t[1]*l.uR)}function U(t){return(t=_.invert(t[0],t[1]))&&[t[0]*l.RW,t[1]*l.RW]}function V(){var t=y(k,0,0,I,D,O).apply(null,e(S,E)),n=(O?y:g)(k,A-t[0],M-t[1],I,D,O);return r=(0,u.I)(L,C,P),b=(0,o.Z)(e,n),_=(0,o.Z)(r,b),x=d(b,N),H()}function H(){return w=T=null,j}return j.stream=function(t){return w&&T===t?w:w=v(function(t){return(0,c.l)({point:function(e,r){var n=t(e,r);return this.stream.point(n[0],n[1])}})}(r)(R(x(B(T=t)))))},j.preclip=function(t){return arguments.length?(R=t,z=void 0,H()):R},j.postclip=function(t){return arguments.length?(B=t,F=h=p=m=null,H()):B},j.clipAngle=function(t){return arguments.length?(R=+t?(0,i.Z)(z=t*l.uR):(z=null,n.Z),H()):z*l.RW},j.clipExtent=function(t){return arguments.length?(B=null==t?(F=h=p=m=null,s.Z):(0,a.Z)(F=+t[0][0],h=+t[0][1],p=+t[1][0],m=+t[1][1]),H()):null==F?null:[[F,h],[p,m]]},j.scale=function(t){return arguments.length?(k=+t,V()):k},j.translate=function(t){return arguments.length?(A=+t[0],M=+t[1],V()):[A,M]},j.center=function(t){return arguments.length?(S=t[0]%360*l.uR,E=t[1]%360*l.uR,V()):[S*l.RW,E*l.RW]},j.rotate=function(t){return arguments.length?(L=t[0]%360*l.uR,C=t[1]%360*l.uR,P=t.length>2?t[2]%360*l.uR:0,V()):[L*l.RW,C*l.RW,P*l.RW]},j.angle=function(t){return arguments.length?(O=t%360*l.uR,V()):O*l.RW},j.reflectX=function(t){return arguments.length?(I=t?-1:1,V()):I<0},j.reflectY=function(t){return arguments.length?(D=t?-1:1,V()):D<0},j.precision=function(t){return arguments.length?(x=d(b,N=t*t),H()):(0,l._b)(N)},j.fitExtent=function(t,e){return(0,f.qg)(j,t,e)},j.fitSize=function(t,e){return(0,f.mF)(j,t,e)},j.fitWidth=function(t,e){return(0,f.V6)(j,t,e)},j.fitHeight=function(t,e){return(0,f.rf)(j,t,e)},function(){return e=t.apply(this,arguments),j.invert=e.invert&&U,V()}}},26867:function(t,e,r){"use strict";r.d(e,{K:function(){return a},Z:function(){return o}});var n=r(15002),i=r(39695);function a(t,e){var r=e*e,n=r*r;return[t*(.8707-.131979*r+n*(n*(.003971*r-.001529*n)-.013791)),e*(1.007226+r*(.015085+n*(.028874*r-.044475-.005916*n)))]}function o(){return(0,n.Z)(a).scale(175.295)}a.invert=function(t,e){var r,n=e,a=25;do{var o=n*n,s=o*o;n-=r=(n*(1.007226+o*(.015085+s*(.028874*o-.044475-.005916*s)))-e)/(1.007226+o*(.045255+s*(.259866*o-.311325-.005916*11*s)))}while((0,i.Wn)(r)>i.Ho&&--a>0);return[t/(.8707+(o=n*n)*(o*(o*o*o*(.003971-.001529*o)-.013791)-.131979)),n]}},57962:function(t,e,r){"use strict";r.d(e,{I:function(){return o},Z:function(){return s}});var n=r(39695),i=r(25382),a=r(15002);function o(t,e){return[(0,n.mC)(e)*(0,n.O$)(t),(0,n.O$)(e)]}function s(){return(0,a.Z)(o).scale(249.5).clipAngle(90+n.Ho)}o.invert=(0,i.O)(n.ZR)},49386:function(t,e,r){"use strict";r.d(e,{I:function(){return o},Z:function(){return c}});var n=r(96059),i=r(39695);function a(t,e){return[(0,i.Wn)(t)>i.pi?t+Math.round(-t/i.BZ)*i.BZ:t,e]}function o(t,e,r){return(t%=i.BZ)?e||r?(0,n.Z)(l(t),u(e,r)):l(t):e||r?u(e,r):a}function s(t){return function(e,r){return[(e+=t)>i.pi?e-i.BZ:e<-i.pi?e+i.BZ:e,r]}}function l(t){var e=s(t);return e.invert=s(-t),e}function u(t,e){var r=(0,i.mC)(t),n=(0,i.O$)(t),a=(0,i.mC)(e),o=(0,i.O$)(e);function s(t,e){var s=(0,i.mC)(e),l=(0,i.mC)(t)*s,u=(0,i.O$)(t)*s,c=(0,i.O$)(e),f=c*r+l*n;return[(0,i.fv)(u*a-f*o,l*r-c*n),(0,i.ZR)(f*a+u*o)]}return s.invert=function(t,e){var s=(0,i.mC)(e),l=(0,i.mC)(t)*s,u=(0,i.O$)(t)*s,c=(0,i.O$)(e),f=c*a-u*o;return[(0,i.fv)(u*a+c*o,l*r+f*n),(0,i.ZR)(f*r-l*n)]},s}function c(t){function e(e){return(e=t(e[0]*i.uR,e[1]*i.uR))[0]*=i.RW,e[1]*=i.RW,e}return t=o(t[0]*i.uR,t[1]*i.uR,t.length>2?t[2]*i.uR:0),e.invert=function(e){return(e=t.invert(e[0]*i.uR,e[1]*i.uR))[0]*=i.RW,e[1]*=i.RW,e},e}a.invert=a},72736:function(t,e,r){"use strict";function n(t,e){t&&a.hasOwnProperty(t.type)&&a[t.type](t,e)}r.d(e,{Z:function(){return l}});var i={Feature:function(t,e){n(t.geometry,e)},FeatureCollection:function(t,e){for(var r=t.features,i=-1,a=r.length;++i<a;)n(r[i].geometry,e)}},a={Sphere:function(t,e){e.sphere()},Point:function(t,e){t=t.coordinates,e.point(t[0],t[1],t[2])},MultiPoint:function(t,e){for(var r=t.coordinates,n=-1,i=r.length;++n<i;)t=r[n],e.point(t[0],t[1],t[2])},LineString:function(t,e){o(t.coordinates,e,0)},MultiLineString:function(t,e){for(var r=t.coordinates,n=-1,i=r.length;++n<i;)o(r[n],e,0)},Polygon:function(t,e){s(t.coordinates,e)},MultiPolygon:function(t,e){for(var r=t.coordinates,n=-1,i=r.length;++n<i;)s(r[n],e)},GeometryCollection:function(t,e){for(var r=t.geometries,i=-1,a=r.length;++i<a;)n(r[i],e)}};function o(t,e,r){var n,i=-1,a=t.length-r;for(e.lineStart();++i<a;)n=t[i],e.point(n[0],n[1],n[2]);e.lineEnd()}function s(t,e){var r=-1,n=t.length;for(e.polygonStart();++r<n;)o(t[r],e,1);e.polygonEnd()}function l(t,e){t&&i.hasOwnProperty(t.type)?i[t.type](t,e):n(t,e)}},64684:function(t,e,r){"use strict";function n(t){return{stream:i(t)}}function i(t){return function(e){var r=new a;for(var n in t)r[n]=t[n];return r.stream=e,r}}function a(){}r.d(e,{Z:function(){return n},l:function(){return i}}),a.prototype={constructor:a,point:function(t,e){this.stream.point(t,e)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}}},674:function(t,e,r){"use strict";function n(t,e){return t.parent===e.parent?1:2}function i(t,e){return t+e.x}function a(t,e){return Math.max(t,e.y)}function o(){var t=n,e=1,r=1,o=!1;function s(n){var s,l=0;n.eachAfter((function(e){var r=e.children;r?(e.x=function(t){return t.reduce(i,0)/t.length}(r),e.y=function(t){return 1+t.reduce(a,0)}(r)):(e.x=s?l+=t(e,s):0,e.y=0,s=e)}));var u=function(t){for(var e;e=t.children;)t=e[0];return t}(n),c=function(t){for(var e;e=t.children;)t=e[e.length-1];return t}(n),f=u.x-t(u,c)/2,h=c.x+t(c,u)/2;return n.eachAfter(o?function(t){t.x=(t.x-n.x)*e,t.y=(n.y-t.y)*r}:function(t){t.x=(t.x-f)/(h-f)*e,t.y=(1-(n.y?t.y/n.y:1))*r})}return s.separation=function(e){return arguments.length?(t=e,s):t},s.size=function(t){return arguments.length?(o=!1,e=+t[0],r=+t[1],s):o?null:[e,r]},s.nodeSize=function(t){return arguments.length?(o=!0,e=+t[0],r=+t[1],s):o?[e,r]:null},s}function s(t){var e=0,r=t.children,n=r&&r.length;if(n)for(;--n>=0;)e+=r[n].value;else e=1;t.value=e}function l(t,e){var r,n,i,a,o,s=new h(t),l=+t.value&&(s.value=t.value),c=[s];for(null==e&&(e=u);r=c.pop();)if(l&&(r.value=+r.data.value),(i=e(r.data))&&(o=i.length))for(r.children=new Array(o),a=o-1;a>=0;--a)c.push(n=r.children[a]=new h(i[a])),n.parent=r,n.depth=r.depth+1;return s.eachBefore(f)}function u(t){return t.children}function c(t){t.data=t.data.data}function f(t){var e=0;do{t.height=e}while((t=t.parent)&&t.height<++e)}function h(t){this.data=t,this.depth=this.height=0,this.parent=null}r.r(e),r.d(e,{cluster:function(){return o},hierarchy:function(){return l},pack:function(){return I},packEnclose:function(){return d},packSiblings:function(){return S},partition:function(){return N},stratify:function(){return q},tree:function(){return K},treemap:function(){return rt},treemapBinary:function(){return nt},treemapDice:function(){return B},treemapResquarify:function(){return at},treemapSlice:function(){return $},treemapSliceDice:function(){return it},treemapSquarify:function(){return et}}),h.prototype=l.prototype={constructor:h,count:function(){return this.eachAfter(s)},each:function(t){var e,r,n,i,a=this,o=[a];do{for(e=o.reverse(),o=[];a=e.pop();)if(t(a),r=a.children)for(n=0,i=r.length;n<i;++n)o.push(r[n])}while(o.length);return this},eachAfter:function(t){for(var e,r,n,i=this,a=[i],o=[];i=a.pop();)if(o.push(i),e=i.children)for(r=0,n=e.length;r<n;++r)a.push(e[r]);for(;i=o.pop();)t(i);return this},eachBefore:function(t){for(var e,r,n=this,i=[n];n=i.pop();)if(t(n),e=n.children)for(r=e.length-1;r>=0;--r)i.push(e[r]);return this},sum:function(t){return this.eachAfter((function(e){for(var r=+t(e.data)||0,n=e.children,i=n&&n.length;--i>=0;)r+=n[i].value;e.value=r}))},sort:function(t){return this.eachBefore((function(e){e.children&&e.children.sort(t)}))},path:function(t){for(var e=this,r=function(t,e){if(t===e)return t;var r=t.ancestors(),n=e.ancestors(),i=null;for(t=r.pop(),e=n.pop();t===e;)i=t,t=r.pop(),e=n.pop();return i}(e,t),n=[e];e!==r;)e=e.parent,n.push(e);for(var i=n.length;t!==r;)n.splice(i,0,t),t=t.parent;return n},ancestors:function(){for(var t=this,e=[t];t=t.parent;)e.push(t);return e},descendants:function(){var t=[];return this.each((function(e){t.push(e)})),t},leaves:function(){var t=[];return this.eachBefore((function(e){e.children||t.push(e)})),t},links:function(){var t=this,e=[];return t.each((function(r){r!==t&&e.push({source:r.parent,target:r})})),e},copy:function(){return l(this).eachBefore(c)}};var p=Array.prototype.slice;function d(t){for(var e,r,n=0,i=(t=function(t){for(var e,r,n=t.length;n;)r=Math.random()*n--|0,e=t[n],t[n]=t[r],t[r]=e;return t}(p.call(t))).length,a=[];n<i;)e=t[n],r&&y(r,e)?++n:(r=x(a=v(a,e)),n=0);return r}function v(t,e){var r,n;if(m(e,t))return[e];for(r=0;r<t.length;++r)if(g(e,t[r])&&m(b(t[r],e),t))return[t[r],e];for(r=0;r<t.length-1;++r)for(n=r+1;n<t.length;++n)if(g(b(t[r],t[n]),e)&&g(b(t[r],e),t[n])&&g(b(t[n],e),t[r])&&m(_(t[r],t[n],e),t))return[t[r],t[n],e];throw new Error}function g(t,e){var r=t.r-e.r,n=e.x-t.x,i=e.y-t.y;return r<0||r*r<n*n+i*i}function y(t,e){var r=t.r-e.r+1e-6,n=e.x-t.x,i=e.y-t.y;return r>0&&r*r>n*n+i*i}function m(t,e){for(var r=0;r<e.length;++r)if(!y(t,e[r]))return!1;return!0}function x(t){switch(t.length){case 1:return{x:(e=t[0]).x,y:e.y,r:e.r};case 2:return b(t[0],t[1]);case 3:return _(t[0],t[1],t[2])}var e}function b(t,e){var r=t.x,n=t.y,i=t.r,a=e.x,o=e.y,s=e.r,l=a-r,u=o-n,c=s-i,f=Math.sqrt(l*l+u*u);return{x:(r+a+l/f*c)/2,y:(n+o+u/f*c)/2,r:(f+i+s)/2}}function _(t,e,r){var n=t.x,i=t.y,a=t.r,o=e.x,s=e.y,l=e.r,u=r.x,c=r.y,f=r.r,h=n-o,p=n-u,d=i-s,v=i-c,g=l-a,y=f-a,m=n*n+i*i-a*a,x=m-o*o-s*s+l*l,b=m-u*u-c*c+f*f,_=p*d-h*v,w=(d*b-v*x)/(2*_)-n,T=(v*g-d*y)/_,k=(p*x-h*b)/(2*_)-i,A=(h*y-p*g)/_,M=T*T+A*A-1,S=2*(a+w*T+k*A),E=w*w+k*k-a*a,L=-(M?(S+Math.sqrt(S*S-4*M*E))/(2*M):E/S);return{x:n+w+T*L,y:i+k+A*L,r:L}}function w(t,e,r){var n,i,a,o,s=t.x-e.x,l=t.y-e.y,u=s*s+l*l;u?(i=e.r+r.r,i*=i,o=t.r+r.r,i>(o*=o)?(n=(u+o-i)/(2*u),a=Math.sqrt(Math.max(0,o/u-n*n)),r.x=t.x-n*s-a*l,r.y=t.y-n*l+a*s):(n=(u+i-o)/(2*u),a=Math.sqrt(Math.max(0,i/u-n*n)),r.x=e.x+n*s-a*l,r.y=e.y+n*l+a*s)):(r.x=e.x+r.r,r.y=e.y)}function T(t,e){var r=t.r+e.r-1e-6,n=e.x-t.x,i=e.y-t.y;return r>0&&r*r>n*n+i*i}function k(t){var e=t._,r=t.next._,n=e.r+r.r,i=(e.x*r.r+r.x*e.r)/n,a=(e.y*r.r+r.y*e.r)/n;return i*i+a*a}function A(t){this._=t,this.next=null,this.previous=null}function M(t){if(!(i=t.length))return 0;var e,r,n,i,a,o,s,l,u,c,f;if((e=t[0]).x=0,e.y=0,!(i>1))return e.r;if(r=t[1],e.x=-r.r,r.x=e.r,r.y=0,!(i>2))return e.r+r.r;w(r,e,n=t[2]),e=new A(e),r=new A(r),n=new A(n),e.next=n.previous=r,r.next=e.previous=n,n.next=r.previous=e;t:for(s=3;s<i;++s){w(e._,r._,n=t[s]),n=new A(n),l=r.next,u=e.previous,c=r._.r,f=e._.r;do{if(c<=f){if(T(l._,n._)){r=l,e.next=r,r.previous=e,--s;continue t}c+=l._.r,l=l.next}else{if(T(u._,n._)){(e=u).next=r,r.previous=e,--s;continue t}f+=u._.r,u=u.previous}}while(l!==u.next);for(n.previous=e,n.next=r,e.next=r.previous=r=n,a=k(e);(n=n.next)!==r;)(o=k(n))<a&&(e=n,a=o);r=e.next}for(e=[r._],n=r;(n=n.next)!==r;)e.push(n._);for(n=d(e),s=0;s<i;++s)(e=t[s]).x-=n.x,e.y-=n.y;return n.r}function S(t){return M(t),t}function E(t){return null==t?null:L(t)}function L(t){if("function"!=typeof t)throw new Error;return t}function C(){return 0}function P(t){return function(){return t}}function O(t){return Math.sqrt(t.value)}function I(){var t=null,e=1,r=1,n=C;function i(i){return i.x=e/2,i.y=r/2,t?i.eachBefore(D(t)).eachAfter(z(n,.5)).eachBefore(R(1)):i.eachBefore(D(O)).eachAfter(z(C,1)).eachAfter(z(n,i.r/Math.min(e,r))).eachBefore(R(Math.min(e,r)/(2*i.r))),i}return i.radius=function(e){return arguments.length?(t=E(e),i):t},i.size=function(t){return arguments.length?(e=+t[0],r=+t[1],i):[e,r]},i.padding=function(t){return arguments.length?(n="function"==typeof t?t:P(+t),i):n},i}function D(t){return function(e){e.children||(e.r=Math.max(0,+t(e)||0))}}function z(t,e){return function(r){if(n=r.children){var n,i,a,o=n.length,s=t(r)*e||0;if(s)for(i=0;i<o;++i)n[i].r+=s;if(a=M(n),s)for(i=0;i<o;++i)n[i].r-=s;r.r=a+s}}}function R(t){return function(e){var r=e.parent;e.r*=t,r&&(e.x=r.x+t*e.x,e.y=r.y+t*e.y)}}function F(t){t.x0=Math.round(t.x0),t.y0=Math.round(t.y0),t.x1=Math.round(t.x1),t.y1=Math.round(t.y1)}function B(t,e,r,n,i){for(var a,o=t.children,s=-1,l=o.length,u=t.value&&(n-e)/t.value;++s<l;)(a=o[s]).y0=r,a.y1=i,a.x0=e,a.x1=e+=a.value*u}function N(){var t=1,e=1,r=0,n=!1;function i(i){var a=i.height+1;return i.x0=i.y0=r,i.x1=t,i.y1=e/a,i.eachBefore(function(t,e){return function(n){n.children&&B(n,n.x0,t*(n.depth+1)/e,n.x1,t*(n.depth+2)/e);var i=n.x0,a=n.y0,o=n.x1-r,s=n.y1-r;o<i&&(i=o=(i+o)/2),s<a&&(a=s=(a+s)/2),n.x0=i,n.y0=a,n.x1=o,n.y1=s}}(e,a)),n&&i.eachBefore(F),i}return i.round=function(t){return arguments.length?(n=!!t,i):n},i.size=function(r){return arguments.length?(t=+r[0],e=+r[1],i):[t,e]},i.padding=function(t){return arguments.length?(r=+t,i):r},i}var j={depth:-1},U={};function V(t){return t.id}function H(t){return t.parentId}function q(){var t=V,e=H;function r(r){var n,i,a,o,s,l,u,c=r.length,p=new Array(c),d={};for(i=0;i<c;++i)n=r[i],s=p[i]=new h(n),null!=(l=t(n,i,r))&&(l+="")&&(d[u="$"+(s.id=l)]=u in d?U:s);for(i=0;i<c;++i)if(s=p[i],null!=(l=e(r[i],i,r))&&(l+="")){if(!(o=d["$"+l]))throw new Error("missing: "+l);if(o===U)throw new Error("ambiguous: "+l);o.children?o.children.push(s):o.children=[s],s.parent=o}else{if(a)throw new Error("multiple roots");a=s}if(!a)throw new Error("no root");if(a.parent=j,a.eachBefore((function(t){t.depth=t.parent.depth+1,--c})).eachBefore(f),a.parent=null,c>0)throw new Error("cycle");return a}return r.id=function(e){return arguments.length?(t=L(e),r):t},r.parentId=function(t){return arguments.length?(e=L(t),r):e},r}function G(t,e){return t.parent===e.parent?1:2}function Z(t){var e=t.children;return e?e[0]:t.t}function Y(t){var e=t.children;return e?e[e.length-1]:t.t}function W(t,e,r){var n=r/(e.i-t.i);e.c-=n,e.s+=r,t.c+=n,e.z+=r,e.m+=r}function X(t,e,r){return t.a.parent===e.parent?t.a:r}function J(t,e){this._=t,this.parent=null,this.children=null,this.A=null,this.a=this,this.z=0,this.m=0,this.c=0,this.s=0,this.t=null,this.i=e}function K(){var t=G,e=1,r=1,n=null;function i(i){var l=function(t){for(var e,r,n,i,a,o=new J(t,0),s=[o];e=s.pop();)if(n=e._.children)for(e.children=new Array(a=n.length),i=a-1;i>=0;--i)s.push(r=e.children[i]=new J(n[i],i)),r.parent=e;return(o.parent=new J(null,0)).children=[o],o}(i);if(l.eachAfter(a),l.parent.m=-l.z,l.eachBefore(o),n)i.eachBefore(s);else{var u=i,c=i,f=i;i.eachBefore((function(t){t.x<u.x&&(u=t),t.x>c.x&&(c=t),t.depth>f.depth&&(f=t)}));var h=u===c?1:t(u,c)/2,p=h-u.x,d=e/(c.x+h+p),v=r/(f.depth||1);i.eachBefore((function(t){t.x=(t.x+p)*d,t.y=t.depth*v}))}return i}function a(e){var r=e.children,n=e.parent.children,i=e.i?n[e.i-1]:null;if(r){!function(t){for(var e,r=0,n=0,i=t.children,a=i.length;--a>=0;)(e=i[a]).z+=r,e.m+=r,r+=e.s+(n+=e.c)}(e);var a=(r[0].z+r[r.length-1].z)/2;i?(e.z=i.z+t(e._,i._),e.m=e.z-a):e.z=a}else i&&(e.z=i.z+t(e._,i._));e.parent.A=function(e,r,n){if(r){for(var i,a=e,o=e,s=r,l=a.parent.children[0],u=a.m,c=o.m,f=s.m,h=l.m;s=Y(s),a=Z(a),s&&a;)l=Z(l),(o=Y(o)).a=e,(i=s.z+f-a.z-u+t(s._,a._))>0&&(W(X(s,e,n),e,i),u+=i,c+=i),f+=s.m,u+=a.m,h+=l.m,c+=o.m;s&&!Y(o)&&(o.t=s,o.m+=f-c),a&&!Z(l)&&(l.t=a,l.m+=u-h,n=e)}return n}(e,i,e.parent.A||n[0])}function o(t){t._.x=t.z+t.parent.m,t.m+=t.parent.m}function s(t){t.x*=e,t.y=t.depth*r}return i.separation=function(e){return arguments.length?(t=e,i):t},i.size=function(t){return arguments.length?(n=!1,e=+t[0],r=+t[1],i):n?null:[e,r]},i.nodeSize=function(t){return arguments.length?(n=!0,e=+t[0],r=+t[1],i):n?[e,r]:null},i}function $(t,e,r,n,i){for(var a,o=t.children,s=-1,l=o.length,u=t.value&&(i-r)/t.value;++s<l;)(a=o[s]).x0=e,a.x1=n,a.y0=r,a.y1=r+=a.value*u}J.prototype=Object.create(h.prototype);var Q=(1+Math.sqrt(5))/2;function tt(t,e,r,n,i,a){for(var o,s,l,u,c,f,h,p,d,v,g,y=[],m=e.children,x=0,b=0,_=m.length,w=e.value;x<_;){l=i-r,u=a-n;do{c=m[b++].value}while(!c&&b<_);for(f=h=c,g=c*c*(v=Math.max(u/l,l/u)/(w*t)),d=Math.max(h/g,g/f);b<_;++b){if(c+=s=m[b].value,s<f&&(f=s),s>h&&(h=s),g=c*c*v,(p=Math.max(h/g,g/f))>d){c-=s;break}d=p}y.push(o={value:c,dice:l<u,children:m.slice(x,b)}),o.dice?B(o,r,n,i,w?n+=u*c/w:a):$(o,r,n,w?r+=l*c/w:i,a),w-=c,x=b}return y}var et=function t(e){function r(t,r,n,i,a){tt(e,t,r,n,i,a)}return r.ratio=function(e){return t((e=+e)>1?e:1)},r}(Q);function rt(){var t=et,e=!1,r=1,n=1,i=[0],a=C,o=C,s=C,l=C,u=C;function c(t){return t.x0=t.y0=0,t.x1=r,t.y1=n,t.eachBefore(f),i=[0],e&&t.eachBefore(F),t}function f(e){var r=i[e.depth],n=e.x0+r,c=e.y0+r,f=e.x1-r,h=e.y1-r;f<n&&(n=f=(n+f)/2),h<c&&(c=h=(c+h)/2),e.x0=n,e.y0=c,e.x1=f,e.y1=h,e.children&&(r=i[e.depth+1]=a(e)/2,n+=u(e)-r,c+=o(e)-r,(f-=s(e)-r)<n&&(n=f=(n+f)/2),(h-=l(e)-r)<c&&(c=h=(c+h)/2),t(e,n,c,f,h))}return c.round=function(t){return arguments.length?(e=!!t,c):e},c.size=function(t){return arguments.length?(r=+t[0],n=+t[1],c):[r,n]},c.tile=function(e){return arguments.length?(t=L(e),c):t},c.padding=function(t){return arguments.length?c.paddingInner(t).paddingOuter(t):c.paddingInner()},c.paddingInner=function(t){return arguments.length?(a="function"==typeof t?t:P(+t),c):a},c.paddingOuter=function(t){return arguments.length?c.paddingTop(t).paddingRight(t).paddingBottom(t).paddingLeft(t):c.paddingTop()},c.paddingTop=function(t){return arguments.length?(o="function"==typeof t?t:P(+t),c):o},c.paddingRight=function(t){return arguments.length?(s="function"==typeof t?t:P(+t),c):s},c.paddingBottom=function(t){return arguments.length?(l="function"==typeof t?t:P(+t),c):l},c.paddingLeft=function(t){return arguments.length?(u="function"==typeof t?t:P(+t),c):u},c}function nt(t,e,r,n,i){var a,o,s=t.children,l=s.length,u=new Array(l+1);for(u[0]=o=a=0;a<l;++a)u[a+1]=o+=s[a].value;!function t(e,r,n,i,a,o,l){if(e>=r-1){var c=s[e];return c.x0=i,c.y0=a,c.x1=o,void(c.y1=l)}for(var f=u[e],h=n/2+f,p=e+1,d=r-1;p<d;){var v=p+d>>>1;u[v]<h?p=v+1:d=v}h-u[p-1]<u[p]-h&&e+1<p&&--p;var g=u[p]-f,y=n-g;if(o-i>l-a){var m=(i*y+o*g)/n;t(e,p,g,i,a,m,l),t(p,r,y,m,a,o,l)}else{var x=(a*y+l*g)/n;t(e,p,g,i,a,o,x),t(p,r,y,i,x,o,l)}}(0,l,t.value,e,r,n,i)}function it(t,e,r,n,i){(1&t.depth?$:B)(t,e,r,n,i)}var at=function t(e){function r(t,r,n,i,a){if((o=t._squarify)&&o.ratio===e)for(var o,s,l,u,c,f=-1,h=o.length,p=t.value;++f<h;){for(l=(s=o[f]).children,u=s.value=0,c=l.length;u<c;++u)s.value+=l[u].value;s.dice?B(s,r,n,i,n+=(a-n)*s.value/p):$(s,r,n,r+=(i-r)*s.value/p,a),p-=s.value}else t._squarify=o=tt(e,t,r,n,i,a),o.ratio=e}return r.ratio=function(e){return t((e=+e)>1?e:1)},r}(Q)},29502:function(t,e,r){"use strict";function n(t,e,r){t.prototype=e.prototype=r,r.constructor=t}function i(t,e){var r=Object.create(t.prototype);for(var n in e)r[n]=e[n];return r}function a(){}r.d(e,{sX:function(){return Y},k4:function(){return U}});var o=.7,s=1/o,l="\\s*([+-]?\\d+)\\s*",u="\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)\\s*",c="\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)%\\s*",f=/^#([0-9a-f]{3,8})$/,h=new RegExp("^rgb\\("+[l,l,l]+"\\)$"),p=new RegExp("^rgb\\("+[c,c,c]+"\\)$"),d=new RegExp("^rgba\\("+[l,l,l,u]+"\\)$"),v=new RegExp("^rgba\\("+[c,c,c,u]+"\\)$"),g=new RegExp("^hsl\\("+[u,c,c]+"\\)$"),y=new RegExp("^hsla\\("+[u,c,c,u]+"\\)$"),m={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};function x(){return this.rgb().formatHex()}function b(){return this.rgb().formatRgb()}function _(t){var e,r;return t=(t+"").trim().toLowerCase(),(e=f.exec(t))?(r=e[1].length,e=parseInt(e[1],16),6===r?w(e):3===r?new M(e>>8&15|e>>4&240,e>>4&15|240&e,(15&e)<<4|15&e,1):8===r?T(e>>24&255,e>>16&255,e>>8&255,(255&e)/255):4===r?T(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|240&e,((15&e)<<4|15&e)/255):null):(e=h.exec(t))?new M(e[1],e[2],e[3],1):(e=p.exec(t))?new M(255*e[1]/100,255*e[2]/100,255*e[3]/100,1):(e=d.exec(t))?T(e[1],e[2],e[3],e[4]):(e=v.exec(t))?T(255*e[1]/100,255*e[2]/100,255*e[3]/100,e[4]):(e=g.exec(t))?C(e[1],e[2]/100,e[3]/100,1):(e=y.exec(t))?C(e[1],e[2]/100,e[3]/100,e[4]):m.hasOwnProperty(t)?w(m[t]):"transparent"===t?new M(NaN,NaN,NaN,0):null}function w(t){return new M(t>>16&255,t>>8&255,255&t,1)}function T(t,e,r,n){return n<=0&&(t=e=r=NaN),new M(t,e,r,n)}function k(t){return t instanceof a||(t=_(t)),t?new M((t=t.rgb()).r,t.g,t.b,t.opacity):new M}function A(t,e,r,n){return 1===arguments.length?k(t):new M(t,e,r,null==n?1:n)}function M(t,e,r,n){this.r=+t,this.g=+e,this.b=+r,this.opacity=+n}function S(){return"#"+L(this.r)+L(this.g)+L(this.b)}function E(){var t=this.opacity;return(1===(t=isNaN(t)?1:Math.max(0,Math.min(1,t)))?"rgb(":"rgba(")+Math.max(0,Math.min(255,Math.round(this.r)||0))+", "+Math.max(0,Math.min(255,Math.round(this.g)||0))+", "+Math.max(0,Math.min(255,Math.round(this.b)||0))+(1===t?")":", "+t+")")}function L(t){return((t=Math.max(0,Math.min(255,Math.round(t)||0)))<16?"0":"")+t.toString(16)}function C(t,e,r,n){return n<=0?t=e=r=NaN:r<=0||r>=1?t=e=NaN:e<=0&&(t=NaN),new O(t,e,r,n)}function P(t){if(t instanceof O)return new O(t.h,t.s,t.l,t.opacity);if(t instanceof a||(t=_(t)),!t)return new O;if(t instanceof O)return t;var e=(t=t.rgb()).r/255,r=t.g/255,n=t.b/255,i=Math.min(e,r,n),o=Math.max(e,r,n),s=NaN,l=o-i,u=(o+i)/2;return l?(s=e===o?(r-n)/l+6*(r<n):r===o?(n-e)/l+2:(e-r)/l+4,l/=u<.5?o+i:2-o-i,s*=60):l=u>0&&u<1?0:s,new O(s,l,u,t.opacity)}function O(t,e,r,n){this.h=+t,this.s=+e,this.l=+r,this.opacity=+n}function I(t,e,r){return 255*(t<60?e+(r-e)*t/60:t<180?r:t<240?e+(r-e)*(240-t)/60:e)}function D(t,e,r,n,i){var a=t*t,o=a*t;return((1-3*t+3*a-o)*e+(4-6*a+3*o)*r+(1+3*t+3*a-3*o)*n+o*i)/6}function z(t){return function(){return t}}function R(t,e){var r=e-t;return r?function(t,e){return function(r){return t+r*e}}(t,r):z(isNaN(t)?e:t)}n(a,_,{copy:function(t){return Object.assign(new this.constructor,this,t)},displayable:function(){return this.rgb().displayable()},hex:x,formatHex:x,formatHsl:function(){return P(this).formatHsl()},formatRgb:b,toString:b}),n(M,A,i(a,{brighter:function(t){return t=null==t?s:Math.pow(s,t),new M(this.r*t,this.g*t,this.b*t,this.opacity)},darker:function(t){return t=null==t?o:Math.pow(o,t),new M(this.r*t,this.g*t,this.b*t,this.opacity)},rgb:function(){return this},displayable:function(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:S,formatHex:S,formatRgb:E,toString:E})),n(O,(function(t,e,r,n){return 1===arguments.length?P(t):new O(t,e,r,null==n?1:n)}),i(a,{brighter:function(t){return t=null==t?s:Math.pow(s,t),new O(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?o:Math.pow(o,t),new O(this.h,this.s,this.l*t,this.opacity)},rgb:function(){var t=this.h%360+360*(this.h<0),e=isNaN(t)||isNaN(this.s)?0:this.s,r=this.l,n=r+(r<.5?r:1-r)*e,i=2*r-n;return new M(I(t>=240?t-240:t+120,i,n),I(t,i,n),I(t<120?t+240:t-120,i,n),this.opacity)},displayable:function(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl:function(){var t=this.opacity;return(1===(t=isNaN(t)?1:Math.max(0,Math.min(1,t)))?"hsl(":"hsla(")+(this.h||0)+", "+100*(this.s||0)+"%, "+100*(this.l||0)+"%"+(1===t?")":", "+t+")")}}));var F=function t(e){var r=function(t){return 1==(t=+t)?R:function(e,r){return r-e?function(t,e,r){return t=Math.pow(t,r),e=Math.pow(e,r)-t,r=1/r,function(n){return Math.pow(t+n*e,r)}}(e,r,t):z(isNaN(e)?r:e)}}(e);function n(t,e){var n=r((t=A(t)).r,(e=A(e)).r),i=r(t.g,e.g),a=r(t.b,e.b),o=R(t.opacity,e.opacity);return function(e){return t.r=n(e),t.g=i(e),t.b=a(e),t.opacity=o(e),t+""}}return n.gamma=t,n}(1);function B(t){return function(e){var r,n,i=e.length,a=new Array(i),o=new Array(i),s=new Array(i);for(r=0;r<i;++r)n=A(e[r]),a[r]=n.r||0,o[r]=n.g||0,s[r]=n.b||0;return a=t(a),o=t(o),s=t(s),n.opacity=1,function(t){return n.r=a(t),n.g=o(t),n.b=s(t),n+""}}}function N(t,e){var r,n=e?e.length:0,i=t?Math.min(n,t.length):0,a=new Array(i),o=new Array(n);for(r=0;r<i;++r)a[r]=Y(t[r],e[r]);for(;r<n;++r)o[r]=e[r];return function(t){for(r=0;r<i;++r)o[r]=a[r](t);return o}}function j(t,e){var r=new Date;return t=+t,e=+e,function(n){return r.setTime(t*(1-n)+e*n),r}}function U(t,e){return t=+t,e=+e,function(r){return t*(1-r)+e*r}}function V(t,e){var r,n={},i={};for(r in null!==t&&"object"==typeof t||(t={}),null!==e&&"object"==typeof e||(e={}),e)r in t?n[r]=Y(t[r],e[r]):i[r]=e[r];return function(t){for(r in n)i[r]=n[r](t);return i}}B((function(t){var e=t.length-1;return function(r){var n=r<=0?r=0:r>=1?(r=1,e-1):Math.floor(r*e),i=t[n],a=t[n+1],o=n>0?t[n-1]:2*i-a,s=n<e-1?t[n+2]:2*a-i;return D((r-n/e)*e,o,i,a,s)}})),B((function(t){var e=t.length;return function(r){var n=Math.floor(((r%=1)<0?++r:r)*e),i=t[(n+e-1)%e],a=t[n%e],o=t[(n+1)%e],s=t[(n+2)%e];return D((r-n/e)*e,i,a,o,s)}}));var H=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,q=new RegExp(H.source,"g");function G(t,e){var r,n,i,a=H.lastIndex=q.lastIndex=0,o=-1,s=[],l=[];for(t+="",e+="";(r=H.exec(t))&&(n=q.exec(e));)(i=n.index)>a&&(i=e.slice(a,i),s[o]?s[o]+=i:s[++o]=i),(r=r[0])===(n=n[0])?s[o]?s[o]+=n:s[++o]=n:(s[++o]=null,l.push({i:o,x:U(r,n)})),a=q.lastIndex;return a<e.length&&(i=e.slice(a),s[o]?s[o]+=i:s[++o]=i),s.length<2?l[0]?function(t){return function(e){return t(e)+""}}(l[0].x):function(t){return function(){return t}}(e):(e=l.length,function(t){for(var r,n=0;n<e;++n)s[(r=l[n]).i]=r.x(t);return s.join("")})}function Z(t,e){e||(e=[]);var r,n=t?Math.min(e.length,t.length):0,i=e.slice();return function(a){for(r=0;r<n;++r)i[r]=t[r]*(1-a)+e[r]*a;return i}}function Y(t,e){var r,n,i=typeof e;return null==e||"boolean"===i?z(e):("number"===i?U:"string"===i?(r=_(e))?(e=r,F):G:e instanceof _?F:e instanceof Date?j:(n=e,!ArrayBuffer.isView(n)||n instanceof DataView?Array.isArray(e)?N:"function"!=typeof e.valueOf&&"function"!=typeof e.toString||isNaN(e)?V:U:Z))(t,e)}},45879:function(t,e,r){"use strict";r.d(e,{h5:function(){return y}});var n=Math.PI,i=2*n,a=1e-6,o=i-a;function s(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function l(){return new s}s.prototype=l.prototype={constructor:s,moveTo:function(t,e){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)},closePath:function(){null!==this._x1&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},lineTo:function(t,e){this._+="L"+(this._x1=+t)+","+(this._y1=+e)},quadraticCurveTo:function(t,e,r,n){this._+="Q"+ +t+","+ +e+","+(this._x1=+r)+","+(this._y1=+n)},bezierCurveTo:function(t,e,r,n,i,a){this._+="C"+ +t+","+ +e+","+ +r+","+ +n+","+(this._x1=+i)+","+(this._y1=+a)},arcTo:function(t,e,r,i,o){t=+t,e=+e,r=+r,i=+i,o=+o;var s=this._x1,l=this._y1,u=r-t,c=i-e,f=s-t,h=l-e,p=f*f+h*h;if(o<0)throw new Error("negative radius: "+o);if(null===this._x1)this._+="M"+(this._x1=t)+","+(this._y1=e);else if(p>a)if(Math.abs(h*u-c*f)>a&&o){var d=r-s,v=i-l,g=u*u+c*c,y=d*d+v*v,m=Math.sqrt(g),x=Math.sqrt(p),b=o*Math.tan((n-Math.acos((g+p-y)/(2*m*x)))/2),_=b/x,w=b/m;Math.abs(_-1)>a&&(this._+="L"+(t+_*f)+","+(e+_*h)),this._+="A"+o+","+o+",0,0,"+ +(h*d>f*v)+","+(this._x1=t+w*u)+","+(this._y1=e+w*c)}else this._+="L"+(this._x1=t)+","+(this._y1=e)},arc:function(t,e,r,s,l,u){t=+t,e=+e,u=!!u;var c=(r=+r)*Math.cos(s),f=r*Math.sin(s),h=t+c,p=e+f,d=1^u,v=u?s-l:l-s;if(r<0)throw new Error("negative radius: "+r);null===this._x1?this._+="M"+h+","+p:(Math.abs(this._x1-h)>a||Math.abs(this._y1-p)>a)&&(this._+="L"+h+","+p),r&&(v<0&&(v=v%i+i),v>o?this._+="A"+r+","+r+",0,1,"+d+","+(t-c)+","+(e-f)+"A"+r+","+r+",0,1,"+d+","+(this._x1=h)+","+(this._y1=p):v>a&&(this._+="A"+r+","+r+",0,"+ +(v>=n)+","+d+","+(this._x1=t+r*Math.cos(l))+","+(this._y1=e+r*Math.sin(l))))},rect:function(t,e,r,n){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)+"h"+ +r+"v"+ +n+"h"+-r+"Z"},toString:function(){return this._}};var u=l,c=Array.prototype.slice;function f(t){return function(){return t}}function h(t){return t[0]}function p(t){return t[1]}function d(t){return t.source}function v(t){return t.target}function g(t,e,r,n,i){t.moveTo(e,r),t.bezierCurveTo(e=(e+n)/2,r,e,i,n,i)}function y(){return function(t){var e=d,r=v,n=h,i=p,a=null;function o(){var o,s=c.call(arguments),l=e.apply(this,s),f=r.apply(this,s);if(a||(a=o=u()),t(a,+n.apply(this,(s[0]=l,s)),+i.apply(this,s),+n.apply(this,(s[0]=f,s)),+i.apply(this,s)),o)return a=null,o+""||null}return o.source=function(t){return arguments.length?(e=t,o):e},o.target=function(t){return arguments.length?(r=t,o):r},o.x=function(t){return arguments.length?(n="function"==typeof t?t:f(+t),o):n},o.y=function(t){return arguments.length?(i="function"==typeof t?t:f(+t),o):i},o.context=function(t){return arguments.length?(a=null==t?null:t,o):a},o}(g)}},84096:function(t,e,r){"use strict";r.d(e,{i$:function(){return d},Dq:function(){return h},g0:function(){return v}});var n=r(58176),i=r(48480),a=r(59879),o=r(82301),s=r(34823),l=r(79791);function u(t){if(0<=t.y&&t.y<100){var e=new Date(-1,t.m,t.d,t.H,t.M,t.S,t.L);return e.setFullYear(t.y),e}return new Date(t.y,t.m,t.d,t.H,t.M,t.S,t.L)}function c(t){if(0<=t.y&&t.y<100){var e=new Date(Date.UTC(-1,t.m,t.d,t.H,t.M,t.S,t.L));return e.setUTCFullYear(t.y),e}return new Date(Date.UTC(t.y,t.m,t.d,t.H,t.M,t.S,t.L))}function f(t,e,r){return{y:t,m:e,d:r,H:0,M:0,S:0,L:0}}function h(t){var e=t.dateTime,r=t.date,s=t.time,l=t.periods,h=t.days,p=t.shortDays,d=t.months,v=t.shortMonths,y=w(l),m=T(l),x=w(h),b=T(h),_=w(p),St=T(p),Et=w(d),Lt=T(d),Ct=w(v),Pt=T(v),Ot={a:function(t){return p[t.getDay()]},A:function(t){return h[t.getDay()]},b:function(t){return v[t.getMonth()]},B:function(t){return d[t.getMonth()]},c:null,d:q,e:q,f:X,H:G,I:Z,j:Y,L:W,m:J,M:K,p:function(t){return l[+(t.getHours()>=12)]},q:function(t){return 1+~~(t.getMonth()/3)},Q:At,s:Mt,S:$,u:Q,U:tt,V:et,w:rt,W:nt,x:null,X:null,y:it,Y:at,Z:ot,"%":kt},It={a:function(t){return p[t.getUTCDay()]},A:function(t){return h[t.getUTCDay()]},b:function(t){return v[t.getUTCMonth()]},B:function(t){return d[t.getUTCMonth()]},c:null,d:st,e:st,f:ht,H:lt,I:ut,j:ct,L:ft,m:pt,M:dt,p:function(t){return l[+(t.getUTCHours()>=12)]},q:function(t){return 1+~~(t.getUTCMonth()/3)},Q:At,s:Mt,S:vt,u:gt,U:yt,V:mt,w:xt,W:bt,x:null,X:null,y:_t,Y:wt,Z:Tt,"%":kt},Dt={a:function(t,e,r){var n=_.exec(e.slice(r));return n?(t.w=St[n[0].toLowerCase()],r+n[0].length):-1},A:function(t,e,r){var n=x.exec(e.slice(r));return n?(t.w=b[n[0].toLowerCase()],r+n[0].length):-1},b:function(t,e,r){var n=Ct.exec(e.slice(r));return n?(t.m=Pt[n[0].toLowerCase()],r+n[0].length):-1},B:function(t,e,r){var n=Et.exec(e.slice(r));return n?(t.m=Lt[n[0].toLowerCase()],r+n[0].length):-1},c:function(t,r,n){return Ft(t,e,r,n)},d:D,e:D,f:j,H:R,I:R,j:z,L:N,m:I,M:F,p:function(t,e,r){var n=y.exec(e.slice(r));return n?(t.p=m[n[0].toLowerCase()],r+n[0].length):-1},q:O,Q:V,s:H,S:B,u:A,U:M,V:S,w:k,W:E,x:function(t,e,n){return Ft(t,r,e,n)},X:function(t,e,r){return Ft(t,s,e,r)},y:C,Y:L,Z:P,"%":U};function zt(t,e){return function(r){var n,i,a,o=[],s=-1,l=0,u=t.length;for(r instanceof Date||(r=new Date(+r));++s<u;)37===t.charCodeAt(s)&&(o.push(t.slice(l,s)),null!=(i=g[n=t.charAt(++s)])?n=t.charAt(++s):i="e"===n?" ":"0",(a=e[n])&&(n=a(r,i)),o.push(n),l=s+1);return o.push(t.slice(l,s)),o.join("")}}function Rt(t,e){return function(r){var s,l,h=f(1900,void 0,1);if(Ft(h,t,r+="",0)!=r.length)return null;if("Q"in h)return new Date(h.Q);if("s"in h)return new Date(1e3*h.s+("L"in h?h.L:0));if(e&&!("Z"in h)&&(h.Z=0),"p"in h&&(h.H=h.H%12+12*h.p),void 0===h.m&&(h.m="q"in h?h.q:0),"V"in h){if(h.V<1||h.V>53)return null;"w"in h||(h.w=1),"Z"in h?(l=(s=c(f(h.y,0,1))).getUTCDay(),s=l>4||0===l?n.l6.ceil(s):(0,n.l6)(s),s=i.Z.offset(s,7*(h.V-1)),h.y=s.getUTCFullYear(),h.m=s.getUTCMonth(),h.d=s.getUTCDate()+(h.w+6)%7):(l=(s=u(f(h.y,0,1))).getDay(),s=l>4||0===l?a.wA.ceil(s):(0,a.wA)(s),s=o.Z.offset(s,7*(h.V-1)),h.y=s.getFullYear(),h.m=s.getMonth(),h.d=s.getDate()+(h.w+6)%7)}else("W"in h||"U"in h)&&("w"in h||(h.w="u"in h?h.u%7:"W"in h?1:0),l="Z"in h?c(f(h.y,0,1)).getUTCDay():u(f(h.y,0,1)).getDay(),h.m=0,h.d="W"in h?(h.w+6)%7+7*h.W-(l+5)%7:h.w+7*h.U-(l+6)%7);return"Z"in h?(h.H+=h.Z/100|0,h.M+=h.Z%100,c(h)):u(h)}}function Ft(t,e,r,n){for(var i,a,o=0,s=e.length,l=r.length;o<s;){if(n>=l)return-1;if(37===(i=e.charCodeAt(o++))){if(i=e.charAt(o++),!(a=Dt[i in g?e.charAt(o++):i])||(n=a(t,r,n))<0)return-1}else if(i!=r.charCodeAt(n++))return-1}return n}return Ot.x=zt(r,Ot),Ot.X=zt(s,Ot),Ot.c=zt(e,Ot),It.x=zt(r,It),It.X=zt(s,It),It.c=zt(e,It),{format:function(t){var e=zt(t+="",Ot);return e.toString=function(){return t},e},parse:function(t){var e=Rt(t+="",!1);return e.toString=function(){return t},e},utcFormat:function(t){var e=zt(t+="",It);return e.toString=function(){return t},e},utcParse:function(t){var e=Rt(t+="",!0);return e.toString=function(){return t},e}}}var p,d,v,g={"-":"",_:" ",0:"0"},y=/^\s*\d+/,m=/^%/,x=/[\\^$*+?|[\]().{}]/g;function b(t,e,r){var n=t<0?"-":"",i=(n?-t:t)+"",a=i.length;return n+(a<r?new Array(r-a+1).join(e)+i:i)}function _(t){return t.replace(x,"\\$&")}function w(t){return new RegExp("^(?:"+t.map(_).join("|")+")","i")}function T(t){for(var e={},r=-1,n=t.length;++r<n;)e[t[r].toLowerCase()]=r;return e}function k(t,e,r){var n=y.exec(e.slice(r,r+1));return n?(t.w=+n[0],r+n[0].length):-1}function A(t,e,r){var n=y.exec(e.slice(r,r+1));return n?(t.u=+n[0],r+n[0].length):-1}function M(t,e,r){var n=y.exec(e.slice(r,r+2));return n?(t.U=+n[0],r+n[0].length):-1}function S(t,e,r){var n=y.exec(e.slice(r,r+2));return n?(t.V=+n[0],r+n[0].length):-1}function E(t,e,r){var n=y.exec(e.slice(r,r+2));return n?(t.W=+n[0],r+n[0].length):-1}function L(t,e,r){var n=y.exec(e.slice(r,r+4));return n?(t.y=+n[0],r+n[0].length):-1}function C(t,e,r){var n=y.exec(e.slice(r,r+2));return n?(t.y=+n[0]+(+n[0]>68?1900:2e3),r+n[0].length):-1}function P(t,e,r){var n=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(r,r+6));return n?(t.Z=n[1]?0:-(n[2]+(n[3]||"00")),r+n[0].length):-1}function O(t,e,r){var n=y.exec(e.slice(r,r+1));return n?(t.q=3*n[0]-3,r+n[0].length):-1}function I(t,e,r){var n=y.exec(e.slice(r,r+2));return n?(t.m=n[0]-1,r+n[0].length):-1}function D(t,e,r){var n=y.exec(e.slice(r,r+2));return n?(t.d=+n[0],r+n[0].length):-1}function z(t,e,r){var n=y.exec(e.slice(r,r+3));return n?(t.m=0,t.d=+n[0],r+n[0].length):-1}function R(t,e,r){var n=y.exec(e.slice(r,r+2));return n?(t.H=+n[0],r+n[0].length):-1}function F(t,e,r){var n=y.exec(e.slice(r,r+2));return n?(t.M=+n[0],r+n[0].length):-1}function B(t,e,r){var n=y.exec(e.slice(r,r+2));return n?(t.S=+n[0],r+n[0].length):-1}function N(t,e,r){var n=y.exec(e.slice(r,r+3));return n?(t.L=+n[0],r+n[0].length):-1}function j(t,e,r){var n=y.exec(e.slice(r,r+6));return n?(t.L=Math.floor(n[0]/1e3),r+n[0].length):-1}function U(t,e,r){var n=m.exec(e.slice(r,r+1));return n?r+n[0].length:-1}function V(t,e,r){var n=y.exec(e.slice(r));return n?(t.Q=+n[0],r+n[0].length):-1}function H(t,e,r){var n=y.exec(e.slice(r));return n?(t.s=+n[0],r+n[0].length):-1}function q(t,e){return b(t.getDate(),e,2)}function G(t,e){return b(t.getHours(),e,2)}function Z(t,e){return b(t.getHours()%12||12,e,2)}function Y(t,e){return b(1+o.Z.count((0,s.Z)(t),t),e,3)}function W(t,e){return b(t.getMilliseconds(),e,3)}function X(t,e){return W(t,e)+"000"}function J(t,e){return b(t.getMonth()+1,e,2)}function K(t,e){return b(t.getMinutes(),e,2)}function $(t,e){return b(t.getSeconds(),e,2)}function Q(t){var e=t.getDay();return 0===e?7:e}function tt(t,e){return b(a.OM.count((0,s.Z)(t)-1,t),e,2)}function et(t,e){var r=t.getDay();return t=r>=4||0===r?(0,a.bL)(t):a.bL.ceil(t),b(a.bL.count((0,s.Z)(t),t)+(4===(0,s.Z)(t).getDay()),e,2)}function rt(t){return t.getDay()}function nt(t,e){return b(a.wA.count((0,s.Z)(t)-1,t),e,2)}function it(t,e){return b(t.getFullYear()%100,e,2)}function at(t,e){return b(t.getFullYear()%1e4,e,4)}function ot(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+b(e/60|0,"0",2)+b(e%60,"0",2)}function st(t,e){return b(t.getUTCDate(),e,2)}function lt(t,e){return b(t.getUTCHours(),e,2)}function ut(t,e){return b(t.getUTCHours()%12||12,e,2)}function ct(t,e){return b(1+i.Z.count((0,l.Z)(t),t),e,3)}function ft(t,e){return b(t.getUTCMilliseconds(),e,3)}function ht(t,e){return ft(t,e)+"000"}function pt(t,e){return b(t.getUTCMonth()+1,e,2)}function dt(t,e){return b(t.getUTCMinutes(),e,2)}function vt(t,e){return b(t.getUTCSeconds(),e,2)}function gt(t){var e=t.getUTCDay();return 0===e?7:e}function yt(t,e){return b(n.Ox.count((0,l.Z)(t)-1,t),e,2)}function mt(t,e){var r=t.getUTCDay();return t=r>=4||0===r?(0,n.hB)(t):n.hB.ceil(t),b(n.hB.count((0,l.Z)(t),t)+(4===(0,l.Z)(t).getUTCDay()),e,2)}function xt(t){return t.getUTCDay()}function bt(t,e){return b(n.l6.count((0,l.Z)(t)-1,t),e,2)}function _t(t,e){return b(t.getUTCFullYear()%100,e,2)}function wt(t,e){return b(t.getUTCFullYear()%1e4,e,4)}function Tt(){return"+0000"}function kt(){return"%"}function At(t){return+t}function Mt(t){return Math.floor(+t/1e3)}p=h({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]}),d=p.format,p.parse,v=p.utcFormat,p.utcParse},82301:function(t,e,r){"use strict";r.d(e,{a:function(){return o}});var n=r(30052),i=r(54263),a=(0,n.Z)((function(t){t.setHours(0,0,0,0)}),(function(t,e){t.setDate(t.getDate()+e)}),(function(t,e){return(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*i.yB)/i.UD}),(function(t){return t.getDate()-1}));e.Z=a;var o=a.range},54263:function(t,e,r){"use strict";r.d(e,{UD:function(){return o},Y2:function(){return a},Ym:function(){return n},iM:function(){return s},yB:function(){return i}});var n=1e3,i=6e4,a=36e5,o=864e5,s=6048e5},81041:function(t,e,r){"use strict";r.r(e),r.d(e,{timeDay:function(){return y.Z},timeDays:function(){return y.a},timeFriday:function(){return m.mC},timeFridays:function(){return m.b$},timeHour:function(){return v},timeHours:function(){return g},timeInterval:function(){return n.Z},timeMillisecond:function(){return a},timeMilliseconds:function(){return o},timeMinute:function(){return h},timeMinutes:function(){return p},timeMonday:function(){return m.wA},timeMondays:function(){return m.bJ},timeMonth:function(){return b},timeMonths:function(){return _},timeSaturday:function(){return m.EY},timeSaturdays:function(){return m.Ff},timeSecond:function(){return u},timeSeconds:function(){return c},timeSunday:function(){return m.OM},timeSundays:function(){return m.vm},timeThursday:function(){return m.bL},timeThursdays:function(){return m.$t},timeTuesday:function(){return m.sy},timeTuesdays:function(){return m.aU},timeWednesday:function(){return m.zg},timeWednesdays:function(){return m.Ld},timeWeek:function(){return m.OM},timeWeeks:function(){return m.vm},timeYear:function(){return w.Z},timeYears:function(){return w.g},utcDay:function(){return L.Z},utcDays:function(){return L.y},utcFriday:function(){return C.QQ},utcFridays:function(){return C.fz},utcHour:function(){return S},utcHours:function(){return E},utcMillisecond:function(){return a},utcMilliseconds:function(){return o},utcMinute:function(){return k},utcMinutes:function(){return A},utcMonday:function(){return C.l6},utcMondays:function(){return C.$3},utcMonth:function(){return O},utcMonths:function(){return I},utcSaturday:function(){return C.g4},utcSaturdays:function(){return C.Q_},utcSecond:function(){return u},utcSeconds:function(){return c},utcSunday:function(){return C.Ox},utcSundays:function(){return C.SU},utcThursday:function(){return C.hB},utcThursdays:function(){return C.xj},utcTuesday:function(){return C.J1},utcTuesdays:function(){return C.DK},utcWednesday:function(){return C.b3},utcWednesdays:function(){return C.uy},utcWeek:function(){return C.Ox},utcWeeks:function(){return C.SU},utcYear:function(){return D.Z},utcYears:function(){return D.D}});var n=r(30052),i=(0,n.Z)((function(){}),(function(t,e){t.setTime(+t+e)}),(function(t,e){return e-t}));i.every=function(t){return t=Math.floor(t),isFinite(t)&&t>0?t>1?(0,n.Z)((function(e){e.setTime(Math.floor(e/t)*t)}),(function(e,r){e.setTime(+e+r*t)}),(function(e,r){return(r-e)/t})):i:null};var a=i,o=i.range,s=r(54263),l=(0,n.Z)((function(t){t.setTime(t-t.getMilliseconds())}),(function(t,e){t.setTime(+t+e*s.Ym)}),(function(t,e){return(e-t)/s.Ym}),(function(t){return t.getUTCSeconds()})),u=l,c=l.range,f=(0,n.Z)((function(t){t.setTime(t-t.getMilliseconds()-t.getSeconds()*s.Ym)}),(function(t,e){t.setTime(+t+e*s.yB)}),(function(t,e){return(e-t)/s.yB}),(function(t){return t.getMinutes()})),h=f,p=f.range,d=(0,n.Z)((function(t){t.setTime(t-t.getMilliseconds()-t.getSeconds()*s.Ym-t.getMinutes()*s.yB)}),(function(t,e){t.setTime(+t+e*s.Y2)}),(function(t,e){return(e-t)/s.Y2}),(function(t){return t.getHours()})),v=d,g=d.range,y=r(82301),m=r(59879),x=(0,n.Z)((function(t){t.setDate(1),t.setHours(0,0,0,0)}),(function(t,e){t.setMonth(t.getMonth()+e)}),(function(t,e){return e.getMonth()-t.getMonth()+12*(e.getFullYear()-t.getFullYear())}),(function(t){return t.getMonth()})),b=x,_=x.range,w=r(34823),T=(0,n.Z)((function(t){t.setUTCSeconds(0,0)}),(function(t,e){t.setTime(+t+e*s.yB)}),(function(t,e){return(e-t)/s.yB}),(function(t){return t.getUTCMinutes()})),k=T,A=T.range,M=(0,n.Z)((function(t){t.setUTCMinutes(0,0,0)}),(function(t,e){t.setTime(+t+e*s.Y2)}),(function(t,e){return(e-t)/s.Y2}),(function(t){return t.getUTCHours()})),S=M,E=M.range,L=r(48480),C=r(58176),P=(0,n.Z)((function(t){t.setUTCDate(1),t.setUTCHours(0,0,0,0)}),(function(t,e){t.setUTCMonth(t.getUTCMonth()+e)}),(function(t,e){return e.getUTCMonth()-t.getUTCMonth()+12*(e.getUTCFullYear()-t.getUTCFullYear())}),(function(t){return t.getUTCMonth()})),O=P,I=P.range,D=r(79791)},30052:function(t,e,r){"use strict";r.d(e,{Z:function(){return a}});var n=new Date,i=new Date;function a(t,e,r,o){function s(e){return t(e=0===arguments.length?new Date:new Date(+e)),e}return s.floor=function(e){return t(e=new Date(+e)),e},s.ceil=function(r){return t(r=new Date(r-1)),e(r,1),t(r),r},s.round=function(t){var e=s(t),r=s.ceil(t);return t-e<r-t?e:r},s.offset=function(t,r){return e(t=new Date(+t),null==r?1:Math.floor(r)),t},s.range=function(r,n,i){var a,o=[];if(r=s.ceil(r),i=null==i?1:Math.floor(i),!(r<n&&i>0))return o;do{o.push(a=new Date(+r)),e(r,i),t(r)}while(a<r&&r<n);return o},s.filter=function(r){return a((function(e){if(e>=e)for(;t(e),!r(e);)e.setTime(e-1)}),(function(t,n){if(t>=t)if(n<0)for(;++n<=0;)for(;e(t,-1),!r(t););else for(;--n>=0;)for(;e(t,1),!r(t););}))},r&&(s.count=function(e,a){return n.setTime(+e),i.setTime(+a),t(n),t(i),Math.floor(r(n,i))},s.every=function(t){return t=Math.floor(t),isFinite(t)&&t>0?t>1?s.filter(o?function(e){return o(e)%t==0}:function(e){return s.count(0,e)%t==0}):s:null}),s}},48480:function(t,e,r){"use strict";r.d(e,{y:function(){return o}});var n=r(30052),i=r(54263),a=(0,n.Z)((function(t){t.setUTCHours(0,0,0,0)}),(function(t,e){t.setUTCDate(t.getUTCDate()+e)}),(function(t,e){return(e-t)/i.UD}),(function(t){return t.getUTCDate()-1}));e.Z=a;var o=a.range},58176:function(t,e,r){"use strict";r.d(e,{$3:function(){return d},DK:function(){return v},J1:function(){return l},Ox:function(){return o},QQ:function(){return f},Q_:function(){return x},SU:function(){return p},b3:function(){return u},fz:function(){return m},g4:function(){return h},hB:function(){return c},l6:function(){return s},uy:function(){return g},xj:function(){return y}});var n=r(30052),i=r(54263);function a(t){return(0,n.Z)((function(e){e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)}),(function(t,e){t.setUTCDate(t.getUTCDate()+7*e)}),(function(t,e){return(e-t)/i.iM}))}var o=a(0),s=a(1),l=a(2),u=a(3),c=a(4),f=a(5),h=a(6),p=o.range,d=s.range,v=l.range,g=u.range,y=c.range,m=f.range,x=h.range},79791:function(t,e,r){"use strict";r.d(e,{D:function(){return a}});var n=r(30052),i=(0,n.Z)((function(t){t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)}),(function(t,e){t.setUTCFullYear(t.getUTCFullYear()+e)}),(function(t,e){return e.getUTCFullYear()-t.getUTCFullYear()}),(function(t){return t.getUTCFullYear()}));i.every=function(t){return isFinite(t=Math.floor(t))&&t>0?(0,n.Z)((function(e){e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)}),(function(e,r){e.setUTCFullYear(e.getUTCFullYear()+r*t)})):null},e.Z=i;var a=i.range},59879:function(t,e,r){"use strict";r.d(e,{$t:function(){return y},EY:function(){return h},Ff:function(){return x},Ld:function(){return g},OM:function(){return o},aU:function(){return v},b$:function(){return m},bJ:function(){return d},bL:function(){return c},mC:function(){return f},sy:function(){return l},vm:function(){return p},wA:function(){return s},zg:function(){return u}});var n=r(30052),i=r(54263);function a(t){return(0,n.Z)((function(e){e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)}),(function(t,e){t.setDate(t.getDate()+7*e)}),(function(t,e){return(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*i.yB)/i.iM}))}var o=a(0),s=a(1),l=a(2),u=a(3),c=a(4),f=a(5),h=a(6),p=o.range,d=s.range,v=l.range,g=u.range,y=c.range,m=f.range,x=h.range},34823:function(t,e,r){"use strict";r.d(e,{g:function(){return a}});var n=r(30052),i=(0,n.Z)((function(t){t.setMonth(0,1),t.setHours(0,0,0,0)}),(function(t,e){t.setFullYear(t.getFullYear()+e)}),(function(t,e){return e.getFullYear()-t.getFullYear()}),(function(t){return t.getFullYear()}));i.every=function(t){return isFinite(t=Math.floor(t))&&t>0?(0,n.Z)((function(e){e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)}),(function(e,r){e.setFullYear(e.getFullYear()+r*t)})):null},e.Z=i;var a=i.range},17045:function(t,e,r){"use strict";var n=r(8709),i="function"==typeof Symbol&&"symbol"==typeof Symbol("foo"),a=Object.prototype.toString,o=Array.prototype.concat,s=Object.defineProperty,l=s&&function(){var t={};try{for(var e in s(t,"x",{enumerable:!1,value:t}),t)return!1;return t.x===t}catch(t){return!1}}(),u=function(t,e,r,n){var i;(!(e in t)||"function"==typeof(i=n)&&"[object Function]"===a.call(i)&&n())&&(l?s(t,e,{configurable:!0,enumerable:!1,value:r,writable:!0}):t[e]=r)},c=function(t,e){var r=arguments.length>2?arguments[2]:{},a=n(e);i&&(a=o.call(a,Object.getOwnPropertySymbols(e)));for(var s=0;s<a.length;s+=1)u(t,a[s],e[a[s]],r[a[s]])};c.supportsDescriptors=!!l,t.exports=c},46775:function(t){t.exports=function(){for(var t=0;t<arguments.length;t++)if(void 0!==arguments[t])return arguments[t]}},53545:function(t){"use strict";t.exports=n;var e=(n.canvas=document.createElement("canvas")).getContext("2d"),r=i([32,126]);function n(t,n){Array.isArray(t)&&(t=t.join(", "));var a,o={},s=16,l=.05;n&&(2===n.length&&"number"==typeof n[0]?a=i(n):Array.isArray(n)?a=n:(n.o?a=i(n.o):n.pairs&&(a=n.pairs),n.fontSize&&(s=n.fontSize),null!=n.threshold&&(l=n.threshold))),a||(a=r),e.font=s+"px "+t;for(var u=0;u<a.length;u++){var c=a[u],f=e.measureText(c[0]).width+e.measureText(c[1]).width,h=e.measureText(c).width;if(Math.abs(f-h)>s*l){var p=(h-f)/s;o[c]=1e3*p}}return o}function i(t){for(var e=[],r=t[0];r<=t[1];r++)for(var n=String.fromCharCode(r),i=t[0];i<t[1];i++){var a=n+String.fromCharCode(i);e.push(a)}return e}n.createPairs=i,n.ascii=r},31457:function(t,e,r){var n=r(65185),i=r(18625),a={M:"moveTo",C:"bezierCurveTo"};t.exports=function(t,e){t.beginPath(),i(n(e)).forEach((function(e){var r=e[0],n=e.slice(1);t[a[r]].apply(t,n)})),t.closePath()}},90660:function(t){t.exports=function(t){switch(t){case"int8":return Int8Array;case"int16":return Int16Array;case"int32":return Int32Array;case"uint8":return Uint8Array;case"uint16":return Uint16Array;case"uint32":return Uint32Array;case"float32":return Float32Array;case"float64":return Float64Array;case"array":return Array;case"uint8_clamped":return Uint8ClampedArray}}},12129:function(t){"use strict";function e(t,r,n){var i=0|t[n];if(i<=0)return[];var a,o=new Array(i);if(n===t.length-1)for(a=0;a<i;++a)o[a]=r;else for(a=0;a<i;++a)o[a]=e(t,r,n+1);return o}t.exports=function(t,r){switch(void 0===r&&(r=0),typeof t){case"number":if(t>0)return function(t,e){var r,n;for(r=new Array(t),n=0;n<t;++n)r[n]=e;return r}(0|t,r);break;case"object":if("number"==typeof t.length)return e(t,r,0)}return[]}},11474:function(t){"use strict";function e(t,e,a){a=a||2;var o,s,l,f,h,d,v,g=e&&e.length,y=g?e[0]*a:t.length,m=r(t,0,y,a,!0),x=[];if(!m||m.next===m.prev)return x;if(g&&(m=function(t,e,i,a){var o,s,l,f=[];for(o=0,s=e.length;o<s;o++)(l=r(t,e[o]*a,o<s-1?e[o+1]*a:t.length,a,!1))===l.next&&(l.steiner=!0),f.push(p(l));for(f.sort(u),o=0;o<f.length;o++)c(f[o],i),i=n(i,i.next);return i}(t,e,m,a)),t.length>80*a){o=l=t[0],s=f=t[1];for(var b=a;b<y;b+=a)(h=t[b])<o&&(o=h),(d=t[b+1])<s&&(s=d),h>l&&(l=h),d>f&&(f=d);v=0!==(v=Math.max(l-o,f-s))?1/v:0}return i(m,x,a,o,s,v),x}function r(t,e,r,n,i){var a,o;if(i===M(t,e,r,n)>0)for(a=e;a<r;a+=n)o=T(a,t[a],t[a+1],o);else for(a=r-n;a>=e;a-=n)o=T(a,t[a],t[a+1],o);return o&&y(o,o.next)&&(k(o),o=o.next),o}function n(t,e){if(!t)return t;e||(e=t);var r,n=t;do{if(r=!1,n.steiner||!y(n,n.next)&&0!==g(n.prev,n,n.next))n=n.next;else{if(k(n),(n=e=n.prev)===n.next)break;r=!0}}while(r||n!==e);return e}function i(t,e,r,u,c,f,p){if(t){!p&&f&&function(t,e,r,n){var i=t;do{null===i.z&&(i.z=h(i.x,i.y,e,r,n)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next}while(i!==t);i.prevZ.nextZ=null,i.prevZ=null,function(t){var e,r,n,i,a,o,s,l,u=1;do{for(r=t,t=null,a=null,o=0;r;){for(o++,n=r,s=0,e=0;e<u&&(s++,n=n.nextZ);e++);for(l=u;s>0||l>0&&n;)0!==s&&(0===l||!n||r.z<=n.z)?(i=r,r=r.nextZ,s--):(i=n,n=n.nextZ,l--),a?a.nextZ=i:t=i,i.prevZ=a,a=i;r=n}a.nextZ=null,u*=2}while(o>1)}(i)}(t,u,c,f);for(var d,v,g=t;t.prev!==t.next;)if(d=t.prev,v=t.next,f?o(t,u,c,f):a(t))e.push(d.i/r),e.push(t.i/r),e.push(v.i/r),k(t),t=v.next,g=v.next;else if((t=v)===g){p?1===p?i(t=s(n(t),e,r),e,r,u,c,f,2):2===p&&l(t,e,r,u,c,f):i(n(t),e,r,u,c,f,1);break}}}function a(t){var e=t.prev,r=t,n=t.next;if(g(e,r,n)>=0)return!1;for(var i=t.next.next;i!==t.prev;){if(d(e.x,e.y,r.x,r.y,n.x,n.y,i.x,i.y)&&g(i.prev,i,i.next)>=0)return!1;i=i.next}return!0}function o(t,e,r,n){var i=t.prev,a=t,o=t.next;if(g(i,a,o)>=0)return!1;for(var s=i.x<a.x?i.x<o.x?i.x:o.x:a.x<o.x?a.x:o.x,l=i.y<a.y?i.y<o.y?i.y:o.y:a.y<o.y?a.y:o.y,u=i.x>a.x?i.x>o.x?i.x:o.x:a.x>o.x?a.x:o.x,c=i.y>a.y?i.y>o.y?i.y:o.y:a.y>o.y?a.y:o.y,f=h(s,l,e,r,n),p=h(u,c,e,r,n),v=t.prevZ,y=t.nextZ;v&&v.z>=f&&y&&y.z<=p;){if(v!==t.prev&&v!==t.next&&d(i.x,i.y,a.x,a.y,o.x,o.y,v.x,v.y)&&g(v.prev,v,v.next)>=0)return!1;if(v=v.prevZ,y!==t.prev&&y!==t.next&&d(i.x,i.y,a.x,a.y,o.x,o.y,y.x,y.y)&&g(y.prev,y,y.next)>=0)return!1;y=y.nextZ}for(;v&&v.z>=f;){if(v!==t.prev&&v!==t.next&&d(i.x,i.y,a.x,a.y,o.x,o.y,v.x,v.y)&&g(v.prev,v,v.next)>=0)return!1;v=v.prevZ}for(;y&&y.z<=p;){if(y!==t.prev&&y!==t.next&&d(i.x,i.y,a.x,a.y,o.x,o.y,y.x,y.y)&&g(y.prev,y,y.next)>=0)return!1;y=y.nextZ}return!0}function s(t,e,r){var i=t;do{var a=i.prev,o=i.next.next;!y(a,o)&&m(a,i,i.next,o)&&_(a,o)&&_(o,a)&&(e.push(a.i/r),e.push(i.i/r),e.push(o.i/r),k(i),k(i.next),i=t=o),i=i.next}while(i!==t);return n(i)}function l(t,e,r,a,o,s){var l=t;do{for(var u=l.next.next;u!==l.prev;){if(l.i!==u.i&&v(l,u)){var c=w(l,u);return l=n(l,l.next),c=n(c,c.next),i(l,e,r,a,o,s),void i(c,e,r,a,o,s)}u=u.next}l=l.next}while(l!==t)}function u(t,e){return t.x-e.x}function c(t,e){if(e=function(t,e){var r,n=e,i=t.x,a=t.y,o=-1/0;do{if(a<=n.y&&a>=n.next.y&&n.next.y!==n.y){var s=n.x+(a-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(s<=i&&s>o){if(o=s,s===i){if(a===n.y)return n;if(a===n.next.y)return n.next}r=n.x<n.next.x?n:n.next}}n=n.next}while(n!==e);if(!r)return null;if(i===o)return r;var l,u=r,c=r.x,h=r.y,p=1/0;n=r;do{i>=n.x&&n.x>=c&&i!==n.x&&d(a<h?i:o,a,c,h,a<h?o:i,a,n.x,n.y)&&(l=Math.abs(a-n.y)/(i-n.x),_(n,t)&&(l<p||l===p&&(n.x>r.x||n.x===r.x&&f(r,n)))&&(r=n,p=l)),n=n.next}while(n!==u);return r}(t,e),e){var r=w(e,t);n(e,e.next),n(r,r.next)}}function f(t,e){return g(t.prev,t,e.prev)<0&&g(e.next,t,t.next)<0}function h(t,e,r,n,i){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=32767*(t-r)*i)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=32767*(e-n)*i)|e<<8))|e<<4))|e<<2))|e<<1))<<1}function p(t){var e=t,r=t;do{(e.x<r.x||e.x===r.x&&e.y<r.y)&&(r=e),e=e.next}while(e!==t);return r}function d(t,e,r,n,i,a,o,s){return(i-o)*(e-s)-(t-o)*(a-s)>=0&&(t-o)*(n-s)-(r-o)*(e-s)>=0&&(r-o)*(a-s)-(i-o)*(n-s)>=0}function v(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!function(t,e){var r=t;do{if(r.i!==t.i&&r.next.i!==t.i&&r.i!==e.i&&r.next.i!==e.i&&m(r,r.next,t,e))return!0;r=r.next}while(r!==t);return!1}(t,e)&&(_(t,e)&&_(e,t)&&function(t,e){var r=t,n=!1,i=(t.x+e.x)/2,a=(t.y+e.y)/2;do{r.y>a!=r.next.y>a&&r.next.y!==r.y&&i<(r.next.x-r.x)*(a-r.y)/(r.next.y-r.y)+r.x&&(n=!n),r=r.next}while(r!==t);return n}(t,e)&&(g(t.prev,t,e.prev)||g(t,e.prev,e))||y(t,e)&&g(t.prev,t,t.next)>0&&g(e.prev,e,e.next)>0)}function g(t,e,r){return(e.y-t.y)*(r.x-e.x)-(e.x-t.x)*(r.y-e.y)}function y(t,e){return t.x===e.x&&t.y===e.y}function m(t,e,r,n){var i=b(g(t,e,r)),a=b(g(t,e,n)),o=b(g(r,n,t)),s=b(g(r,n,e));return i!==a&&o!==s||!(0!==i||!x(t,r,e))||!(0!==a||!x(t,n,e))||!(0!==o||!x(r,t,n))||!(0!==s||!x(r,e,n))}function x(t,e,r){return e.x<=Math.max(t.x,r.x)&&e.x>=Math.min(t.x,r.x)&&e.y<=Math.max(t.y,r.y)&&e.y>=Math.min(t.y,r.y)}function b(t){return t>0?1:t<0?-1:0}function _(t,e){return g(t.prev,t,t.next)<0?g(t,e,t.next)>=0&&g(t,t.prev,e)>=0:g(t,e,t.prev)<0||g(t,t.next,e)<0}function w(t,e){var r=new A(t.i,t.x,t.y),n=new A(e.i,e.x,e.y),i=t.next,a=e.prev;return t.next=e,e.prev=t,r.next=i,i.prev=r,n.next=r,r.prev=n,a.next=n,n.prev=a,n}function T(t,e,r,n){var i=new A(t,e,r);return n?(i.next=n.next,i.prev=n,n.next.prev=i,n.next=i):(i.prev=i,i.next=i),i}function k(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)}function A(t,e,r){this.i=t,this.x=e,this.y=r,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}function M(t,e,r,n){for(var i=0,a=e,o=r-n;a<r;a+=n)i+=(t[o]-t[a])*(t[a+1]+t[o+1]),o=a;return i}t.exports=e,t.exports.default=e,e.deviation=function(t,e,r,n){var i=e&&e.length,a=i?e[0]*r:t.length,o=Math.abs(M(t,0,a,r));if(i)for(var s=0,l=e.length;s<l;s++){var u=e[s]*r,c=s<l-1?e[s+1]*r:t.length;o-=Math.abs(M(t,u,c,r))}var f=0;for(s=0;s<n.length;s+=3){var h=n[s]*r,p=n[s+1]*r,d=n[s+2]*r;f+=Math.abs((t[h]-t[d])*(t[p+1]-t[h+1])-(t[h]-t[p])*(t[d+1]-t[h+1]))}return 0===o&&0===f?0:Math.abs((f-o)/o)},e.flatten=function(t){for(var e=t[0][0].length,r={vertices:[],holes:[],dimensions:e},n=0,i=0;i<t.length;i++){for(var a=0;a<t[i].length;a++)for(var o=0;o<e;o++)r.vertices.push(t[i][a][o]);i>0&&(n+=t[i-1].length,r.holes.push(n))}return r}},2502:function(t,e,r){var n=r(68664);t.exports=function(t,e){var r,i=[],a=[],o=[],s={},l=[];function u(t){o[t]=!1,s.hasOwnProperty(t)&&Object.keys(s[t]).forEach((function(e){delete s[t][e],o[e]&&u(e)}))}function c(t){var e,n,i=!1;for(a.push(t),o[t]=!0,e=0;e<l[t].length;e++)(n=l[t][e])===r?(f(r,a),i=!0):o[n]||(i=c(n));if(i)u(t);else for(e=0;e<l[t].length;e++){n=l[t][e];var h=s[n];h||(h={},s[n]=h),h[n]=!0}return a.pop(),i}function f(t,r){var n=[].concat(r).concat(t);e?e(c):i.push(n)}function h(e){!function(e){for(var r=0;r<t.length;r++)r<e&&(t[r]=[]),t[r]=t[r].filter((function(t){return t>=e}))}(e);for(var r,i=n(t).components.filter((function(t){return t.length>1})),a=1/0,o=0;o<i.length;o++)for(var s=0;s<i[o].length;s++)i[o][s]<a&&(a=i[o][s],r=o);var l=i[r];if(!l)return!1;var u=t.map((function(t,e){return-1===l.indexOf(e)?[]:t.filter((function(t){return-1!==l.indexOf(t)}))}));return{leastVertex:a,adjList:u}}r=0;for(var p=t.length;r<p;){var d=h(r);if(r=d.leastVertex,l=d.adjList){for(var v=0;v<l.length;v++)for(var g=0;g<l[v].length;g++){var y=l[v][g];o[+y]=!1,s[y]={}}c(r),r+=1}else r=p}return e?void 0:i}},72943:function(t,e,r){"use strict";var n,i=TypeError,a=Object.getOwnPropertyDescriptor;if(a)try{a({},"")}catch(t){a=null}var o=function(){throw new i},s=a?function(){try{return o}catch(t){try{return a(arguments,"callee").get}catch(t){return o}}}():o,l=r(57877)(),u=Object.getPrototypeOf||function(t){return t.__proto__},c=n,f="undefined"==typeof Uint8Array?n:u(Uint8Array),h={"%Array%":Array,"%ArrayBuffer%":"undefined"==typeof ArrayBuffer?n:ArrayBuffer,"%ArrayBufferPrototype%":"undefined"==typeof ArrayBuffer?n:ArrayBuffer.prototype,"%ArrayIteratorPrototype%":l?u([][Symbol.iterator]()):n,"%ArrayPrototype%":Array.prototype,"%ArrayProto_entries%":Array.prototype.entries,"%ArrayProto_forEach%":Array.prototype.forEach,"%ArrayProto_keys%":Array.prototype.keys,"%ArrayProto_values%":Array.prototype.values,"%AsyncFromSyncIteratorPrototype%":n,"%AsyncFunction%":undefined,"%AsyncFunctionPrototype%":n,"%AsyncGenerator%":n,"%AsyncGeneratorFunction%":undefined,"%AsyncGeneratorPrototype%":n,"%AsyncIteratorPrototype%":c&&l&&Symbol.asyncIterator?c[Symbol.asyncIterator]():n,"%Atomics%":"undefined"==typeof Atomics?n:Atomics,"%Boolean%":Boolean,"%BooleanPrototype%":Boolean.prototype,"%DataView%":"undefined"==typeof DataView?n:DataView,"%DataViewPrototype%":"undefined"==typeof DataView?n:DataView.prototype,"%Date%":Date,"%DatePrototype%":Date.prototype,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":Error,"%ErrorPrototype%":Error.prototype,"%eval%":eval,"%EvalError%":EvalError,"%EvalErrorPrototype%":EvalError.prototype,"%Float32Array%":"undefined"==typeof Float32Array?n:Float32Array,"%Float32ArrayPrototype%":"undefined"==typeof Float32Array?n:Float32Array.prototype,"%Float64Array%":"undefined"==typeof Float64Array?n:Float64Array,"%Float64ArrayPrototype%":"undefined"==typeof Float64Array?n:Float64Array.prototype,"%Function%":Function,"%FunctionPrototype%":Function.prototype,"%Generator%":n,"%GeneratorFunction%":undefined,"%GeneratorPrototype%":n,"%Int8Array%":"undefined"==typeof Int8Array?n:Int8Array,"%Int8ArrayPrototype%":"undefined"==typeof Int8Array?n:Int8Array.prototype,"%Int16Array%":"undefined"==typeof Int16Array?n:Int16Array,"%Int16ArrayPrototype%":"undefined"==typeof Int16Array?n:Int8Array.prototype,"%Int32Array%":"undefined"==typeof Int32Array?n:Int32Array,"%Int32ArrayPrototype%":"undefined"==typeof Int32Array?n:Int32Array.prototype,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":l?u(u([][Symbol.iterator]())):n,"%JSON%":"object"==typeof JSON?JSON:n,"%JSONParse%":"object"==typeof JSON?JSON.parse:n,"%Map%":"undefined"==typeof Map?n:Map,"%MapIteratorPrototype%":"undefined"!=typeof Map&&l?u((new Map)[Symbol.iterator]()):n,"%MapPrototype%":"undefined"==typeof Map?n:Map.prototype,"%Math%":Math,"%Number%":Number,"%NumberPrototype%":Number.prototype,"%Object%":Object,"%ObjectPrototype%":Object.prototype,"%ObjProto_toString%":Object.prototype.toString,"%ObjProto_valueOf%":Object.prototype.valueOf,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":"undefined"==typeof Promise?n:Promise,"%PromisePrototype%":"undefined"==typeof Promise?n:Promise.prototype,"%PromiseProto_then%":"undefined"==typeof Promise?n:Promise.prototype.then,"%Promise_all%":"undefined"==typeof Promise?n:Promise.all,"%Promise_reject%":"undefined"==typeof Promise?n:Promise.reject,"%Promise_resolve%":"undefined"==typeof Promise?n:Promise.resolve,"%Proxy%":"undefined"==typeof Proxy?n:Proxy,"%RangeError%":RangeError,"%RangeErrorPrototype%":RangeError.prototype,"%ReferenceError%":ReferenceError,"%ReferenceErrorPrototype%":ReferenceError.prototype,"%Reflect%":"undefined"==typeof Reflect?n:Reflect,"%RegExp%":RegExp,"%RegExpPrototype%":RegExp.prototype,"%Set%":"undefined"==typeof Set?n:Set,"%SetIteratorPrototype%":"undefined"!=typeof Set&&l?u((new Set)[Symbol.iterator]()):n,"%SetPrototype%":"undefined"==typeof Set?n:Set.prototype,"%SharedArrayBuffer%":"undefined"==typeof SharedArrayBuffer?n:SharedArrayBuffer,"%SharedArrayBufferPrototype%":"undefined"==typeof SharedArrayBuffer?n:SharedArrayBuffer.prototype,"%String%":String,"%StringIteratorPrototype%":l?u(""[Symbol.iterator]()):n,"%StringPrototype%":String.prototype,"%Symbol%":l?Symbol:n,"%SymbolPrototype%":l?Symbol.prototype:n,"%SyntaxError%":SyntaxError,"%SyntaxErrorPrototype%":SyntaxError.prototype,"%ThrowTypeError%":s,"%TypedArray%":f,"%TypedArrayPrototype%":f?f.prototype:n,"%TypeError%":i,"%TypeErrorPrototype%":i.prototype,"%Uint8Array%":"undefined"==typeof Uint8Array?n:Uint8Array,"%Uint8ArrayPrototype%":"undefined"==typeof Uint8Array?n:Uint8Array.prototype,"%Uint8ClampedArray%":"undefined"==typeof Uint8ClampedArray?n:Uint8ClampedArray,"%Uint8ClampedArrayPrototype%":"undefined"==typeof Uint8ClampedArray?n:Uint8ClampedArray.prototype,"%Uint16Array%":"undefined"==typeof Uint16Array?n:Uint16Array,"%Uint16ArrayPrototype%":"undefined"==typeof Uint16Array?n:Uint16Array.prototype,"%Uint32Array%":"undefined"==typeof Uint32Array?n:Uint32Array,"%Uint32ArrayPrototype%":"undefined"==typeof Uint32Array?n:Uint32Array.prototype,"%URIError%":URIError,"%URIErrorPrototype%":URIError.prototype,"%WeakMap%":"undefined"==typeof WeakMap?n:WeakMap,"%WeakMapPrototype%":"undefined"==typeof WeakMap?n:WeakMap.prototype,"%WeakSet%":"undefined"==typeof WeakSet?n:WeakSet,"%WeakSetPrototype%":"undefined"==typeof WeakSet?n:WeakSet.prototype},p=r(77575).call(Function.call,String.prototype.replace),d=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,v=/\\(\\)?/g,g=function(t){var e=[];return p(t,d,(function(t,r,n,i){e[e.length]=n?p(i,v,"$1"):r||t})),e},y=function(t,e){if(!(t in h))throw new SyntaxError("intrinsic "+t+" does not exist!");if(void 0===h[t]&&!e)throw new i("intrinsic "+t+" exists, but is not available. Please file an issue!");return h[t]};t.exports=function(t,e){if("string"!=typeof t||0===t.length)throw new TypeError("intrinsic name must be a non-empty string");if(arguments.length>1&&"boolean"!=typeof e)throw new TypeError('"allowMissing" argument must be a boolean');for(var r=g(t),n=y("%"+(r.length>0?r[0]:"")+"%",e),o=1;o<r.length;o+=1)if(null!=n)if(a&&o+1>=r.length){var s=a(n,r[o]);if(!e&&!(r[o]in n))throw new i("base intrinsic for "+t+" exists, but the property is not available.");n=s?s.get||s.value:n[r[o]]}else n=n[r[o]];return n}},84671:function(t,e,r){"use strict";var n=r(77575),i=r(72943)("%Function%"),a=i.apply,o=i.call;t.exports=function(){return n.apply(o,arguments)},t.exports.apply=function(){return n.apply(a,arguments)}},92978:function(t,e,r){"use strict";var n=r(72943),i=r(84671),a=i(n("String.prototype.indexOf"));t.exports=function(t,e){var r=n(t,!!e);return"function"==typeof r&&a(t,".prototype.")?i(r):r}},67295:function(t,e,r){"use strict";var n=r(72943)("%Object.getOwnPropertyDescriptor%");if(n)try{n([],"length")}catch(t){n=null}t.exports=n},16134:function(t,e,r){"use strict";var n=r(36672);t.exports=function(){return n(this).length=0,this}},4892:function(t,e,r){"use strict";t.exports=r(64404)()?Array.from:r(49441)},64404:function(t){"use strict";t.exports=function(){var t,e,r=Array.from;return"function"==typeof r&&(e=r(t=["raz","dwa"]),Boolean(e&&e!==t&&"dwa"===e[1]))}},49441:function(t,e,r){"use strict";var n=r(8260).iterator,i=r(73051),a=r(33717),o=r(35976),s=r(78513),l=r(36672),u=r(95296),c=r(87963),f=Array.isArray,h=Function.prototype.call,p={configurable:!0,enumerable:!0,writable:!0,value:null},d=Object.defineProperty;t.exports=function(t){var e,r,v,g,y,m,x,b,_,w,T=arguments[1],k=arguments[2];if(t=Object(l(t)),u(T)&&s(T),this&&this!==Array&&a(this))e=this;else{if(!T){if(i(t))return 1!==(y=t.length)?Array.apply(null,t):((g=new Array(1))[0]=t[0],g);if(f(t)){for(g=new Array(y=t.length),r=0;r<y;++r)g[r]=t[r];return g}}g=[]}if(!f(t))if(void 0!==(_=t[n])){for(x=s(_).call(t),e&&(g=new e),b=x.next(),r=0;!b.done;)w=T?h.call(T,k,b.value,r):b.value,e?(p.value=w,d(g,r,p)):g[r]=w,b=x.next(),++r;y=r}else if(c(t)){for(y=t.length,e&&(g=new e),r=0,v=0;r<y;++r)w=t[r],r+1<y&&(m=w.charCodeAt(0))>=55296&&m<=56319&&(w+=t[++r]),w=T?h.call(T,k,w,v):w,e?(p.value=w,d(g,v,p)):g[v]=w,++v;y=v}if(void 0===y)for(y=o(t.length),e&&(g=new e(y)),r=0;r<y;++r)w=T?h.call(T,k,t[r],r):t[r],e?(p.value=w,d(g,r,p)):g[r]=w;return e&&(p.value=null,g.length=y),g}},73051:function(t){"use strict";var e=Object.prototype.toString,r=e.call(function(){return arguments}());t.exports=function(t){return e.call(t)===r}},33717:function(t){"use strict";var e=Object.prototype.toString,r=RegExp.prototype.test.bind(/^[object [A-Za-z0-9]*Function]$/);t.exports=function(t){return"function"==typeof t&&r(e.call(t))}},52345:function(t){"use strict";t.exports=function(){}},9953:function(t,e,r){"use strict";t.exports=r(90436)()?Math.sign:r(6069)},90436:function(t){"use strict";t.exports=function(){var t=Math.sign;return"function"==typeof t&&1===t(10)&&-1===t(-20)}},6069:function(t){"use strict";t.exports=function(t){return t=Number(t),isNaN(t)||0===t?t:t>0?1:-1}},56247:function(t,e,r){"use strict";var n=r(9953),i=Math.abs,a=Math.floor;t.exports=function(t){return isNaN(t)?0:0!==(t=Number(t))&&isFinite(t)?n(t)*a(i(t)):t}},35976:function(t,e,r){"use strict";var n=r(56247),i=Math.max;t.exports=function(t){return i(0,n(t))}},67260:function(t,e,r){"use strict";var n=r(78513),i=r(36672),a=Function.prototype.bind,o=Function.prototype.call,s=Object.keys,l=Object.prototype.propertyIsEnumerable;t.exports=function(t,e){return function(r,u){var c,f=arguments[2],h=arguments[3];return r=Object(i(r)),n(u),c=s(r),h&&c.sort("function"==typeof h?a.call(h,r):void 0),"function"!=typeof t&&(t=c[t]),o.call(t,c,(function(t,n){return l.call(r,t)?o.call(u,f,r[t],t,r,n):e}))}}},95879:function(t,e,r){"use strict";t.exports=r(73583)()?Object.assign:r(34205)},73583:function(t){"use strict";t.exports=function(){var t,e=Object.assign;return"function"==typeof e&&(e(t={foo:"raz"},{bar:"dwa"},{trzy:"trzy"}),t.foo+t.bar+t.trzy==="razdwatrzy")}},34205:function(t,e,r){"use strict";var n=r(68700),i=r(36672),a=Math.max;t.exports=function(t,e){var r,o,s,l=a(arguments.length,2);for(t=Object(i(t)),s=function(n){try{t[n]=e[n]}catch(t){r||(r=t)}},o=1;o<l;++o)n(e=arguments[o]).forEach(s);if(void 0!==r)throw r;return t}},19012:function(t,e,r){"use strict";var n=r(4892),i=r(95879),a=r(36672);t.exports=function(t){var e=Object(a(t)),r=arguments[1],o=Object(arguments[2]);if(e!==t&&!r)return e;var s={};return r?n(r,(function(e){(o.ensure||e in t)&&(s[e]=t[e])})):i(s,t),s}},52818:function(t,e,r){"use strict";var n,i,a,o,s=Object.create;r(33247)()||(n=r(51882)),t.exports=n?1!==n.level?s:(i={},a={},o={configurable:!1,enumerable:!1,writable:!0,value:void 0},Object.getOwnPropertyNames(Object.prototype).forEach((function(t){a[t]="__proto__"!==t?o:{configurable:!0,enumerable:!1,writable:!0,value:void 0}})),Object.defineProperties(i,a),Object.defineProperty(n,"nullPolyfill",{configurable:!1,enumerable:!1,writable:!1,value:i}),function(t,e){return s(null===t?i:t,e)}):s},96437:function(t,e,r){"use strict";t.exports=r(67260)("forEach")},99611:function(t,e,r){"use strict";var n=r(95296),i={function:!0,object:!0};t.exports=function(t){return n(t)&&i[typeof t]||!1}},95296:function(t,e,r){"use strict";var n=r(52345)();t.exports=function(t){return t!==n&&null!==t}},68700:function(t,e,r){"use strict";t.exports=r(13895)()?Object.keys:r(25217)},13895:function(t){"use strict";t.exports=function(){try{return Object.keys("primitive"),!0}catch(t){return!1}}},25217:function(t,e,r){"use strict";var n=r(95296),i=Object.keys;t.exports=function(t){return i(n(t)?Object(t):t)}},16906:function(t,e,r){"use strict";var n=r(78513),i=r(96437),a=Function.prototype.call;t.exports=function(t,e){var r={},o=arguments[2];return n(e),i(t,(function(t,n,i,s){r[n]=a.call(e,o,t,n,i,s)})),r}},21780:function(t,e,r){"use strict";var n=r(95296),i=Array.prototype.forEach,a=Object.create,o=function(t,e){var r;for(r in t)e[r]=t[r]};t.exports=function(t){var e=a(null);return i.call(arguments,(function(t){n(t)&&o(Object(t),e)})),e}},1496:function(t,e,r){"use strict";t.exports=r(33247)()?Object.setPrototypeOf:r(51882)},33247:function(t){"use strict";var e=Object.create,r=Object.getPrototypeOf,n={};t.exports=function(){var t=Object.setPrototypeOf,i=arguments[0]||e;return"function"==typeof t&&r(t(i(null),n))===n}},51882:function(t,e,r){"use strict";var n,i,a,o,s=r(99611),l=r(36672),u=Object.prototype.isPrototypeOf,c=Object.defineProperty,f={configurable:!0,enumerable:!1,writable:!0,value:void 0};n=function(t,e){if(l(t),null===e||s(e))return t;throw new TypeError("Prototype must be null or an object")},t.exports=(i=function(){var t,e=Object.create(null),r={},n=Object.getOwnPropertyDescriptor(Object.prototype,"__proto__");if(n){try{(t=n.set).call(e,r)}catch(t){}if(Object.getPrototypeOf(e)===r)return{set:t,level:2}}return e.__proto__=r,Object.getPrototypeOf(e)===r?{level:2}:((e={}).__proto__=r,Object.getPrototypeOf(e)===r&&{level:1})}(),i?(2===i.level?i.set?(o=i.set,a=function(t,e){return o.call(n(t,e),e),t}):a=function(t,e){return n(t,e).__proto__=e,t}:a=function t(e,r){var i;return n(e,r),(i=u.call(t.nullPolyfill,e))&&delete t.nullPolyfill.__proto__,null===r&&(r=t.nullPolyfill),e.__proto__=r,i&&c(t.nullPolyfill,"__proto__",f),e},Object.defineProperty(a,"level",{configurable:!1,enumerable:!1,writable:!1,value:i.level})):null),r(52818)},78513:function(t){"use strict";t.exports=function(t){if("function"!=typeof t)throw new TypeError(t+" is not a function");return t}},98976:function(t,e,r){"use strict";var n=r(99611);t.exports=function(t){if(!n(t))throw new TypeError(t+" is not an Object");return t}},36672:function(t,e,r){"use strict";var n=r(95296);t.exports=function(t){if(!n(t))throw new TypeError("Cannot use null or undefined");return t}},66741:function(t,e,r){"use strict";t.exports=r(17557)()?String.prototype.contains:r(60381)},17557:function(t){"use strict";var e="razdwatrzy";t.exports=function(){return"function"==typeof e.contains&&!0===e.contains("dwa")&&!1===e.contains("foo")}},60381:function(t){"use strict";var e=String.prototype.indexOf;t.exports=function(t){return e.call(this,t,arguments[1])>-1}},87963:function(t){"use strict";var e=Object.prototype.toString,r=e.call("");t.exports=function(t){return"string"==typeof t||t&&"object"==typeof t&&(t instanceof String||e.call(t)===r)||!1}},43043:function(t){"use strict";var e=Object.create(null),r=Math.random;t.exports=function(){var t;do{t=r().toString(36).slice(2)}while(e[t]);return t}},32411:function(t,e,r){"use strict";var n,i=r(1496),a=r(66741),o=r(62072),s=r(8260),l=r(95426),u=Object.defineProperty;n=t.exports=function(t,e){if(!(this instanceof n))throw new TypeError("Constructor requires 'new'");l.call(this,t),e=e?a.call(e,"key+value")?"key+value":a.call(e,"key")?"key":"value":"value",u(this,"__kind__",o("",e))},i&&i(n,l),delete n.prototype.constructor,n.prototype=Object.create(l.prototype,{_resolve:o((function(t){return"value"===this.__kind__?this.__list__[t]:"key+value"===this.__kind__?[t,this.__list__[t]]:t}))}),u(n.prototype,s.toStringTag,o("c","Array Iterator"))},27515:function(t,e,r){"use strict";var n=r(73051),i=r(78513),a=r(87963),o=r(66661),s=Array.isArray,l=Function.prototype.call,u=Array.prototype.some;t.exports=function(t,e){var r,c,f,h,p,d,v,g,y=arguments[2];if(s(t)||n(t)?r="array":a(t)?r="string":t=o(t),i(e),f=function(){h=!0},"array"!==r)if("string"!==r)for(c=t.next();!c.done;){if(l.call(e,y,c.value,f),h)return;c=t.next()}else for(d=t.length,p=0;p<d&&(v=t[p],p+1<d&&(g=v.charCodeAt(0))>=55296&&g<=56319&&(v+=t[++p]),l.call(e,y,v,f),!h);++p);else u.call(t,(function(t){return l.call(e,y,t,f),h}))}},66661:function(t,e,r){"use strict";var n=r(73051),i=r(87963),a=r(32411),o=r(259),s=r(58095),l=r(8260).iterator;t.exports=function(t){return"function"==typeof s(t)[l]?t[l]():n(t)?new a(t):i(t)?new o(t):new a(t)}},95426:function(t,e,r){"use strict";var n,i=r(16134),a=r(95879),o=r(78513),s=r(36672),l=r(62072),u=r(55174),c=r(8260),f=Object.defineProperty,h=Object.defineProperties;t.exports=n=function(t,e){if(!(this instanceof n))throw new TypeError("Constructor requires 'new'");h(this,{__list__:l("w",s(t)),__context__:l("w",e),__nextIndex__:l("w",0)}),e&&(o(e.on),e.on("_add",this._onAdd),e.on("_delete",this._onDelete),e.on("_clear",this._onClear))},delete n.prototype.constructor,h(n.prototype,a({_next:l((function(){var t;if(this.__list__)return this.__redo__&&void 0!==(t=this.__redo__.shift())?t:this.__nextIndex__<this.__list__.length?this.__nextIndex__++:void this._unBind()})),next:l((function(){return this._createResult(this._next())})),_createResult:l((function(t){return void 0===t?{done:!0,value:void 0}:{done:!1,value:this._resolve(t)}})),_resolve:l((function(t){return this.__list__[t]})),_unBind:l((function(){this.__list__=null,delete this.__redo__,this.__context__&&(this.__context__.off("_add",this._onAdd),this.__context__.off("_delete",this._onDelete),this.__context__.off("_clear",this._onClear),this.__context__=null)})),toString:l((function(){return"[object "+(this[c.toStringTag]||"Object")+"]"}))},u({_onAdd:l((function(t){t>=this.__nextIndex__||(++this.__nextIndex__,this.__redo__?(this.__redo__.forEach((function(e,r){e>=t&&(this.__redo__[r]=++e)}),this),this.__redo__.push(t)):f(this,"__redo__",l("c",[t])))})),_onDelete:l((function(t){var e;t>=this.__nextIndex__||(--this.__nextIndex__,this.__redo__&&(-1!==(e=this.__redo__.indexOf(t))&&this.__redo__.splice(e,1),this.__redo__.forEach((function(e,r){e>t&&(this.__redo__[r]=--e)}),this)))})),_onClear:l((function(){this.__redo__&&i.call(this.__redo__),this.__nextIndex__=0}))}))),f(n.prototype,c.iterator,l((function(){return this})))},35940:function(t,e,r){"use strict";var n=r(73051),i=r(95296),a=r(87963),o=r(8260).iterator,s=Array.isArray;t.exports=function(t){return!(!i(t)||!s(t)&&!a(t)&&!n(t)&&"function"!=typeof t[o])}},259:function(t,e,r){"use strict";var n,i=r(1496),a=r(62072),o=r(8260),s=r(95426),l=Object.defineProperty;n=t.exports=function(t){if(!(this instanceof n))throw new TypeError("Constructor requires 'new'");t=String(t),s.call(this,t),l(this,"__length__",a("",t.length))},i&&i(n,s),delete n.prototype.constructor,n.prototype=Object.create(s.prototype,{_next:a((function(){if(this.__list__)return this.__nextIndex__<this.__length__?this.__nextIndex__++:void this._unBind()})),_resolve:a((function(t){var e,r=this.__list__[t];return this.__nextIndex__===this.__length__?r:(e=r.charCodeAt(0))>=55296&&e<=56319?r+this.__list__[this.__nextIndex__++]:r}))}),l(n.prototype,o.toStringTag,a("c","String Iterator"))},58095:function(t,e,r){"use strict";var n=r(35940);t.exports=function(t){if(!n(t))throw new TypeError(t+" is not iterable");return t}},73523:function(t){"use strict";function e(t,e){if(null==t)throw new TypeError("Cannot convert first argument to object");for(var r=Object(t),n=1;n<arguments.length;n++){var i=arguments[n];if(null!=i)for(var a=Object.keys(Object(i)),o=0,s=a.length;o<s;o++){var l=a[o],u=Object.getOwnPropertyDescriptor(i,l);void 0!==u&&u.enumerable&&(r[l]=i[l])}}return r}t.exports={assign:e,polyfill:function(){Object.assign||Object.defineProperty(Object,"assign",{enumerable:!1,configurable:!0,writable:!0,value:e})}}},8260:function(t,e,r){"use strict";t.exports=r(69711)()?r(94908).Symbol:r(18415)},69711:function(t,e,r){"use strict";var n=r(94908),i={object:!0,symbol:!0};t.exports=function(){var t,e=n.Symbol;if("function"!=typeof e)return!1;t=e("test symbol");try{String(t)}catch(t){return!1}return!!i[typeof e.iterator]&&!!i[typeof e.toPrimitive]&&!!i[typeof e.toStringTag]}},82276:function(t){"use strict";t.exports=function(t){return!!t&&("symbol"==typeof t||!!t.constructor&&"Symbol"===t.constructor.name&&"Symbol"===t[t.constructor.toStringTag])}},29366:function(t,e,r){"use strict";var n=r(62072),i=Object.create,a=Object.defineProperty,o=Object.prototype,s=i(null);t.exports=function(t){for(var e,r,i=0;s[t+(i||"")];)++i;return s[t+=i||""]=!0,a(o,e="@@"+t,n.gs(null,(function(t){r||(r=!0,a(this,e,n(t)),r=!1)}))),e}},92842:function(t,e,r){"use strict";var n=r(62072),i=r(94908).Symbol;t.exports=function(t){return Object.defineProperties(t,{hasInstance:n("",i&&i.hasInstance||t("hasInstance")),isConcatSpreadable:n("",i&&i.isConcatSpreadable||t("isConcatSpreadable")),iterator:n("",i&&i.iterator||t("iterator")),match:n("",i&&i.match||t("match")),replace:n("",i&&i.replace||t("replace")),search:n("",i&&i.search||t("search")),species:n("",i&&i.species||t("species")),split:n("",i&&i.split||t("split")),toPrimitive:n("",i&&i.toPrimitive||t("toPrimitive")),toStringTag:n("",i&&i.toStringTag||t("toStringTag")),unscopables:n("",i&&i.unscopables||t("unscopables"))})}},13304:function(t,e,r){"use strict";var n=r(62072),i=r(53308),a=Object.create(null);t.exports=function(t){return Object.defineProperties(t,{for:n((function(e){return a[e]?a[e]:a[e]=t(String(e))})),keyFor:n((function(t){var e;for(e in i(t),a)if(a[e]===t)return e}))})}},18415:function(t,e,r){"use strict";var n,i,a,o=r(62072),s=r(53308),l=r(94908).Symbol,u=r(29366),c=r(92842),f=r(13304),h=Object.create,p=Object.defineProperties,d=Object.defineProperty;if("function"==typeof l)try{String(l()),a=!0}catch(t){}else l=null;i=function(t){if(this instanceof i)throw new TypeError("Symbol is not a constructor");return n(t)},t.exports=n=function t(e){var r;if(this instanceof t)throw new TypeError("Symbol is not a constructor");return a?l(e):(r=h(i.prototype),e=void 0===e?"":String(e),p(r,{__description__:o("",e),__name__:o("",u(e))}))},c(n),f(n),p(i.prototype,{constructor:o(n),toString:o("",(function(){return this.__name__}))}),p(n.prototype,{toString:o((function(){return"Symbol ("+s(this).__description__+")"})),valueOf:o((function(){return s(this)}))}),d(n.prototype,n.toPrimitive,o("",(function(){var t=s(this);return"symbol"==typeof t?t:t.toString()}))),d(n.prototype,n.toStringTag,o("c","Symbol")),d(i.prototype,n.toStringTag,o("c",n.prototype[n.toStringTag])),d(i.prototype,n.toPrimitive,o("c",n.prototype[n.toPrimitive]))},53308:function(t,e,r){"use strict";var n=r(82276);t.exports=function(t){if(!n(t))throw new TypeError(t+" is not a symbol");return t}},83522:function(t,e,r){"use strict";t.exports=r(96402)()?WeakMap:r(329)},96402:function(t){"use strict";t.exports=function(){var t,e;if("function"!=typeof WeakMap)return!1;try{t=new WeakMap([[e={},"one"],[{},"two"],[{},"three"]])}catch(t){return!1}return"[object WeakMap]"===String(t)&&"function"==typeof t.set&&t.set({},1)===t&&"function"==typeof t.delete&&"function"==typeof t.has&&"one"===t.get(e)}},96416:function(t){"use strict";t.exports="function"==typeof WeakMap&&"[object WeakMap]"===Object.prototype.toString.call(new WeakMap)},329:function(t,e,r){"use strict";var n,i=r(95296),a=r(1496),o=r(98976),s=r(36672),l=r(43043),u=r(62072),c=r(66661),f=r(27515),h=r(8260).toStringTag,p=r(96416),d=Array.isArray,v=Object.defineProperty,g=Object.prototype.hasOwnProperty,y=Object.getPrototypeOf;t.exports=n=function(){var t,e=arguments[0];if(!(this instanceof n))throw new TypeError("Constructor requires 'new'");return t=p&&a&&WeakMap!==n?a(new WeakMap,y(this)):this,i(e)&&(d(e)||(e=c(e))),v(t,"__weakMapData__",u("c","$weakMap$"+l())),e?(f(e,(function(e){s(e),t.set(e[0],e[1])})),t):t},p&&(a&&a(n,WeakMap),n.prototype=Object.create(WeakMap.prototype,{constructor:u(n)})),Object.defineProperties(n.prototype,{delete:u((function(t){return!!g.call(o(t),this.__weakMapData__)&&(delete t[this.__weakMapData__],!0)})),get:u((function(t){if(g.call(o(t),this.__weakMapData__))return t[this.__weakMapData__]})),has:u((function(t){return g.call(o(t),this.__weakMapData__)})),set:u((function(t,e){return v(o(t),this.__weakMapData__,u("c",e)),this})),toString:u((function(){return"[object WeakMap]"}))}),v(n.prototype,h,u("c","WeakMap"))},15398:function(t){"use strict";var e,r="object"==typeof Reflect?Reflect:null,n=r&&"function"==typeof r.apply?r.apply:function(t,e,r){return Function.prototype.apply.call(t,e,r)};e=r&&"function"==typeof r.ownKeys?r.ownKeys:Object.getOwnPropertySymbols?function(t){return Object.getOwnPropertyNames(t).concat(Object.getOwnPropertySymbols(t))}:function(t){return Object.getOwnPropertyNames(t)};var i=Number.isNaN||function(t){return t!=t};function a(){a.init.call(this)}t.exports=a,t.exports.once=function(t,e){return new Promise((function(r,n){function i(r){t.removeListener(e,a),n(r)}function a(){"function"==typeof t.removeListener&&t.removeListener("error",i),r([].slice.call(arguments))}v(t,e,a,{once:!0}),"error"!==e&&function(t,e,r){"function"==typeof t.on&&v(t,"error",e,{once:!0})}(t,i)}))},a.EventEmitter=a,a.prototype._events=void 0,a.prototype._eventsCount=0,a.prototype._maxListeners=void 0;var o=10;function s(t){if("function"!=typeof t)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof t)}function l(t){return void 0===t._maxListeners?a.defaultMaxListeners:t._maxListeners}function u(t,e,r,n){var i,a,o,u;if(s(r),void 0===(a=t._events)?(a=t._events=Object.create(null),t._eventsCount=0):(void 0!==a.newListener&&(t.emit("newListener",e,r.listener?r.listener:r),a=t._events),o=a[e]),void 0===o)o=a[e]=r,++t._eventsCount;else if("function"==typeof o?o=a[e]=n?[r,o]:[o,r]:n?o.unshift(r):o.push(r),(i=l(t))>0&&o.length>i&&!o.warned){o.warned=!0;var c=new Error("Possible EventEmitter memory leak detected. "+o.length+" "+String(e)+" listeners added. Use emitter.setMaxListeners() to increase limit");c.name="MaxListenersExceededWarning",c.emitter=t,c.type=e,c.count=o.length,u=c,console&&console.warn&&console.warn(u)}return t}function c(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function f(t,e,r){var n={fired:!1,wrapFn:void 0,target:t,type:e,listener:r},i=c.bind(n);return i.listener=r,n.wrapFn=i,i}function h(t,e,r){var n=t._events;if(void 0===n)return[];var i=n[e];return void 0===i?[]:"function"==typeof i?r?[i.listener||i]:[i]:r?function(t){for(var e=new Array(t.length),r=0;r<e.length;++r)e[r]=t[r].listener||t[r];return e}(i):d(i,i.length)}function p(t){var e=this._events;if(void 0!==e){var r=e[t];if("function"==typeof r)return 1;if(void 0!==r)return r.length}return 0}function d(t,e){for(var r=new Array(e),n=0;n<e;++n)r[n]=t[n];return r}function v(t,e,r,n){if("function"==typeof t.on)n.once?t.once(e,r):t.on(e,r);else{if("function"!=typeof t.addEventListener)throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof t);t.addEventListener(e,(function i(a){n.once&&t.removeEventListener(e,i),r(a)}))}}Object.defineProperty(a,"defaultMaxListeners",{enumerable:!0,get:function(){return o},set:function(t){if("number"!=typeof t||t<0||i(t))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+t+".");o=t}}),a.init=function(){void 0!==this._events&&this._events!==Object.getPrototypeOf(this)._events||(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},a.prototype.setMaxListeners=function(t){if("number"!=typeof t||t<0||i(t))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+t+".");return this._maxListeners=t,this},a.prototype.getMaxListeners=function(){return l(this)},a.prototype.emit=function(t){for(var e=[],r=1;r<arguments.length;r++)e.push(arguments[r]);var i="error"===t,a=this._events;if(void 0!==a)i=i&&void 0===a.error;else if(!i)return!1;if(i){var o;if(e.length>0&&(o=e[0]),o instanceof Error)throw o;var s=new Error("Unhandled error."+(o?" ("+o.message+")":""));throw s.context=o,s}var l=a[t];if(void 0===l)return!1;if("function"==typeof l)n(l,this,e);else{var u=l.length,c=d(l,u);for(r=0;r<u;++r)n(c[r],this,e)}return!0},a.prototype.addListener=function(t,e){return u(this,t,e,!1)},a.prototype.on=a.prototype.addListener,a.prototype.prependListener=function(t,e){return u(this,t,e,!0)},a.prototype.once=function(t,e){return s(e),this.on(t,f(this,t,e)),this},a.prototype.prependOnceListener=function(t,e){return s(e),this.prependListener(t,f(this,t,e)),this},a.prototype.removeListener=function(t,e){var r,n,i,a,o;if(s(e),void 0===(n=this._events))return this;if(void 0===(r=n[t]))return this;if(r===e||r.listener===e)0==--this._eventsCount?this._events=Object.create(null):(delete n[t],n.removeListener&&this.emit("removeListener",t,r.listener||e));else if("function"!=typeof r){for(i=-1,a=r.length-1;a>=0;a--)if(r[a]===e||r[a].listener===e){o=r[a].listener,i=a;break}if(i<0)return this;0===i?r.shift():function(t,e){for(;e+1<t.length;e++)t[e]=t[e+1];t.pop()}(r,i),1===r.length&&(n[t]=r[0]),void 0!==n.removeListener&&this.emit("removeListener",t,o||e)}return this},a.prototype.off=a.prototype.removeListener,a.prototype.removeAllListeners=function(t){var e,r,n;if(void 0===(r=this._events))return this;if(void 0===r.removeListener)return 0===arguments.length?(this._events=Object.create(null),this._eventsCount=0):void 0!==r[t]&&(0==--this._eventsCount?this._events=Object.create(null):delete r[t]),this;if(0===arguments.length){var i,a=Object.keys(r);for(n=0;n<a.length;++n)"removeListener"!==(i=a[n])&&this.removeAllListeners(i);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if("function"==typeof(e=r[t]))this.removeListener(t,e);else if(void 0!==e)for(n=e.length-1;n>=0;n--)this.removeListener(t,e[n]);return this},a.prototype.listeners=function(t){return h(this,t,!0)},a.prototype.rawListeners=function(t){return h(this,t,!1)},a.listenerCount=function(t,e){return"function"==typeof t.listenerCount?t.listenerCount(e):p.call(t,e)},a.prototype.listenerCount=p,a.prototype.eventNames=function(){return this._eventsCount>0?e(this._events):[]}},60774:function(t){var e=function(){if("object"==typeof self&&self)return self;if("object"==typeof window&&window)return window;throw new Error("Unable to resolve global `this`")};t.exports=function(){if(this)return this;try{Object.defineProperty(Object.prototype,"__global__",{get:function(){return this},configurable:!0})}catch(t){return e()}try{return __global__||e()}finally{delete Object.prototype.__global__}}()},94908:function(t,e,r){"use strict";t.exports=r(51152)()?globalThis:r(60774)},51152:function(t){"use strict";t.exports=function(){return"object"==typeof globalThis&&!!globalThis&&globalThis.Array===Array}},92770:function(t,e,r){"use strict";var n=r(18546);t.exports=function(t){var e=typeof t;if("string"===e){var r=t;if(0==(t=+t)&&n(r))return!1}else if("number"!==e)return!1;return t-t<1}},30120:function(t,e,r){var n=r(90660);t.exports=function(t,e,r){if(!t)throw new TypeError("must specify data as first parameter");if(r=0|+(r||0),Array.isArray(t)&&t[0]&&"number"==typeof t[0][0]){var i,a,o,s,l=t[0].length,u=t.length*l;e&&"string"!=typeof e||(e=new(n(e||"float32"))(u+r));var c=e.length-r;if(u!==c)throw new Error("source length "+u+" ("+l+"x"+t.length+") does not match destination length "+c);for(i=0,o=r;i<t.length;i++)for(a=0;a<l;a++)e[o++]=null===t[i][a]?NaN:t[i][a]}else if(e&&"string"!=typeof e)e.set(t,r);else{var f=n(e||"float32");if(Array.isArray(t)||"array"===e)for(i=0,o=r,s=(e=new f(t.length+r)).length;o<s;o++,i++)e[o]=null===t[i]?NaN:t[i];else 0===r?e=new f(t):(e=new f(t.length+r)).set(t,r)}return e}},68016:function(t,e,r){"use strict";var n=r(53313),i=[32,126];t.exports=function(t){var e=(t=t||{}).shape?t.shape:t.canvas?[t.canvas.width,t.canvas.height]:[512,512],r=t.canvas||document.createElement("canvas"),a=t.font,o="number"==typeof t.step?[t.step,t.step]:t.step||[32,32],s=t.chars||i;if(a&&"string"!=typeof a&&(a=n(a)),Array.isArray(s)){if(2===s.length&&"number"==typeof s[0]&&"number"==typeof s[1]){for(var l=[],u=s[0],c=0;u<=s[1];u++)l[c++]=String.fromCharCode(u);s=l}}else s=String(s).split("");e=e.slice(),r.width=e[0],r.height=e[1];var f=r.getContext("2d");f.fillStyle="#000",f.fillRect(0,0,r.width,r.height),f.font=a,f.textAlign="center",f.textBaseline="middle",f.fillStyle="#fff";var h=o[0]/2,p=o[1]/2;for(u=0;u<s.length;u++)f.fillText(s[u],h,p),(h+=o[0])>e[0]-o[0]/2&&(h=o[0]/2,p+=o[1]);return r}},32879:function(t){"use strict";function e(t,a){a||(a={}),("string"==typeof t||Array.isArray(t))&&(a.family=t);var o=Array.isArray(a.family)?a.family.join(", "):a.family;if(!o)throw Error("`family` must be defined");var s=a.size||a.fontSize||a.em||48,l=a.weight||a.fontWeight||"",u=(t=[a.style||a.fontStyle||"",l,s].join(" ")+"px "+o,a.origin||"top");if(e.cache[o]&&s<=e.cache[o].em)return r(e.cache[o],u);var c=a.canvas||e.canvas,f=c.getContext("2d"),h={upper:void 0!==a.upper?a.upper:"H",lower:void 0!==a.lower?a.lower:"x",descent:void 0!==a.descent?a.descent:"p",ascent:void 0!==a.ascent?a.ascent:"h",tittle:void 0!==a.tittle?a.tittle:"i",overshoot:void 0!==a.overshoot?a.overshoot:"O"},p=Math.ceil(1.5*s);c.height=p,c.width=.5*p,f.font=t;var d="H",v={top:0};f.clearRect(0,0,p,p),f.textBaseline="top",f.fillStyle="black",f.fillText(d,0,0);var g=n(f.getImageData(0,0,p,p));f.clearRect(0,0,p,p),f.textBaseline="bottom",f.fillText(d,0,p);var y=n(f.getImageData(0,0,p,p));v.lineHeight=v.bottom=p-y+g,f.clearRect(0,0,p,p),f.textBaseline="alphabetic",f.fillText(d,0,p);var m=p-n(f.getImageData(0,0,p,p))-1+g;v.baseline=v.alphabetic=m,f.clearRect(0,0,p,p),f.textBaseline="middle",f.fillText(d,0,.5*p);var x=n(f.getImageData(0,0,p,p));v.median=v.middle=p-x-1+g-.5*p,f.clearRect(0,0,p,p),f.textBaseline="hanging",f.fillText(d,0,.5*p);var b=n(f.getImageData(0,0,p,p));v.hanging=p-b-1+g-.5*p,f.clearRect(0,0,p,p),f.textBaseline="ideographic",f.fillText(d,0,p);var _=n(f.getImageData(0,0,p,p));if(v.ideographic=p-_-1+g,h.upper&&(f.clearRect(0,0,p,p),f.textBaseline="top",f.fillText(h.upper,0,0),v.upper=n(f.getImageData(0,0,p,p)),v.capHeight=v.baseline-v.upper),h.lower&&(f.clearRect(0,0,p,p),f.textBaseline="top",f.fillText(h.lower,0,0),v.lower=n(f.getImageData(0,0,p,p)),v.xHeight=v.baseline-v.lower),h.tittle&&(f.clearRect(0,0,p,p),f.textBaseline="top",f.fillText(h.tittle,0,0),v.tittle=n(f.getImageData(0,0,p,p))),h.ascent&&(f.clearRect(0,0,p,p),f.textBaseline="top",f.fillText(h.ascent,0,0),v.ascent=n(f.getImageData(0,0,p,p))),h.descent&&(f.clearRect(0,0,p,p),f.textBaseline="top",f.fillText(h.descent,0,0),v.descent=i(f.getImageData(0,0,p,p))),h.overshoot){f.clearRect(0,0,p,p),f.textBaseline="top",f.fillText(h.overshoot,0,0);var w=i(f.getImageData(0,0,p,p));v.overshoot=w-m}for(var T in v)v[T]/=s;return v.em=s,e.cache[o]=v,r(v,u)}function r(t,e){var r={};for(var n in"string"==typeof e&&(e=t[e]),t)"em"!==n&&(r[n]=t[n]-e);return r}function n(t){for(var e=t.height,r=t.data,n=3;n<r.length;n+=4)if(0!==r[n])return Math.floor(.25*(n-3)/e)}function i(t){for(var e=t.height,r=t.data,n=r.length-1;n>0;n-=4)if(0!==r[n])return Math.floor(.25*(n-3)/e)}t.exports=e,e.canvas=document.createElement("canvas"),e.cache={}},86165:function(t){var e=Object.prototype.hasOwnProperty,r=Object.prototype.toString;t.exports=function(t,n,i){if("[object Function]"!==r.call(n))throw new TypeError("iterator must be a function");var a=t.length;if(a===+a)for(var o=0;o<a;o++)n.call(i,t[o],o,t);else for(var s in t)e.call(t,s)&&n.call(i,t[s],s,t)}},73047:function(t){"use strict";var e="Function.prototype.bind called on incompatible ",r=Array.prototype.slice,n=Object.prototype.toString,i="[object Function]";t.exports=function(t){var a=this;if("function"!=typeof a||n.call(a)!==i)throw new TypeError(e+a);for(var o,s=r.call(arguments,1),l=function(){if(this instanceof o){var e=a.apply(this,s.concat(r.call(arguments)));return Object(e)===e?e:this}return a.apply(t,s.concat(r.call(arguments)))},u=Math.max(0,a.length-s.length),c=[],f=0;f<u;f++)c.push("$"+f);if(o=Function("binder","return function ("+c.join(",")+"){ return binder.apply(this,arguments); }")(l),a.prototype){var h=function(){};h.prototype=a.prototype,o.prototype=new h,h.prototype=null}return o}},77575:function(t,e,r){"use strict";var n=r(73047);t.exports=Function.prototype.bind||n},86249:function(t){t.exports=function(t,e){if("string"!=typeof t)throw new TypeError("must specify type string");if(e=e||{},"undefined"==typeof document&&!e.canvas)return null;var r=e.canvas||document.createElement("canvas");"number"==typeof e.width&&(r.width=e.width),"number"==typeof e.height&&(r.height=e.height);var n,i=e;try{var a=[t];0===t.indexOf("webgl")&&a.push("experimental-"+t);for(var o=0;o<a.length;o++)if(n=r.getContext(a[o],i))return n}catch(t){n=null}return n||null}},68318:function(t,e,r){"use strict";var n,i=SyntaxError,a=Function,o=TypeError,s=function(t){try{return Function('"use strict"; return ('+t+").constructor;")()}catch(t){}},l=Object.getOwnPropertyDescriptor;if(l)try{l({},"")}catch(t){l=null}var u=function(){throw new o},c=l?function(){try{return u}catch(t){try{return l(arguments,"callee").get}catch(t){return u}}}():u,f=r(57877)(),h=Object.getPrototypeOf||function(t){return t.__proto__},p=s("async function* () {}"),d=p?p.prototype:n,v=d?d.prototype:n,g="undefined"==typeof Uint8Array?n:h(Uint8Array),y={"%AggregateError%":"undefined"==typeof AggregateError?n:AggregateError,"%Array%":Array,"%ArrayBuffer%":"undefined"==typeof ArrayBuffer?n:ArrayBuffer,"%ArrayIteratorPrototype%":f?h([][Symbol.iterator]()):n,"%AsyncFromSyncIteratorPrototype%":n,"%AsyncFunction%":s("async function () {}"),"%AsyncGenerator%":d,"%AsyncGeneratorFunction%":p,"%AsyncIteratorPrototype%":v?h(v):n,"%Atomics%":"undefined"==typeof Atomics?n:Atomics,"%BigInt%":"undefined"==typeof BigInt?n:BigInt,"%Boolean%":Boolean,"%DataView%":"undefined"==typeof DataView?n:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":Error,"%eval%":eval,"%EvalError%":EvalError,"%Float32Array%":"undefined"==typeof Float32Array?n:Float32Array,"%Float64Array%":"undefined"==typeof Float64Array?n:Float64Array,"%FinalizationRegistry%":"undefined"==typeof FinalizationRegistry?n:FinalizationRegistry,"%Function%":a,"%GeneratorFunction%":s("function* () {}"),"%Int8Array%":"undefined"==typeof Int8Array?n:Int8Array,"%Int16Array%":"undefined"==typeof Int16Array?n:Int16Array,"%Int32Array%":"undefined"==typeof Int32Array?n:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":f?h(h([][Symbol.iterator]())):n,"%JSON%":"object"==typeof JSON?JSON:n,"%Map%":"undefined"==typeof Map?n:Map,"%MapIteratorPrototype%":"undefined"!=typeof Map&&f?h((new Map)[Symbol.iterator]()):n,"%Math%":Math,"%Number%":Number,"%Object%":Object,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":"undefined"==typeof Promise?n:Promise,"%Proxy%":"undefined"==typeof Proxy?n:Proxy,"%RangeError%":RangeError,"%ReferenceError%":ReferenceError,"%Reflect%":"undefined"==typeof Reflect?n:Reflect,"%RegExp%":RegExp,"%Set%":"undefined"==typeof Set?n:Set,"%SetIteratorPrototype%":"undefined"!=typeof Set&&f?h((new Set)[Symbol.iterator]()):n,"%SharedArrayBuffer%":"undefined"==typeof SharedArrayBuffer?n:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":f?h(""[Symbol.iterator]()):n,"%Symbol%":f?Symbol:n,"%SyntaxError%":i,"%ThrowTypeError%":c,"%TypedArray%":g,"%TypeError%":o,"%Uint8Array%":"undefined"==typeof Uint8Array?n:Uint8Array,"%Uint8ClampedArray%":"undefined"==typeof Uint8ClampedArray?n:Uint8ClampedArray,"%Uint16Array%":"undefined"==typeof Uint16Array?n:Uint16Array,"%Uint32Array%":"undefined"==typeof Uint32Array?n:Uint32Array,"%URIError%":URIError,"%WeakMap%":"undefined"==typeof WeakMap?n:WeakMap,"%WeakRef%":"undefined"==typeof WeakRef?n:WeakRef,"%WeakSet%":"undefined"==typeof WeakSet?n:WeakSet},m={"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},x=r(77575),b=r(35065),_=x.call(Function.call,Array.prototype.concat),w=x.call(Function.apply,Array.prototype.splice),T=x.call(Function.call,String.prototype.replace),k=x.call(Function.call,String.prototype.slice),A=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,M=/\\(\\)?/g,S=function(t){var e=k(t,0,1),r=k(t,-1);if("%"===e&&"%"!==r)throw new i("invalid intrinsic syntax, expected closing `%`");if("%"===r&&"%"!==e)throw new i("invalid intrinsic syntax, expected opening `%`");var n=[];return T(t,A,(function(t,e,r,i){n[n.length]=r?T(i,M,"$1"):e||t})),n},E=function(t,e){var r,n=t;if(b(m,n)&&(n="%"+(r=m[n])[0]+"%"),b(y,n)){var a=y[n];if(void 0===a&&!e)throw new o("intrinsic "+t+" exists, but is not available. Please file an issue!");return{alias:r,name:n,value:a}}throw new i("intrinsic "+t+" does not exist!")};t.exports=function(t,e){if("string"!=typeof t||0===t.length)throw new o("intrinsic name must be a non-empty string");if(arguments.length>1&&"boolean"!=typeof e)throw new o('"allowMissing" argument must be a boolean');var r=S(t),n=r.length>0?r[0]:"",a=E("%"+n+"%",e),s=a.name,u=a.value,c=!1,f=a.alias;f&&(n=f[0],w(r,_([0,1],f)));for(var h=1,p=!0;h<r.length;h+=1){var d=r[h],v=k(d,0,1),g=k(d,-1);if(('"'===v||"'"===v||"`"===v||'"'===g||"'"===g||"`"===g)&&v!==g)throw new i("property names with quotes must have matching quotes");if("constructor"!==d&&p||(c=!0),b(y,s="%"+(n+="."+d)+"%"))u=y[s];else if(null!=u){if(!(d in u)){if(!e)throw new o("base intrinsic for "+t+" exists, but the property is not available.");return}if(l&&h+1>=r.length){var m=l(u,d);u=(p=!!m)&&"get"in m&&!("originalValue"in m.get)?m.get:u[d]}else p=b(u,d),u=u[d];p&&!c&&(y[s]=u)}}return u}},85400:function(t){t.exports=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=e[4],s=e[5],l=e[6],u=e[7],c=e[8],f=e[9],h=e[10],p=e[11],d=e[12],v=e[13],g=e[14],y=e[15];return t[0]=s*(h*y-p*g)-f*(l*y-u*g)+v*(l*p-u*h),t[1]=-(n*(h*y-p*g)-f*(i*y-a*g)+v*(i*p-a*h)),t[2]=n*(l*y-u*g)-s*(i*y-a*g)+v*(i*u-a*l),t[3]=-(n*(l*p-u*h)-s*(i*p-a*h)+f*(i*u-a*l)),t[4]=-(o*(h*y-p*g)-c*(l*y-u*g)+d*(l*p-u*h)),t[5]=r*(h*y-p*g)-c*(i*y-a*g)+d*(i*p-a*h),t[6]=-(r*(l*y-u*g)-o*(i*y-a*g)+d*(i*u-a*l)),t[7]=r*(l*p-u*h)-o*(i*p-a*h)+c*(i*u-a*l),t[8]=o*(f*y-p*v)-c*(s*y-u*v)+d*(s*p-u*f),t[9]=-(r*(f*y-p*v)-c*(n*y-a*v)+d*(n*p-a*f)),t[10]=r*(s*y-u*v)-o*(n*y-a*v)+d*(n*u-a*s),t[11]=-(r*(s*p-u*f)-o*(n*p-a*f)+c*(n*u-a*s)),t[12]=-(o*(f*g-h*v)-c*(s*g-l*v)+d*(s*h-l*f)),t[13]=r*(f*g-h*v)-c*(n*g-i*v)+d*(n*h-i*f),t[14]=-(r*(s*g-l*v)-o*(n*g-i*v)+d*(n*l-i*s)),t[15]=r*(s*h-l*f)-o*(n*h-i*f)+c*(n*l-i*s),t}},42331:function(t){t.exports=function(t){var e=new Float32Array(16);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}},31042:function(t){t.exports=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}},11902:function(t){t.exports=function(){var t=new Float32Array(16);return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},89887:function(t){t.exports=function(t){var e=t[0],r=t[1],n=t[2],i=t[3],a=t[4],o=t[5],s=t[6],l=t[7],u=t[8],c=t[9],f=t[10],h=t[11],p=t[12],d=t[13],v=t[14],g=t[15];return(e*o-r*a)*(f*g-h*v)-(e*s-n*a)*(c*g-h*d)+(e*l-i*a)*(c*v-f*d)+(r*s-n*o)*(u*g-h*p)-(r*l-i*o)*(u*v-f*p)+(n*l-i*s)*(u*d-c*p)}},27812:function(t){t.exports=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=r+r,s=n+n,l=i+i,u=r*o,c=n*o,f=n*s,h=i*o,p=i*s,d=i*l,v=a*o,g=a*s,y=a*l;return t[0]=1-f-d,t[1]=c+y,t[2]=h-g,t[3]=0,t[4]=c-y,t[5]=1-u-d,t[6]=p+v,t[7]=0,t[8]=h+g,t[9]=p-v,t[10]=1-u-f,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},34045:function(t){t.exports=function(t,e,r){var n,i,a,o=r[0],s=r[1],l=r[2],u=Math.sqrt(o*o+s*s+l*l);return Math.abs(u)<1e-6?null:(o*=u=1/u,s*=u,l*=u,n=Math.sin(e),a=1-(i=Math.cos(e)),t[0]=o*o*a+i,t[1]=s*o*a+l*n,t[2]=l*o*a-s*n,t[3]=0,t[4]=o*s*a-l*n,t[5]=s*s*a+i,t[6]=l*s*a+o*n,t[7]=0,t[8]=o*l*a+s*n,t[9]=s*l*a-o*n,t[10]=l*l*a+i,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t)}},45973:function(t){t.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=n+n,l=i+i,u=a+a,c=n*s,f=n*l,h=n*u,p=i*l,d=i*u,v=a*u,g=o*s,y=o*l,m=o*u;return t[0]=1-(p+v),t[1]=f+m,t[2]=h-y,t[3]=0,t[4]=f-m,t[5]=1-(c+v),t[6]=d+g,t[7]=0,t[8]=h+y,t[9]=d-g,t[10]=1-(c+p),t[11]=0,t[12]=r[0],t[13]=r[1],t[14]=r[2],t[15]=1,t}},81472:function(t){t.exports=function(t,e){return t[0]=e[0],t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=e[1],t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=e[2],t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},14669:function(t){t.exports=function(t,e){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=e[0],t[13]=e[1],t[14]=e[2],t[15]=1,t}},75262:function(t){t.exports=function(t,e){var r=Math.sin(e),n=Math.cos(e);return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=n,t[6]=r,t[7]=0,t[8]=0,t[9]=-r,t[10]=n,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},331:function(t){t.exports=function(t,e){var r=Math.sin(e),n=Math.cos(e);return t[0]=n,t[1]=0,t[2]=-r,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=r,t[9]=0,t[10]=n,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},11049:function(t){t.exports=function(t,e){var r=Math.sin(e),n=Math.cos(e);return t[0]=n,t[1]=r,t[2]=0,t[3]=0,t[4]=-r,t[5]=n,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},75195:function(t){t.exports=function(t,e,r,n,i,a,o){var s=1/(r-e),l=1/(i-n),u=1/(a-o);return t[0]=2*a*s,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=2*a*l,t[6]=0,t[7]=0,t[8]=(r+e)*s,t[9]=(i+n)*l,t[10]=(o+a)*u,t[11]=-1,t[12]=0,t[13]=0,t[14]=o*a*2*u,t[15]=0,t}},71551:function(t){t.exports=function(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},79576:function(t,e,r){t.exports={create:r(11902),clone:r(42331),copy:r(31042),identity:r(71551),transpose:r(88654),invert:r(95874),adjoint:r(85400),determinant:r(89887),multiply:r(91362),translate:r(31283),scale:r(10789),rotate:r(65074),rotateX:r(35545),rotateY:r(94918),rotateZ:r(15692),fromRotation:r(34045),fromRotationTranslation:r(45973),fromScaling:r(81472),fromTranslation:r(14669),fromXRotation:r(75262),fromYRotation:r(331),fromZRotation:r(11049),fromQuat:r(27812),frustum:r(75195),perspective:r(7864),perspectiveFromFieldOfView:r(35279),ortho:r(60378),lookAt:r(65551),str:r(6726)}},95874:function(t){t.exports=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=e[4],s=e[5],l=e[6],u=e[7],c=e[8],f=e[9],h=e[10],p=e[11],d=e[12],v=e[13],g=e[14],y=e[15],m=r*s-n*o,x=r*l-i*o,b=r*u-a*o,_=n*l-i*s,w=n*u-a*s,T=i*u-a*l,k=c*v-f*d,A=c*g-h*d,M=c*y-p*d,S=f*g-h*v,E=f*y-p*v,L=h*y-p*g,C=m*L-x*E+b*S+_*M-w*A+T*k;return C?(C=1/C,t[0]=(s*L-l*E+u*S)*C,t[1]=(i*E-n*L-a*S)*C,t[2]=(v*T-g*w+y*_)*C,t[3]=(h*w-f*T-p*_)*C,t[4]=(l*M-o*L-u*A)*C,t[5]=(r*L-i*M+a*A)*C,t[6]=(g*b-d*T-y*x)*C,t[7]=(c*T-h*b+p*x)*C,t[8]=(o*E-s*M+u*k)*C,t[9]=(n*M-r*E-a*k)*C,t[10]=(d*w-v*b+y*m)*C,t[11]=(f*b-c*w-p*m)*C,t[12]=(s*A-o*S-l*k)*C,t[13]=(r*S-n*A+i*k)*C,t[14]=(v*x-d*_-g*m)*C,t[15]=(c*_-f*x+h*m)*C,t):null}},65551:function(t,e,r){var n=r(71551);t.exports=function(t,e,r,i){var a,o,s,l,u,c,f,h,p,d,v=e[0],g=e[1],y=e[2],m=i[0],x=i[1],b=i[2],_=r[0],w=r[1],T=r[2];return Math.abs(v-_)<1e-6&&Math.abs(g-w)<1e-6&&Math.abs(y-T)<1e-6?n(t):(f=v-_,h=g-w,p=y-T,a=x*(p*=d=1/Math.sqrt(f*f+h*h+p*p))-b*(h*=d),o=b*(f*=d)-m*p,s=m*h-x*f,(d=Math.sqrt(a*a+o*o+s*s))?(a*=d=1/d,o*=d,s*=d):(a=0,o=0,s=0),l=h*s-p*o,u=p*a-f*s,c=f*o-h*a,(d=Math.sqrt(l*l+u*u+c*c))?(l*=d=1/d,u*=d,c*=d):(l=0,u=0,c=0),t[0]=a,t[1]=l,t[2]=f,t[3]=0,t[4]=o,t[5]=u,t[6]=h,t[7]=0,t[8]=s,t[9]=c,t[10]=p,t[11]=0,t[12]=-(a*v+o*g+s*y),t[13]=-(l*v+u*g+c*y),t[14]=-(f*v+h*g+p*y),t[15]=1,t)}},91362:function(t){t.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],u=e[6],c=e[7],f=e[8],h=e[9],p=e[10],d=e[11],v=e[12],g=e[13],y=e[14],m=e[15],x=r[0],b=r[1],_=r[2],w=r[3];return t[0]=x*n+b*s+_*f+w*v,t[1]=x*i+b*l+_*h+w*g,t[2]=x*a+b*u+_*p+w*y,t[3]=x*o+b*c+_*d+w*m,x=r[4],b=r[5],_=r[6],w=r[7],t[4]=x*n+b*s+_*f+w*v,t[5]=x*i+b*l+_*h+w*g,t[6]=x*a+b*u+_*p+w*y,t[7]=x*o+b*c+_*d+w*m,x=r[8],b=r[9],_=r[10],w=r[11],t[8]=x*n+b*s+_*f+w*v,t[9]=x*i+b*l+_*h+w*g,t[10]=x*a+b*u+_*p+w*y,t[11]=x*o+b*c+_*d+w*m,x=r[12],b=r[13],_=r[14],w=r[15],t[12]=x*n+b*s+_*f+w*v,t[13]=x*i+b*l+_*h+w*g,t[14]=x*a+b*u+_*p+w*y,t[15]=x*o+b*c+_*d+w*m,t}},60378:function(t){t.exports=function(t,e,r,n,i,a,o){var s=1/(e-r),l=1/(n-i),u=1/(a-o);return t[0]=-2*s,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=-2*l,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=2*u,t[11]=0,t[12]=(e+r)*s,t[13]=(i+n)*l,t[14]=(o+a)*u,t[15]=1,t}},7864:function(t){t.exports=function(t,e,r,n,i){var a=1/Math.tan(e/2),o=1/(n-i);return t[0]=a/r,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=a,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=(i+n)*o,t[11]=-1,t[12]=0,t[13]=0,t[14]=2*i*n*o,t[15]=0,t}},35279:function(t){t.exports=function(t,e,r,n){var i=Math.tan(e.upDegrees*Math.PI/180),a=Math.tan(e.downDegrees*Math.PI/180),o=Math.tan(e.leftDegrees*Math.PI/180),s=Math.tan(e.rightDegrees*Math.PI/180),l=2/(o+s),u=2/(i+a);return t[0]=l,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=u,t[6]=0,t[7]=0,t[8]=-(o-s)*l*.5,t[9]=(i-a)*u*.5,t[10]=n/(r-n),t[11]=-1,t[12]=0,t[13]=0,t[14]=n*r/(r-n),t[15]=0,t}},65074:function(t){t.exports=function(t,e,r,n){var i,a,o,s,l,u,c,f,h,p,d,v,g,y,m,x,b,_,w,T,k,A,M,S,E=n[0],L=n[1],C=n[2],P=Math.sqrt(E*E+L*L+C*C);return Math.abs(P)<1e-6?null:(E*=P=1/P,L*=P,C*=P,i=Math.sin(r),o=1-(a=Math.cos(r)),s=e[0],l=e[1],u=e[2],c=e[3],f=e[4],h=e[5],p=e[6],d=e[7],v=e[8],g=e[9],y=e[10],m=e[11],x=E*E*o+a,b=L*E*o+C*i,_=C*E*o-L*i,w=E*L*o-C*i,T=L*L*o+a,k=C*L*o+E*i,A=E*C*o+L*i,M=L*C*o-E*i,S=C*C*o+a,t[0]=s*x+f*b+v*_,t[1]=l*x+h*b+g*_,t[2]=u*x+p*b+y*_,t[3]=c*x+d*b+m*_,t[4]=s*w+f*T+v*k,t[5]=l*w+h*T+g*k,t[6]=u*w+p*T+y*k,t[7]=c*w+d*T+m*k,t[8]=s*A+f*M+v*S,t[9]=l*A+h*M+g*S,t[10]=u*A+p*M+y*S,t[11]=c*A+d*M+m*S,e!==t&&(t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t)}},35545:function(t){t.exports=function(t,e,r){var n=Math.sin(r),i=Math.cos(r),a=e[4],o=e[5],s=e[6],l=e[7],u=e[8],c=e[9],f=e[10],h=e[11];return e!==t&&(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[4]=a*i+u*n,t[5]=o*i+c*n,t[6]=s*i+f*n,t[7]=l*i+h*n,t[8]=u*i-a*n,t[9]=c*i-o*n,t[10]=f*i-s*n,t[11]=h*i-l*n,t}},94918:function(t){t.exports=function(t,e,r){var n=Math.sin(r),i=Math.cos(r),a=e[0],o=e[1],s=e[2],l=e[3],u=e[8],c=e[9],f=e[10],h=e[11];return e!==t&&(t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[0]=a*i-u*n,t[1]=o*i-c*n,t[2]=s*i-f*n,t[3]=l*i-h*n,t[8]=a*n+u*i,t[9]=o*n+c*i,t[10]=s*n+f*i,t[11]=l*n+h*i,t}},15692:function(t){t.exports=function(t,e,r){var n=Math.sin(r),i=Math.cos(r),a=e[0],o=e[1],s=e[2],l=e[3],u=e[4],c=e[5],f=e[6],h=e[7];return e!==t&&(t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[0]=a*i+u*n,t[1]=o*i+c*n,t[2]=s*i+f*n,t[3]=l*i+h*n,t[4]=u*i-a*n,t[5]=c*i-o*n,t[6]=f*i-s*n,t[7]=h*i-l*n,t}},10789:function(t){t.exports=function(t,e,r){var n=r[0],i=r[1],a=r[2];return t[0]=e[0]*n,t[1]=e[1]*n,t[2]=e[2]*n,t[3]=e[3]*n,t[4]=e[4]*i,t[5]=e[5]*i,t[6]=e[6]*i,t[7]=e[7]*i,t[8]=e[8]*a,t[9]=e[9]*a,t[10]=e[10]*a,t[11]=e[11]*a,t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}},6726:function(t){t.exports=function(t){return"mat4("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+", "+t[4]+", "+t[5]+", "+t[6]+", "+t[7]+", "+t[8]+", "+t[9]+", "+t[10]+", "+t[11]+", "+t[12]+", "+t[13]+", "+t[14]+", "+t[15]+")"}},31283:function(t){t.exports=function(t,e,r){var n,i,a,o,s,l,u,c,f,h,p,d,v=r[0],g=r[1],y=r[2];return e===t?(t[12]=e[0]*v+e[4]*g+e[8]*y+e[12],t[13]=e[1]*v+e[5]*g+e[9]*y+e[13],t[14]=e[2]*v+e[6]*g+e[10]*y+e[14],t[15]=e[3]*v+e[7]*g+e[11]*y+e[15]):(n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],u=e[6],c=e[7],f=e[8],h=e[9],p=e[10],d=e[11],t[0]=n,t[1]=i,t[2]=a,t[3]=o,t[4]=s,t[5]=l,t[6]=u,t[7]=c,t[8]=f,t[9]=h,t[10]=p,t[11]=d,t[12]=n*v+s*g+f*y+e[12],t[13]=i*v+l*g+h*y+e[13],t[14]=a*v+u*g+p*y+e[14],t[15]=o*v+c*g+d*y+e[15]),t}},88654:function(t){t.exports=function(t,e){if(t===e){var r=e[1],n=e[2],i=e[3],a=e[6],o=e[7],s=e[11];t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=r,t[6]=e[9],t[7]=e[13],t[8]=n,t[9]=a,t[11]=e[14],t[12]=i,t[13]=o,t[14]=s}else t[0]=e[0],t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=e[1],t[5]=e[5],t[6]=e[9],t[7]=e[13],t[8]=e[2],t[9]=e[6],t[10]=e[10],t[11]=e[14],t[12]=e[3],t[13]=e[7],t[14]=e[11],t[15]=e[15];return t}},42505:function(t,e,r){"use strict";var n=r(72791),i=r(71299),a=r(98580),o=r(12018),s=r(83522),l=r(25075),u=r(68016),c=r(58404),f=r(18863),h=r(10973),p=r(25677),d=r(75686),v=r(53545),g=r(56131),y=r(32879),m=r(30120),x=r(13547).nextPow2,b=new s,_=!1;if(document.body){var w=document.body.appendChild(document.createElement("div"));w.style.font="italic small-caps bold condensed 16px/2 cursive",getComputedStyle(w).fontStretch&&(_=!0),document.body.removeChild(w)}var T=function(t){!function(t){return"function"==typeof t&&t._gl&&t.prop&&t.texture&&t.buffer}(t)?this.gl=o(t):(t={regl:t},this.gl=t.regl._gl),this.shader=b.get(this.gl),this.shader?this.regl=this.shader.regl:this.regl=t.regl||a({gl:this.gl}),this.charBuffer=this.regl.buffer({type:"uint8",usage:"stream"}),this.sizeBuffer=this.regl.buffer({type:"float",usage:"stream"}),this.shader||(this.shader=this.createShader(),b.set(this.gl,this.shader)),this.batch=[],this.fontSize=[],this.font=[],this.fontAtlas=[],this.draw=this.shader.draw.bind(this),this.render=function(){this.regl._refresh(),this.draw(this.batch)},this.canvas=this.gl.canvas,this.update(h(t)?t:{})};T.prototype.createShader=function(){var t=this.regl,e=t({blend:{enable:!0,color:[0,0,0,1],func:{srcRGB:"src alpha",dstRGB:"one minus src alpha",srcAlpha:"one minus dst alpha",dstAlpha:"one"}},stencil:{enable:!1},depth:{enable:!1},count:t.prop("count"),offset:t.prop("offset"),attributes:{charOffset:{offset:4,stride:8,buffer:t.this("sizeBuffer")},width:{offset:0,stride:8,buffer:t.this("sizeBuffer")},char:t.this("charBuffer"),position:t.this("position")},uniforms:{atlasSize:function(t,e){return[e.atlas.width,e.atlas.height]},atlasDim:function(t,e){return[e.atlas.cols,e.atlas.rows]},atlas:function(t,e){return e.atlas.texture},charStep:function(t,e){return e.atlas.step},em:function(t,e){return e.atlas.em},color:t.prop("color"),opacity:t.prop("opacity"),viewport:t.this("viewportArray"),scale:t.this("scale"),align:t.prop("align"),baseline:t.prop("baseline"),translate:t.this("translate"),positionOffset:t.prop("positionOffset")},primitive:"points",viewport:t.this("viewport"),vert:"\n\t\t\tprecision highp float;\n\t\t\tattribute float width, charOffset, char;\n\t\t\tattribute vec2 position;\n\t\t\tuniform float fontSize, charStep, em, align, baseline;\n\t\t\tuniform vec4 viewport;\n\t\t\tuniform vec4 color;\n\t\t\tuniform vec2 atlasSize, atlasDim, scale, translate, positionOffset;\n\t\t\tvarying vec2 charCoord, charId;\n\t\t\tvarying float charWidth;\n\t\t\tvarying vec4 fontColor;\n\t\t\tvoid main () {\n\t\t\t\tvec2 offset = floor(em * (vec2(align + charOffset, baseline)\n\t\t\t\t\t+ vec2(positionOffset.x, -positionOffset.y)))\n\t\t\t\t\t/ (viewport.zw * scale.xy);\n\n\t\t\t\tvec2 position = (position + translate) * scale;\n\t\t\t\tposition += offset * scale;\n\n\t\t\t\tcharCoord = position * viewport.zw + viewport.xy;\n\n\t\t\t\tgl_Position = vec4(position * 2. - 1., 0, 1);\n\n\t\t\t\tgl_PointSize = charStep;\n\n\t\t\t\tcharId.x = mod(char, atlasDim.x);\n\t\t\t\tcharId.y = floor(char / atlasDim.x);\n\n\t\t\t\tcharWidth = width * em;\n\n\t\t\t\tfontColor = color / 255.;\n\t\t\t}",frag:"\n\t\t\tprecision highp float;\n\t\t\tuniform float fontSize, charStep, opacity;\n\t\t\tuniform vec2 atlasSize;\n\t\t\tuniform vec4 viewport;\n\t\t\tuniform sampler2D atlas;\n\t\t\tvarying vec4 fontColor;\n\t\t\tvarying vec2 charCoord, charId;\n\t\t\tvarying float charWidth;\n\n\t\t\tfloat lightness(vec4 color) {\n\t\t\t\treturn color.r * 0.299 + color.g * 0.587 + color.b * 0.114;\n\t\t\t}\n\n\t\t\tvoid main () {\n\t\t\t\tvec2 uv = gl_FragCoord.xy - charCoord + charStep * .5;\n\t\t\t\tfloat halfCharStep = floor(charStep * .5 + .5);\n\n\t\t\t\t// invert y and shift by 1px (FF expecially needs that)\n\t\t\t\tuv.y = charStep - uv.y;\n\n\t\t\t\t// ignore points outside of character bounding box\n\t\t\t\tfloat halfCharWidth = ceil(charWidth * .5);\n\t\t\t\tif (floor(uv.x) > halfCharStep + halfCharWidth ||\n\t\t\t\t\tfloor(uv.x) < halfCharStep - halfCharWidth) return;\n\n\t\t\t\tuv += charId * charStep;\n\t\t\t\tuv = uv / atlasSize;\n\n\t\t\t\tvec4 color = fontColor;\n\t\t\t\tvec4 mask = texture2D(atlas, uv);\n\n\t\t\t\tfloat maskY = lightness(mask);\n\t\t\t\t// float colorY = lightness(color);\n\t\t\t\tcolor.a *= maskY;\n\t\t\t\tcolor.a *= opacity;\n\n\t\t\t\t// color.a += .1;\n\n\t\t\t\t// antialiasing, see yiq color space y-channel formula\n\t\t\t\t// color.rgb += (1. - color.rgb) * (1. - mask.rgb);\n\n\t\t\t\tgl_FragColor = color;\n\t\t\t}"});return{regl:t,draw:e,atlas:{}}},T.prototype.update=function(t){var e=this;if("string"==typeof t)t={text:t};else if(!t)return;null!=(t=i(t,{position:"position positions coord coords coordinates",font:"font fontFace fontface typeface cssFont css-font family fontFamily",fontSize:"fontSize fontsize size font-size",text:"text texts chars characters value values symbols",align:"align alignment textAlign textbaseline",baseline:"baseline textBaseline textbaseline",direction:"dir direction textDirection",color:"color colour fill fill-color fillColor textColor textcolor",kerning:"kerning kern",range:"range dataBox",viewport:"vp viewport viewBox viewbox viewPort",opacity:"opacity alpha transparency visible visibility opaque",offset:"offset positionOffset padding shift indent indentation"},!0)).opacity&&(Array.isArray(t.opacity)?this.opacity=t.opacity.map((function(t){return parseFloat(t)})):this.opacity=parseFloat(t.opacity)),null!=t.viewport&&(this.viewport=f(t.viewport),this.viewportArray=[this.viewport.x,this.viewport.y,this.viewport.width,this.viewport.height]),null==this.viewport&&(this.viewport={x:0,y:0,width:this.gl.drawingBufferWidth,height:this.gl.drawingBufferHeight},this.viewportArray=[this.viewport.x,this.viewport.y,this.viewport.width,this.viewport.height]),null!=t.kerning&&(this.kerning=t.kerning),null!=t.offset&&("number"==typeof t.offset&&(t.offset=[t.offset,0]),this.positionOffset=m(t.offset)),t.direction&&(this.direction=t.direction),t.range&&(this.range=t.range,this.scale=[1/(t.range[2]-t.range[0]),1/(t.range[3]-t.range[1])],this.translate=[-t.range[0],-t.range[1]]),t.scale&&(this.scale=t.scale),t.translate&&(this.translate=t.translate),this.scale||(this.scale=[1/this.viewport.width,1/this.viewport.height]),this.translate||(this.translate=[0,0]),this.font.length||t.font||(t.font=T.baseFontSize+"px sans-serif");var r,a=!1,o=!1;if(t.font&&(Array.isArray(t.font)?t.font:[t.font]).forEach((function(t,r){if("string"==typeof t)try{t=n.parse(t)}catch(e){t=n.parse(T.baseFontSize+"px "+t)}else t=n.parse(n.stringify(t));var i=n.stringify({size:T.baseFontSize,family:t.family,stretch:_?t.stretch:void 0,variant:t.variant,weight:t.weight,style:t.style}),s=p(t.size),l=Math.round(s[0]*d(s[1]));if(l!==e.fontSize[r]&&(o=!0,e.fontSize[r]=l),!(e.font[r]&&i==e.font[r].baseString||(a=!0,e.font[r]=T.fonts[i],e.font[r]))){var u=t.family.join(", "),c=[t.style];t.style!=t.variant&&c.push(t.variant),t.variant!=t.weight&&c.push(t.weight),_&&t.weight!=t.stretch&&c.push(t.stretch),e.font[r]={baseString:i,family:u,weight:t.weight,stretch:t.stretch,style:t.style,variant:t.variant,width:{},kerning:{},metrics:y(u,{origin:"top",fontSize:T.baseFontSize,fontStyle:c.join(" ")})},T.fonts[i]=e.font[r]}})),(a||o)&&this.font.forEach((function(r,i){var a=n.stringify({size:e.fontSize[i],family:r.family,stretch:_?r.stretch:void 0,variant:r.variant,weight:r.weight,style:r.style});if(e.fontAtlas[i]=e.shader.atlas[a],!e.fontAtlas[i]){var o=r.metrics;e.shader.atlas[a]=e.fontAtlas[i]={fontString:a,step:2*Math.ceil(e.fontSize[i]*o.bottom*.5),em:e.fontSize[i],cols:0,rows:0,height:0,width:0,chars:[],ids:{},texture:e.regl.texture()}}null==t.text&&(t.text=e.text)})),"string"==typeof t.text&&t.position&&t.position.length>2){for(var s=Array(.5*t.position.length),h=0;h<s.length;h++)s[h]=t.text;t.text=s}if(null!=t.text||a){if(this.textOffsets=[0],Array.isArray(t.text)){this.count=t.text[0].length,this.counts=[this.count];for(var b=1;b<t.text.length;b++)this.textOffsets[b]=this.textOffsets[b-1]+t.text[b-1].length,this.count+=t.text[b].length,this.counts.push(t.text[b].length);this.text=t.text.join("")}else this.text=t.text,this.count=this.text.length,this.counts=[this.count];r=[],this.font.forEach((function(t,n){T.atlasContext.font=t.baseString;for(var i=e.fontAtlas[n],a=0;a<e.text.length;a++){var o=e.text.charAt(a);if(null==i.ids[o]&&(i.ids[o]=i.chars.length,i.chars.push(o),r.push(o)),null==t.width[o]&&(t.width[o]=T.atlasContext.measureText(o).width/T.baseFontSize,e.kerning)){var s=[];for(var l in t.width)s.push(l+o,o+l);g(t.kerning,v(t.family,{pairs:s}))}}}))}if(t.position)if(t.position.length>2){for(var w=!t.position[0].length,k=c.mallocFloat(2*this.count),A=0,M=0;A<this.counts.length;A++){var S=this.counts[A];if(w)for(var E=0;E<S;E++)k[M++]=t.position[2*A],k[M++]=t.position[2*A+1];else for(var L=0;L<S;L++)k[M++]=t.position[A][0],k[M++]=t.position[A][1]}this.position.call?this.position({type:"float",data:k}):this.position=this.regl.buffer({type:"float",data:k}),c.freeFloat(k)}else this.position.destroy&&this.position.destroy(),this.position={constant:t.position};if(t.text||a){var C=c.mallocUint8(this.count),P=c.mallocFloat(2*this.count);this.textWidth=[];for(var O=0,I=0;O<this.counts.length;O++){for(var D=this.counts[O],z=this.font[O]||this.font[0],R=this.fontAtlas[O]||this.fontAtlas[0],F=0;F<D;F++){var B=this.text.charAt(I),N=this.text.charAt(I-1);if(C[I]=R.ids[B],P[2*I]=z.width[B],F){var j=P[2*I-2],U=P[2*I],V=P[2*I-1]+.5*j+.5*U;if(this.kerning){var H=z.kerning[N+B];H&&(V+=.001*H)}P[2*I+1]=V}else P[2*I+1]=.5*P[2*I];I++}this.textWidth.push(P.length?.5*P[2*I-2]+P[2*I-1]:0)}t.align||(t.align=this.align),this.charBuffer({data:C,type:"uint8",usage:"stream"}),this.sizeBuffer({data:P,type:"float",usage:"stream"}),c.freeUint8(C),c.freeFloat(P),r.length&&this.font.forEach((function(t,r){var n=e.fontAtlas[r],i=n.step,a=Math.floor(T.maxAtlasSize/i),o=Math.min(a,n.chars.length),s=Math.ceil(n.chars.length/o),l=x(o*i),c=x(s*i);n.width=l,n.height=c,n.rows=s,n.cols=o,n.em&&n.texture({data:u({canvas:T.atlasCanvas,font:n.fontString,chars:n.chars,shape:[l,c],step:[i,i]})})}))}if(t.align&&(this.align=t.align,this.alignOffset=this.textWidth.map((function(t,r){var n=Array.isArray(e.align)?e.align.length>1?e.align[r]:e.align[0]:e.align;if("number"==typeof n)return n;switch(n){case"right":case"end":return-t;case"center":case"centre":case"middle":return.5*-t}return 0}))),null==this.baseline&&null==t.baseline&&(t.baseline=0),null!=t.baseline&&(this.baseline=t.baseline,Array.isArray(this.baseline)||(this.baseline=[this.baseline]),this.baselineOffset=this.baseline.map((function(t,r){var n=(e.font[r]||e.font[0]).metrics,i=0;return i+=.5*n.bottom,-1*(i+="number"==typeof t?t-n.baseline:-n[t])}))),null!=t.color)if(t.color||(t.color="transparent"),"string"!=typeof t.color&&isNaN(t.color)){var q;if("number"==typeof t.color[0]&&t.color.length>this.counts.length){var G=t.color.length;q=c.mallocUint8(G);for(var Z=(t.color.subarray||t.color.slice).bind(t.color),Y=0;Y<G;Y+=4)q.set(l(Z(Y,Y+4),"uint8"),Y)}else{var W=t.color.length;q=c.mallocUint8(4*W);for(var X=0;X<W;X++)q.set(l(t.color[X]||0,"uint8"),4*X)}this.color=q}else this.color=l(t.color,"uint8");if(t.position||t.text||t.color||t.baseline||t.align||t.font||t.offset||t.opacity)if(this.color.length>4||this.baselineOffset.length>1||this.align&&this.align.length>1||this.fontAtlas.length>1||this.positionOffset.length>2){var J=Math.max(.5*this.position.length||0,.25*this.color.length||0,this.baselineOffset.length||0,this.alignOffset.length||0,this.font.length||0,this.opacity.length||0,.5*this.positionOffset.length||0);this.batch=Array(J);for(var K=0;K<this.batch.length;K++)this.batch[K]={count:this.counts.length>1?this.counts[K]:this.counts[0],offset:this.textOffsets.length>1?this.textOffsets[K]:this.textOffsets[0],color:this.color?this.color.length<=4?this.color:this.color.subarray(4*K,4*K+4):[0,0,0,255],opacity:Array.isArray(this.opacity)?this.opacity[K]:this.opacity,baseline:null!=this.baselineOffset[K]?this.baselineOffset[K]:this.baselineOffset[0],align:this.align?null!=this.alignOffset[K]?this.alignOffset[K]:this.alignOffset[0]:0,atlas:this.fontAtlas[K]||this.fontAtlas[0],positionOffset:this.positionOffset.length>2?this.positionOffset.subarray(2*K,2*K+2):this.positionOffset}}else this.count?this.batch=[{count:this.count,offset:0,color:this.color||[0,0,0,255],opacity:Array.isArray(this.opacity)?this.opacity[0]:this.opacity,baseline:this.baselineOffset[0],align:this.alignOffset?this.alignOffset[0]:0,atlas:this.fontAtlas[0],positionOffset:this.positionOffset}]:this.batch=[]},T.prototype.destroy=function(){},T.prototype.kerning=!0,T.prototype.position={constant:new Float32Array(2)},T.prototype.translate=null,T.prototype.scale=null,T.prototype.font=null,T.prototype.text="",T.prototype.positionOffset=[0,0],T.prototype.opacity=1,T.prototype.color=new Uint8Array([0,0,0,255]),T.prototype.alignOffset=[0,0],T.maxAtlasSize=1024,T.atlasCanvas=document.createElement("canvas"),T.atlasContext=T.atlasCanvas.getContext("2d",{alpha:!1}),T.baseFontSize=64,T.fonts={},t.exports=T},12018:function(t,e,r){"use strict";var n=r(71299);function i(t){if(t.container)if(t.container==document.body)document.body.style.width||(t.canvas.width=t.width||t.pixelRatio*r.g.innerWidth),document.body.style.height||(t.canvas.height=t.height||t.pixelRatio*r.g.innerHeight);else{var e=t.container.getBoundingClientRect();t.canvas.width=t.width||e.right-e.left,t.canvas.height=t.height||e.bottom-e.top}}function a(t){return"function"==typeof t.getContext&&"width"in t&&"height"in t}function o(){var t=document.createElement("canvas");return t.style.position="absolute",t.style.top=0,t.style.left=0,t}t.exports=function(t){var e;if(t?"string"==typeof t&&(t={container:t}):t={},(t=a(t)||"string"==typeof(e=t).nodeName&&"function"==typeof e.appendChild&&"function"==typeof e.getBoundingClientRect?{container:t}:function(t){return"function"==typeof t.drawArrays||"function"==typeof t.drawElements}(t)?{gl:t}:n(t,{container:"container target element el canvas holder parent parentNode wrapper use ref root node",gl:"gl context webgl glContext",attrs:"attributes attrs contextAttributes",pixelRatio:"pixelRatio pxRatio px ratio pxratio pixelratio",width:"w width",height:"h height"},!0)).pixelRatio||(t.pixelRatio=r.g.pixelRatio||1),t.gl)return t.gl;if(t.canvas&&(t.container=t.canvas.parentNode),t.container){if("string"==typeof t.container){var s=document.querySelector(t.container);if(!s)throw Error("Element "+t.container+" is not found");t.container=s}a(t.container)?(t.canvas=t.container,t.container=t.canvas.parentNode):t.canvas||(t.canvas=o(),t.container.appendChild(t.canvas),i(t))}else if(!t.canvas){if("undefined"==typeof document)throw Error("Not DOM environment. Use headless-gl.");t.container=document.body||document.documentElement,t.canvas=o(),t.container.appendChild(t.canvas),i(t)}return t.gl||["webgl","experimental-webgl","webgl-experimental"].some((function(e){try{t.gl=t.canvas.getContext(e,t.attrs)}catch(t){}return t.gl})),t.gl}},56068:function(t){t.exports=function(t){"string"==typeof t&&(t=[t]);for(var e=[].slice.call(arguments,1),r=[],n=0;n<t.length-1;n++)r.push(t[n],e[n]||"");return r.push(t[n]),r.join("")}},57035:function(t,e,r){"use strict";var n,i=r(54404);n="function"==typeof r.g.matchMedia?!r.g.matchMedia("(hover: none)").matches:i,t.exports=n},38520:function(t,e,r){"use strict";var n=r(54404);t.exports=n&&function(){var t=!1;try{var e=Object.defineProperty({},"passive",{get:function(){t=!0}});window.addEventListener("test",null,e),window.removeEventListener("test",null,e)}catch(e){t=!1}return t}()},57877:function(t,e,r){"use strict";var n="undefined"!=typeof Symbol&&Symbol,i=r(35638);t.exports=function(){return"function"==typeof n&&"function"==typeof Symbol&&"symbol"==typeof n("foo")&&"symbol"==typeof Symbol("bar")&&i()}},35638:function(t){"use strict";t.exports=function(){if("function"!=typeof Symbol||"function"!=typeof Object.getOwnPropertySymbols)return!1;if("symbol"==typeof Symbol.iterator)return!0;var t={},e=Symbol("test"),r=Object(e);if("string"==typeof e)return!1;if("[object Symbol]"!==Object.prototype.toString.call(e))return!1;if("[object Symbol]"!==Object.prototype.toString.call(r))return!1;for(e in t[e]=42,t)return!1;if("function"==typeof Object.keys&&0!==Object.keys(t).length)return!1;if("function"==typeof Object.getOwnPropertyNames&&0!==Object.getOwnPropertyNames(t).length)return!1;var n=Object.getOwnPropertySymbols(t);if(1!==n.length||n[0]!==e)return!1;if(!Object.prototype.propertyIsEnumerable.call(t,e))return!1;if("function"==typeof Object.getOwnPropertyDescriptor){var i=Object.getOwnPropertyDescriptor(t,e);if(42!==i.value||!0!==i.enumerable)return!1}return!0}},84543:function(t,e,r){"use strict";var n=r(35638);t.exports=function(){return n()&&!!Symbol.toStringTag}},35065:function(t,e,r){"use strict";var n=r(77575);t.exports=n.call(Function.call,Object.prototype.hasOwnProperty)},95280:function(t,e){e.read=function(t,e,r,n,i){var a,o,s=8*i-n-1,l=(1<<s)-1,u=l>>1,c=-7,f=r?i-1:0,h=r?-1:1,p=t[e+f];for(f+=h,a=p&(1<<-c)-1,p>>=-c,c+=s;c>0;a=256*a+t[e+f],f+=h,c-=8);for(o=a&(1<<-c)-1,a>>=-c,c+=n;c>0;o=256*o+t[e+f],f+=h,c-=8);if(0===a)a=1-u;else{if(a===l)return o?NaN:1/0*(p?-1:1);o+=Math.pow(2,n),a-=u}return(p?-1:1)*o*Math.pow(2,a-n)},e.write=function(t,e,r,n,i,a){var o,s,l,u=8*a-i-1,c=(1<<u)-1,f=c>>1,h=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:a-1,d=n?1:-1,v=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(s=isNaN(e)?1:0,o=c):(o=Math.floor(Math.log(e)/Math.LN2),e*(l=Math.pow(2,-o))<1&&(o--,l*=2),(e+=o+f>=1?h/l:h*Math.pow(2,1-f))*l>=2&&(o++,l/=2),o+f>=c?(s=0,o=c):o+f>=1?(s=(e*l-1)*Math.pow(2,i),o+=f):(s=e*Math.pow(2,f-1)*Math.pow(2,i),o=0));i>=8;t[r+p]=255&s,p+=d,s/=256,i-=8);for(o=o<<i|s,u+=i;u>0;t[r+p]=255&o,p+=d,o/=256,u-=8);t[r+p-d]|=128*v}},42018:function(t){"function"==typeof Object.create?t.exports=function(t,e){e&&(t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}))}:t.exports=function(t,e){if(e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}}},47216:function(t){"use strict";var e="function"==typeof Symbol&&"symbol"==typeof Symbol.toStringTag,r=Object.prototype.toString,n=function(t){return!(e&&t&&"object"==typeof t&&Symbol.toStringTag in t)&&"[object Arguments]"===r.call(t)},i=function(t){return!!n(t)||null!==t&&"object"==typeof t&&"number"==typeof t.length&&t.length>=0&&"[object Array]"!==r.call(t)&&"[object Function]"===r.call(t.callee)},a=function(){return n(arguments)}();n.isLegacyArguments=i,t.exports=a?n:i},54404:function(t){t.exports=!0},65481:function(t,e,r){"use strict";var n,i=Object.prototype.toString,a=Function.prototype.toString,o=/^\s*(?:function)?\*/,s=r(84543)(),l=Object.getPrototypeOf;t.exports=function(t){if("function"!=typeof t)return!1;if(o.test(a.call(t)))return!0;if(!s)return"[object GeneratorFunction]"===i.call(t);if(!l)return!1;if(void 0===n){var e=function(){if(!s)return!1;try{return Function("return function*() {}")()}catch(t){}}();n=!!e&&l(e)}return l(t)===n}},62683:function(t){"use strict";t.exports="undefined"!=typeof navigator&&(/MSIE/.test(navigator.userAgent)||/Trident\//.test(navigator.appVersion))},64274:function(t){"use strict";t.exports=function(t){return t!=t}},15567:function(t,e,r){"use strict";var n=r(68222),i=r(17045),a=r(64274),o=r(14922),s=r(22442),l=n(o(),Number);i(l,{getPolyfill:o,implementation:a,shim:s}),t.exports=l},14922:function(t,e,r){"use strict";var n=r(64274);t.exports=function(){return Number.isNaN&&Number.isNaN(NaN)&&!Number.isNaN("a")?Number.isNaN:n}},22442:function(t,e,r){"use strict";var n=r(17045),i=r(14922);t.exports=function(){var t=i();return n(Number,{isNaN:t},{isNaN:function(){return Number.isNaN!==t}}),t}},64941:function(t){"use strict";t.exports=function(t){var e=typeof t;return null!==t&&("object"===e||"function"===e)}},10973:function(t){"use strict";var e=Object.prototype.toString;t.exports=function(t){var r;return"[object Object]"===e.call(t)&&(null===(r=Object.getPrototypeOf(t))||r===Object.getPrototypeOf({}))}},18546:function(t){"use strict";t.exports=function(t){for(var e,r=t.length,n=0;n<r;n++)if(((e=t.charCodeAt(n))<9||e>13)&&32!==e&&133!==e&&160!==e&&5760!==e&&6158!==e&&(e<8192||e>8205)&&8232!==e&&8233!==e&&8239!==e&&8287!==e&&8288!==e&&12288!==e&&65279!==e)return!1;return!0}},89546:function(t){"use strict";t.exports=function(t){return"string"==typeof t&&(t=t.trim(),!!(/^[mzlhvcsqta]\s*[-+.0-9][^mlhvzcsqta]+/i.test(t)&&/[\dz]$/i.test(t)&&t.length>4))}},9187:function(t,e,r){"use strict";var n=r(86165),i=r(72077),a=r(92978),o=a("Object.prototype.toString"),s=r(57877)()&&"symbol"==typeof Symbol.toStringTag,l=i(),u=a("Array.prototype.indexOf",!0)||function(t,e){for(var r=0;r<t.length;r+=1)if(t[r]===e)return r;return-1},c=a("String.prototype.slice"),f={},h=r(67295),p=Object.getPrototypeOf;s&&h&&p&&n(l,(function(t){var e=new r.g[t];if(!(Symbol.toStringTag in e))throw new EvalError("this engine has support for Symbol.toStringTag, but "+t+" does not have the property! Please report this.");var n=p(e),i=h(n,Symbol.toStringTag);if(!i){var a=p(n);i=h(a,Symbol.toStringTag)}f[t]=i.get})),t.exports=function(t){if(!t||"object"!=typeof t)return!1;if(!s){var e=c(o(t),8,-1);return u(l,e)>-1}return!!h&&function(t){var e=!1;return n(f,(function(r,n){if(!e)try{e=r.call(t)===n}catch(t){}})),e}(t)}},44517:function(t){t.exports=function(){"use strict";var t,e,r;function n(n,i){if(t)if(e){var a="var sharedChunk = {}; ("+t+")(sharedChunk); ("+e+")(sharedChunk);",o={};t(o),(r=i(o)).workerUrl=window.URL.createObjectURL(new Blob([a],{type:"text/javascript"}))}else e=i;else t=i}return n(0,(function(t){function e(t,e){return t(e={exports:{}},e.exports),e.exports}var r="1.10.1",n=i;function i(t,e,r,n){this.cx=3*t,this.bx=3*(r-t)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*e,this.by=3*(n-e)-this.cy,this.ay=1-this.cy-this.by,this.p1x=t,this.p1y=n,this.p2x=r,this.p2y=n}i.prototype.sampleCurveX=function(t){return((this.ax*t+this.bx)*t+this.cx)*t},i.prototype.sampleCurveY=function(t){return((this.ay*t+this.by)*t+this.cy)*t},i.prototype.sampleCurveDerivativeX=function(t){return(3*this.ax*t+2*this.bx)*t+this.cx},i.prototype.solveCurveX=function(t,e){var r,n,i,a,o;for(void 0===e&&(e=1e-6),i=t,o=0;o<8;o++){if(a=this.sampleCurveX(i)-t,Math.abs(a)<e)return i;var s=this.sampleCurveDerivativeX(i);if(Math.abs(s)<1e-6)break;i-=a/s}if((i=t)<(r=0))return r;if(i>(n=1))return n;for(;r<n;){if(a=this.sampleCurveX(i),Math.abs(a-t)<e)return i;t>a?r=i:n=i,i=.5*(n-r)+r}return i},i.prototype.solve=function(t,e){return this.sampleCurveY(this.solveCurveX(t,e))};var a=o;function o(t,e){this.x=t,this.y=e}function s(t,e,r,i){var a=new n(t,e,r,i);return function(t){return a.solve(t)}}o.prototype={clone:function(){return new o(this.x,this.y)},add:function(t){return this.clone()._add(t)},sub:function(t){return this.clone()._sub(t)},multByPoint:function(t){return this.clone()._multByPoint(t)},divByPoint:function(t){return this.clone()._divByPoint(t)},mult:function(t){return this.clone()._mult(t)},div:function(t){return this.clone()._div(t)},rotate:function(t){return this.clone()._rotate(t)},rotateAround:function(t,e){return this.clone()._rotateAround(t,e)},matMult:function(t){return this.clone()._matMult(t)},unit:function(){return this.clone()._unit()},perp:function(){return this.clone()._perp()},round:function(){return this.clone()._round()},mag:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},equals:function(t){return this.x===t.x&&this.y===t.y},dist:function(t){return Math.sqrt(this.distSqr(t))},distSqr:function(t){var e=t.x-this.x,r=t.y-this.y;return e*e+r*r},angle:function(){return Math.atan2(this.y,this.x)},angleTo:function(t){return Math.atan2(this.y-t.y,this.x-t.x)},angleWith:function(t){return this.angleWithSep(t.x,t.y)},angleWithSep:function(t,e){return Math.atan2(this.x*e-this.y*t,this.x*t+this.y*e)},_matMult:function(t){var e=t[0]*this.x+t[1]*this.y,r=t[2]*this.x+t[3]*this.y;return this.x=e,this.y=r,this},_add:function(t){return this.x+=t.x,this.y+=t.y,this},_sub:function(t){return this.x-=t.x,this.y-=t.y,this},_mult:function(t){return this.x*=t,this.y*=t,this},_div:function(t){return this.x/=t,this.y/=t,this},_multByPoint:function(t){return this.x*=t.x,this.y*=t.y,this},_divByPoint:function(t){return this.x/=t.x,this.y/=t.y,this},_unit:function(){return this._div(this.mag()),this},_perp:function(){var t=this.y;return this.y=this.x,this.x=-t,this},_rotate:function(t){var e=Math.cos(t),r=Math.sin(t),n=e*this.x-r*this.y,i=r*this.x+e*this.y;return this.x=n,this.y=i,this},_rotateAround:function(t,e){var r=Math.cos(t),n=Math.sin(t),i=e.x+r*(this.x-e.x)-n*(this.y-e.y),a=e.y+n*(this.x-e.x)+r*(this.y-e.y);return this.x=i,this.y=a,this},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}},o.convert=function(t){return t instanceof o?t:Array.isArray(t)?new o(t[0],t[1]):t};var l=s(.25,.1,.25,1);function u(t,e,r){return Math.min(r,Math.max(e,t))}function c(t,e,r){var n=r-e,i=((t-e)%n+n)%n+e;return i===e?r:i}function f(t){for(var e=[],r=arguments.length-1;r-- >0;)e[r]=arguments[r+1];for(var n=0,i=e;n<i.length;n+=1){var a=i[n];for(var o in a)t[o]=a[o]}return t}var h=1;function p(){return h++}function d(){return function t(e){return e?(e^16*Math.random()>>e/4).toString(16):([1e7]+-[1e3]+-4e3+-8e3+-1e11).replace(/[018]/g,t)}()}function v(t){return!!t&&/^[0-9a-f]{8}-[0-9a-f]{4}-[4][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(t)}function g(t,e){t.forEach((function(t){e[t]&&(e[t]=e[t].bind(e))}))}function y(t,e){return-1!==t.indexOf(e,t.length-e.length)}function m(t,e,r){var n={};for(var i in t)n[i]=e.call(r||this,t[i],i,t);return n}function x(t,e,r){var n={};for(var i in t)e.call(r||this,t[i],i,t)&&(n[i]=t[i]);return n}function b(t){return Array.isArray(t)?t.map(b):"object"==typeof t&&t?m(t,b):t}var _={};function w(t){_[t]||("undefined"!=typeof console&&console.warn(t),_[t]=!0)}function T(t,e,r){return(r.y-t.y)*(e.x-t.x)>(e.y-t.y)*(r.x-t.x)}function k(t){for(var e=0,r=0,n=t.length,i=n-1,a=void 0,o=void 0;r<n;i=r++)a=t[r],e+=((o=t[i]).x-a.x)*(a.y+o.y);return e}function A(){return"undefined"!=typeof WorkerGlobalScope&&"undefined"!=typeof self&&self instanceof WorkerGlobalScope}function M(t){var e={};if(t.replace(/(?:^|(?:\s*\,\s*))([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)(?:\=(?:([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)|(?:\"((?:[^"\\]|\\.)*)\")))?/g,(function(t,r,n,i){var a=n||i;return e[r]=!a||a.toLowerCase(),""})),e["max-age"]){var r=parseInt(e["max-age"],10);isNaN(r)?delete e["max-age"]:e["max-age"]=r}return e}var S=null;function E(t){if(null==S){var e=t.navigator?t.navigator.userAgent:null;S=!!t.safari||!(!e||!(/\b(iPad|iPhone|iPod)\b/.test(e)||e.match("Safari")&&!e.match("Chrome")))}return S}function L(t){try{var e=self[t];return e.setItem("_mapbox_test_",1),e.removeItem("_mapbox_test_"),!0}catch(t){return!1}}var C,P,O,I,D=self.performance&&self.performance.now?self.performance.now.bind(self.performance):Date.now.bind(Date),z=self.requestAnimationFrame||self.mozRequestAnimationFrame||self.webkitRequestAnimationFrame||self.msRequestAnimationFrame,R=self.cancelAnimationFrame||self.mozCancelAnimationFrame||self.webkitCancelAnimationFrame||self.msCancelAnimationFrame,F={now:D,frame:function(t){var e=z(t);return{cancel:function(){return R(e)}}},getImageData:function(t,e){void 0===e&&(e=0);var r=self.document.createElement("canvas"),n=r.getContext("2d");if(!n)throw new Error("failed to create canvas 2d context");return r.width=t.width,r.height=t.height,n.drawImage(t,0,0,t.width,t.height),n.getImageData(-e,-e,t.width+2*e,t.height+2*e)},resolveURL:function(t){return C||(C=self.document.createElement("a")),C.href=t,C.href},hardwareConcurrency:self.navigator.hardwareConcurrency||4,get devicePixelRatio(){return self.devicePixelRatio},get prefersReducedMotion(){return!!self.matchMedia&&(null==P&&(P=self.matchMedia("(prefers-reduced-motion: reduce)")),P.matches)}},B={API_URL:"https://api.mapbox.com",get EVENTS_URL(){return this.API_URL?0===this.API_URL.indexOf("https://api.mapbox.cn")?"https://events.mapbox.cn/events/v2":0===this.API_URL.indexOf("https://api.mapbox.com")?"https://events.mapbox.com/events/v2":null:null},FEEDBACK_URL:"https://apps.mapbox.com/feedback",REQUIRE_ACCESS_TOKEN:!0,ACCESS_TOKEN:null,MAX_PARALLEL_IMAGE_REQUESTS:16},N={supported:!1,testSupport:function(t){!j&&I&&(U?V(t):O=t)}},j=!1,U=!1;function V(t){var e=t.createTexture();t.bindTexture(t.TEXTURE_2D,e);try{if(t.texImage2D(t.TEXTURE_2D,0,t.RGBA,t.RGBA,t.UNSIGNED_BYTE,I),t.isContextLost())return;N.supported=!0}catch(t){}t.deleteTexture(e),j=!0}self.document&&((I=self.document.createElement("img")).onload=function(){O&&V(O),O=null,U=!0},I.onerror=function(){j=!0,O=null},I.src="data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA=");var H="01";var q=function(t,e){this._transformRequestFn=t,this._customAccessToken=e,this._createSkuToken()};function G(t){return 0===t.indexOf("mapbox:")}q.prototype._createSkuToken=function(){var t=function(){for(var t="",e=0;e<10;e++)t+="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"[Math.floor(62*Math.random())];return{token:["1",H,t].join(""),tokenExpiresAt:Date.now()+432e5}}();this._skuToken=t.token,this._skuTokenExpiresAt=t.tokenExpiresAt},q.prototype._isSkuTokenExpired=function(){return Date.now()>this._skuTokenExpiresAt},q.prototype.transformRequest=function(t,e){return this._transformRequestFn&&this._transformRequestFn(t,e)||{url:t}},q.prototype.normalizeStyleURL=function(t,e){if(!G(t))return t;var r=X(t);return r.path="/styles/v1"+r.path,this._makeAPIURL(r,this._customAccessToken||e)},q.prototype.normalizeGlyphsURL=function(t,e){if(!G(t))return t;var r=X(t);return r.path="/fonts/v1"+r.path,this._makeAPIURL(r,this._customAccessToken||e)},q.prototype.normalizeSourceURL=function(t,e){if(!G(t))return t;var r=X(t);return r.path="/v4/"+r.authority+".json",r.params.push("secure"),this._makeAPIURL(r,this._customAccessToken||e)},q.prototype.normalizeSpriteURL=function(t,e,r,n){var i=X(t);return G(t)?(i.path="/styles/v1"+i.path+"/sprite"+e+r,this._makeAPIURL(i,this._customAccessToken||n)):(i.path+=""+e+r,J(i))},q.prototype.normalizeTileURL=function(t,e){if(this._isSkuTokenExpired()&&this._createSkuToken(),t&&!G(t))return t;var r=X(t),n=F.devicePixelRatio>=2||512===e?"@2x":"",i=N.supported?".webp":"$1";r.path=r.path.replace(/(\.(png|jpg)\d*)(?=$)/,""+n+i),r.path=r.path.replace(/^.+\/v4\//,"/"),r.path="/v4"+r.path;var a=this._customAccessToken||function(t){for(var e=0,r=t;e<r.length;e+=1){var n=r[e].match(/^access_token=(.*)$/);if(n)return n[1]}return null}(r.params)||B.ACCESS_TOKEN;return B.REQUIRE_ACCESS_TOKEN&&a&&this._skuToken&&r.params.push("sku="+this._skuToken),this._makeAPIURL(r,a)},q.prototype.canonicalizeTileURL=function(t,e){var r=X(t);if(!r.path.match(/(^\/v4\/)/)||!r.path.match(/\.[\w]+$/))return t;var n="mapbox://tiles/";n+=r.path.replace("/v4/","");var i=r.params;return e&&(i=i.filter((function(t){return!t.match(/^access_token=/)}))),i.length&&(n+="?"+i.join("&")),n},q.prototype.canonicalizeTileset=function(t,e){for(var r=!!e&&G(e),n=[],i=0,a=t.tiles||[];i<a.length;i+=1){var o=a[i];Y(o)?n.push(this.canonicalizeTileURL(o,r)):n.push(o)}return n},q.prototype._makeAPIURL=function(t,e){var r="See https://www.mapbox.com/api-documentation/#access-tokens-and-token-scopes",n=X(B.API_URL);if(t.protocol=n.protocol,t.authority=n.authority,"/"!==n.path&&(t.path=""+n.path+t.path),!B.REQUIRE_ACCESS_TOKEN)return J(t);if(!(e=e||B.ACCESS_TOKEN))throw new Error("An API access token is required to use Mapbox GL. "+r);if("s"===e[0])throw new Error("Use a public access token (pk.*) with Mapbox GL, not a secret access token (sk.*). "+r);return t.params=t.params.filter((function(t){return-1===t.indexOf("access_token")})),t.params.push("access_token="+e),J(t)};var Z=/^((https?:)?\/\/)?([^\/]+\.)?mapbox\.c(n|om)(\/|\?|$)/i;function Y(t){return Z.test(t)}var W=/^(\w+):\/\/([^/?]*)(\/[^?]+)?\??(.+)?/;function X(t){var e=t.match(W);if(!e)throw new Error("Unable to parse URL object");return{protocol:e[1],authority:e[2],path:e[3]||"/",params:e[4]?e[4].split("&"):[]}}function J(t){var e=t.params.length?"?"+t.params.join("&"):"";return t.protocol+"://"+t.authority+t.path+e}var K="mapbox.eventData";function $(t){if(!t)return null;var e,r=t.split(".");if(!r||3!==r.length)return null;try{return JSON.parse((e=r[1],decodeURIComponent(self.atob(e).split("").map((function(t){return"%"+("00"+t.charCodeAt(0).toString(16)).slice(-2)})).join(""))))}catch(t){return null}}var Q=function(t){this.type=t,this.anonId=null,this.eventData={},this.queue=[],this.pendingRequest=null};Q.prototype.getStorageKey=function(t){var e,r,n=$(B.ACCESS_TOKEN);return e=n&&n.u?(r=n.u,self.btoa(encodeURIComponent(r).replace(/%([0-9A-F]{2})/g,(function(t,e){return String.fromCharCode(Number("0x"+e))})))):B.ACCESS_TOKEN||"",t?K+"."+t+":"+e:K+":"+e},Q.prototype.fetchEventData=function(){var t=L("localStorage"),e=this.getStorageKey(),r=this.getStorageKey("uuid");if(t)try{var n=self.localStorage.getItem(e);n&&(this.eventData=JSON.parse(n));var i=self.localStorage.getItem(r);i&&(this.anonId=i)}catch(t){w("Unable to read from LocalStorage")}},Q.prototype.saveEventData=function(){var t=L("localStorage"),e=this.getStorageKey(),r=this.getStorageKey("uuid");if(t)try{self.localStorage.setItem(r,this.anonId),Object.keys(this.eventData).length>=1&&self.localStorage.setItem(e,JSON.stringify(this.eventData))}catch(t){w("Unable to write to LocalStorage")}},Q.prototype.processRequests=function(t){},Q.prototype.postEvent=function(t,e,n,i){var a=this;if(B.EVENTS_URL){var o=X(B.EVENTS_URL);o.params.push("access_token="+(i||B.ACCESS_TOKEN||""));var s={event:this.type,created:new Date(t).toISOString(),sdkIdentifier:"mapbox-gl-js",sdkVersion:r,skuId:H,userId:this.anonId},l=e?f(s,e):s,u={url:J(o),headers:{"Content-Type":"text/plain"},body:JSON.stringify([l])};this.pendingRequest=kt(u,(function(t){a.pendingRequest=null,n(t),a.saveEventData(),a.processRequests(i)}))}},Q.prototype.queueRequest=function(t,e){this.queue.push(t),this.processRequests(e)};var tt,et,rt=function(t){function e(){t.call(this,"map.load"),this.success={},this.skuToken=""}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.postMapLoadEvent=function(t,e,r,n){this.skuToken=r,(B.EVENTS_URL&&n||B.ACCESS_TOKEN&&Array.isArray(t)&&t.some((function(t){return G(t)||Y(t)})))&&this.queueRequest({id:e,timestamp:Date.now()},n)},e.prototype.processRequests=function(t){var e=this;if(!this.pendingRequest&&0!==this.queue.length){var r=this.queue.shift(),n=r.id,i=r.timestamp;n&&this.success[n]||(this.anonId||this.fetchEventData(),v(this.anonId)||(this.anonId=d()),this.postEvent(i,{skuToken:this.skuToken},(function(t){t||n&&(e.success[n]=!0)}),t))}},e}(Q),nt=function(t){function e(e){t.call(this,"appUserTurnstile"),this._customAccessToken=e}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.postTurnstileEvent=function(t,e){B.EVENTS_URL&&B.ACCESS_TOKEN&&Array.isArray(t)&&t.some((function(t){return G(t)||Y(t)}))&&this.queueRequest(Date.now(),e)},e.prototype.processRequests=function(t){var e=this;if(!this.pendingRequest&&0!==this.queue.length){this.anonId&&this.eventData.lastSuccess&&this.eventData.tokenU||this.fetchEventData();var r=$(B.ACCESS_TOKEN),n=r?r.u:B.ACCESS_TOKEN,i=n!==this.eventData.tokenU;v(this.anonId)||(this.anonId=d(),i=!0);var a=this.queue.shift();if(this.eventData.lastSuccess){var o=new Date(this.eventData.lastSuccess),s=new Date(a),l=(a-this.eventData.lastSuccess)/864e5;i=i||l>=1||l<-1||o.getDate()!==s.getDate()}else i=!0;if(!i)return this.processRequests();this.postEvent(a,{"enabled.telemetry":!1},(function(t){t||(e.eventData.lastSuccess=a,e.eventData.tokenU=n)}),t)}},e}(Q),it=new nt,at=it.postTurnstileEvent.bind(it),ot=new rt,st=ot.postMapLoadEvent.bind(ot),lt="mapbox-tiles",ut=500,ct=50;function ft(){self.caches&&!tt&&(tt=self.caches.open(lt))}function ht(t,e,r){if(ft(),tt){var n={status:e.status,statusText:e.statusText,headers:new self.Headers};e.headers.forEach((function(t,e){return n.headers.set(e,t)}));var i=M(e.headers.get("Cache-Control")||"");i["no-store"]||(i["max-age"]&&n.headers.set("Expires",new Date(r+1e3*i["max-age"]).toUTCString()),new Date(n.headers.get("Expires")).getTime()-r<42e4||function(t,e){if(void 0===et)try{new Response(new ReadableStream),et=!0}catch(t){et=!1}et?e(t.body):t.blob().then(e)}(e,(function(e){var r=new self.Response(e,n);ft(),tt&&tt.then((function(e){return e.put(pt(t.url),r)})).catch((function(t){return w(t.message)}))})))}}function pt(t){var e=t.indexOf("?");return e<0?t:t.slice(0,e)}function dt(t,e){if(ft(),!tt)return e(null);var r=pt(t.url);tt.then((function(t){t.match(r).then((function(n){var i=function(t){if(!t)return!1;var e=new Date(t.headers.get("Expires")||0),r=M(t.headers.get("Cache-Control")||"");return e>Date.now()&&!r["no-cache"]}(n);t.delete(r),i&&t.put(r,n.clone()),e(null,n,i)})).catch(e)})).catch(e)}var vt,gt=1/0;function yt(){return null==vt&&(vt=self.OffscreenCanvas&&new self.OffscreenCanvas(1,1).getContext("2d")&&"function"==typeof self.createImageBitmap),vt}var mt={Unknown:"Unknown",Style:"Style",Source:"Source",Tile:"Tile",Glyphs:"Glyphs",SpriteImage:"SpriteImage",SpriteJSON:"SpriteJSON",Image:"Image"};"function"==typeof Object.freeze&&Object.freeze(mt);var xt=function(t){function e(e,r,n){401===r&&Y(n)&&(e+=": you may have provided an invalid Mapbox access token. See https://www.mapbox.com/api-documentation/#access-tokens-and-token-scopes"),t.call(this,e),this.status=r,this.url=n,this.name=this.constructor.name,this.message=e}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.toString=function(){return this.name+": "+this.message+" ("+this.status+"): "+this.url},e}(Error),bt=A()?function(){return self.worker&&self.worker.referrer}:function(){return("blob:"===self.location.protocol?self.parent:self).location.href};function _t(t,e){var r,n=new self.AbortController,i=new self.Request(t.url,{method:t.method||"GET",body:t.body,credentials:t.credentials,headers:t.headers,referrer:bt(),signal:n.signal}),a=!1,o=!1,s=(r=i.url).indexOf("sku=")>0&&Y(r);"json"===t.type&&i.headers.set("Accept","application/json");var l=function(r,n,a){if(!o){if(r&&"SecurityError"!==r.message&&w(r),n&&a)return u(n);var l=Date.now();self.fetch(i).then((function(r){if(r.ok){var n=s?r.clone():null;return u(r,n,l)}return e(new xt(r.statusText,r.status,t.url))})).catch((function(t){20!==t.code&&e(new Error(t.message))}))}},u=function(r,n,s){("arrayBuffer"===t.type?r.arrayBuffer():"json"===t.type?r.json():r.text()).then((function(t){o||(n&&s&&ht(i,n,s),a=!0,e(null,t,r.headers.get("Cache-Control"),r.headers.get("Expires")))})).catch((function(t){o||e(new Error(t.message))}))};return s?dt(i,l):l(null,null),{cancel:function(){o=!0,a||n.abort()}}}var wt=function(t,e){if(r=t.url,!(/^file:/.test(r)||/^file:/.test(bt())&&!/^\w+:/.test(r))){if(self.fetch&&self.Request&&self.AbortController&&self.Request.prototype.hasOwnProperty("signal"))return _t(t,e);if(A()&&self.worker&&self.worker.actor){return self.worker.actor.send("getResource",t,e,void 0,!0)}}var r;return function(t,e){var r=new self.XMLHttpRequest;for(var n in r.open(t.method||"GET",t.url,!0),"arrayBuffer"===t.type&&(r.responseType="arraybuffer"),t.headers)r.setRequestHeader(n,t.headers[n]);return"json"===t.type&&(r.responseType="text",r.setRequestHeader("Accept","application/json")),r.withCredentials="include"===t.credentials,r.onerror=function(){e(new Error(r.statusText))},r.onload=function(){if((r.status>=200&&r.status<300||0===r.status)&&null!==r.response){var n=r.response;if("json"===t.type)try{n=JSON.parse(r.response)}catch(t){return e(t)}e(null,n,r.getResponseHeader("Cache-Control"),r.getResponseHeader("Expires"))}else e(new xt(r.statusText,r.status,t.url))},r.send(t.body),{cancel:function(){return r.abort()}}}(t,e)},Tt=function(t,e){return wt(f(t,{type:"arrayBuffer"}),e)},kt=function(t,e){return wt(f(t,{method:"POST"}),e)};var At,Mt;At=[],Mt=0;var St=function(t,e){if(N.supported&&(t.headers||(t.headers={}),t.headers.accept="image/webp,*/*"),Mt>=B.MAX_PARALLEL_IMAGE_REQUESTS){var r={requestParameters:t,callback:e,cancelled:!1,cancel:function(){this.cancelled=!0}};return At.push(r),r}Mt++;var n=!1,i=function(){if(!n)for(n=!0,Mt--;At.length&&Mt<B.MAX_PARALLEL_IMAGE_REQUESTS;){var t=At.shift(),e=t.requestParameters,r=t.callback;t.cancelled||(t.cancel=St(e,r).cancel)}},a=Tt(t,(function(t,r,n,a){i(),t?e(t):r&&(yt()?function(t,e){var r=new self.Blob([new Uint8Array(t)],{type:"image/png"});self.createImageBitmap(r).then((function(t){e(null,t)})).catch((function(t){e(new Error("Could not load image because of "+t.message+". Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported."))}))}(r,e):function(t,e,r,n){var i=new self.Image,a=self.URL;i.onload=function(){e(null,i),a.revokeObjectURL(i.src)},i.onerror=function(){return e(new Error("Could not load image. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported."))};var o=new self.Blob([new Uint8Array(t)],{type:"image/png"});i.cacheControl=r,i.expires=n,i.src=t.byteLength?a.createObjectURL(o):"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII="}(r,e,n,a))}));return{cancel:function(){a.cancel(),i()}}};function Et(t,e,r){r[t]&&-1!==r[t].indexOf(e)||(r[t]=r[t]||[],r[t].push(e))}function Lt(t,e,r){if(r&&r[t]){var n=r[t].indexOf(e);-1!==n&&r[t].splice(n,1)}}var Ct=function(t,e){void 0===e&&(e={}),f(this,e),this.type=t},Pt=function(t){function e(e,r){void 0===r&&(r={}),t.call(this,"error",f({error:e},r))}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e}(Ct),Ot=function(){};Ot.prototype.on=function(t,e){return this._listeners=this._listeners||{},Et(t,e,this._listeners),this},Ot.prototype.off=function(t,e){return Lt(t,e,this._listeners),Lt(t,e,this._oneTimeListeners),this},Ot.prototype.once=function(t,e){return this._oneTimeListeners=this._oneTimeListeners||{},Et(t,e,this._oneTimeListeners),this},Ot.prototype.fire=function(t,e){"string"==typeof t&&(t=new Ct(t,e||{}));var r=t.type;if(this.listens(r)){t.target=this;for(var n=0,i=this._listeners&&this._listeners[r]?this._listeners[r].slice():[];n<i.length;n+=1)i[n].call(this,t);for(var a=0,o=this._oneTimeListeners&&this._oneTimeListeners[r]?this._oneTimeListeners[r].slice():[];a<o.length;a+=1){var s=o[a];Lt(r,s,this._oneTimeListeners),s.call(this,t)}var l=this._eventedParent;l&&(f(t,"function"==typeof this._eventedParentData?this._eventedParentData():this._eventedParentData),l.fire(t))}else t instanceof Pt&&console.error(t.error);return this},Ot.prototype.listens=function(t){return this._listeners&&this._listeners[t]&&this._listeners[t].length>0||this._oneTimeListeners&&this._oneTimeListeners[t]&&this._oneTimeListeners[t].length>0||this._eventedParent&&this._eventedParent.listens(t)},Ot.prototype.setEventedParent=function(t,e){return this._eventedParent=t,this._eventedParentData=e,this};var It={$version:8,$root:{version:{required:!0,type:"enum",values:[8]},name:{type:"string"},metadata:{type:"*"},center:{type:"array",value:"number"},zoom:{type:"number"},bearing:{type:"number",default:0,period:360,units:"degrees"},pitch:{type:"number",default:0,units:"degrees"},light:{type:"light"},sources:{required:!0,type:"sources"},sprite:{type:"string"},glyphs:{type:"string"},transition:{type:"transition"},layers:{required:!0,type:"array",value:"layer"}},sources:{"*":{type:"source"}},source:["source_vector","source_raster","source_raster_dem","source_geojson","source_video","source_image"],source_vector:{type:{required:!0,type:"enum",values:{vector:{}}},url:{type:"string"},tiles:{type:"array",value:"string"},bounds:{type:"array",value:"number",length:4,default:[-180,-85.051129,180,85.051129]},scheme:{type:"enum",values:{xyz:{},tms:{}},default:"xyz"},minzoom:{type:"number",default:0},maxzoom:{type:"number",default:22},attribution:{type:"string"},promoteId:{type:"promoteId"},"*":{type:"*"}},source_raster:{type:{required:!0,type:"enum",values:{raster:{}}},url:{type:"string"},tiles:{type:"array",value:"string"},bounds:{type:"array",value:"number",length:4,default:[-180,-85.051129,180,85.051129]},minzoom:{type:"number",default:0},maxzoom:{type:"number",default:22},tileSize:{type:"number",default:512,units:"pixels"},scheme:{type:"enum",values:{xyz:{},tms:{}},default:"xyz"},attribution:{type:"string"},"*":{type:"*"}},source_raster_dem:{type:{required:!0,type:"enum",values:{"raster-dem":{}}},url:{type:"string"},tiles:{type:"array",value:"string"},bounds:{type:"array",value:"number",length:4,default:[-180,-85.051129,180,85.051129]},minzoom:{type:"number",default:0},maxzoom:{type:"number",default:22},tileSize:{type:"number",default:512,units:"pixels"},attribution:{type:"string"},encoding:{type:"enum",values:{terrarium:{},mapbox:{}},default:"mapbox"},"*":{type:"*"}},source_geojson:{type:{required:!0,type:"enum",values:{geojson:{}}},data:{type:"*"},maxzoom:{type:"number",default:18},attribution:{type:"string"},buffer:{type:"number",default:128,maximum:512,minimum:0},tolerance:{type:"number",default:.375},cluster:{type:"boolean",default:!1},clusterRadius:{type:"number",default:50,minimum:0},clusterMaxZoom:{type:"number"},clusterProperties:{type:"*"},lineMetrics:{type:"boolean",default:!1},generateId:{type:"boolean",default:!1},promoteId:{type:"promoteId"}},source_video:{type:{required:!0,type:"enum",values:{video:{}}},urls:{required:!0,type:"array",value:"string"},coordinates:{required:!0,type:"array",length:4,value:{type:"array",length:2,value:"number"}}},source_image:{type:{required:!0,type:"enum",values:{image:{}}},url:{required:!0,type:"string"},coordinates:{required:!0,type:"array",length:4,value:{type:"array",length:2,value:"number"}}},layer:{id:{type:"string",required:!0},type:{type:"enum",values:{fill:{},line:{},symbol:{},circle:{},heatmap:{},"fill-extrusion":{},raster:{},hillshade:{},background:{}},required:!0},metadata:{type:"*"},source:{type:"string"},"source-layer":{type:"string"},minzoom:{type:"number",minimum:0,maximum:24},maxzoom:{type:"number",minimum:0,maximum:24},filter:{type:"filter"},layout:{type:"layout"},paint:{type:"paint"}},layout:["layout_fill","layout_line","layout_circle","layout_heatmap","layout_fill-extrusion","layout_symbol","layout_raster","layout_hillshade","layout_background"],layout_background:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_fill:{"fill-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_circle:{"circle-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_heatmap:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},"layout_fill-extrusion":{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_line:{"line-cap":{type:"enum",values:{butt:{},round:{},square:{}},default:"butt",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"line-join":{type:"enum",values:{bevel:{},round:{},miter:{}},default:"miter",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"line-miter-limit":{type:"number",default:2,requires:[{"line-join":"miter"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"line-round-limit":{type:"number",default:1.05,requires:[{"line-join":"round"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"line-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_symbol:{"symbol-placement":{type:"enum",values:{point:{},line:{},"line-center":{}},default:"point",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"symbol-spacing":{type:"number",default:250,minimum:1,units:"pixels",requires:[{"symbol-placement":"line"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"symbol-avoid-edges":{type:"boolean",default:!1,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"symbol-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"symbol-z-order":{type:"enum",values:{auto:{},"viewport-y":{},source:{}},default:"auto",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-allow-overlap":{type:"boolean",default:!1,requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-ignore-placement":{type:"boolean",default:!1,requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-optional":{type:"boolean",default:!1,requires:["icon-image","text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-rotation-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-size":{type:"number",default:1,minimum:0,units:"factor of the original icon size",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-text-fit":{type:"enum",values:{none:{},width:{},height:{},both:{}},default:"none",requires:["icon-image","text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-text-fit-padding":{type:"array",value:"number",length:4,default:[0,0,0,0],units:"pixels",requires:["icon-image","text-field",{"icon-text-fit":["both","width","height"]}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"icon-image":{type:"resolvedImage",tokens:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-rotate":{type:"number",default:0,period:360,units:"degrees",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-padding":{type:"number",default:2,minimum:0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"icon-keep-upright":{type:"boolean",default:!1,requires:["icon-image",{"icon-rotation-alignment":"map"},{"symbol-placement":["line","line-center"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-offset":{type:"array",value:"number",length:2,default:[0,0],requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-anchor":{type:"enum",values:{center:{},left:{},right:{},top:{},bottom:{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},default:"center",requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-pitch-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-pitch-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-rotation-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-field":{type:"formatted",default:"",tokens:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-font":{type:"array",value:"string",default:["Open Sans Regular","Arial Unicode MS Regular"],requires:["text-field"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-size":{type:"number",default:16,minimum:0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-max-width":{type:"number",default:10,minimum:0,units:"ems",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-line-height":{type:"number",default:1.2,units:"ems",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-letter-spacing":{type:"number",default:0,units:"ems",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-justify":{type:"enum",values:{auto:{},left:{},center:{},right:{}},default:"center",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-radial-offset":{type:"number",units:"ems",default:0,requires:["text-field"],"property-type":"data-driven",expression:{interpolated:!0,parameters:["zoom","feature"]}},"text-variable-anchor":{type:"array",value:"enum",values:{center:{},left:{},right:{},top:{},bottom:{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},requires:["text-field",{"symbol-placement":["point"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-anchor":{type:"enum",values:{center:{},left:{},right:{},top:{},bottom:{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},default:"center",requires:["text-field",{"!":"text-variable-anchor"}],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-max-angle":{type:"number",default:45,units:"degrees",requires:["text-field",{"symbol-placement":["line","line-center"]}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-writing-mode":{type:"array",value:"enum",values:{horizontal:{},vertical:{}},requires:["text-field",{"symbol-placement":["point"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-rotate":{type:"number",default:0,period:360,units:"degrees",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-padding":{type:"number",default:2,minimum:0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-keep-upright":{type:"boolean",default:!0,requires:["text-field",{"text-rotation-alignment":"map"},{"symbol-placement":["line","line-center"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-transform":{type:"enum",values:{none:{},uppercase:{},lowercase:{}},default:"none",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-offset":{type:"array",value:"number",units:"ems",length:2,default:[0,0],requires:["text-field",{"!":"text-radial-offset"}],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-allow-overlap":{type:"boolean",default:!1,requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-ignore-placement":{type:"boolean",default:!1,requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-optional":{type:"boolean",default:!1,requires:["text-field","icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_raster:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_hillshade:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},filter:{type:"array",value:"*"},filter_operator:{type:"enum",values:{"==":{},"!=":{},">":{},">=":{},"<":{},"<=":{},in:{},"!in":{},all:{},any:{},none:{},has:{},"!has":{},within:{}}},geometry_type:{type:"enum",values:{Point:{},LineString:{},Polygon:{}}},function:{expression:{type:"expression"},stops:{type:"array",value:"function_stop"},base:{type:"number",default:1,minimum:0},property:{type:"string",default:"$zoom"},type:{type:"enum",values:{identity:{},exponential:{},interval:{},categorical:{}},default:"exponential"},colorSpace:{type:"enum",values:{rgb:{},lab:{},hcl:{}},default:"rgb"},default:{type:"*",required:!1}},function_stop:{type:"array",minimum:0,maximum:24,value:["number","color"],length:2},expression:{type:"array",value:"*",minimum:1},expression_name:{type:"enum",values:{let:{group:"Variable binding"},var:{group:"Variable binding"},literal:{group:"Types"},array:{group:"Types"},at:{group:"Lookup"},in:{group:"Lookup"},"index-of":{group:"Lookup"},slice:{group:"Lookup"},case:{group:"Decision"},match:{group:"Decision"},coalesce:{group:"Decision"},step:{group:"Ramps, scales, curves"},interpolate:{group:"Ramps, scales, curves"},"interpolate-hcl":{group:"Ramps, scales, curves"},"interpolate-lab":{group:"Ramps, scales, curves"},ln2:{group:"Math"},pi:{group:"Math"},e:{group:"Math"},typeof:{group:"Types"},string:{group:"Types"},number:{group:"Types"},boolean:{group:"Types"},object:{group:"Types"},collator:{group:"Types"},format:{group:"Types"},image:{group:"Types"},"number-format":{group:"Types"},"to-string":{group:"Types"},"to-number":{group:"Types"},"to-boolean":{group:"Types"},"to-rgba":{group:"Color"},"to-color":{group:"Types"},rgb:{group:"Color"},rgba:{group:"Color"},get:{group:"Lookup"},has:{group:"Lookup"},length:{group:"Lookup"},properties:{group:"Feature data"},"feature-state":{group:"Feature data"},"geometry-type":{group:"Feature data"},id:{group:"Feature data"},zoom:{group:"Zoom"},"heatmap-density":{group:"Heatmap"},"line-progress":{group:"Feature data"},accumulated:{group:"Feature data"},"+":{group:"Math"},"*":{group:"Math"},"-":{group:"Math"},"/":{group:"Math"},"%":{group:"Math"},"^":{group:"Math"},sqrt:{group:"Math"},log10:{group:"Math"},ln:{group:"Math"},log2:{group:"Math"},sin:{group:"Math"},cos:{group:"Math"},tan:{group:"Math"},asin:{group:"Math"},acos:{group:"Math"},atan:{group:"Math"},min:{group:"Math"},max:{group:"Math"},round:{group:"Math"},abs:{group:"Math"},ceil:{group:"Math"},floor:{group:"Math"},distance:{group:"Math"},"==":{group:"Decision"},"!=":{group:"Decision"},">":{group:"Decision"},"<":{group:"Decision"},">=":{group:"Decision"},"<=":{group:"Decision"},all:{group:"Decision"},any:{group:"Decision"},"!":{group:"Decision"},within:{group:"Decision"},"is-supported-script":{group:"String"},upcase:{group:"String"},downcase:{group:"String"},concat:{group:"String"},"resolved-locale":{group:"String"}}},light:{anchor:{type:"enum",default:"viewport",values:{map:{},viewport:{}},"property-type":"data-constant",transition:!1,expression:{interpolated:!1,parameters:["zoom"]}},position:{type:"array",default:[1.15,210,30],length:3,value:"number","property-type":"data-constant",transition:!0,expression:{interpolated:!0,parameters:["zoom"]}},color:{type:"color","property-type":"data-constant",default:"#ffffff",expression:{interpolated:!0,parameters:["zoom"]},transition:!0},intensity:{type:"number","property-type":"data-constant",default:.5,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0}},paint:["paint_fill","paint_line","paint_circle","paint_heatmap","paint_fill-extrusion","paint_symbol","paint_raster","paint_hillshade","paint_background"],paint_fill:{"fill-antialias":{type:"boolean",default:!0,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"fill-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-outline-color":{type:"color",transition:!0,requires:[{"!":"fill-pattern"},{"fill-antialias":!0}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["fill-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"}},"paint_fill-extrusion":{"fill-extrusion-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"fill-extrusion-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["fill-extrusion-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"},"fill-extrusion-height":{type:"number",default:0,minimum:0,units:"meters",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-base":{type:"number",default:0,minimum:0,units:"meters",transition:!0,requires:["fill-extrusion-height"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-vertical-gradient":{type:"boolean",default:!0,transition:!1,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"}},paint_line:{"line-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"line-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"line-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["line-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"line-width":{type:"number",default:1,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-gap-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-offset":{type:"number",default:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-dasharray":{type:"array",value:"number",minimum:0,transition:!0,units:"line widths",requires:[{"!":"line-pattern"}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"cross-faded"},"line-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"},"line-gradient":{type:"color",transition:!1,requires:[{"!":"line-dasharray"},{"!":"line-pattern"},{source:"geojson",has:{lineMetrics:!0}}],expression:{interpolated:!0,parameters:["line-progress"]},"property-type":"color-ramp"}},paint_circle:{"circle-radius":{type:"number",default:5,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-blur":{type:"number",default:0,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"circle-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["circle-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-pitch-scale":{type:"enum",values:{map:{},viewport:{}},default:"map",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-pitch-alignment":{type:"enum",values:{map:{},viewport:{}},default:"viewport",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-stroke-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-stroke-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-stroke-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"}},paint_heatmap:{"heatmap-radius":{type:"number",default:30,minimum:1,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"heatmap-weight":{type:"number",default:1,minimum:0,transition:!1,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"heatmap-intensity":{type:"number",default:1,minimum:0,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"heatmap-color":{type:"color",default:["interpolate",["linear"],["heatmap-density"],0,"rgba(0, 0, 255, 0)",.1,"royalblue",.3,"cyan",.5,"lime",.7,"yellow",1,"red"],transition:!1,expression:{interpolated:!0,parameters:["heatmap-density"]},"property-type":"color-ramp"},"heatmap-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},paint_symbol:{"icon-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-color":{type:"color",default:"#000000",transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-color":{type:"color",default:"rgba(0, 0, 0, 0)",transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"icon-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["icon-image","icon-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-color":{type:"color",default:"#000000",transition:!0,overridable:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-color":{type:"color",default:"rgba(0, 0, 0, 0)",transition:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["text-field","text-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"}},paint_raster:{"raster-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-hue-rotate":{type:"number",default:0,period:360,transition:!0,units:"degrees",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-brightness-min":{type:"number",default:0,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-brightness-max":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-saturation":{type:"number",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-contrast":{type:"number",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-resampling":{type:"enum",values:{linear:{},nearest:{}},default:"linear",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"raster-fade-duration":{type:"number",default:300,minimum:0,transition:!1,units:"milliseconds",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},paint_hillshade:{"hillshade-illumination-direction":{type:"number",default:335,minimum:0,maximum:359,transition:!1,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-illumination-anchor":{type:"enum",values:{map:{},viewport:{}},default:"viewport",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-exaggeration":{type:"number",default:.5,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-shadow-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-highlight-color":{type:"color",default:"#FFFFFF",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-accent-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},paint_background:{"background-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"background-pattern"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"background-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"cross-faded"},"background-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},transition:{duration:{type:"number",default:300,minimum:0,units:"milliseconds"},delay:{type:"number",default:0,minimum:0,units:"milliseconds"}},"property-type":{"data-driven":{type:"property-type"},"cross-faded":{type:"property-type"},"cross-faded-data-driven":{type:"property-type"},"color-ramp":{type:"property-type"},"data-constant":{type:"property-type"},constant:{type:"property-type"}},promoteId:{"*":{type:"string"}}},Dt=function(t,e,r,n){this.message=(t?t+": ":"")+r,n&&(this.identifier=n),null!=e&&e.__line__&&(this.line=e.__line__)};function zt(t){var e=t.key,r=t.value;return r?[new Dt(e,r,"constants have been deprecated as of v8")]:[]}function Rt(t){for(var e=[],r=arguments.length-1;r-- >0;)e[r]=arguments[r+1];for(var n=0,i=e;n<i.length;n+=1){var a=i[n];for(var o in a)t[o]=a[o]}return t}function Ft(t){return t instanceof Number||t instanceof String||t instanceof Boolean?t.valueOf():t}function Bt(t){if(Array.isArray(t))return t.map(Bt);if(t instanceof Object&&!(t instanceof Number||t instanceof String||t instanceof Boolean)){var e={};for(var r in t)e[r]=Bt(t[r]);return e}return Ft(t)}var Nt=function(t){function e(e,r){t.call(this,r),this.message=r,this.key=e}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e}(Error),jt=function(t,e){void 0===e&&(e=[]),this.parent=t,this.bindings={};for(var r=0,n=e;r<n.length;r+=1){var i=n[r],a=i[0],o=i[1];this.bindings[a]=o}};jt.prototype.concat=function(t){return new jt(this,t)},jt.prototype.get=function(t){if(this.bindings[t])return this.bindings[t];if(this.parent)return this.parent.get(t);throw new Error(t+" not found in scope.")},jt.prototype.has=function(t){return!!this.bindings[t]||!!this.parent&&this.parent.has(t)};var Ut={kind:"null"},Vt={kind:"number"},Ht={kind:"string"},qt={kind:"boolean"},Gt={kind:"color"},Zt={kind:"object"},Yt={kind:"value"},Wt={kind:"collator"},Xt={kind:"formatted"},Jt={kind:"resolvedImage"};function Kt(t,e){return{kind:"array",itemType:t,N:e}}function $t(t){if("array"===t.kind){var e=$t(t.itemType);return"number"==typeof t.N?"array<"+e+", "+t.N+">":"value"===t.itemType.kind?"array":"array<"+e+">"}return t.kind}var Qt=[Ut,Vt,Ht,qt,Gt,Xt,Zt,Kt(Yt),Jt];function te(t,e){if("error"===e.kind)return null;if("array"===t.kind){if("array"===e.kind&&(0===e.N&&"value"===e.itemType.kind||!te(t.itemType,e.itemType))&&("number"!=typeof t.N||t.N===e.N))return null}else{if(t.kind===e.kind)return null;if("value"===t.kind)for(var r=0,n=Qt;r<n.length;r+=1)if(!te(n[r],e))return null}return"Expected "+$t(t)+" but found "+$t(e)+" instead."}function ee(t,e){return e.some((function(e){return e.kind===t.kind}))}function re(t,e){return e.some((function(e){return"null"===e?null===t:"array"===e?Array.isArray(t):"object"===e?t&&!Array.isArray(t)&&"object"==typeof t:e===typeof t}))}var ne=e((function(t,e){var r={transparent:[0,0,0,0],aliceblue:[240,248,255,1],antiquewhite:[250,235,215,1],aqua:[0,255,255,1],aquamarine:[127,255,212,1],azure:[240,255,255,1],beige:[245,245,220,1],bisque:[255,228,196,1],black:[0,0,0,1],blanchedalmond:[255,235,205,1],blue:[0,0,255,1],blueviolet:[138,43,226,1],brown:[165,42,42,1],burlywood:[222,184,135,1],cadetblue:[95,158,160,1],chartreuse:[127,255,0,1],chocolate:[210,105,30,1],coral:[255,127,80,1],cornflowerblue:[100,149,237,1],cornsilk:[255,248,220,1],crimson:[220,20,60,1],cyan:[0,255,255,1],darkblue:[0,0,139,1],darkcyan:[0,139,139,1],darkgoldenrod:[184,134,11,1],darkgray:[169,169,169,1],darkgreen:[0,100,0,1],darkgrey:[169,169,169,1],darkkhaki:[189,183,107,1],darkmagenta:[139,0,139,1],darkolivegreen:[85,107,47,1],darkorange:[255,140,0,1],darkorchid:[153,50,204,1],darkred:[139,0,0,1],darksalmon:[233,150,122,1],darkseagreen:[143,188,143,1],darkslateblue:[72,61,139,1],darkslategray:[47,79,79,1],darkslategrey:[47,79,79,1],darkturquoise:[0,206,209,1],darkviolet:[148,0,211,1],deeppink:[255,20,147,1],deepskyblue:[0,191,255,1],dimgray:[105,105,105,1],dimgrey:[105,105,105,1],dodgerblue:[30,144,255,1],firebrick:[178,34,34,1],floralwhite:[255,250,240,1],forestgreen:[34,139,34,1],fuchsia:[255,0,255,1],gainsboro:[220,220,220,1],ghostwhite:[248,248,255,1],gold:[255,215,0,1],goldenrod:[218,165,32,1],gray:[128,128,128,1],green:[0,128,0,1],greenyellow:[173,255,47,1],grey:[128,128,128,1],honeydew:[240,255,240,1],hotpink:[255,105,180,1],indianred:[205,92,92,1],indigo:[75,0,130,1],ivory:[255,255,240,1],khaki:[240,230,140,1],lavender:[230,230,250,1],lavenderblush:[255,240,245,1],lawngreen:[124,252,0,1],lemonchiffon:[255,250,205,1],lightblue:[173,216,230,1],lightcoral:[240,128,128,1],lightcyan:[224,255,255,1],lightgoldenrodyellow:[250,250,210,1],lightgray:[211,211,211,1],lightgreen:[144,238,144,1],lightgrey:[211,211,211,1],lightpink:[255,182,193,1],lightsalmon:[255,160,122,1],lightseagreen:[32,178,170,1],lightskyblue:[135,206,250,1],lightslategray:[119,136,153,1],lightslategrey:[119,136,153,1],lightsteelblue:[176,196,222,1],lightyellow:[255,255,224,1],lime:[0,255,0,1],limegreen:[50,205,50,1],linen:[250,240,230,1],magenta:[255,0,255,1],maroon:[128,0,0,1],mediumaquamarine:[102,205,170,1],mediumblue:[0,0,205,1],mediumorchid:[186,85,211,1],mediumpurple:[147,112,219,1],mediumseagreen:[60,179,113,1],mediumslateblue:[123,104,238,1],mediumspringgreen:[0,250,154,1],mediumturquoise:[72,209,204,1],mediumvioletred:[199,21,133,1],midnightblue:[25,25,112,1],mintcream:[245,255,250,1],mistyrose:[255,228,225,1],moccasin:[255,228,181,1],navajowhite:[255,222,173,1],navy:[0,0,128,1],oldlace:[253,245,230,1],olive:[128,128,0,1],olivedrab:[107,142,35,1],orange:[255,165,0,1],orangered:[255,69,0,1],orchid:[218,112,214,1],palegoldenrod:[238,232,170,1],palegreen:[152,251,152,1],paleturquoise:[175,238,238,1],palevioletred:[219,112,147,1],papayawhip:[255,239,213,1],peachpuff:[255,218,185,1],peru:[205,133,63,1],pink:[255,192,203,1],plum:[221,160,221,1],powderblue:[176,224,230,1],purple:[128,0,128,1],rebeccapurple:[102,51,153,1],red:[255,0,0,1],rosybrown:[188,143,143,1],royalblue:[65,105,225,1],saddlebrown:[139,69,19,1],salmon:[250,128,114,1],sandybrown:[244,164,96,1],seagreen:[46,139,87,1],seashell:[255,245,238,1],sienna:[160,82,45,1],silver:[192,192,192,1],skyblue:[135,206,235,1],slateblue:[106,90,205,1],slategray:[112,128,144,1],slategrey:[112,128,144,1],snow:[255,250,250,1],springgreen:[0,255,127,1],steelblue:[70,130,180,1],tan:[210,180,140,1],teal:[0,128,128,1],thistle:[216,191,216,1],tomato:[255,99,71,1],turquoise:[64,224,208,1],violet:[238,130,238,1],wheat:[245,222,179,1],white:[255,255,255,1],whitesmoke:[245,245,245,1],yellow:[255,255,0,1],yellowgreen:[154,205,50,1]};function n(t){return(t=Math.round(t))<0?0:t>255?255:t}function i(t){return t<0?0:t>1?1:t}function a(t){return"%"===t[t.length-1]?n(parseFloat(t)/100*255):n(parseInt(t))}function o(t){return"%"===t[t.length-1]?i(parseFloat(t)/100):i(parseFloat(t))}function s(t,e,r){return r<0?r+=1:r>1&&(r-=1),6*r<1?t+(e-t)*r*6:2*r<1?e:3*r<2?t+(e-t)*(2/3-r)*6:t}try{e.parseCSSColor=function(t){var e,i=t.replace(/ /g,"").toLowerCase();if(i in r)return r[i].slice();if("#"===i[0])return 4===i.length?(e=parseInt(i.substr(1),16))>=0&&e<=4095?[(3840&e)>>4|(3840&e)>>8,240&e|(240&e)>>4,15&e|(15&e)<<4,1]:null:7===i.length&&(e=parseInt(i.substr(1),16))>=0&&e<=16777215?[(16711680&e)>>16,(65280&e)>>8,255&e,1]:null;var l=i.indexOf("("),u=i.indexOf(")");if(-1!==l&&u+1===i.length){var c=i.substr(0,l),f=i.substr(l+1,u-(l+1)).split(","),h=1;switch(c){case"rgba":if(4!==f.length)return null;h=o(f.pop());case"rgb":return 3!==f.length?null:[a(f[0]),a(f[1]),a(f[2]),h];case"hsla":if(4!==f.length)return null;h=o(f.pop());case"hsl":if(3!==f.length)return null;var p=(parseFloat(f[0])%360+360)%360/360,d=o(f[1]),v=o(f[2]),g=v<=.5?v*(d+1):v+d-v*d,y=2*v-g;return[n(255*s(y,g,p+1/3)),n(255*s(y,g,p)),n(255*s(y,g,p-1/3)),h];default:return null}}return null}}catch(t){}})),ie=ne.parseCSSColor,ae=function(t,e,r,n){void 0===n&&(n=1),this.r=t,this.g=e,this.b=r,this.a=n};ae.parse=function(t){if(t){if(t instanceof ae)return t;if("string"==typeof t){var e=ie(t);if(e)return new ae(e[0]/255*e[3],e[1]/255*e[3],e[2]/255*e[3],e[3])}}},ae.prototype.toString=function(){var t=this.toArray(),e=t[0],r=t[1],n=t[2],i=t[3];return"rgba("+Math.round(e)+","+Math.round(r)+","+Math.round(n)+","+i+")"},ae.prototype.toArray=function(){var t=this,e=t.r,r=t.g,n=t.b,i=t.a;return 0===i?[0,0,0,0]:[255*e/i,255*r/i,255*n/i,i]},ae.black=new ae(0,0,0,1),ae.white=new ae(1,1,1,1),ae.transparent=new ae(0,0,0,0),ae.red=new ae(1,0,0,1);var oe=function(t,e,r){this.sensitivity=t?e?"variant":"case":e?"accent":"base",this.locale=r,this.collator=new Intl.Collator(this.locale?this.locale:[],{sensitivity:this.sensitivity,usage:"search"})};oe.prototype.compare=function(t,e){return this.collator.compare(t,e)},oe.prototype.resolvedLocale=function(){return new Intl.Collator(this.locale?this.locale:[]).resolvedOptions().locale};var se=function(t,e,r,n,i){this.text=t,this.image=e,this.scale=r,this.fontStack=n,this.textColor=i},le=function(t){this.sections=t};le.fromString=function(t){return new le([new se(t,null,null,null,null)])},le.prototype.isEmpty=function(){return 0===this.sections.length||!this.sections.some((function(t){return 0!==t.text.length||t.image&&0!==t.image.name.length}))},le.factory=function(t){return t instanceof le?t:le.fromString(t)},le.prototype.toString=function(){return 0===this.sections.length?"":this.sections.map((function(t){return t.text})).join("")},le.prototype.serialize=function(){for(var t=["format"],e=0,r=this.sections;e<r.length;e+=1){var n=r[e];if(n.image)t.push(["image",n.image.name]);else{t.push(n.text);var i={};n.fontStack&&(i["text-font"]=["literal",n.fontStack.split(",")]),n.scale&&(i["font-scale"]=n.scale),n.textColor&&(i["text-color"]=["rgba"].concat(n.textColor.toArray())),t.push(i)}}return t};var ue=function(t){this.name=t.name,this.available=t.available};function ce(t,e,r,n){return"number"==typeof t&&t>=0&&t<=255&&"number"==typeof e&&e>=0&&e<=255&&"number"==typeof r&&r>=0&&r<=255?void 0===n||"number"==typeof n&&n>=0&&n<=1?null:"Invalid rgba value ["+[t,e,r,n].join(", ")+"]: 'a' must be between 0 and 1.":"Invalid rgba value ["+("number"==typeof n?[t,e,r,n]:[t,e,r]).join(", ")+"]: 'r', 'g', and 'b' must be between 0 and 255."}function fe(t){if(null===t)return!0;if("string"==typeof t)return!0;if("boolean"==typeof t)return!0;if("number"==typeof t)return!0;if(t instanceof ae)return!0;if(t instanceof oe)return!0;if(t instanceof le)return!0;if(t instanceof ue)return!0;if(Array.isArray(t)){for(var e=0,r=t;e<r.length;e+=1)if(!fe(r[e]))return!1;return!0}if("object"==typeof t){for(var n in t)if(!fe(t[n]))return!1;return!0}return!1}function he(t){if(null===t)return Ut;if("string"==typeof t)return Ht;if("boolean"==typeof t)return qt;if("number"==typeof t)return Vt;if(t instanceof ae)return Gt;if(t instanceof oe)return Wt;if(t instanceof le)return Xt;if(t instanceof ue)return Jt;if(Array.isArray(t)){for(var e,r=t.length,n=0,i=t;n<i.length;n+=1){var a=he(i[n]);if(e){if(e===a)continue;e=Yt;break}e=a}return Kt(e||Yt,r)}return Zt}function pe(t){var e=typeof t;return null===t?"":"string"===e||"number"===e||"boolean"===e?String(t):t instanceof ae||t instanceof le||t instanceof ue?t.toString():JSON.stringify(t)}ue.prototype.toString=function(){return this.name},ue.fromString=function(t){return t?new ue({name:t,available:!1}):null},ue.prototype.serialize=function(){return["image",this.name]};var de=function(t,e){this.type=t,this.value=e};de.parse=function(t,e){if(2!==t.length)return e.error("'literal' expression requires exactly one argument, but found "+(t.length-1)+" instead.");if(!fe(t[1]))return e.error("invalid value");var r=t[1],n=he(r),i=e.expectedType;return"array"!==n.kind||0!==n.N||!i||"array"!==i.kind||"number"==typeof i.N&&0!==i.N||(n=i),new de(n,r)},de.prototype.evaluate=function(){return this.value},de.prototype.eachChild=function(){},de.prototype.outputDefined=function(){return!0},de.prototype.serialize=function(){return"array"===this.type.kind||"object"===this.type.kind?["literal",this.value]:this.value instanceof ae?["rgba"].concat(this.value.toArray()):this.value instanceof le?this.value.serialize():this.value};var ve=function(t){this.name="ExpressionEvaluationError",this.message=t};ve.prototype.toJSON=function(){return this.message};var ge={string:Ht,number:Vt,boolean:qt,object:Zt},ye=function(t,e){this.type=t,this.args=e};ye.parse=function(t,e){if(t.length<2)return e.error("Expected at least one argument.");var r,n=1,i=t[0];if("array"===i){var a,o;if(t.length>2){var s=t[1];if("string"!=typeof s||!(s in ge)||"object"===s)return e.error('The item type argument of "array" must be one of string, number, boolean',1);a=ge[s],n++}else a=Yt;if(t.length>3){if(null!==t[2]&&("number"!=typeof t[2]||t[2]<0||t[2]!==Math.floor(t[2])))return e.error('The length argument to "array" must be a positive integer literal',2);o=t[2],n++}r=Kt(a,o)}else r=ge[i];for(var l=[];n<t.length;n++){var u=e.parse(t[n],n,Yt);if(!u)return null;l.push(u)}return new ye(r,l)},ye.prototype.evaluate=function(t){for(var e=0;e<this.args.length;e++){var r=this.args[e].evaluate(t);if(!te(this.type,he(r)))return r;if(e===this.args.length-1)throw new ve("Expected value to be of type "+$t(this.type)+", but found "+$t(he(r))+" instead.")}return null},ye.prototype.eachChild=function(t){this.args.forEach(t)},ye.prototype.outputDefined=function(){return this.args.every((function(t){return t.outputDefined()}))},ye.prototype.serialize=function(){var t=this.type,e=[t.kind];if("array"===t.kind){var r=t.itemType;if("string"===r.kind||"number"===r.kind||"boolean"===r.kind){e.push(r.kind);var n=t.N;("number"==typeof n||this.args.length>1)&&e.push(n)}}return e.concat(this.args.map((function(t){return t.serialize()})))};var me=function(t){this.type=Xt,this.sections=t};me.parse=function(t,e){if(t.length<2)return e.error("Expected at least one argument.");var r=t[1];if(!Array.isArray(r)&&"object"==typeof r)return e.error("First argument must be an image or text section.");for(var n=[],i=!1,a=1;a<=t.length-1;++a){var o=t[a];if(i&&"object"==typeof o&&!Array.isArray(o)){i=!1;var s=null;if(o["font-scale"]&&!(s=e.parse(o["font-scale"],1,Vt)))return null;var l=null;if(o["text-font"]&&!(l=e.parse(o["text-font"],1,Kt(Ht))))return null;var u=null;if(o["text-color"]&&!(u=e.parse(o["text-color"],1,Gt)))return null;var c=n[n.length-1];c.scale=s,c.font=l,c.textColor=u}else{var f=e.parse(t[a],1,Yt);if(!f)return null;var h=f.type.kind;if("string"!==h&&"value"!==h&&"null"!==h&&"resolvedImage"!==h)return e.error("Formatted text type must be 'string', 'value', 'image' or 'null'.");i=!0,n.push({content:f,scale:null,font:null,textColor:null})}}return new me(n)},me.prototype.evaluate=function(t){return new le(this.sections.map((function(e){var r=e.content.evaluate(t);return he(r)===Jt?new se("",r,null,null,null):new se(pe(r),null,e.scale?e.scale.evaluate(t):null,e.font?e.font.evaluate(t).join(","):null,e.textColor?e.textColor.evaluate(t):null)})))},me.prototype.eachChild=function(t){for(var e=0,r=this.sections;e<r.length;e+=1){var n=r[e];t(n.content),n.scale&&t(n.scale),n.font&&t(n.font),n.textColor&&t(n.textColor)}},me.prototype.outputDefined=function(){return!1},me.prototype.serialize=function(){for(var t=["format"],e=0,r=this.sections;e<r.length;e+=1){var n=r[e];t.push(n.content.serialize());var i={};n.scale&&(i["font-scale"]=n.scale.serialize()),n.font&&(i["text-font"]=n.font.serialize()),n.textColor&&(i["text-color"]=n.textColor.serialize()),t.push(i)}return t};var xe=function(t){this.type=Jt,this.input=t};xe.parse=function(t,e){if(2!==t.length)return e.error("Expected two arguments.");var r=e.parse(t[1],1,Ht);return r?new xe(r):e.error("No image name provided.")},xe.prototype.evaluate=function(t){var e=this.input.evaluate(t),r=ue.fromString(e);return r&&t.availableImages&&(r.available=t.availableImages.indexOf(e)>-1),r},xe.prototype.eachChild=function(t){t(this.input)},xe.prototype.outputDefined=function(){return!1},xe.prototype.serialize=function(){return["image",this.input.serialize()]};var be={"to-boolean":qt,"to-color":Gt,"to-number":Vt,"to-string":Ht},_e=function(t,e){this.type=t,this.args=e};_e.parse=function(t,e){if(t.length<2)return e.error("Expected at least one argument.");var r=t[0];if(("to-boolean"===r||"to-string"===r)&&2!==t.length)return e.error("Expected one argument.");for(var n=be[r],i=[],a=1;a<t.length;a++){var o=e.parse(t[a],a,Yt);if(!o)return null;i.push(o)}return new _e(n,i)},_e.prototype.evaluate=function(t){if("boolean"===this.type.kind)return Boolean(this.args[0].evaluate(t));if("color"===this.type.kind){for(var e,r,n=0,i=this.args;n<i.length;n+=1){if(r=null,(e=i[n].evaluate(t))instanceof ae)return e;if("string"==typeof e){var a=t.parseColor(e);if(a)return a}else if(Array.isArray(e)&&!(r=e.length<3||e.length>4?"Invalid rbga value "+JSON.stringify(e)+": expected an array containing either three or four numeric values.":ce(e[0],e[1],e[2],e[3])))return new ae(e[0]/255,e[1]/255,e[2]/255,e[3])}throw new ve(r||"Could not parse color from value '"+("string"==typeof e?e:String(JSON.stringify(e)))+"'")}if("number"===this.type.kind){for(var o=null,s=0,l=this.args;s<l.length;s+=1){if(null===(o=l[s].evaluate(t)))return 0;var u=Number(o);if(!isNaN(u))return u}throw new ve("Could not convert "+JSON.stringify(o)+" to number.")}return"formatted"===this.type.kind?le.fromString(pe(this.args[0].evaluate(t))):"resolvedImage"===this.type.kind?ue.fromString(pe(this.args[0].evaluate(t))):pe(this.args[0].evaluate(t))},_e.prototype.eachChild=function(t){this.args.forEach(t)},_e.prototype.outputDefined=function(){return this.args.every((function(t){return t.outputDefined()}))},_e.prototype.serialize=function(){if("formatted"===this.type.kind)return new me([{content:this.args[0],scale:null,font:null,textColor:null}]).serialize();if("resolvedImage"===this.type.kind)return new xe(this.args[0]).serialize();var t=["to-"+this.type.kind];return this.eachChild((function(e){t.push(e.serialize())})),t};var we=["Unknown","Point","LineString","Polygon"],Te=function(){this.globals=null,this.feature=null,this.featureState=null,this.formattedSection=null,this._parseColorCache={},this.availableImages=null,this.canonical=null};Te.prototype.id=function(){return this.feature&&"id"in this.feature?this.feature.id:null},Te.prototype.geometryType=function(){return this.feature?"number"==typeof this.feature.type?we[this.feature.type]:this.feature.type:null},Te.prototype.geometry=function(){return this.feature&&"geometry"in this.feature?this.feature.geometry:null},Te.prototype.canonicalID=function(){return this.canonical},Te.prototype.properties=function(){return this.feature&&this.feature.properties||{}},Te.prototype.parseColor=function(t){var e=this._parseColorCache[t];return e||(e=this._parseColorCache[t]=ae.parse(t)),e};var ke=function(t,e,r,n){this.name=t,this.type=e,this._evaluate=r,this.args=n};ke.prototype.evaluate=function(t){return this._evaluate(t,this.args)},ke.prototype.eachChild=function(t){this.args.forEach(t)},ke.prototype.outputDefined=function(){return!1},ke.prototype.serialize=function(){return[this.name].concat(this.args.map((function(t){return t.serialize()})))},ke.parse=function(t,e){var r,n=t[0],i=ke.definitions[n];if(!i)return e.error('Unknown expression "'+n+'". If you wanted a literal array, use ["literal", [...]].',0);for(var a=Array.isArray(i)?i[0]:i.type,o=Array.isArray(i)?[[i[1],i[2]]]:i.overloads,s=o.filter((function(e){var r=e[0];return!Array.isArray(r)||r.length===t.length-1})),l=null,u=0,c=s;u<c.length;u+=1){var f=c[u],h=f[0],p=f[1];l=new Ye(e.registry,e.path,null,e.scope);for(var d=[],v=!1,g=1;g<t.length;g++){var y=t[g],m=Array.isArray(h)?h[g-1]:h.type,x=l.parse(y,1+d.length,m);if(!x){v=!0;break}d.push(x)}if(!v)if(Array.isArray(h)&&h.length!==d.length)l.error("Expected "+h.length+" arguments, but found "+d.length+" instead.");else{for(var b=0;b<d.length;b++){var _=Array.isArray(h)?h[b]:h.type,w=d[b];l.concat(b+1).checkSubtype(_,w.type)}if(0===l.errors.length)return new ke(n,a,p,d)}}if(1===s.length)(r=e.errors).push.apply(r,l.errors);else{for(var T=(s.length?s:o).map((function(t){return e=t[0],Array.isArray(e)?"("+e.map($t).join(", ")+")":"("+$t(e.type)+"...)";var e})).join(" | "),k=[],A=1;A<t.length;A++){var M=e.parse(t[A],1+k.length);if(!M)return null;k.push($t(M.type))}e.error("Expected arguments of type "+T+", but found ("+k.join(", ")+") instead.")}return null},ke.register=function(t,e){for(var r in ke.definitions=e,e)t[r]=ke};var Ae=function(t,e,r){this.type=Wt,this.locale=r,this.caseSensitive=t,this.diacriticSensitive=e};Ae.parse=function(t,e){if(2!==t.length)return e.error("Expected one argument.");var r=t[1];if("object"!=typeof r||Array.isArray(r))return e.error("Collator options argument must be an object.");var n=e.parse(void 0!==r["case-sensitive"]&&r["case-sensitive"],1,qt);if(!n)return null;var i=e.parse(void 0!==r["diacritic-sensitive"]&&r["diacritic-sensitive"],1,qt);if(!i)return null;var a=null;return r.locale&&!(a=e.parse(r.locale,1,Ht))?null:new Ae(n,i,a)},Ae.prototype.evaluate=function(t){return new oe(this.caseSensitive.evaluate(t),this.diacriticSensitive.evaluate(t),this.locale?this.locale.evaluate(t):null)},Ae.prototype.eachChild=function(t){t(this.caseSensitive),t(this.diacriticSensitive),this.locale&&t(this.locale)},Ae.prototype.outputDefined=function(){return!1},Ae.prototype.serialize=function(){var t={};return t["case-sensitive"]=this.caseSensitive.serialize(),t["diacritic-sensitive"]=this.diacriticSensitive.serialize(),this.locale&&(t.locale=this.locale.serialize()),["collator",t]};var Me=8192;function Se(t,e){t[0]=Math.min(t[0],e[0]),t[1]=Math.min(t[1],e[1]),t[2]=Math.max(t[2],e[0]),t[3]=Math.max(t[3],e[1])}function Ee(t,e){return!(t[0]<=e[0]||t[2]>=e[2]||t[1]<=e[1]||t[3]>=e[3])}function Le(t,e){var r,n=(180+t[0])/360,i=(r=t[1],(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+r*Math.PI/360)))/360),a=Math.pow(2,e.z);return[Math.round(n*a*Me),Math.round(i*a*Me)]}function Ce(t,e,r){return e[1]>t[1]!=r[1]>t[1]&&t[0]<(r[0]-e[0])*(t[1]-e[1])/(r[1]-e[1])+e[0]}function Pe(t,e){for(var r=!1,n=0,i=e.length;n<i;n++)for(var a=e[n],o=0,s=a.length;o<s-1;o++){if(l=t,u=a[o],c=a[o+1],f=void 0,h=void 0,p=void 0,d=void 0,f=l[0]-u[0],h=l[1]-u[1],p=l[0]-c[0],d=l[1]-c[1],f*d-p*h==0&&f*p<=0&&h*d<=0)return!1;Ce(t,a[o],a[o+1])&&(r=!r)}var l,u,c,f,h,p,d;return r}function Oe(t,e){for(var r=0;r<e.length;r++)if(Pe(t,e[r]))return!0;return!1}function Ie(t,e,r,n){var i=t[0]-r[0],a=t[1]-r[1],o=e[0]-r[0],s=e[1]-r[1],l=n[0]-r[0],u=n[1]-r[1],c=i*u-l*a,f=o*u-l*s;return c>0&&f<0||c<0&&f>0}function De(t,e,r){for(var n=0,i=r;n<i.length;n+=1)for(var a=i[n],o=0;o<a.length-1;++o)if(s=t,l=e,u=a[o],c=a[o+1],f=void 0,h=void 0,p=void 0,p=[l[0]-s[0],l[1]-s[1]],0!=(f=[c[0]-u[0],c[1]-u[1]],h=p,f[0]*h[1]-f[1]*h[0])&&Ie(s,l,u,c)&&Ie(u,c,s,l))return!0;var s,l,u,c,f,h,p;return!1}function ze(t,e){for(var r=0;r<t.length;++r)if(!Pe(t[r],e))return!1;for(var n=0;n<t.length-1;++n)if(De(t[n],t[n+1],e))return!1;return!0}function Re(t,e){for(var r=0;r<e.length;r++)if(ze(t,e[r]))return!0;return!1}function Fe(t,e,r){for(var n=[],i=0;i<t.length;i++){for(var a=[],o=0;o<t[i].length;o++){var s=Le(t[i][o],r);Se(e,s),a.push(s)}n.push(a)}return n}function Be(t,e,r){for(var n=[],i=0;i<t.length;i++){var a=Fe(t[i],e,r);n.push(a)}return n}function Ne(t,e,r,n){if(t[0]<r[0]||t[0]>r[2]){var i=.5*n,a=t[0]-r[0]>i?-n:r[0]-t[0]>i?n:0;0===a&&(a=t[0]-r[2]>i?-n:r[2]-t[0]>i?n:0),t[0]+=a}Se(e,t)}function je(t,e,r,n){for(var i=Math.pow(2,n.z)*Me,a=[n.x*Me,n.y*Me],o=[],s=0,l=t;s<l.length;s+=1)for(var u=0,c=l[s];u<c.length;u+=1){var f=c[u],h=[f.x+a[0],f.y+a[1]];Ne(h,e,r,i),o.push(h)}return o}function Ue(t,e,r,n){for(var i=Math.pow(2,n.z)*Me,a=[n.x*Me,n.y*Me],o=[],s=0,l=t;s<l.length;s+=1){for(var u=[],c=0,f=l[s];c<f.length;c+=1){var h=f[c],p=[h.x+a[0],h.y+a[1]];Se(e,p),u.push(p)}o.push(u)}if(e[2]-e[0]<=i/2){(m=e)[0]=m[1]=1/0,m[2]=m[3]=-1/0;for(var d=0,v=o;d<v.length;d+=1)for(var g=0,y=v[d];g<y.length;g+=1)Ne(y[g],e,r,i)}var m;return o}var Ve=function(t,e){this.type=qt,this.geojson=t,this.geometries=e};function He(t){if(t instanceof ke){if("get"===t.name&&1===t.args.length)return!1;if("feature-state"===t.name)return!1;if("has"===t.name&&1===t.args.length)return!1;if("properties"===t.name||"geometry-type"===t.name||"id"===t.name)return!1;if(/^filter-/.test(t.name))return!1}if(t instanceof Ve)return!1;var e=!0;return t.eachChild((function(t){e&&!He(t)&&(e=!1)})),e}function qe(t){if(t instanceof ke&&"feature-state"===t.name)return!1;var e=!0;return t.eachChild((function(t){e&&!qe(t)&&(e=!1)})),e}function Ge(t,e){if(t instanceof ke&&e.indexOf(t.name)>=0)return!1;var r=!0;return t.eachChild((function(t){r&&!Ge(t,e)&&(r=!1)})),r}Ve.parse=function(t,e){if(2!==t.length)return e.error("'within' expression requires exactly one argument, but found "+(t.length-1)+" instead.");if(fe(t[1])){var r=t[1];if("FeatureCollection"===r.type)for(var n=0;n<r.features.length;++n){var i=r.features[n].geometry.type;if("Polygon"===i||"MultiPolygon"===i)return new Ve(r,r.features[n].geometry)}else if("Feature"===r.type){var a=r.geometry.type;if("Polygon"===a||"MultiPolygon"===a)return new Ve(r,r.geometry)}else if("Polygon"===r.type||"MultiPolygon"===r.type)return new Ve(r,r)}return e.error("'within' expression requires valid geojson object that contains polygon geometry type.")},Ve.prototype.evaluate=function(t){if(null!=t.geometry()&&null!=t.canonicalID()){if("Point"===t.geometryType())return function(t,e){var r=[1/0,1/0,-1/0,-1/0],n=[1/0,1/0,-1/0,-1/0],i=t.canonicalID();if("Polygon"===e.type){var a=Fe(e.coordinates,n,i),o=je(t.geometry(),r,n,i);if(!Ee(r,n))return!1;for(var s=0,l=o;s<l.length;s+=1)if(!Pe(l[s],a))return!1}if("MultiPolygon"===e.type){var u=Be(e.coordinates,n,i),c=je(t.geometry(),r,n,i);if(!Ee(r,n))return!1;for(var f=0,h=c;f<h.length;f+=1)if(!Oe(h[f],u))return!1}return!0}(t,this.geometries);if("LineString"===t.geometryType())return function(t,e){var r=[1/0,1/0,-1/0,-1/0],n=[1/0,1/0,-1/0,-1/0],i=t.canonicalID();if("Polygon"===e.type){var a=Fe(e.coordinates,n,i),o=Ue(t.geometry(),r,n,i);if(!Ee(r,n))return!1;for(var s=0,l=o;s<l.length;s+=1)if(!ze(l[s],a))return!1}if("MultiPolygon"===e.type){var u=Be(e.coordinates,n,i),c=Ue(t.geometry(),r,n,i);if(!Ee(r,n))return!1;for(var f=0,h=c;f<h.length;f+=1)if(!Re(h[f],u))return!1}return!0}(t,this.geometries)}return!1},Ve.prototype.eachChild=function(){},Ve.prototype.outputDefined=function(){return!0},Ve.prototype.serialize=function(){return["within",this.geojson]};var Ze=function(t,e){this.type=e.type,this.name=t,this.boundExpression=e};Ze.parse=function(t,e){if(2!==t.length||"string"!=typeof t[1])return e.error("'var' expression requires exactly one string literal argument.");var r=t[1];return e.scope.has(r)?new Ze(r,e.scope.get(r)):e.error('Unknown variable "'+r+'". Make sure "'+r+'" has been bound in an enclosing "let" expression before using it.',1)},Ze.prototype.evaluate=function(t){return this.boundExpression.evaluate(t)},Ze.prototype.eachChild=function(){},Ze.prototype.outputDefined=function(){return!1},Ze.prototype.serialize=function(){return["var",this.name]};var Ye=function(t,e,r,n,i){void 0===e&&(e=[]),void 0===n&&(n=new jt),void 0===i&&(i=[]),this.registry=t,this.path=e,this.key=e.map((function(t){return"["+t+"]"})).join(""),this.scope=n,this.errors=i,this.expectedType=r};function We(t){if(t instanceof Ze)return We(t.boundExpression);if(t instanceof ke&&"error"===t.name)return!1;if(t instanceof Ae)return!1;if(t instanceof Ve)return!1;var e=t instanceof _e||t instanceof ye,r=!0;return t.eachChild((function(t){r=e?r&&We(t):r&&t instanceof de})),!!r&&He(t)&&Ge(t,["zoom","heatmap-density","line-progress","accumulated","is-supported-script"])}function Xe(t,e){for(var r,n,i=t.length-1,a=0,o=i,s=0;a<=o;)if(r=t[s=Math.floor((a+o)/2)],n=t[s+1],r<=e){if(s===i||e<n)return s;a=s+1}else{if(!(r>e))throw new ve("Input is not a number.");o=s-1}return 0}Ye.prototype.parse=function(t,e,r,n,i){return void 0===i&&(i={}),e?this.concat(e,r,n)._parse(t,i):this._parse(t,i)},Ye.prototype._parse=function(t,e){function r(t,e,r){return"assert"===r?new ye(e,[t]):"coerce"===r?new _e(e,[t]):t}if(null!==t&&"string"!=typeof t&&"boolean"!=typeof t&&"number"!=typeof t||(t=["literal",t]),Array.isArray(t)){if(0===t.length)return this.error('Expected an array with at least one element. If you wanted a literal array, use ["literal", []].');var n=t[0];if("string"!=typeof n)return this.error("Expression name must be a string, but found "+typeof n+' instead. If you wanted a literal array, use ["literal", [...]].',0),null;var i=this.registry[n];if(i){var a=i.parse(t,this);if(!a)return null;if(this.expectedType){var o=this.expectedType,s=a.type;if("string"!==o.kind&&"number"!==o.kind&&"boolean"!==o.kind&&"object"!==o.kind&&"array"!==o.kind||"value"!==s.kind)if("color"!==o.kind&&"formatted"!==o.kind&&"resolvedImage"!==o.kind||"value"!==s.kind&&"string"!==s.kind){if(this.checkSubtype(o,s))return null}else a=r(a,o,e.typeAnnotation||"coerce");else a=r(a,o,e.typeAnnotation||"assert")}if(!(a instanceof de)&&"resolvedImage"!==a.type.kind&&We(a)){var l=new Te;try{a=new de(a.type,a.evaluate(l))}catch(t){return this.error(t.message),null}}return a}return this.error('Unknown expression "'+n+'". If you wanted a literal array, use ["literal", [...]].',0)}return void 0===t?this.error("'undefined' value invalid. Use null instead."):"object"==typeof t?this.error('Bare objects invalid. Use ["literal", {...}] instead.'):this.error("Expected an array, but found "+typeof t+" instead.")},Ye.prototype.concat=function(t,e,r){var n="number"==typeof t?this.path.concat(t):this.path,i=r?this.scope.concat(r):this.scope;return new Ye(this.registry,n,e||null,i,this.errors)},Ye.prototype.error=function(t){for(var e=[],r=arguments.length-1;r-- >0;)e[r]=arguments[r+1];var n=""+this.key+e.map((function(t){return"["+t+"]"})).join("");this.errors.push(new Nt(n,t))},Ye.prototype.checkSubtype=function(t,e){var r=te(t,e);return r&&this.error(r),r};var Je=function(t,e,r){this.type=t,this.input=e,this.labels=[],this.outputs=[];for(var n=0,i=r;n<i.length;n+=1){var a=i[n],o=a[0],s=a[1];this.labels.push(o),this.outputs.push(s)}};function Ke(t,e,r){return t*(1-r)+e*r}Je.parse=function(t,e){if(t.length-1<4)return e.error("Expected at least 4 arguments, but found only "+(t.length-1)+".");if((t.length-1)%2!=0)return e.error("Expected an even number of arguments.");var r=e.parse(t[1],1,Vt);if(!r)return null;var n=[],i=null;e.expectedType&&"value"!==e.expectedType.kind&&(i=e.expectedType);for(var a=1;a<t.length;a+=2){var o=1===a?-1/0:t[a],s=t[a+1],l=a,u=a+1;if("number"!=typeof o)return e.error('Input/output pairs for "step" expressions must be defined using literal numeric values (not computed expressions) for the input values.',l);if(n.length&&n[n.length-1][0]>=o)return e.error('Input/output pairs for "step" expressions must be arranged with input values in strictly ascending order.',l);var c=e.parse(s,u,i);if(!c)return null;i=i||c.type,n.push([o,c])}return new Je(i,r,n)},Je.prototype.evaluate=function(t){var e=this.labels,r=this.outputs;if(1===e.length)return r[0].evaluate(t);var n=this.input.evaluate(t);if(n<=e[0])return r[0].evaluate(t);var i=e.length;return n>=e[i-1]?r[i-1].evaluate(t):r[Xe(e,n)].evaluate(t)},Je.prototype.eachChild=function(t){t(this.input);for(var e=0,r=this.outputs;e<r.length;e+=1)t(r[e])},Je.prototype.outputDefined=function(){return this.outputs.every((function(t){return t.outputDefined()}))},Je.prototype.serialize=function(){for(var t=["step",this.input.serialize()],e=0;e<this.labels.length;e++)e>0&&t.push(this.labels[e]),t.push(this.outputs[e].serialize());return t};var $e=Object.freeze({__proto__:null,number:Ke,color:function(t,e,r){return new ae(Ke(t.r,e.r,r),Ke(t.g,e.g,r),Ke(t.b,e.b,r),Ke(t.a,e.a,r))},array:function(t,e,r){return t.map((function(t,n){return Ke(t,e[n],r)}))}}),Qe=.95047,tr=1.08883,er=4/29,rr=6/29,nr=3*rr*rr,ir=Math.PI/180,ar=180/Math.PI;function or(t){return t>.008856451679035631?Math.pow(t,1/3):t/nr+er}function sr(t){return t>rr?t*t*t:nr*(t-er)}function lr(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function ur(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function cr(t){var e=ur(t.r),r=ur(t.g),n=ur(t.b),i=or((.4124564*e+.3575761*r+.1804375*n)/Qe),a=or((.2126729*e+.7151522*r+.072175*n)/1);return{l:116*a-16,a:500*(i-a),b:200*(a-or((.0193339*e+.119192*r+.9503041*n)/tr)),alpha:t.a}}function fr(t){var e=(t.l+16)/116,r=isNaN(t.a)?e:e+t.a/500,n=isNaN(t.b)?e:e-t.b/200;return e=1*sr(e),r=Qe*sr(r),n=tr*sr(n),new ae(lr(3.2404542*r-1.5371385*e-.4985314*n),lr(-.969266*r+1.8760108*e+.041556*n),lr(.0556434*r-.2040259*e+1.0572252*n),t.alpha)}function hr(t,e,r){var n=e-t;return t+r*(n>180||n<-180?n-360*Math.round(n/360):n)}var pr={forward:cr,reverse:fr,interpolate:function(t,e,r){return{l:Ke(t.l,e.l,r),a:Ke(t.a,e.a,r),b:Ke(t.b,e.b,r),alpha:Ke(t.alpha,e.alpha,r)}}},dr={forward:function(t){var e=cr(t),r=e.l,n=e.a,i=e.b,a=Math.atan2(i,n)*ar;return{h:a<0?a+360:a,c:Math.sqrt(n*n+i*i),l:r,alpha:t.a}},reverse:function(t){var e=t.h*ir,r=t.c;return fr({l:t.l,a:Math.cos(e)*r,b:Math.sin(e)*r,alpha:t.alpha})},interpolate:function(t,e,r){return{h:hr(t.h,e.h,r),c:Ke(t.c,e.c,r),l:Ke(t.l,e.l,r),alpha:Ke(t.alpha,e.alpha,r)}}},vr=Object.freeze({__proto__:null,lab:pr,hcl:dr}),gr=function(t,e,r,n,i){this.type=t,this.operator=e,this.interpolation=r,this.input=n,this.labels=[],this.outputs=[];for(var a=0,o=i;a<o.length;a+=1){var s=o[a],l=s[0],u=s[1];this.labels.push(l),this.outputs.push(u)}};function yr(t,e,r,n){var i=n-r,a=t-r;return 0===i?0:1===e?a/i:(Math.pow(e,a)-1)/(Math.pow(e,i)-1)}gr.interpolationFactor=function(t,e,r,i){var a=0;if("exponential"===t.name)a=yr(e,t.base,r,i);else if("linear"===t.name)a=yr(e,1,r,i);else if("cubic-bezier"===t.name){var o=t.controlPoints;a=new n(o[0],o[1],o[2],o[3]).solve(yr(e,1,r,i))}return a},gr.parse=function(t,e){var r=t[0],n=t[1],i=t[2],a=t.slice(3);if(!Array.isArray(n)||0===n.length)return e.error("Expected an interpolation type expression.",1);if("linear"===n[0])n={name:"linear"};else if("exponential"===n[0]){var o=n[1];if("number"!=typeof o)return e.error("Exponential interpolation requires a numeric base.",1,1);n={name:"exponential",base:o}}else{if("cubic-bezier"!==n[0])return e.error("Unknown interpolation type "+String(n[0]),1,0);var s=n.slice(1);if(4!==s.length||s.some((function(t){return"number"!=typeof t||t<0||t>1})))return e.error("Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.",1);n={name:"cubic-bezier",controlPoints:s}}if(t.length-1<4)return e.error("Expected at least 4 arguments, but found only "+(t.length-1)+".");if((t.length-1)%2!=0)return e.error("Expected an even number of arguments.");if(!(i=e.parse(i,2,Vt)))return null;var l=[],u=null;"interpolate-hcl"===r||"interpolate-lab"===r?u=Gt:e.expectedType&&"value"!==e.expectedType.kind&&(u=e.expectedType);for(var c=0;c<a.length;c+=2){var f=a[c],h=a[c+1],p=c+3,d=c+4;if("number"!=typeof f)return e.error('Input/output pairs for "interpolate" expressions must be defined using literal numeric values (not computed expressions) for the input values.',p);if(l.length&&l[l.length-1][0]>=f)return e.error('Input/output pairs for "interpolate" expressions must be arranged with input values in strictly ascending order.',p);var v=e.parse(h,d,u);if(!v)return null;u=u||v.type,l.push([f,v])}return"number"===u.kind||"color"===u.kind||"array"===u.kind&&"number"===u.itemType.kind&&"number"==typeof u.N?new gr(u,r,n,i,l):e.error("Type "+$t(u)+" is not interpolatable.")},gr.prototype.evaluate=function(t){var e=this.labels,r=this.outputs;if(1===e.length)return r[0].evaluate(t);var n=this.input.evaluate(t);if(n<=e[0])return r[0].evaluate(t);var i=e.length;if(n>=e[i-1])return r[i-1].evaluate(t);var a=Xe(e,n),o=e[a],s=e[a+1],l=gr.interpolationFactor(this.interpolation,n,o,s),u=r[a].evaluate(t),c=r[a+1].evaluate(t);return"interpolate"===this.operator?$e[this.type.kind.toLowerCase()](u,c,l):"interpolate-hcl"===this.operator?dr.reverse(dr.interpolate(dr.forward(u),dr.forward(c),l)):pr.reverse(pr.interpolate(pr.forward(u),pr.forward(c),l))},gr.prototype.eachChild=function(t){t(this.input);for(var e=0,r=this.outputs;e<r.length;e+=1)t(r[e])},gr.prototype.outputDefined=function(){return this.outputs.every((function(t){return t.outputDefined()}))},gr.prototype.serialize=function(){var t;t="linear"===this.interpolation.name?["linear"]:"exponential"===this.interpolation.name?1===this.interpolation.base?["linear"]:["exponential",this.interpolation.base]:["cubic-bezier"].concat(this.interpolation.controlPoints);for(var e=[this.operator,t,this.input.serialize()],r=0;r<this.labels.length;r++)e.push(this.labels[r],this.outputs[r].serialize());return e};var mr=function(t,e){this.type=t,this.args=e};mr.parse=function(t,e){if(t.length<2)return e.error("Expectected at least one argument.");var r=null,n=e.expectedType;n&&"value"!==n.kind&&(r=n);for(var i=[],a=0,o=t.slice(1);a<o.length;a+=1){var s=o[a],l=e.parse(s,1+i.length,r,void 0,{typeAnnotation:"omit"});if(!l)return null;r=r||l.type,i.push(l)}var u=n&&i.some((function(t){return te(n,t.type)}));return new mr(u?Yt:r,i)},mr.prototype.evaluate=function(t){for(var e,r=null,n=0,i=0,a=this.args;i<a.length&&(n++,(r=a[i].evaluate(t))&&r instanceof ue&&!r.available&&(e||(e=r.name),r=null,n===this.args.length&&(r=e)),null===r);i+=1);return r},mr.prototype.eachChild=function(t){this.args.forEach(t)},mr.prototype.outputDefined=function(){return this.args.every((function(t){return t.outputDefined()}))},mr.prototype.serialize=function(){var t=["coalesce"];return this.eachChild((function(e){t.push(e.serialize())})),t};var xr=function(t,e){this.type=e.type,this.bindings=[].concat(t),this.result=e};xr.prototype.evaluate=function(t){return this.result.evaluate(t)},xr.prototype.eachChild=function(t){for(var e=0,r=this.bindings;e<r.length;e+=1)t(r[e][1]);t(this.result)},xr.parse=function(t,e){if(t.length<4)return e.error("Expected at least 3 arguments, but found "+(t.length-1)+" instead.");for(var r=[],n=1;n<t.length-1;n+=2){var i=t[n];if("string"!=typeof i)return e.error("Expected string, but found "+typeof i+" instead.",n);if(/[^a-zA-Z0-9_]/.test(i))return e.error("Variable names must contain only alphanumeric characters or '_'.",n);var a=e.parse(t[n+1],n+1);if(!a)return null;r.push([i,a])}var o=e.parse(t[t.length-1],t.length-1,e.expectedType,r);return o?new xr(r,o):null},xr.prototype.outputDefined=function(){return this.result.outputDefined()},xr.prototype.serialize=function(){for(var t=["let"],e=0,r=this.bindings;e<r.length;e+=1){var n=r[e],i=n[0],a=n[1];t.push(i,a.serialize())}return t.push(this.result.serialize()),t};var br=function(t,e,r){this.type=t,this.index=e,this.input=r};br.parse=function(t,e){if(3!==t.length)return e.error("Expected 2 arguments, but found "+(t.length-1)+" instead.");var r=e.parse(t[1],1,Vt),n=e.parse(t[2],2,Kt(e.expectedType||Yt));if(!r||!n)return null;var i=n.type;return new br(i.itemType,r,n)},br.prototype.evaluate=function(t){var e=this.index.evaluate(t),r=this.input.evaluate(t);if(e<0)throw new ve("Array index out of bounds: "+e+" < 0.");if(e>=r.length)throw new ve("Array index out of bounds: "+e+" > "+(r.length-1)+".");if(e!==Math.floor(e))throw new ve("Array index must be an integer, but found "+e+" instead.");return r[e]},br.prototype.eachChild=function(t){t(this.index),t(this.input)},br.prototype.outputDefined=function(){return!1},br.prototype.serialize=function(){return["at",this.index.serialize(),this.input.serialize()]};var _r=function(t,e){this.type=qt,this.needle=t,this.haystack=e};_r.parse=function(t,e){if(3!==t.length)return e.error("Expected 2 arguments, but found "+(t.length-1)+" instead.");var r=e.parse(t[1],1,Yt),n=e.parse(t[2],2,Yt);return r&&n?ee(r.type,[qt,Ht,Vt,Ut,Yt])?new _r(r,n):e.error("Expected first argument to be of type boolean, string, number or null, but found "+$t(r.type)+" instead"):null},_r.prototype.evaluate=function(t){var e=this.needle.evaluate(t),r=this.haystack.evaluate(t);if(!r)return!1;if(!re(e,["boolean","string","number","null"]))throw new ve("Expected first argument to be of type boolean, string, number or null, but found "+$t(he(e))+" instead.");if(!re(r,["string","array"]))throw new ve("Expected second argument to be of type array or string, but found "+$t(he(r))+" instead.");return r.indexOf(e)>=0},_r.prototype.eachChild=function(t){t(this.needle),t(this.haystack)},_r.prototype.outputDefined=function(){return!0},_r.prototype.serialize=function(){return["in",this.needle.serialize(),this.haystack.serialize()]};var wr=function(t,e,r){this.type=Vt,this.needle=t,this.haystack=e,this.fromIndex=r};wr.parse=function(t,e){if(t.length<=2||t.length>=5)return e.error("Expected 3 or 4 arguments, but found "+(t.length-1)+" instead.");var r=e.parse(t[1],1,Yt),n=e.parse(t[2],2,Yt);if(!r||!n)return null;if(!ee(r.type,[qt,Ht,Vt,Ut,Yt]))return e.error("Expected first argument to be of type boolean, string, number or null, but found "+$t(r.type)+" instead");if(4===t.length){var i=e.parse(t[3],3,Vt);return i?new wr(r,n,i):null}return new wr(r,n)},wr.prototype.evaluate=function(t){var e=this.needle.evaluate(t),r=this.haystack.evaluate(t);if(!re(e,["boolean","string","number","null"]))throw new ve("Expected first argument to be of type boolean, string, number or null, but found "+$t(he(e))+" instead.");if(!re(r,["string","array"]))throw new ve("Expected second argument to be of type array or string, but found "+$t(he(r))+" instead.");if(this.fromIndex){var n=this.fromIndex.evaluate(t);return r.indexOf(e,n)}return r.indexOf(e)},wr.prototype.eachChild=function(t){t(this.needle),t(this.haystack),this.fromIndex&&t(this.fromIndex)},wr.prototype.outputDefined=function(){return!1},wr.prototype.serialize=function(){if(null!=this.fromIndex&&void 0!==this.fromIndex){var t=this.fromIndex.serialize();return["index-of",this.needle.serialize(),this.haystack.serialize(),t]}return["index-of",this.needle.serialize(),this.haystack.serialize()]};var Tr=function(t,e,r,n,i,a){this.inputType=t,this.type=e,this.input=r,this.cases=n,this.outputs=i,this.otherwise=a};Tr.parse=function(t,e){if(t.length<5)return e.error("Expected at least 4 arguments, but found only "+(t.length-1)+".");if(t.length%2!=1)return e.error("Expected an even number of arguments.");var r,n;e.expectedType&&"value"!==e.expectedType.kind&&(n=e.expectedType);for(var i={},a=[],o=2;o<t.length-1;o+=2){var s=t[o],l=t[o+1];Array.isArray(s)||(s=[s]);var u=e.concat(o);if(0===s.length)return u.error("Expected at least one branch label.");for(var c=0,f=s;c<f.length;c+=1){var h=f[c];if("number"!=typeof h&&"string"!=typeof h)return u.error("Branch labels must be numbers or strings.");if("number"==typeof h&&Math.abs(h)>Number.MAX_SAFE_INTEGER)return u.error("Branch labels must be integers no larger than "+Number.MAX_SAFE_INTEGER+".");if("number"==typeof h&&Math.floor(h)!==h)return u.error("Numeric branch labels must be integer values.");if(r){if(u.checkSubtype(r,he(h)))return null}else r=he(h);if(void 0!==i[String(h)])return u.error("Branch labels must be unique.");i[String(h)]=a.length}var p=e.parse(l,o,n);if(!p)return null;n=n||p.type,a.push(p)}var d=e.parse(t[1],1,Yt);if(!d)return null;var v=e.parse(t[t.length-1],t.length-1,n);return v?"value"!==d.type.kind&&e.concat(1).checkSubtype(r,d.type)?null:new Tr(r,n,d,i,a,v):null},Tr.prototype.evaluate=function(t){var e=this.input.evaluate(t);return(he(e)===this.inputType&&this.outputs[this.cases[e]]||this.otherwise).evaluate(t)},Tr.prototype.eachChild=function(t){t(this.input),this.outputs.forEach(t),t(this.otherwise)},Tr.prototype.outputDefined=function(){return this.outputs.every((function(t){return t.outputDefined()}))&&this.otherwise.outputDefined()},Tr.prototype.serialize=function(){for(var t=this,e=["match",this.input.serialize()],r=[],n={},i=0,a=Object.keys(this.cases).sort();i<a.length;i+=1){var o=a[i];void 0===(f=n[this.cases[o]])?(n[this.cases[o]]=r.length,r.push([this.cases[o],[o]])):r[f][1].push(o)}for(var s=function(e){return"number"===t.inputType.kind?Number(e):e},l=0,u=r;l<u.length;l+=1){var c=u[l],f=c[0],h=c[1];1===h.length?e.push(s(h[0])):e.push(h.map(s)),e.push(this.outputs[outputIndex$1].serialize())}return e.push(this.otherwise.serialize()),e};var kr=function(t,e,r){this.type=t,this.branches=e,this.otherwise=r};kr.parse=function(t,e){if(t.length<4)return e.error("Expected at least 3 arguments, but found only "+(t.length-1)+".");if(t.length%2!=0)return e.error("Expected an odd number of arguments.");var r;e.expectedType&&"value"!==e.expectedType.kind&&(r=e.expectedType);for(var n=[],i=1;i<t.length-1;i+=2){var a=e.parse(t[i],i,qt);if(!a)return null;var o=e.parse(t[i+1],i+1,r);if(!o)return null;n.push([a,o]),r=r||o.type}var s=e.parse(t[t.length-1],t.length-1,r);return s?new kr(r,n,s):null},kr.prototype.evaluate=function(t){for(var e=0,r=this.branches;e<r.length;e+=1){var n=r[e],i=n[0],a=n[1];if(i.evaluate(t))return a.evaluate(t)}return this.otherwise.evaluate(t)},kr.prototype.eachChild=function(t){for(var e=0,r=this.branches;e<r.length;e+=1){var n=r[e],i=n[0],a=n[1];t(i),t(a)}t(this.otherwise)},kr.prototype.outputDefined=function(){return this.branches.every((function(t){return t[0],t[1].outputDefined()}))&&this.otherwise.outputDefined()},kr.prototype.serialize=function(){var t=["case"];return this.eachChild((function(e){t.push(e.serialize())})),t};var Ar=function(t,e,r,n){this.type=t,this.input=e,this.beginIndex=r,this.endIndex=n};function Mr(t,e){return"=="===t||"!="===t?"boolean"===e.kind||"string"===e.kind||"number"===e.kind||"null"===e.kind||"value"===e.kind:"string"===e.kind||"number"===e.kind||"value"===e.kind}function Sr(t,e,r,n){return 0===n.compare(e,r)}function Er(t,e,r){var n="=="!==t&&"!="!==t;return function(){function i(t,e,r){this.type=qt,this.lhs=t,this.rhs=e,this.collator=r,this.hasUntypedArgument="value"===t.type.kind||"value"===e.type.kind}return i.parse=function(t,e){if(3!==t.length&&4!==t.length)return e.error("Expected two or three arguments.");var r=t[0],a=e.parse(t[1],1,Yt);if(!a)return null;if(!Mr(r,a.type))return e.concat(1).error('"'+r+"\" comparisons are not supported for type '"+$t(a.type)+"'.");var o=e.parse(t[2],2,Yt);if(!o)return null;if(!Mr(r,o.type))return e.concat(2).error('"'+r+"\" comparisons are not supported for type '"+$t(o.type)+"'.");if(a.type.kind!==o.type.kind&&"value"!==a.type.kind&&"value"!==o.type.kind)return e.error("Cannot compare types '"+$t(a.type)+"' and '"+$t(o.type)+"'.");n&&("value"===a.type.kind&&"value"!==o.type.kind?a=new ye(o.type,[a]):"value"!==a.type.kind&&"value"===o.type.kind&&(o=new ye(a.type,[o])));var s=null;if(4===t.length){if("string"!==a.type.kind&&"string"!==o.type.kind&&"value"!==a.type.kind&&"value"!==o.type.kind)return e.error("Cannot use collator to compare non-string types.");if(!(s=e.parse(t[3],3,Wt)))return null}return new i(a,o,s)},i.prototype.evaluate=function(i){var a=this.lhs.evaluate(i),o=this.rhs.evaluate(i);if(n&&this.hasUntypedArgument){var s=he(a),l=he(o);if(s.kind!==l.kind||"string"!==s.kind&&"number"!==s.kind)throw new ve('Expected arguments for "'+t+'" to be (string, string) or (number, number), but found ('+s.kind+", "+l.kind+") instead.")}if(this.collator&&!n&&this.hasUntypedArgument){var u=he(a),c=he(o);if("string"!==u.kind||"string"!==c.kind)return e(i,a,o)}return this.collator?r(i,a,o,this.collator.evaluate(i)):e(i,a,o)},i.prototype.eachChild=function(t){t(this.lhs),t(this.rhs),this.collator&&t(this.collator)},i.prototype.outputDefined=function(){return!0},i.prototype.serialize=function(){var e=[t];return this.eachChild((function(t){e.push(t.serialize())})),e},i}()}Ar.parse=function(t,e){if(t.length<=2||t.length>=5)return e.error("Expected 3 or 4 arguments, but found "+(t.length-1)+" instead.");var r=e.parse(t[1],1,Yt),n=e.parse(t[2],2,Vt);if(!r||!n)return null;if(!ee(r.type,[Kt(Yt),Ht,Yt]))return e.error("Expected first argument to be of type array or string, but found "+$t(r.type)+" instead");if(4===t.length){var i=e.parse(t[3],3,Vt);return i?new Ar(r.type,r,n,i):null}return new Ar(r.type,r,n)},Ar.prototype.evaluate=function(t){var e=this.input.evaluate(t),r=this.beginIndex.evaluate(t);if(!re(e,["string","array"]))throw new ve("Expected first argument to be of type array or string, but found "+$t(he(e))+" instead.");if(this.endIndex){var n=this.endIndex.evaluate(t);return e.slice(r,n)}return e.slice(r)},Ar.prototype.eachChild=function(t){t(this.input),t(this.beginIndex),this.endIndex&&t(this.endIndex)},Ar.prototype.outputDefined=function(){return!1},Ar.prototype.serialize=function(){if(null!=this.endIndex&&void 0!==this.endIndex){var t=this.endIndex.serialize();return["slice",this.input.serialize(),this.beginIndex.serialize(),t]}return["slice",this.input.serialize(),this.beginIndex.serialize()]};var Lr=Er("==",(function(t,e,r){return e===r}),Sr),Cr=Er("!=",(function(t,e,r){return e!==r}),(function(t,e,r,n){return!Sr(0,e,r,n)})),Pr=Er("<",(function(t,e,r){return e<r}),(function(t,e,r,n){return n.compare(e,r)<0})),Or=Er(">",(function(t,e,r){return e>r}),(function(t,e,r,n){return n.compare(e,r)>0})),Ir=Er("<=",(function(t,e,r){return e<=r}),(function(t,e,r,n){return n.compare(e,r)<=0})),Dr=Er(">=",(function(t,e,r){return e>=r}),(function(t,e,r,n){return n.compare(e,r)>=0})),zr=function(t,e,r,n,i){this.type=Ht,this.number=t,this.locale=e,this.currency=r,this.minFractionDigits=n,this.maxFractionDigits=i};zr.parse=function(t,e){if(3!==t.length)return e.error("Expected two arguments.");var r=e.parse(t[1],1,Vt);if(!r)return null;var n=t[2];if("object"!=typeof n||Array.isArray(n))return e.error("NumberFormat options argument must be an object.");var i=null;if(n.locale&&!(i=e.parse(n.locale,1,Ht)))return null;var a=null;if(n.currency&&!(a=e.parse(n.currency,1,Ht)))return null;var o=null;if(n["min-fraction-digits"]&&!(o=e.parse(n["min-fraction-digits"],1,Vt)))return null;var s=null;return n["max-fraction-digits"]&&!(s=e.parse(n["max-fraction-digits"],1,Vt))?null:new zr(r,i,a,o,s)},zr.prototype.evaluate=function(t){return new Intl.NumberFormat(this.locale?this.locale.evaluate(t):[],{style:this.currency?"currency":"decimal",currency:this.currency?this.currency.evaluate(t):void 0,minimumFractionDigits:this.minFractionDigits?this.minFractionDigits.evaluate(t):void 0,maximumFractionDigits:this.maxFractionDigits?this.maxFractionDigits.evaluate(t):void 0}).format(this.number.evaluate(t))},zr.prototype.eachChild=function(t){t(this.number),this.locale&&t(this.locale),this.currency&&t(this.currency),this.minFractionDigits&&t(this.minFractionDigits),this.maxFractionDigits&&t(this.maxFractionDigits)},zr.prototype.outputDefined=function(){return!1},zr.prototype.serialize=function(){var t={};return this.locale&&(t.locale=this.locale.serialize()),this.currency&&(t.currency=this.currency.serialize()),this.minFractionDigits&&(t["min-fraction-digits"]=this.minFractionDigits.serialize()),this.maxFractionDigits&&(t["max-fraction-digits"]=this.maxFractionDigits.serialize()),["number-format",this.number.serialize(),t]};var Rr=function(t){this.type=Vt,this.input=t};Rr.parse=function(t,e){if(2!==t.length)return e.error("Expected 1 argument, but found "+(t.length-1)+" instead.");var r=e.parse(t[1],1);return r?"array"!==r.type.kind&&"string"!==r.type.kind&&"value"!==r.type.kind?e.error("Expected argument of type string or array, but found "+$t(r.type)+" instead."):new Rr(r):null},Rr.prototype.evaluate=function(t){var e=this.input.evaluate(t);if("string"==typeof e)return e.length;if(Array.isArray(e))return e.length;throw new ve("Expected value to be of type string or array, but found "+$t(he(e))+" instead.")},Rr.prototype.eachChild=function(t){t(this.input)},Rr.prototype.outputDefined=function(){return!1},Rr.prototype.serialize=function(){var t=["length"];return this.eachChild((function(e){t.push(e.serialize())})),t};var Fr={"==":Lr,"!=":Cr,">":Or,"<":Pr,">=":Dr,"<=":Ir,array:ye,at:br,boolean:ye,case:kr,coalesce:mr,collator:Ae,format:me,image:xe,in:_r,"index-of":wr,interpolate:gr,"interpolate-hcl":gr,"interpolate-lab":gr,length:Rr,let:xr,literal:de,match:Tr,number:ye,"number-format":zr,object:ye,slice:Ar,step:Je,string:ye,"to-boolean":_e,"to-color":_e,"to-number":_e,"to-string":_e,var:Ze,within:Ve};function Br(t,e){var r=e[0],n=e[1],i=e[2],a=e[3];r=r.evaluate(t),n=n.evaluate(t),i=i.evaluate(t);var o=a?a.evaluate(t):1,s=ce(r,n,i,o);if(s)throw new ve(s);return new ae(r/255*o,n/255*o,i/255*o,o)}function Nr(t,e){return t in e}function jr(t,e){var r=e[t];return void 0===r?null:r}function Ur(t){return{type:t}}function Vr(t){return{result:"success",value:t}}function Hr(t){return{result:"error",value:t}}function qr(t){return"data-driven"===t["property-type"]||"cross-faded-data-driven"===t["property-type"]}function Gr(t){return!!t.expression&&t.expression.parameters.indexOf("zoom")>-1}function Zr(t){return!!t.expression&&t.expression.interpolated}function Yr(t){return t instanceof Number?"number":t instanceof String?"string":t instanceof Boolean?"boolean":Array.isArray(t)?"array":null===t?"null":typeof t}function Wr(t){return"object"==typeof t&&null!==t&&!Array.isArray(t)}function Xr(t){return t}function Jr(t,e){var r,n,i,a="color"===e.type,o=t.stops&&"object"==typeof t.stops[0][0],s=o||void 0!==t.property,l=o||!s,u=t.type||(Zr(e)?"exponential":"interval");if(a&&((t=Rt({},t)).stops&&(t.stops=t.stops.map((function(t){return[t[0],ae.parse(t[1])]}))),t.default?t.default=ae.parse(t.default):t.default=ae.parse(e.default)),t.colorSpace&&"rgb"!==t.colorSpace&&!vr[t.colorSpace])throw new Error("Unknown color space: "+t.colorSpace);if("exponential"===u)r=tn;else if("interval"===u)r=Qr;else if("categorical"===u){r=$r,n=Object.create(null);for(var c=0,f=t.stops;c<f.length;c+=1){var h=f[c];n[h[0]]=h[1]}i=typeof t.stops[0][0]}else{if("identity"!==u)throw new Error('Unknown function type "'+u+'"');r=en}if(o){for(var p={},d=[],v=0;v<t.stops.length;v++){var g=t.stops[v],y=g[0].zoom;void 0===p[y]&&(p[y]={zoom:y,type:t.type,property:t.property,default:t.default,stops:[]},d.push(y)),p[y].stops.push([g[0].value,g[1]])}for(var m=[],x=0,b=d;x<b.length;x+=1){var _=b[x];m.push([p[_].zoom,Jr(p[_],e)])}var w={name:"linear"};return{kind:"composite",interpolationType:w,interpolationFactor:gr.interpolationFactor.bind(void 0,w),zoomStops:m.map((function(t){return t[0]})),evaluate:function(r,n){var i=r.zoom;return tn({stops:m,base:t.base},e,i).evaluate(i,n)}}}if(l){var T="exponential"===u?{name:"exponential",base:void 0!==t.base?t.base:1}:null;return{kind:"camera",interpolationType:T,interpolationFactor:gr.interpolationFactor.bind(void 0,T),zoomStops:t.stops.map((function(t){return t[0]})),evaluate:function(a){var o=a.zoom;return r(t,e,o,n,i)}}}return{kind:"source",evaluate:function(a,o){var s=o&&o.properties?o.properties[t.property]:void 0;return void 0===s?Kr(t.default,e.default):r(t,e,s,n,i)}}}function Kr(t,e,r){return void 0!==t?t:void 0!==e?e:void 0!==r?r:void 0}function $r(t,e,r,n,i){return Kr(typeof r===i?n[r]:void 0,t.default,e.default)}function Qr(t,e,r){if("number"!==Yr(r))return Kr(t.default,e.default);var n=t.stops.length;if(1===n)return t.stops[0][1];if(r<=t.stops[0][0])return t.stops[0][1];if(r>=t.stops[n-1][0])return t.stops[n-1][1];var i=Xe(t.stops.map((function(t){return t[0]})),r);return t.stops[i][1]}function tn(t,e,r){var n=void 0!==t.base?t.base:1;if("number"!==Yr(r))return Kr(t.default,e.default);var i=t.stops.length;if(1===i)return t.stops[0][1];if(r<=t.stops[0][0])return t.stops[0][1];if(r>=t.stops[i-1][0])return t.stops[i-1][1];var a=Xe(t.stops.map((function(t){return t[0]})),r),o=function(t,e,r,n){var i=n-r,a=t-r;return 0===i?0:1===e?a/i:(Math.pow(e,a)-1)/(Math.pow(e,i)-1)}(r,n,t.stops[a][0],t.stops[a+1][0]),s=t.stops[a][1],l=t.stops[a+1][1],u=$e[e.type]||Xr;if(t.colorSpace&&"rgb"!==t.colorSpace){var c=vr[t.colorSpace];u=function(t,e){return c.reverse(c.interpolate(c.forward(t),c.forward(e),o))}}return"function"==typeof s.evaluate?{evaluate:function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];var r=s.evaluate.apply(void 0,t),n=l.evaluate.apply(void 0,t);if(void 0!==r&&void 0!==n)return u(r,n,o)}}:u(s,l,o)}function en(t,e,r){return"color"===e.type?r=ae.parse(r):"formatted"===e.type?r=le.fromString(r.toString()):"resolvedImage"===e.type?r=ue.fromString(r.toString()):Yr(r)===e.type||"enum"===e.type&&e.values[r]||(r=void 0),Kr(r,t.default,e.default)}ke.register(Fr,{error:[{kind:"error"},[Ht],function(t,e){var r=e[0];throw new ve(r.evaluate(t))}],typeof:[Ht,[Yt],function(t,e){return $t(he(e[0].evaluate(t)))}],"to-rgba":[Kt(Vt,4),[Gt],function(t,e){return e[0].evaluate(t).toArray()}],rgb:[Gt,[Vt,Vt,Vt],Br],rgba:[Gt,[Vt,Vt,Vt,Vt],Br],has:{type:qt,overloads:[[[Ht],function(t,e){return Nr(e[0].evaluate(t),t.properties())}],[[Ht,Zt],function(t,e){var r=e[0],n=e[1];return Nr(r.evaluate(t),n.evaluate(t))}]]},get:{type:Yt,overloads:[[[Ht],function(t,e){return jr(e[0].evaluate(t),t.properties())}],[[Ht,Zt],function(t,e){var r=e[0],n=e[1];return jr(r.evaluate(t),n.evaluate(t))}]]},"feature-state":[Yt,[Ht],function(t,e){return jr(e[0].evaluate(t),t.featureState||{})}],properties:[Zt,[],function(t){return t.properties()}],"geometry-type":[Ht,[],function(t){return t.geometryType()}],id:[Yt,[],function(t){return t.id()}],zoom:[Vt,[],function(t){return t.globals.zoom}],"heatmap-density":[Vt,[],function(t){return t.globals.heatmapDensity||0}],"line-progress":[Vt,[],function(t){return t.globals.lineProgress||0}],accumulated:[Yt,[],function(t){return void 0===t.globals.accumulated?null:t.globals.accumulated}],"+":[Vt,Ur(Vt),function(t,e){for(var r=0,n=0,i=e;n<i.length;n+=1)r+=i[n].evaluate(t);return r}],"*":[Vt,Ur(Vt),function(t,e){for(var r=1,n=0,i=e;n<i.length;n+=1)r*=i[n].evaluate(t);return r}],"-":{type:Vt,overloads:[[[Vt,Vt],function(t,e){var r=e[0],n=e[1];return r.evaluate(t)-n.evaluate(t)}],[[Vt],function(t,e){return-e[0].evaluate(t)}]]},"/":[Vt,[Vt,Vt],function(t,e){var r=e[0],n=e[1];return r.evaluate(t)/n.evaluate(t)}],"%":[Vt,[Vt,Vt],function(t,e){var r=e[0],n=e[1];return r.evaluate(t)%n.evaluate(t)}],ln2:[Vt,[],function(){return Math.LN2}],pi:[Vt,[],function(){return Math.PI}],e:[Vt,[],function(){return Math.E}],"^":[Vt,[Vt,Vt],function(t,e){var r=e[0],n=e[1];return Math.pow(r.evaluate(t),n.evaluate(t))}],sqrt:[Vt,[Vt],function(t,e){var r=e[0];return Math.sqrt(r.evaluate(t))}],log10:[Vt,[Vt],function(t,e){var r=e[0];return Math.log(r.evaluate(t))/Math.LN10}],ln:[Vt,[Vt],function(t,e){var r=e[0];return Math.log(r.evaluate(t))}],log2:[Vt,[Vt],function(t,e){var r=e[0];return Math.log(r.evaluate(t))/Math.LN2}],sin:[Vt,[Vt],function(t,e){var r=e[0];return Math.sin(r.evaluate(t))}],cos:[Vt,[Vt],function(t,e){var r=e[0];return Math.cos(r.evaluate(t))}],tan:[Vt,[Vt],function(t,e){var r=e[0];return Math.tan(r.evaluate(t))}],asin:[Vt,[Vt],function(t,e){var r=e[0];return Math.asin(r.evaluate(t))}],acos:[Vt,[Vt],function(t,e){var r=e[0];return Math.acos(r.evaluate(t))}],atan:[Vt,[Vt],function(t,e){var r=e[0];return Math.atan(r.evaluate(t))}],min:[Vt,Ur(Vt),function(t,e){return Math.min.apply(Math,e.map((function(e){return e.evaluate(t)})))}],max:[Vt,Ur(Vt),function(t,e){return Math.max.apply(Math,e.map((function(e){return e.evaluate(t)})))}],abs:[Vt,[Vt],function(t,e){var r=e[0];return Math.abs(r.evaluate(t))}],round:[Vt,[Vt],function(t,e){var r=e[0].evaluate(t);return r<0?-Math.round(-r):Math.round(r)}],floor:[Vt,[Vt],function(t,e){var r=e[0];return Math.floor(r.evaluate(t))}],ceil:[Vt,[Vt],function(t,e){var r=e[0];return Math.ceil(r.evaluate(t))}],"filter-==":[qt,[Ht,Yt],function(t,e){var r=e[0],n=e[1];return t.properties()[r.value]===n.value}],"filter-id-==":[qt,[Yt],function(t,e){var r=e[0];return t.id()===r.value}],"filter-type-==":[qt,[Ht],function(t,e){var r=e[0];return t.geometryType()===r.value}],"filter-<":[qt,[Ht,Yt],function(t,e){var r=e[0],n=e[1],i=t.properties()[r.value],a=n.value;return typeof i==typeof a&&i<a}],"filter-id-<":[qt,[Yt],function(t,e){var r=e[0],n=t.id(),i=r.value;return typeof n==typeof i&&n<i}],"filter->":[qt,[Ht,Yt],function(t,e){var r=e[0],n=e[1],i=t.properties()[r.value],a=n.value;return typeof i==typeof a&&i>a}],"filter-id->":[qt,[Yt],function(t,e){var r=e[0],n=t.id(),i=r.value;return typeof n==typeof i&&n>i}],"filter-<=":[qt,[Ht,Yt],function(t,e){var r=e[0],n=e[1],i=t.properties()[r.value],a=n.value;return typeof i==typeof a&&i<=a}],"filter-id-<=":[qt,[Yt],function(t,e){var r=e[0],n=t.id(),i=r.value;return typeof n==typeof i&&n<=i}],"filter->=":[qt,[Ht,Yt],function(t,e){var r=e[0],n=e[1],i=t.properties()[r.value],a=n.value;return typeof i==typeof a&&i>=a}],"filter-id->=":[qt,[Yt],function(t,e){var r=e[0],n=t.id(),i=r.value;return typeof n==typeof i&&n>=i}],"filter-has":[qt,[Yt],function(t,e){return e[0].value in t.properties()}],"filter-has-id":[qt,[],function(t){return null!==t.id()&&void 0!==t.id()}],"filter-type-in":[qt,[Kt(Ht)],function(t,e){return e[0].value.indexOf(t.geometryType())>=0}],"filter-id-in":[qt,[Kt(Yt)],function(t,e){return e[0].value.indexOf(t.id())>=0}],"filter-in-small":[qt,[Ht,Kt(Yt)],function(t,e){var r=e[0];return e[1].value.indexOf(t.properties()[r.value])>=0}],"filter-in-large":[qt,[Ht,Kt(Yt)],function(t,e){var r=e[0],n=e[1];return function(t,e,r,n){for(;r<=n;){var i=r+n>>1;if(e[i]===t)return!0;e[i]>t?n=i-1:r=i+1}return!1}(t.properties()[r.value],n.value,0,n.value.length-1)}],all:{type:qt,overloads:[[[qt,qt],function(t,e){var r=e[0],n=e[1];return r.evaluate(t)&&n.evaluate(t)}],[Ur(qt),function(t,e){for(var r=0,n=e;r<n.length;r+=1)if(!n[r].evaluate(t))return!1;return!0}]]},any:{type:qt,overloads:[[[qt,qt],function(t,e){var r=e[0],n=e[1];return r.evaluate(t)||n.evaluate(t)}],[Ur(qt),function(t,e){for(var r=0,n=e;r<n.length;r+=1)if(n[r].evaluate(t))return!0;return!1}]]},"!":[qt,[qt],function(t,e){return!e[0].evaluate(t)}],"is-supported-script":[qt,[Ht],function(t,e){var r=e[0],n=t.globals&&t.globals.isSupportedScript;return!n||n(r.evaluate(t))}],upcase:[Ht,[Ht],function(t,e){return e[0].evaluate(t).toUpperCase()}],downcase:[Ht,[Ht],function(t,e){return e[0].evaluate(t).toLowerCase()}],concat:[Ht,Ur(Yt),function(t,e){return e.map((function(e){return pe(e.evaluate(t))})).join("")}],"resolved-locale":[Ht,[Wt],function(t,e){return e[0].evaluate(t).resolvedLocale()}]});var rn=function(t,e){this.expression=t,this._warningHistory={},this._evaluator=new Te,this._defaultValue=e?function(t){return"color"===t.type&&Wr(t.default)?new ae(0,0,0,0):"color"===t.type?ae.parse(t.default)||null:void 0===t.default?null:t.default}(e):null,this._enumValues=e&&"enum"===e.type?e.values:null};function nn(t){return Array.isArray(t)&&t.length>0&&"string"==typeof t[0]&&t[0]in Fr}function an(t,e){var r=new Ye(Fr,[],e?function(t){var e={color:Gt,string:Ht,number:Vt,enum:Ht,boolean:qt,formatted:Xt,resolvedImage:Jt};return"array"===t.type?Kt(e[t.value]||Yt,t.length):e[t.type]}(e):void 0),n=r.parse(t,void 0,void 0,void 0,e&&"string"===e.type?{typeAnnotation:"coerce"}:void 0);return n?Vr(new rn(n,e)):Hr(r.errors)}rn.prototype.evaluateWithoutErrorHandling=function(t,e,r,n,i,a){return this._evaluator.globals=t,this._evaluator.feature=e,this._evaluator.featureState=r,this._evaluator.canonical=n,this._evaluator.availableImages=i||null,this._evaluator.formattedSection=a,this.expression.evaluate(this._evaluator)},rn.prototype.evaluate=function(t,e,r,n,i,a){this._evaluator.globals=t,this._evaluator.feature=e||null,this._evaluator.featureState=r||null,this._evaluator.canonical=n,this._evaluator.availableImages=i||null,this._evaluator.formattedSection=a||null;try{var o=this.expression.evaluate(this._evaluator);if(null==o||"number"==typeof o&&o!=o)return this._defaultValue;if(this._enumValues&&!(o in this._enumValues))throw new ve("Expected value to be one of "+Object.keys(this._enumValues).map((function(t){return JSON.stringify(t)})).join(", ")+", but found "+JSON.stringify(o)+" instead.");return o}catch(t){return this._warningHistory[t.message]||(this._warningHistory[t.message]=!0,"undefined"!=typeof console&&console.warn(t.message)),this._defaultValue}};var on=function(t,e){this.kind=t,this._styleExpression=e,this.isStateDependent="constant"!==t&&!qe(e.expression)};on.prototype.evaluateWithoutErrorHandling=function(t,e,r,n,i,a){return this._styleExpression.evaluateWithoutErrorHandling(t,e,r,n,i,a)},on.prototype.evaluate=function(t,e,r,n,i,a){return this._styleExpression.evaluate(t,e,r,n,i,a)};var sn=function(t,e,r,n){this.kind=t,this.zoomStops=r,this._styleExpression=e,this.isStateDependent="camera"!==t&&!qe(e.expression),this.interpolationType=n};function ln(t,e){if("error"===(t=an(t,e)).result)return t;var r=t.value.expression,n=He(r);if(!n&&!qr(e))return Hr([new Nt("","data expressions not supported")]);var i=Ge(r,["zoom"]);if(!i&&!Gr(e))return Hr([new Nt("","zoom expressions not supported")]);var a=cn(r);if(!a&&!i)return Hr([new Nt("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.')]);if(a instanceof Nt)return Hr([a]);if(a instanceof gr&&!Zr(e))return Hr([new Nt("",'"interpolate" expressions cannot be used with this property')]);if(!a)return Vr(new on(n?"constant":"source",t.value));var o=a instanceof gr?a.interpolation:void 0;return Vr(new sn(n?"camera":"composite",t.value,a.labels,o))}sn.prototype.evaluateWithoutErrorHandling=function(t,e,r,n,i,a){return this._styleExpression.evaluateWithoutErrorHandling(t,e,r,n,i,a)},sn.prototype.evaluate=function(t,e,r,n,i,a){return this._styleExpression.evaluate(t,e,r,n,i,a)},sn.prototype.interpolationFactor=function(t,e,r){return this.interpolationType?gr.interpolationFactor(this.interpolationType,t,e,r):0};var un=function(t,e){this._parameters=t,this._specification=e,Rt(this,Jr(this._parameters,this._specification))};function cn(t){var e=null;if(t instanceof xr)e=cn(t.result);else if(t instanceof mr)for(var r=0,n=t.args;r<n.length;r+=1){var i=n[r];if(e=cn(i))break}else(t instanceof Je||t instanceof gr)&&t.input instanceof ke&&"zoom"===t.input.name&&(e=t);return e instanceof Nt||t.eachChild((function(t){var r=cn(t);r instanceof Nt?e=r:!e&&r?e=new Nt("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.'):e&&r&&e!==r&&(e=new Nt("",'Only one zoom-based "step" or "interpolate" subexpression may be used in an expression.'))})),e}function fn(t){var e=t.key,r=t.value,n=t.valueSpec||{},i=t.objectElementValidators||{},a=t.style,o=t.styleSpec,s=[],l=Yr(r);if("object"!==l)return[new Dt(e,r,"object expected, "+l+" found")];for(var u in r){var c=u.split(".")[0],f=n[c]||n["*"],h=void 0;if(i[c])h=i[c];else if(n[c])h=Bn;else if(i["*"])h=i["*"];else{if(!n["*"]){s.push(new Dt(e,r[u],'unknown property "'+u+'"'));continue}h=Bn}s=s.concat(h({key:(e?e+".":e)+u,value:r[u],valueSpec:f,style:a,styleSpec:o,object:r,objectKey:u},r))}for(var p in n)i[p]||n[p].required&&void 0===n[p].default&&void 0===r[p]&&s.push(new Dt(e,r,'missing required property "'+p+'"'));return s}function hn(t){var e=t.value,r=t.valueSpec,n=t.style,i=t.styleSpec,a=t.key,o=t.arrayElementValidator||Bn;if("array"!==Yr(e))return[new Dt(a,e,"array expected, "+Yr(e)+" found")];if(r.length&&e.length!==r.length)return[new Dt(a,e,"array length "+r.length+" expected, length "+e.length+" found")];if(r["min-length"]&&e.length<r["min-length"])return[new Dt(a,e,"array length at least "+r["min-length"]+" expected, length "+e.length+" found")];var s={type:r.value,values:r.values};i.$version<7&&(s.function=r.function),"object"===Yr(r.value)&&(s=r.value);for(var l=[],u=0;u<e.length;u++)l=l.concat(o({array:e,arrayIndex:u,value:e[u],valueSpec:s,style:n,styleSpec:i,key:a+"["+u+"]"}));return l}function pn(t){var e=t.key,r=t.value,n=t.valueSpec,i=Yr(r);return"number"===i&&r!=r&&(i="NaN"),"number"!==i?[new Dt(e,r,"number expected, "+i+" found")]:"minimum"in n&&r<n.minimum?[new Dt(e,r,r+" is less than the minimum value "+n.minimum)]:"maximum"in n&&r>n.maximum?[new Dt(e,r,r+" is greater than the maximum value "+n.maximum)]:[]}function dn(t){var e,r,n,i=t.valueSpec,a=Ft(t.value.type),o={},s="categorical"!==a&&void 0===t.value.property,l=!s,u="array"===Yr(t.value.stops)&&"array"===Yr(t.value.stops[0])&&"object"===Yr(t.value.stops[0][0]),c=fn({key:t.key,value:t.value,valueSpec:t.styleSpec.function,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{stops:function(t){if("identity"===a)return[new Dt(t.key,t.value,'identity function may not have a "stops" property')];var e=[],r=t.value;return e=e.concat(hn({key:t.key,value:r,valueSpec:t.valueSpec,style:t.style,styleSpec:t.styleSpec,arrayElementValidator:f})),"array"===Yr(r)&&0===r.length&&e.push(new Dt(t.key,r,"array must have at least one stop")),e},default:function(t){return Bn({key:t.key,value:t.value,valueSpec:i,style:t.style,styleSpec:t.styleSpec})}}});return"identity"===a&&s&&c.push(new Dt(t.key,t.value,'missing required property "property"')),"identity"===a||t.value.stops||c.push(new Dt(t.key,t.value,'missing required property "stops"')),"exponential"===a&&t.valueSpec.expression&&!Zr(t.valueSpec)&&c.push(new Dt(t.key,t.value,"exponential functions not supported")),t.styleSpec.$version>=8&&(l&&!qr(t.valueSpec)?c.push(new Dt(t.key,t.value,"property functions not supported")):s&&!Gr(t.valueSpec)&&c.push(new Dt(t.key,t.value,"zoom functions not supported"))),"categorical"!==a&&!u||void 0!==t.value.property||c.push(new Dt(t.key,t.value,'"property" property is required')),c;function f(t){var e=[],a=t.value,s=t.key;if("array"!==Yr(a))return[new Dt(s,a,"array expected, "+Yr(a)+" found")];if(2!==a.length)return[new Dt(s,a,"array length 2 expected, length "+a.length+" found")];if(u){if("object"!==Yr(a[0]))return[new Dt(s,a,"object expected, "+Yr(a[0])+" found")];if(void 0===a[0].zoom)return[new Dt(s,a,"object stop key must have zoom")];if(void 0===a[0].value)return[new Dt(s,a,"object stop key must have value")];if(n&&n>Ft(a[0].zoom))return[new Dt(s,a[0].zoom,"stop zoom values must appear in ascending order")];Ft(a[0].zoom)!==n&&(n=Ft(a[0].zoom),r=void 0,o={}),e=e.concat(fn({key:s+"[0]",value:a[0],valueSpec:{zoom:{}},style:t.style,styleSpec:t.styleSpec,objectElementValidators:{zoom:pn,value:h}}))}else e=e.concat(h({key:s+"[0]",value:a[0],valueSpec:{},style:t.style,styleSpec:t.styleSpec},a));return nn(Bt(a[1]))?e.concat([new Dt(s+"[1]",a[1],"expressions are not allowed in function stops.")]):e.concat(Bn({key:s+"[1]",value:a[1],valueSpec:i,style:t.style,styleSpec:t.styleSpec}))}function h(t,n){var s=Yr(t.value),l=Ft(t.value),u=null!==t.value?t.value:n;if(e){if(s!==e)return[new Dt(t.key,u,s+" stop domain type must match previous stop domain type "+e)]}else e=s;if("number"!==s&&"string"!==s&&"boolean"!==s)return[new Dt(t.key,u,"stop domain value must be a number, string, or boolean")];if("number"!==s&&"categorical"!==a){var c="number expected, "+s+" found";return qr(i)&&void 0===a&&(c+='\nIf you intended to use a categorical function, specify `"type": "categorical"`.'),[new Dt(t.key,u,c)]}return"categorical"!==a||"number"!==s||isFinite(l)&&Math.floor(l)===l?"categorical"!==a&&"number"===s&&void 0!==r&&l<r?[new Dt(t.key,u,"stop domain values must appear in ascending order")]:(r=l,"categorical"===a&&l in o?[new Dt(t.key,u,"stop domain values must be unique")]:(o[l]=!0,[])):[new Dt(t.key,u,"integer expected, found "+l)]}}function vn(t){var e=("property"===t.expressionContext?ln:an)(Bt(t.value),t.valueSpec);if("error"===e.result)return e.value.map((function(e){return new Dt(""+t.key+e.key,t.value,e.message)}));var r=e.value.expression||e.value._styleExpression.expression;if("property"===t.expressionContext&&"text-font"===t.propertyKey&&!r.outputDefined())return[new Dt(t.key,t.value,'Invalid data expression for "'+t.propertyKey+'". Output values must be contained as literals within the expression.')];if("property"===t.expressionContext&&"layout"===t.propertyType&&!qe(r))return[new Dt(t.key,t.value,'"feature-state" data expressions are not supported with layout properties.')];if("filter"===t.expressionContext&&!qe(r))return[new Dt(t.key,t.value,'"feature-state" data expressions are not supported with filters.')];if(t.expressionContext&&0===t.expressionContext.indexOf("cluster")){if(!Ge(r,["zoom","feature-state"]))return[new Dt(t.key,t.value,'"zoom" and "feature-state" expressions are not supported with cluster properties.')];if("cluster-initial"===t.expressionContext&&!He(r))return[new Dt(t.key,t.value,"Feature data expressions are not supported with initial expression part of cluster properties.")]}return[]}function gn(t){var e=t.key,r=t.value,n=t.valueSpec,i=[];return Array.isArray(n.values)?-1===n.values.indexOf(Ft(r))&&i.push(new Dt(e,r,"expected one of ["+n.values.join(", ")+"], "+JSON.stringify(r)+" found")):-1===Object.keys(n.values).indexOf(Ft(r))&&i.push(new Dt(e,r,"expected one of ["+Object.keys(n.values).join(", ")+"], "+JSON.stringify(r)+" found")),i}function yn(t){if(!0===t||!1===t)return!0;if(!Array.isArray(t)||0===t.length)return!1;switch(t[0]){case"has":return t.length>=2&&"$id"!==t[1]&&"$type"!==t[1];case"in":return t.length>=3&&("string"!=typeof t[1]||Array.isArray(t[2]));case"!in":case"!has":case"none":return!1;case"==":case"!=":case">":case">=":case"<":case"<=":return 3!==t.length||Array.isArray(t[1])||Array.isArray(t[2]);case"any":case"all":for(var e=0,r=t.slice(1);e<r.length;e+=1){var n=r[e];if(!yn(n)&&"boolean"!=typeof n)return!1}return!0;default:return!0}}un.deserialize=function(t){return new un(t._parameters,t._specification)},un.serialize=function(t){return{_parameters:t._parameters,_specification:t._specification}};var mn={type:"boolean",default:!1,transition:!1,"property-type":"data-driven",expression:{interpolated:!1,parameters:["zoom","feature"]}};function xn(t){if(null==t)return{filter:function(){return!0},needGeometry:!1};yn(t)||(t=wn(t));var e=an(t,mn);if("error"===e.result)throw new Error(e.value.map((function(t){return t.key+": "+t.message})).join(", "));return{filter:function(t,r,n){return e.value.evaluate(t,r,{},n)},needGeometry:_n(t)}}function bn(t,e){return t<e?-1:t>e?1:0}function _n(t){if(!Array.isArray(t))return!1;if("within"===t[0])return!0;for(var e=1;e<t.length;e++)if(_n(t[e]))return!0;return!1}function wn(t){if(!t)return!0;var e,r=t[0];return t.length<=1?"any"!==r:"=="===r?Tn(t[1],t[2],"=="):"!="===r?Mn(Tn(t[1],t[2],"==")):"<"===r||">"===r||"<="===r||">="===r?Tn(t[1],t[2],r):"any"===r?(e=t.slice(1),["any"].concat(e.map(wn))):"all"===r?["all"].concat(t.slice(1).map(wn)):"none"===r?["all"].concat(t.slice(1).map(wn).map(Mn)):"in"===r?kn(t[1],t.slice(2)):"!in"===r?Mn(kn(t[1],t.slice(2))):"has"===r?An(t[1]):"!has"===r?Mn(An(t[1])):"within"!==r||t}function Tn(t,e,r){switch(t){case"$type":return["filter-type-"+r,e];case"$id":return["filter-id-"+r,e];default:return["filter-"+r,t,e]}}function kn(t,e){if(0===e.length)return!1;switch(t){case"$type":return["filter-type-in",["literal",e]];case"$id":return["filter-id-in",["literal",e]];default:return e.length>200&&!e.some((function(t){return typeof t!=typeof e[0]}))?["filter-in-large",t,["literal",e.sort(bn)]]:["filter-in-small",t,["literal",e]]}}function An(t){switch(t){case"$type":return!0;case"$id":return["filter-has-id"];default:return["filter-has",t]}}function Mn(t){return["!",t]}function Sn(t){return yn(Bt(t.value))?vn(Rt({},t,{expressionContext:"filter",valueSpec:{value:"boolean"}})):En(t)}function En(t){var e=t.value,r=t.key;if("array"!==Yr(e))return[new Dt(r,e,"array expected, "+Yr(e)+" found")];var n,i=t.styleSpec,a=[];if(e.length<1)return[new Dt(r,e,"filter array must have at least 1 element")];switch(a=a.concat(gn({key:r+"[0]",value:e[0],valueSpec:i.filter_operator,style:t.style,styleSpec:t.styleSpec})),Ft(e[0])){case"<":case"<=":case">":case">=":e.length>=2&&"$type"===Ft(e[1])&&a.push(new Dt(r,e,'"$type" cannot be use with operator "'+e[0]+'"'));case"==":case"!=":3!==e.length&&a.push(new Dt(r,e,'filter array for operator "'+e[0]+'" must have 3 elements'));case"in":case"!in":e.length>=2&&"string"!==(n=Yr(e[1]))&&a.push(new Dt(r+"[1]",e[1],"string expected, "+n+" found"));for(var o=2;o<e.length;o++)n=Yr(e[o]),"$type"===Ft(e[1])?a=a.concat(gn({key:r+"["+o+"]",value:e[o],valueSpec:i.geometry_type,style:t.style,styleSpec:t.styleSpec})):"string"!==n&&"number"!==n&&"boolean"!==n&&a.push(new Dt(r+"["+o+"]",e[o],"string, number, or boolean expected, "+n+" found"));break;case"any":case"all":case"none":for(var s=1;s<e.length;s++)a=a.concat(En({key:r+"["+s+"]",value:e[s],style:t.style,styleSpec:t.styleSpec}));break;case"has":case"!has":n=Yr(e[1]),2!==e.length?a.push(new Dt(r,e,'filter array for "'+e[0]+'" operator must have 2 elements')):"string"!==n&&a.push(new Dt(r+"[1]",e[1],"string expected, "+n+" found"));break;case"within":n=Yr(e[1]),2!==e.length?a.push(new Dt(r,e,'filter array for "'+e[0]+'" operator must have 2 elements')):"object"!==n&&a.push(new Dt(r+"[1]",e[1],"object expected, "+n+" found"))}return a}function Ln(t,e){var r=t.key,n=t.style,i=t.styleSpec,a=t.value,o=t.objectKey,s=i[e+"_"+t.layerType];if(!s)return[];var l=o.match(/^(.*)-transition$/);if("paint"===e&&l&&s[l[1]]&&s[l[1]].transition)return Bn({key:r,value:a,valueSpec:i.transition,style:n,styleSpec:i});var u,c=t.valueSpec||s[o];if(!c)return[new Dt(r,a,'unknown property "'+o+'"')];if("string"===Yr(a)&&qr(c)&&!c.tokens&&(u=/^{([^}]+)}$/.exec(a)))return[new Dt(r,a,'"'+o+'" does not support interpolation syntax\nUse an identity property function instead: `{ "type": "identity", "property": '+JSON.stringify(u[1])+" }`.")];var f=[];return"symbol"===t.layerType&&("text-field"===o&&n&&!n.glyphs&&f.push(new Dt(r,a,'use of "text-field" requires a style "glyphs" property')),"text-font"===o&&Wr(Bt(a))&&"identity"===Ft(a.type)&&f.push(new Dt(r,a,'"text-font" does not support identity functions'))),f.concat(Bn({key:t.key,value:a,valueSpec:c,style:n,styleSpec:i,expressionContext:"property",propertyType:e,propertyKey:o}))}function Cn(t){return Ln(t,"paint")}function Pn(t){return Ln(t,"layout")}function On(t){var e=[],r=t.value,n=t.key,i=t.style,a=t.styleSpec;r.type||r.ref||e.push(new Dt(n,r,'either "type" or "ref" is required'));var o,s=Ft(r.type),l=Ft(r.ref);if(r.id)for(var u=Ft(r.id),c=0;c<t.arrayIndex;c++){var f=i.layers[c];Ft(f.id)===u&&e.push(new Dt(n,r.id,'duplicate layer id "'+r.id+'", previously used at line '+f.id.__line__))}if("ref"in r)["type","source","source-layer","filter","layout"].forEach((function(t){t in r&&e.push(new Dt(n,r[t],'"'+t+'" is prohibited for ref layers'))})),i.layers.forEach((function(t){Ft(t.id)===l&&(o=t)})),o?o.ref?e.push(new Dt(n,r.ref,"ref cannot reference another ref layer")):s=Ft(o.type):e.push(new Dt(n,r.ref,'ref layer "'+l+'" not found'));else if("background"!==s)if(r.source){var h=i.sources&&i.sources[r.source],p=h&&Ft(h.type);h?"vector"===p&&"raster"===s?e.push(new Dt(n,r.source,'layer "'+r.id+'" requires a raster source')):"raster"===p&&"raster"!==s?e.push(new Dt(n,r.source,'layer "'+r.id+'" requires a vector source')):"vector"!==p||r["source-layer"]?"raster-dem"===p&&"hillshade"!==s?e.push(new Dt(n,r.source,"raster-dem source can only be used with layer type 'hillshade'.")):"line"!==s||!r.paint||!r.paint["line-gradient"]||"geojson"===p&&h.lineMetrics||e.push(new Dt(n,r,'layer "'+r.id+'" specifies a line-gradient, which requires a GeoJSON source with `lineMetrics` enabled.')):e.push(new Dt(n,r,'layer "'+r.id+'" must specify a "source-layer"')):e.push(new Dt(n,r.source,'source "'+r.source+'" not found'))}else e.push(new Dt(n,r,'missing required property "source"'));return e=e.concat(fn({key:n,value:r,valueSpec:a.layer,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{"*":function(){return[]},type:function(){return Bn({key:n+".type",value:r.type,valueSpec:a.layer.type,style:t.style,styleSpec:t.styleSpec,object:r,objectKey:"type"})},filter:Sn,layout:function(t){return fn({layer:r,key:t.key,value:t.value,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{"*":function(t){return Pn(Rt({layerType:s},t))}}})},paint:function(t){return fn({layer:r,key:t.key,value:t.value,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{"*":function(t){return Cn(Rt({layerType:s},t))}}})}}})),e}function In(t){var e=t.value,r=t.key,n=Yr(e);return"string"!==n?[new Dt(r,e,"string expected, "+n+" found")]:[]}var Dn={promoteId:function(t){var e=t.key,r=t.value;if("string"===Yr(r))return In({key:e,value:r});var n=[];for(var i in r)n.push.apply(n,In({key:e+"."+i,value:r[i]}));return n}};function zn(t){var e=t.value,r=t.key,n=t.styleSpec,i=t.style;if(!e.type)return[new Dt(r,e,'"type" is required')];var a,o=Ft(e.type);switch(o){case"vector":case"raster":case"raster-dem":return fn({key:r,value:e,valueSpec:n["source_"+o.replace("-","_")],style:t.style,styleSpec:n,objectElementValidators:Dn});case"geojson":if(a=fn({key:r,value:e,valueSpec:n.source_geojson,style:i,styleSpec:n,objectElementValidators:Dn}),e.cluster)for(var s in e.clusterProperties){var l=e.clusterProperties[s],u=l[0],c=l[1],f="string"==typeof u?[u,["accumulated"],["get",s]]:u;a.push.apply(a,vn({key:r+"."+s+".map",value:c,expressionContext:"cluster-map"})),a.push.apply(a,vn({key:r+"."+s+".reduce",value:f,expressionContext:"cluster-reduce"}))}return a;case"video":return fn({key:r,value:e,valueSpec:n.source_video,style:i,styleSpec:n});case"image":return fn({key:r,value:e,valueSpec:n.source_image,style:i,styleSpec:n});case"canvas":return[new Dt(r,null,"Please use runtime APIs to add canvas sources, rather than including them in stylesheets.","source.canvas")];default:return gn({key:r+".type",value:e.type,valueSpec:{values:["vector","raster","raster-dem","geojson","video","image"]},style:i,styleSpec:n})}}function Rn(t){var e=t.value,r=t.styleSpec,n=r.light,i=t.style,a=[],o=Yr(e);if(void 0===e)return a;if("object"!==o)return a.concat([new Dt("light",e,"object expected, "+o+" found")]);for(var s in e){var l=s.match(/^(.*)-transition$/);a=l&&n[l[1]]&&n[l[1]].transition?a.concat(Bn({key:s,value:e[s],valueSpec:r.transition,style:i,styleSpec:r})):n[s]?a.concat(Bn({key:s,value:e[s],valueSpec:n[s],style:i,styleSpec:r})):a.concat([new Dt(s,e[s],'unknown property "'+s+'"')])}return a}var Fn={"*":function(){return[]},array:hn,boolean:function(t){var e=t.value,r=t.key,n=Yr(e);return"boolean"!==n?[new Dt(r,e,"boolean expected, "+n+" found")]:[]},number:pn,color:function(t){var e=t.key,r=t.value,n=Yr(r);return"string"!==n?[new Dt(e,r,"color expected, "+n+" found")]:null===ie(r)?[new Dt(e,r,'color expected, "'+r+'" found')]:[]},constants:zt,enum:gn,filter:Sn,function:dn,layer:On,object:fn,source:zn,light:Rn,string:In,formatted:function(t){return 0===In(t).length?[]:vn(t)},resolvedImage:function(t){return 0===In(t).length?[]:vn(t)}};function Bn(t){var e=t.value,r=t.valueSpec,n=t.styleSpec;return r.expression&&Wr(Ft(e))?dn(t):r.expression&&nn(Bt(e))?vn(t):r.type&&Fn[r.type]?Fn[r.type](t):fn(Rt({},t,{valueSpec:r.type?n[r.type]:r}))}function Nn(t){var e=t.value,r=t.key,n=In(t);return n.length||(-1===e.indexOf("{fontstack}")&&n.push(new Dt(r,e,'"glyphs" url must include a "{fontstack}" token')),-1===e.indexOf("{range}")&&n.push(new Dt(r,e,'"glyphs" url must include a "{range}" token'))),n}function jn(t,e){void 0===e&&(e=It);var r=[];return r=r.concat(Bn({key:"",value:t,valueSpec:e.$root,styleSpec:e,style:t,objectElementValidators:{glyphs:Nn,"*":function(){return[]}}})),t.constants&&(r=r.concat(zt({key:"constants",value:t.constants,style:t,styleSpec:e}))),Un(r)}function Un(t){return[].concat(t).sort((function(t,e){return t.line-e.line}))}function Vn(t){return function(){for(var e=[],r=arguments.length;r--;)e[r]=arguments[r];return Un(t.apply(this,e))}}jn.source=Vn(zn),jn.light=Vn(Rn),jn.layer=Vn(On),jn.filter=Vn(Sn),jn.paintProperty=Vn(Cn),jn.layoutProperty=Vn(Pn);var Hn=jn,qn=Hn.light,Gn=Hn.paintProperty,Zn=Hn.layoutProperty;function Yn(t,e){var r=!1;if(e&&e.length)for(var n=0,i=e;n<i.length;n+=1){var a=i[n];t.fire(new Pt(new Error(a.message))),r=!0}return r}var Wn=Xn;function Xn(t,e,r){var n=this.cells=[];if(t instanceof ArrayBuffer){this.arrayBuffer=t;var i=new Int32Array(this.arrayBuffer);t=i[0],e=i[1],r=i[2],this.d=e+2*r;for(var a=0;a<this.d*this.d;a++){var o=i[3+a],s=i[3+a+1];n.push(o===s?null:i.subarray(o,s))}var l=i[3+n.length],u=i[3+n.length+1];this.keys=i.subarray(l,u),this.bboxes=i.subarray(u),this.insert=this._insertReadonly}else{this.d=e+2*r;for(var c=0;c<this.d*this.d;c++)n.push([]);this.keys=[],this.bboxes=[]}this.n=e,this.extent=t,this.padding=r,this.scale=e/t,this.uid=0;var f=r/e*t;this.min=-f,this.max=t+f}Xn.prototype.insert=function(t,e,r,n,i){this._forEachCell(e,r,n,i,this._insertCell,this.uid++),this.keys.push(t),this.bboxes.push(e),this.bboxes.push(r),this.bboxes.push(n),this.bboxes.push(i)},Xn.prototype._insertReadonly=function(){throw"Cannot insert into a GridIndex created from an ArrayBuffer."},Xn.prototype._insertCell=function(t,e,r,n,i,a){this.cells[i].push(a)},Xn.prototype.query=function(t,e,r,n,i){var a=this.min,o=this.max;if(t<=a&&e<=a&&o<=r&&o<=n&&!i)return Array.prototype.slice.call(this.keys);var s=[];return this._forEachCell(t,e,r,n,this._queryCell,s,{},i),s},Xn.prototype._queryCell=function(t,e,r,n,i,a,o,s){var l=this.cells[i];if(null!==l)for(var u=this.keys,c=this.bboxes,f=0;f<l.length;f++){var h=l[f];if(void 0===o[h]){var p=4*h;(s?s(c[p+0],c[p+1],c[p+2],c[p+3]):t<=c[p+2]&&e<=c[p+3]&&r>=c[p+0]&&n>=c[p+1])?(o[h]=!0,a.push(u[h])):o[h]=!1}}},Xn.prototype._forEachCell=function(t,e,r,n,i,a,o,s){for(var l=this._convertToCellCoord(t),u=this._convertToCellCoord(e),c=this._convertToCellCoord(r),f=this._convertToCellCoord(n),h=l;h<=c;h++)for(var p=u;p<=f;p++){var d=this.d*p+h;if((!s||s(this._convertFromCellCoord(h),this._convertFromCellCoord(p),this._convertFromCellCoord(h+1),this._convertFromCellCoord(p+1)))&&i.call(this,t,e,r,n,d,a,o,s))return}},Xn.prototype._convertFromCellCoord=function(t){return(t-this.padding)/this.scale},Xn.prototype._convertToCellCoord=function(t){return Math.max(0,Math.min(this.d-1,Math.floor(t*this.scale)+this.padding))},Xn.prototype.toArrayBuffer=function(){if(this.arrayBuffer)return this.arrayBuffer;for(var t=this.cells,e=3+this.cells.length+1+1,r=0,n=0;n<this.cells.length;n++)r+=this.cells[n].length;var i=new Int32Array(e+r+this.keys.length+this.bboxes.length);i[0]=this.extent,i[1]=this.n,i[2]=this.padding;for(var a=e,o=0;o<t.length;o++){var s=t[o];i[3+o]=a,i.set(s,a),a+=s.length}return i[3+t.length]=a,i.set(this.keys,a),a+=this.keys.length,i[3+t.length+1]=a,i.set(this.bboxes,a),a+=this.bboxes.length,i.buffer};var Jn=self.ImageData,Kn=self.ImageBitmap,$n={};function Qn(t,e,r){void 0===r&&(r={}),Object.defineProperty(e,"_classRegistryKey",{value:t,writeable:!1}),$n[t]={klass:e,omit:r.omit||[],shallow:r.shallow||[]}}for(var ti in Qn("Object",Object),Wn.serialize=function(t,e){var r=t.toArrayBuffer();return e&&e.push(r),{buffer:r}},Wn.deserialize=function(t){return new Wn(t.buffer)},Qn("Grid",Wn),Qn("Color",ae),Qn("Error",Error),Qn("ResolvedImage",ue),Qn("StylePropertyFunction",un),Qn("StyleExpression",rn,{omit:["_evaluator"]}),Qn("ZoomDependentExpression",sn),Qn("ZoomConstantExpression",on),Qn("CompoundExpression",ke,{omit:["_evaluate"]}),Fr)Fr[ti]._classRegistryKey||Qn("Expression_"+ti,Fr[ti]);function ei(t){return t&&"undefined"!=typeof ArrayBuffer&&(t instanceof ArrayBuffer||t.constructor&&"ArrayBuffer"===t.constructor.name)}function ri(t){return Kn&&t instanceof Kn}function ni(t,e){if(null==t||"boolean"==typeof t||"number"==typeof t||"string"==typeof t||t instanceof Boolean||t instanceof Number||t instanceof String||t instanceof Date||t instanceof RegExp)return t;if(ei(t)||ri(t))return e&&e.push(t),t;if(ArrayBuffer.isView(t)){var r=t;return e&&e.push(r.buffer),r}if(t instanceof Jn)return e&&e.push(t.data.buffer),t;if(Array.isArray(t)){for(var n=[],i=0,a=t;i<a.length;i+=1){var o=a[i];n.push(ni(o,e))}return n}if("object"==typeof t){var s=t.constructor,l=s._classRegistryKey;if(!l)throw new Error("can't serialize object of unregistered class");var u=s.serialize?s.serialize(t,e):{};if(!s.serialize){for(var c in t)if(t.hasOwnProperty(c)&&!($n[l].omit.indexOf(c)>=0)){var f=t[c];u[c]=$n[l].shallow.indexOf(c)>=0?f:ni(f,e)}t instanceof Error&&(u.message=t.message)}if(u.$name)throw new Error("$name property is reserved for worker serialization logic.");return"Object"!==l&&(u.$name=l),u}throw new Error("can't serialize object of type "+typeof t)}function ii(t){if(null==t||"boolean"==typeof t||"number"==typeof t||"string"==typeof t||t instanceof Boolean||t instanceof Number||t instanceof String||t instanceof Date||t instanceof RegExp||ei(t)||ri(t)||ArrayBuffer.isView(t)||t instanceof Jn)return t;if(Array.isArray(t))return t.map(ii);if("object"==typeof t){var e=t.$name||"Object",r=$n[e].klass;if(!r)throw new Error("can't deserialize unregistered class "+e);if(r.deserialize)return r.deserialize(t);for(var n=Object.create(r.prototype),i=0,a=Object.keys(t);i<a.length;i+=1){var o=a[i];if("$name"!==o){var s=t[o];n[o]=$n[e].shallow.indexOf(o)>=0?s:ii(s)}}return n}throw new Error("can't deserialize object of type "+typeof t)}var ai=function(){this.first=!0};ai.prototype.update=function(t,e){var r=Math.floor(t);return this.first?(this.first=!1,this.lastIntegerZoom=r,this.lastIntegerZoomTime=0,this.lastZoom=t,this.lastFloorZoom=r,!0):(this.lastFloorZoom>r?(this.lastIntegerZoom=r+1,this.lastIntegerZoomTime=e):this.lastFloorZoom<r&&(this.lastIntegerZoom=r,this.lastIntegerZoomTime=e),t!==this.lastZoom&&(this.lastZoom=t,this.lastFloorZoom=r,!0))};var oi={"Latin-1 Supplement":function(t){return t>=128&&t<=255},Arabic:function(t){return t>=1536&&t<=1791},"Arabic Supplement":function(t){return t>=1872&&t<=1919},"Arabic Extended-A":function(t){return t>=2208&&t<=2303},"Hangul Jamo":function(t){return t>=4352&&t<=4607},"Unified Canadian Aboriginal Syllabics":function(t){return t>=5120&&t<=5759},Khmer:function(t){return t>=6016&&t<=6143},"Unified Canadian Aboriginal Syllabics Extended":function(t){return t>=6320&&t<=6399},"General Punctuation":function(t){return t>=8192&&t<=8303},"Letterlike Symbols":function(t){return t>=8448&&t<=8527},"Number Forms":function(t){return t>=8528&&t<=8591},"Miscellaneous Technical":function(t){return t>=8960&&t<=9215},"Control Pictures":function(t){return t>=9216&&t<=9279},"Optical Character Recognition":function(t){return t>=9280&&t<=9311},"Enclosed Alphanumerics":function(t){return t>=9312&&t<=9471},"Geometric Shapes":function(t){return t>=9632&&t<=9727},"Miscellaneous Symbols":function(t){return t>=9728&&t<=9983},"Miscellaneous Symbols and Arrows":function(t){return t>=11008&&t<=11263},"CJK Radicals Supplement":function(t){return t>=11904&&t<=12031},"Kangxi Radicals":function(t){return t>=12032&&t<=12255},"Ideographic Description Characters":function(t){return t>=12272&&t<=12287},"CJK Symbols and Punctuation":function(t){return t>=12288&&t<=12351},Hiragana:function(t){return t>=12352&&t<=12447},Katakana:function(t){return t>=12448&&t<=12543},Bopomofo:function(t){return t>=12544&&t<=12591},"Hangul Compatibility Jamo":function(t){return t>=12592&&t<=12687},Kanbun:function(t){return t>=12688&&t<=12703},"Bopomofo Extended":function(t){return t>=12704&&t<=12735},"CJK Strokes":function(t){return t>=12736&&t<=12783},"Katakana Phonetic Extensions":function(t){return t>=12784&&t<=12799},"Enclosed CJK Letters and Months":function(t){return t>=12800&&t<=13055},"CJK Compatibility":function(t){return t>=13056&&t<=13311},"CJK Unified Ideographs Extension A":function(t){return t>=13312&&t<=19903},"Yijing Hexagram Symbols":function(t){return t>=19904&&t<=19967},"CJK Unified Ideographs":function(t){return t>=19968&&t<=40959},"Yi Syllables":function(t){return t>=40960&&t<=42127},"Yi Radicals":function(t){return t>=42128&&t<=42191},"Hangul Jamo Extended-A":function(t){return t>=43360&&t<=43391},"Hangul Syllables":function(t){return t>=44032&&t<=55215},"Hangul Jamo Extended-B":function(t){return t>=55216&&t<=55295},"Private Use Area":function(t){return t>=57344&&t<=63743},"CJK Compatibility Ideographs":function(t){return t>=63744&&t<=64255},"Arabic Presentation Forms-A":function(t){return t>=64336&&t<=65023},"Vertical Forms":function(t){return t>=65040&&t<=65055},"CJK Compatibility Forms":function(t){return t>=65072&&t<=65103},"Small Form Variants":function(t){return t>=65104&&t<=65135},"Arabic Presentation Forms-B":function(t){return t>=65136&&t<=65279},"Halfwidth and Fullwidth Forms":function(t){return t>=65280&&t<=65519}};function si(t){for(var e=0,r=t;e<r.length;e+=1)if(li(r[e].charCodeAt(0)))return!0;return!1}function li(t){return!(746!==t&&747!==t&&(t<4352||!(oi["Bopomofo Extended"](t)||oi.Bopomofo(t)||oi["CJK Compatibility Forms"](t)&&!(t>=65097&&t<=65103)||oi["CJK Compatibility Ideographs"](t)||oi["CJK Compatibility"](t)||oi["CJK Radicals Supplement"](t)||oi["CJK Strokes"](t)||!(!oi["CJK Symbols and Punctuation"](t)||t>=12296&&t<=12305||t>=12308&&t<=12319||12336===t)||oi["CJK Unified Ideographs Extension A"](t)||oi["CJK Unified Ideographs"](t)||oi["Enclosed CJK Letters and Months"](t)||oi["Hangul Compatibility Jamo"](t)||oi["Hangul Jamo Extended-A"](t)||oi["Hangul Jamo Extended-B"](t)||oi["Hangul Jamo"](t)||oi["Hangul Syllables"](t)||oi.Hiragana(t)||oi["Ideographic Description Characters"](t)||oi.Kanbun(t)||oi["Kangxi Radicals"](t)||oi["Katakana Phonetic Extensions"](t)||oi.Katakana(t)&&12540!==t||!(!oi["Halfwidth and Fullwidth Forms"](t)||65288===t||65289===t||65293===t||t>=65306&&t<=65310||65339===t||65341===t||65343===t||t>=65371&&t<=65503||65507===t||t>=65512&&t<=65519)||!(!oi["Small Form Variants"](t)||t>=65112&&t<=65118||t>=65123&&t<=65126)||oi["Unified Canadian Aboriginal Syllabics"](t)||oi["Unified Canadian Aboriginal Syllabics Extended"](t)||oi["Vertical Forms"](t)||oi["Yijing Hexagram Symbols"](t)||oi["Yi Syllables"](t)||oi["Yi Radicals"](t))))}function ui(t){return!(li(t)||function(t){return!!(oi["Latin-1 Supplement"](t)&&(167===t||169===t||174===t||177===t||188===t||189===t||190===t||215===t||247===t)||oi["General Punctuation"](t)&&(8214===t||8224===t||8225===t||8240===t||8241===t||8251===t||8252===t||8258===t||8263===t||8264===t||8265===t||8273===t)||oi["Letterlike Symbols"](t)||oi["Number Forms"](t)||oi["Miscellaneous Technical"](t)&&(t>=8960&&t<=8967||t>=8972&&t<=8991||t>=8996&&t<=9e3||9003===t||t>=9085&&t<=9114||t>=9150&&t<=9165||9167===t||t>=9169&&t<=9179||t>=9186&&t<=9215)||oi["Control Pictures"](t)&&9251!==t||oi["Optical Character Recognition"](t)||oi["Enclosed Alphanumerics"](t)||oi["Geometric Shapes"](t)||oi["Miscellaneous Symbols"](t)&&!(t>=9754&&t<=9759)||oi["Miscellaneous Symbols and Arrows"](t)&&(t>=11026&&t<=11055||t>=11088&&t<=11097||t>=11192&&t<=11243)||oi["CJK Symbols and Punctuation"](t)||oi.Katakana(t)||oi["Private Use Area"](t)||oi["CJK Compatibility Forms"](t)||oi["Small Form Variants"](t)||oi["Halfwidth and Fullwidth Forms"](t)||8734===t||8756===t||8757===t||t>=9984&&t<=10087||t>=10102&&t<=10131||65532===t||65533===t)}(t))}function ci(t){return oi.Arabic(t)||oi["Arabic Supplement"](t)||oi["Arabic Extended-A"](t)||oi["Arabic Presentation Forms-A"](t)||oi["Arabic Presentation Forms-B"](t)}function fi(t){return t>=1424&&t<=2303||oi["Arabic Presentation Forms-A"](t)||oi["Arabic Presentation Forms-B"](t)}function hi(t,e){return!(!e&&fi(t)||t>=2304&&t<=3583||t>=3840&&t<=4255||oi.Khmer(t))}function pi(t){for(var e=0,r=t;e<r.length;e+=1)if(fi(r[e].charCodeAt(0)))return!0;return!1}var di="deferred",vi="loading",gi="loaded",yi="error",mi=null,xi="unavailable",bi=null,_i=function(t){t&&"string"==typeof t&&t.indexOf("NetworkError")>-1&&(xi=yi),mi&&mi(t)};function wi(){Ti.fire(new Ct("pluginStateChange",{pluginStatus:xi,pluginURL:bi}))}var Ti=new Ot,ki=function(){return xi},Ai=function(){if(xi!==di||!bi)throw new Error("rtl-text-plugin cannot be downloaded unless a pluginURL is specified");xi=vi,wi(),bi&&Tt({url:bi},(function(t){t?_i(t):(xi=gi,wi())}))},Mi={applyArabicShaping:null,processBidirectionalText:null,processStyledBidirectionalText:null,isLoaded:function(){return xi===gi||null!=Mi.applyArabicShaping},isLoading:function(){return xi===vi},setState:function(t){xi=t.pluginStatus,bi=t.pluginURL},isParsed:function(){return null!=Mi.applyArabicShaping&&null!=Mi.processBidirectionalText&&null!=Mi.processStyledBidirectionalText},getPluginURL:function(){return bi}},Si=function(t,e){this.zoom=t,e?(this.now=e.now,this.fadeDuration=e.fadeDuration,this.zoomHistory=e.zoomHistory,this.transition=e.transition):(this.now=0,this.fadeDuration=0,this.zoomHistory=new ai,this.transition={})};Si.prototype.isSupportedScript=function(t){return function(t,e){for(var r=0,n=t;r<n.length;r+=1)if(!hi(n[r].charCodeAt(0),e))return!1;return!0}(t,Mi.isLoaded())},Si.prototype.crossFadingFactor=function(){return 0===this.fadeDuration?1:Math.min((this.now-this.zoomHistory.lastIntegerZoomTime)/this.fadeDuration,1)},Si.prototype.getCrossfadeParameters=function(){var t=this.zoom,e=t-Math.floor(t),r=this.crossFadingFactor();return t>this.zoomHistory.lastIntegerZoom?{fromScale:2,toScale:1,t:e+(1-e)*r}:{fromScale:.5,toScale:1,t:1-(1-r)*e}};var Ei=function(t,e){this.property=t,this.value=e,this.expression=function(t,e){if(Wr(t))return new un(t,e);if(nn(t)){var r=ln(t,e);if("error"===r.result)throw new Error(r.value.map((function(t){return t.key+": "+t.message})).join(", "));return r.value}var n=t;return"string"==typeof t&&"color"===e.type&&(n=ae.parse(t)),{kind:"constant",evaluate:function(){return n}}}(void 0===e?t.specification.default:e,t.specification)};Ei.prototype.isDataDriven=function(){return"source"===this.expression.kind||"composite"===this.expression.kind},Ei.prototype.possiblyEvaluate=function(t,e,r){return this.property.possiblyEvaluate(this,t,e,r)};var Li=function(t){this.property=t,this.value=new Ei(t,void 0)};Li.prototype.transitioned=function(t,e){return new Pi(this.property,this.value,e,f({},t.transition,this.transition),t.now)},Li.prototype.untransitioned=function(){return new Pi(this.property,this.value,null,{},0)};var Ci=function(t){this._properties=t,this._values=Object.create(t.defaultTransitionablePropertyValues)};Ci.prototype.getValue=function(t){return b(this._values[t].value.value)},Ci.prototype.setValue=function(t,e){this._values.hasOwnProperty(t)||(this._values[t]=new Li(this._values[t].property)),this._values[t].value=new Ei(this._values[t].property,null===e?void 0:b(e))},Ci.prototype.getTransition=function(t){return b(this._values[t].transition)},Ci.prototype.setTransition=function(t,e){this._values.hasOwnProperty(t)||(this._values[t]=new Li(this._values[t].property)),this._values[t].transition=b(e)||void 0},Ci.prototype.serialize=function(){for(var t={},e=0,r=Object.keys(this._values);e<r.length;e+=1){var n=r[e],i=this.getValue(n);void 0!==i&&(t[n]=i);var a=this.getTransition(n);void 0!==a&&(t[n+"-transition"]=a)}return t},Ci.prototype.transitioned=function(t,e){for(var r=new Oi(this._properties),n=0,i=Object.keys(this._values);n<i.length;n+=1){var a=i[n];r._values[a]=this._values[a].transitioned(t,e._values[a])}return r},Ci.prototype.untransitioned=function(){for(var t=new Oi(this._properties),e=0,r=Object.keys(this._values);e<r.length;e+=1){var n=r[e];t._values[n]=this._values[n].untransitioned()}return t};var Pi=function(t,e,r,n,i){this.property=t,this.value=e,this.begin=i+n.delay||0,this.end=this.begin+n.duration||0,t.specification.transition&&(n.delay||n.duration)&&(this.prior=r)};Pi.prototype.possiblyEvaluate=function(t,e,r){var n=t.now||0,i=this.value.possiblyEvaluate(t,e,r),a=this.prior;if(a){if(n>this.end)return this.prior=null,i;if(this.value.isDataDriven())return this.prior=null,i;if(n<this.begin)return a.possiblyEvaluate(t,e,r);var o=(n-this.begin)/(this.end-this.begin);return this.property.interpolate(a.possiblyEvaluate(t,e,r),i,function(t){if(t<=0)return 0;if(t>=1)return 1;var e=t*t,r=e*t;return 4*(t<.5?r:3*(t-e)+r-.75)}(o))}return i};var Oi=function(t){this._properties=t,this._values=Object.create(t.defaultTransitioningPropertyValues)};Oi.prototype.possiblyEvaluate=function(t,e,r){for(var n=new zi(this._properties),i=0,a=Object.keys(this._values);i<a.length;i+=1){var o=a[i];n._values[o]=this._values[o].possiblyEvaluate(t,e,r)}return n},Oi.prototype.hasTransition=function(){for(var t=0,e=Object.keys(this._values);t<e.length;t+=1){var r=e[t];if(this._values[r].prior)return!0}return!1};var Ii=function(t){this._properties=t,this._values=Object.create(t.defaultPropertyValues)};Ii.prototype.getValue=function(t){return b(this._values[t].value)},Ii.prototype.setValue=function(t,e){this._values[t]=new Ei(this._values[t].property,null===e?void 0:b(e))},Ii.prototype.serialize=function(){for(var t={},e=0,r=Object.keys(this._values);e<r.length;e+=1){var n=r[e],i=this.getValue(n);void 0!==i&&(t[n]=i)}return t},Ii.prototype.possiblyEvaluate=function(t,e,r){for(var n=new zi(this._properties),i=0,a=Object.keys(this._values);i<a.length;i+=1){var o=a[i];n._values[o]=this._values[o].possiblyEvaluate(t,e,r)}return n};var Di=function(t,e,r){this.property=t,this.value=e,this.parameters=r};Di.prototype.isConstant=function(){return"constant"===this.value.kind},Di.prototype.constantOr=function(t){return"constant"===this.value.kind?this.value.value:t},Di.prototype.evaluate=function(t,e,r,n){return this.property.evaluate(this.value,this.parameters,t,e,r,n)};var zi=function(t){this._properties=t,this._values=Object.create(t.defaultPossiblyEvaluatedValues)};zi.prototype.get=function(t){return this._values[t]};var Ri=function(t){this.specification=t};Ri.prototype.possiblyEvaluate=function(t,e){return t.expression.evaluate(e)},Ri.prototype.interpolate=function(t,e,r){var n=$e[this.specification.type];return n?n(t,e,r):t};var Fi=function(t,e){this.specification=t,this.overrides=e};Fi.prototype.possiblyEvaluate=function(t,e,r,n){return"constant"===t.expression.kind||"camera"===t.expression.kind?new Di(this,{kind:"constant",value:t.expression.evaluate(e,null,{},r,n)},e):new Di(this,t.expression,e)},Fi.prototype.interpolate=function(t,e,r){if("constant"!==t.value.kind||"constant"!==e.value.kind)return t;if(void 0===t.value.value||void 0===e.value.value)return new Di(this,{kind:"constant",value:void 0},t.parameters);var n=$e[this.specification.type];return n?new Di(this,{kind:"constant",value:n(t.value.value,e.value.value,r)},t.parameters):t},Fi.prototype.evaluate=function(t,e,r,n,i,a){return"constant"===t.kind?t.value:t.evaluate(e,r,n,i,a)};var Bi=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.possiblyEvaluate=function(t,e,r,n){if(void 0===t.value)return new Di(this,{kind:"constant",value:void 0},e);if("constant"===t.expression.kind){var i=t.expression.evaluate(e,null,{},r,n),a="resolvedImage"===t.property.specification.type&&"string"!=typeof i?i.name:i,o=this._calculate(a,a,a,e);return new Di(this,{kind:"constant",value:o},e)}if("camera"===t.expression.kind){var s=this._calculate(t.expression.evaluate({zoom:e.zoom-1}),t.expression.evaluate({zoom:e.zoom}),t.expression.evaluate({zoom:e.zoom+1}),e);return new Di(this,{kind:"constant",value:s},e)}return new Di(this,t.expression,e)},e.prototype.evaluate=function(t,e,r,n,i,a){if("source"===t.kind){var o=t.evaluate(e,r,n,i,a);return this._calculate(o,o,o,e)}return"composite"===t.kind?this._calculate(t.evaluate({zoom:Math.floor(e.zoom)-1},r,n),t.evaluate({zoom:Math.floor(e.zoom)},r,n),t.evaluate({zoom:Math.floor(e.zoom)+1},r,n),e):t.value},e.prototype._calculate=function(t,e,r,n){return n.zoom>n.zoomHistory.lastIntegerZoom?{from:t,to:e}:{from:r,to:e}},e.prototype.interpolate=function(t){return t},e}(Fi),Ni=function(t){this.specification=t};Ni.prototype.possiblyEvaluate=function(t,e,r,n){if(void 0!==t.value){if("constant"===t.expression.kind){var i=t.expression.evaluate(e,null,{},r,n);return this._calculate(i,i,i,e)}return this._calculate(t.expression.evaluate(new Si(Math.floor(e.zoom-1),e)),t.expression.evaluate(new Si(Math.floor(e.zoom),e)),t.expression.evaluate(new Si(Math.floor(e.zoom+1),e)),e)}},Ni.prototype._calculate=function(t,e,r,n){return n.zoom>n.zoomHistory.lastIntegerZoom?{from:t,to:e}:{from:r,to:e}},Ni.prototype.interpolate=function(t){return t};var ji=function(t){this.specification=t};ji.prototype.possiblyEvaluate=function(t,e,r,n){return!!t.expression.evaluate(e,null,{},r,n)},ji.prototype.interpolate=function(){return!1};var Ui=function(t){for(var e in this.properties=t,this.defaultPropertyValues={},this.defaultTransitionablePropertyValues={},this.defaultTransitioningPropertyValues={},this.defaultPossiblyEvaluatedValues={},this.overridableProperties=[],t){var r=t[e];r.specification.overridable&&this.overridableProperties.push(e);var n=this.defaultPropertyValues[e]=new Ei(r,void 0),i=this.defaultTransitionablePropertyValues[e]=new Li(r);this.defaultTransitioningPropertyValues[e]=i.untransitioned(),this.defaultPossiblyEvaluatedValues[e]=n.possiblyEvaluate({})}};Qn("DataDrivenProperty",Fi),Qn("DataConstantProperty",Ri),Qn("CrossFadedDataDrivenProperty",Bi),Qn("CrossFadedProperty",Ni),Qn("ColorRampProperty",ji);var Vi="-transition",Hi=function(t){function e(e,r){if(t.call(this),this.id=e.id,this.type=e.type,this._featureFilter={filter:function(){return!0},needGeometry:!1},"custom"!==e.type&&(this.metadata=e.metadata,this.minzoom=e.minzoom,this.maxzoom=e.maxzoom,"background"!==e.type&&(this.source=e.source,this.sourceLayer=e["source-layer"],this.filter=e.filter),r.layout&&(this._unevaluatedLayout=new Ii(r.layout)),r.paint)){for(var n in this._transitionablePaint=new Ci(r.paint),e.paint)this.setPaintProperty(n,e.paint[n],{validate:!1});for(var i in e.layout)this.setLayoutProperty(i,e.layout[i],{validate:!1});this._transitioningPaint=this._transitionablePaint.untransitioned(),this.paint=new zi(r.paint)}}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getCrossfadeParameters=function(){return this._crossfadeParameters},e.prototype.getLayoutProperty=function(t){return"visibility"===t?this.visibility:this._unevaluatedLayout.getValue(t)},e.prototype.setLayoutProperty=function(t,e,r){if(void 0===r&&(r={}),null!=e){var n="layers."+this.id+".layout."+t;if(this._validate(Zn,n,t,e,r))return}"visibility"!==t?this._unevaluatedLayout.setValue(t,e):this.visibility=e},e.prototype.getPaintProperty=function(t){return y(t,Vi)?this._transitionablePaint.getTransition(t.slice(0,-Vi.length)):this._transitionablePaint.getValue(t)},e.prototype.setPaintProperty=function(t,e,r){if(void 0===r&&(r={}),null!=e){var n="layers."+this.id+".paint."+t;if(this._validate(Gn,n,t,e,r))return!1}if(y(t,Vi))return this._transitionablePaint.setTransition(t.slice(0,-Vi.length),e||void 0),!1;var i=this._transitionablePaint._values[t],a="cross-faded-data-driven"===i.property.specification["property-type"],o=i.value.isDataDriven(),s=i.value;this._transitionablePaint.setValue(t,e),this._handleSpecialPaintPropertyUpdate(t);var l=this._transitionablePaint._values[t].value;return l.isDataDriven()||o||a||this._handleOverridablePaintPropertyUpdate(t,s,l)},e.prototype._handleSpecialPaintPropertyUpdate=function(t){},e.prototype._handleOverridablePaintPropertyUpdate=function(t,e,r){return!1},e.prototype.isHidden=function(t){return!!(this.minzoom&&t<this.minzoom)||!!(this.maxzoom&&t>=this.maxzoom)||"none"===this.visibility},e.prototype.updateTransitions=function(t){this._transitioningPaint=this._transitionablePaint.transitioned(t,this._transitioningPaint)},e.prototype.hasTransition=function(){return this._transitioningPaint.hasTransition()},e.prototype.recalculate=function(t,e){t.getCrossfadeParameters&&(this._crossfadeParameters=t.getCrossfadeParameters()),this._unevaluatedLayout&&(this.layout=this._unevaluatedLayout.possiblyEvaluate(t,void 0,e)),this.paint=this._transitioningPaint.possiblyEvaluate(t,void 0,e)},e.prototype.serialize=function(){var t={id:this.id,type:this.type,source:this.source,"source-layer":this.sourceLayer,metadata:this.metadata,minzoom:this.minzoom,maxzoom:this.maxzoom,filter:this.filter,layout:this._unevaluatedLayout&&this._unevaluatedLayout.serialize(),paint:this._transitionablePaint&&this._transitionablePaint.serialize()};return this.visibility&&(t.layout=t.layout||{},t.layout.visibility=this.visibility),x(t,(function(t,e){return!(void 0===t||"layout"===e&&!Object.keys(t).length||"paint"===e&&!Object.keys(t).length)}))},e.prototype._validate=function(t,e,r,n,i){return void 0===i&&(i={}),(!i||!1!==i.validate)&&Yn(this,t.call(Hn,{key:e,layerType:this.type,objectKey:r,value:n,styleSpec:It,style:{glyphs:!0,sprite:!0}}))},e.prototype.is3D=function(){return!1},e.prototype.isTileClipped=function(){return!1},e.prototype.hasOffscreenPass=function(){return!1},e.prototype.resize=function(){},e.prototype.isStateDependent=function(){for(var t in this.paint._values){var e=this.paint.get(t);if(e instanceof Di&&qr(e.property.specification)&&("source"===e.value.kind||"composite"===e.value.kind)&&e.value.isStateDependent)return!0}return!1},e}(Ot),qi={Int8:Int8Array,Uint8:Uint8Array,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array},Gi=function(t,e){this._structArray=t,this._pos1=e*this.size,this._pos2=this._pos1/2,this._pos4=this._pos1/4,this._pos8=this._pos1/8},Zi=function(){this.isTransferred=!1,this.capacity=-1,this.resize(0)};function Yi(t,e){void 0===e&&(e=1);var r=0,n=0;return{members:t.map((function(t){var i,a=(i=t.type,qi[i].BYTES_PER_ELEMENT),o=r=Wi(r,Math.max(e,a)),s=t.components||1;return n=Math.max(n,a),r+=a*s,{name:t.name,type:t.type,components:s,offset:o}})),size:Wi(r,Math.max(n,e)),alignment:e}}function Wi(t,e){return Math.ceil(t/e)*e}Zi.serialize=function(t,e){return t._trim(),e&&(t.isTransferred=!0,e.push(t.arrayBuffer)),{length:t.length,arrayBuffer:t.arrayBuffer}},Zi.deserialize=function(t){var e=Object.create(this.prototype);return e.arrayBuffer=t.arrayBuffer,e.length=t.length,e.capacity=t.arrayBuffer.byteLength/e.bytesPerElement,e._refreshViews(),e},Zi.prototype._trim=function(){this.length!==this.capacity&&(this.capacity=this.length,this.arrayBuffer=this.arrayBuffer.slice(0,this.length*this.bytesPerElement),this._refreshViews())},Zi.prototype.clear=function(){this.length=0},Zi.prototype.resize=function(t){this.reserve(t),this.length=t},Zi.prototype.reserve=function(t){if(t>this.capacity){this.capacity=Math.max(t,Math.floor(5*this.capacity),128),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);var e=this.uint8;this._refreshViews(),e&&this.uint8.set(e)}},Zi.prototype._refreshViews=function(){throw new Error("_refreshViews() must be implemented by each concrete StructArray layout")};var Xi=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e){var r=this.length;return this.resize(r+1),this.emplace(r,t,e)},e.prototype.emplace=function(t,e,r){var n=2*t;return this.int16[n+0]=e,this.int16[n+1]=r,t},e}(Zi);Xi.prototype.bytesPerElement=4,Qn("StructArrayLayout2i4",Xi);var Ji=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n){var i=this.length;return this.resize(i+1),this.emplace(i,t,e,r,n)},e.prototype.emplace=function(t,e,r,n,i){var a=4*t;return this.int16[a+0]=e,this.int16[a+1]=r,this.int16[a+2]=n,this.int16[a+3]=i,t},e}(Zi);Ji.prototype.bytesPerElement=8,Qn("StructArrayLayout4i8",Ji);var Ki=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a){var o=this.length;return this.resize(o+1),this.emplace(o,t,e,r,n,i,a)},e.prototype.emplace=function(t,e,r,n,i,a,o){var s=6*t;return this.int16[s+0]=e,this.int16[s+1]=r,this.int16[s+2]=n,this.int16[s+3]=i,this.int16[s+4]=a,this.int16[s+5]=o,t},e}(Zi);Ki.prototype.bytesPerElement=12,Qn("StructArrayLayout2i4i12",Ki);var $i=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a){var o=this.length;return this.resize(o+1),this.emplace(o,t,e,r,n,i,a)},e.prototype.emplace=function(t,e,r,n,i,a,o){var s=4*t,l=8*t;return this.int16[s+0]=e,this.int16[s+1]=r,this.uint8[l+4]=n,this.uint8[l+5]=i,this.uint8[l+6]=a,this.uint8[l+7]=o,t},e}(Zi);$i.prototype.bytesPerElement=8,Qn("StructArrayLayout2i4ub8",$i);var Qi=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a,o,s,l,u){var c=this.length;return this.resize(c+1),this.emplace(c,t,e,r,n,i,a,o,s,l,u)},e.prototype.emplace=function(t,e,r,n,i,a,o,s,l,u,c){var f=9*t,h=18*t;return this.uint16[f+0]=e,this.uint16[f+1]=r,this.uint16[f+2]=n,this.uint16[f+3]=i,this.uint16[f+4]=a,this.uint16[f+5]=o,this.uint16[f+6]=s,this.uint16[f+7]=l,this.uint8[h+16]=u,this.uint8[h+17]=c,t},e}(Zi);Qi.prototype.bytesPerElement=18,Qn("StructArrayLayout8ui2ub18",Qi);var ta=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a,o,s,l,u,c,f){var h=this.length;return this.resize(h+1),this.emplace(h,t,e,r,n,i,a,o,s,l,u,c,f)},e.prototype.emplace=function(t,e,r,n,i,a,o,s,l,u,c,f,h){var p=12*t;return this.int16[p+0]=e,this.int16[p+1]=r,this.int16[p+2]=n,this.int16[p+3]=i,this.uint16[p+4]=a,this.uint16[p+5]=o,this.uint16[p+6]=s,this.uint16[p+7]=l,this.int16[p+8]=u,this.int16[p+9]=c,this.int16[p+10]=f,this.int16[p+11]=h,t},e}(Zi);ta.prototype.bytesPerElement=24,Qn("StructArrayLayout4i4ui4i24",ta);var ea=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r){var n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)},e.prototype.emplace=function(t,e,r,n){var i=3*t;return this.float32[i+0]=e,this.float32[i+1]=r,this.float32[i+2]=n,t},e}(Zi);ea.prototype.bytesPerElement=12,Qn("StructArrayLayout3f12",ea);var ra=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t){var e=this.length;return this.resize(e+1),this.emplace(e,t)},e.prototype.emplace=function(t,e){var r=1*t;return this.uint32[r+0]=e,t},e}(Zi);ra.prototype.bytesPerElement=4,Qn("StructArrayLayout1ul4",ra);var na=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a,o,s,l){var u=this.length;return this.resize(u+1),this.emplace(u,t,e,r,n,i,a,o,s,l)},e.prototype.emplace=function(t,e,r,n,i,a,o,s,l,u){var c=10*t,f=5*t;return this.int16[c+0]=e,this.int16[c+1]=r,this.int16[c+2]=n,this.int16[c+3]=i,this.int16[c+4]=a,this.int16[c+5]=o,this.uint32[f+3]=s,this.uint16[c+8]=l,this.uint16[c+9]=u,t},e}(Zi);na.prototype.bytesPerElement=20,Qn("StructArrayLayout6i1ul2ui20",na);var ia=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a){var o=this.length;return this.resize(o+1),this.emplace(o,t,e,r,n,i,a)},e.prototype.emplace=function(t,e,r,n,i,a,o){var s=6*t;return this.int16[s+0]=e,this.int16[s+1]=r,this.int16[s+2]=n,this.int16[s+3]=i,this.int16[s+4]=a,this.int16[s+5]=o,t},e}(Zi);ia.prototype.bytesPerElement=12,Qn("StructArrayLayout2i2i2i12",ia);var aa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i){var a=this.length;return this.resize(a+1),this.emplace(a,t,e,r,n,i)},e.prototype.emplace=function(t,e,r,n,i,a){var o=4*t,s=8*t;return this.float32[o+0]=e,this.float32[o+1]=r,this.float32[o+2]=n,this.int16[s+6]=i,this.int16[s+7]=a,t},e}(Zi);aa.prototype.bytesPerElement=16,Qn("StructArrayLayout2f1f2i16",aa);var oa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n){var i=this.length;return this.resize(i+1),this.emplace(i,t,e,r,n)},e.prototype.emplace=function(t,e,r,n,i){var a=12*t,o=3*t;return this.uint8[a+0]=e,this.uint8[a+1]=r,this.float32[o+1]=n,this.float32[o+2]=i,t},e}(Zi);oa.prototype.bytesPerElement=12,Qn("StructArrayLayout2ub2f12",oa);var sa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r){var n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)},e.prototype.emplace=function(t,e,r,n){var i=3*t;return this.uint16[i+0]=e,this.uint16[i+1]=r,this.uint16[i+2]=n,t},e}(Zi);sa.prototype.bytesPerElement=6,Qn("StructArrayLayout3ui6",sa);var la=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a,o,s,l,u,c,f,h,p,d,v,g){var y=this.length;return this.resize(y+1),this.emplace(y,t,e,r,n,i,a,o,s,l,u,c,f,h,p,d,v,g)},e.prototype.emplace=function(t,e,r,n,i,a,o,s,l,u,c,f,h,p,d,v,g,y){var m=24*t,x=12*t,b=48*t;return this.int16[m+0]=e,this.int16[m+1]=r,this.uint16[m+2]=n,this.uint16[m+3]=i,this.uint32[x+2]=a,this.uint32[x+3]=o,this.uint32[x+4]=s,this.uint16[m+10]=l,this.uint16[m+11]=u,this.uint16[m+12]=c,this.float32[x+7]=f,this.float32[x+8]=h,this.uint8[b+36]=p,this.uint8[b+37]=d,this.uint8[b+38]=v,this.uint32[x+10]=g,this.int16[m+22]=y,t},e}(Zi);la.prototype.bytesPerElement=48,Qn("StructArrayLayout2i2ui3ul3ui2f3ub1ul1i48",la);var ua=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a,o,s,l,u,c,f,h,p,d,v,g,y,m,x,b,_,w,T,k,A,M,S){var E=this.length;return this.resize(E+1),this.emplace(E,t,e,r,n,i,a,o,s,l,u,c,f,h,p,d,v,g,y,m,x,b,_,w,T,k,A,M,S)},e.prototype.emplace=function(t,e,r,n,i,a,o,s,l,u,c,f,h,p,d,v,g,y,m,x,b,_,w,T,k,A,M,S,E){var L=34*t,C=17*t;return this.int16[L+0]=e,this.int16[L+1]=r,this.int16[L+2]=n,this.int16[L+3]=i,this.int16[L+4]=a,this.int16[L+5]=o,this.int16[L+6]=s,this.int16[L+7]=l,this.uint16[L+8]=u,this.uint16[L+9]=c,this.uint16[L+10]=f,this.uint16[L+11]=h,this.uint16[L+12]=p,this.uint16[L+13]=d,this.uint16[L+14]=v,this.uint16[L+15]=g,this.uint16[L+16]=y,this.uint16[L+17]=m,this.uint16[L+18]=x,this.uint16[L+19]=b,this.uint16[L+20]=_,this.uint16[L+21]=w,this.uint16[L+22]=T,this.uint32[C+12]=k,this.float32[C+13]=A,this.float32[C+14]=M,this.float32[C+15]=S,this.float32[C+16]=E,t},e}(Zi);ua.prototype.bytesPerElement=68,Qn("StructArrayLayout8i15ui1ul4f68",ua);var ca=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t){var e=this.length;return this.resize(e+1),this.emplace(e,t)},e.prototype.emplace=function(t,e){var r=1*t;return this.float32[r+0]=e,t},e}(Zi);ca.prototype.bytesPerElement=4,Qn("StructArrayLayout1f4",ca);var fa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r){var n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)},e.prototype.emplace=function(t,e,r,n){var i=3*t;return this.int16[i+0]=e,this.int16[i+1]=r,this.int16[i+2]=n,t},e}(Zi);fa.prototype.bytesPerElement=6,Qn("StructArrayLayout3i6",fa);var ha=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r){var n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)},e.prototype.emplace=function(t,e,r,n){var i=2*t,a=4*t;return this.uint32[i+0]=e,this.uint16[a+2]=r,this.uint16[a+3]=n,t},e}(Zi);ha.prototype.bytesPerElement=8,Qn("StructArrayLayout1ul2ui8",ha);var pa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e){var r=this.length;return this.resize(r+1),this.emplace(r,t,e)},e.prototype.emplace=function(t,e,r){var n=2*t;return this.uint16[n+0]=e,this.uint16[n+1]=r,t},e}(Zi);pa.prototype.bytesPerElement=4,Qn("StructArrayLayout2ui4",pa);var da=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t){var e=this.length;return this.resize(e+1),this.emplace(e,t)},e.prototype.emplace=function(t,e){var r=1*t;return this.uint16[r+0]=e,t},e}(Zi);da.prototype.bytesPerElement=2,Qn("StructArrayLayout1ui2",da);var va=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e){var r=this.length;return this.resize(r+1),this.emplace(r,t,e)},e.prototype.emplace=function(t,e,r){var n=2*t;return this.float32[n+0]=e,this.float32[n+1]=r,t},e}(Zi);va.prototype.bytesPerElement=8,Qn("StructArrayLayout2f8",va);var ga=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n){var i=this.length;return this.resize(i+1),this.emplace(i,t,e,r,n)},e.prototype.emplace=function(t,e,r,n,i){var a=4*t;return this.float32[a+0]=e,this.float32[a+1]=r,this.float32[a+2]=n,this.float32[a+3]=i,t},e}(Zi);ga.prototype.bytesPerElement=16,Qn("StructArrayLayout4f16",ga);var ya=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={anchorPointX:{configurable:!0},anchorPointY:{configurable:!0},x1:{configurable:!0},y1:{configurable:!0},x2:{configurable:!0},y2:{configurable:!0},featureIndex:{configurable:!0},sourceLayerIndex:{configurable:!0},bucketIndex:{configurable:!0},anchorPoint:{configurable:!0}};return r.anchorPointX.get=function(){return this._structArray.int16[this._pos2+0]},r.anchorPointY.get=function(){return this._structArray.int16[this._pos2+1]},r.x1.get=function(){return this._structArray.int16[this._pos2+2]},r.y1.get=function(){return this._structArray.int16[this._pos2+3]},r.x2.get=function(){return this._structArray.int16[this._pos2+4]},r.y2.get=function(){return this._structArray.int16[this._pos2+5]},r.featureIndex.get=function(){return this._structArray.uint32[this._pos4+3]},r.sourceLayerIndex.get=function(){return this._structArray.uint16[this._pos2+8]},r.bucketIndex.get=function(){return this._structArray.uint16[this._pos2+9]},r.anchorPoint.get=function(){return new a(this.anchorPointX,this.anchorPointY)},Object.defineProperties(e.prototype,r),e}(Gi);ya.prototype.size=20;var ma=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.get=function(t){return new ya(this,t)},e}(na);Qn("CollisionBoxArray",ma);var xa=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={anchorX:{configurable:!0},anchorY:{configurable:!0},glyphStartIndex:{configurable:!0},numGlyphs:{configurable:!0},vertexStartIndex:{configurable:!0},lineStartIndex:{configurable:!0},lineLength:{configurable:!0},segment:{configurable:!0},lowerSize:{configurable:!0},upperSize:{configurable:!0},lineOffsetX:{configurable:!0},lineOffsetY:{configurable:!0},writingMode:{configurable:!0},placedOrientation:{configurable:!0},hidden:{configurable:!0},crossTileID:{configurable:!0},associatedIconIndex:{configurable:!0}};return r.anchorX.get=function(){return this._structArray.int16[this._pos2+0]},r.anchorY.get=function(){return this._structArray.int16[this._pos2+1]},r.glyphStartIndex.get=function(){return this._structArray.uint16[this._pos2+2]},r.numGlyphs.get=function(){return this._structArray.uint16[this._pos2+3]},r.vertexStartIndex.get=function(){return this._structArray.uint32[this._pos4+2]},r.lineStartIndex.get=function(){return this._structArray.uint32[this._pos4+3]},r.lineLength.get=function(){return this._structArray.uint32[this._pos4+4]},r.segment.get=function(){return this._structArray.uint16[this._pos2+10]},r.lowerSize.get=function(){return this._structArray.uint16[this._pos2+11]},r.upperSize.get=function(){return this._structArray.uint16[this._pos2+12]},r.lineOffsetX.get=function(){return this._structArray.float32[this._pos4+7]},r.lineOffsetY.get=function(){return this._structArray.float32[this._pos4+8]},r.writingMode.get=function(){return this._structArray.uint8[this._pos1+36]},r.placedOrientation.get=function(){return this._structArray.uint8[this._pos1+37]},r.placedOrientation.set=function(t){this._structArray.uint8[this._pos1+37]=t},r.hidden.get=function(){return this._structArray.uint8[this._pos1+38]},r.hidden.set=function(t){this._structArray.uint8[this._pos1+38]=t},r.crossTileID.get=function(){return this._structArray.uint32[this._pos4+10]},r.crossTileID.set=function(t){this._structArray.uint32[this._pos4+10]=t},r.associatedIconIndex.get=function(){return this._structArray.int16[this._pos2+22]},Object.defineProperties(e.prototype,r),e}(Gi);xa.prototype.size=48;var ba=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.get=function(t){return new xa(this,t)},e}(la);Qn("PlacedSymbolArray",ba);var _a=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={anchorX:{configurable:!0},anchorY:{configurable:!0},rightJustifiedTextSymbolIndex:{configurable:!0},centerJustifiedTextSymbolIndex:{configurable:!0},leftJustifiedTextSymbolIndex:{configurable:!0},verticalPlacedTextSymbolIndex:{configurable:!0},placedIconSymbolIndex:{configurable:!0},verticalPlacedIconSymbolIndex:{configurable:!0},key:{configurable:!0},textBoxStartIndex:{configurable:!0},textBoxEndIndex:{configurable:!0},verticalTextBoxStartIndex:{configurable:!0},verticalTextBoxEndIndex:{configurable:!0},iconBoxStartIndex:{configurable:!0},iconBoxEndIndex:{configurable:!0},verticalIconBoxStartIndex:{configurable:!0},verticalIconBoxEndIndex:{configurable:!0},featureIndex:{configurable:!0},numHorizontalGlyphVertices:{configurable:!0},numVerticalGlyphVertices:{configurable:!0},numIconVertices:{configurable:!0},numVerticalIconVertices:{configurable:!0},useRuntimeCollisionCircles:{configurable:!0},crossTileID:{configurable:!0},textBoxScale:{configurable:!0},textOffset0:{configurable:!0},textOffset1:{configurable:!0},collisionCircleDiameter:{configurable:!0}};return r.anchorX.get=function(){return this._structArray.int16[this._pos2+0]},r.anchorY.get=function(){return this._structArray.int16[this._pos2+1]},r.rightJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+2]},r.centerJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+3]},r.leftJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+4]},r.verticalPlacedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+5]},r.placedIconSymbolIndex.get=function(){return this._structArray.int16[this._pos2+6]},r.verticalPlacedIconSymbolIndex.get=function(){return this._structArray.int16[this._pos2+7]},r.key.get=function(){return this._structArray.uint16[this._pos2+8]},r.textBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+9]},r.textBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+10]},r.verticalTextBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+11]},r.verticalTextBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+12]},r.iconBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+13]},r.iconBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+14]},r.verticalIconBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+15]},r.verticalIconBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+16]},r.featureIndex.get=function(){return this._structArray.uint16[this._pos2+17]},r.numHorizontalGlyphVertices.get=function(){return this._structArray.uint16[this._pos2+18]},r.numVerticalGlyphVertices.get=function(){return this._structArray.uint16[this._pos2+19]},r.numIconVertices.get=function(){return this._structArray.uint16[this._pos2+20]},r.numVerticalIconVertices.get=function(){return this._structArray.uint16[this._pos2+21]},r.useRuntimeCollisionCircles.get=function(){return this._structArray.uint16[this._pos2+22]},r.crossTileID.get=function(){return this._structArray.uint32[this._pos4+12]},r.crossTileID.set=function(t){this._structArray.uint32[this._pos4+12]=t},r.textBoxScale.get=function(){return this._structArray.float32[this._pos4+13]},r.textOffset0.get=function(){return this._structArray.float32[this._pos4+14]},r.textOffset1.get=function(){return this._structArray.float32[this._pos4+15]},r.collisionCircleDiameter.get=function(){return this._structArray.float32[this._pos4+16]},Object.defineProperties(e.prototype,r),e}(Gi);_a.prototype.size=68;var wa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.get=function(t){return new _a(this,t)},e}(ua);Qn("SymbolInstanceArray",wa);var Ta=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getoffsetX=function(t){return this.float32[1*t+0]},e}(ca);Qn("GlyphOffsetArray",Ta);var ka=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getx=function(t){return this.int16[3*t+0]},e.prototype.gety=function(t){return this.int16[3*t+1]},e.prototype.gettileUnitDistanceFromAnchor=function(t){return this.int16[3*t+2]},e}(fa);Qn("SymbolLineVertexArray",ka);var Aa=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={featureIndex:{configurable:!0},sourceLayerIndex:{configurable:!0},bucketIndex:{configurable:!0}};return r.featureIndex.get=function(){return this._structArray.uint32[this._pos4+0]},r.sourceLayerIndex.get=function(){return this._structArray.uint16[this._pos2+2]},r.bucketIndex.get=function(){return this._structArray.uint16[this._pos2+3]},Object.defineProperties(e.prototype,r),e}(Gi);Aa.prototype.size=8;var Ma=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.get=function(t){return new Aa(this,t)},e}(ha);Qn("FeatureIndexArray",Ma);var Sa=Yi([{name:"a_pos",components:2,type:"Int16"}],4).members,Ea=function(t){void 0===t&&(t=[]),this.segments=t};function La(t,e){return 256*(t=u(Math.floor(t),0,255))+u(Math.floor(e),0,255)}Ea.prototype.prepareSegment=function(t,e,r,n){var i=this.segments[this.segments.length-1];return t>Ea.MAX_VERTEX_ARRAY_LENGTH&&w("Max vertices per segment is "+Ea.MAX_VERTEX_ARRAY_LENGTH+": bucket requested "+t),(!i||i.vertexLength+t>Ea.MAX_VERTEX_ARRAY_LENGTH||i.sortKey!==n)&&(i={vertexOffset:e.length,primitiveOffset:r.length,vertexLength:0,primitiveLength:0},void 0!==n&&(i.sortKey=n),this.segments.push(i)),i},Ea.prototype.get=function(){return this.segments},Ea.prototype.destroy=function(){for(var t=0,e=this.segments;t<e.length;t+=1){var r=e[t];for(var n in r.vaos)r.vaos[n].destroy()}},Ea.simpleSegment=function(t,e,r,n){return new Ea([{vertexOffset:t,primitiveOffset:e,vertexLength:r,primitiveLength:n,vaos:{},sortKey:0}])},Ea.MAX_VERTEX_ARRAY_LENGTH=Math.pow(2,16)-1,Qn("SegmentVector",Ea);var Ca=Yi([{name:"a_pattern_from",components:4,type:"Uint16"},{name:"a_pattern_to",components:4,type:"Uint16"},{name:"a_pixel_ratio_from",components:1,type:"Uint8"},{name:"a_pixel_ratio_to",components:1,type:"Uint8"}]),Pa=e((function(t){t.exports=function(t,e){var r,n,i,a,o,s,l,u;for(r=3&t.length,n=t.length-r,i=e,o=3432918353,s=461845907,u=0;u<n;)l=255&t.charCodeAt(u)|(255&t.charCodeAt(++u))<<8|(255&t.charCodeAt(++u))<<16|(255&t.charCodeAt(++u))<<24,++u,i=27492+(65535&(a=5*(65535&(i=(i^=l=(65535&(l=(l=(65535&l)*o+(((l>>>16)*o&65535)<<16)&4294967295)<<15|l>>>17))*s+(((l>>>16)*s&65535)<<16)&4294967295)<<13|i>>>19))+((5*(i>>>16)&65535)<<16)&4294967295))+((58964+(a>>>16)&65535)<<16);switch(l=0,r){case 3:l^=(255&t.charCodeAt(u+2))<<16;case 2:l^=(255&t.charCodeAt(u+1))<<8;case 1:i^=l=(65535&(l=(l=(65535&(l^=255&t.charCodeAt(u)))*o+(((l>>>16)*o&65535)<<16)&4294967295)<<15|l>>>17))*s+(((l>>>16)*s&65535)<<16)&4294967295}return i^=t.length,i=2246822507*(65535&(i^=i>>>16))+((2246822507*(i>>>16)&65535)<<16)&4294967295,i=3266489909*(65535&(i^=i>>>13))+((3266489909*(i>>>16)&65535)<<16)&4294967295,(i^=i>>>16)>>>0}})),Oa=e((function(t){t.exports=function(t,e){for(var r,n=t.length,i=e^n,a=0;n>=4;)r=1540483477*(65535&(r=255&t.charCodeAt(a)|(255&t.charCodeAt(++a))<<8|(255&t.charCodeAt(++a))<<16|(255&t.charCodeAt(++a))<<24))+((1540483477*(r>>>16)&65535)<<16),i=1540483477*(65535&i)+((1540483477*(i>>>16)&65535)<<16)^(r=1540483477*(65535&(r^=r>>>24))+((1540483477*(r>>>16)&65535)<<16)),n-=4,++a;switch(n){case 3:i^=(255&t.charCodeAt(a+2))<<16;case 2:i^=(255&t.charCodeAt(a+1))<<8;case 1:i=1540483477*(65535&(i^=255&t.charCodeAt(a)))+((1540483477*(i>>>16)&65535)<<16)}return i=1540483477*(65535&(i^=i>>>13))+((1540483477*(i>>>16)&65535)<<16),(i^=i>>>15)>>>0}})),Ia=Pa,Da=Pa,za=Oa;Ia.murmur3=Da,Ia.murmur2=za;var Ra=function(){this.ids=[],this.positions=[],this.indexed=!1};Ra.prototype.add=function(t,e,r,n){this.ids.push(Ba(t)),this.positions.push(e,r,n)},Ra.prototype.getPositions=function(t){for(var e=Ba(t),r=0,n=this.ids.length-1;r<n;){var i=r+n>>1;this.ids[i]>=e?n=i:r=i+1}for(var a=[];this.ids[r]===e;){var o=this.positions[3*r],s=this.positions[3*r+1],l=this.positions[3*r+2];a.push({index:o,start:s,end:l}),r++}return a},Ra.serialize=function(t,e){var r=new Float64Array(t.ids),n=new Uint32Array(t.positions);return Na(r,n,0,r.length-1),e&&e.push(r.buffer,n.buffer),{ids:r,positions:n}},Ra.deserialize=function(t){var e=new Ra;return e.ids=t.ids,e.positions=t.positions,e.indexed=!0,e};var Fa=Math.pow(2,53)-1;function Ba(t){var e=+t;return!isNaN(e)&&e<=Fa?e:Ia(String(t))}function Na(t,e,r,n){for(;r<n;){for(var i=t[r+n>>1],a=r-1,o=n+1;;){do{a++}while(t[a]<i);do{o--}while(t[o]>i);if(a>=o)break;ja(t,a,o),ja(e,3*a,3*o),ja(e,3*a+1,3*o+1),ja(e,3*a+2,3*o+2)}o-r<n-o?(Na(t,e,r,o),r=o+1):(Na(t,e,o+1,n),n=o)}}function ja(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}Qn("FeaturePositionMap",Ra);var Ua=function(t,e){this.gl=t.gl,this.location=e},Va=function(t){function e(e,r){t.call(this,e,r),this.current=0}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.set=function(t){this.current!==t&&(this.current=t,this.gl.uniform1i(this.location,t))},e}(Ua),Ha=function(t){function e(e,r){t.call(this,e,r),this.current=0}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.set=function(t){this.current!==t&&(this.current=t,this.gl.uniform1f(this.location,t))},e}(Ua),qa=function(t){function e(e,r){t.call(this,e,r),this.current=[0,0]}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.set=function(t){t[0]===this.current[0]&&t[1]===this.current[1]||(this.current=t,this.gl.uniform2f(this.location,t[0],t[1]))},e}(Ua),Ga=function(t){function e(e,r){t.call(this,e,r),this.current=[0,0,0]}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.set=function(t){t[0]===this.current[0]&&t[1]===this.current[1]&&t[2]===this.current[2]||(this.current=t,this.gl.uniform3f(this.location,t[0],t[1],t[2]))},e}(Ua),Za=function(t){function e(e,r){t.call(this,e,r),this.current=[0,0,0,0]}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.set=function(t){t[0]===this.current[0]&&t[1]===this.current[1]&&t[2]===this.current[2]&&t[3]===this.current[3]||(this.current=t,this.gl.uniform4f(this.location,t[0],t[1],t[2],t[3]))},e}(Ua),Ya=function(t){function e(e,r){t.call(this,e,r),this.current=ae.transparent}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.set=function(t){t.r===this.current.r&&t.g===this.current.g&&t.b===this.current.b&&t.a===this.current.a||(this.current=t,this.gl.uniform4f(this.location,t.r,t.g,t.b,t.a))},e}(Ua),Wa=new Float32Array(16),Xa=function(t){function e(e,r){t.call(this,e,r),this.current=Wa}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.set=function(t){if(t[12]!==this.current[12]||t[0]!==this.current[0])return this.current=t,void this.gl.uniformMatrix4fv(this.location,!1,t);for(var e=1;e<16;e++)if(t[e]!==this.current[e]){this.current=t,this.gl.uniformMatrix4fv(this.location,!1,t);break}},e}(Ua);function Ja(t){return[La(255*t.r,255*t.g),La(255*t.b,255*t.a)]}var Ka=function(t,e,r){this.value=t,this.uniformNames=e.map((function(t){return"u_"+t})),this.type=r};Ka.prototype.setUniform=function(t,e,r){t.set(r.constantOr(this.value))},Ka.prototype.getBinding=function(t,e,r){return"color"===this.type?new Ya(t,e):new Ha(t,e)};var $a=function(t,e){this.uniformNames=e.map((function(t){return"u_"+t})),this.patternFrom=null,this.patternTo=null,this.pixelRatioFrom=1,this.pixelRatioTo=1};$a.prototype.setConstantPatternPositions=function(t,e){this.pixelRatioFrom=e.pixelRatio,this.pixelRatioTo=t.pixelRatio,this.patternFrom=e.tlbr,this.patternTo=t.tlbr},$a.prototype.setUniform=function(t,e,r,n){var i="u_pattern_to"===n?this.patternTo:"u_pattern_from"===n?this.patternFrom:"u_pixel_ratio_to"===n?this.pixelRatioTo:"u_pixel_ratio_from"===n?this.pixelRatioFrom:null;i&&t.set(i)},$a.prototype.getBinding=function(t,e,r){return"u_pattern"===r.substr(0,9)?new Za(t,e):new Ha(t,e)};var Qa=function(t,e,r,n){this.expression=t,this.type=r,this.maxValue=0,this.paintVertexAttributes=e.map((function(t){return{name:"a_"+t,type:"Float32",components:"color"===r?2:1,offset:0}})),this.paintVertexArray=new n};Qa.prototype.populatePaintArray=function(t,e,r,n,i){var a=this.paintVertexArray.length,o=this.expression.evaluate(new Si(0),e,{},n,[],i);this.paintVertexArray.resize(t),this._setPaintValue(a,t,o)},Qa.prototype.updatePaintArray=function(t,e,r,n){var i=this.expression.evaluate({zoom:0},r,n);this._setPaintValue(t,e,i)},Qa.prototype._setPaintValue=function(t,e,r){if("color"===this.type)for(var n=Ja(r),i=t;i<e;i++)this.paintVertexArray.emplace(i,n[0],n[1]);else{for(var a=t;a<e;a++)this.paintVertexArray.emplace(a,r);this.maxValue=Math.max(this.maxValue,Math.abs(r))}},Qa.prototype.upload=function(t){this.paintVertexArray&&this.paintVertexArray.arrayBuffer&&(this.paintVertexBuffer&&this.paintVertexBuffer.buffer?this.paintVertexBuffer.updateData(this.paintVertexArray):this.paintVertexBuffer=t.createVertexBuffer(this.paintVertexArray,this.paintVertexAttributes,this.expression.isStateDependent))},Qa.prototype.destroy=function(){this.paintVertexBuffer&&this.paintVertexBuffer.destroy()};var to=function(t,e,r,n,i,a){this.expression=t,this.uniformNames=e.map((function(t){return"u_"+t+"_t"})),this.type=r,this.useIntegerZoom=n,this.zoom=i,this.maxValue=0,this.paintVertexAttributes=e.map((function(t){return{name:"a_"+t,type:"Float32",components:"color"===r?4:2,offset:0}})),this.paintVertexArray=new a};to.prototype.populatePaintArray=function(t,e,r,n,i){var a=this.expression.evaluate(new Si(this.zoom),e,{},n,[],i),o=this.expression.evaluate(new Si(this.zoom+1),e,{},n,[],i),s=this.paintVertexArray.length;this.paintVertexArray.resize(t),this._setPaintValue(s,t,a,o)},to.prototype.updatePaintArray=function(t,e,r,n){var i=this.expression.evaluate({zoom:this.zoom},r,n),a=this.expression.evaluate({zoom:this.zoom+1},r,n);this._setPaintValue(t,e,i,a)},to.prototype._setPaintValue=function(t,e,r,n){if("color"===this.type)for(var i=Ja(r),a=Ja(n),o=t;o<e;o++)this.paintVertexArray.emplace(o,i[0],i[1],a[0],a[1]);else{for(var s=t;s<e;s++)this.paintVertexArray.emplace(s,r,n);this.maxValue=Math.max(this.maxValue,Math.abs(r),Math.abs(n))}},to.prototype.upload=function(t){this.paintVertexArray&&this.paintVertexArray.arrayBuffer&&(this.paintVertexBuffer&&this.paintVertexBuffer.buffer?this.paintVertexBuffer.updateData(this.paintVertexArray):this.paintVertexBuffer=t.createVertexBuffer(this.paintVertexArray,this.paintVertexAttributes,this.expression.isStateDependent))},to.prototype.destroy=function(){this.paintVertexBuffer&&this.paintVertexBuffer.destroy()},to.prototype.setUniform=function(t,e){var r=this.useIntegerZoom?Math.floor(e.zoom):e.zoom,n=u(this.expression.interpolationFactor(r,this.zoom,this.zoom+1),0,1);t.set(n)},to.prototype.getBinding=function(t,e,r){return new Ha(t,e)};var eo=function(t,e,r,n,i,a){this.expression=t,this.type=e,this.useIntegerZoom=r,this.zoom=n,this.layerId=a,this.zoomInPaintVertexArray=new i,this.zoomOutPaintVertexArray=new i};eo.prototype.populatePaintArray=function(t,e,r){var n=this.zoomInPaintVertexArray.length;this.zoomInPaintVertexArray.resize(t),this.zoomOutPaintVertexArray.resize(t),this._setPaintValues(n,t,e.patterns&&e.patterns[this.layerId],r)},eo.prototype.updatePaintArray=function(t,e,r,n,i){this._setPaintValues(t,e,r.patterns&&r.patterns[this.layerId],i)},eo.prototype._setPaintValues=function(t,e,r,n){if(n&&r){var i=r.min,a=r.mid,o=r.max,s=n[i],l=n[a],u=n[o];if(s&&l&&u)for(var c=t;c<e;c++)this.zoomInPaintVertexArray.emplace(c,l.tl[0],l.tl[1],l.br[0],l.br[1],s.tl[0],s.tl[1],s.br[0],s.br[1],l.pixelRatio,s.pixelRatio),this.zoomOutPaintVertexArray.emplace(c,l.tl[0],l.tl[1],l.br[0],l.br[1],u.tl[0],u.tl[1],u.br[0],u.br[1],l.pixelRatio,u.pixelRatio)}},eo.prototype.upload=function(t){this.zoomInPaintVertexArray&&this.zoomInPaintVertexArray.arrayBuffer&&this.zoomOutPaintVertexArray&&this.zoomOutPaintVertexArray.arrayBuffer&&(this.zoomInPaintVertexBuffer=t.createVertexBuffer(this.zoomInPaintVertexArray,Ca.members,this.expression.isStateDependent),this.zoomOutPaintVertexBuffer=t.createVertexBuffer(this.zoomOutPaintVertexArray,Ca.members,this.expression.isStateDependent))},eo.prototype.destroy=function(){this.zoomOutPaintVertexBuffer&&this.zoomOutPaintVertexBuffer.destroy(),this.zoomInPaintVertexBuffer&&this.zoomInPaintVertexBuffer.destroy()};var ro=function(t,e,r,n){this.binders={},this.layoutAttributes=n,this._buffers=[];var i=[];for(var a in t.paint._values)if(r(a)){var o=t.paint.get(a);if(o instanceof Di&&qr(o.property.specification)){var s=io(a,t.type),l=o.value,u=o.property.specification.type,c=o.property.useIntegerZoom,f=o.property.specification["property-type"],h="cross-faded"===f||"cross-faded-data-driven"===f;if("constant"===l.kind)this.binders[a]=h?new $a(l.value,s):new Ka(l.value,s,u),i.push("/u_"+a);else if("source"===l.kind||h){var p=ao(a,u,"source");this.binders[a]=h?new eo(l,u,c,e,p,t.id):new Qa(l,s,u,p),i.push("/a_"+a)}else{var d=ao(a,u,"composite");this.binders[a]=new to(l,s,u,c,e,d),i.push("/z_"+a)}}}this.cacheKey=i.sort().join("")};ro.prototype.getMaxValue=function(t){var e=this.binders[t];return e instanceof Qa||e instanceof to?e.maxValue:0},ro.prototype.populatePaintArrays=function(t,e,r,n,i){for(var a in this.binders){var o=this.binders[a];(o instanceof Qa||o instanceof to||o instanceof eo)&&o.populatePaintArray(t,e,r,n,i)}},ro.prototype.setConstantPatternPositions=function(t,e){for(var r in this.binders){var n=this.binders[r];n instanceof $a&&n.setConstantPatternPositions(t,e)}},ro.prototype.updatePaintArrays=function(t,e,r,n,i){var a=!1;for(var o in t)for(var s=0,l=e.getPositions(o);s<l.length;s+=1){var u=l[s],c=r.feature(u.index);for(var f in this.binders){var h=this.binders[f];if((h instanceof Qa||h instanceof to||h instanceof eo)&&!0===h.expression.isStateDependent){var p=n.paint.get(f);h.expression=p.value,h.updatePaintArray(u.start,u.end,c,t[o],i),a=!0}}}return a},ro.prototype.defines=function(){var t=[];for(var e in this.binders){var r=this.binders[e];(r instanceof Ka||r instanceof $a)&&t.push.apply(t,r.uniformNames.map((function(t){return"#define HAS_UNIFORM_"+t})))}return t},ro.prototype.getPaintVertexBuffers=function(){return this._buffers},ro.prototype.getUniforms=function(t,e){var r=[];for(var n in this.binders){var i=this.binders[n];if(i instanceof Ka||i instanceof $a||i instanceof to)for(var a=0,o=i.uniformNames;a<o.length;a+=1){var s=o[a];if(e[s]){var l=i.getBinding(t,e[s],s);r.push({name:s,property:n,binding:l})}}}return r},ro.prototype.setUniforms=function(t,e,r,n){for(var i=0,a=e;i<a.length;i+=1){var o=a[i],s=o.name,l=o.property,u=o.binding;this.binders[l].setUniform(u,n,r.get(l),s)}},ro.prototype.updatePaintBuffers=function(t){for(var e in this._buffers=[],this.binders){var r=this.binders[e];if(t&&r instanceof eo){var n=2===t.fromScale?r.zoomInPaintVertexBuffer:r.zoomOutPaintVertexBuffer;n&&this._buffers.push(n)}else(r instanceof Qa||r instanceof to)&&r.paintVertexBuffer&&this._buffers.push(r.paintVertexBuffer)}},ro.prototype.upload=function(t){for(var e in this.binders){var r=this.binders[e];(r instanceof Qa||r instanceof to||r instanceof eo)&&r.upload(t)}this.updatePaintBuffers()},ro.prototype.destroy=function(){for(var t in this.binders){var e=this.binders[t];(e instanceof Qa||e instanceof to||e instanceof eo)&&e.destroy()}};var no=function(t,e,r,n){void 0===n&&(n=function(){return!0}),this.programConfigurations={};for(var i=0,a=e;i<a.length;i+=1){var o=a[i];this.programConfigurations[o.id]=new ro(o,r,n,t)}this.needsUpload=!1,this._featureMap=new Ra,this._bufferOffset=0};function io(t,e){return{"text-opacity":["opacity"],"icon-opacity":["opacity"],"text-color":["fill_color"],"icon-color":["fill_color"],"text-halo-color":["halo_color"],"icon-halo-color":["halo_color"],"text-halo-blur":["halo_blur"],"icon-halo-blur":["halo_blur"],"text-halo-width":["halo_width"],"icon-halo-width":["halo_width"],"line-gap-width":["gapwidth"],"line-pattern":["pattern_to","pattern_from","pixel_ratio_to","pixel_ratio_from"],"fill-pattern":["pattern_to","pattern_from","pixel_ratio_to","pixel_ratio_from"],"fill-extrusion-pattern":["pattern_to","pattern_from","pixel_ratio_to","pixel_ratio_from"]}[t]||[t.replace(e+"-","").replace(/-/g,"_")]}function ao(t,e,r){var n={color:{source:va,composite:ga},number:{source:ca,composite:va}},i=function(t){return{"line-pattern":{source:Qi,composite:Qi},"fill-pattern":{source:Qi,composite:Qi},"fill-extrusion-pattern":{source:Qi,composite:Qi}}[t]}(t);return i&&i[r]||n[e][r]}no.prototype.populatePaintArrays=function(t,e,r,n,i,a){for(var o in this.programConfigurations)this.programConfigurations[o].populatePaintArrays(t,e,n,i,a);void 0!==e.id&&this._featureMap.add(e.id,r,this._bufferOffset,t),this._bufferOffset=t,this.needsUpload=!0},no.prototype.updatePaintArrays=function(t,e,r,n){for(var i=0,a=r;i<a.length;i+=1){var o=a[i];this.needsUpload=this.programConfigurations[o.id].updatePaintArrays(t,this._featureMap,e,o,n)||this.needsUpload}},no.prototype.get=function(t){return this.programConfigurations[t]},no.prototype.upload=function(t){if(this.needsUpload){for(var e in this.programConfigurations)this.programConfigurations[e].upload(t);this.needsUpload=!1}},no.prototype.destroy=function(){for(var t in this.programConfigurations)this.programConfigurations[t].destroy()},Qn("ConstantBinder",Ka),Qn("CrossFadedConstantBinder",$a),Qn("SourceExpressionBinder",Qa),Qn("CrossFadedCompositeBinder",eo),Qn("CompositeExpressionBinder",to),Qn("ProgramConfiguration",ro,{omit:["_buffers"]}),Qn("ProgramConfigurationSet",no);var oo=8192;var so,lo=(so=15,{min:-1*Math.pow(2,so-1),max:Math.pow(2,so-1)-1});function uo(t){for(var e=oo/t.extent,r=t.loadGeometry(),n=0;n<r.length;n++)for(var i=r[n],a=0;a<i.length;a++){var o=i[a];o.x=Math.round(o.x*e),o.y=Math.round(o.y*e),(o.x<lo.min||o.x>lo.max||o.y<lo.min||o.y>lo.max)&&(w("Geometry exceeds allowed extent, reduce your vector tile buffer size"),o.x=u(o.x,lo.min,lo.max),o.y=u(o.y,lo.min,lo.max))}return r}function co(t,e,r,n,i){t.emplaceBack(2*e+(n+1)/2,2*r+(i+1)/2)}var fo=function(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((function(t){return t.id})),this.index=t.index,this.hasPattern=!1,this.layoutVertexArray=new Xi,this.indexArray=new sa,this.segments=new Ea,this.programConfigurations=new no(Sa,t.layers,t.zoom),this.stateDependentLayerIds=this.layers.filter((function(t){return t.isStateDependent()})).map((function(t){return t.id}))};function ho(t,e){for(var r=0;r<t.length;r++)if(wo(e,t[r]))return!0;for(var n=0;n<e.length;n++)if(wo(t,e[n]))return!0;return!!yo(t,e)}function po(t,e,r){return!!wo(t,e)||!!xo(e,t,r)}function vo(t,e){if(1===t.length)return _o(e,t[0]);for(var r=0;r<e.length;r++)for(var n=e[r],i=0;i<n.length;i++)if(wo(t,n[i]))return!0;for(var a=0;a<t.length;a++)if(_o(e,t[a]))return!0;for(var o=0;o<e.length;o++)if(yo(t,e[o]))return!0;return!1}function go(t,e,r){if(t.length>1){if(yo(t,e))return!0;for(var n=0;n<e.length;n++)if(xo(e[n],t,r))return!0}for(var i=0;i<t.length;i++)if(xo(t[i],e,r))return!0;return!1}function yo(t,e){if(0===t.length||0===e.length)return!1;for(var r=0;r<t.length-1;r++)for(var n=t[r],i=t[r+1],a=0;a<e.length-1;a++)if(mo(n,i,e[a],e[a+1]))return!0;return!1}function mo(t,e,r,n){return T(t,r,n)!==T(e,r,n)&&T(t,e,r)!==T(t,e,n)}function xo(t,e,r){var n=r*r;if(1===e.length)return t.distSqr(e[0])<n;for(var i=1;i<e.length;i++)if(bo(t,e[i-1],e[i])<n)return!0;return!1}function bo(t,e,r){var n=e.distSqr(r);if(0===n)return t.distSqr(e);var i=((t.x-e.x)*(r.x-e.x)+(t.y-e.y)*(r.y-e.y))/n;return i<0?t.distSqr(e):i>1?t.distSqr(r):t.distSqr(r.sub(e)._mult(i)._add(e))}function _o(t,e){for(var r,n,i,a=!1,o=0;o<t.length;o++)for(var s=0,l=(r=t[o]).length-1;s<r.length;l=s++)n=r[s],i=r[l],n.y>e.y!=i.y>e.y&&e.x<(i.x-n.x)*(e.y-n.y)/(i.y-n.y)+n.x&&(a=!a);return a}function wo(t,e){for(var r=!1,n=0,i=t.length-1;n<t.length;i=n++){var a=t[n],o=t[i];a.y>e.y!=o.y>e.y&&e.x<(o.x-a.x)*(e.y-a.y)/(o.y-a.y)+a.x&&(r=!r)}return r}function To(t,e,r){var n=r[0],i=r[2];if(t.x<n.x&&e.x<n.x||t.x>i.x&&e.x>i.x||t.y<n.y&&e.y<n.y||t.y>i.y&&e.y>i.y)return!1;var a=T(t,e,r[0]);return a!==T(t,e,r[1])||a!==T(t,e,r[2])||a!==T(t,e,r[3])}function ko(t,e,r){var n=e.paint.get(t).value;return"constant"===n.kind?n.value:r.programConfigurations.get(e.id).getMaxValue(t)}function Ao(t){return Math.sqrt(t[0]*t[0]+t[1]*t[1])}function Mo(t,e,r,n,i){if(!e[0]&&!e[1])return t;var o=a.convert(e)._mult(i);"viewport"===r&&o._rotate(-n);for(var s=[],l=0;l<t.length;l++){var u=t[l];s.push(u.sub(o))}return s}fo.prototype.populate=function(t,e,r){var n=this.layers[0],i=[],a=null;"circle"===n.type&&(a=n.layout.get("circle-sort-key"));for(var o=0,s=t;o<s.length;o+=1){var l=s[o],u=l.feature,c=l.id,f=l.index,h=l.sourceLayerIndex,p=this.layers[0]._featureFilter.needGeometry,d={type:u.type,id:c,properties:u.properties,geometry:p?uo(u):[]};if(this.layers[0]._featureFilter.filter(new Si(this.zoom),d,r)){p||(d.geometry=uo(u));var v=a?a.evaluate(d,{},r):void 0,g={id:c,properties:u.properties,type:u.type,sourceLayerIndex:h,index:f,geometry:d.geometry,patterns:{},sortKey:v};i.push(g)}}a&&i.sort((function(t,e){return t.sortKey-e.sortKey}));for(var y=0,m=i;y<m.length;y+=1){var x=m[y],b=x,_=b.geometry,w=b.index,T=b.sourceLayerIndex,k=t[w].feature;this.addFeature(x,_,w,r),e.featureIndex.insert(k,_,w,T,this.index)}},fo.prototype.update=function(t,e,r){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(t,e,this.stateDependentLayers,r)},fo.prototype.isEmpty=function(){return 0===this.layoutVertexArray.length},fo.prototype.uploadPending=function(){return!this.uploaded||this.programConfigurations.needsUpload},fo.prototype.upload=function(t){this.uploaded||(this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,Sa),this.indexBuffer=t.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(t),this.uploaded=!0},fo.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())},fo.prototype.addFeature=function(t,e,r,n){for(var i=0,a=e;i<a.length;i+=1)for(var o=0,s=a[i];o<s.length;o+=1){var l=s[o],u=l.x,c=l.y;if(!(u<0||u>=oo||c<0||c>=oo)){var f=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray,t.sortKey),h=f.vertexLength;co(this.layoutVertexArray,u,c,-1,-1),co(this.layoutVertexArray,u,c,1,-1),co(this.layoutVertexArray,u,c,1,1),co(this.layoutVertexArray,u,c,-1,1),this.indexArray.emplaceBack(h,h+1,h+2),this.indexArray.emplaceBack(h,h+3,h+2),f.vertexLength+=4,f.primitiveLength+=2}}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t,r,{},n)},Qn("CircleBucket",fo,{omit:["layers"]});var So=new Ui({"circle-sort-key":new Fi(It.layout_circle["circle-sort-key"])}),Eo={paint:new Ui({"circle-radius":new Fi(It.paint_circle["circle-radius"]),"circle-color":new Fi(It.paint_circle["circle-color"]),"circle-blur":new Fi(It.paint_circle["circle-blur"]),"circle-opacity":new Fi(It.paint_circle["circle-opacity"]),"circle-translate":new Ri(It.paint_circle["circle-translate"]),"circle-translate-anchor":new Ri(It.paint_circle["circle-translate-anchor"]),"circle-pitch-scale":new Ri(It.paint_circle["circle-pitch-scale"]),"circle-pitch-alignment":new Ri(It.paint_circle["circle-pitch-alignment"]),"circle-stroke-width":new Fi(It.paint_circle["circle-stroke-width"]),"circle-stroke-color":new Fi(It.paint_circle["circle-stroke-color"]),"circle-stroke-opacity":new Fi(It.paint_circle["circle-stroke-opacity"])}),layout:So},Lo="undefined"!=typeof Float32Array?Float32Array:Array;function Co(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function Po(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],u=e[6],c=e[7],f=e[8],h=e[9],p=e[10],d=e[11],v=e[12],g=e[13],y=e[14],m=e[15],x=r[0],b=r[1],_=r[2],w=r[3];return t[0]=x*n+b*s+_*f+w*v,t[1]=x*i+b*l+_*h+w*g,t[2]=x*a+b*u+_*p+w*y,t[3]=x*o+b*c+_*d+w*m,x=r[4],b=r[5],_=r[6],w=r[7],t[4]=x*n+b*s+_*f+w*v,t[5]=x*i+b*l+_*h+w*g,t[6]=x*a+b*u+_*p+w*y,t[7]=x*o+b*c+_*d+w*m,x=r[8],b=r[9],_=r[10],w=r[11],t[8]=x*n+b*s+_*f+w*v,t[9]=x*i+b*l+_*h+w*g,t[10]=x*a+b*u+_*p+w*y,t[11]=x*o+b*c+_*d+w*m,x=r[12],b=r[13],_=r[14],w=r[15],t[12]=x*n+b*s+_*f+w*v,t[13]=x*i+b*l+_*h+w*g,t[14]=x*a+b*u+_*p+w*y,t[15]=x*o+b*c+_*d+w*m,t}Math.hypot||(Math.hypot=function(){for(var t=arguments,e=0,r=arguments.length;r--;)e+=t[r]*t[r];return Math.sqrt(e)});var Oo=Po;var Io,Do=function(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t};function zo(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3];return t[0]=r[0]*n+r[4]*i+r[8]*a+r[12]*o,t[1]=r[1]*n+r[5]*i+r[9]*a+r[13]*o,t[2]=r[2]*n+r[6]*i+r[10]*a+r[14]*o,t[3]=r[3]*n+r[7]*i+r[11]*a+r[15]*o,t}Io=new Lo(3),Lo!=Float32Array&&(Io[0]=0,Io[1]=0,Io[2]=0),function(){var t=new Lo(4);Lo!=Float32Array&&(t[0]=0,t[1]=0,t[2]=0,t[3]=0)}();var Ro=function(t){var e=t[0],r=t[1];return e*e+r*r},Fo=(function(){var t=new Lo(2);Lo!=Float32Array&&(t[0]=0,t[1]=0)}(),function(t){function e(e){t.call(this,e,Eo)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.createBucket=function(t){return new fo(t)},e.prototype.queryRadius=function(t){var e=t;return ko("circle-radius",this,e)+ko("circle-stroke-width",this,e)+Ao(this.paint.get("circle-translate"))},e.prototype.queryIntersectsFeature=function(t,e,r,n,i,a,o,s){for(var l=Mo(t,this.paint.get("circle-translate"),this.paint.get("circle-translate-anchor"),a.angle,o),u=this.paint.get("circle-radius").evaluate(e,r)+this.paint.get("circle-stroke-width").evaluate(e,r),c="map"===this.paint.get("circle-pitch-alignment"),f=c?l:function(t,e){return t.map((function(t){return Bo(t,e)}))}(l,s),h=c?u*o:u,p=0,d=n;p<d.length;p+=1)for(var v=0,g=d[p];v<g.length;v+=1){var y=g[v],m=c?y:Bo(y,s),x=h,b=zo([],[y.x,y.y,0,1],s);if("viewport"===this.paint.get("circle-pitch-scale")&&"map"===this.paint.get("circle-pitch-alignment")?x*=b[3]/a.cameraToCenterDistance:"map"===this.paint.get("circle-pitch-scale")&&"viewport"===this.paint.get("circle-pitch-alignment")&&(x*=a.cameraToCenterDistance/b[3]),po(f,m,x))return!0}return!1},e}(Hi));function Bo(t,e){var r=zo([],[t.x,t.y,0,1],e);return new a(r[0]/r[3],r[1]/r[3])}var No=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e}(fo);function jo(t,e,r,n){var i=e.width,a=e.height;if(n){if(n instanceof Uint8ClampedArray)n=new Uint8Array(n.buffer);else if(n.length!==i*a*r)throw new RangeError("mismatched image size")}else n=new Uint8Array(i*a*r);return t.width=i,t.height=a,t.data=n,t}function Uo(t,e,r){var n=e.width,i=e.height;if(n!==t.width||i!==t.height){var a=jo({},{width:n,height:i},r);Vo(t,a,{x:0,y:0},{x:0,y:0},{width:Math.min(t.width,n),height:Math.min(t.height,i)},r),t.width=n,t.height=i,t.data=a.data}}function Vo(t,e,r,n,i,a){if(0===i.width||0===i.height)return e;if(i.width>t.width||i.height>t.height||r.x>t.width-i.width||r.y>t.height-i.height)throw new RangeError("out of range source coordinates for image copy");if(i.width>e.width||i.height>e.height||n.x>e.width-i.width||n.y>e.height-i.height)throw new RangeError("out of range destination coordinates for image copy");for(var o=t.data,s=e.data,l=0;l<i.height;l++)for(var u=((r.y+l)*t.width+r.x)*a,c=((n.y+l)*e.width+n.x)*a,f=0;f<i.width*a;f++)s[c+f]=o[u+f];return e}Qn("HeatmapBucket",No,{omit:["layers"]});var Ho=function(t,e){jo(this,t,1,e)};Ho.prototype.resize=function(t){Uo(this,t,1)},Ho.prototype.clone=function(){return new Ho({width:this.width,height:this.height},new Uint8Array(this.data))},Ho.copy=function(t,e,r,n,i){Vo(t,e,r,n,i,1)};var qo=function(t,e){jo(this,t,4,e)};qo.prototype.resize=function(t){Uo(this,t,4)},qo.prototype.replace=function(t,e){e?this.data.set(t):t instanceof Uint8ClampedArray?this.data=new Uint8Array(t.buffer):this.data=t},qo.prototype.clone=function(){return new qo({width:this.width,height:this.height},new Uint8Array(this.data))},qo.copy=function(t,e,r,n,i){Vo(t,e,r,n,i,4)},Qn("AlphaImage",Ho),Qn("RGBAImage",qo);var Go={paint:new Ui({"heatmap-radius":new Fi(It.paint_heatmap["heatmap-radius"]),"heatmap-weight":new Fi(It.paint_heatmap["heatmap-weight"]),"heatmap-intensity":new Ri(It.paint_heatmap["heatmap-intensity"]),"heatmap-color":new ji(It.paint_heatmap["heatmap-color"]),"heatmap-opacity":new Ri(It.paint_heatmap["heatmap-opacity"])})};function Zo(t,e){for(var r=new Uint8Array(1024),n={},i=0,a=0;i<256;i++,a+=4){n[e]=i/255;var o=t.evaluate(n);r[a+0]=Math.floor(255*o.r/o.a),r[a+1]=Math.floor(255*o.g/o.a),r[a+2]=Math.floor(255*o.b/o.a),r[a+3]=Math.floor(255*o.a)}return new qo({width:256,height:1},r)}var Yo=function(t){function e(e){t.call(this,e,Go),this._updateColorRamp()}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.createBucket=function(t){return new No(t)},e.prototype._handleSpecialPaintPropertyUpdate=function(t){"heatmap-color"===t&&this._updateColorRamp()},e.prototype._updateColorRamp=function(){var t=this._transitionablePaint._values["heatmap-color"].value.expression;this.colorRamp=Zo(t,"heatmapDensity"),this.colorRampTexture=null},e.prototype.resize=function(){this.heatmapFbo&&(this.heatmapFbo.destroy(),this.heatmapFbo=null)},e.prototype.queryRadius=function(){return 0},e.prototype.queryIntersectsFeature=function(){return!1},e.prototype.hasOffscreenPass=function(){return 0!==this.paint.get("heatmap-opacity")&&"none"!==this.visibility},e}(Hi),Wo={paint:new Ui({"hillshade-illumination-direction":new Ri(It.paint_hillshade["hillshade-illumination-direction"]),"hillshade-illumination-anchor":new Ri(It.paint_hillshade["hillshade-illumination-anchor"]),"hillshade-exaggeration":new Ri(It.paint_hillshade["hillshade-exaggeration"]),"hillshade-shadow-color":new Ri(It.paint_hillshade["hillshade-shadow-color"]),"hillshade-highlight-color":new Ri(It.paint_hillshade["hillshade-highlight-color"]),"hillshade-accent-color":new Ri(It.paint_hillshade["hillshade-accent-color"])})},Xo=function(t){function e(e){t.call(this,e,Wo)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.hasOffscreenPass=function(){return 0!==this.paint.get("hillshade-exaggeration")&&"none"!==this.visibility},e}(Hi),Jo=Yi([{name:"a_pos",components:2,type:"Int16"}],4).members,Ko=Qo,$o=Qo;function Qo(t,e,r){r=r||2;var n,i,a,o,s,l,u,c=e&&e.length,f=c?e[0]*r:t.length,h=ts(t,0,f,r,!0),p=[];if(!h||h.next===h.prev)return p;if(c&&(h=function(t,e,r,n){var i,a,o,s=[];for(i=0,a=e.length;i<a;i++)(o=ts(t,e[i]*n,i<a-1?e[i+1]*n:t.length,n,!1))===o.next&&(o.steiner=!0),s.push(fs(o));for(s.sort(ss),i=0;i<s.length;i++)ls(s[i],r),r=es(r,r.next);return r}(t,e,h,r)),t.length>80*r){n=a=t[0],i=o=t[1];for(var d=r;d<f;d+=r)(s=t[d])<n&&(n=s),(l=t[d+1])<i&&(i=l),s>a&&(a=s),l>o&&(o=l);u=0!==(u=Math.max(a-n,o-i))?1/u:0}return rs(h,p,r,n,i,u),p}function ts(t,e,r,n,i){var a,o;if(i===ks(t,e,r,n)>0)for(a=e;a<r;a+=n)o=_s(a,t[a],t[a+1],o);else for(a=r-n;a>=e;a-=n)o=_s(a,t[a],t[a+1],o);return o&&vs(o,o.next)&&(ws(o),o=o.next),o}function es(t,e){if(!t)return t;e||(e=t);var r,n=t;do{if(r=!1,n.steiner||!vs(n,n.next)&&0!==ds(n.prev,n,n.next))n=n.next;else{if(ws(n),(n=e=n.prev)===n.next)break;r=!0}}while(r||n!==e);return e}function rs(t,e,r,n,i,a,o){if(t){!o&&a&&function(t,e,r,n){var i=t;do{null===i.z&&(i.z=cs(i.x,i.y,e,r,n)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next}while(i!==t);i.prevZ.nextZ=null,i.prevZ=null,function(t){var e,r,n,i,a,o,s,l,u=1;do{for(r=t,t=null,a=null,o=0;r;){for(o++,n=r,s=0,e=0;e<u&&(s++,n=n.nextZ);e++);for(l=u;s>0||l>0&&n;)0!==s&&(0===l||!n||r.z<=n.z)?(i=r,r=r.nextZ,s--):(i=n,n=n.nextZ,l--),a?a.nextZ=i:t=i,i.prevZ=a,a=i;r=n}a.nextZ=null,u*=2}while(o>1)}(i)}(t,n,i,a);for(var s,l,u=t;t.prev!==t.next;)if(s=t.prev,l=t.next,a?is(t,n,i,a):ns(t))e.push(s.i/r),e.push(t.i/r),e.push(l.i/r),ws(t),t=l.next,u=l.next;else if((t=l)===u){o?1===o?rs(t=as(es(t),e,r),e,r,n,i,a,2):2===o&&os(t,e,r,n,i,a):rs(es(t),e,r,n,i,a,1);break}}}function ns(t){var e=t.prev,r=t,n=t.next;if(ds(e,r,n)>=0)return!1;for(var i=t.next.next;i!==t.prev;){if(hs(e.x,e.y,r.x,r.y,n.x,n.y,i.x,i.y)&&ds(i.prev,i,i.next)>=0)return!1;i=i.next}return!0}function is(t,e,r,n){var i=t.prev,a=t,o=t.next;if(ds(i,a,o)>=0)return!1;for(var s=i.x<a.x?i.x<o.x?i.x:o.x:a.x<o.x?a.x:o.x,l=i.y<a.y?i.y<o.y?i.y:o.y:a.y<o.y?a.y:o.y,u=i.x>a.x?i.x>o.x?i.x:o.x:a.x>o.x?a.x:o.x,c=i.y>a.y?i.y>o.y?i.y:o.y:a.y>o.y?a.y:o.y,f=cs(s,l,e,r,n),h=cs(u,c,e,r,n),p=t.prevZ,d=t.nextZ;p&&p.z>=f&&d&&d.z<=h;){if(p!==t.prev&&p!==t.next&&hs(i.x,i.y,a.x,a.y,o.x,o.y,p.x,p.y)&&ds(p.prev,p,p.next)>=0)return!1;if(p=p.prevZ,d!==t.prev&&d!==t.next&&hs(i.x,i.y,a.x,a.y,o.x,o.y,d.x,d.y)&&ds(d.prev,d,d.next)>=0)return!1;d=d.nextZ}for(;p&&p.z>=f;){if(p!==t.prev&&p!==t.next&&hs(i.x,i.y,a.x,a.y,o.x,o.y,p.x,p.y)&&ds(p.prev,p,p.next)>=0)return!1;p=p.prevZ}for(;d&&d.z<=h;){if(d!==t.prev&&d!==t.next&&hs(i.x,i.y,a.x,a.y,o.x,o.y,d.x,d.y)&&ds(d.prev,d,d.next)>=0)return!1;d=d.nextZ}return!0}function as(t,e,r){var n=t;do{var i=n.prev,a=n.next.next;!vs(i,a)&&gs(i,n,n.next,a)&&xs(i,a)&&xs(a,i)&&(e.push(i.i/r),e.push(n.i/r),e.push(a.i/r),ws(n),ws(n.next),n=t=a),n=n.next}while(n!==t);return es(n)}function os(t,e,r,n,i,a){var o=t;do{for(var s=o.next.next;s!==o.prev;){if(o.i!==s.i&&ps(o,s)){var l=bs(o,s);return o=es(o,o.next),l=es(l,l.next),rs(o,e,r,n,i,a),void rs(l,e,r,n,i,a)}s=s.next}o=o.next}while(o!==t)}function ss(t,e){return t.x-e.x}function ls(t,e){if(e=function(t,e){var r,n=e,i=t.x,a=t.y,o=-1/0;do{if(a<=n.y&&a>=n.next.y&&n.next.y!==n.y){var s=n.x+(a-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(s<=i&&s>o){if(o=s,s===i){if(a===n.y)return n;if(a===n.next.y)return n.next}r=n.x<n.next.x?n:n.next}}n=n.next}while(n!==e);if(!r)return null;if(i===o)return r;var l,u=r,c=r.x,f=r.y,h=1/0;n=r;do{i>=n.x&&n.x>=c&&i!==n.x&&hs(a<f?i:o,a,c,f,a<f?o:i,a,n.x,n.y)&&(l=Math.abs(a-n.y)/(i-n.x),xs(n,t)&&(l<h||l===h&&(n.x>r.x||n.x===r.x&&us(r,n)))&&(r=n,h=l)),n=n.next}while(n!==u);return r}(t,e)){var r=bs(e,t);es(e,e.next),es(r,r.next)}}function us(t,e){return ds(t.prev,t,e.prev)<0&&ds(e.next,t,t.next)<0}function cs(t,e,r,n,i){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=32767*(t-r)*i)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=32767*(e-n)*i)|e<<8))|e<<4))|e<<2))|e<<1))<<1}function fs(t){var e=t,r=t;do{(e.x<r.x||e.x===r.x&&e.y<r.y)&&(r=e),e=e.next}while(e!==t);return r}function hs(t,e,r,n,i,a,o,s){return(i-o)*(e-s)-(t-o)*(a-s)>=0&&(t-o)*(n-s)-(r-o)*(e-s)>=0&&(r-o)*(a-s)-(i-o)*(n-s)>=0}function ps(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!function(t,e){var r=t;do{if(r.i!==t.i&&r.next.i!==t.i&&r.i!==e.i&&r.next.i!==e.i&&gs(r,r.next,t,e))return!0;r=r.next}while(r!==t);return!1}(t,e)&&(xs(t,e)&&xs(e,t)&&function(t,e){var r=t,n=!1,i=(t.x+e.x)/2,a=(t.y+e.y)/2;do{r.y>a!=r.next.y>a&&r.next.y!==r.y&&i<(r.next.x-r.x)*(a-r.y)/(r.next.y-r.y)+r.x&&(n=!n),r=r.next}while(r!==t);return n}(t,e)&&(ds(t.prev,t,e.prev)||ds(t,e.prev,e))||vs(t,e)&&ds(t.prev,t,t.next)>0&&ds(e.prev,e,e.next)>0)}function ds(t,e,r){return(e.y-t.y)*(r.x-e.x)-(e.x-t.x)*(r.y-e.y)}function vs(t,e){return t.x===e.x&&t.y===e.y}function gs(t,e,r,n){var i=ms(ds(t,e,r)),a=ms(ds(t,e,n)),o=ms(ds(r,n,t)),s=ms(ds(r,n,e));return i!==a&&o!==s||!(0!==i||!ys(t,r,e))||!(0!==a||!ys(t,n,e))||!(0!==o||!ys(r,t,n))||!(0!==s||!ys(r,e,n))}function ys(t,e,r){return e.x<=Math.max(t.x,r.x)&&e.x>=Math.min(t.x,r.x)&&e.y<=Math.max(t.y,r.y)&&e.y>=Math.min(t.y,r.y)}function ms(t){return t>0?1:t<0?-1:0}function xs(t,e){return ds(t.prev,t,t.next)<0?ds(t,e,t.next)>=0&&ds(t,t.prev,e)>=0:ds(t,e,t.prev)<0||ds(t,t.next,e)<0}function bs(t,e){var r=new Ts(t.i,t.x,t.y),n=new Ts(e.i,e.x,e.y),i=t.next,a=e.prev;return t.next=e,e.prev=t,r.next=i,i.prev=r,n.next=r,r.prev=n,a.next=n,n.prev=a,n}function _s(t,e,r,n){var i=new Ts(t,e,r);return n?(i.next=n.next,i.prev=n,n.next.prev=i,n.next=i):(i.prev=i,i.next=i),i}function ws(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)}function Ts(t,e,r){this.i=t,this.x=e,this.y=r,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}function ks(t,e,r,n){for(var i=0,a=e,o=r-n;a<r;a+=n)i+=(t[o]-t[a])*(t[a+1]+t[o+1]),o=a;return i}function As(t,e,r,n,i){Ms(t,e,r||0,n||t.length-1,i||Es)}function Ms(t,e,r,n,i){for(;n>r;){if(n-r>600){var a=n-r+1,o=e-r+1,s=Math.log(a),l=.5*Math.exp(2*s/3),u=.5*Math.sqrt(s*l*(a-l)/a)*(o-a/2<0?-1:1);Ms(t,e,Math.max(r,Math.floor(e-o*l/a+u)),Math.min(n,Math.floor(e+(a-o)*l/a+u)),i)}var c=t[e],f=r,h=n;for(Ss(t,r,e),i(t[n],c)>0&&Ss(t,r,n);f<h;){for(Ss(t,f,h),f++,h--;i(t[f],c)<0;)f++;for(;i(t[h],c)>0;)h--}0===i(t[r],c)?Ss(t,r,h):Ss(t,++h,n),h<=e&&(r=h+1),e<=h&&(n=h-1)}}function Ss(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function Es(t,e){return t<e?-1:t>e?1:0}function Ls(t,e){var r=t.length;if(r<=1)return[t];for(var n,i,a=[],o=0;o<r;o++){var s=k(t[o]);0!==s&&(t[o].area=Math.abs(s),void 0===i&&(i=s<0),i===s<0?(n&&a.push(n),n=[t[o]]):n.push(t[o]))}if(n&&a.push(n),e>1)for(var l=0;l<a.length;l++)a[l].length<=e||(As(a[l],e,1,a[l].length-1,Cs),a[l]=a[l].slice(0,e));return a}function Cs(t,e){return e.area-t.area}function Ps(t,e,r){for(var n=r.patternDependencies,i=!1,a=0,o=e;a<o.length;a+=1){var s=o[a].paint.get(t+"-pattern");s.isConstant()||(i=!0);var l=s.constantOr(null);l&&(i=!0,n[l.to]=!0,n[l.from]=!0)}return i}function Os(t,e,r,n,i){for(var a=i.patternDependencies,o=0,s=e;o<s.length;o+=1){var l=s[o],u=l.paint.get(t+"-pattern").value;if("constant"!==u.kind){var c=u.evaluate({zoom:n-1},r,{},i.availableImages),f=u.evaluate({zoom:n},r,{},i.availableImages),h=u.evaluate({zoom:n+1},r,{},i.availableImages);c=c&&c.name?c.name:c,f=f&&f.name?f.name:f,h=h&&h.name?h.name:h,a[c]=!0,a[f]=!0,a[h]=!0,r.patterns[l.id]={min:c,mid:f,max:h}}}return r}Qo.deviation=function(t,e,r,n){var i=e&&e.length,a=i?e[0]*r:t.length,o=Math.abs(ks(t,0,a,r));if(i)for(var s=0,l=e.length;s<l;s++){var u=e[s]*r,c=s<l-1?e[s+1]*r:t.length;o-=Math.abs(ks(t,u,c,r))}var f=0;for(s=0;s<n.length;s+=3){var h=n[s]*r,p=n[s+1]*r,d=n[s+2]*r;f+=Math.abs((t[h]-t[d])*(t[p+1]-t[h+1])-(t[h]-t[p])*(t[d+1]-t[h+1]))}return 0===o&&0===f?0:Math.abs((f-o)/o)},Qo.flatten=function(t){for(var e=t[0][0].length,r={vertices:[],holes:[],dimensions:e},n=0,i=0;i<t.length;i++){for(var a=0;a<t[i].length;a++)for(var o=0;o<e;o++)r.vertices.push(t[i][a][o]);i>0&&(n+=t[i-1].length,r.holes.push(n))}return r},Ko.default=$o;var Is=function(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((function(t){return t.id})),this.index=t.index,this.hasPattern=!1,this.patternFeatures=[],this.layoutVertexArray=new Xi,this.indexArray=new sa,this.indexArray2=new pa,this.programConfigurations=new no(Jo,t.layers,t.zoom),this.segments=new Ea,this.segments2=new Ea,this.stateDependentLayerIds=this.layers.filter((function(t){return t.isStateDependent()})).map((function(t){return t.id}))};Is.prototype.populate=function(t,e,r){this.hasPattern=Ps("fill",this.layers,e);for(var n=this.layers[0].layout.get("fill-sort-key"),i=[],a=0,o=t;a<o.length;a+=1){var s=o[a],l=s.feature,u=s.id,c=s.index,f=s.sourceLayerIndex,h=this.layers[0]._featureFilter.needGeometry,p={type:l.type,id:u,properties:l.properties,geometry:h?uo(l):[]};if(this.layers[0]._featureFilter.filter(new Si(this.zoom),p,r)){h||(p.geometry=uo(l));var d=n?n.evaluate(p,{},r,e.availableImages):void 0,v={id:u,properties:l.properties,type:l.type,sourceLayerIndex:f,index:c,geometry:p.geometry,patterns:{},sortKey:d};i.push(v)}}n&&i.sort((function(t,e){return t.sortKey-e.sortKey}));for(var g=0,y=i;g<y.length;g+=1){var m=y[g],x=m,b=x.geometry,_=x.index,w=x.sourceLayerIndex;if(this.hasPattern){var T=Os("fill",this.layers,m,this.zoom,e);this.patternFeatures.push(T)}else this.addFeature(m,b,_,r,{});var k=t[_].feature;e.featureIndex.insert(k,b,_,w,this.index)}},Is.prototype.update=function(t,e,r){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(t,e,this.stateDependentLayers,r)},Is.prototype.addFeatures=function(t,e,r){for(var n=0,i=this.patternFeatures;n<i.length;n+=1){var a=i[n];this.addFeature(a,a.geometry,a.index,e,r)}},Is.prototype.isEmpty=function(){return 0===this.layoutVertexArray.length},Is.prototype.uploadPending=function(){return!this.uploaded||this.programConfigurations.needsUpload},Is.prototype.upload=function(t){this.uploaded||(this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,Jo),this.indexBuffer=t.createIndexBuffer(this.indexArray),this.indexBuffer2=t.createIndexBuffer(this.indexArray2)),this.programConfigurations.upload(t),this.uploaded=!0},Is.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.indexBuffer2.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.segments2.destroy())},Is.prototype.addFeature=function(t,e,r,n,i){for(var a=0,o=Ls(e,500);a<o.length;a+=1){for(var s=o[a],l=0,u=0,c=s;u<c.length;u+=1)l+=c[u].length;for(var f=this.segments.prepareSegment(l,this.layoutVertexArray,this.indexArray),h=f.vertexLength,p=[],d=[],v=0,g=s;v<g.length;v+=1){var y=g[v];if(0!==y.length){y!==s[0]&&d.push(p.length/2);var m=this.segments2.prepareSegment(y.length,this.layoutVertexArray,this.indexArray2),x=m.vertexLength;this.layoutVertexArray.emplaceBack(y[0].x,y[0].y),this.indexArray2.emplaceBack(x+y.length-1,x),p.push(y[0].x),p.push(y[0].y);for(var b=1;b<y.length;b++)this.layoutVertexArray.emplaceBack(y[b].x,y[b].y),this.indexArray2.emplaceBack(x+b-1,x+b),p.push(y[b].x),p.push(y[b].y);m.vertexLength+=y.length,m.primitiveLength+=y.length}}for(var _=Ko(p,d),w=0;w<_.length;w+=3)this.indexArray.emplaceBack(h+_[w],h+_[w+1],h+_[w+2]);f.vertexLength+=l,f.primitiveLength+=_.length/3}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t,r,i,n)},Qn("FillBucket",Is,{omit:["layers","patternFeatures"]});var Ds=new Ui({"fill-sort-key":new Fi(It.layout_fill["fill-sort-key"])}),zs={paint:new Ui({"fill-antialias":new Ri(It.paint_fill["fill-antialias"]),"fill-opacity":new Fi(It.paint_fill["fill-opacity"]),"fill-color":new Fi(It.paint_fill["fill-color"]),"fill-outline-color":new Fi(It.paint_fill["fill-outline-color"]),"fill-translate":new Ri(It.paint_fill["fill-translate"]),"fill-translate-anchor":new Ri(It.paint_fill["fill-translate-anchor"]),"fill-pattern":new Bi(It.paint_fill["fill-pattern"])}),layout:Ds},Rs=function(t){function e(e){t.call(this,e,zs)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.recalculate=function(e,r){t.prototype.recalculate.call(this,e,r);var n=this.paint._values["fill-outline-color"];"constant"===n.value.kind&&void 0===n.value.value&&(this.paint._values["fill-outline-color"]=this.paint._values["fill-color"])},e.prototype.createBucket=function(t){return new Is(t)},e.prototype.queryRadius=function(){return Ao(this.paint.get("fill-translate"))},e.prototype.queryIntersectsFeature=function(t,e,r,n,i,a,o){return vo(Mo(t,this.paint.get("fill-translate"),this.paint.get("fill-translate-anchor"),a.angle,o),n)},e.prototype.isTileClipped=function(){return!0},e}(Hi),Fs=Yi([{name:"a_pos",components:2,type:"Int16"},{name:"a_normal_ed",components:4,type:"Int16"}],4).members,Bs=Ns;function Ns(t,e,r,n,i){this.properties={},this.extent=r,this.type=0,this._pbf=t,this._geometry=-1,this._keys=n,this._values=i,t.readFields(js,this,e)}function js(t,e,r){1==t?e.id=r.readVarint():2==t?function(t,e){for(var r=t.readVarint()+t.pos;t.pos<r;){var n=e._keys[t.readVarint()],i=e._values[t.readVarint()];e.properties[n]=i}}(r,e):3==t?e.type=r.readVarint():4==t&&(e._geometry=r.pos)}function Us(t){for(var e,r,n=0,i=0,a=t.length,o=a-1;i<a;o=i++)e=t[i],n+=((r=t[o]).x-e.x)*(e.y+r.y);return n}Ns.types=["Unknown","Point","LineString","Polygon"],Ns.prototype.loadGeometry=function(){var t=this._pbf;t.pos=this._geometry;for(var e,r=t.readVarint()+t.pos,n=1,i=0,o=0,s=0,l=[];t.pos<r;){if(i<=0){var u=t.readVarint();n=7&u,i=u>>3}if(i--,1===n||2===n)o+=t.readSVarint(),s+=t.readSVarint(),1===n&&(e&&l.push(e),e=[]),e.push(new a(o,s));else{if(7!==n)throw new Error("unknown command "+n);e&&e.push(e[0].clone())}}return e&&l.push(e),l},Ns.prototype.bbox=function(){var t=this._pbf;t.pos=this._geometry;for(var e=t.readVarint()+t.pos,r=1,n=0,i=0,a=0,o=1/0,s=-1/0,l=1/0,u=-1/0;t.pos<e;){if(n<=0){var c=t.readVarint();r=7&c,n=c>>3}if(n--,1===r||2===r)(i+=t.readSVarint())<o&&(o=i),i>s&&(s=i),(a+=t.readSVarint())<l&&(l=a),a>u&&(u=a);else if(7!==r)throw new Error("unknown command "+r)}return[o,l,s,u]},Ns.prototype.toGeoJSON=function(t,e,r){var n,i,a=this.extent*Math.pow(2,r),o=this.extent*t,s=this.extent*e,l=this.loadGeometry(),u=Ns.types[this.type];function c(t){for(var e=0;e<t.length;e++){var r=t[e],n=180-360*(r.y+s)/a;t[e]=[360*(r.x+o)/a-180,360/Math.PI*Math.atan(Math.exp(n*Math.PI/180))-90]}}switch(this.type){case 1:var f=[];for(n=0;n<l.length;n++)f[n]=l[n][0];c(l=f);break;case 2:for(n=0;n<l.length;n++)c(l[n]);break;case 3:for(l=function(t){var e=t.length;if(e<=1)return[t];for(var r,n,i=[],a=0;a<e;a++){var o=Us(t[a]);0!==o&&(void 0===n&&(n=o<0),n===o<0?(r&&i.push(r),r=[t[a]]):r.push(t[a]))}return r&&i.push(r),i}(l),n=0;n<l.length;n++)for(i=0;i<l[n].length;i++)c(l[n][i])}1===l.length?l=l[0]:u="Multi"+u;var h={type:"Feature",geometry:{type:u,coordinates:l},properties:this.properties};return"id"in this&&(h.id=this.id),h};var Vs=Hs;function Hs(t,e){this.version=1,this.name=null,this.extent=4096,this.length=0,this._pbf=t,this._keys=[],this._values=[],this._features=[],t.readFields(qs,this,e),this.length=this._features.length}function qs(t,e,r){15===t?e.version=r.readVarint():1===t?e.name=r.readString():5===t?e.extent=r.readVarint():2===t?e._features.push(r.pos):3===t?e._keys.push(r.readString()):4===t&&e._values.push(function(t){for(var e=null,r=t.readVarint()+t.pos;t.pos<r;){var n=t.readVarint()>>3;e=1===n?t.readString():2===n?t.readFloat():3===n?t.readDouble():4===n?t.readVarint64():5===n?t.readVarint():6===n?t.readSVarint():7===n?t.readBoolean():null}return e}(r))}function Gs(t,e,r){if(3===t){var n=new Vs(r,r.readVarint()+r.pos);n.length&&(e[n.name]=n)}}Hs.prototype.feature=function(t){if(t<0||t>=this._features.length)throw new Error("feature index out of bounds");this._pbf.pos=this._features[t];var e=this._pbf.readVarint()+this._pbf.pos;return new Bs(this._pbf,e,this.extent,this._keys,this._values)};var Zs={VectorTile:function(t,e){this.layers=t.readFields(Gs,{},e)},VectorTileFeature:Bs,VectorTileLayer:Vs},Ys=Zs.VectorTileFeature.types,Ws=Math.pow(2,13);function Xs(t,e,r,n,i,a,o,s){t.emplaceBack(e,r,2*Math.floor(n*Ws)+o,i*Ws*2,a*Ws*2,Math.round(s))}var Js=function(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((function(t){return t.id})),this.index=t.index,this.hasPattern=!1,this.layoutVertexArray=new Ki,this.indexArray=new sa,this.programConfigurations=new no(Fs,t.layers,t.zoom),this.segments=new Ea,this.stateDependentLayerIds=this.layers.filter((function(t){return t.isStateDependent()})).map((function(t){return t.id}))};function Ks(t,e){return t.x===e.x&&(t.x<0||t.x>oo)||t.y===e.y&&(t.y<0||t.y>oo)}Js.prototype.populate=function(t,e,r){this.features=[],this.hasPattern=Ps("fill-extrusion",this.layers,e);for(var n=0,i=t;n<i.length;n+=1){var a=i[n],o=a.feature,s=a.id,l=a.index,u=a.sourceLayerIndex,c=this.layers[0]._featureFilter.needGeometry,f={type:o.type,id:s,properties:o.properties,geometry:c?uo(o):[]};if(this.layers[0]._featureFilter.filter(new Si(this.zoom),f,r)){var h={id:s,sourceLayerIndex:u,index:l,geometry:c?f.geometry:uo(o),properties:o.properties,type:o.type,patterns:{}};void 0!==o.id&&(h.id=o.id),this.hasPattern?this.features.push(Os("fill-extrusion",this.layers,h,this.zoom,e)):this.addFeature(h,h.geometry,l,r,{}),e.featureIndex.insert(o,h.geometry,l,u,this.index,!0)}}},Js.prototype.addFeatures=function(t,e,r){for(var n=0,i=this.features;n<i.length;n+=1){var a=i[n],o=a.geometry;this.addFeature(a,o,a.index,e,r)}},Js.prototype.update=function(t,e,r){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(t,e,this.stateDependentLayers,r)},Js.prototype.isEmpty=function(){return 0===this.layoutVertexArray.length},Js.prototype.uploadPending=function(){return!this.uploaded||this.programConfigurations.needsUpload},Js.prototype.upload=function(t){this.uploaded||(this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,Fs),this.indexBuffer=t.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(t),this.uploaded=!0},Js.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())},Js.prototype.addFeature=function(t,e,r,n,i){for(var a=0,o=Ls(e,500);a<o.length;a+=1){for(var s=o[a],l=0,u=0,c=s;u<c.length;u+=1)l+=c[u].length;for(var f=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray),h=0,p=s;h<p.length;h+=1){var d=p[h];if(0!==d.length&&!((O=d).every((function(t){return t.x<0}))||O.every((function(t){return t.x>oo}))||O.every((function(t){return t.y<0}))||O.every((function(t){return t.y>oo}))))for(var v=0,g=0;g<d.length;g++){var y=d[g];if(g>=1){var m=d[g-1];if(!Ks(y,m)){f.vertexLength+4>Ea.MAX_VERTEX_ARRAY_LENGTH&&(f=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray));var x=y.sub(m)._perp()._unit(),b=m.dist(y);v+b>32768&&(v=0),Xs(this.layoutVertexArray,y.x,y.y,x.x,x.y,0,0,v),Xs(this.layoutVertexArray,y.x,y.y,x.x,x.y,0,1,v),v+=b,Xs(this.layoutVertexArray,m.x,m.y,x.x,x.y,0,0,v),Xs(this.layoutVertexArray,m.x,m.y,x.x,x.y,0,1,v);var _=f.vertexLength;this.indexArray.emplaceBack(_,_+2,_+1),this.indexArray.emplaceBack(_+1,_+2,_+3),f.vertexLength+=4,f.primitiveLength+=2}}}}if(f.vertexLength+l>Ea.MAX_VERTEX_ARRAY_LENGTH&&(f=this.segments.prepareSegment(l,this.layoutVertexArray,this.indexArray)),"Polygon"===Ys[t.type]){for(var w=[],T=[],k=f.vertexLength,A=0,M=s;A<M.length;A+=1){var S=M[A];if(0!==S.length){S!==s[0]&&T.push(w.length/2);for(var E=0;E<S.length;E++){var L=S[E];Xs(this.layoutVertexArray,L.x,L.y,0,0,1,1,0),w.push(L.x),w.push(L.y)}}}for(var C=Ko(w,T),P=0;P<C.length;P+=3)this.indexArray.emplaceBack(k+C[P],k+C[P+2],k+C[P+1]);f.primitiveLength+=C.length/3,f.vertexLength+=l}}var O;this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t,r,i,n)},Qn("FillExtrusionBucket",Js,{omit:["layers","features"]});var $s={paint:new Ui({"fill-extrusion-opacity":new Ri(It["paint_fill-extrusion"]["fill-extrusion-opacity"]),"fill-extrusion-color":new Fi(It["paint_fill-extrusion"]["fill-extrusion-color"]),"fill-extrusion-translate":new Ri(It["paint_fill-extrusion"]["fill-extrusion-translate"]),"fill-extrusion-translate-anchor":new Ri(It["paint_fill-extrusion"]["fill-extrusion-translate-anchor"]),"fill-extrusion-pattern":new Bi(It["paint_fill-extrusion"]["fill-extrusion-pattern"]),"fill-extrusion-height":new Fi(It["paint_fill-extrusion"]["fill-extrusion-height"]),"fill-extrusion-base":new Fi(It["paint_fill-extrusion"]["fill-extrusion-base"]),"fill-extrusion-vertical-gradient":new Ri(It["paint_fill-extrusion"]["fill-extrusion-vertical-gradient"])})},Qs=function(t){function e(e){t.call(this,e,$s)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.createBucket=function(t){return new Js(t)},e.prototype.queryRadius=function(){return Ao(this.paint.get("fill-extrusion-translate"))},e.prototype.is3D=function(){return!0},e.prototype.queryIntersectsFeature=function(t,e,r,n,i,o,s,l){var u=Mo(t,this.paint.get("fill-extrusion-translate"),this.paint.get("fill-extrusion-translate-anchor"),o.angle,s),c=this.paint.get("fill-extrusion-height").evaluate(e,r),f=this.paint.get("fill-extrusion-base").evaluate(e,r),h=function(t,e,r,n){for(var i=[],o=0,s=t;o<s.length;o+=1){var l=s[o],u=[l.x,l.y,n,1];zo(u,u,e),i.push(new a(u[0]/u[3],u[1]/u[3]))}return i}(u,l,0,0),p=function(t,e,r,n){for(var i=[],o=[],s=n[8]*e,l=n[9]*e,u=n[10]*e,c=n[11]*e,f=n[8]*r,h=n[9]*r,p=n[10]*r,d=n[11]*r,v=0,g=t;v<g.length;v+=1){for(var y=[],m=[],x=0,b=g[v];x<b.length;x+=1){var _=b[x],w=_.x,T=_.y,k=n[0]*w+n[4]*T+n[12],A=n[1]*w+n[5]*T+n[13],M=n[2]*w+n[6]*T+n[14],S=n[3]*w+n[7]*T+n[15],E=M+u,L=S+c,C=k+f,P=A+h,O=M+p,I=S+d,D=new a((k+s)/L,(A+l)/L);D.z=E/L,y.push(D);var z=new a(C/I,P/I);z.z=O/I,m.push(z)}i.push(y),o.push(m)}return[i,o]}(n,f,c,l);return function(t,e,r){var n=1/0;vo(r,e)&&(n=el(r,e[0]));for(var i=0;i<e.length;i++)for(var a=e[i],o=t[i],s=0;s<a.length-1;s++){var l=a[s],u=a[s+1],c=o[s],f=[l,u,o[s+1],c,l];ho(r,f)&&(n=Math.min(n,el(r,f)))}return n!==1/0&&n}(p[0],p[1],h)},e}(Hi);function tl(t,e){return t.x*e.x+t.y*e.y}function el(t,e){if(1===t.length){for(var r,n=0,i=e[n++];!r||i.equals(r);)if(!(r=e[n++]))return 1/0;for(;n<e.length;n++){var a=e[n],o=t[0],s=r.sub(i),l=a.sub(i),u=o.sub(i),c=tl(s,s),f=tl(s,l),h=tl(l,l),p=tl(u,s),d=tl(u,l),v=c*h-f*f,g=(h*p-f*d)/v,y=(c*d-f*p)/v,m=1-g-y,x=i.z*m+r.z*g+a.z*y;if(isFinite(x))return x}return 1/0}for(var b=1/0,_=0,w=e;_<w.length;_+=1){var T=w[_];b=Math.min(b,T.z)}return b}var rl=Yi([{name:"a_pos_normal",components:2,type:"Int16"},{name:"a_data",components:4,type:"Uint8"}],4).members,nl=Zs.VectorTileFeature.types,il=Math.cos(Math.PI/180*37.5),al=Math.pow(2,14)/.5,ol=function(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((function(t){return t.id})),this.index=t.index,this.hasPattern=!1,this.patternFeatures=[],this.layoutVertexArray=new $i,this.indexArray=new sa,this.programConfigurations=new no(rl,t.layers,t.zoom),this.segments=new Ea,this.stateDependentLayerIds=this.layers.filter((function(t){return t.isStateDependent()})).map((function(t){return t.id}))};ol.prototype.populate=function(t,e,r){this.hasPattern=Ps("line",this.layers,e);for(var n=this.layers[0].layout.get("line-sort-key"),i=[],a=0,o=t;a<o.length;a+=1){var s=o[a],l=s.feature,u=s.id,c=s.index,f=s.sourceLayerIndex,h=this.layers[0]._featureFilter.needGeometry,p={type:l.type,id:u,properties:l.properties,geometry:h?uo(l):[]};if(this.layers[0]._featureFilter.filter(new Si(this.zoom),p,r)){h||(p.geometry=uo(l));var d=n?n.evaluate(p,{},r):void 0,v={id:u,properties:l.properties,type:l.type,sourceLayerIndex:f,index:c,geometry:p.geometry,patterns:{},sortKey:d};i.push(v)}}n&&i.sort((function(t,e){return t.sortKey-e.sortKey}));for(var g=0,y=i;g<y.length;g+=1){var m=y[g],x=m,b=x.geometry,_=x.index,w=x.sourceLayerIndex;if(this.hasPattern){var T=Os("line",this.layers,m,this.zoom,e);this.patternFeatures.push(T)}else this.addFeature(m,b,_,r,{});var k=t[_].feature;e.featureIndex.insert(k,b,_,w,this.index)}},ol.prototype.update=function(t,e,r){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(t,e,this.stateDependentLayers,r)},ol.prototype.addFeatures=function(t,e,r){for(var n=0,i=this.patternFeatures;n<i.length;n+=1){var a=i[n];this.addFeature(a,a.geometry,a.index,e,r)}},ol.prototype.isEmpty=function(){return 0===this.layoutVertexArray.length},ol.prototype.uploadPending=function(){return!this.uploaded||this.programConfigurations.needsUpload},ol.prototype.upload=function(t){this.uploaded||(this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,rl),this.indexBuffer=t.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(t),this.uploaded=!0},ol.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())},ol.prototype.addFeature=function(t,e,r,n,i){for(var a=this.layers[0].layout,o=a.get("line-join").evaluate(t,{}),s=a.get("line-cap"),l=a.get("line-miter-limit"),u=a.get("line-round-limit"),c=0,f=e;c<f.length;c+=1){var h=f[c];this.addLine(h,t,o,s,l,u)}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t,r,i,n)},ol.prototype.addLine=function(t,e,r,n,i,a){if(this.distance=0,this.scaledDistance=0,this.totalDistance=0,e.properties&&e.properties.hasOwnProperty("mapbox_clip_start")&&e.properties.hasOwnProperty("mapbox_clip_end")){this.clipStart=+e.properties.mapbox_clip_start,this.clipEnd=+e.properties.mapbox_clip_end;for(var o=0;o<t.length-1;o++)this.totalDistance+=t[o].dist(t[o+1]);this.updateScaledDistance()}for(var s="Polygon"===nl[e.type],l=t.length;l>=2&&t[l-1].equals(t[l-2]);)l--;for(var u=0;u<l-1&&t[u].equals(t[u+1]);)u++;if(!(l<(s?3:2))){"bevel"===r&&(i=1.05);var c,f=this.overscaling<=16?122880/(512*this.overscaling):0,h=this.segments.prepareSegment(10*l,this.layoutVertexArray,this.indexArray),p=void 0,d=void 0,v=void 0,g=void 0;this.e1=this.e2=-1,s&&(c=t[l-2],g=t[u].sub(c)._unit()._perp());for(var y=u;y<l;y++)if(!(d=y===l-1?s?t[u+1]:void 0:t[y+1])||!t[y].equals(d)){g&&(v=g),c&&(p=c),c=t[y],g=d?d.sub(c)._unit()._perp():v;var m=(v=v||g).add(g);0===m.x&&0===m.y||m._unit();var x=v.x*g.x+v.y*g.y,b=m.x*g.x+m.y*g.y,_=0!==b?1/b:1/0,w=2*Math.sqrt(2-2*b),T=b<il&&p&&d,k=v.x*g.y-v.y*g.x>0;if(T&&y>u){var A=c.dist(p);if(A>2*f){var M=c.sub(c.sub(p)._mult(f/A)._round());this.updateDistance(p,M),this.addCurrentVertex(M,v,0,0,h),p=M}}var S=p&&d,E=S?r:s?"butt":n;if(S&&"round"===E&&(_<a?E="miter":_<=2&&(E="fakeround")),"miter"===E&&_>i&&(E="bevel"),"bevel"===E&&(_>2&&(E="flipbevel"),_<i&&(E="miter")),p&&this.updateDistance(p,c),"miter"===E)m._mult(_),this.addCurrentVertex(c,m,0,0,h);else if("flipbevel"===E){if(_>100)m=g.mult(-1);else{var L=_*v.add(g).mag()/v.sub(g).mag();m._perp()._mult(L*(k?-1:1))}this.addCurrentVertex(c,m,0,0,h),this.addCurrentVertex(c,m.mult(-1),0,0,h)}else if("bevel"===E||"fakeround"===E){var C=-Math.sqrt(_*_-1),P=k?C:0,O=k?0:C;if(p&&this.addCurrentVertex(c,v,P,O,h),"fakeround"===E)for(var I=Math.round(180*w/Math.PI/20),D=1;D<I;D++){var z=D/I;if(.5!==z){var R=z-.5;z+=z*R*(z-1)*((1.0904+x*(x*(3.55645-1.43519*x)-3.2452))*R*R+(.848013+x*(.215638*x-1.06021)))}var F=g.sub(v)._mult(z)._add(v)._unit()._mult(k?-1:1);this.addHalfVertex(c,F.x,F.y,!1,k,0,h)}d&&this.addCurrentVertex(c,g,-P,-O,h)}else if("butt"===E)this.addCurrentVertex(c,m,0,0,h);else if("square"===E){var B=p?1:-1;this.addCurrentVertex(c,m,B,B,h)}else"round"===E&&(p&&(this.addCurrentVertex(c,v,0,0,h),this.addCurrentVertex(c,v,1,1,h,!0)),d&&(this.addCurrentVertex(c,g,-1,-1,h,!0),this.addCurrentVertex(c,g,0,0,h)));if(T&&y<l-1){var N=c.dist(d);if(N>2*f){var j=c.add(d.sub(c)._mult(f/N)._round());this.updateDistance(c,j),this.addCurrentVertex(j,g,0,0,h),c=j}}}}},ol.prototype.addCurrentVertex=function(t,e,r,n,i,a){void 0===a&&(a=!1);var o=e.x+e.y*r,s=e.y-e.x*r,l=-e.x+e.y*n,u=-e.y-e.x*n;this.addHalfVertex(t,o,s,a,!1,r,i),this.addHalfVertex(t,l,u,a,!0,-n,i),this.distance>al/2&&0===this.totalDistance&&(this.distance=0,this.addCurrentVertex(t,e,r,n,i,a))},ol.prototype.addHalfVertex=function(t,e,r,n,i,a,o){var s=t.x,l=t.y,u=.5*this.scaledDistance;this.layoutVertexArray.emplaceBack((s<<1)+(n?1:0),(l<<1)+(i?1:0),Math.round(63*e)+128,Math.round(63*r)+128,1+(0===a?0:a<0?-1:1)|(63&u)<<2,u>>6);var c=o.vertexLength++;this.e1>=0&&this.e2>=0&&(this.indexArray.emplaceBack(this.e1,this.e2,c),o.primitiveLength++),i?this.e2=c:this.e1=c},ol.prototype.updateScaledDistance=function(){this.scaledDistance=this.totalDistance>0?(this.clipStart+(this.clipEnd-this.clipStart)*this.distance/this.totalDistance)*(al-1):this.distance},ol.prototype.updateDistance=function(t,e){this.distance+=t.dist(e),this.updateScaledDistance()},Qn("LineBucket",ol,{omit:["layers","patternFeatures"]});var sl=new Ui({"line-cap":new Ri(It.layout_line["line-cap"]),"line-join":new Fi(It.layout_line["line-join"]),"line-miter-limit":new Ri(It.layout_line["line-miter-limit"]),"line-round-limit":new Ri(It.layout_line["line-round-limit"]),"line-sort-key":new Fi(It.layout_line["line-sort-key"])}),ll={paint:new Ui({"line-opacity":new Fi(It.paint_line["line-opacity"]),"line-color":new Fi(It.paint_line["line-color"]),"line-translate":new Ri(It.paint_line["line-translate"]),"line-translate-anchor":new Ri(It.paint_line["line-translate-anchor"]),"line-width":new Fi(It.paint_line["line-width"]),"line-gap-width":new Fi(It.paint_line["line-gap-width"]),"line-offset":new Fi(It.paint_line["line-offset"]),"line-blur":new Fi(It.paint_line["line-blur"]),"line-dasharray":new Ni(It.paint_line["line-dasharray"]),"line-pattern":new Bi(It.paint_line["line-pattern"]),"line-gradient":new ji(It.paint_line["line-gradient"])}),layout:sl},ul=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.possiblyEvaluate=function(e,r){return r=new Si(Math.floor(r.zoom),{now:r.now,fadeDuration:r.fadeDuration,zoomHistory:r.zoomHistory,transition:r.transition}),t.prototype.possiblyEvaluate.call(this,e,r)},e.prototype.evaluate=function(e,r,n,i){return r=f({},r,{zoom:Math.floor(r.zoom)}),t.prototype.evaluate.call(this,e,r,n,i)},e}(Fi),cl=new ul(ll.paint.properties["line-width"].specification);cl.useIntegerZoom=!0;var fl=function(t){function e(e){t.call(this,e,ll)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._handleSpecialPaintPropertyUpdate=function(t){"line-gradient"===t&&this._updateGradient()},e.prototype._updateGradient=function(){var t=this._transitionablePaint._values["line-gradient"].value.expression;this.gradient=Zo(t,"lineProgress"),this.gradientTexture=null},e.prototype.recalculate=function(e,r){t.prototype.recalculate.call(this,e,r),this.paint._values["line-floorwidth"]=cl.possiblyEvaluate(this._transitioningPaint._values["line-width"].value,e)},e.prototype.createBucket=function(t){return new ol(t)},e.prototype.queryRadius=function(t){var e=t,r=hl(ko("line-width",this,e),ko("line-gap-width",this,e)),n=ko("line-offset",this,e);return r/2+Math.abs(n)+Ao(this.paint.get("line-translate"))},e.prototype.queryIntersectsFeature=function(t,e,r,n,i,o,s){var l=Mo(t,this.paint.get("line-translate"),this.paint.get("line-translate-anchor"),o.angle,s),u=s/2*hl(this.paint.get("line-width").evaluate(e,r),this.paint.get("line-gap-width").evaluate(e,r)),c=this.paint.get("line-offset").evaluate(e,r);return c&&(n=function(t,e){for(var r=[],n=new a(0,0),i=0;i<t.length;i++){for(var o=t[i],s=[],l=0;l<o.length;l++){var u=o[l-1],c=o[l],f=o[l+1],h=0===l?n:c.sub(u)._unit()._perp(),p=l===o.length-1?n:f.sub(c)._unit()._perp(),d=h._add(p)._unit(),v=d.x*p.x+d.y*p.y;d._mult(1/v),s.push(d._mult(e)._add(c))}r.push(s)}return r}(n,c*s)),function(t,e,r){for(var n=0;n<e.length;n++){var i=e[n];if(t.length>=3)for(var a=0;a<i.length;a++)if(wo(t,i[a]))return!0;if(go(t,i,r))return!0}return!1}(l,n,u)},e.prototype.isTileClipped=function(){return!0},e}(Hi);function hl(t,e){return e>0?e+2*t:t}var pl=Yi([{name:"a_pos_offset",components:4,type:"Int16"},{name:"a_data",components:4,type:"Uint16"},{name:"a_pixeloffset",components:4,type:"Int16"}],4),dl=Yi([{name:"a_projected_pos",components:3,type:"Float32"}],4),vl=(Yi([{name:"a_fade_opacity",components:1,type:"Uint32"}],4),Yi([{name:"a_placed",components:2,type:"Uint8"},{name:"a_shift",components:2,type:"Float32"}])),gl=(Yi([{type:"Int16",name:"anchorPointX"},{type:"Int16",name:"anchorPointY"},{type:"Int16",name:"x1"},{type:"Int16",name:"y1"},{type:"Int16",name:"x2"},{type:"Int16",name:"y2"},{type:"Uint32",name:"featureIndex"},{type:"Uint16",name:"sourceLayerIndex"},{type:"Uint16",name:"bucketIndex"}]),Yi([{name:"a_pos",components:2,type:"Int16"},{name:"a_anchor_pos",components:2,type:"Int16"},{name:"a_extrude",components:2,type:"Int16"}],4)),yl=Yi([{name:"a_pos",components:2,type:"Float32"},{name:"a_radius",components:1,type:"Float32"},{name:"a_flags",components:2,type:"Int16"}],4);function ml(t,e,r){return t.sections.forEach((function(t){t.text=function(t,e,r){var n=e.layout.get("text-transform").evaluate(r,{});return"uppercase"===n?t=t.toLocaleUpperCase():"lowercase"===n&&(t=t.toLocaleLowerCase()),Mi.applyArabicShaping&&(t=Mi.applyArabicShaping(t)),t}(t.text,e,r)})),t}Yi([{name:"triangle",components:3,type:"Uint16"}]),Yi([{type:"Int16",name:"anchorX"},{type:"Int16",name:"anchorY"},{type:"Uint16",name:"glyphStartIndex"},{type:"Uint16",name:"numGlyphs"},{type:"Uint32",name:"vertexStartIndex"},{type:"Uint32",name:"lineStartIndex"},{type:"Uint32",name:"lineLength"},{type:"Uint16",name:"segment"},{type:"Uint16",name:"lowerSize"},{type:"Uint16",name:"upperSize"},{type:"Float32",name:"lineOffsetX"},{type:"Float32",name:"lineOffsetY"},{type:"Uint8",name:"writingMode"},{type:"Uint8",name:"placedOrientation"},{type:"Uint8",name:"hidden"},{type:"Uint32",name:"crossTileID"},{type:"Int16",name:"associatedIconIndex"}]),Yi([{type:"Int16",name:"anchorX"},{type:"Int16",name:"anchorY"},{type:"Int16",name:"rightJustifiedTextSymbolIndex"},{type:"Int16",name:"centerJustifiedTextSymbolIndex"},{type:"Int16",name:"leftJustifiedTextSymbolIndex"},{type:"Int16",name:"verticalPlacedTextSymbolIndex"},{type:"Int16",name:"placedIconSymbolIndex"},{type:"Int16",name:"verticalPlacedIconSymbolIndex"},{type:"Uint16",name:"key"},{type:"Uint16",name:"textBoxStartIndex"},{type:"Uint16",name:"textBoxEndIndex"},{type:"Uint16",name:"verticalTextBoxStartIndex"},{type:"Uint16",name:"verticalTextBoxEndIndex"},{type:"Uint16",name:"iconBoxStartIndex"},{type:"Uint16",name:"iconBoxEndIndex"},{type:"Uint16",name:"verticalIconBoxStartIndex"},{type:"Uint16",name:"verticalIconBoxEndIndex"},{type:"Uint16",name:"featureIndex"},{type:"Uint16",name:"numHorizontalGlyphVertices"},{type:"Uint16",name:"numVerticalGlyphVertices"},{type:"Uint16",name:"numIconVertices"},{type:"Uint16",name:"numVerticalIconVertices"},{type:"Uint16",name:"useRuntimeCollisionCircles"},{type:"Uint32",name:"crossTileID"},{type:"Float32",name:"textBoxScale"},{type:"Float32",components:2,name:"textOffset"},{type:"Float32",name:"collisionCircleDiameter"}]),Yi([{type:"Float32",name:"offsetX"}]),Yi([{type:"Int16",name:"x"},{type:"Int16",name:"y"},{type:"Int16",name:"tileUnitDistanceFromAnchor"}]);var xl={"!":"︕","#":"#",$:"$","%":"%","&":"&","(":"︵",")":"︶","*":"*","+":"+",",":"︐","-":"︲",".":"・","/":"/",":":"︓",";":"︔","<":"︿","=":"=",">":"﹀","?":"︖","@":"@","[":"﹇","\\":"\","]":"﹈","^":"^",_:"︳","`":"`","{":"︷","|":"―","}":"︸","~":"~","¢":"¢","£":"£","¥":"¥","¦":"¦","¬":"¬","¯":" ̄","–":"︲","—":"︱","‘":"﹃","’":"﹄","“":"﹁","”":"﹂","…":"︙","‧":"・","₩":"₩","、":"︑","。":"︒","〈":"︿","〉":"﹀","《":"︽","》":"︾","「":"﹁","」":"﹂","『":"﹃","』":"﹄","【":"︻","】":"︼","〔":"︹","〕":"︺","〖":"︗","〗":"︘","!":"︕","(":"︵",")":"︶",",":"︐","-":"︲",".":"・",":":"︓",";":"︔","<":"︿",">":"﹀","?":"︖","[":"﹇","]":"﹈","_":"︳","{":"︷","|":"―","}":"︸","⦅":"︵","⦆":"︶","。":"︒","「":"﹁","」":"﹂"};var bl=24,_l=function(t,e,r,n,i){var a,o,s=8*i-n-1,l=(1<<s)-1,u=l>>1,c=-7,f=r?i-1:0,h=r?-1:1,p=t[e+f];for(f+=h,a=p&(1<<-c)-1,p>>=-c,c+=s;c>0;a=256*a+t[e+f],f+=h,c-=8);for(o=a&(1<<-c)-1,a>>=-c,c+=n;c>0;o=256*o+t[e+f],f+=h,c-=8);if(0===a)a=1-u;else{if(a===l)return o?NaN:1/0*(p?-1:1);o+=Math.pow(2,n),a-=u}return(p?-1:1)*o*Math.pow(2,a-n)},wl=function(t,e,r,n,i,a){var o,s,l,u=8*a-i-1,c=(1<<u)-1,f=c>>1,h=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:a-1,d=n?1:-1,v=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(s=isNaN(e)?1:0,o=c):(o=Math.floor(Math.log(e)/Math.LN2),e*(l=Math.pow(2,-o))<1&&(o--,l*=2),(e+=o+f>=1?h/l:h*Math.pow(2,1-f))*l>=2&&(o++,l/=2),o+f>=c?(s=0,o=c):o+f>=1?(s=(e*l-1)*Math.pow(2,i),o+=f):(s=e*Math.pow(2,f-1)*Math.pow(2,i),o=0));i>=8;t[r+p]=255&s,p+=d,s/=256,i-=8);for(o=o<<i|s,u+=i;u>0;t[r+p]=255&o,p+=d,o/=256,u-=8);t[r+p-d]|=128*v},Tl=kl;function kl(t){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(t)?t:new Uint8Array(t||0),this.pos=0,this.type=0,this.length=this.buf.length}kl.Varint=0,kl.Fixed64=1,kl.Bytes=2,kl.Fixed32=5;var Al=4294967296,Ml=1/Al,Sl="undefined"==typeof TextDecoder?null:new TextDecoder("utf8");function El(t){return t.type===kl.Bytes?t.readVarint()+t.pos:t.pos+1}function Ll(t,e,r){return r?4294967296*e+(t>>>0):4294967296*(e>>>0)+(t>>>0)}function Cl(t,e,r){var n=e<=16383?1:e<=2097151?2:e<=268435455?3:Math.floor(Math.log(e)/(7*Math.LN2));r.realloc(n);for(var i=r.pos-1;i>=t;i--)r.buf[i+n]=r.buf[i]}function Pl(t,e){for(var r=0;r<t.length;r++)e.writeVarint(t[r])}function Ol(t,e){for(var r=0;r<t.length;r++)e.writeSVarint(t[r])}function Il(t,e){for(var r=0;r<t.length;r++)e.writeFloat(t[r])}function Dl(t,e){for(var r=0;r<t.length;r++)e.writeDouble(t[r])}function zl(t,e){for(var r=0;r<t.length;r++)e.writeBoolean(t[r])}function Rl(t,e){for(var r=0;r<t.length;r++)e.writeFixed32(t[r])}function Fl(t,e){for(var r=0;r<t.length;r++)e.writeSFixed32(t[r])}function Bl(t,e){for(var r=0;r<t.length;r++)e.writeFixed64(t[r])}function Nl(t,e){for(var r=0;r<t.length;r++)e.writeSFixed64(t[r])}function jl(t,e){return(t[e]|t[e+1]<<8|t[e+2]<<16)+16777216*t[e+3]}function Ul(t,e,r){t[r]=e,t[r+1]=e>>>8,t[r+2]=e>>>16,t[r+3]=e>>>24}function Vl(t,e){return(t[e]|t[e+1]<<8|t[e+2]<<16)+(t[e+3]<<24)}kl.prototype={destroy:function(){this.buf=null},readFields:function(t,e,r){for(r=r||this.length;this.pos<r;){var n=this.readVarint(),i=n>>3,a=this.pos;this.type=7&n,t(i,e,this),this.pos===a&&this.skip(n)}return e},readMessage:function(t,e){return this.readFields(t,e,this.readVarint()+this.pos)},readFixed32:function(){var t=jl(this.buf,this.pos);return this.pos+=4,t},readSFixed32:function(){var t=Vl(this.buf,this.pos);return this.pos+=4,t},readFixed64:function(){var t=jl(this.buf,this.pos)+jl(this.buf,this.pos+4)*Al;return this.pos+=8,t},readSFixed64:function(){var t=jl(this.buf,this.pos)+Vl(this.buf,this.pos+4)*Al;return this.pos+=8,t},readFloat:function(){var t=_l(this.buf,this.pos,!0,23,4);return this.pos+=4,t},readDouble:function(){var t=_l(this.buf,this.pos,!0,52,8);return this.pos+=8,t},readVarint:function(t){var e,r,n=this.buf;return e=127&(r=n[this.pos++]),r<128?e:(e|=(127&(r=n[this.pos++]))<<7,r<128?e:(e|=(127&(r=n[this.pos++]))<<14,r<128?e:(e|=(127&(r=n[this.pos++]))<<21,r<128?e:function(t,e,r){var n,i,a=r.buf;if(n=(112&(i=a[r.pos++]))>>4,i<128)return Ll(t,n,e);if(n|=(127&(i=a[r.pos++]))<<3,i<128)return Ll(t,n,e);if(n|=(127&(i=a[r.pos++]))<<10,i<128)return Ll(t,n,e);if(n|=(127&(i=a[r.pos++]))<<17,i<128)return Ll(t,n,e);if(n|=(127&(i=a[r.pos++]))<<24,i<128)return Ll(t,n,e);if(n|=(1&(i=a[r.pos++]))<<31,i<128)return Ll(t,n,e);throw new Error("Expected varint not more than 10 bytes")}(e|=(15&(r=n[this.pos]))<<28,t,this))))},readVarint64:function(){return this.readVarint(!0)},readSVarint:function(){var t=this.readVarint();return t%2==1?(t+1)/-2:t/2},readBoolean:function(){return Boolean(this.readVarint())},readString:function(){var t=this.readVarint()+this.pos,e=this.pos;return this.pos=t,t-e>=12&&Sl?function(t,e,r){return Sl.decode(t.subarray(e,r))}(this.buf,e,t):function(t,e,r){for(var n="",i=e;i<r;){var a,o,s,l=t[i],u=null,c=l>239?4:l>223?3:l>191?2:1;if(i+c>r)break;1===c?l<128&&(u=l):2===c?128==(192&(a=t[i+1]))&&(u=(31&l)<<6|63&a)<=127&&(u=null):3===c?(a=t[i+1],o=t[i+2],128==(192&a)&&128==(192&o)&&((u=(15&l)<<12|(63&a)<<6|63&o)<=2047||u>=55296&&u<=57343)&&(u=null)):4===c&&(a=t[i+1],o=t[i+2],s=t[i+3],128==(192&a)&&128==(192&o)&&128==(192&s)&&((u=(15&l)<<18|(63&a)<<12|(63&o)<<6|63&s)<=65535||u>=1114112)&&(u=null)),null===u?(u=65533,c=1):u>65535&&(u-=65536,n+=String.fromCharCode(u>>>10&1023|55296),u=56320|1023&u),n+=String.fromCharCode(u),i+=c}return n}(this.buf,e,t)},readBytes:function(){var t=this.readVarint()+this.pos,e=this.buf.subarray(this.pos,t);return this.pos=t,e},readPackedVarint:function(t,e){if(this.type!==kl.Bytes)return t.push(this.readVarint(e));var r=El(this);for(t=t||[];this.pos<r;)t.push(this.readVarint(e));return t},readPackedSVarint:function(t){if(this.type!==kl.Bytes)return t.push(this.readSVarint());var e=El(this);for(t=t||[];this.pos<e;)t.push(this.readSVarint());return t},readPackedBoolean:function(t){if(this.type!==kl.Bytes)return t.push(this.readBoolean());var e=El(this);for(t=t||[];this.pos<e;)t.push(this.readBoolean());return t},readPackedFloat:function(t){if(this.type!==kl.Bytes)return t.push(this.readFloat());var e=El(this);for(t=t||[];this.pos<e;)t.push(this.readFloat());return t},readPackedDouble:function(t){if(this.type!==kl.Bytes)return t.push(this.readDouble());var e=El(this);for(t=t||[];this.pos<e;)t.push(this.readDouble());return t},readPackedFixed32:function(t){if(this.type!==kl.Bytes)return t.push(this.readFixed32());var e=El(this);for(t=t||[];this.pos<e;)t.push(this.readFixed32());return t},readPackedSFixed32:function(t){if(this.type!==kl.Bytes)return t.push(this.readSFixed32());var e=El(this);for(t=t||[];this.pos<e;)t.push(this.readSFixed32());return t},readPackedFixed64:function(t){if(this.type!==kl.Bytes)return t.push(this.readFixed64());var e=El(this);for(t=t||[];this.pos<e;)t.push(this.readFixed64());return t},readPackedSFixed64:function(t){if(this.type!==kl.Bytes)return t.push(this.readSFixed64());var e=El(this);for(t=t||[];this.pos<e;)t.push(this.readSFixed64());return t},skip:function(t){var e=7&t;if(e===kl.Varint)for(;this.buf[this.pos++]>127;);else if(e===kl.Bytes)this.pos=this.readVarint()+this.pos;else if(e===kl.Fixed32)this.pos+=4;else{if(e!==kl.Fixed64)throw new Error("Unimplemented type: "+e);this.pos+=8}},writeTag:function(t,e){this.writeVarint(t<<3|e)},realloc:function(t){for(var e=this.length||16;e<this.pos+t;)e*=2;if(e!==this.length){var r=new Uint8Array(e);r.set(this.buf),this.buf=r,this.length=e}},finish:function(){return this.length=this.pos,this.pos=0,this.buf.subarray(0,this.length)},writeFixed32:function(t){this.realloc(4),Ul(this.buf,t,this.pos),this.pos+=4},writeSFixed32:function(t){this.realloc(4),Ul(this.buf,t,this.pos),this.pos+=4},writeFixed64:function(t){this.realloc(8),Ul(this.buf,-1&t,this.pos),Ul(this.buf,Math.floor(t*Ml),this.pos+4),this.pos+=8},writeSFixed64:function(t){this.realloc(8),Ul(this.buf,-1&t,this.pos),Ul(this.buf,Math.floor(t*Ml),this.pos+4),this.pos+=8},writeVarint:function(t){(t=+t||0)>268435455||t<0?function(t,e){var r,n;if(t>=0?(r=t%4294967296|0,n=t/4294967296|0):(n=~(-t/4294967296),4294967295^(r=~(-t%4294967296))?r=r+1|0:(r=0,n=n+1|0)),t>=0x10000000000000000||t<-0x10000000000000000)throw new Error("Given varint doesn't fit into 10 bytes");e.realloc(10),function(t,e,r){r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos]=127&t}(r,0,e),function(t,e){var r=(7&t)<<4;e.buf[e.pos++]|=r|((t>>>=3)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t)))))}(n,e)}(t,this):(this.realloc(4),this.buf[this.pos++]=127&t|(t>127?128:0),t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=t>>>7&127))))},writeSVarint:function(t){this.writeVarint(t<0?2*-t-1:2*t)},writeBoolean:function(t){this.writeVarint(Boolean(t))},writeString:function(t){t=String(t),this.realloc(4*t.length),this.pos++;var e=this.pos;this.pos=function(t,e,r){for(var n,i,a=0;a<e.length;a++){if((n=e.charCodeAt(a))>55295&&n<57344){if(!i){n>56319||a+1===e.length?(t[r++]=239,t[r++]=191,t[r++]=189):i=n;continue}if(n<56320){t[r++]=239,t[r++]=191,t[r++]=189,i=n;continue}n=i-55296<<10|n-56320|65536,i=null}else i&&(t[r++]=239,t[r++]=191,t[r++]=189,i=null);n<128?t[r++]=n:(n<2048?t[r++]=n>>6|192:(n<65536?t[r++]=n>>12|224:(t[r++]=n>>18|240,t[r++]=n>>12&63|128),t[r++]=n>>6&63|128),t[r++]=63&n|128)}return r}(this.buf,t,this.pos);var r=this.pos-e;r>=128&&Cl(e,r,this),this.pos=e-1,this.writeVarint(r),this.pos+=r},writeFloat:function(t){this.realloc(4),wl(this.buf,t,this.pos,!0,23,4),this.pos+=4},writeDouble:function(t){this.realloc(8),wl(this.buf,t,this.pos,!0,52,8),this.pos+=8},writeBytes:function(t){var e=t.length;this.writeVarint(e),this.realloc(e);for(var r=0;r<e;r++)this.buf[this.pos++]=t[r]},writeRawMessage:function(t,e){this.pos++;var r=this.pos;t(e,this);var n=this.pos-r;n>=128&&Cl(r,n,this),this.pos=r-1,this.writeVarint(n),this.pos+=n},writeMessage:function(t,e,r){this.writeTag(t,kl.Bytes),this.writeRawMessage(e,r)},writePackedVarint:function(t,e){e.length&&this.writeMessage(t,Pl,e)},writePackedSVarint:function(t,e){e.length&&this.writeMessage(t,Ol,e)},writePackedBoolean:function(t,e){e.length&&this.writeMessage(t,zl,e)},writePackedFloat:function(t,e){e.length&&this.writeMessage(t,Il,e)},writePackedDouble:function(t,e){e.length&&this.writeMessage(t,Dl,e)},writePackedFixed32:function(t,e){e.length&&this.writeMessage(t,Rl,e)},writePackedSFixed32:function(t,e){e.length&&this.writeMessage(t,Fl,e)},writePackedFixed64:function(t,e){e.length&&this.writeMessage(t,Bl,e)},writePackedSFixed64:function(t,e){e.length&&this.writeMessage(t,Nl,e)},writeBytesField:function(t,e){this.writeTag(t,kl.Bytes),this.writeBytes(e)},writeFixed32Field:function(t,e){this.writeTag(t,kl.Fixed32),this.writeFixed32(e)},writeSFixed32Field:function(t,e){this.writeTag(t,kl.Fixed32),this.writeSFixed32(e)},writeFixed64Field:function(t,e){this.writeTag(t,kl.Fixed64),this.writeFixed64(e)},writeSFixed64Field:function(t,e){this.writeTag(t,kl.Fixed64),this.writeSFixed64(e)},writeVarintField:function(t,e){this.writeTag(t,kl.Varint),this.writeVarint(e)},writeSVarintField:function(t,e){this.writeTag(t,kl.Varint),this.writeSVarint(e)},writeStringField:function(t,e){this.writeTag(t,kl.Bytes),this.writeString(e)},writeFloatField:function(t,e){this.writeTag(t,kl.Fixed32),this.writeFloat(e)},writeDoubleField:function(t,e){this.writeTag(t,kl.Fixed64),this.writeDouble(e)},writeBooleanField:function(t,e){this.writeVarintField(t,Boolean(e))}};function Hl(t,e,r){1===t&&r.readMessage(ql,e)}function ql(t,e,r){if(3===t){var n=r.readMessage(Gl,{}),i=n.id,a=n.bitmap,o=n.width,s=n.height,l=n.left,u=n.top,c=n.advance;e.push({id:i,bitmap:new Ho({width:o+6,height:s+6},a),metrics:{width:o,height:s,left:l,top:u,advance:c}})}}function Gl(t,e,r){1===t?e.id=r.readVarint():2===t?e.bitmap=r.readBytes():3===t?e.width=r.readVarint():4===t?e.height=r.readVarint():5===t?e.left=r.readSVarint():6===t?e.top=r.readSVarint():7===t&&(e.advance=r.readVarint())}function Zl(t){for(var e=0,r=0,n=0,i=t;n<i.length;n+=1){var a=i[n];e+=a.w*a.h,r=Math.max(r,a.w)}t.sort((function(t,e){return e.h-t.h}));for(var o=[{x:0,y:0,w:Math.max(Math.ceil(Math.sqrt(e/.95)),r),h:1/0}],s=0,l=0,u=0,c=t;u<c.length;u+=1)for(var f=c[u],h=o.length-1;h>=0;h--){var p=o[h];if(!(f.w>p.w||f.h>p.h)){if(f.x=p.x,f.y=p.y,l=Math.max(l,f.y+f.h),s=Math.max(s,f.x+f.w),f.w===p.w&&f.h===p.h){var d=o.pop();h<o.length&&(o[h]=d)}else f.h===p.h?(p.x+=f.w,p.w-=f.w):f.w===p.w?(p.y+=f.h,p.h-=f.h):(o.push({x:p.x+f.w,y:p.y,w:p.w-f.w,h:f.h}),p.y+=f.h,p.h-=f.h);break}}return{w:s,h:l,fill:e/(s*l)||0}}var Yl=function(t,e){var r=e.pixelRatio,n=e.version,i=e.stretchX,a=e.stretchY,o=e.content;this.paddedRect=t,this.pixelRatio=r,this.stretchX=i,this.stretchY=a,this.content=o,this.version=n},Wl={tl:{configurable:!0},br:{configurable:!0},tlbr:{configurable:!0},displaySize:{configurable:!0}};Wl.tl.get=function(){return[this.paddedRect.x+1,this.paddedRect.y+1]},Wl.br.get=function(){return[this.paddedRect.x+this.paddedRect.w-1,this.paddedRect.y+this.paddedRect.h-1]},Wl.tlbr.get=function(){return this.tl.concat(this.br)},Wl.displaySize.get=function(){return[(this.paddedRect.w-2)/this.pixelRatio,(this.paddedRect.h-2)/this.pixelRatio]},Object.defineProperties(Yl.prototype,Wl);var Xl=function(t,e){var r={},n={};this.haveRenderCallbacks=[];var i=[];this.addImages(t,r,i),this.addImages(e,n,i);var a=Zl(i),o=a.w,s=a.h,l=new qo({width:o||1,height:s||1});for(var u in t){var c=t[u],f=r[u].paddedRect;qo.copy(c.data,l,{x:0,y:0},{x:f.x+1,y:f.y+1},c.data)}for(var h in e){var p=e[h],d=n[h].paddedRect,v=d.x+1,g=d.y+1,y=p.data.width,m=p.data.height;qo.copy(p.data,l,{x:0,y:0},{x:v,y:g},p.data),qo.copy(p.data,l,{x:0,y:m-1},{x:v,y:g-1},{width:y,height:1}),qo.copy(p.data,l,{x:0,y:0},{x:v,y:g+m},{width:y,height:1}),qo.copy(p.data,l,{x:y-1,y:0},{x:v-1,y:g},{width:1,height:m}),qo.copy(p.data,l,{x:0,y:0},{x:v+y,y:g},{width:1,height:m})}this.image=l,this.iconPositions=r,this.patternPositions=n};Xl.prototype.addImages=function(t,e,r){for(var n in t){var i=t[n],a={x:0,y:0,w:i.data.width+2,h:i.data.height+2};r.push(a),e[n]=new Yl(a,i),i.hasRenderCallback&&this.haveRenderCallbacks.push(n)}},Xl.prototype.patchUpdatedImages=function(t,e){for(var r in t.dispatchRenderCallbacks(this.haveRenderCallbacks),t.updatedImages)this.patchUpdatedImage(this.iconPositions[r],t.getImage(r),e),this.patchUpdatedImage(this.patternPositions[r],t.getImage(r),e)},Xl.prototype.patchUpdatedImage=function(t,e,r){if(t&&e&&t.version!==e.version){t.version=e.version;var n=t.tl,i=n[0],a=n[1];r.update(e.data,void 0,{x:i,y:a})}},Qn("ImagePosition",Yl),Qn("ImageAtlas",Xl);var Jl={horizontal:1,vertical:2,horizontalOnly:3},Kl=-17;var $l=function(){this.scale=1,this.fontStack="",this.imageName=null};$l.forText=function(t,e){var r=new $l;return r.scale=t||1,r.fontStack=e,r},$l.forImage=function(t){var e=new $l;return e.imageName=t,e};var Ql=function(){this.text="",this.sectionIndex=[],this.sections=[],this.imageSectionID=null};function tu(t,e,r,n,i,a,o,s,l,u,c,f,h,p,d,v){var g,y=Ql.fromFeature(t,i);f===Jl.vertical&&y.verticalizePunctuation();var m=Mi.processBidirectionalText,x=Mi.processStyledBidirectionalText;if(m&&1===y.sections.length){g=[];for(var b=0,_=m(y.toString(),lu(y,u,a,e,n,p,d));b<_.length;b+=1){var w=_[b],T=new Ql;T.text=w,T.sections=y.sections;for(var k=0;k<w.length;k++)T.sectionIndex.push(0);g.push(T)}}else if(x){g=[];for(var A=0,M=x(y.text,y.sectionIndex,lu(y,u,a,e,n,p,d));A<M.length;A+=1){var S=M[A],E=new Ql;E.text=S[0],E.sectionIndex=S[1],E.sections=y.sections,g.push(E)}}else g=function(t,e){for(var r=[],n=t.text,i=0,a=0,o=e;a<o.length;a+=1){var s=o[a];r.push(t.substring(i,s)),i=s}return i<n.length&&r.push(t.substring(i,n.length)),r}(y,lu(y,u,a,e,n,p,d));var L=[],C={positionedLines:L,text:y.toString(),top:c[1],bottom:c[1],left:c[0],right:c[0],writingMode:f,iconsInText:!1,verticalizable:!1};return function(t,e,r,n,i,a,o,s,l,u,c,f){for(var h=0,p=Kl,d=0,v=0,g="right"===s?1:"left"===s?0:.5,y=0,m=0,x=i;m<x.length;m+=1){var b=x[m];b.trim();var _=b.getMaxScale(),w=(_-1)*bl,T={positionedGlyphs:[],lineOffset:0};t.positionedLines[y]=T;var k=T.positionedGlyphs,A=0;if(b.length()){for(var M=0;M<b.length();M++){var S=b.getSection(M),E=b.getSectionIndex(M),L=b.getCharCode(M),C=0,P=null,O=null,I=null,D=bl,z=!(l===Jl.horizontal||!c&&!li(L)||c&&(eu[L]||ci(L)));if(S.imageName){var R=n[S.imageName];if(!R)continue;I=S.imageName,t.iconsInText=t.iconsInText||!0,O=R.paddedRect;var F=R.displaySize;S.scale=S.scale*bl/f,P={width:F[0],height:F[1],left:1,top:-3,advance:z?F[1]:F[0]},C=w+(bl-F[1]*S.scale),D=P.advance;var B=z?F[0]*S.scale-bl*_:F[1]*S.scale-bl*_;B>0&&B>A&&(A=B)}else{var N=r[S.fontStack],j=N&&N[L];if(j&&j.rect)O=j.rect,P=j.metrics;else{var U=e[S.fontStack],V=U&&U[L];if(!V)continue;P=V.metrics}C=(_-S.scale)*bl}z?(t.verticalizable=!0,k.push({glyph:L,imageName:I,x:h,y:p+C,vertical:z,scale:S.scale,fontStack:S.fontStack,sectionIndex:E,metrics:P,rect:O}),h+=D*S.scale+u):(k.push({glyph:L,imageName:I,x:h,y:p+C,vertical:z,scale:S.scale,fontStack:S.fontStack,sectionIndex:E,metrics:P,rect:O}),h+=P.advance*S.scale+u)}if(0!==k.length){var H=h-u;d=Math.max(H,d),cu(k,0,k.length-1,g,A)}h=0;var q=a*_+A;T.lineOffset=Math.max(A,w),p+=q,v=Math.max(q,v),++y}else p+=a,++y}var G=p-Kl,Z=uu(o),Y=Z.horizontalAlign,W=Z.verticalAlign;(function(t,e,r,n,i,a,o,s,l){var u=(e-r)*i,c=0;c=a!==o?-s*n-Kl:(-n*l+.5)*o;for(var f=0,h=t;f<h.length;f+=1)for(var p=0,d=h[f].positionedGlyphs;p<d.length;p+=1){var v=d[p];v.x+=u,v.y+=c}})(t.positionedLines,g,Y,W,d,v,a,G,i.length),t.top+=-W*G,t.bottom=t.top+G,t.left+=-Y*d,t.right=t.left+d}(C,e,r,n,g,o,s,l,f,u,h,v),!function(t){for(var e=0,r=t;e<r.length;e+=1)if(0!==r[e].positionedGlyphs.length)return!1;return!0}(L)&&C}Ql.fromFeature=function(t,e){for(var r=new Ql,n=0;n<t.sections.length;n++){var i=t.sections[n];i.image?r.addImageSection(i):r.addTextSection(i,e)}return r},Ql.prototype.length=function(){return this.text.length},Ql.prototype.getSection=function(t){return this.sections[this.sectionIndex[t]]},Ql.prototype.getSectionIndex=function(t){return this.sectionIndex[t]},Ql.prototype.getCharCode=function(t){return this.text.charCodeAt(t)},Ql.prototype.verticalizePunctuation=function(){this.text=function(t){for(var e="",r=0;r<t.length;r++){var n=t.charCodeAt(r+1)||null,i=t.charCodeAt(r-1)||null;n&&ui(n)&&!xl[t[r+1]]||i&&ui(i)&&!xl[t[r-1]]||!xl[t[r]]?e+=t[r]:e+=xl[t[r]]}return e}(this.text)},Ql.prototype.trim=function(){for(var t=0,e=0;e<this.text.length&&eu[this.text.charCodeAt(e)];e++)t++;for(var r=this.text.length,n=this.text.length-1;n>=0&&n>=t&&eu[this.text.charCodeAt(n)];n--)r--;this.text=this.text.substring(t,r),this.sectionIndex=this.sectionIndex.slice(t,r)},Ql.prototype.substring=function(t,e){var r=new Ql;return r.text=this.text.substring(t,e),r.sectionIndex=this.sectionIndex.slice(t,e),r.sections=this.sections,r},Ql.prototype.toString=function(){return this.text},Ql.prototype.getMaxScale=function(){var t=this;return this.sectionIndex.reduce((function(e,r){return Math.max(e,t.sections[r].scale)}),0)},Ql.prototype.addTextSection=function(t,e){this.text+=t.text,this.sections.push($l.forText(t.scale,t.fontStack||e));for(var r=this.sections.length-1,n=0;n<t.text.length;++n)this.sectionIndex.push(r)},Ql.prototype.addImageSection=function(t){var e=t.image?t.image.name:"";if(0!==e.length){var r=this.getNextImageSectionCharCode();r?(this.text+=String.fromCharCode(r),this.sections.push($l.forImage(e)),this.sectionIndex.push(this.sections.length-1)):w("Reached maximum number of images 6401")}else w("Can't add FormattedSection with an empty image.")},Ql.prototype.getNextImageSectionCharCode=function(){return this.imageSectionID?this.imageSectionID>=63743?null:++this.imageSectionID:(this.imageSectionID=57344,this.imageSectionID)};var eu={9:!0,10:!0,11:!0,12:!0,13:!0,32:!0},ru={};function nu(t,e,r,n,i,a){if(e.imageName){var o=n[e.imageName];return o?o.displaySize[0]*e.scale*bl/a+i:0}var s=r[e.fontStack],l=s&&s[t];return l?l.metrics.advance*e.scale+i:0}function iu(t,e,r,n){var i=Math.pow(t-e,2);return n?t<e?i/2:2*i:i+Math.abs(r)*r}function au(t,e,r){var n=0;return 10===t&&(n-=1e4),r&&(n+=150),40!==t&&65288!==t||(n+=50),41!==e&&65289!==e||(n+=50),n}function ou(t,e,r,n,i,a){for(var o=null,s=iu(e,r,i,a),l=0,u=n;l<u.length;l+=1){var c=u[l],f=iu(e-c.x,r,i,a)+c.badness;f<=s&&(o=c,s=f)}return{index:t,x:e,priorBreak:o,badness:s}}function su(t){return t?su(t.priorBreak).concat(t.index):[]}function lu(t,e,r,n,i,a,o){if("point"!==a)return[];if(!t)return[];for(var s=[],l=function(t,e,r,n,i,a){for(var o=0,s=0;s<t.length();s++){var l=t.getSection(s);o+=nu(t.getCharCode(s),l,n,i,e,a)}return o/Math.max(1,Math.ceil(o/r))}(t,e,r,n,i,o),u=t.text.indexOf("")>=0,c=0,f=0;f<t.length();f++){var h=t.getSection(f),p=t.getCharCode(f);if(eu[p]||(c+=nu(p,h,n,i,e,o)),f<t.length()-1){var d=!((v=p)<11904||!(oi["Bopomofo Extended"](v)||oi.Bopomofo(v)||oi["CJK Compatibility Forms"](v)||oi["CJK Compatibility Ideographs"](v)||oi["CJK Compatibility"](v)||oi["CJK Radicals Supplement"](v)||oi["CJK Strokes"](v)||oi["CJK Symbols and Punctuation"](v)||oi["CJK Unified Ideographs Extension A"](v)||oi["CJK Unified Ideographs"](v)||oi["Enclosed CJK Letters and Months"](v)||oi["Halfwidth and Fullwidth Forms"](v)||oi.Hiragana(v)||oi["Ideographic Description Characters"](v)||oi["Kangxi Radicals"](v)||oi["Katakana Phonetic Extensions"](v)||oi.Katakana(v)||oi["Vertical Forms"](v)||oi["Yi Radicals"](v)||oi["Yi Syllables"](v)));(ru[p]||d||h.imageName)&&s.push(ou(f+1,c,l,s,au(p,t.getCharCode(f+1),d&&u),!1))}}var v;return su(ou(t.length(),c,l,s,0,!0))}function uu(t){var e=.5,r=.5;switch(t){case"right":case"top-right":case"bottom-right":e=1;break;case"left":case"top-left":case"bottom-left":e=0}switch(t){case"bottom":case"bottom-right":case"bottom-left":r=1;break;case"top":case"top-right":case"top-left":r=0}return{horizontalAlign:e,verticalAlign:r}}function cu(t,e,r,n,i){if(n||i)for(var a=t[r],o=a.metrics.advance*a.scale,s=(t[r].x+o)*n,l=e;l<=r;l++)t[l].x-=s,t[l].y+=i}function fu(t,e,r,n,i,a){var o,s=t.image;if(s.content){var l=s.content,u=s.pixelRatio||1;o=[l[0]/u,l[1]/u,s.displaySize[0]-l[2]/u,s.displaySize[1]-l[3]/u]}var c,f,h,p,d=e.left*a,v=e.right*a;"width"===r||"both"===r?(p=i[0]+d-n[3],f=i[0]+v+n[1]):f=(p=i[0]+(d+v-s.displaySize[0])/2)+s.displaySize[0];var g=e.top*a,y=e.bottom*a;return"height"===r||"both"===r?(c=i[1]+g-n[0],h=i[1]+y+n[2]):h=(c=i[1]+(g+y-s.displaySize[1])/2)+s.displaySize[1],{image:s,top:c,right:f,bottom:h,left:p,collisionPadding:o}}ru[10]=!0,ru[32]=!0,ru[38]=!0,ru[40]=!0,ru[41]=!0,ru[43]=!0,ru[45]=!0,ru[47]=!0,ru[173]=!0,ru[183]=!0,ru[8203]=!0,ru[8208]=!0,ru[8211]=!0,ru[8231]=!0;var hu=function(t){function e(e,r,n,i){t.call(this,e,r),this.angle=n,void 0!==i&&(this.segment=i)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.clone=function(){return new e(this.x,this.y,this.angle,this.segment)},e}(a);Qn("Anchor",hu);var pu=128;function du(t,e){var r=e.expression;if("constant"===r.kind)return{kind:"constant",layoutSize:r.evaluate(new Si(t+1))};if("source"===r.kind)return{kind:"source"};for(var n=r.zoomStops,i=r.interpolationType,a=0;a<n.length&&n[a]<=t;)a++;for(var o=a=Math.max(0,a-1);o<n.length&&n[o]<t+1;)o++;o=Math.min(n.length-1,o);var s=n[a],l=n[o];return"composite"===r.kind?{kind:"composite",minZoom:s,maxZoom:l,interpolationType:i}:{kind:"camera",minZoom:s,maxZoom:l,minSize:r.evaluate(new Si(s)),maxSize:r.evaluate(new Si(l)),interpolationType:i}}function vu(t,e,r){var n=e.uSize,i=e.uSizeT,a=r.lowerSize,o=r.upperSize;return"source"===t.kind?a/pu:"composite"===t.kind?Ke(a/pu,o/pu,i):n}function gu(t,e){var r=0,n=0;if("constant"===t.kind)n=t.layoutSize;else if("source"!==t.kind){var i=t.interpolationType,a=t.minZoom,o=t.maxZoom,s=i?u(gr.interpolationFactor(i,e,a,o),0,1):0;"camera"===t.kind?n=Ke(t.minSize,t.maxSize,s):r=s}return{uSizeT:r,uSize:n}}var yu=Object.freeze({__proto__:null,getSizeData:du,evaluateSizeForFeature:vu,evaluateSizeForZoom:gu,SIZE_PACK_FACTOR:pu});function mu(t,e,r,n,i){if(void 0===e.segment)return!0;for(var a=e,o=e.segment+1,s=0;s>-r/2;){if(--o<0)return!1;s-=t[o].dist(a),a=t[o]}s+=t[o].dist(t[o+1]),o++;for(var l=[],u=0;s<r/2;){var c=t[o-1],f=t[o],h=t[o+1];if(!h)return!1;var p=c.angleTo(f)-f.angleTo(h);for(p=Math.abs((p+3*Math.PI)%(2*Math.PI)-Math.PI),l.push({distance:s,angleDelta:p}),u+=p;s-l[0].distance>n;)u-=l.shift().angleDelta;if(u>i)return!1;o++,s+=f.dist(h)}return!0}function xu(t){for(var e=0,r=0;r<t.length-1;r++)e+=t[r].dist(t[r+1]);return e}function bu(t,e,r){return t?.6*e*r:0}function _u(t,e){return Math.max(t?t.right-t.left:0,e?e.right-e.left:0)}function wu(t,e,r,n,i,a){for(var o=bu(r,i,a),s=_u(r,n)*a,l=0,u=xu(t)/2,c=0;c<t.length-1;c++){var f=t[c],h=t[c+1],p=f.dist(h);if(l+p>u){var d=(u-l)/p,v=Ke(f.x,h.x,d),g=Ke(f.y,h.y,d),y=new hu(v,g,h.angleTo(f),c);return y._round(),!o||mu(t,y,s,o,e)?y:void 0}l+=p}}function Tu(t,e,r,n,i,a,o,s,l){var u=bu(n,a,o),c=_u(n,i),f=c*o,h=0===t[0].x||t[0].x===l||0===t[0].y||t[0].y===l;return e-f<e/4&&(e=f+e/4),ku(t,h?e/2*s%e:(c/2+2*a)*o*s%e,e,u,r,f,h,!1,l)}function ku(t,e,r,n,i,a,o,s,l){for(var u=a/2,c=xu(t),f=0,h=e-r,p=[],d=0;d<t.length-1;d++){for(var v=t[d],g=t[d+1],y=v.dist(g),m=g.angleTo(v);h+r<f+y;){var x=((h+=r)-f)/y,b=Ke(v.x,g.x,x),_=Ke(v.y,g.y,x);if(b>=0&&b<l&&_>=0&&_<l&&h-u>=0&&h+u<=c){var w=new hu(b,_,m,d);w._round(),n&&!mu(t,w,a,n,i)||p.push(w)}}f+=y}return s||p.length||o||(p=ku(t,f/2,r,n,i,a,o,!0,l)),p}function Au(t,e,r,n,i){for(var o=[],s=0;s<t.length;s++)for(var l=t[s],u=void 0,c=0;c<l.length-1;c++){var f=l[c],h=l[c+1];f.x<e&&h.x<e||(f.x<e?f=new a(e,f.y+(h.y-f.y)*((e-f.x)/(h.x-f.x)))._round():h.x<e&&(h=new a(e,f.y+(h.y-f.y)*((e-f.x)/(h.x-f.x)))._round()),f.y<r&&h.y<r||(f.y<r?f=new a(f.x+(h.x-f.x)*((r-f.y)/(h.y-f.y)),r)._round():h.y<r&&(h=new a(f.x+(h.x-f.x)*((r-f.y)/(h.y-f.y)),r)._round()),f.x>=n&&h.x>=n||(f.x>=n?f=new a(n,f.y+(h.y-f.y)*((n-f.x)/(h.x-f.x)))._round():h.x>=n&&(h=new a(n,f.y+(h.y-f.y)*((n-f.x)/(h.x-f.x)))._round()),f.y>=i&&h.y>=i||(f.y>=i?f=new a(f.x+(h.x-f.x)*((i-f.y)/(h.y-f.y)),i)._round():h.y>=i&&(h=new a(f.x+(h.x-f.x)*((i-f.y)/(h.y-f.y)),i)._round()),u&&f.equals(u[u.length-1])||(u=[f],o.push(u)),u.push(h)))))}return o}function Mu(t,e,r,n){var i=[],o=t.image,s=o.pixelRatio,l=o.paddedRect.w-2,u=o.paddedRect.h-2,c=t.right-t.left,f=t.bottom-t.top,h=o.stretchX||[[0,l]],p=o.stretchY||[[0,u]],d=function(t,e){return t+e[1]-e[0]},v=h.reduce(d,0),g=p.reduce(d,0),y=l-v,m=u-g,x=0,b=v,_=0,w=g,T=0,k=y,A=0,M=m;if(o.content&&n){var S=o.content;x=Su(h,0,S[0]),_=Su(p,0,S[1]),b=Su(h,S[0],S[2]),w=Su(p,S[1],S[3]),T=S[0]-x,A=S[1]-_,k=S[2]-S[0]-b,M=S[3]-S[1]-w}var E=function(n,i,l,u){var h=Lu(n.stretch-x,b,c,t.left),p=Cu(n.fixed-T,k,n.stretch,v),d=Lu(i.stretch-_,w,f,t.top),y=Cu(i.fixed-A,M,i.stretch,g),m=Lu(l.stretch-x,b,c,t.left),S=Cu(l.fixed-T,k,l.stretch,v),E=Lu(u.stretch-_,w,f,t.top),L=Cu(u.fixed-A,M,u.stretch,g),C=new a(h,d),P=new a(m,d),O=new a(m,E),I=new a(h,E),D=new a(p/s,y/s),z=new a(S/s,L/s),R=e*Math.PI/180;if(R){var F=Math.sin(R),B=Math.cos(R),N=[B,-F,F,B];C._matMult(N),P._matMult(N),I._matMult(N),O._matMult(N)}var j=n.stretch+n.fixed,U=l.stretch+l.fixed,V=i.stretch+i.fixed,H=u.stretch+u.fixed;return{tl:C,tr:P,bl:I,br:O,tex:{x:o.paddedRect.x+1+j,y:o.paddedRect.y+1+V,w:U-j,h:H-V},writingMode:void 0,glyphOffset:[0,0],sectionIndex:0,pixelOffsetTL:D,pixelOffsetBR:z,minFontScaleX:k/s/c,minFontScaleY:M/s/f,isSDF:r}};if(n&&(o.stretchX||o.stretchY))for(var L=Eu(h,y,v),C=Eu(p,m,g),P=0;P<L.length-1;P++)for(var O=L[P],I=L[P+1],D=0;D<C.length-1;D++){var z=C[D],R=C[D+1];i.push(E(O,z,I,R))}else i.push(E({fixed:0,stretch:-1},{fixed:0,stretch:-1},{fixed:0,stretch:l+1},{fixed:0,stretch:u+1}));return i}function Su(t,e,r){for(var n=0,i=0,a=t;i<a.length;i+=1){var o=a[i];n+=Math.max(e,Math.min(r,o[1]))-Math.max(e,Math.min(r,o[0]))}return n}function Eu(t,e,r){for(var n=[{fixed:-1,stretch:0}],i=0,a=t;i<a.length;i+=1){var o=a[i],s=o[0],l=o[1],u=n[n.length-1];n.push({fixed:s-u.stretch,stretch:u.stretch}),n.push({fixed:s-u.stretch,stretch:u.stretch+(l-s)})}return n.push({fixed:e+1,stretch:r}),n}function Lu(t,e,r,n){return t/e*r+n}function Cu(t,e,r,n){return t-e*r/n}var Pu=function(t,e,r,n,i,o,s,l,u,c){if(this.boxStartIndex=t.length,u){var f=o.top,h=o.bottom,p=o.collisionPadding;p&&(f-=p[1],h+=p[3]);var d=h-f;d>0&&(d=Math.max(10,d),this.circleDiameter=d)}else{var v=o.top*s-l,g=o.bottom*s+l,y=o.left*s-l,m=o.right*s+l,x=o.collisionPadding;if(x&&(y-=x[0]*s,v-=x[1]*s,m+=x[2]*s,g+=x[3]*s),c){var b=new a(y,v),_=new a(m,v),w=new a(y,g),T=new a(m,g),k=c*Math.PI/180;b._rotate(k),_._rotate(k),w._rotate(k),T._rotate(k),y=Math.min(b.x,_.x,w.x,T.x),m=Math.max(b.x,_.x,w.x,T.x),v=Math.min(b.y,_.y,w.y,T.y),g=Math.max(b.y,_.y,w.y,T.y)}t.emplaceBack(e.x,e.y,y,v,m,g,r,n,i)}this.boxEndIndex=t.length},Ou=function(t,e){if(void 0===t&&(t=[]),void 0===e&&(e=Iu),this.data=t,this.length=this.data.length,this.compare=e,this.length>0)for(var r=(this.length>>1)-1;r>=0;r--)this._down(r)};function Iu(t,e){return t<e?-1:t>e?1:0}function Du(t,e,r){void 0===e&&(e=1),void 0===r&&(r=!1);for(var n=1/0,i=1/0,o=-1/0,s=-1/0,l=t[0],u=0;u<l.length;u++){var c=l[u];(!u||c.x<n)&&(n=c.x),(!u||c.y<i)&&(i=c.y),(!u||c.x>o)&&(o=c.x),(!u||c.y>s)&&(s=c.y)}var f=o-n,h=s-i,p=Math.min(f,h),d=p/2,v=new Ou([],zu);if(0===p)return new a(n,i);for(var g=n;g<o;g+=p)for(var y=i;y<s;y+=p)v.push(new Ru(g+d,y+d,d,t));for(var m=function(t){for(var e=0,r=0,n=0,i=t[0],a=0,o=i.length,s=o-1;a<o;s=a++){var l=i[a],u=i[s],c=l.x*u.y-u.x*l.y;r+=(l.x+u.x)*c,n+=(l.y+u.y)*c,e+=3*c}return new Ru(r/e,n/e,0,t)}(t),x=v.length;v.length;){var b=v.pop();(b.d>m.d||!m.d)&&(m=b,r&&console.log("found best %d after %d probes",Math.round(1e4*b.d)/1e4,x)),b.max-m.d<=e||(d=b.h/2,v.push(new Ru(b.p.x-d,b.p.y-d,d,t)),v.push(new Ru(b.p.x+d,b.p.y-d,d,t)),v.push(new Ru(b.p.x-d,b.p.y+d,d,t)),v.push(new Ru(b.p.x+d,b.p.y+d,d,t)),x+=4)}return r&&(console.log("num probes: "+x),console.log("best distance: "+m.d)),m.p}function zu(t,e){return e.max-t.max}function Ru(t,e,r,n){this.p=new a(t,e),this.h=r,this.d=function(t,e){for(var r=!1,n=1/0,i=0;i<e.length;i++)for(var a=e[i],o=0,s=a.length,l=s-1;o<s;l=o++){var u=a[o],c=a[l];u.y>t.y!=c.y>t.y&&t.x<(c.x-u.x)*(t.y-u.y)/(c.y-u.y)+u.x&&(r=!r),n=Math.min(n,bo(t,u,c))}return(r?1:-1)*Math.sqrt(n)}(this.p,n),this.max=this.d+this.h*Math.SQRT2}Ou.prototype.push=function(t){this.data.push(t),this.length++,this._up(this.length-1)},Ou.prototype.pop=function(){if(0!==this.length){var t=this.data[0],e=this.data.pop();return this.length--,this.length>0&&(this.data[0]=e,this._down(0)),t}},Ou.prototype.peek=function(){return this.data[0]},Ou.prototype._up=function(t){for(var e=this.data,r=this.compare,n=e[t];t>0;){var i=t-1>>1,a=e[i];if(r(n,a)>=0)break;e[t]=a,t=i}e[t]=n},Ou.prototype._down=function(t){for(var e=this.data,r=this.compare,n=this.length>>1,i=e[t];t<n;){var a=1+(t<<1),o=e[a],s=a+1;if(s<this.length&&r(e[s],o)<0&&(a=s,o=e[s]),r(o,i)>=0)break;e[t]=o,t=a}e[t]=i};var Fu=Number.POSITIVE_INFINITY;function Bu(t,e){return e[1]!==Fu?function(t,e,r){var n=0,i=0;switch(e=Math.abs(e),r=Math.abs(r),t){case"top-right":case"top-left":case"top":i=r-7;break;case"bottom-right":case"bottom-left":case"bottom":i=7-r}switch(t){case"top-right":case"bottom-right":case"right":n=-e;break;case"top-left":case"bottom-left":case"left":n=e}return[n,i]}(t,e[0],e[1]):function(t,e){var r=0,n=0;e<0&&(e=0);var i=e/Math.sqrt(2);switch(t){case"top-right":case"top-left":n=i-7;break;case"bottom-right":case"bottom-left":n=7-i;break;case"bottom":n=7-e;break;case"top":n=e-7}switch(t){case"top-right":case"bottom-right":r=-i;break;case"top-left":case"bottom-left":r=i;break;case"left":r=e;break;case"right":r=-e}return[r,n]}(t,e[0])}function Nu(t){switch(t){case"right":case"top-right":case"bottom-right":return"right";case"left":case"top-left":case"bottom-left":return"left"}return"center"}var ju=32640;function Uu(t,e,r,n,i,o,s,l,u,c,f,h,p,d,v){var g=function(t,e,r,n,i,o,s,l){for(var u=n.layout.get("text-rotate").evaluate(o,{})*Math.PI/180,c=[],f=0,h=e.positionedLines;f<h.length;f+=1)for(var p=h[f],d=0,v=p.positionedGlyphs;d<v.length;d+=1){var g=v[d];if(g.rect){var y=g.rect||{},m=4,x=!0,b=1,_=0,w=(i||l)&&g.vertical,T=g.metrics.advance*g.scale/2;if(l&&e.verticalizable){var k=(g.scale-1)*bl,A=(bl-g.metrics.width*g.scale)/2;_=p.lineOffset/2-(g.imageName?-A:k)}if(g.imageName){var M=s[g.imageName];x=M.sdf,m=1/(b=M.pixelRatio)}var S=i?[g.x+T,g.y]:[0,0],E=i?[0,0]:[g.x+T+r[0],g.y+r[1]-_],L=[0,0];w&&(L=E,E=[0,0]);var C=(g.metrics.left-m)*g.scale-T+E[0],P=(-g.metrics.top-m)*g.scale+E[1],O=C+y.w*g.scale/b,I=P+y.h*g.scale/b,D=new a(C,P),z=new a(O,P),R=new a(C,I),F=new a(O,I);if(w){var B=new a(-T,T-Kl),N=-Math.PI/2,j=12-T,U=g.imageName?j:0,V=new a(22-j,-U),H=new(Function.prototype.bind.apply(a,[null].concat(L)));D._rotateAround(N,B)._add(V)._add(H),z._rotateAround(N,B)._add(V)._add(H),R._rotateAround(N,B)._add(V)._add(H),F._rotateAround(N,B)._add(V)._add(H)}if(u){var q=Math.sin(u),G=Math.cos(u),Z=[G,-q,q,G];D._matMult(Z),z._matMult(Z),R._matMult(Z),F._matMult(Z)}var Y=new a(0,0),W=new a(0,0);c.push({tl:D,tr:z,bl:R,br:F,tex:y,writingMode:e.writingMode,glyphOffset:S,sectionIndex:g.sectionIndex,isSDF:x,pixelOffsetTL:Y,pixelOffsetBR:W,minFontScaleX:0,minFontScaleY:0})}}return c}(0,r,l,i,o,s,n,t.allowVerticalPlacement),y=t.textSizeData,m=null;"source"===y.kind?(m=[pu*i.layout.get("text-size").evaluate(s,{})])[0]>ju&&w(t.layerIds[0]+': Value for "text-size" is >= '+'255. Reduce your "text-size".'):"composite"===y.kind&&((m=[pu*d.compositeTextSizes[0].evaluate(s,{},v),pu*d.compositeTextSizes[1].evaluate(s,{},v)])[0]>ju||m[1]>ju)&&w(t.layerIds[0]+': Value for "text-size" is >= '+'255. Reduce your "text-size".'),t.addSymbols(t.text,g,m,l,o,s,c,e,u.lineStartIndex,u.lineLength,p,v);for(var x=0,b=f;x<b.length;x+=1)h[b[x]]=t.text.placedSymbolArray.length-1;return 4*g.length}function Vu(t){for(var e in t)return t[e];return null}function Hu(t,e,r,n){var i=t.compareText;if(e in i){for(var a=i[e],o=a.length-1;o>=0;o--)if(n.dist(a[o])<r)return!0}else i[e]=[];return i[e].push(n),!1}var qu=Zs.VectorTileFeature.types,Gu=[{name:"a_fade_opacity",components:1,type:"Uint8",offset:0}];function Zu(t,e,r,n,i,a,o,s,l,u,c,f,h){var p=s?Math.min(ju,Math.round(s[0])):0,d=s?Math.min(ju,Math.round(s[1])):0;t.emplaceBack(e,r,Math.round(32*n),Math.round(32*i),a,o,(p<<1)+(l?1:0),d,16*u,16*c,256*f,256*h)}function Yu(t,e,r){t.emplaceBack(e.x,e.y,r),t.emplaceBack(e.x,e.y,r),t.emplaceBack(e.x,e.y,r),t.emplaceBack(e.x,e.y,r)}function Wu(t){for(var e=0,r=t.sections;e<r.length;e+=1)if(pi(r[e].text))return!0;return!1}var Xu=function(t){this.layoutVertexArray=new ta,this.indexArray=new sa,this.programConfigurations=t,this.segments=new Ea,this.dynamicLayoutVertexArray=new ea,this.opacityVertexArray=new ra,this.placedSymbolArray=new ba};Xu.prototype.isEmpty=function(){return 0===this.layoutVertexArray.length&&0===this.indexArray.length&&0===this.dynamicLayoutVertexArray.length&&0===this.opacityVertexArray.length},Xu.prototype.upload=function(t,e,r,n){this.isEmpty()||(r&&(this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,pl.members),this.indexBuffer=t.createIndexBuffer(this.indexArray,e),this.dynamicLayoutVertexBuffer=t.createVertexBuffer(this.dynamicLayoutVertexArray,dl.members,!0),this.opacityVertexBuffer=t.createVertexBuffer(this.opacityVertexArray,Gu,!0),this.opacityVertexBuffer.itemSize=1),(r||n)&&this.programConfigurations.upload(t))},Xu.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.dynamicLayoutVertexBuffer.destroy(),this.opacityVertexBuffer.destroy())},Qn("SymbolBuffers",Xu);var Ju=function(t,e,r){this.layoutVertexArray=new t,this.layoutAttributes=e,this.indexArray=new r,this.segments=new Ea,this.collisionVertexArray=new oa};Ju.prototype.upload=function(t){this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,this.layoutAttributes),this.indexBuffer=t.createIndexBuffer(this.indexArray),this.collisionVertexBuffer=t.createVertexBuffer(this.collisionVertexArray,vl.members,!0)},Ju.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.segments.destroy(),this.collisionVertexBuffer.destroy())},Qn("CollisionBuffers",Ju);var Ku=function(t){this.collisionBoxArray=t.collisionBoxArray,this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((function(t){return t.id})),this.index=t.index,this.pixelRatio=t.pixelRatio,this.sourceLayerIndex=t.sourceLayerIndex,this.hasPattern=!1,this.hasRTLText=!1,this.sortKeyRanges=[],this.collisionCircleArray=[],this.placementInvProjMatrix=Co([]),this.placementViewportMatrix=Co([]);var e=this.layers[0]._unevaluatedLayout._values;this.textSizeData=du(this.zoom,e["text-size"]),this.iconSizeData=du(this.zoom,e["icon-size"]);var r=this.layers[0].layout,n=r.get("symbol-sort-key"),i=r.get("symbol-z-order");this.sortFeaturesByKey="viewport-y"!==i&&void 0!==n.constantOr(1);var a="viewport-y"===i||"auto"===i&&!this.sortFeaturesByKey;this.sortFeaturesByY=a&&(r.get("text-allow-overlap")||r.get("icon-allow-overlap")||r.get("text-ignore-placement")||r.get("icon-ignore-placement")),"point"===r.get("symbol-placement")&&(this.writingModes=r.get("text-writing-mode").map((function(t){return Jl[t]}))),this.stateDependentLayerIds=this.layers.filter((function(t){return t.isStateDependent()})).map((function(t){return t.id})),this.sourceID=t.sourceID};Ku.prototype.createArrays=function(){this.text=new Xu(new no(pl.members,this.layers,this.zoom,(function(t){return/^text/.test(t)}))),this.icon=new Xu(new no(pl.members,this.layers,this.zoom,(function(t){return/^icon/.test(t)}))),this.glyphOffsetArray=new Ta,this.lineVertexArray=new ka,this.symbolInstances=new wa},Ku.prototype.calculateGlyphDependencies=function(t,e,r,n,i){for(var a=0;a<t.length;a++)if(e[t.charCodeAt(a)]=!0,(r||n)&&i){var o=xl[t.charAt(a)];o&&(e[o.charCodeAt(0)]=!0)}},Ku.prototype.populate=function(t,e,r){var n=this.layers[0],i=n.layout,a=i.get("text-font"),o=i.get("text-field"),s=i.get("icon-image"),l=("constant"!==o.value.kind||o.value.value instanceof le&&!o.value.value.isEmpty()||o.value.value.toString().length>0)&&("constant"!==a.value.kind||a.value.value.length>0),u="constant"!==s.value.kind||!!s.value.value||Object.keys(s.parameters).length>0,c=i.get("symbol-sort-key");if(this.features=[],l||u){for(var f=e.iconDependencies,h=e.glyphDependencies,p=e.availableImages,d=new Si(this.zoom),v=0,g=t;v<g.length;v+=1){var y=g[v],m=y.feature,x=y.id,b=y.index,_=y.sourceLayerIndex,w=n._featureFilter.needGeometry,T={type:m.type,id:x,properties:m.properties,geometry:w?uo(m):[]};if(n._featureFilter.filter(d,T,r)){w||(T.geometry=uo(m));var k=void 0;if(l){var A=n.getValueAndResolveTokens("text-field",T,r,p),M=le.factory(A);Wu(M)&&(this.hasRTLText=!0),(!this.hasRTLText||"unavailable"===ki()||this.hasRTLText&&Mi.isParsed())&&(k=ml(M,n,T))}var S=void 0;if(u){var E=n.getValueAndResolveTokens("icon-image",T,r,p);S=E instanceof ue?E:ue.fromString(E)}if(k||S){var L=this.sortFeaturesByKey?c.evaluate(T,{},r):void 0,C={id:x,text:k,icon:S,index:b,sourceLayerIndex:_,geometry:uo(m),properties:m.properties,type:qu[m.type],sortKey:L};if(this.features.push(C),S&&(f[S.name]=!0),k){var P=a.evaluate(T,{},r).join(","),O="map"===i.get("text-rotation-alignment")&&"point"!==i.get("symbol-placement");this.allowVerticalPlacement=this.writingModes&&this.writingModes.indexOf(Jl.vertical)>=0;for(var I=0,D=k.sections;I<D.length;I+=1){var z=D[I];if(z.image)f[z.image.name]=!0;else{var R=si(k.toString()),F=z.fontStack||P,B=h[F]=h[F]||{};this.calculateGlyphDependencies(z.text,B,O,this.allowVerticalPlacement,R)}}}}}}"line"===i.get("symbol-placement")&&(this.features=function(t){var e={},r={},n=[],i=0;function a(e){n.push(t[e]),i++}function o(t,e,i){var a=r[t];return delete r[t],r[e]=a,n[a].geometry[0].pop(),n[a].geometry[0]=n[a].geometry[0].concat(i[0]),a}function s(t,r,i){var a=e[r];return delete e[r],e[t]=a,n[a].geometry[0].shift(),n[a].geometry[0]=i[0].concat(n[a].geometry[0]),a}function l(t,e,r){var n=r?e[0][e[0].length-1]:e[0][0];return t+":"+n.x+":"+n.y}for(var u=0;u<t.length;u++){var c=t[u],f=c.geometry,h=c.text?c.text.toString():null;if(h){var p=l(h,f),d=l(h,f,!0);if(p in r&&d in e&&r[p]!==e[d]){var v=s(p,d,f),g=o(p,d,n[v].geometry);delete e[p],delete r[d],r[l(h,n[g].geometry,!0)]=g,n[v].geometry=null}else p in r?o(p,d,f):d in e?s(p,d,f):(a(u),e[p]=i-1,r[d]=i-1)}else a(u)}return n.filter((function(t){return t.geometry}))}(this.features)),this.sortFeaturesByKey&&this.features.sort((function(t,e){return t.sortKey-e.sortKey}))}},Ku.prototype.update=function(t,e,r){this.stateDependentLayers.length&&(this.text.programConfigurations.updatePaintArrays(t,e,this.layers,r),this.icon.programConfigurations.updatePaintArrays(t,e,this.layers,r))},Ku.prototype.isEmpty=function(){return 0===this.symbolInstances.length&&!this.hasRTLText},Ku.prototype.uploadPending=function(){return!this.uploaded||this.text.programConfigurations.needsUpload||this.icon.programConfigurations.needsUpload},Ku.prototype.upload=function(t){!this.uploaded&&this.hasDebugData()&&(this.textCollisionBox.upload(t),this.iconCollisionBox.upload(t)),this.text.upload(t,this.sortFeaturesByY,!this.uploaded,this.text.programConfigurations.needsUpload),this.icon.upload(t,this.sortFeaturesByY,!this.uploaded,this.icon.programConfigurations.needsUpload),this.uploaded=!0},Ku.prototype.destroyDebugData=function(){this.textCollisionBox.destroy(),this.iconCollisionBox.destroy()},Ku.prototype.destroy=function(){this.text.destroy(),this.icon.destroy(),this.hasDebugData()&&this.destroyDebugData()},Ku.prototype.addToLineVertexArray=function(t,e){var r=this.lineVertexArray.length;if(void 0!==t.segment){for(var n=t.dist(e[t.segment+1]),i=t.dist(e[t.segment]),a={},o=t.segment+1;o<e.length;o++)a[o]={x:e[o].x,y:e[o].y,tileUnitDistanceFromAnchor:n},o<e.length-1&&(n+=e[o+1].dist(e[o]));for(var s=t.segment||0;s>=0;s--)a[s]={x:e[s].x,y:e[s].y,tileUnitDistanceFromAnchor:i},s>0&&(i+=e[s-1].dist(e[s]));for(var l=0;l<e.length;l++){var u=a[l];this.lineVertexArray.emplaceBack(u.x,u.y,u.tileUnitDistanceFromAnchor)}}return{lineStartIndex:r,lineLength:this.lineVertexArray.length-r}},Ku.prototype.addSymbols=function(t,e,r,n,i,a,o,s,l,u,c,f){for(var h=t.indexArray,p=t.layoutVertexArray,d=t.segments.prepareSegment(4*e.length,p,h,a.sortKey),v=this.glyphOffsetArray.length,g=d.vertexLength,y=this.allowVerticalPlacement&&o===Jl.vertical?Math.PI/2:0,m=a.text&&a.text.sections,x=0;x<e.length;x++){var b=e[x],_=b.tl,w=b.tr,T=b.bl,k=b.br,A=b.tex,M=b.pixelOffsetTL,S=b.pixelOffsetBR,E=b.minFontScaleX,L=b.minFontScaleY,C=b.glyphOffset,P=b.isSDF,O=b.sectionIndex,I=d.vertexLength,D=C[1];Zu(p,s.x,s.y,_.x,D+_.y,A.x,A.y,r,P,M.x,M.y,E,L),Zu(p,s.x,s.y,w.x,D+w.y,A.x+A.w,A.y,r,P,S.x,M.y,E,L),Zu(p,s.x,s.y,T.x,D+T.y,A.x,A.y+A.h,r,P,M.x,S.y,E,L),Zu(p,s.x,s.y,k.x,D+k.y,A.x+A.w,A.y+A.h,r,P,S.x,S.y,E,L),Yu(t.dynamicLayoutVertexArray,s,y),h.emplaceBack(I,I+1,I+2),h.emplaceBack(I+1,I+2,I+3),d.vertexLength+=4,d.primitiveLength+=2,this.glyphOffsetArray.emplaceBack(C[0]),x!==e.length-1&&O===e[x+1].sectionIndex||t.programConfigurations.populatePaintArrays(p.length,a,a.index,{},f,m&&m[O])}t.placedSymbolArray.emplaceBack(s.x,s.y,v,this.glyphOffsetArray.length-v,g,l,u,s.segment,r?r[0]:0,r?r[1]:0,n[0],n[1],o,0,!1,0,c)},Ku.prototype._addCollisionDebugVertex=function(t,e,r,n,i,a){return e.emplaceBack(0,0),t.emplaceBack(r.x,r.y,n,i,Math.round(a.x),Math.round(a.y))},Ku.prototype.addCollisionDebugVertices=function(t,e,r,n,i,o,s){var l=i.segments.prepareSegment(4,i.layoutVertexArray,i.indexArray),u=l.vertexLength,c=i.layoutVertexArray,f=i.collisionVertexArray,h=s.anchorX,p=s.anchorY;this._addCollisionDebugVertex(c,f,o,h,p,new a(t,e)),this._addCollisionDebugVertex(c,f,o,h,p,new a(r,e)),this._addCollisionDebugVertex(c,f,o,h,p,new a(r,n)),this._addCollisionDebugVertex(c,f,o,h,p,new a(t,n)),l.vertexLength+=4;var d=i.indexArray;d.emplaceBack(u,u+1),d.emplaceBack(u+1,u+2),d.emplaceBack(u+2,u+3),d.emplaceBack(u+3,u),l.primitiveLength+=4},Ku.prototype.addDebugCollisionBoxes=function(t,e,r,n){for(var i=t;i<e;i++){var a=this.collisionBoxArray.get(i),o=a.x1,s=a.y1,l=a.x2,u=a.y2;this.addCollisionDebugVertices(o,s,l,u,n?this.textCollisionBox:this.iconCollisionBox,a.anchorPoint,r)}},Ku.prototype.generateCollisionDebugBuffers=function(){this.hasDebugData()&&this.destroyDebugData(),this.textCollisionBox=new Ju(ia,gl.members,pa),this.iconCollisionBox=new Ju(ia,gl.members,pa);for(var t=0;t<this.symbolInstances.length;t++){var e=this.symbolInstances.get(t);this.addDebugCollisionBoxes(e.textBoxStartIndex,e.textBoxEndIndex,e,!0),this.addDebugCollisionBoxes(e.verticalTextBoxStartIndex,e.verticalTextBoxEndIndex,e,!0),this.addDebugCollisionBoxes(e.iconBoxStartIndex,e.iconBoxEndIndex,e,!1),this.addDebugCollisionBoxes(e.verticalIconBoxStartIndex,e.verticalIconBoxEndIndex,e,!1)}},Ku.prototype._deserializeCollisionBoxesForSymbol=function(t,e,r,n,i,a,o,s,l){for(var u={},c=e;c<r;c++){var f=t.get(c);u.textBox={x1:f.x1,y1:f.y1,x2:f.x2,y2:f.y2,anchorPointX:f.anchorPointX,anchorPointY:f.anchorPointY},u.textFeatureIndex=f.featureIndex;break}for(var h=n;h<i;h++){var p=t.get(h);u.verticalTextBox={x1:p.x1,y1:p.y1,x2:p.x2,y2:p.y2,anchorPointX:p.anchorPointX,anchorPointY:p.anchorPointY},u.verticalTextFeatureIndex=p.featureIndex;break}for(var d=a;d<o;d++){var v=t.get(d);u.iconBox={x1:v.x1,y1:v.y1,x2:v.x2,y2:v.y2,anchorPointX:v.anchorPointX,anchorPointY:v.anchorPointY},u.iconFeatureIndex=v.featureIndex;break}for(var g=s;g<l;g++){var y=t.get(g);u.verticalIconBox={x1:y.x1,y1:y.y1,x2:y.x2,y2:y.y2,anchorPointX:y.anchorPointX,anchorPointY:y.anchorPointY},u.verticalIconFeatureIndex=y.featureIndex;break}return u},Ku.prototype.deserializeCollisionBoxes=function(t){this.collisionArrays=[];for(var e=0;e<this.symbolInstances.length;e++){var r=this.symbolInstances.get(e);this.collisionArrays.push(this._deserializeCollisionBoxesForSymbol(t,r.textBoxStartIndex,r.textBoxEndIndex,r.verticalTextBoxStartIndex,r.verticalTextBoxEndIndex,r.iconBoxStartIndex,r.iconBoxEndIndex,r.verticalIconBoxStartIndex,r.verticalIconBoxEndIndex))}},Ku.prototype.hasTextData=function(){return this.text.segments.get().length>0},Ku.prototype.hasIconData=function(){return this.icon.segments.get().length>0},Ku.prototype.hasDebugData=function(){return this.textCollisionBox&&this.iconCollisionBox},Ku.prototype.hasTextCollisionBoxData=function(){return this.hasDebugData()&&this.textCollisionBox.segments.get().length>0},Ku.prototype.hasIconCollisionBoxData=function(){return this.hasDebugData()&&this.iconCollisionBox.segments.get().length>0},Ku.prototype.addIndicesForPlacedSymbol=function(t,e){for(var r=t.placedSymbolArray.get(e),n=r.vertexStartIndex+4*r.numGlyphs,i=r.vertexStartIndex;i<n;i+=4)t.indexArray.emplaceBack(i,i+1,i+2),t.indexArray.emplaceBack(i+1,i+2,i+3)},Ku.prototype.getSortedSymbolIndexes=function(t){if(this.sortedAngle===t&&void 0!==this.symbolInstanceIndexes)return this.symbolInstanceIndexes;for(var e=Math.sin(t),r=Math.cos(t),n=[],i=[],a=[],o=0;o<this.symbolInstances.length;++o){a.push(o);var s=this.symbolInstances.get(o);n.push(0|Math.round(e*s.anchorX+r*s.anchorY)),i.push(s.featureIndex)}return a.sort((function(t,e){return n[t]-n[e]||i[e]-i[t]})),a},Ku.prototype.addToSortKeyRanges=function(t,e){var r=this.sortKeyRanges[this.sortKeyRanges.length-1];r&&r.sortKey===e?r.symbolInstanceEnd=t+1:this.sortKeyRanges.push({sortKey:e,symbolInstanceStart:t,symbolInstanceEnd:t+1})},Ku.prototype.sortFeatures=function(t){var e=this;if(this.sortFeaturesByY&&this.sortedAngle!==t&&!(this.text.segments.get().length>1||this.icon.segments.get().length>1)){this.symbolInstanceIndexes=this.getSortedSymbolIndexes(t),this.sortedAngle=t,this.text.indexArray.clear(),this.icon.indexArray.clear(),this.featureSortOrder=[];for(var r=0,n=this.symbolInstanceIndexes;r<n.length;r+=1){var i=n[r],a=this.symbolInstances.get(i);this.featureSortOrder.push(a.featureIndex),[a.rightJustifiedTextSymbolIndex,a.centerJustifiedTextSymbolIndex,a.leftJustifiedTextSymbolIndex].forEach((function(t,r,n){t>=0&&n.indexOf(t)===r&&e.addIndicesForPlacedSymbol(e.text,t)})),a.verticalPlacedTextSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.text,a.verticalPlacedTextSymbolIndex),a.placedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,a.placedIconSymbolIndex),a.verticalPlacedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,a.verticalPlacedIconSymbolIndex)}this.text.indexBuffer&&this.text.indexBuffer.updateData(this.text.indexArray),this.icon.indexBuffer&&this.icon.indexBuffer.updateData(this.icon.indexArray)}},Qn("SymbolBucket",Ku,{omit:["layers","collisionBoxArray","features","compareText"]}),Ku.MAX_GLYPHS=65535,Ku.addDynamicAttributes=Yu;var $u=new Ui({"symbol-placement":new Ri(It.layout_symbol["symbol-placement"]),"symbol-spacing":new Ri(It.layout_symbol["symbol-spacing"]),"symbol-avoid-edges":new Ri(It.layout_symbol["symbol-avoid-edges"]),"symbol-sort-key":new Fi(It.layout_symbol["symbol-sort-key"]),"symbol-z-order":new Ri(It.layout_symbol["symbol-z-order"]),"icon-allow-overlap":new Ri(It.layout_symbol["icon-allow-overlap"]),"icon-ignore-placement":new Ri(It.layout_symbol["icon-ignore-placement"]),"icon-optional":new Ri(It.layout_symbol["icon-optional"]),"icon-rotation-alignment":new Ri(It.layout_symbol["icon-rotation-alignment"]),"icon-size":new Fi(It.layout_symbol["icon-size"]),"icon-text-fit":new Ri(It.layout_symbol["icon-text-fit"]),"icon-text-fit-padding":new Ri(It.layout_symbol["icon-text-fit-padding"]),"icon-image":new Fi(It.layout_symbol["icon-image"]),"icon-rotate":new Fi(It.layout_symbol["icon-rotate"]),"icon-padding":new Ri(It.layout_symbol["icon-padding"]),"icon-keep-upright":new Ri(It.layout_symbol["icon-keep-upright"]),"icon-offset":new Fi(It.layout_symbol["icon-offset"]),"icon-anchor":new Fi(It.layout_symbol["icon-anchor"]),"icon-pitch-alignment":new Ri(It.layout_symbol["icon-pitch-alignment"]),"text-pitch-alignment":new Ri(It.layout_symbol["text-pitch-alignment"]),"text-rotation-alignment":new Ri(It.layout_symbol["text-rotation-alignment"]),"text-field":new Fi(It.layout_symbol["text-field"]),"text-font":new Fi(It.layout_symbol["text-font"]),"text-size":new Fi(It.layout_symbol["text-size"]),"text-max-width":new Fi(It.layout_symbol["text-max-width"]),"text-line-height":new Ri(It.layout_symbol["text-line-height"]),"text-letter-spacing":new Fi(It.layout_symbol["text-letter-spacing"]),"text-justify":new Fi(It.layout_symbol["text-justify"]),"text-radial-offset":new Fi(It.layout_symbol["text-radial-offset"]),"text-variable-anchor":new Ri(It.layout_symbol["text-variable-anchor"]),"text-anchor":new Fi(It.layout_symbol["text-anchor"]),"text-max-angle":new Ri(It.layout_symbol["text-max-angle"]),"text-writing-mode":new Ri(It.layout_symbol["text-writing-mode"]),"text-rotate":new Fi(It.layout_symbol["text-rotate"]),"text-padding":new Ri(It.layout_symbol["text-padding"]),"text-keep-upright":new Ri(It.layout_symbol["text-keep-upright"]),"text-transform":new Fi(It.layout_symbol["text-transform"]),"text-offset":new Fi(It.layout_symbol["text-offset"]),"text-allow-overlap":new Ri(It.layout_symbol["text-allow-overlap"]),"text-ignore-placement":new Ri(It.layout_symbol["text-ignore-placement"]),"text-optional":new Ri(It.layout_symbol["text-optional"])}),Qu={paint:new Ui({"icon-opacity":new Fi(It.paint_symbol["icon-opacity"]),"icon-color":new Fi(It.paint_symbol["icon-color"]),"icon-halo-color":new Fi(It.paint_symbol["icon-halo-color"]),"icon-halo-width":new Fi(It.paint_symbol["icon-halo-width"]),"icon-halo-blur":new Fi(It.paint_symbol["icon-halo-blur"]),"icon-translate":new Ri(It.paint_symbol["icon-translate"]),"icon-translate-anchor":new Ri(It.paint_symbol["icon-translate-anchor"]),"text-opacity":new Fi(It.paint_symbol["text-opacity"]),"text-color":new Fi(It.paint_symbol["text-color"],{runtimeType:Gt,getOverride:function(t){return t.textColor},hasOverride:function(t){return!!t.textColor}}),"text-halo-color":new Fi(It.paint_symbol["text-halo-color"]),"text-halo-width":new Fi(It.paint_symbol["text-halo-width"]),"text-halo-blur":new Fi(It.paint_symbol["text-halo-blur"]),"text-translate":new Ri(It.paint_symbol["text-translate"]),"text-translate-anchor":new Ri(It.paint_symbol["text-translate-anchor"])}),layout:$u},tc=function(t){this.type=t.property.overrides?t.property.overrides.runtimeType:Ut,this.defaultValue=t};tc.prototype.evaluate=function(t){if(t.formattedSection){var e=this.defaultValue.property.overrides;if(e&&e.hasOverride(t.formattedSection))return e.getOverride(t.formattedSection)}return t.feature&&t.featureState?this.defaultValue.evaluate(t.feature,t.featureState):this.defaultValue.property.specification.default},tc.prototype.eachChild=function(t){this.defaultValue.isConstant()||t(this.defaultValue.value._styleExpression.expression)},tc.prototype.outputDefined=function(){return!1},tc.prototype.serialize=function(){return null},Qn("FormatSectionOverride",tc,{omit:["defaultValue"]});var ec=function(t){function e(e){t.call(this,e,Qu)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.recalculate=function(e,r){if(t.prototype.recalculate.call(this,e,r),"auto"===this.layout.get("icon-rotation-alignment")&&("point"!==this.layout.get("symbol-placement")?this.layout._values["icon-rotation-alignment"]="map":this.layout._values["icon-rotation-alignment"]="viewport"),"auto"===this.layout.get("text-rotation-alignment")&&("point"!==this.layout.get("symbol-placement")?this.layout._values["text-rotation-alignment"]="map":this.layout._values["text-rotation-alignment"]="viewport"),"auto"===this.layout.get("text-pitch-alignment")&&(this.layout._values["text-pitch-alignment"]=this.layout.get("text-rotation-alignment")),"auto"===this.layout.get("icon-pitch-alignment")&&(this.layout._values["icon-pitch-alignment"]=this.layout.get("icon-rotation-alignment")),"point"===this.layout.get("symbol-placement")){var n=this.layout.get("text-writing-mode");if(n){for(var i=[],a=0,o=n;a<o.length;a+=1){var s=o[a];i.indexOf(s)<0&&i.push(s)}this.layout._values["text-writing-mode"]=i}else this.layout._values["text-writing-mode"]=["horizontal"]}this._setPaintOverrides()},e.prototype.getValueAndResolveTokens=function(t,e,r,n){var i=this.layout.get(t).evaluate(e,{},r,n),a=this._unevaluatedLayout._values[t];return a.isDataDriven()||nn(a.value)||!i?i:function(t,e){return e.replace(/{([^{}]+)}/g,(function(e,r){return r in t?String(t[r]):""}))}(e.properties,i)},e.prototype.createBucket=function(t){return new Ku(t)},e.prototype.queryRadius=function(){return 0},e.prototype.queryIntersectsFeature=function(){return!1},e.prototype._setPaintOverrides=function(){for(var t=0,r=Qu.paint.overridableProperties;t<r.length;t+=1){var n=r[t];if(e.hasPaintOverride(this.layout,n)){var i,a=this.paint.get(n),o=new tc(a),s=new rn(o,a.property.specification);i="constant"===a.value.kind||"source"===a.value.kind?new on("source",s):new sn("composite",s,a.value.zoomStops,a.value._interpolationType),this.paint._values[n]=new Di(a.property,i,a.parameters)}}},e.prototype._handleOverridablePaintPropertyUpdate=function(t,r,n){return!(!this.layout||r.isDataDriven()||n.isDataDriven())&&e.hasPaintOverride(this.layout,t)},e.hasPaintOverride=function(t,e){var r=t.get("text-field"),n=Qu.paint.properties[e],i=!1,a=function(t){for(var e=0,r=t;e<r.length;e+=1){var a=r[e];if(n.overrides&&n.overrides.hasOverride(a))return void(i=!0)}};if("constant"===r.value.kind&&r.value.value instanceof le)a(r.value.value.sections);else if("source"===r.value.kind){var o=function(t){if(!i)if(t instanceof de&&he(t.value)===Xt){var e=t.value;a(e.sections)}else t instanceof me?a(t.sections):t.eachChild(o)},s=r.value;s._styleExpression&&o(s._styleExpression.expression)}return i},e}(Hi),rc={paint:new Ui({"background-color":new Ri(It.paint_background["background-color"]),"background-pattern":new Ni(It.paint_background["background-pattern"]),"background-opacity":new Ri(It.paint_background["background-opacity"])})},nc=function(t){function e(e){t.call(this,e,rc)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e}(Hi),ic={paint:new Ui({"raster-opacity":new Ri(It.paint_raster["raster-opacity"]),"raster-hue-rotate":new Ri(It.paint_raster["raster-hue-rotate"]),"raster-brightness-min":new Ri(It.paint_raster["raster-brightness-min"]),"raster-brightness-max":new Ri(It.paint_raster["raster-brightness-max"]),"raster-saturation":new Ri(It.paint_raster["raster-saturation"]),"raster-contrast":new Ri(It.paint_raster["raster-contrast"]),"raster-resampling":new Ri(It.paint_raster["raster-resampling"]),"raster-fade-duration":new Ri(It.paint_raster["raster-fade-duration"])})},ac=function(t){function e(e){t.call(this,e,ic)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e}(Hi);var oc=function(t){function e(e){t.call(this,e,{}),this.implementation=e}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.is3D=function(){return"3d"===this.implementation.renderingMode},e.prototype.hasOffscreenPass=function(){return void 0!==this.implementation.prerender},e.prototype.recalculate=function(){},e.prototype.updateTransitions=function(){},e.prototype.hasTransition=function(){},e.prototype.serialize=function(){},e.prototype.onAdd=function(t){this.implementation.onAdd&&this.implementation.onAdd(t,t.painter.context.gl)},e.prototype.onRemove=function(t){this.implementation.onRemove&&this.implementation.onRemove(t,t.painter.context.gl)},e}(Hi),sc={circle:Fo,heatmap:Yo,hillshade:Xo,fill:Rs,"fill-extrusion":Qs,line:fl,symbol:ec,background:nc,raster:ac};var lc=self.HTMLImageElement,uc=self.HTMLCanvasElement,cc=self.HTMLVideoElement,fc=self.ImageData,hc=self.ImageBitmap,pc=function(t,e,r,n){this.context=t,this.format=r,this.texture=t.gl.createTexture(),this.update(e,n)};pc.prototype.update=function(t,e,r){var n=t.width,i=t.height,a=!(this.size&&this.size[0]===n&&this.size[1]===i||r),o=this.context,s=o.gl;if(this.useMipmap=Boolean(e&&e.useMipmap),s.bindTexture(s.TEXTURE_2D,this.texture),o.pixelStoreUnpackFlipY.set(!1),o.pixelStoreUnpack.set(1),o.pixelStoreUnpackPremultiplyAlpha.set(this.format===s.RGBA&&(!e||!1!==e.premultiply)),a)this.size=[n,i],t instanceof lc||t instanceof uc||t instanceof cc||t instanceof fc||hc&&t instanceof hc?s.texImage2D(s.TEXTURE_2D,0,this.format,this.format,s.UNSIGNED_BYTE,t):s.texImage2D(s.TEXTURE_2D,0,this.format,n,i,0,this.format,s.UNSIGNED_BYTE,t.data);else{var l=r||{x:0,y:0},u=l.x,c=l.y;t instanceof lc||t instanceof uc||t instanceof cc||t instanceof fc||hc&&t instanceof hc?s.texSubImage2D(s.TEXTURE_2D,0,u,c,s.RGBA,s.UNSIGNED_BYTE,t):s.texSubImage2D(s.TEXTURE_2D,0,u,c,n,i,s.RGBA,s.UNSIGNED_BYTE,t.data)}this.useMipmap&&this.isSizePowerOfTwo()&&s.generateMipmap(s.TEXTURE_2D)},pc.prototype.bind=function(t,e,r){var n=this.context.gl;n.bindTexture(n.TEXTURE_2D,this.texture),r!==n.LINEAR_MIPMAP_NEAREST||this.isSizePowerOfTwo()||(r=n.LINEAR),t!==this.filter&&(n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MAG_FILTER,t),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MIN_FILTER,r||t),this.filter=t),e!==this.wrap&&(n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_S,e),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_T,e),this.wrap=e)},pc.prototype.isSizePowerOfTwo=function(){return this.size[0]===this.size[1]&&Math.log(this.size[0])/Math.LN2%1==0},pc.prototype.destroy=function(){this.context.gl.deleteTexture(this.texture),this.texture=null};var dc=function(t){var e=this;this._callback=t,this._triggered=!1,"undefined"!=typeof MessageChannel&&(this._channel=new MessageChannel,this._channel.port2.onmessage=function(){e._triggered=!1,e._callback()})};dc.prototype.trigger=function(){var t=this;this._triggered||(this._triggered=!0,this._channel?this._channel.port1.postMessage(!0):setTimeout((function(){t._triggered=!1,t._callback()}),0))},dc.prototype.remove=function(){delete this._channel,this._callback=function(){}};var vc=function(t,e,r){this.target=t,this.parent=e,this.mapId=r,this.callbacks={},this.tasks={},this.taskQueue=[],this.cancelCallbacks={},g(["receive","process"],this),this.invoker=new dc(this.process),this.target.addEventListener("message",this.receive,!1),this.globalScope=A()?t:self};function gc(t,e,r){var n=2*Math.PI*6378137/256/Math.pow(2,r);return[t*n-2*Math.PI*6378137/2,e*n-2*Math.PI*6378137/2]}vc.prototype.send=function(t,e,r,n,i){var a=this;void 0===i&&(i=!1);var o=Math.round(1e18*Math.random()).toString(36).substring(0,10);r&&(this.callbacks[o]=r);var s=E(this.globalScope)?void 0:[];return this.target.postMessage({id:o,type:t,hasCallback:!!r,targetMapId:n,mustQueue:i,sourceMapId:this.mapId,data:ni(e,s)},s),{cancel:function(){r&&delete a.callbacks[o],a.target.postMessage({id:o,type:"<cancel>",targetMapId:n,sourceMapId:a.mapId})}}},vc.prototype.receive=function(t){var e=t.data,r=e.id;if(r&&(!e.targetMapId||this.mapId===e.targetMapId))if("<cancel>"===e.type){delete this.tasks[r];var n=this.cancelCallbacks[r];delete this.cancelCallbacks[r],n&&n()}else A()||e.mustQueue?(this.tasks[r]=e,this.taskQueue.push(r),this.invoker.trigger()):this.processTask(r,e)},vc.prototype.process=function(){if(this.taskQueue.length){var t=this.taskQueue.shift(),e=this.tasks[t];delete this.tasks[t],this.taskQueue.length&&this.invoker.trigger(),e&&this.processTask(t,e)}},vc.prototype.processTask=function(t,e){var r=this;if("<response>"===e.type){var n=this.callbacks[t];delete this.callbacks[t],n&&(e.error?n(ii(e.error)):n(null,ii(e.data)))}else{var i=!1,a=E(this.globalScope)?void 0:[],o=e.hasCallback?function(e,n){i=!0,delete r.cancelCallbacks[t],r.target.postMessage({id:t,type:"<response>",sourceMapId:r.mapId,error:e?ni(e):null,data:ni(n,a)},a)}:function(t){i=!0},s=null,l=ii(e.data);if(this.parent[e.type])s=this.parent[e.type](e.sourceMapId,l,o);else if(this.parent.getWorkerSource){var u=e.type.split(".");s=this.parent.getWorkerSource(e.sourceMapId,u[0],l.source)[u[1]](l,o)}else o(new Error("Could not find function "+e.type));!i&&s&&s.cancel&&(this.cancelCallbacks[t]=s.cancel)}},vc.prototype.remove=function(){this.invoker.remove(),this.target.removeEventListener("message",this.receive,!1)};var yc=function(t,e){t&&(e?this.setSouthWest(t).setNorthEast(e):4===t.length?this.setSouthWest([t[0],t[1]]).setNorthEast([t[2],t[3]]):this.setSouthWest(t[0]).setNorthEast(t[1]))};yc.prototype.setNorthEast=function(t){return this._ne=t instanceof xc?new xc(t.lng,t.lat):xc.convert(t),this},yc.prototype.setSouthWest=function(t){return this._sw=t instanceof xc?new xc(t.lng,t.lat):xc.convert(t),this},yc.prototype.extend=function(t){var e,r,n=this._sw,i=this._ne;if(t instanceof xc)e=t,r=t;else{if(!(t instanceof yc)){if(Array.isArray(t)){if(4===t.length||t.every(Array.isArray)){var a=t;return this.extend(yc.convert(a))}var o=t;return this.extend(xc.convert(o))}return this}if(e=t._sw,r=t._ne,!e||!r)return this}return n||i?(n.lng=Math.min(e.lng,n.lng),n.lat=Math.min(e.lat,n.lat),i.lng=Math.max(r.lng,i.lng),i.lat=Math.max(r.lat,i.lat)):(this._sw=new xc(e.lng,e.lat),this._ne=new xc(r.lng,r.lat)),this},yc.prototype.getCenter=function(){return new xc((this._sw.lng+this._ne.lng)/2,(this._sw.lat+this._ne.lat)/2)},yc.prototype.getSouthWest=function(){return this._sw},yc.prototype.getNorthEast=function(){return this._ne},yc.prototype.getNorthWest=function(){return new xc(this.getWest(),this.getNorth())},yc.prototype.getSouthEast=function(){return new xc(this.getEast(),this.getSouth())},yc.prototype.getWest=function(){return this._sw.lng},yc.prototype.getSouth=function(){return this._sw.lat},yc.prototype.getEast=function(){return this._ne.lng},yc.prototype.getNorth=function(){return this._ne.lat},yc.prototype.toArray=function(){return[this._sw.toArray(),this._ne.toArray()]},yc.prototype.toString=function(){return"LngLatBounds("+this._sw.toString()+", "+this._ne.toString()+")"},yc.prototype.isEmpty=function(){return!(this._sw&&this._ne)},yc.prototype.contains=function(t){var e=xc.convert(t),r=e.lng,n=e.lat,i=this._sw.lat<=n&&n<=this._ne.lat,a=this._sw.lng<=r&&r<=this._ne.lng;return this._sw.lng>this._ne.lng&&(a=this._sw.lng>=r&&r>=this._ne.lng),i&&a},yc.convert=function(t){return!t||t instanceof yc?t:new yc(t)};var mc=6371008.8,xc=function(t,e){if(isNaN(t)||isNaN(e))throw new Error("Invalid LngLat object: ("+t+", "+e+")");if(this.lng=+t,this.lat=+e,this.lat>90||this.lat<-90)throw new Error("Invalid LngLat latitude value: must be between -90 and 90")};xc.prototype.wrap=function(){return new xc(c(this.lng,-180,180),this.lat)},xc.prototype.toArray=function(){return[this.lng,this.lat]},xc.prototype.toString=function(){return"LngLat("+this.lng+", "+this.lat+")"},xc.prototype.distanceTo=function(t){var e=Math.PI/180,r=this.lat*e,n=t.lat*e,i=Math.sin(r)*Math.sin(n)+Math.cos(r)*Math.cos(n)*Math.cos((t.lng-this.lng)*e);return mc*Math.acos(Math.min(i,1))},xc.prototype.toBounds=function(t){void 0===t&&(t=0);var e=360*t/40075017,r=e/Math.cos(Math.PI/180*this.lat);return new yc(new xc(this.lng-r,this.lat-e),new xc(this.lng+r,this.lat+e))},xc.convert=function(t){if(t instanceof xc)return t;if(Array.isArray(t)&&(2===t.length||3===t.length))return new xc(Number(t[0]),Number(t[1]));if(!Array.isArray(t)&&"object"==typeof t&&null!==t)return new xc(Number("lng"in t?t.lng:t.lon),Number(t.lat));throw new Error("`LngLatLike` argument must be specified as a LngLat instance, an object {lng: <lng>, lat: <lat>}, an object {lon: <lng>, lat: <lat>}, or an array of [<lng>, <lat>]")};var bc=2*Math.PI*mc;function _c(t){return bc*Math.cos(t*Math.PI/180)}function wc(t){return(180+t)/360}function Tc(t){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+t*Math.PI/360)))/360}function kc(t,e){return t/_c(e)}function Ac(t){var e=180-360*t;return 360/Math.PI*Math.atan(Math.exp(e*Math.PI/180))-90}var Mc=function(t,e,r){void 0===r&&(r=0),this.x=+t,this.y=+e,this.z=+r};Mc.fromLngLat=function(t,e){void 0===e&&(e=0);var r=xc.convert(t);return new Mc(wc(r.lng),Tc(r.lat),kc(e,r.lat))},Mc.prototype.toLngLat=function(){return new xc(360*this.x-180,Ac(this.y))},Mc.prototype.toAltitude=function(){return t=this.z,e=this.y,t*_c(Ac(e));var t,e},Mc.prototype.meterInMercatorCoordinateUnits=function(){return 1/bc*(t=Ac(this.y),1/Math.cos(t*Math.PI/180));var t};var Sc=function(t,e,r){this.z=t,this.x=e,this.y=r,this.key=Cc(0,t,t,e,r)};Sc.prototype.equals=function(t){return this.z===t.z&&this.x===t.x&&this.y===t.y},Sc.prototype.url=function(t,e){var r,n,i,a,o,s=(r=this.x,n=this.y,i=this.z,a=gc(256*r,256*(n=Math.pow(2,i)-n-1),i),o=gc(256*(r+1),256*(n+1),i),a[0]+","+a[1]+","+o[0]+","+o[1]),l=function(t,e,r){for(var n,i="",a=t;a>0;a--)i+=(e&(n=1<<a-1)?1:0)+(r&n?2:0);return i}(this.z,this.x,this.y);return t[(this.x+this.y)%t.length].replace("{prefix}",(this.x%16).toString(16)+(this.y%16).toString(16)).replace("{z}",String(this.z)).replace("{x}",String(this.x)).replace("{y}",String("tms"===e?Math.pow(2,this.z)-this.y-1:this.y)).replace("{quadkey}",l).replace("{bbox-epsg-3857}",s)},Sc.prototype.getTilePoint=function(t){var e=Math.pow(2,this.z);return new a((t.x*e-this.x)*oo,(t.y*e-this.y)*oo)},Sc.prototype.toString=function(){return this.z+"/"+this.x+"/"+this.y};var Ec=function(t,e){this.wrap=t,this.canonical=e,this.key=Cc(t,e.z,e.z,e.x,e.y)},Lc=function(t,e,r,n,i){this.overscaledZ=t,this.wrap=e,this.canonical=new Sc(r,+n,+i),this.key=Cc(e,t,r,n,i)};function Cc(t,e,r,n,i){(t*=2)<0&&(t=-1*t-1);var a=1<<r;return(a*a*t+a*i+n).toString(36)+r.toString(36)+e.toString(36)}Lc.prototype.equals=function(t){return this.overscaledZ===t.overscaledZ&&this.wrap===t.wrap&&this.canonical.equals(t.canonical)},Lc.prototype.scaledTo=function(t){var e=this.canonical.z-t;return t>this.canonical.z?new Lc(t,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new Lc(t,this.wrap,t,this.canonical.x>>e,this.canonical.y>>e)},Lc.prototype.calculateScaledKey=function(t,e){var r=this.canonical.z-t;return t>this.canonical.z?Cc(this.wrap*+e,t,this.canonical.z,this.canonical.x,this.canonical.y):Cc(this.wrap*+e,t,t,this.canonical.x>>r,this.canonical.y>>r)},Lc.prototype.isChildOf=function(t){if(t.wrap!==this.wrap)return!1;var e=this.canonical.z-t.canonical.z;return 0===t.overscaledZ||t.overscaledZ<this.overscaledZ&&t.canonical.x===this.canonical.x>>e&&t.canonical.y===this.canonical.y>>e},Lc.prototype.children=function(t){if(this.overscaledZ>=t)return[new Lc(this.overscaledZ+1,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)];var e=this.canonical.z+1,r=2*this.canonical.x,n=2*this.canonical.y;return[new Lc(e,this.wrap,e,r,n),new Lc(e,this.wrap,e,r+1,n),new Lc(e,this.wrap,e,r,n+1),new Lc(e,this.wrap,e,r+1,n+1)]},Lc.prototype.isLessThan=function(t){return this.wrap<t.wrap||!(this.wrap>t.wrap)&&(this.overscaledZ<t.overscaledZ||!(this.overscaledZ>t.overscaledZ)&&(this.canonical.x<t.canonical.x||!(this.canonical.x>t.canonical.x)&&this.canonical.y<t.canonical.y))},Lc.prototype.wrapped=function(){return new Lc(this.overscaledZ,0,this.canonical.z,this.canonical.x,this.canonical.y)},Lc.prototype.unwrapTo=function(t){return new Lc(this.overscaledZ,t,this.canonical.z,this.canonical.x,this.canonical.y)},Lc.prototype.overscaleFactor=function(){return Math.pow(2,this.overscaledZ-this.canonical.z)},Lc.prototype.toUnwrapped=function(){return new Ec(this.wrap,this.canonical)},Lc.prototype.toString=function(){return this.overscaledZ+"/"+this.canonical.x+"/"+this.canonical.y},Lc.prototype.getTilePoint=function(t){return this.canonical.getTilePoint(new Mc(t.x-this.wrap,t.y))},Qn("CanonicalTileID",Sc),Qn("OverscaledTileID",Lc,{omit:["posMatrix"]});var Pc=function(t,e,r){if(this.uid=t,e.height!==e.width)throw new RangeError("DEM tiles must be square");if(r&&"mapbox"!==r&&"terrarium"!==r)return w('"'+r+'" is not a valid encoding type. Valid types include "mapbox" and "terrarium".');this.stride=e.height;var n=this.dim=e.height-2;this.data=new Uint32Array(e.data.buffer),this.encoding=r||"mapbox";for(var i=0;i<n;i++)this.data[this._idx(-1,i)]=this.data[this._idx(0,i)],this.data[this._idx(n,i)]=this.data[this._idx(n-1,i)],this.data[this._idx(i,-1)]=this.data[this._idx(i,0)],this.data[this._idx(i,n)]=this.data[this._idx(i,n-1)];this.data[this._idx(-1,-1)]=this.data[this._idx(0,0)],this.data[this._idx(n,-1)]=this.data[this._idx(n-1,0)],this.data[this._idx(-1,n)]=this.data[this._idx(0,n-1)],this.data[this._idx(n,n)]=this.data[this._idx(n-1,n-1)]};Pc.prototype.get=function(t,e){var r=new Uint8Array(this.data.buffer),n=4*this._idx(t,e);return("terrarium"===this.encoding?this._unpackTerrarium:this._unpackMapbox)(r[n],r[n+1],r[n+2])},Pc.prototype.getUnpackVector=function(){return"terrarium"===this.encoding?[256,1,1/256,32768]:[6553.6,25.6,.1,1e4]},Pc.prototype._idx=function(t,e){if(t<-1||t>=this.dim+1||e<-1||e>=this.dim+1)throw new RangeError("out of range source coordinates for DEM data");return(e+1)*this.stride+(t+1)},Pc.prototype._unpackMapbox=function(t,e,r){return(256*t*256+256*e+r)/10-1e4},Pc.prototype._unpackTerrarium=function(t,e,r){return 256*t+e+r/256-32768},Pc.prototype.getPixels=function(){return new qo({width:this.stride,height:this.stride},new Uint8Array(this.data.buffer))},Pc.prototype.backfillBorder=function(t,e,r){if(this.dim!==t.dim)throw new Error("dem dimension mismatch");var n=e*this.dim,i=e*this.dim+this.dim,a=r*this.dim,o=r*this.dim+this.dim;switch(e){case-1:n=i-1;break;case 1:i=n+1}switch(r){case-1:a=o-1;break;case 1:o=a+1}for(var s=-e*this.dim,l=-r*this.dim,u=a;u<o;u++)for(var c=n;c<i;c++)this.data[this._idx(c,u)]=t.data[this._idx(c+s,u+l)]},Qn("DEMData",Pc);var Oc=function(t){this._stringToNumber={},this._numberToString=[];for(var e=0;e<t.length;e++){var r=t[e];this._stringToNumber[r]=e,this._numberToString[e]=r}};Oc.prototype.encode=function(t){return this._stringToNumber[t]},Oc.prototype.decode=function(t){return this._numberToString[t]};var Ic=function(t,e,r,n,i){this.type="Feature",this._vectorTileFeature=t,t._z=e,t._x=r,t._y=n,this.properties=t.properties,this.id=i},Dc={geometry:{configurable:!0}};Dc.geometry.get=function(){return void 0===this._geometry&&(this._geometry=this._vectorTileFeature.toGeoJSON(this._vectorTileFeature._x,this._vectorTileFeature._y,this._vectorTileFeature._z).geometry),this._geometry},Dc.geometry.set=function(t){this._geometry=t},Ic.prototype.toJSON=function(){var t={geometry:this.geometry};for(var e in this)"_geometry"!==e&&"_vectorTileFeature"!==e&&(t[e]=this[e]);return t},Object.defineProperties(Ic.prototype,Dc);var zc=function(){this.state={},this.stateChanges={},this.deletedStates={}};zc.prototype.updateState=function(t,e,r){var n=String(e);if(this.stateChanges[t]=this.stateChanges[t]||{},this.stateChanges[t][n]=this.stateChanges[t][n]||{},f(this.stateChanges[t][n],r),null===this.deletedStates[t])for(var i in this.deletedStates[t]={},this.state[t])i!==n&&(this.deletedStates[t][i]=null);else if(this.deletedStates[t]&&null===this.deletedStates[t][n])for(var a in this.deletedStates[t][n]={},this.state[t][n])r[a]||(this.deletedStates[t][n][a]=null);else for(var o in r)this.deletedStates[t]&&this.deletedStates[t][n]&&null===this.deletedStates[t][n][o]&&delete this.deletedStates[t][n][o]},zc.prototype.removeFeatureState=function(t,e,r){if(null!==this.deletedStates[t]){var n=String(e);if(this.deletedStates[t]=this.deletedStates[t]||{},r&&void 0!==e)null!==this.deletedStates[t][n]&&(this.deletedStates[t][n]=this.deletedStates[t][n]||{},this.deletedStates[t][n][r]=null);else if(void 0!==e)if(this.stateChanges[t]&&this.stateChanges[t][n])for(r in this.deletedStates[t][n]={},this.stateChanges[t][n])this.deletedStates[t][n][r]=null;else this.deletedStates[t][n]=null;else this.deletedStates[t]=null}},zc.prototype.getState=function(t,e){var r=String(e),n=this.state[t]||{},i=this.stateChanges[t]||{},a=f({},n[r],i[r]);if(null===this.deletedStates[t])return{};if(this.deletedStates[t]){var o=this.deletedStates[t][e];if(null===o)return{};for(var s in o)delete a[s]}return a},zc.prototype.initializeTileState=function(t,e){t.setFeatureState(this.state,e)},zc.prototype.coalesceChanges=function(t,e){var r={};for(var n in this.stateChanges){this.state[n]=this.state[n]||{};var i={};for(var a in this.stateChanges[n])this.state[n][a]||(this.state[n][a]={}),f(this.state[n][a],this.stateChanges[n][a]),i[a]=this.state[n][a];r[n]=i}for(var o in this.deletedStates){this.state[o]=this.state[o]||{};var s={};if(null===this.deletedStates[o])for(var l in this.state[o])s[l]={},this.state[o][l]={};else for(var u in this.deletedStates[o]){if(null===this.deletedStates[o][u])this.state[o][u]={};else for(var c=0,h=Object.keys(this.deletedStates[o][u]);c<h.length;c+=1){var p=h[c];delete this.state[o][u][p]}s[u]=this.state[o][u]}r[o]=r[o]||{},f(r[o],s)}if(this.stateChanges={},this.deletedStates={},0!==Object.keys(r).length)for(var d in t)t[d].setFeatureState(r,e)};var Rc=function(t,e){this.tileID=t,this.x=t.canonical.x,this.y=t.canonical.y,this.z=t.canonical.z,this.grid=new Wn(oo,16,0),this.grid3D=new Wn(oo,16,0),this.featureIndexArray=new Ma,this.promoteId=e};function Fc(t,e,r,n,i){return m(t,(function(t,a){var o=e instanceof zi?e.get(a):null;return o&&o.evaluate?o.evaluate(r,n,i):o}))}function Bc(t){for(var e=1/0,r=1/0,n=-1/0,i=-1/0,a=0,o=t;a<o.length;a+=1){var s=o[a];e=Math.min(e,s.x),r=Math.min(r,s.y),n=Math.max(n,s.x),i=Math.max(i,s.y)}return{minX:e,minY:r,maxX:n,maxY:i}}function Nc(t,e){return e-t}Rc.prototype.insert=function(t,e,r,n,i,a){var o=this.featureIndexArray.length;this.featureIndexArray.emplaceBack(r,n,i);for(var s=a?this.grid3D:this.grid,l=0;l<e.length;l++){for(var u=e[l],c=[1/0,1/0,-1/0,-1/0],f=0;f<u.length;f++){var h=u[f];c[0]=Math.min(c[0],h.x),c[1]=Math.min(c[1],h.y),c[2]=Math.max(c[2],h.x),c[3]=Math.max(c[3],h.y)}c[0]<oo&&c[1]<oo&&c[2]>=0&&c[3]>=0&&s.insert(o,c[0],c[1],c[2],c[3])}},Rc.prototype.loadVTLayers=function(){return this.vtLayers||(this.vtLayers=new Zs.VectorTile(new Tl(this.rawTileData)).layers,this.sourceLayerCoder=new Oc(this.vtLayers?Object.keys(this.vtLayers).sort():["_geojsonTileLayer"])),this.vtLayers},Rc.prototype.query=function(t,e,r,n){var i=this;this.loadVTLayers();for(var o=t.params||{},s=oo/t.tileSize/t.scale,l=xn(o.filter),u=t.queryGeometry,c=t.queryPadding*s,f=Bc(u),h=this.grid.query(f.minX-c,f.minY-c,f.maxX+c,f.maxY+c),p=Bc(t.cameraQueryGeometry),d=0,v=this.grid3D.query(p.minX-c,p.minY-c,p.maxX+c,p.maxY+c,(function(e,r,n,i){return function(t,e,r,n,i){for(var o=0,s=t;o<s.length;o+=1){var l=s[o];if(e<=l.x&&r<=l.y&&n>=l.x&&i>=l.y)return!0}var u=[new a(e,r),new a(e,i),new a(n,i),new a(n,r)];if(t.length>2)for(var c=0,f=u;c<f.length;c+=1)if(wo(t,f[c]))return!0;for(var h=0;h<t.length-1;h++)if(To(t[h],t[h+1],u))return!0;return!1}(t.cameraQueryGeometry,e-c,r-c,n+c,i+c)}));d<v.length;d+=1){var g=v[d];h.push(g)}h.sort(Nc);for(var y,m={},x=function(a){var c=h[a];if(c!==y){y=c;var f=i.featureIndexArray.get(c),p=null;i.loadMatchingFeature(m,f.bucketIndex,f.sourceLayerIndex,f.featureIndex,l,o.layers,o.availableImages,e,r,n,(function(e,r,n){return p||(p=uo(e)),r.queryIntersectsFeature(u,e,n,p,i.z,t.transform,s,t.pixelPosMatrix)}))}},b=0;b<h.length;b++)x(b);return m},Rc.prototype.loadMatchingFeature=function(t,e,r,n,i,a,o,s,l,u,c){var f=this.bucketLayerIDs[e];if(!a||function(t,e){for(var r=0;r<t.length;r++)if(e.indexOf(t[r])>=0)return!0;return!1}(a,f)){var h=this.sourceLayerCoder.decode(r),p=this.vtLayers[h].feature(n);if(i.filter(new Si(this.tileID.overscaledZ),p))for(var d=this.getId(p,h),v=0;v<f.length;v++){var g=f[v];if(!(a&&a.indexOf(g)<0)){var y=s[g];if(y){var m={};void 0!==d&&u&&(m=u.getState(y.sourceLayer||"_geojsonTileLayer",d));var x=l[g];x.paint=Fc(x.paint,y.paint,p,m,o),x.layout=Fc(x.layout,y.layout,p,m,o);var b=!c||c(p,y,m);if(b){var _=new Ic(p,this.z,this.x,this.y,d);_.layer=x;var w=t[g];void 0===w&&(w=t[g]=[]),w.push({featureIndex:n,feature:_,intersectionZ:b})}}}}}},Rc.prototype.lookupSymbolFeatures=function(t,e,r,n,i,a,o,s){var l={};this.loadVTLayers();for(var u=xn(i),c=0,f=t;c<f.length;c+=1){var h=f[c];this.loadMatchingFeature(l,r,n,h,u,a,o,s,e)}return l},Rc.prototype.hasLayer=function(t){for(var e=0,r=this.bucketLayerIDs;e<r.length;e+=1)for(var n=0,i=r[e];n<i.length;n+=1)if(t===i[n])return!0;return!1},Rc.prototype.getId=function(t,e){var r=t.id;if(this.promoteId){var n="string"==typeof this.promoteId?this.promoteId:this.promoteId[e];"boolean"==typeof(r=t.properties[n])&&(r=Number(r))}return r},Qn("FeatureIndex",Rc,{omit:["rawTileData","sourceLayerCoder"]});var jc=function(t,e){this.tileID=t,this.uid=p(),this.uses=0,this.tileSize=e,this.buckets={},this.expirationTime=null,this.queryPadding=0,this.hasSymbolBuckets=!1,this.hasRTLText=!1,this.dependencies={},this.expiredRequestCount=0,this.state="loading"};jc.prototype.registerFadeDuration=function(t){var e=t+this.timeAdded;e<F.now()||this.fadeEndTime&&e<this.fadeEndTime||(this.fadeEndTime=e)},jc.prototype.wasRequested=function(){return"errored"===this.state||"loaded"===this.state||"reloading"===this.state},jc.prototype.loadVectorData=function(t,e,r){if(this.hasData()&&this.unloadVectorData(),this.state="loaded",t){for(var n in t.featureIndex&&(this.latestFeatureIndex=t.featureIndex,t.rawTileData?(this.latestRawTileData=t.rawTileData,this.latestFeatureIndex.rawTileData=t.rawTileData):this.latestRawTileData&&(this.latestFeatureIndex.rawTileData=this.latestRawTileData)),this.collisionBoxArray=t.collisionBoxArray,this.buckets=function(t,e){var r={};if(!e)return r;for(var n=function(){var t=a[i],n=t.layerIds.map((function(t){return e.getLayer(t)})).filter(Boolean);if(0!==n.length){t.layers=n,t.stateDependentLayerIds&&(t.stateDependentLayers=t.stateDependentLayerIds.map((function(t){return n.filter((function(e){return e.id===t}))[0]})));for(var o=0,s=n;o<s.length;o+=1){var l=s[o];r[l.id]=t}}},i=0,a=t;i<a.length;i+=1)n();return r}(t.buckets,e.style),this.hasSymbolBuckets=!1,this.buckets){var i=this.buckets[n];if(i instanceof Ku){if(this.hasSymbolBuckets=!0,!r)break;i.justReloaded=!0}}if(this.hasRTLText=!1,this.hasSymbolBuckets)for(var a in this.buckets){var o=this.buckets[a];if(o instanceof Ku&&o.hasRTLText){this.hasRTLText=!0,Mi.isLoading()||Mi.isLoaded()||"deferred"!==ki()||Ai();break}}for(var s in this.queryPadding=0,this.buckets){var l=this.buckets[s];this.queryPadding=Math.max(this.queryPadding,e.style.getLayer(s).queryRadius(l))}t.imageAtlas&&(this.imageAtlas=t.imageAtlas),t.glyphAtlasImage&&(this.glyphAtlasImage=t.glyphAtlasImage)}else this.collisionBoxArray=new ma},jc.prototype.unloadVectorData=function(){for(var t in this.buckets)this.buckets[t].destroy();this.buckets={},this.imageAtlasTexture&&this.imageAtlasTexture.destroy(),this.imageAtlas&&(this.imageAtlas=null),this.glyphAtlasTexture&&this.glyphAtlasTexture.destroy(),this.latestFeatureIndex=null,this.state="unloaded"},jc.prototype.getBucket=function(t){return this.buckets[t.id]},jc.prototype.upload=function(t){for(var e in this.buckets){var r=this.buckets[e];r.uploadPending()&&r.upload(t)}var n=t.gl;this.imageAtlas&&!this.imageAtlas.uploaded&&(this.imageAtlasTexture=new pc(t,this.imageAtlas.image,n.RGBA),this.imageAtlas.uploaded=!0),this.glyphAtlasImage&&(this.glyphAtlasTexture=new pc(t,this.glyphAtlasImage,n.ALPHA),this.glyphAtlasImage=null)},jc.prototype.prepare=function(t){this.imageAtlas&&this.imageAtlas.patchUpdatedImages(t,this.imageAtlasTexture)},jc.prototype.queryRenderedFeatures=function(t,e,r,n,i,a,o,s,l,u){return this.latestFeatureIndex&&this.latestFeatureIndex.rawTileData?this.latestFeatureIndex.query({queryGeometry:n,cameraQueryGeometry:i,scale:a,tileSize:this.tileSize,pixelPosMatrix:u,transform:s,params:o,queryPadding:this.queryPadding*l},t,e,r):{}},jc.prototype.querySourceFeatures=function(t,e){var r=this.latestFeatureIndex;if(r&&r.rawTileData){var n=r.loadVTLayers(),i=e?e.sourceLayer:"",a=n._geojsonTileLayer||n[i];if(a)for(var o=xn(e&&e.filter),s=this.tileID.canonical,l=s.z,u=s.x,c=s.y,f={z:l,x:u,y:c},h=0;h<a.length;h++){var p=a.feature(h);if(o.filter(new Si(this.tileID.overscaledZ),p)){var d=r.getId(p,i),v=new Ic(p,l,u,c,d);v.tile=f,t.push(v)}}}},jc.prototype.hasData=function(){return"loaded"===this.state||"reloading"===this.state||"expired"===this.state},jc.prototype.patternsLoaded=function(){return this.imageAtlas&&!!Object.keys(this.imageAtlas.patternPositions).length},jc.prototype.setExpiryData=function(t){var e=this.expirationTime;if(t.cacheControl){var r=M(t.cacheControl);r["max-age"]&&(this.expirationTime=Date.now()+1e3*r["max-age"])}else t.expires&&(this.expirationTime=new Date(t.expires).getTime());if(this.expirationTime){var n=Date.now(),i=!1;if(this.expirationTime>n)i=!1;else if(e)if(this.expirationTime<e)i=!0;else{var a=this.expirationTime-e;a?this.expirationTime=n+Math.max(a,3e4):i=!0}else i=!0;i?(this.expiredRequestCount++,this.state="expired"):this.expiredRequestCount=0}},jc.prototype.getExpiryTimeout=function(){if(this.expirationTime)return this.expiredRequestCount?1e3*(1<<Math.min(this.expiredRequestCount-1,31)):Math.min(this.expirationTime-(new Date).getTime(),Math.pow(2,31)-1)},jc.prototype.setFeatureState=function(t,e){if(this.latestFeatureIndex&&this.latestFeatureIndex.rawTileData&&0!==Object.keys(t).length){var r=this.latestFeatureIndex.loadVTLayers();for(var n in this.buckets)if(e.style.hasLayer(n)){var i=this.buckets[n],a=i.layers[0].sourceLayer||"_geojsonTileLayer",o=r[a],s=t[a];if(o&&s&&0!==Object.keys(s).length){i.update(s,o,this.imageAtlas&&this.imageAtlas.patternPositions||{});var l=e&&e.style&&e.style.getLayer(n);l&&(this.queryPadding=Math.max(this.queryPadding,l.queryRadius(i)))}}}},jc.prototype.holdingForFade=function(){return void 0!==this.symbolFadeHoldUntil},jc.prototype.symbolFadeFinished=function(){return!this.symbolFadeHoldUntil||this.symbolFadeHoldUntil<F.now()},jc.prototype.clearFadeHold=function(){this.symbolFadeHoldUntil=void 0},jc.prototype.setHoldDuration=function(t){this.symbolFadeHoldUntil=F.now()+t},jc.prototype.setDependencies=function(t,e){for(var r={},n=0,i=e;n<i.length;n+=1)r[i[n]]=!0;this.dependencies[t]=r},jc.prototype.hasDependency=function(t,e){for(var r=0,n=t;r<n.length;r+=1){var i=n[r],a=this.dependencies[i];if(a)for(var o=0,s=e;o<s.length;o+=1)if(a[s[o]])return!0}return!1};var Uc=self.performance,Vc=function(t){this._marks={start:[t.url,"start"].join("#"),end:[t.url,"end"].join("#"),measure:t.url.toString()},Uc.mark(this._marks.start)};Vc.prototype.finish=function(){Uc.mark(this._marks.end);var t=Uc.getEntriesByName(this._marks.measure);return 0===t.length&&(Uc.measure(this._marks.measure,this._marks.start,this._marks.end),t=Uc.getEntriesByName(this._marks.measure),Uc.clearMarks(this._marks.start),Uc.clearMarks(this._marks.end),Uc.clearMeasures(this._marks.measure)),t},t.Actor=vc,t.AlphaImage=Ho,t.CanonicalTileID=Sc,t.CollisionBoxArray=ma,t.Color=ae,t.DEMData=Pc,t.DataConstantProperty=Ri,t.DictionaryCoder=Oc,t.EXTENT=oo,t.ErrorEvent=Pt,t.EvaluationParameters=Si,t.Event=Ct,t.Evented=Ot,t.FeatureIndex=Rc,t.FillBucket=Is,t.FillExtrusionBucket=Js,t.ImageAtlas=Xl,t.ImagePosition=Yl,t.LineBucket=ol,t.LngLat=xc,t.LngLatBounds=yc,t.MercatorCoordinate=Mc,t.ONE_EM=bl,t.OverscaledTileID=Lc,t.Point=a,t.Point$1=a,t.Properties=Ui,t.Protobuf=Tl,t.RGBAImage=qo,t.RequestManager=q,t.RequestPerformance=Vc,t.ResourceType=mt,t.SegmentVector=Ea,t.SourceFeatureState=zc,t.StructArrayLayout1ui2=da,t.StructArrayLayout2f1f2i16=aa,t.StructArrayLayout2i4=Xi,t.StructArrayLayout3ui6=sa,t.StructArrayLayout4i8=Ji,t.SymbolBucket=Ku,t.Texture=pc,t.Tile=jc,t.Transitionable=Ci,t.Uniform1f=Ha,t.Uniform1i=Va,t.Uniform2f=qa,t.Uniform3f=Ga,t.Uniform4f=Za,t.UniformColor=Ya,t.UniformMatrix4f=Xa,t.UnwrappedTileID=Ec,t.ValidationError=Dt,t.WritingMode=Jl,t.ZoomHistory=ai,t.add=function(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t[2]=e[2]+r[2],t},t.addDynamicAttributes=Yu,t.asyncAll=function(t,e,r){if(!t.length)return r(null,[]);var n=t.length,i=new Array(t.length),a=null;t.forEach((function(t,o){e(t,(function(t,e){t&&(a=t),i[o]=e,0==--n&&r(a,i)}))}))},t.bezier=s,t.bindAll=g,t.browser=F,t.cacheEntryPossiblyAdded=function(t){++gt>ct&&(t.getActor().send("enforceCacheSizeLimit",ut),gt=0)},t.clamp=u,t.clearTileCache=function(t){var e=self.caches.delete(lt);t&&e.catch(t).then((function(){return t()}))},t.clipLine=Au,t.clone=function(t){var e=new Lo(16);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e},t.clone$1=b,t.clone$2=function(t){var e=new Lo(3);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e},t.collisionCircleLayout=yl,t.config=B,t.create=function(){var t=new Lo(16);return Lo!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0),t[0]=1,t[5]=1,t[10]=1,t[15]=1,t},t.create$1=function(){var t=new Lo(9);return Lo!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[5]=0,t[6]=0,t[7]=0),t[0]=1,t[4]=1,t[8]=1,t},t.create$2=function(){var t=new Lo(4);return Lo!=Float32Array&&(t[1]=0,t[2]=0),t[0]=1,t[3]=1,t},t.createCommonjsModule=e,t.createExpression=an,t.createLayout=Yi,t.createStyleLayer=function(t){return"custom"===t.type?new oc(t):new sc[t.type](t)},t.cross=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=r[0],s=r[1],l=r[2];return t[0]=i*l-a*s,t[1]=a*o-n*l,t[2]=n*s-i*o,t},t.deepEqual=function t(e,r){if(Array.isArray(e)){if(!Array.isArray(r)||e.length!==r.length)return!1;for(var n=0;n<e.length;n++)if(!t(e[n],r[n]))return!1;return!0}if("object"==typeof e&&null!==e&&null!==r){if("object"!=typeof r)return!1;if(Object.keys(e).length!==Object.keys(r).length)return!1;for(var i in e)if(!t(e[i],r[i]))return!1;return!0}return e===r},t.dot=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]},t.dot$1=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[3]*e[3]},t.ease=l,t.emitValidationErrors=Yn,t.endsWith=y,t.enforceCacheSizeLimit=function(t){ft(),tt&&tt.then((function(e){e.keys().then((function(r){for(var n=0;n<r.length-t;n++)e.delete(r[n])}))}))},t.evaluateSizeForFeature=vu,t.evaluateSizeForZoom=gu,t.evaluateVariableOffset=Bu,t.evented=Ti,t.extend=f,t.featureFilter=xn,t.filterObject=x,t.fromRotation=function(t,e){var r=Math.sin(e),n=Math.cos(e);return t[0]=n,t[1]=r,t[2]=0,t[3]=-r,t[4]=n,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t},t.getAnchorAlignment=uu,t.getAnchorJustification=Nu,t.getArrayBuffer=Tt,t.getImage=St,t.getJSON=function(t,e){return wt(f(t,{type:"json"}),e)},t.getRTLTextPluginStatus=ki,t.getReferrer=bt,t.getVideo=function(t,e){var r,n,i=self.document.createElement("video");i.muted=!0,i.onloadstart=function(){e(null,i)};for(var a=0;a<t.length;a++){var o=self.document.createElement("source");r=t[a],n=void 0,(n=self.document.createElement("a")).href=r,n.protocol===self.document.location.protocol&&n.host===self.document.location.host||(i.crossOrigin="Anonymous"),o.src=t[a],i.appendChild(o)}return{cancel:function(){}}},t.identity=Co,t.invert=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=e[4],s=e[5],l=e[6],u=e[7],c=e[8],f=e[9],h=e[10],p=e[11],d=e[12],v=e[13],g=e[14],y=e[15],m=r*s-n*o,x=r*l-i*o,b=r*u-a*o,_=n*l-i*s,w=n*u-a*s,T=i*u-a*l,k=c*v-f*d,A=c*g-h*d,M=c*y-p*d,S=f*g-h*v,E=f*y-p*v,L=h*y-p*g,C=m*L-x*E+b*S+_*M-w*A+T*k;return C?(C=1/C,t[0]=(s*L-l*E+u*S)*C,t[1]=(i*E-n*L-a*S)*C,t[2]=(v*T-g*w+y*_)*C,t[3]=(h*w-f*T-p*_)*C,t[4]=(l*M-o*L-u*A)*C,t[5]=(r*L-i*M+a*A)*C,t[6]=(g*b-d*T-y*x)*C,t[7]=(c*T-h*b+p*x)*C,t[8]=(o*E-s*M+u*k)*C,t[9]=(n*M-r*E-a*k)*C,t[10]=(d*w-v*b+y*m)*C,t[11]=(f*b-c*w-p*m)*C,t[12]=(s*A-o*S-l*k)*C,t[13]=(r*S-n*A+i*k)*C,t[14]=(v*x-d*_-g*m)*C,t[15]=(c*_-f*x+h*m)*C,t):null},t.isChar=oi,t.isMapboxURL=G,t.keysDifference=function(t,e){var r=[];for(var n in t)n in e||r.push(n);return r},t.makeRequest=wt,t.mapObject=m,t.mercatorXfromLng=wc,t.mercatorYfromLat=Tc,t.mercatorZfromAltitude=kc,t.mul=Oo,t.multiply=Po,t.mvt=Zs,t.normalize=function(t,e){var r=e[0],n=e[1],i=e[2],a=r*r+n*n+i*i;return a>0&&(a=1/Math.sqrt(a)),t[0]=e[0]*a,t[1]=e[1]*a,t[2]=e[2]*a,t},t.number=Ke,t.offscreenCanvasSupported=yt,t.ortho=function(t,e,r,n,i,a,o){var s=1/(e-r),l=1/(n-i),u=1/(a-o);return t[0]=-2*s,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=-2*l,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=2*u,t[11]=0,t[12]=(e+r)*s,t[13]=(i+n)*l,t[14]=(o+a)*u,t[15]=1,t},t.parseGlyphPBF=function(t){return new Tl(t).readFields(Hl,[])},t.pbf=Tl,t.performSymbolLayout=function(t,e,r,n,i,a,o){t.createArrays();var s=512*t.overscaling;t.tilePixelRatio=oo/s,t.compareText={},t.iconsNeedLinear=!1;var l=t.layers[0].layout,u=t.layers[0]._unevaluatedLayout._values,c={};if("composite"===t.textSizeData.kind){var f=t.textSizeData,h=f.minZoom,p=f.maxZoom;c.compositeTextSizes=[u["text-size"].possiblyEvaluate(new Si(h),o),u["text-size"].possiblyEvaluate(new Si(p),o)]}if("composite"===t.iconSizeData.kind){var d=t.iconSizeData,v=d.minZoom,g=d.maxZoom;c.compositeIconSizes=[u["icon-size"].possiblyEvaluate(new Si(v),o),u["icon-size"].possiblyEvaluate(new Si(g),o)]}c.layoutTextSize=u["text-size"].possiblyEvaluate(new Si(t.zoom+1),o),c.layoutIconSize=u["icon-size"].possiblyEvaluate(new Si(t.zoom+1),o),c.textMaxSize=u["text-size"].possiblyEvaluate(new Si(18));for(var y=l.get("text-line-height")*bl,m="map"===l.get("text-rotation-alignment")&&"point"!==l.get("symbol-placement"),x=l.get("text-keep-upright"),b=l.get("text-size"),_=function(){var a=k[T],s=l.get("text-font").evaluate(a,{},o).join(","),u=b.evaluate(a,{},o),f=c.layoutTextSize.evaluate(a,{},o),h=c.layoutIconSize.evaluate(a,{},o),p={horizontal:{},vertical:void 0},d=a.text,v=[0,0];if(d){var g=d.toString(),_=l.get("text-letter-spacing").evaluate(a,{},o)*bl,A=function(t){for(var e=0,r=t;e<r.length;e+=1)if(n=r[e].charCodeAt(0),oi.Arabic(n)||oi["Arabic Supplement"](n)||oi["Arabic Extended-A"](n)||oi["Arabic Presentation Forms-A"](n)||oi["Arabic Presentation Forms-B"](n))return!1;var n;return!0}(g)?_:0,M=l.get("text-anchor").evaluate(a,{},o),S=l.get("text-variable-anchor");if(!S){var E=l.get("text-radial-offset").evaluate(a,{},o);v=E?Bu(M,[E*bl,Fu]):l.get("text-offset").evaluate(a,{},o).map((function(t){return t*bl}))}var L=m?"center":l.get("text-justify").evaluate(a,{},o),C=l.get("symbol-placement"),P="point"===C?l.get("text-max-width").evaluate(a,{},o)*bl:0,O=function(){t.allowVerticalPlacement&&si(g)&&(p.vertical=tu(d,e,r,i,s,P,y,M,"left",A,v,Jl.vertical,!0,C,f,u))};if(!m&&S){for(var I="auto"===L?S.map((function(t){return Nu(t)})):[L],D=!1,z=0;z<I.length;z++){var R=I[z];if(!p.horizontal[R])if(D)p.horizontal[R]=p.horizontal[0];else{var F=tu(d,e,r,i,s,P,y,"center",R,A,v,Jl.horizontal,!1,C,f,u);F&&(p.horizontal[R]=F,D=1===F.positionedLines.length)}}O()}else{"auto"===L&&(L=Nu(M));var B=tu(d,e,r,i,s,P,y,M,L,A,v,Jl.horizontal,!1,C,f,u);B&&(p.horizontal[L]=B),O(),si(g)&&m&&x&&(p.vertical=tu(d,e,r,i,s,P,y,M,L,A,v,Jl.vertical,!1,C,f,u))}}var N=void 0,j=!1;if(a.icon&&a.icon.name){var U=n[a.icon.name];U&&(N=function(t,e,r){var n=uu(r),i=n.horizontalAlign,a=n.verticalAlign,o=e[0],s=e[1],l=o-t.displaySize[0]*i,u=l+t.displaySize[0],c=s-t.displaySize[1]*a;return{image:t,top:c,bottom:c+t.displaySize[1],left:l,right:u}}(i[a.icon.name],l.get("icon-offset").evaluate(a,{},o),l.get("icon-anchor").evaluate(a,{},o)),j=U.sdf,void 0===t.sdfIcons?t.sdfIcons=U.sdf:t.sdfIcons!==U.sdf&&w("Style sheet warning: Cannot mix SDF and non-SDF icons in one buffer"),(U.pixelRatio!==t.pixelRatio||0!==l.get("icon-rotate").constantOr(1))&&(t.iconsNeedLinear=!0))}var V=Vu(p.horizontal)||p.vertical;t.iconsInText=!!V&&V.iconsInText,(V||N)&&function(t,e,r,n,i,a,o,s,l,u,c){var f=a.textMaxSize.evaluate(e,{});void 0===f&&(f=o);var h,p=t.layers[0].layout,d=p.get("icon-offset").evaluate(e,{},c),v=Vu(r.horizontal),g=24,y=o/g,m=t.tilePixelRatio*y,x=t.tilePixelRatio*f/g,b=t.tilePixelRatio*s,_=t.tilePixelRatio*p.get("symbol-spacing"),T=p.get("text-padding")*t.tilePixelRatio,k=p.get("icon-padding")*t.tilePixelRatio,A=p.get("text-max-angle")/180*Math.PI,M="map"===p.get("text-rotation-alignment")&&"point"!==p.get("symbol-placement"),S="map"===p.get("icon-rotation-alignment")&&"point"!==p.get("symbol-placement"),E=p.get("symbol-placement"),L=_/2,C=p.get("icon-text-fit");n&&"none"!==C&&(t.allowVerticalPlacement&&r.vertical&&(h=fu(n,r.vertical,C,p.get("icon-text-fit-padding"),d,y)),v&&(n=fu(n,v,C,p.get("icon-text-fit-padding"),d,y)));var P=function(s,f){f.x<0||f.x>=oo||f.y<0||f.y>=oo||function(t,e,r,n,i,a,o,s,l,u,c,f,h,p,d,v,g,y,m,x,b,_,T,k,A){var M,S,E,L,C,P=t.addToLineVertexArray(e,r),O=0,I=0,D=0,z=0,R=-1,F=-1,B={},N=Ia(""),j=0,U=0;if(void 0===s._unevaluatedLayout.getValue("text-radial-offset")?(j=(M=s.layout.get("text-offset").evaluate(b,{},k).map((function(t){return t*bl})))[0],U=M[1]):(j=s.layout.get("text-radial-offset").evaluate(b,{},k)*bl,U=Fu),t.allowVerticalPlacement&&n.vertical){var V=s.layout.get("text-rotate").evaluate(b,{},k)+90,H=n.vertical;L=new Pu(l,e,u,c,f,H,h,p,d,V),o&&(C=new Pu(l,e,u,c,f,o,g,y,d,V))}if(i){var q=s.layout.get("icon-rotate").evaluate(b,{}),G="none"!==s.layout.get("icon-text-fit"),Z=Mu(i,q,T,G),Y=o?Mu(o,q,T,G):void 0;E=new Pu(l,e,u,c,f,i,g,y,!1,q),O=4*Z.length;var W=t.iconSizeData,X=null;"source"===W.kind?(X=[pu*s.layout.get("icon-size").evaluate(b,{})])[0]>ju&&w(t.layerIds[0]+': Value for "icon-size" is >= '+'255. Reduce your "icon-size".'):"composite"===W.kind&&((X=[pu*_.compositeIconSizes[0].evaluate(b,{},k),pu*_.compositeIconSizes[1].evaluate(b,{},k)])[0]>ju||X[1]>ju)&&w(t.layerIds[0]+': Value for "icon-size" is >= '+'255. Reduce your "icon-size".'),t.addSymbols(t.icon,Z,X,x,m,b,!1,e,P.lineStartIndex,P.lineLength,-1,k),R=t.icon.placedSymbolArray.length-1,Y&&(I=4*Y.length,t.addSymbols(t.icon,Y,X,x,m,b,Jl.vertical,e,P.lineStartIndex,P.lineLength,-1,k),F=t.icon.placedSymbolArray.length-1)}for(var J in n.horizontal){var K=n.horizontal[J];if(!S){N=Ia(K.text);var $=s.layout.get("text-rotate").evaluate(b,{},k);S=new Pu(l,e,u,c,f,K,h,p,d,$)}var Q=1===K.positionedLines.length;if(D+=Uu(t,e,K,a,s,d,b,v,P,n.vertical?Jl.horizontal:Jl.horizontalOnly,Q?Object.keys(n.horizontal):[J],B,R,_,k),Q)break}n.vertical&&(z+=Uu(t,e,n.vertical,a,s,d,b,v,P,Jl.vertical,["vertical"],B,F,_,k));var tt=S?S.boxStartIndex:t.collisionBoxArray.length,et=S?S.boxEndIndex:t.collisionBoxArray.length,rt=L?L.boxStartIndex:t.collisionBoxArray.length,nt=L?L.boxEndIndex:t.collisionBoxArray.length,it=E?E.boxStartIndex:t.collisionBoxArray.length,at=E?E.boxEndIndex:t.collisionBoxArray.length,ot=C?C.boxStartIndex:t.collisionBoxArray.length,st=C?C.boxEndIndex:t.collisionBoxArray.length,lt=-1,ut=function(t,e){return t&&t.circleDiameter?Math.max(t.circleDiameter,e):e};lt=ut(S,lt),lt=ut(L,lt),lt=ut(E,lt);var ct=(lt=ut(C,lt))>-1?1:0;ct&&(lt*=A/bl),t.glyphOffsetArray.length>=Ku.MAX_GLYPHS&&w("Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907"),void 0!==b.sortKey&&t.addToSortKeyRanges(t.symbolInstances.length,b.sortKey),t.symbolInstances.emplaceBack(e.x,e.y,B.right>=0?B.right:-1,B.center>=0?B.center:-1,B.left>=0?B.left:-1,B.vertical||-1,R,F,N,tt,et,rt,nt,it,at,ot,st,u,D,z,O,I,ct,0,h,j,U,lt)}(t,f,s,r,n,i,h,t.layers[0],t.collisionBoxArray,e.index,e.sourceLayerIndex,t.index,m,T,M,l,b,k,S,d,e,a,u,c,o)};if("line"===E)for(var O=0,I=Au(e.geometry,0,0,oo,oo);O<I.length;O+=1)for(var D=I[O],z=0,R=Tu(D,_,A,r.vertical||v,n,g,x,t.overscaling,oo);z<R.length;z+=1){var F=R[z];v&&Hu(t,v.text,L,F)||P(D,F)}else if("line-center"===E)for(var B=0,N=e.geometry;B<N.length;B+=1){var j=N[B];if(j.length>1){var U=wu(j,A,r.vertical||v,n,g,x);U&&P(j,U)}}else if("Polygon"===e.type)for(var V=0,H=Ls(e.geometry,0);V<H.length;V+=1){var q=H[V],G=Du(q,16);P(q[0],new hu(G.x,G.y,0))}else if("LineString"===e.type)for(var Z=0,Y=e.geometry;Z<Y.length;Z+=1){var W=Y[Z];P(W,new hu(W[0].x,W[0].y,0))}else if("Point"===e.type)for(var X=0,J=e.geometry;X<J.length;X+=1)for(var K=0,$=J[X];K<$.length;K+=1){var Q=$[K];P([Q],new hu(Q.x,Q.y,0))}}(t,a,p,N,n,c,f,h,v,j,o)},T=0,k=t.features;T<k.length;T+=1)_();a&&t.generateCollisionDebugBuffers()},t.perspective=function(t,e,r,n,i){var a,o=1/Math.tan(e/2);return t[0]=o/r,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=o,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=-1,t[12]=0,t[13]=0,t[15]=0,null!=i&&i!==1/0?(a=1/(n-i),t[10]=(i+n)*a,t[14]=2*i*n*a):(t[10]=-1,t[14]=-2*n),t},t.pick=function(t,e){for(var r={},n=0;n<e.length;n++){var i=e[n];i in t&&(r[i]=t[i])}return r},t.plugin=Mi,t.polygonIntersectsPolygon=ho,t.postMapLoadEvent=st,t.postTurnstileEvent=at,t.potpack=Zl,t.refProperties=["type","source","source-layer","minzoom","maxzoom","filter","layout"],t.register=Qn,t.registerForPluginStateChange=function(t){return t({pluginStatus:xi,pluginURL:bi}),Ti.on("pluginStateChange",t),t},t.rotate=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=Math.sin(r),l=Math.cos(r);return t[0]=n*l+a*s,t[1]=i*l+o*s,t[2]=n*-s+a*l,t[3]=i*-s+o*l,t},t.rotateX=function(t,e,r){var n=Math.sin(r),i=Math.cos(r),a=e[4],o=e[5],s=e[6],l=e[7],u=e[8],c=e[9],f=e[10],h=e[11];return e!==t&&(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[4]=a*i+u*n,t[5]=o*i+c*n,t[6]=s*i+f*n,t[7]=l*i+h*n,t[8]=u*i-a*n,t[9]=c*i-o*n,t[10]=f*i-s*n,t[11]=h*i-l*n,t},t.rotateZ=function(t,e,r){var n=Math.sin(r),i=Math.cos(r),a=e[0],o=e[1],s=e[2],l=e[3],u=e[4],c=e[5],f=e[6],h=e[7];return e!==t&&(t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[0]=a*i+u*n,t[1]=o*i+c*n,t[2]=s*i+f*n,t[3]=l*i+h*n,t[4]=u*i-a*n,t[5]=c*i-o*n,t[6]=f*i-s*n,t[7]=h*i-l*n,t},t.scale=function(t,e,r){var n=r[0],i=r[1],a=r[2];return t[0]=e[0]*n,t[1]=e[1]*n,t[2]=e[2]*n,t[3]=e[3]*n,t[4]=e[4]*i,t[5]=e[5]*i,t[6]=e[6]*i,t[7]=e[7]*i,t[8]=e[8]*a,t[9]=e[9]*a,t[10]=e[10]*a,t[11]=e[11]*a,t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t},t.scale$1=function(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t[3]=e[3]*r,t},t.scale$2=function(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t},t.setCacheLimits=function(t,e){ut=t,ct=e},t.setRTLTextPlugin=function(t,e,r){if(void 0===r&&(r=!1),xi===di||xi===vi||xi===gi)throw new Error("setRTLTextPlugin cannot be called multiple times.");bi=F.resolveURL(t),xi=di,mi=e,wi(),r||Ai()},t.sphericalToCartesian=function(t){var e=t[0],r=t[1],n=t[2];return r+=90,r*=Math.PI/180,n*=Math.PI/180,{x:e*Math.cos(r)*Math.sin(n),y:e*Math.sin(r)*Math.sin(n),z:e*Math.cos(n)}},t.sqrLen=Ro,t.styleSpec=It,t.sub=Do,t.symbolSize=yu,t.transformMat3=function(t,e,r){var n=e[0],i=e[1],a=e[2];return t[0]=n*r[0]+i*r[3]+a*r[6],t[1]=n*r[1]+i*r[4]+a*r[7],t[2]=n*r[2]+i*r[5]+a*r[8],t},t.transformMat4=zo,t.translate=function(t,e,r){var n,i,a,o,s,l,u,c,f,h,p,d,v=r[0],g=r[1],y=r[2];return e===t?(t[12]=e[0]*v+e[4]*g+e[8]*y+e[12],t[13]=e[1]*v+e[5]*g+e[9]*y+e[13],t[14]=e[2]*v+e[6]*g+e[10]*y+e[14],t[15]=e[3]*v+e[7]*g+e[11]*y+e[15]):(n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],u=e[6],c=e[7],f=e[8],h=e[9],p=e[10],d=e[11],t[0]=n,t[1]=i,t[2]=a,t[3]=o,t[4]=s,t[5]=l,t[6]=u,t[7]=c,t[8]=f,t[9]=h,t[10]=p,t[11]=d,t[12]=n*v+s*g+f*y+e[12],t[13]=i*v+l*g+h*y+e[13],t[14]=a*v+u*g+p*y+e[14],t[15]=o*v+c*g+d*y+e[15]),t},t.triggerPluginCompletionEvent=_i,t.uniqueId=p,t.validateCustomStyleLayer=function(t){var e=[],r=t.id;return void 0===r&&e.push({message:"layers."+r+': missing required property "id"'}),void 0===t.render&&e.push({message:"layers."+r+': missing required method "render"'}),t.renderingMode&&"2d"!==t.renderingMode&&"3d"!==t.renderingMode&&e.push({message:"layers."+r+': property "renderingMode" must be either "2d" or "3d"'}),e},t.validateLight=qn,t.validateStyle=Hn,t.values=function(t){var e=[];for(var r in t)e.push(t[r]);return e},t.vectorTile=Zs,t.version=r,t.warnOnce=w,t.webpSupported=N,t.window=self,t.wrap=c})),n(0,(function(t){function e(t){var r=typeof t;if("number"===r||"boolean"===r||"string"===r||null==t)return JSON.stringify(t);if(Array.isArray(t)){for(var n="[",i=0,a=t;i<a.length;i+=1)n+=e(a[i])+",";return n+"]"}for(var o=Object.keys(t).sort(),s="{",l=0;l<o.length;l++)s+=JSON.stringify(o[l])+":"+e(t[o[l]])+",";return s+"}"}function r(r){for(var n="",i=0,a=t.refProperties;i<a.length;i+=1)n+="/"+e(r[a[i]]);return n}var n=function(t){this.keyCache={},t&&this.replace(t)};n.prototype.replace=function(t){this._layerConfigs={},this._layers={},this.update(t,[])},n.prototype.update=function(e,n){for(var i=this,a=0,o=e;a<o.length;a+=1){var s=o[a];this._layerConfigs[s.id]=s;var l=this._layers[s.id]=t.createStyleLayer(s);l._featureFilter=t.featureFilter(l.filter),this.keyCache[s.id]&&delete this.keyCache[s.id]}for(var u=0,c=n;u<c.length;u+=1){var f=c[u];delete this.keyCache[f],delete this._layerConfigs[f],delete this._layers[f]}this.familiesBySource={};for(var h=0,p=function(t,e){for(var n={},i=0;i<t.length;i++){var a=e&&e[t[i].id]||r(t[i]);e&&(e[t[i].id]=a);var o=n[a];o||(o=n[a]=[]),o.push(t[i])}var s=[];for(var l in n)s.push(n[l]);return s}(t.values(this._layerConfigs),this.keyCache);h<p.length;h+=1){var d=p[h].map((function(t){return i._layers[t.id]})),v=d[0];if("none"!==v.visibility){var g=v.source||"",y=this.familiesBySource[g];y||(y=this.familiesBySource[g]={});var m=v.sourceLayer||"_geojsonTileLayer",x=y[m];x||(x=y[m]=[]),x.push(d)}}};var i=function(e){var r={},n=[];for(var i in e){var a=e[i],o=r[i]={};for(var s in a){var l=a[+s];if(l&&0!==l.bitmap.width&&0!==l.bitmap.height){var u={x:0,y:0,w:l.bitmap.width+2,h:l.bitmap.height+2};n.push(u),o[s]={rect:u,metrics:l.metrics}}}}var c=t.potpack(n),f=c.w,h=c.h,p=new t.AlphaImage({width:f||1,height:h||1});for(var d in e){var v=e[d];for(var g in v){var y=v[+g];if(y&&0!==y.bitmap.width&&0!==y.bitmap.height){var m=r[d][g].rect;t.AlphaImage.copy(y.bitmap,p,{x:0,y:0},{x:m.x+1,y:m.y+1},y.bitmap)}}}this.image=p,this.positions=r};t.register("GlyphAtlas",i);var a=function(e){this.tileID=new t.OverscaledTileID(e.tileID.overscaledZ,e.tileID.wrap,e.tileID.canonical.z,e.tileID.canonical.x,e.tileID.canonical.y),this.uid=e.uid,this.zoom=e.zoom,this.pixelRatio=e.pixelRatio,this.tileSize=e.tileSize,this.source=e.source,this.overscaling=this.tileID.overscaleFactor(),this.showCollisionBoxes=e.showCollisionBoxes,this.collectResourceTiming=!!e.collectResourceTiming,this.returnDependencies=!!e.returnDependencies,this.promoteId=e.promoteId};function o(e,r,n){for(var i=new t.EvaluationParameters(r),a=0,o=e;a<o.length;a+=1)o[a].recalculate(i,n)}function s(e,r){var n=t.getArrayBuffer(e.request,(function(e,n,i,a){e?r(e):n&&r(null,{vectorTile:new t.vectorTile.VectorTile(new t.pbf(n)),rawData:n,cacheControl:i,expires:a})}));return function(){n.cancel(),r()}}a.prototype.parse=function(e,r,n,a,s){var l=this;this.status="parsing",this.data=e,this.collisionBoxArray=new t.CollisionBoxArray;var u=new t.DictionaryCoder(Object.keys(e.layers).sort()),c=new t.FeatureIndex(this.tileID,this.promoteId);c.bucketLayerIDs=[];var f,h,p,d,v={},g={featureIndex:c,iconDependencies:{},patternDependencies:{},glyphDependencies:{},availableImages:n},y=r.familiesBySource[this.source];for(var m in y){var x=e.layers[m];if(x){1===x.version&&t.warnOnce('Vector tile source "'+this.source+'" layer "'+m+'" does not use vector tile spec v2 and therefore may have some rendering errors.');for(var b=u.encode(m),_=[],w=0;w<x.length;w++){var T=x.feature(w),k=c.getId(T,m);_.push({feature:T,id:k,index:w,sourceLayerIndex:b})}for(var A=0,M=y[m];A<M.length;A+=1){var S=M[A],E=S[0];E.minzoom&&this.zoom<Math.floor(E.minzoom)||E.maxzoom&&this.zoom>=E.maxzoom||"none"!==E.visibility&&(o(S,this.zoom,n),(v[E.id]=E.createBucket({index:c.bucketLayerIDs.length,layers:S,zoom:this.zoom,pixelRatio:this.pixelRatio,overscaling:this.overscaling,collisionBoxArray:this.collisionBoxArray,sourceLayerIndex:b,sourceID:this.source})).populate(_,g,this.tileID.canonical),c.bucketLayerIDs.push(S.map((function(t){return t.id}))))}}}var L=t.mapObject(g.glyphDependencies,(function(t){return Object.keys(t).map(Number)}));Object.keys(L).length?a.send("getGlyphs",{uid:this.uid,stacks:L},(function(t,e){f||(f=t,h=e,O.call(l))})):h={};var C=Object.keys(g.iconDependencies);C.length?a.send("getImages",{icons:C,source:this.source,tileID:this.tileID,type:"icons"},(function(t,e){f||(f=t,p=e,O.call(l))})):p={};var P=Object.keys(g.patternDependencies);function O(){if(f)return s(f);if(h&&p&&d){var e=new i(h),r=new t.ImageAtlas(p,d);for(var a in v){var l=v[a];l instanceof t.SymbolBucket?(o(l.layers,this.zoom,n),t.performSymbolLayout(l,h,e.positions,p,r.iconPositions,this.showCollisionBoxes,this.tileID.canonical)):l.hasPattern&&(l instanceof t.LineBucket||l instanceof t.FillBucket||l instanceof t.FillExtrusionBucket)&&(o(l.layers,this.zoom,n),l.addFeatures(g,this.tileID.canonical,r.patternPositions))}this.status="done",s(null,{buckets:t.values(v).filter((function(t){return!t.isEmpty()})),featureIndex:c,collisionBoxArray:this.collisionBoxArray,glyphAtlasImage:e.image,imageAtlas:r,glyphMap:this.returnDependencies?h:null,iconMap:this.returnDependencies?p:null,glyphPositions:this.returnDependencies?e.positions:null})}}P.length?a.send("getImages",{icons:P,source:this.source,tileID:this.tileID,type:"patterns"},(function(t,e){f||(f=t,d=e,O.call(l))})):d={},O.call(this)};var l=function(t,e,r,n){this.actor=t,this.layerIndex=e,this.availableImages=r,this.loadVectorData=n||s,this.loading={},this.loaded={}};l.prototype.loadTile=function(e,r){var n=this,i=e.uid;this.loading||(this.loading={});var o=!!(e&&e.request&&e.request.collectResourceTiming)&&new t.RequestPerformance(e.request),s=this.loading[i]=new a(e);s.abort=this.loadVectorData(e,(function(e,a){if(delete n.loading[i],e||!a)return s.status="done",n.loaded[i]=s,r(e);var l=a.rawData,u={};a.expires&&(u.expires=a.expires),a.cacheControl&&(u.cacheControl=a.cacheControl);var c={};if(o){var f=o.finish();f&&(c.resourceTiming=JSON.parse(JSON.stringify(f)))}s.vectorTile=a.vectorTile,s.parse(a.vectorTile,n.layerIndex,n.availableImages,n.actor,(function(e,n){if(e||!n)return r(e);r(null,t.extend({rawTileData:l.slice(0)},n,u,c))})),n.loaded=n.loaded||{},n.loaded[i]=s}))},l.prototype.reloadTile=function(t,e){var r=this,n=this.loaded,i=t.uid,a=this;if(n&&n[i]){var o=n[i];o.showCollisionBoxes=t.showCollisionBoxes;var s=function(t,n){var i=o.reloadCallback;i&&(delete o.reloadCallback,o.parse(o.vectorTile,a.layerIndex,r.availableImages,a.actor,i)),e(t,n)};"parsing"===o.status?o.reloadCallback=s:"done"===o.status&&(o.vectorTile?o.parse(o.vectorTile,this.layerIndex,this.availableImages,this.actor,s):s())}},l.prototype.abortTile=function(t,e){var r=this.loading,n=t.uid;r&&r[n]&&r[n].abort&&(r[n].abort(),delete r[n]),e()},l.prototype.removeTile=function(t,e){var r=this.loaded,n=t.uid;r&&r[n]&&delete r[n],e()};var u=t.window.ImageBitmap,c=function(){this.loaded={}};c.prototype.loadTile=function(e,r){var n=e.uid,i=e.encoding,a=e.rawImageData,o=u&&a instanceof u?this.getImageData(a):a,s=new t.DEMData(n,o,i);this.loaded=this.loaded||{},this.loaded[n]=s,r(null,s)},c.prototype.getImageData=function(e){this.offscreenCanvas&&this.offscreenCanvasContext||(this.offscreenCanvas=new OffscreenCanvas(e.width,e.height),this.offscreenCanvasContext=this.offscreenCanvas.getContext("2d")),this.offscreenCanvas.width=e.width,this.offscreenCanvas.height=e.height,this.offscreenCanvasContext.drawImage(e,0,0,e.width,e.height);var r=this.offscreenCanvasContext.getImageData(-1,-1,e.width+2,e.height+2);return this.offscreenCanvasContext.clearRect(0,0,this.offscreenCanvas.width,this.offscreenCanvas.height),new t.RGBAImage({width:r.width,height:r.height},r.data)},c.prototype.removeTile=function(t){var e=this.loaded,r=t.uid;e&&e[r]&&delete e[r]};var f=function t(e,r){var n,i=e&&e.type;if("FeatureCollection"===i)for(n=0;n<e.features.length;n++)t(e.features[n],r);else if("GeometryCollection"===i)for(n=0;n<e.geometries.length;n++)t(e.geometries[n],r);else if("Feature"===i)t(e.geometry,r);else if("Polygon"===i)h(e.coordinates,r);else if("MultiPolygon"===i)for(n=0;n<e.coordinates.length;n++)h(e.coordinates[n],r);return e};function h(t,e){if(0!==t.length){p(t[0],e);for(var r=1;r<t.length;r++)p(t[r],!e)}}function p(t,e){for(var r=0,n=0,i=t.length,a=i-1;n<i;a=n++)r+=(t[n][0]-t[a][0])*(t[a][1]+t[n][1]);r>=0!=!!e&&t.reverse()}var d=t.vectorTile.VectorTileFeature.prototype.toGeoJSON,v=function(e){this._feature=e,this.extent=t.EXTENT,this.type=e.type,this.properties=e.tags,"id"in e&&!isNaN(e.id)&&(this.id=parseInt(e.id,10))};v.prototype.loadGeometry=function(){if(1===this._feature.type){for(var e=[],r=0,n=this._feature.geometry;r<n.length;r+=1){var i=n[r];e.push([new t.Point$1(i[0],i[1])])}return e}for(var a=[],o=0,s=this._feature.geometry;o<s.length;o+=1){for(var l=[],u=0,c=s[o];u<c.length;u+=1){var f=c[u];l.push(new t.Point$1(f[0],f[1]))}a.push(l)}return a},v.prototype.toGeoJSON=function(t,e,r){return d.call(this,t,e,r)};var g=function(e){this.layers={_geojsonTileLayer:this},this.name="_geojsonTileLayer",this.extent=t.EXTENT,this.length=e.length,this._features=e};g.prototype.feature=function(t){return new v(this._features[t])};var y=t.vectorTile.VectorTileFeature,m=x;function x(t,e){this.options=e||{},this.features=t,this.length=t.length}function b(t,e){this.id="number"==typeof t.id?t.id:void 0,this.type=t.type,this.rawGeometry=1===t.type?[t.geometry]:t.geometry,this.properties=t.tags,this.extent=e||4096}x.prototype.feature=function(t){return new b(this.features[t],this.options.extent)},b.prototype.loadGeometry=function(){var e=this.rawGeometry;this.geometry=[];for(var r=0;r<e.length;r++){for(var n=e[r],i=[],a=0;a<n.length;a++)i.push(new t.Point$1(n[a][0],n[a][1]));this.geometry.push(i)}return this.geometry},b.prototype.bbox=function(){this.geometry||this.loadGeometry();for(var t=this.geometry,e=1/0,r=-1/0,n=1/0,i=-1/0,a=0;a<t.length;a++)for(var o=t[a],s=0;s<o.length;s++){var l=o[s];e=Math.min(e,l.x),r=Math.max(r,l.x),n=Math.min(n,l.y),i=Math.max(i,l.y)}return[e,n,r,i]},b.prototype.toGeoJSON=y.prototype.toGeoJSON;var _=A,w=A,T=function(t,e){e=e||{};var r={};for(var n in t)r[n]=new m(t[n].features,e),r[n].name=n,r[n].version=e.version,r[n].extent=e.extent;return A({layers:r})},k=m;function A(e){var r=new t.pbf;return function(t,e){for(var r in t.layers)e.writeMessage(3,M,t.layers[r])}(e,r),r.finish()}function M(t,e){var r;e.writeVarintField(15,t.version||1),e.writeStringField(1,t.name||""),e.writeVarintField(5,t.extent||4096);var n={keys:[],values:[],keycache:{},valuecache:{}};for(r=0;r<t.length;r++)n.feature=t.feature(r),e.writeMessage(2,S,n);var i=n.keys;for(r=0;r<i.length;r++)e.writeStringField(3,i[r]);var a=n.values;for(r=0;r<a.length;r++)e.writeMessage(4,O,a[r])}function S(t,e){var r=t.feature;void 0!==r.id&&e.writeVarintField(1,r.id),e.writeMessage(2,E,t),e.writeVarintField(3,r.type),e.writeMessage(4,P,r)}function E(t,e){var r=t.feature,n=t.keys,i=t.values,a=t.keycache,o=t.valuecache;for(var s in r.properties){var l=a[s];void 0===l&&(n.push(s),l=n.length-1,a[s]=l),e.writeVarint(l);var u=r.properties[s],c=typeof u;"string"!==c&&"boolean"!==c&&"number"!==c&&(u=JSON.stringify(u));var f=c+":"+u,h=o[f];void 0===h&&(i.push(u),h=i.length-1,o[f]=h),e.writeVarint(h)}}function L(t,e){return(e<<3)+(7&t)}function C(t){return t<<1^t>>31}function P(t,e){for(var r=t.loadGeometry(),n=t.type,i=0,a=0,o=r.length,s=0;s<o;s++){var l=r[s],u=1;1===n&&(u=l.length),e.writeVarint(L(1,u));for(var c=3===n?l.length-1:l.length,f=0;f<c;f++){1===f&&1!==n&&e.writeVarint(L(2,c-1));var h=l[f].x-i,p=l[f].y-a;e.writeVarint(C(h)),e.writeVarint(C(p)),i+=h,a+=p}3===n&&e.writeVarint(L(7,1))}}function O(t,e){var r=typeof t;"string"===r?e.writeStringField(1,t):"boolean"===r?e.writeBooleanField(7,t):"number"===r&&(t%1!=0?e.writeDoubleField(3,t):t<0?e.writeSVarintField(6,t):e.writeVarintField(5,t))}function I(t,e,r,n,i,a){if(!(i-n<=r)){var o=n+i>>1;D(t,e,o,n,i,a%2),I(t,e,r,n,o-1,a+1),I(t,e,r,o+1,i,a+1)}}function D(t,e,r,n,i,a){for(;i>n;){if(i-n>600){var o=i-n+1,s=r-n+1,l=Math.log(o),u=.5*Math.exp(2*l/3),c=.5*Math.sqrt(l*u*(o-u)/o)*(s-o/2<0?-1:1);D(t,e,r,Math.max(n,Math.floor(r-s*u/o+c)),Math.min(i,Math.floor(r+(o-s)*u/o+c)),a)}var f=e[2*r+a],h=n,p=i;for(z(t,e,n,r),e[2*i+a]>f&&z(t,e,n,i);h<p;){for(z(t,e,h,p),h++,p--;e[2*h+a]<f;)h++;for(;e[2*p+a]>f;)p--}e[2*n+a]===f?z(t,e,n,p):z(t,e,++p,i),p<=r&&(n=p+1),r<=p&&(i=p-1)}}function z(t,e,r,n){R(t,r,n),R(e,2*r,2*n),R(e,2*r+1,2*n+1)}function R(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function F(t,e,r,n){var i=t-r,a=e-n;return i*i+a*a}_.fromVectorTileJs=w,_.fromGeojsonVt=T,_.GeoJSONWrapper=k;var B=function(t){return t[0]},N=function(t){return t[1]},j=function(t,e,r,n,i){void 0===e&&(e=B),void 0===r&&(r=N),void 0===n&&(n=64),void 0===i&&(i=Float64Array),this.nodeSize=n,this.points=t;for(var a=t.length<65536?Uint16Array:Uint32Array,o=this.ids=new a(t.length),s=this.coords=new i(2*t.length),l=0;l<t.length;l++)o[l]=l,s[2*l]=e(t[l]),s[2*l+1]=r(t[l]);I(o,s,n,0,o.length-1,0)};j.prototype.range=function(t,e,r,n){return function(t,e,r,n,i,a,o){for(var s,l,u=[0,t.length-1,0],c=[];u.length;){var f=u.pop(),h=u.pop(),p=u.pop();if(h-p<=o)for(var d=p;d<=h;d++)s=e[2*d],l=e[2*d+1],s>=r&&s<=i&&l>=n&&l<=a&&c.push(t[d]);else{var v=Math.floor((p+h)/2);s=e[2*v],l=e[2*v+1],s>=r&&s<=i&&l>=n&&l<=a&&c.push(t[v]);var g=(f+1)%2;(0===f?r<=s:n<=l)&&(u.push(p),u.push(v-1),u.push(g)),(0===f?i>=s:a>=l)&&(u.push(v+1),u.push(h),u.push(g))}}return c}(this.ids,this.coords,t,e,r,n,this.nodeSize)},j.prototype.within=function(t,e,r){return function(t,e,r,n,i,a){for(var o=[0,t.length-1,0],s=[],l=i*i;o.length;){var u=o.pop(),c=o.pop(),f=o.pop();if(c-f<=a)for(var h=f;h<=c;h++)F(e[2*h],e[2*h+1],r,n)<=l&&s.push(t[h]);else{var p=Math.floor((f+c)/2),d=e[2*p],v=e[2*p+1];F(d,v,r,n)<=l&&s.push(t[p]);var g=(u+1)%2;(0===u?r-i<=d:n-i<=v)&&(o.push(f),o.push(p-1),o.push(g)),(0===u?r+i>=d:n+i>=v)&&(o.push(p+1),o.push(c),o.push(g))}}return s}(this.ids,this.coords,t,e,r,this.nodeSize)};var U={minZoom:0,maxZoom:16,radius:40,extent:512,nodeSize:64,log:!1,generateId:!1,reduce:null,map:function(t){return t}},V=function(t){this.options=X(Object.create(U),t),this.trees=new Array(this.options.maxZoom+1)};function H(t,e,r,n,i){return{x:t,y:e,zoom:1/0,id:r,parentId:-1,numPoints:n,properties:i}}function q(t,e){var r=t.geometry.coordinates,n=r[0],i=r[1];return{x:Y(n),y:W(i),zoom:1/0,index:e,parentId:-1}}function G(t){return{type:"Feature",id:t.id,properties:Z(t),geometry:{type:"Point",coordinates:[(n=t.x,360*(n-.5)),(e=t.y,r=(180-360*e)*Math.PI/180,360*Math.atan(Math.exp(r))/Math.PI-90)]}};var e,r,n}function Z(t){var e=t.numPoints,r=e>=1e4?Math.round(e/1e3)+"k":e>=1e3?Math.round(e/100)/10+"k":e;return X(X({},t.properties),{cluster:!0,cluster_id:t.id,point_count:e,point_count_abbreviated:r})}function Y(t){return t/360+.5}function W(t){var e=Math.sin(t*Math.PI/180),r=.5-.25*Math.log((1+e)/(1-e))/Math.PI;return r<0?0:r>1?1:r}function X(t,e){for(var r in e)t[r]=e[r];return t}function J(t){return t.x}function K(t){return t.y}function $(t,e,r,n){for(var i,a=n,o=r-e>>1,s=r-e,l=t[e],u=t[e+1],c=t[r],f=t[r+1],h=e+3;h<r;h+=3){var p=Q(t[h],t[h+1],l,u,c,f);if(p>a)i=h,a=p;else if(p===a){var d=Math.abs(h-o);d<s&&(i=h,s=d)}}a>n&&(i-e>3&&$(t,e,i,n),t[i+2]=a,r-i>3&&$(t,i,r,n))}function Q(t,e,r,n,i,a){var o=i-r,s=a-n;if(0!==o||0!==s){var l=((t-r)*o+(e-n)*s)/(o*o+s*s);l>1?(r=i,n=a):l>0&&(r+=o*l,n+=s*l)}return(o=t-r)*o+(s=e-n)*s}function tt(t,e,r,n){var i={id:void 0===t?null:t,type:e,geometry:r,tags:n,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0};return function(t){var e=t.geometry,r=t.type;if("Point"===r||"MultiPoint"===r||"LineString"===r)et(t,e);else if("Polygon"===r||"MultiLineString"===r)for(var n=0;n<e.length;n++)et(t,e[n]);else if("MultiPolygon"===r)for(n=0;n<e.length;n++)for(var i=0;i<e[n].length;i++)et(t,e[n][i])}(i),i}function et(t,e){for(var r=0;r<e.length;r+=3)t.minX=Math.min(t.minX,e[r]),t.minY=Math.min(t.minY,e[r+1]),t.maxX=Math.max(t.maxX,e[r]),t.maxY=Math.max(t.maxY,e[r+1])}function rt(t,e,r,n){if(e.geometry){var i=e.geometry.coordinates,a=e.geometry.type,o=Math.pow(r.tolerance/((1<<r.maxZoom)*r.extent),2),s=[],l=e.id;if(r.promoteId?l=e.properties[r.promoteId]:r.generateId&&(l=n||0),"Point"===a)nt(i,s);else if("MultiPoint"===a)for(var u=0;u<i.length;u++)nt(i[u],s);else if("LineString"===a)it(i,s,o,!1);else if("MultiLineString"===a){if(r.lineMetrics){for(u=0;u<i.length;u++)s=[],it(i[u],s,o,!1),t.push(tt(l,"LineString",s,e.properties));return}at(i,s,o,!1)}else if("Polygon"===a)at(i,s,o,!0);else{if("MultiPolygon"!==a){if("GeometryCollection"===a){for(u=0;u<e.geometry.geometries.length;u++)rt(t,{id:l,geometry:e.geometry.geometries[u],properties:e.properties},r,n);return}throw new Error("Input data is not a valid GeoJSON object.")}for(u=0;u<i.length;u++){var c=[];at(i[u],c,o,!0),s.push(c)}}t.push(tt(l,a,s,e.properties))}}function nt(t,e){e.push(ot(t[0])),e.push(st(t[1])),e.push(0)}function it(t,e,r,n){for(var i,a,o=0,s=0;s<t.length;s++){var l=ot(t[s][0]),u=st(t[s][1]);e.push(l),e.push(u),e.push(0),s>0&&(o+=n?(i*u-l*a)/2:Math.sqrt(Math.pow(l-i,2)+Math.pow(u-a,2))),i=l,a=u}var c=e.length-3;e[2]=1,$(e,0,c,r),e[c+2]=1,e.size=Math.abs(o),e.start=0,e.end=e.size}function at(t,e,r,n){for(var i=0;i<t.length;i++){var a=[];it(t[i],a,r,n),e.push(a)}}function ot(t){return t/360+.5}function st(t){var e=Math.sin(t*Math.PI/180),r=.5-.25*Math.log((1+e)/(1-e))/Math.PI;return r<0?0:r>1?1:r}function lt(t,e,r,n,i,a,o,s){if(n/=e,a>=(r/=e)&&o<n)return t;if(o<r||a>=n)return null;for(var l=[],u=0;u<t.length;u++){var c=t[u],f=c.geometry,h=c.type,p=0===i?c.minX:c.minY,d=0===i?c.maxX:c.maxY;if(p>=r&&d<n)l.push(c);else if(!(d<r||p>=n)){var v=[];if("Point"===h||"MultiPoint"===h)ut(f,v,r,n,i);else if("LineString"===h)ct(f,v,r,n,i,!1,s.lineMetrics);else if("MultiLineString"===h)ht(f,v,r,n,i,!1);else if("Polygon"===h)ht(f,v,r,n,i,!0);else if("MultiPolygon"===h)for(var g=0;g<f.length;g++){var y=[];ht(f[g],y,r,n,i,!0),y.length&&v.push(y)}if(v.length){if(s.lineMetrics&&"LineString"===h){for(g=0;g<v.length;g++)l.push(tt(c.id,h,v[g],c.tags));continue}"LineString"!==h&&"MultiLineString"!==h||(1===v.length?(h="LineString",v=v[0]):h="MultiLineString"),"Point"!==h&&"MultiPoint"!==h||(h=3===v.length?"Point":"MultiPoint"),l.push(tt(c.id,h,v,c.tags))}}}return l.length?l:null}function ut(t,e,r,n,i){for(var a=0;a<t.length;a+=3){var o=t[a+i];o>=r&&o<=n&&(e.push(t[a]),e.push(t[a+1]),e.push(t[a+2]))}}function ct(t,e,r,n,i,a,o){for(var s,l,u=ft(t),c=0===i?dt:vt,f=t.start,h=0;h<t.length-3;h+=3){var p=t[h],d=t[h+1],v=t[h+2],g=t[h+3],y=t[h+4],m=0===i?p:d,x=0===i?g:y,b=!1;o&&(s=Math.sqrt(Math.pow(p-g,2)+Math.pow(d-y,2))),m<r?x>r&&(l=c(u,p,d,g,y,r),o&&(u.start=f+s*l)):m>n?x<n&&(l=c(u,p,d,g,y,n),o&&(u.start=f+s*l)):pt(u,p,d,v),x<r&&m>=r&&(l=c(u,p,d,g,y,r),b=!0),x>n&&m<=n&&(l=c(u,p,d,g,y,n),b=!0),!a&&b&&(o&&(u.end=f+s*l),e.push(u),u=ft(t)),o&&(f+=s)}var _=t.length-3;p=t[_],d=t[_+1],v=t[_+2],(m=0===i?p:d)>=r&&m<=n&&pt(u,p,d,v),_=u.length-3,a&&_>=3&&(u[_]!==u[0]||u[_+1]!==u[1])&&pt(u,u[0],u[1],u[2]),u.length&&e.push(u)}function ft(t){var e=[];return e.size=t.size,e.start=t.start,e.end=t.end,e}function ht(t,e,r,n,i,a){for(var o=0;o<t.length;o++)ct(t[o],e,r,n,i,a,!1)}function pt(t,e,r,n){t.push(e),t.push(r),t.push(n)}function dt(t,e,r,n,i,a){var o=(a-e)/(n-e);return t.push(a),t.push(r+(i-r)*o),t.push(1),o}function vt(t,e,r,n,i,a){var o=(a-r)/(i-r);return t.push(e+(n-e)*o),t.push(a),t.push(1),o}function gt(t,e){for(var r=[],n=0;n<t.length;n++){var i,a=t[n],o=a.type;if("Point"===o||"MultiPoint"===o||"LineString"===o)i=yt(a.geometry,e);else if("MultiLineString"===o||"Polygon"===o){i=[];for(var s=0;s<a.geometry.length;s++)i.push(yt(a.geometry[s],e))}else if("MultiPolygon"===o)for(i=[],s=0;s<a.geometry.length;s++){for(var l=[],u=0;u<a.geometry[s].length;u++)l.push(yt(a.geometry[s][u],e));i.push(l)}r.push(tt(a.id,o,i,a.tags))}return r}function yt(t,e){var r=[];r.size=t.size,void 0!==t.start&&(r.start=t.start,r.end=t.end);for(var n=0;n<t.length;n+=3)r.push(t[n]+e,t[n+1],t[n+2]);return r}function mt(t,e){if(t.transformed)return t;var r,n,i,a=1<<t.z,o=t.x,s=t.y;for(r=0;r<t.features.length;r++){var l=t.features[r],u=l.geometry,c=l.type;if(l.geometry=[],1===c)for(n=0;n<u.length;n+=2)l.geometry.push(xt(u[n],u[n+1],e,a,o,s));else for(n=0;n<u.length;n++){var f=[];for(i=0;i<u[n].length;i+=2)f.push(xt(u[n][i],u[n][i+1],e,a,o,s));l.geometry.push(f)}}return t.transformed=!0,t}function xt(t,e,r,n,i,a){return[Math.round(r*(t*n-i)),Math.round(r*(e*n-a))]}function bt(t,e,r,n,i){for(var a=e===i.maxZoom?0:i.tolerance/((1<<e)*i.extent),o={features:[],numPoints:0,numSimplified:0,numFeatures:0,source:null,x:r,y:n,z:e,transformed:!1,minX:2,minY:1,maxX:-1,maxY:0},s=0;s<t.length;s++){o.numFeatures++,_t(o,t[s],a,i);var l=t[s].minX,u=t[s].minY,c=t[s].maxX,f=t[s].maxY;l<o.minX&&(o.minX=l),u<o.minY&&(o.minY=u),c>o.maxX&&(o.maxX=c),f>o.maxY&&(o.maxY=f)}return o}function _t(t,e,r,n){var i=e.geometry,a=e.type,o=[];if("Point"===a||"MultiPoint"===a)for(var s=0;s<i.length;s+=3)o.push(i[s]),o.push(i[s+1]),t.numPoints++,t.numSimplified++;else if("LineString"===a)wt(o,i,t,r,!1,!1);else if("MultiLineString"===a||"Polygon"===a)for(s=0;s<i.length;s++)wt(o,i[s],t,r,"Polygon"===a,0===s);else if("MultiPolygon"===a)for(var l=0;l<i.length;l++){var u=i[l];for(s=0;s<u.length;s++)wt(o,u[s],t,r,!0,0===s)}if(o.length){var c=e.tags||null;if("LineString"===a&&n.lineMetrics){for(var f in c={},e.tags)c[f]=e.tags[f];c.mapbox_clip_start=i.start/i.size,c.mapbox_clip_end=i.end/i.size}var h={geometry:o,type:"Polygon"===a||"MultiPolygon"===a?3:"LineString"===a||"MultiLineString"===a?2:1,tags:c};null!==e.id&&(h.id=e.id),t.features.push(h)}}function wt(t,e,r,n,i,a){var o=n*n;if(n>0&&e.size<(i?o:n))r.numPoints+=e.length/3;else{for(var s=[],l=0;l<e.length;l+=3)(0===n||e[l+2]>o)&&(r.numSimplified++,s.push(e[l]),s.push(e[l+1])),r.numPoints++;i&&function(t,e){for(var r=0,n=0,i=t.length,a=i-2;n<i;a=n,n+=2)r+=(t[n]-t[a])*(t[n+1]+t[a+1]);if(r>0===e)for(n=0,i=t.length;n<i/2;n+=2){var o=t[n],s=t[n+1];t[n]=t[i-2-n],t[n+1]=t[i-1-n],t[i-2-n]=o,t[i-1-n]=s}}(s,a),t.push(s)}}function Tt(t,e){var r=(e=this.options=function(t,e){for(var r in e)t[r]=e[r];return t}(Object.create(this.options),e)).debug;if(r&&console.time("preprocess data"),e.maxZoom<0||e.maxZoom>24)throw new Error("maxZoom should be in the 0-24 range");if(e.promoteId&&e.generateId)throw new Error("promoteId and generateId cannot be used together.");var n=function(t,e){var r=[];if("FeatureCollection"===t.type)for(var n=0;n<t.features.length;n++)rt(r,t.features[n],e,n);else"Feature"===t.type?rt(r,t,e):rt(r,{geometry:t},e);return r}(t,e);this.tiles={},this.tileCoords=[],r&&(console.timeEnd("preprocess data"),console.log("index: maxZoom: %d, maxPoints: %d",e.indexMaxZoom,e.indexMaxPoints),console.time("generate tiles"),this.stats={},this.total=0),(n=function(t,e){var r=e.buffer/e.extent,n=t,i=lt(t,1,-1-r,r,0,-1,2,e),a=lt(t,1,1-r,2+r,0,-1,2,e);return(i||a)&&(n=lt(t,1,-r,1+r,0,-1,2,e)||[],i&&(n=gt(i,1).concat(n)),a&&(n=n.concat(gt(a,-1)))),n}(n,e)).length&&this.splitTile(n,0,0,0),r&&(n.length&&console.log("features: %d, points: %d",this.tiles[0].numFeatures,this.tiles[0].numPoints),console.timeEnd("generate tiles"),console.log("tiles generated:",this.total,JSON.stringify(this.stats)))}function kt(t,e,r){return 32*((1<<t)*r+e)+t}function At(t,e){var r=t.tileID.canonical;if(!this._geoJSONIndex)return e(null,null);var n=this._geoJSONIndex.getTile(r.z,r.x,r.y);if(!n)return e(null,null);var i=new g(n.features),a=_(i);0===a.byteOffset&&a.byteLength===a.buffer.byteLength||(a=new Uint8Array(a)),e(null,{vectorTile:i,rawData:a.buffer})}V.prototype.load=function(t){var e=this.options,r=e.log,n=e.minZoom,i=e.maxZoom,a=e.nodeSize;r&&console.time("total time");var o="prepare "+t.length+" points";r&&console.time(o),this.points=t;for(var s=[],l=0;l<t.length;l++)t[l].geometry&&s.push(q(t[l],l));this.trees[i+1]=new j(s,J,K,a,Float32Array),r&&console.timeEnd(o);for(var u=i;u>=n;u--){var c=+Date.now();s=this._cluster(s,u),this.trees[u]=new j(s,J,K,a,Float32Array),r&&console.log("z%d: %d clusters in %dms",u,s.length,+Date.now()-c)}return r&&console.timeEnd("total time"),this},V.prototype.getClusters=function(t,e){var r=((t[0]+180)%360+360)%360-180,n=Math.max(-90,Math.min(90,t[1])),i=180===t[2]?180:((t[2]+180)%360+360)%360-180,a=Math.max(-90,Math.min(90,t[3]));if(t[2]-t[0]>=360)r=-180,i=180;else if(r>i){var o=this.getClusters([r,n,180,a],e),s=this.getClusters([-180,n,i,a],e);return o.concat(s)}for(var l=this.trees[this._limitZoom(e)],u=[],c=0,f=l.range(Y(r),W(a),Y(i),W(n));c<f.length;c+=1){var h=f[c],p=l.points[h];u.push(p.numPoints?G(p):this.points[p.index])}return u},V.prototype.getChildren=function(t){var e=this._getOriginId(t),r=this._getOriginZoom(t),n="No cluster with the specified id.",i=this.trees[r];if(!i)throw new Error(n);var a=i.points[e];if(!a)throw new Error(n);for(var o=this.options.radius/(this.options.extent*Math.pow(2,r-1)),s=[],l=0,u=i.within(a.x,a.y,o);l<u.length;l+=1){var c=u[l],f=i.points[c];f.parentId===t&&s.push(f.numPoints?G(f):this.points[f.index])}if(0===s.length)throw new Error(n);return s},V.prototype.getLeaves=function(t,e,r){e=e||10,r=r||0;var n=[];return this._appendLeaves(n,t,e,r,0),n},V.prototype.getTile=function(t,e,r){var n=this.trees[this._limitZoom(t)],i=Math.pow(2,t),a=this.options,o=a.extent,s=a.radius/o,l=(r-s)/i,u=(r+1+s)/i,c={features:[]};return this._addTileFeatures(n.range((e-s)/i,l,(e+1+s)/i,u),n.points,e,r,i,c),0===e&&this._addTileFeatures(n.range(1-s/i,l,1,u),n.points,i,r,i,c),e===i-1&&this._addTileFeatures(n.range(0,l,s/i,u),n.points,-1,r,i,c),c.features.length?c:null},V.prototype.getClusterExpansionZoom=function(t){for(var e=this._getOriginZoom(t)-1;e<=this.options.maxZoom;){var r=this.getChildren(t);if(e++,1!==r.length)break;t=r[0].properties.cluster_id}return e},V.prototype._appendLeaves=function(t,e,r,n,i){for(var a=0,o=this.getChildren(e);a<o.length;a+=1){var s=o[a],l=s.properties;if(l&&l.cluster?i+l.point_count<=n?i+=l.point_count:i=this._appendLeaves(t,l.cluster_id,r,n,i):i<n?i++:t.push(s),t.length===r)break}return i},V.prototype._addTileFeatures=function(t,e,r,n,i,a){for(var o=0,s=t;o<s.length;o+=1){var l=e[s[o]],u=l.numPoints,c={type:1,geometry:[[Math.round(this.options.extent*(l.x*i-r)),Math.round(this.options.extent*(l.y*i-n))]],tags:u?Z(l):this.points[l.index].properties},f=void 0;u?f=l.id:this.options.generateId?f=l.index:this.points[l.index].id&&(f=this.points[l.index].id),void 0!==f&&(c.id=f),a.features.push(c)}},V.prototype._limitZoom=function(t){return Math.max(this.options.minZoom,Math.min(t,this.options.maxZoom+1))},V.prototype._cluster=function(t,e){for(var r=[],n=this.options,i=n.radius,a=n.extent,o=n.reduce,s=i/(a*Math.pow(2,e)),l=0;l<t.length;l++){var u=t[l];if(!(u.zoom<=e)){u.zoom=e;for(var c=this.trees[e+1],f=c.within(u.x,u.y,s),h=u.numPoints||1,p=u.x*h,d=u.y*h,v=o&&h>1?this._map(u,!0):null,g=(l<<5)+(e+1)+this.points.length,y=0,m=f;y<m.length;y+=1){var x=m[y],b=c.points[x];if(!(b.zoom<=e)){b.zoom=e;var _=b.numPoints||1;p+=b.x*_,d+=b.y*_,h+=_,b.parentId=g,o&&(v||(v=this._map(u,!0)),o(v,this._map(b)))}}1===h?r.push(u):(u.parentId=g,r.push(H(p/h,d/h,g,h,v)))}}return r},V.prototype._getOriginId=function(t){return t-this.points.length>>5},V.prototype._getOriginZoom=function(t){return(t-this.points.length)%32},V.prototype._map=function(t,e){if(t.numPoints)return e?X({},t.properties):t.properties;var r=this.points[t.index].properties,n=this.options.map(r);return e&&n===r?X({},n):n},Tt.prototype.options={maxZoom:14,indexMaxZoom:5,indexMaxPoints:1e5,tolerance:3,extent:4096,buffer:64,lineMetrics:!1,promoteId:null,generateId:!1,debug:0},Tt.prototype.splitTile=function(t,e,r,n,i,a,o){for(var s=[t,e,r,n],l=this.options,u=l.debug;s.length;){n=s.pop(),r=s.pop(),e=s.pop(),t=s.pop();var c=1<<e,f=kt(e,r,n),h=this.tiles[f];if(!h&&(u>1&&console.time("creation"),h=this.tiles[f]=bt(t,e,r,n,l),this.tileCoords.push({z:e,x:r,y:n}),u)){u>1&&(console.log("tile z%d-%d-%d (features: %d, points: %d, simplified: %d)",e,r,n,h.numFeatures,h.numPoints,h.numSimplified),console.timeEnd("creation"));var p="z"+e;this.stats[p]=(this.stats[p]||0)+1,this.total++}if(h.source=t,i){if(e===l.maxZoom||e===i)continue;var d=1<<i-e;if(r!==Math.floor(a/d)||n!==Math.floor(o/d))continue}else if(e===l.indexMaxZoom||h.numPoints<=l.indexMaxPoints)continue;if(h.source=null,0!==t.length){u>1&&console.time("clipping");var v,g,y,m,x,b,_=.5*l.buffer/l.extent,w=.5-_,T=.5+_,k=1+_;v=g=y=m=null,x=lt(t,c,r-_,r+T,0,h.minX,h.maxX,l),b=lt(t,c,r+w,r+k,0,h.minX,h.maxX,l),t=null,x&&(v=lt(x,c,n-_,n+T,1,h.minY,h.maxY,l),g=lt(x,c,n+w,n+k,1,h.minY,h.maxY,l),x=null),b&&(y=lt(b,c,n-_,n+T,1,h.minY,h.maxY,l),m=lt(b,c,n+w,n+k,1,h.minY,h.maxY,l),b=null),u>1&&console.timeEnd("clipping"),s.push(v||[],e+1,2*r,2*n),s.push(g||[],e+1,2*r,2*n+1),s.push(y||[],e+1,2*r+1,2*n),s.push(m||[],e+1,2*r+1,2*n+1)}}},Tt.prototype.getTile=function(t,e,r){var n=this.options,i=n.extent,a=n.debug;if(t<0||t>24)return null;var o=1<<t,s=kt(t,e=(e%o+o)%o,r);if(this.tiles[s])return mt(this.tiles[s],i);a>1&&console.log("drilling down to z%d-%d-%d",t,e,r);for(var l,u=t,c=e,f=r;!l&&u>0;)u--,c=Math.floor(c/2),f=Math.floor(f/2),l=this.tiles[kt(u,c,f)];return l&&l.source?(a>1&&console.log("found parent tile z%d-%d-%d",u,c,f),a>1&&console.time("drilling down"),this.splitTile(l.source,u,c,f,t,e,r),a>1&&console.timeEnd("drilling down"),this.tiles[s]?mt(this.tiles[s],i):null):null};var Mt=function(e){function r(t,r,n,i){e.call(this,t,r,n,At),i&&(this.loadGeoJSON=i)}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.loadData=function(t,e){this._pendingCallback&&this._pendingCallback(null,{abandoned:!0}),this._pendingCallback=e,this._pendingLoadDataParams=t,this._state&&"Idle"!==this._state?this._state="NeedsLoadData":(this._state="Coalescing",this._loadData())},r.prototype._loadData=function(){var e=this;if(this._pendingCallback&&this._pendingLoadDataParams){var r=this._pendingCallback,n=this._pendingLoadDataParams;delete this._pendingCallback,delete this._pendingLoadDataParams;var i=!!(n&&n.request&&n.request.collectResourceTiming)&&new t.RequestPerformance(n.request);this.loadGeoJSON(n,(function(a,o){if(a||!o)return r(a);if("object"!=typeof o)return r(new Error("Input data given to '"+n.source+"' is not a valid GeoJSON object."));f(o,!0);try{e._geoJSONIndex=n.cluster?new V(function(e){var r=e.superclusterOptions,n=e.clusterProperties;if(!n||!r)return r;for(var i={},a={},o={accumulated:null,zoom:0},s={properties:null},l=Object.keys(n),u=0,c=l;u<c.length;u+=1){var f=c[u],h=n[f],p=h[0],d=h[1],v=t.createExpression(d),g=t.createExpression("string"==typeof p?[p,["accumulated"],["get",f]]:p);i[f]=v.value,a[f]=g.value}return r.map=function(t){s.properties=t;for(var e={},r=0,n=l;r<n.length;r+=1){var a=n[r];e[a]=i[a].evaluate(o,s)}return e},r.reduce=function(t,e){s.properties=e;for(var r=0,n=l;r<n.length;r+=1){var i=n[r];o.accumulated=t[i],t[i]=a[i].evaluate(o,s)}},r}(n)).load(o.features):function(t,e){return new Tt(t,e)}(o,n.geojsonVtOptions)}catch(a){return r(a)}e.loaded={};var s={};if(i){var l=i.finish();l&&(s.resourceTiming={},s.resourceTiming[n.source]=JSON.parse(JSON.stringify(l)))}r(null,s)}))}},r.prototype.coalesce=function(){"Coalescing"===this._state?this._state="Idle":"NeedsLoadData"===this._state&&(this._state="Coalescing",this._loadData())},r.prototype.reloadTile=function(t,r){var n=this.loaded,i=t.uid;return n&&n[i]?e.prototype.reloadTile.call(this,t,r):this.loadTile(t,r)},r.prototype.loadGeoJSON=function(e,r){if(e.request)t.getJSON(e.request,r);else{if("string"!=typeof e.data)return r(new Error("Input data given to '"+e.source+"' is not a valid GeoJSON object."));try{return r(null,JSON.parse(e.data))}catch(t){return r(new Error("Input data given to '"+e.source+"' is not a valid GeoJSON object."))}}},r.prototype.removeSource=function(t,e){this._pendingCallback&&this._pendingCallback(null,{abandoned:!0}),e()},r.prototype.getClusterExpansionZoom=function(t,e){try{e(null,this._geoJSONIndex.getClusterExpansionZoom(t.clusterId))}catch(t){e(t)}},r.prototype.getClusterChildren=function(t,e){try{e(null,this._geoJSONIndex.getChildren(t.clusterId))}catch(t){e(t)}},r.prototype.getClusterLeaves=function(t,e){try{e(null,this._geoJSONIndex.getLeaves(t.clusterId,t.limit,t.offset))}catch(t){e(t)}},r}(l);var St=function(e){var r=this;this.self=e,this.actor=new t.Actor(e,this),this.layerIndexes={},this.availableImages={},this.workerSourceTypes={vector:l,geojson:Mt},this.workerSources={},this.demWorkerSources={},this.self.registerWorkerSource=function(t,e){if(r.workerSourceTypes[t])throw new Error('Worker source with name "'+t+'" already registered.');r.workerSourceTypes[t]=e},this.self.registerRTLTextPlugin=function(e){if(t.plugin.isParsed())throw new Error("RTL text plugin already registered.");t.plugin.applyArabicShaping=e.applyArabicShaping,t.plugin.processBidirectionalText=e.processBidirectionalText,t.plugin.processStyledBidirectionalText=e.processStyledBidirectionalText}};return St.prototype.setReferrer=function(t,e){this.referrer=e},St.prototype.setImages=function(t,e,r){for(var n in this.availableImages[t]=e,this.workerSources[t]){var i=this.workerSources[t][n];for(var a in i)i[a].availableImages=e}r()},St.prototype.setLayers=function(t,e,r){this.getLayerIndex(t).replace(e),r()},St.prototype.updateLayers=function(t,e,r){this.getLayerIndex(t).update(e.layers,e.removedIds),r()},St.prototype.loadTile=function(t,e,r){this.getWorkerSource(t,e.type,e.source).loadTile(e,r)},St.prototype.loadDEMTile=function(t,e,r){this.getDEMWorkerSource(t,e.source).loadTile(e,r)},St.prototype.reloadTile=function(t,e,r){this.getWorkerSource(t,e.type,e.source).reloadTile(e,r)},St.prototype.abortTile=function(t,e,r){this.getWorkerSource(t,e.type,e.source).abortTile(e,r)},St.prototype.removeTile=function(t,e,r){this.getWorkerSource(t,e.type,e.source).removeTile(e,r)},St.prototype.removeDEMTile=function(t,e){this.getDEMWorkerSource(t,e.source).removeTile(e)},St.prototype.removeSource=function(t,e,r){if(this.workerSources[t]&&this.workerSources[t][e.type]&&this.workerSources[t][e.type][e.source]){var n=this.workerSources[t][e.type][e.source];delete this.workerSources[t][e.type][e.source],void 0!==n.removeSource?n.removeSource(e,r):r()}},St.prototype.loadWorkerSource=function(t,e,r){try{this.self.importScripts(e.url),r()}catch(t){r(t.toString())}},St.prototype.syncRTLPluginState=function(e,r,n){try{t.plugin.setState(r);var i=t.plugin.getPluginURL();if(t.plugin.isLoaded()&&!t.plugin.isParsed()&&null!=i){this.self.importScripts(i);var a=t.plugin.isParsed();n(a?void 0:new Error("RTL Text Plugin failed to import scripts from "+i),a)}}catch(t){n(t.toString())}},St.prototype.getAvailableImages=function(t){var e=this.availableImages[t];return e||(e=[]),e},St.prototype.getLayerIndex=function(t){var e=this.layerIndexes[t];return e||(e=this.layerIndexes[t]=new n),e},St.prototype.getWorkerSource=function(t,e,r){var n=this;if(this.workerSources[t]||(this.workerSources[t]={}),this.workerSources[t][e]||(this.workerSources[t][e]={}),!this.workerSources[t][e][r]){var i={send:function(e,r,i){n.actor.send(e,r,i,t)}};this.workerSources[t][e][r]=new this.workerSourceTypes[e](i,this.getLayerIndex(t),this.getAvailableImages(t))}return this.workerSources[t][e][r]},St.prototype.getDEMWorkerSource=function(t,e){return this.demWorkerSources[t]||(this.demWorkerSources[t]={}),this.demWorkerSources[t][e]||(this.demWorkerSources[t][e]=new c),this.demWorkerSources[t][e]},St.prototype.enforceCacheSizeLimit=function(e,r){t.enforceCacheSizeLimit(r)},"undefined"!=typeof WorkerGlobalScope&&void 0!==t.window&&t.window instanceof WorkerGlobalScope&&(t.window.worker=new St(t.window)),St})),n(0,(function(t){var e=t.createCommonjsModule((function(t){function e(t){return!r(t)}function r(t){return"undefined"!=typeof window&&"undefined"!=typeof document?Array.prototype&&Array.prototype.every&&Array.prototype.filter&&Array.prototype.forEach&&Array.prototype.indexOf&&Array.prototype.lastIndexOf&&Array.prototype.map&&Array.prototype.some&&Array.prototype.reduce&&Array.prototype.reduceRight&&Array.isArray?Function.prototype&&Function.prototype.bind?Object.keys&&Object.create&&Object.getPrototypeOf&&Object.getOwnPropertyNames&&Object.isSealed&&Object.isFrozen&&Object.isExtensible&&Object.getOwnPropertyDescriptor&&Object.defineProperty&&Object.defineProperties&&Object.seal&&Object.freeze&&Object.preventExtensions?"JSON"in window&&"parse"in JSON&&"stringify"in JSON?function(){if(!("Worker"in window&&"Blob"in window&&"URL"in window))return!1;var t,e,r=new Blob([""],{type:"text/javascript"}),n=URL.createObjectURL(r);try{e=new Worker(n),t=!0}catch(e){t=!1}return e&&e.terminate(),URL.revokeObjectURL(n),t}()?"Uint8ClampedArray"in window?ArrayBuffer.isView?function(){var t=document.createElement("canvas");t.width=t.height=1;var e=t.getContext("2d");if(!e)return!1;var r=e.getImageData(0,0,1,1);return r&&r.width===t.width}()?(r=t&&t.failIfMajorPerformanceCaveat,void 0===n[r]&&(n[r]=function(t){var r=function(t){var r=document.createElement("canvas"),n=Object.create(e.webGLContextAttributes);return n.failIfMajorPerformanceCaveat=t,r.probablySupportsContext?r.probablySupportsContext("webgl",n)||r.probablySupportsContext("experimental-webgl",n):r.supportsContext?r.supportsContext("webgl",n)||r.supportsContext("experimental-webgl",n):r.getContext("webgl",n)||r.getContext("experimental-webgl",n)}(t);if(!r)return!1;var n=r.createShader(r.VERTEX_SHADER);return!(!n||r.isContextLost())&&(r.shaderSource(n,"void main() {}"),r.compileShader(n),!0===r.getShaderParameter(n,r.COMPILE_STATUS))}(r)),n[r]?void 0:"insufficient WebGL support"):"insufficient Canvas/getImageData support":"insufficient ArrayBuffer support":"insufficient Uint8ClampedArray support":"insufficient worker support":"insufficient JSON support":"insufficient Object support":"insufficient Function support":"insufficent Array support":"not a browser";var r}t.exports?t.exports=e:window&&(window.mapboxgl=window.mapboxgl||{},window.mapboxgl.supported=e,window.mapboxgl.notSupportedReason=r);var n={};e.webGLContextAttributes={antialias:!1,alpha:!0,stencil:!0,depth:!0}})),r={create:function(e,r,n){var i=t.window.document.createElement(e);return void 0!==r&&(i.className=r),n&&n.appendChild(i),i},createNS:function(e,r){return t.window.document.createElementNS(e,r)}},n=t.window.document.documentElement.style;function i(t){if(!n)return t[0];for(var e=0;e<t.length;e++)if(t[e]in n)return t[e];return t[0]}var a,o=i(["userSelect","MozUserSelect","WebkitUserSelect","msUserSelect"]);r.disableDrag=function(){n&&o&&(a=n[o],n[o]="none")},r.enableDrag=function(){n&&o&&(n[o]=a)};var s=i(["transform","WebkitTransform"]);r.setTransform=function(t,e){t.style[s]=e};var l=!1;try{var u=Object.defineProperty({},"passive",{get:function(){l=!0}});t.window.addEventListener("test",u,u),t.window.removeEventListener("test",u,u)}catch(t){l=!1}r.addEventListener=function(t,e,r,n){void 0===n&&(n={}),"passive"in n&&l?t.addEventListener(e,r,n):t.addEventListener(e,r,n.capture)},r.removeEventListener=function(t,e,r,n){void 0===n&&(n={}),"passive"in n&&l?t.removeEventListener(e,r,n):t.removeEventListener(e,r,n.capture)};var c=function(e){e.preventDefault(),e.stopPropagation(),t.window.removeEventListener("click",c,!0)};function f(t){var e=t.userImage;return!!(e&&e.render&&e.render())&&(t.data.replace(new Uint8Array(e.data.buffer)),!0)}r.suppressClick=function(){t.window.addEventListener("click",c,!0),t.window.setTimeout((function(){t.window.removeEventListener("click",c,!0)}),0)},r.mousePos=function(e,r){var n=e.getBoundingClientRect();return new t.Point(r.clientX-n.left-e.clientLeft,r.clientY-n.top-e.clientTop)},r.touchPos=function(e,r){for(var n=e.getBoundingClientRect(),i=[],a=0;a<r.length;a++)i.push(new t.Point(r[a].clientX-n.left-e.clientLeft,r[a].clientY-n.top-e.clientTop));return i},r.mouseButton=function(e){return void 0!==t.window.InstallTrigger&&2===e.button&&e.ctrlKey&&t.window.navigator.platform.toUpperCase().indexOf("MAC")>=0?0:e.button},r.remove=function(t){t.parentNode&&t.parentNode.removeChild(t)};var h=function(e){function r(){e.call(this),this.images={},this.updatedImages={},this.callbackDispatchedThisFrame={},this.loaded=!1,this.requestors=[],this.patterns={},this.atlasImage=new t.RGBAImage({width:1,height:1}),this.dirty=!0}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.isLoaded=function(){return this.loaded},r.prototype.setLoaded=function(t){if(this.loaded!==t&&(this.loaded=t,t)){for(var e=0,r=this.requestors;e<r.length;e+=1){var n=r[e],i=n.ids,a=n.callback;this._notify(i,a)}this.requestors=[]}},r.prototype.getImage=function(t){return this.images[t]},r.prototype.addImage=function(t,e){this._validate(t,e)&&(this.images[t]=e)},r.prototype._validate=function(e,r){var n=!0;return this._validateStretch(r.stretchX,r.data&&r.data.width)||(this.fire(new t.ErrorEvent(new Error('Image "'+e+'" has invalid "stretchX" value'))),n=!1),this._validateStretch(r.stretchY,r.data&&r.data.height)||(this.fire(new t.ErrorEvent(new Error('Image "'+e+'" has invalid "stretchY" value'))),n=!1),this._validateContent(r.content,r)||(this.fire(new t.ErrorEvent(new Error('Image "'+e+'" has invalid "content" value'))),n=!1),n},r.prototype._validateStretch=function(t,e){if(!t)return!0;for(var r=0,n=0,i=t;n<i.length;n+=1){var a=i[n];if(a[0]<r||a[1]<a[0]||e<a[1])return!1;r=a[1]}return!0},r.prototype._validateContent=function(t,e){return!(t&&(4!==t.length||t[0]<0||e.data.width<t[0]||t[1]<0||e.data.height<t[1]||t[2]<0||e.data.width<t[2]||t[3]<0||e.data.height<t[3]||t[2]<t[0]||t[3]<t[1]))},r.prototype.updateImage=function(t,e){var r=this.images[t];e.version=r.version+1,this.images[t]=e,this.updatedImages[t]=!0},r.prototype.removeImage=function(t){var e=this.images[t];delete this.images[t],delete this.patterns[t],e.userImage&&e.userImage.onRemove&&e.userImage.onRemove()},r.prototype.listImages=function(){return Object.keys(this.images)},r.prototype.getImages=function(t,e){var r=!0;if(!this.isLoaded())for(var n=0,i=t;n<i.length;n+=1){var a=i[n];this.images[a]||(r=!1)}this.isLoaded()||r?this._notify(t,e):this.requestors.push({ids:t,callback:e})},r.prototype._notify=function(e,r){for(var n={},i=0,a=e;i<a.length;i+=1){var o=a[i];this.images[o]||this.fire(new t.Event("styleimagemissing",{id:o}));var s=this.images[o];s?n[o]={data:s.data.clone(),pixelRatio:s.pixelRatio,sdf:s.sdf,version:s.version,stretchX:s.stretchX,stretchY:s.stretchY,content:s.content,hasRenderCallback:Boolean(s.userImage&&s.userImage.render)}:t.warnOnce('Image "'+o+'" could not be loaded. Please make sure you have added the image with map.addImage() or a "sprite" property in your style. You can provide missing images by listening for the "styleimagemissing" map event.')}r(null,n)},r.prototype.getPixelSize=function(){var t=this.atlasImage;return{width:t.width,height:t.height}},r.prototype.getPattern=function(e){var r=this.patterns[e],n=this.getImage(e);if(!n)return null;if(r&&r.position.version===n.version)return r.position;if(r)r.position.version=n.version;else{var i={w:n.data.width+2,h:n.data.height+2,x:0,y:0},a=new t.ImagePosition(i,n);this.patterns[e]={bin:i,position:a}}return this._updatePatternAtlas(),this.patterns[e].position},r.prototype.bind=function(e){var r=e.gl;this.atlasTexture?this.dirty&&(this.atlasTexture.update(this.atlasImage),this.dirty=!1):this.atlasTexture=new t.Texture(e,this.atlasImage,r.RGBA),this.atlasTexture.bind(r.LINEAR,r.CLAMP_TO_EDGE)},r.prototype._updatePatternAtlas=function(){var e=[];for(var r in this.patterns)e.push(this.patterns[r].bin);var n=t.potpack(e),i=n.w,a=n.h,o=this.atlasImage;for(var s in o.resize({width:i||1,height:a||1}),this.patterns){var l=this.patterns[s].bin,u=l.x+1,c=l.y+1,f=this.images[s].data,h=f.width,p=f.height;t.RGBAImage.copy(f,o,{x:0,y:0},{x:u,y:c},{width:h,height:p}),t.RGBAImage.copy(f,o,{x:0,y:p-1},{x:u,y:c-1},{width:h,height:1}),t.RGBAImage.copy(f,o,{x:0,y:0},{x:u,y:c+p},{width:h,height:1}),t.RGBAImage.copy(f,o,{x:h-1,y:0},{x:u-1,y:c},{width:1,height:p}),t.RGBAImage.copy(f,o,{x:0,y:0},{x:u+h,y:c},{width:1,height:p})}this.dirty=!0},r.prototype.beginFrame=function(){this.callbackDispatchedThisFrame={}},r.prototype.dispatchRenderCallbacks=function(t){for(var e=0,r=t;e<r.length;e+=1){var n=r[e];if(!this.callbackDispatchedThisFrame[n]){this.callbackDispatchedThisFrame[n]=!0;var i=this.images[n];f(i)&&this.updateImage(n,i)}}},r}(t.Evented);var p=g,d=g,v=1e20;function g(t,e,r,n,i,a){this.fontSize=t||24,this.buffer=void 0===e?3:e,this.cutoff=n||.25,this.fontFamily=i||"sans-serif",this.fontWeight=a||"normal",this.radius=r||8;var o=this.size=this.fontSize+2*this.buffer;this.canvas=document.createElement("canvas"),this.canvas.width=this.canvas.height=o,this.ctx=this.canvas.getContext("2d"),this.ctx.font=this.fontWeight+" "+this.fontSize+"px "+this.fontFamily,this.ctx.textBaseline="middle",this.ctx.fillStyle="black",this.gridOuter=new Float64Array(o*o),this.gridInner=new Float64Array(o*o),this.f=new Float64Array(o),this.d=new Float64Array(o),this.z=new Float64Array(o+1),this.v=new Int16Array(o),this.middle=Math.round(o/2*(navigator.userAgent.indexOf("Gecko/")>=0?1.2:1))}function y(t,e,r,n,i,a,o){for(var s=0;s<e;s++){for(var l=0;l<r;l++)n[l]=t[l*e+s];for(m(n,i,a,o,r),l=0;l<r;l++)t[l*e+s]=i[l]}for(l=0;l<r;l++){for(s=0;s<e;s++)n[s]=t[l*e+s];for(m(n,i,a,o,e),s=0;s<e;s++)t[l*e+s]=Math.sqrt(i[s])}}function m(t,e,r,n,i){r[0]=0,n[0]=-v,n[1]=+v;for(var a=1,o=0;a<i;a++){for(var s=(t[a]+a*a-(t[r[o]]+r[o]*r[o]))/(2*a-2*r[o]);s<=n[o];)o--,s=(t[a]+a*a-(t[r[o]]+r[o]*r[o]))/(2*a-2*r[o]);r[++o]=a,n[o]=s,n[o+1]=+v}for(a=0,o=0;a<i;a++){for(;n[o+1]<a;)o++;e[a]=(a-r[o])*(a-r[o])+t[r[o]]}}g.prototype.draw=function(t){this.ctx.clearRect(0,0,this.size,this.size),this.ctx.fillText(t,this.buffer,this.middle);for(var e=this.ctx.getImageData(0,0,this.size,this.size),r=new Uint8ClampedArray(this.size*this.size),n=0;n<this.size*this.size;n++){var i=e.data[4*n+3]/255;this.gridOuter[n]=1===i?0:0===i?v:Math.pow(Math.max(0,.5-i),2),this.gridInner[n]=1===i?v:0===i?0:Math.pow(Math.max(0,i-.5),2)}for(y(this.gridOuter,this.size,this.size,this.f,this.d,this.v,this.z),y(this.gridInner,this.size,this.size,this.f,this.d,this.v,this.z),n=0;n<this.size*this.size;n++){var a=this.gridOuter[n]-this.gridInner[n];r[n]=Math.max(0,Math.min(255,Math.round(255-255*(a/this.radius+this.cutoff))))}return r},p.default=d;var x=function(t,e){this.requestManager=t,this.localIdeographFontFamily=e,this.entries={}};x.prototype.setURL=function(t){this.url=t},x.prototype.getGlyphs=function(e,r){var n=this,i=[];for(var a in e)for(var o=0,s=e[a];o<s.length;o+=1){var l=s[o];i.push({stack:a,id:l})}t.asyncAll(i,(function(t,e){var r=t.stack,i=t.id,a=n.entries[r];a||(a=n.entries[r]={glyphs:{},requests:{},ranges:{}});var o=a.glyphs[i];if(void 0===o){if(o=n._tinySDF(a,r,i))return a.glyphs[i]=o,void e(null,{stack:r,id:i,glyph:o});var s=Math.floor(i/256);if(256*s>65535)e(new Error("glyphs > 65535 not supported"));else if(a.ranges[s])e(null,{stack:r,id:i,glyph:o});else{var l=a.requests[s];l||(l=a.requests[s]=[],x.loadGlyphRange(r,s,n.url,n.requestManager,(function(t,e){if(e){for(var r in e)n._doesCharSupportLocalGlyph(+r)||(a.glyphs[+r]=e[+r]);a.ranges[s]=!0}for(var i=0,o=l;i<o.length;i+=1)(0,o[i])(t,e);delete a.requests[s]}))),l.push((function(t,n){t?e(t):n&&e(null,{stack:r,id:i,glyph:n[i]||null})}))}}else e(null,{stack:r,id:i,glyph:o})}),(function(t,e){if(t)r(t);else if(e){for(var n={},i=0,a=e;i<a.length;i+=1){var o=a[i],s=o.stack,l=o.id,u=o.glyph;(n[s]||(n[s]={}))[l]=u&&{id:u.id,bitmap:u.bitmap.clone(),metrics:u.metrics}}r(null,n)}}))},x.prototype._doesCharSupportLocalGlyph=function(e){return!!this.localIdeographFontFamily&&(t.isChar["CJK Unified Ideographs"](e)||t.isChar["Hangul Syllables"](e)||t.isChar.Hiragana(e)||t.isChar.Katakana(e))},x.prototype._tinySDF=function(e,r,n){var i=this.localIdeographFontFamily;if(i&&this._doesCharSupportLocalGlyph(n)){var a=e.tinySDF;if(!a){var o="400";/bold/i.test(r)?o="900":/medium/i.test(r)?o="500":/light/i.test(r)&&(o="200"),a=e.tinySDF=new x.TinySDF(24,3,8,.25,i,o)}return{id:n,bitmap:new t.AlphaImage({width:30,height:30},a.draw(String.fromCharCode(n))),metrics:{width:24,height:24,left:0,top:-8,advance:24}}}},x.loadGlyphRange=function(e,r,n,i,a){var o=256*r,s=o+255,l=i.transformRequest(i.normalizeGlyphsURL(n).replace("{fontstack}",e).replace("{range}",o+"-"+s),t.ResourceType.Glyphs);t.getArrayBuffer(l,(function(e,r){if(e)a(e);else if(r){for(var n={},i=0,o=t.parseGlyphPBF(r);i<o.length;i+=1){var s=o[i];n[s.id]=s}a(null,n)}}))},x.TinySDF=p;var b=function(){this.specification=t.styleSpec.light.position};b.prototype.possiblyEvaluate=function(e,r){return t.sphericalToCartesian(e.expression.evaluate(r))},b.prototype.interpolate=function(e,r,n){return{x:t.number(e.x,r.x,n),y:t.number(e.y,r.y,n),z:t.number(e.z,r.z,n)}};var _=new t.Properties({anchor:new t.DataConstantProperty(t.styleSpec.light.anchor),position:new b,color:new t.DataConstantProperty(t.styleSpec.light.color),intensity:new t.DataConstantProperty(t.styleSpec.light.intensity)}),w="-transition",T=function(e){function r(r){e.call(this),this._transitionable=new t.Transitionable(_),this.setLight(r),this._transitioning=this._transitionable.untransitioned()}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.getLight=function(){return this._transitionable.serialize()},r.prototype.setLight=function(e,r){if(void 0===r&&(r={}),!this._validate(t.validateLight,e,r))for(var n in e){var i=e[n];t.endsWith(n,w)?this._transitionable.setTransition(n.slice(0,-w.length),i):this._transitionable.setValue(n,i)}},r.prototype.updateTransitions=function(t){this._transitioning=this._transitionable.transitioned(t,this._transitioning)},r.prototype.hasTransition=function(){return this._transitioning.hasTransition()},r.prototype.recalculate=function(t){this.properties=this._transitioning.possiblyEvaluate(t)},r.prototype._validate=function(e,r,n){return(!n||!1!==n.validate)&&t.emitValidationErrors(this,e.call(t.validateStyle,t.extend({value:r,style:{glyphs:!0,sprite:!0},styleSpec:t.styleSpec})))},r}(t.Evented),k=function(t,e){this.width=t,this.height=e,this.nextRow=0,this.data=new Uint8Array(this.width*this.height),this.dashEntry={}};k.prototype.getDash=function(t,e){var r=t.join(",")+String(e);return this.dashEntry[r]||(this.dashEntry[r]=this.addDash(t,e)),this.dashEntry[r]},k.prototype.getDashRanges=function(t,e,r){var n=[],i=t.length%2==1?-t[t.length-1]*r:0,a=t[0]*r,o=!0;n.push({left:i,right:a,isDash:o,zeroLength:0===t[0]});for(var s=t[0],l=1;l<t.length;l++){o=!o;var u=t[l];i=s*r,a=(s+=u)*r,n.push({left:i,right:a,isDash:o,zeroLength:0===u})}return n},k.prototype.addRoundDash=function(t,e,r){for(var n=e/2,i=-r;i<=r;i++)for(var a=this.nextRow+r+i,o=this.width*a,s=0,l=t[s],u=0;u<this.width;u++){u/l.right>1&&(l=t[++s]);var c=Math.abs(u-l.left),f=Math.abs(u-l.right),h=Math.min(c,f),p=void 0,d=i/r*(n+1);if(l.isDash){var v=n-Math.abs(d);p=Math.sqrt(h*h+v*v)}else p=n-Math.sqrt(h*h+d*d);this.data[o+u]=Math.max(0,Math.min(255,p+128))}},k.prototype.addRegularDash=function(t){for(var e=t.length-1;e>=0;--e){var r=t[e],n=t[e+1];r.zeroLength?t.splice(e,1):n&&n.isDash===r.isDash&&(n.left=r.left,t.splice(e,1))}var i=t[0],a=t[t.length-1];i.isDash===a.isDash&&(i.left=a.left-this.width,a.right=i.right+this.width);for(var o=this.width*this.nextRow,s=0,l=t[s],u=0;u<this.width;u++){u/l.right>1&&(l=t[++s]);var c=Math.abs(u-l.left),f=Math.abs(u-l.right),h=Math.min(c,f),p=l.isDash?h:-h;this.data[o+u]=Math.max(0,Math.min(255,p+128))}},k.prototype.addDash=function(e,r){var n=r?7:0,i=2*n+1;if(this.nextRow+i>this.height)return t.warnOnce("LineAtlas out of space"),null;for(var a=0,o=0;o<e.length;o++)a+=e[o];if(0!==a){var s=this.width/a,l=this.getDashRanges(e,this.width,s);r?this.addRoundDash(l,s,n):this.addRegularDash(l)}var u={y:(this.nextRow+n+.5)/this.height,height:2*n/this.height,width:a};return this.nextRow+=i,this.dirty=!0,u},k.prototype.bind=function(t){var e=t.gl;this.texture?(e.bindTexture(e.TEXTURE_2D,this.texture),this.dirty&&(this.dirty=!1,e.texSubImage2D(e.TEXTURE_2D,0,0,0,this.width,this.height,e.ALPHA,e.UNSIGNED_BYTE,this.data))):(this.texture=e.createTexture(),e.bindTexture(e.TEXTURE_2D,this.texture),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.REPEAT),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.REPEAT),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.LINEAR),e.texImage2D(e.TEXTURE_2D,0,e.ALPHA,this.width,this.height,0,e.ALPHA,e.UNSIGNED_BYTE,this.data))};var A=function e(r,n){this.workerPool=r,this.actors=[],this.currentActor=0,this.id=t.uniqueId();for(var i=this.workerPool.acquire(this.id),a=0;a<i.length;a++){var o=i[a],s=new e.Actor(o,n,this.id);s.name="Worker "+a,this.actors.push(s)}};function M(e,r,n){var i=function(i,a){if(i)return n(i);if(a){var o=t.pick(t.extend(a,e),["tiles","minzoom","maxzoom","attribution","mapbox_logo","bounds","scheme","tileSize","encoding"]);a.vector_layers&&(o.vectorLayers=a.vector_layers,o.vectorLayerIds=o.vectorLayers.map((function(t){return t.id}))),o.tiles=r.canonicalizeTileset(o,e.url),n(null,o)}};return e.url?t.getJSON(r.transformRequest(r.normalizeSourceURL(e.url),t.ResourceType.Source),i):t.browser.frame((function(){return i(null,e)}))}A.prototype.broadcast=function(e,r,n){n=n||function(){},t.asyncAll(this.actors,(function(t,n){t.send(e,r,n)}),n)},A.prototype.getActor=function(){return this.currentActor=(this.currentActor+1)%this.actors.length,this.actors[this.currentActor]},A.prototype.remove=function(){this.actors.forEach((function(t){t.remove()})),this.actors=[],this.workerPool.release(this.id)},A.Actor=t.Actor;var S=function(e,r,n){this.bounds=t.LngLatBounds.convert(this.validateBounds(e)),this.minzoom=r||0,this.maxzoom=n||24};S.prototype.validateBounds=function(t){return Array.isArray(t)&&4===t.length?[Math.max(-180,t[0]),Math.max(-90,t[1]),Math.min(180,t[2]),Math.min(90,t[3])]:[-180,-90,180,90]},S.prototype.contains=function(e){var r=Math.pow(2,e.z),n=Math.floor(t.mercatorXfromLng(this.bounds.getWest())*r),i=Math.floor(t.mercatorYfromLat(this.bounds.getNorth())*r),a=Math.ceil(t.mercatorXfromLng(this.bounds.getEast())*r),o=Math.ceil(t.mercatorYfromLat(this.bounds.getSouth())*r);return e.x>=n&&e.x<a&&e.y>=i&&e.y<o};var E=function(e){function r(r,n,i,a){if(e.call(this),this.id=r,this.dispatcher=i,this.type="vector",this.minzoom=0,this.maxzoom=22,this.scheme="xyz",this.tileSize=512,this.reparseOverscaled=!0,this.isTileClipped=!0,this._loaded=!1,t.extend(this,t.pick(n,["url","scheme","tileSize","promoteId"])),this._options=t.extend({type:"vector"},n),this._collectResourceTiming=n.collectResourceTiming,512!==this.tileSize)throw new Error("vector tile sources must have a tileSize of 512");this.setEventedParent(a)}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.load=function(){var e=this;this._loaded=!1,this.fire(new t.Event("dataloading",{dataType:"source"})),this._tileJSONRequest=M(this._options,this.map._requestManager,(function(r,n){e._tileJSONRequest=null,e._loaded=!0,r?e.fire(new t.ErrorEvent(r)):n&&(t.extend(e,n),n.bounds&&(e.tileBounds=new S(n.bounds,e.minzoom,e.maxzoom)),t.postTurnstileEvent(n.tiles,e.map._requestManager._customAccessToken),t.postMapLoadEvent(n.tiles,e.map._getMapId(),e.map._requestManager._skuToken,e.map._requestManager._customAccessToken),e.fire(new t.Event("data",{dataType:"source",sourceDataType:"metadata"})),e.fire(new t.Event("data",{dataType:"source",sourceDataType:"content"})))}))},r.prototype.loaded=function(){return this._loaded},r.prototype.hasTile=function(t){return!this.tileBounds||this.tileBounds.contains(t.canonical)},r.prototype.onAdd=function(t){this.map=t,this.load()},r.prototype.onRemove=function(){this._tileJSONRequest&&(this._tileJSONRequest.cancel(),this._tileJSONRequest=null)},r.prototype.serialize=function(){return t.extend({},this._options)},r.prototype.loadTile=function(e,r){var n=this.map._requestManager.normalizeTileURL(e.tileID.canonical.url(this.tiles,this.scheme)),i={request:this.map._requestManager.transformRequest(n,t.ResourceType.Tile),uid:e.uid,tileID:e.tileID,zoom:e.tileID.overscaledZ,tileSize:this.tileSize*e.tileID.overscaleFactor(),type:this.type,source:this.id,pixelRatio:t.browser.devicePixelRatio,showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};function a(n,i){return delete e.request,e.aborted?r(null):n&&404!==n.status?r(n):(i&&i.resourceTiming&&(e.resourceTiming=i.resourceTiming),this.map._refreshExpiredTiles&&i&&e.setExpiryData(i),e.loadVectorData(i,this.map.painter),t.cacheEntryPossiblyAdded(this.dispatcher),r(null),void(e.reloadCallback&&(this.loadTile(e,e.reloadCallback),e.reloadCallback=null)))}i.request.collectResourceTiming=this._collectResourceTiming,e.actor&&"expired"!==e.state?"loading"===e.state?e.reloadCallback=r:e.request=e.actor.send("reloadTile",i,a.bind(this)):(e.actor=this.dispatcher.getActor(),e.request=e.actor.send("loadTile",i,a.bind(this)))},r.prototype.abortTile=function(t){t.request&&(t.request.cancel(),delete t.request),t.actor&&t.actor.send("abortTile",{uid:t.uid,type:this.type,source:this.id},void 0)},r.prototype.unloadTile=function(t){t.unloadVectorData(),t.actor&&t.actor.send("removeTile",{uid:t.uid,type:this.type,source:this.id},void 0)},r.prototype.hasTransition=function(){return!1},r}(t.Evented),L=function(e){function r(r,n,i,a){e.call(this),this.id=r,this.dispatcher=i,this.setEventedParent(a),this.type="raster",this.minzoom=0,this.maxzoom=22,this.roundZoom=!0,this.scheme="xyz",this.tileSize=512,this._loaded=!1,this._options=t.extend({type:"raster"},n),t.extend(this,t.pick(n,["url","scheme","tileSize"]))}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.load=function(){var e=this;this._loaded=!1,this.fire(new t.Event("dataloading",{dataType:"source"})),this._tileJSONRequest=M(this._options,this.map._requestManager,(function(r,n){e._tileJSONRequest=null,e._loaded=!0,r?e.fire(new t.ErrorEvent(r)):n&&(t.extend(e,n),n.bounds&&(e.tileBounds=new S(n.bounds,e.minzoom,e.maxzoom)),t.postTurnstileEvent(n.tiles),t.postMapLoadEvent(n.tiles,e.map._getMapId(),e.map._requestManager._skuToken),e.fire(new t.Event("data",{dataType:"source",sourceDataType:"metadata"})),e.fire(new t.Event("data",{dataType:"source",sourceDataType:"content"})))}))},r.prototype.loaded=function(){return this._loaded},r.prototype.onAdd=function(t){this.map=t,this.load()},r.prototype.onRemove=function(){this._tileJSONRequest&&(this._tileJSONRequest.cancel(),this._tileJSONRequest=null)},r.prototype.serialize=function(){return t.extend({},this._options)},r.prototype.hasTile=function(t){return!this.tileBounds||this.tileBounds.contains(t.canonical)},r.prototype.loadTile=function(e,r){var n=this,i=this.map._requestManager.normalizeTileURL(e.tileID.canonical.url(this.tiles,this.scheme),this.tileSize);e.request=t.getImage(this.map._requestManager.transformRequest(i,t.ResourceType.Tile),(function(i,a){if(delete e.request,e.aborted)e.state="unloaded",r(null);else if(i)e.state="errored",r(i);else if(a){n.map._refreshExpiredTiles&&e.setExpiryData(a),delete a.cacheControl,delete a.expires;var o=n.map.painter.context,s=o.gl;e.texture=n.map.painter.getTileTexture(a.width),e.texture?e.texture.update(a,{useMipmap:!0}):(e.texture=new t.Texture(o,a,s.RGBA,{useMipmap:!0}),e.texture.bind(s.LINEAR,s.CLAMP_TO_EDGE,s.LINEAR_MIPMAP_NEAREST),o.extTextureFilterAnisotropic&&s.texParameterf(s.TEXTURE_2D,o.extTextureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,o.extTextureFilterAnisotropicMax)),e.state="loaded",t.cacheEntryPossiblyAdded(n.dispatcher),r(null)}}))},r.prototype.abortTile=function(t,e){t.request&&(t.request.cancel(),delete t.request),e()},r.prototype.unloadTile=function(t,e){t.texture&&this.map.painter.saveTileTexture(t.texture),e()},r.prototype.hasTransition=function(){return!1},r}(t.Evented),C=function(e){function r(r,n,i,a){e.call(this,r,n,i,a),this.type="raster-dem",this.maxzoom=22,this._options=t.extend({type:"raster-dem"},n),this.encoding=n.encoding||"mapbox"}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.serialize=function(){return{type:"raster-dem",url:this.url,tileSize:this.tileSize,tiles:this.tiles,bounds:this.bounds,encoding:this.encoding}},r.prototype.loadTile=function(e,r){var n=this.map._requestManager.normalizeTileURL(e.tileID.canonical.url(this.tiles,this.scheme),this.tileSize);function i(t,n){t&&(e.state="errored",r(t)),n&&(e.dem=n,e.needsHillshadePrepare=!0,e.state="loaded",r(null))}e.request=t.getImage(this.map._requestManager.transformRequest(n,t.ResourceType.Tile),function(n,a){if(delete e.request,e.aborted)e.state="unloaded",r(null);else if(n)e.state="errored",r(n);else if(a){this.map._refreshExpiredTiles&&e.setExpiryData(a),delete a.cacheControl,delete a.expires;var o=t.window.ImageBitmap&&a instanceof t.window.ImageBitmap&&t.offscreenCanvasSupported()?a:t.browser.getImageData(a,1),s={uid:e.uid,coord:e.tileID,source:this.id,rawImageData:o,encoding:this.encoding};e.actor&&"expired"!==e.state||(e.actor=this.dispatcher.getActor(),e.actor.send("loadDEMTile",s,i.bind(this)))}}.bind(this)),e.neighboringTiles=this._getNeighboringTiles(e.tileID)},r.prototype._getNeighboringTiles=function(e){var r=e.canonical,n=Math.pow(2,r.z),i=(r.x-1+n)%n,a=0===r.x?e.wrap-1:e.wrap,o=(r.x+1+n)%n,s=r.x+1===n?e.wrap+1:e.wrap,l={};return l[new t.OverscaledTileID(e.overscaledZ,a,r.z,i,r.y).key]={backfilled:!1},l[new t.OverscaledTileID(e.overscaledZ,s,r.z,o,r.y).key]={backfilled:!1},r.y>0&&(l[new t.OverscaledTileID(e.overscaledZ,a,r.z,i,r.y-1).key]={backfilled:!1},l[new t.OverscaledTileID(e.overscaledZ,e.wrap,r.z,r.x,r.y-1).key]={backfilled:!1},l[new t.OverscaledTileID(e.overscaledZ,s,r.z,o,r.y-1).key]={backfilled:!1}),r.y+1<n&&(l[new t.OverscaledTileID(e.overscaledZ,a,r.z,i,r.y+1).key]={backfilled:!1},l[new t.OverscaledTileID(e.overscaledZ,e.wrap,r.z,r.x,r.y+1).key]={backfilled:!1},l[new t.OverscaledTileID(e.overscaledZ,s,r.z,o,r.y+1).key]={backfilled:!1}),l},r.prototype.unloadTile=function(t){t.demTexture&&this.map.painter.saveTileTexture(t.demTexture),t.fbo&&(t.fbo.destroy(),delete t.fbo),t.dem&&delete t.dem,delete t.neighboringTiles,t.state="unloaded",t.actor&&t.actor.send("removeDEMTile",{uid:t.uid,source:this.id})},r}(L),P=function(e){function r(r,n,i,a){e.call(this),this.id=r,this.type="geojson",this.minzoom=0,this.maxzoom=18,this.tileSize=512,this.isTileClipped=!0,this.reparseOverscaled=!0,this._removed=!1,this._loaded=!1,this.actor=i.getActor(),this.setEventedParent(a),this._data=n.data,this._options=t.extend({},n),this._collectResourceTiming=n.collectResourceTiming,this._resourceTiming=[],void 0!==n.maxzoom&&(this.maxzoom=n.maxzoom),n.type&&(this.type=n.type),n.attribution&&(this.attribution=n.attribution),this.promoteId=n.promoteId;var o=t.EXTENT/this.tileSize;this.workerOptions=t.extend({source:this.id,cluster:n.cluster||!1,geojsonVtOptions:{buffer:(void 0!==n.buffer?n.buffer:128)*o,tolerance:(void 0!==n.tolerance?n.tolerance:.375)*o,extent:t.EXTENT,maxZoom:this.maxzoom,lineMetrics:n.lineMetrics||!1,generateId:n.generateId||!1},superclusterOptions:{maxZoom:void 0!==n.clusterMaxZoom?Math.min(n.clusterMaxZoom,this.maxzoom-1):this.maxzoom-1,extent:t.EXTENT,radius:(n.clusterRadius||50)*o,log:!1,generateId:n.generateId||!1},clusterProperties:n.clusterProperties},n.workerOptions)}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.load=function(){var e=this;this.fire(new t.Event("dataloading",{dataType:"source"})),this._updateWorkerData((function(r){if(r)e.fire(new t.ErrorEvent(r));else{var n={dataType:"source",sourceDataType:"metadata"};e._collectResourceTiming&&e._resourceTiming&&e._resourceTiming.length>0&&(n.resourceTiming=e._resourceTiming,e._resourceTiming=[]),e.fire(new t.Event("data",n))}}))},r.prototype.onAdd=function(t){this.map=t,this.load()},r.prototype.setData=function(e){var r=this;return this._data=e,this.fire(new t.Event("dataloading",{dataType:"source"})),this._updateWorkerData((function(e){if(e)r.fire(new t.ErrorEvent(e));else{var n={dataType:"source",sourceDataType:"content"};r._collectResourceTiming&&r._resourceTiming&&r._resourceTiming.length>0&&(n.resourceTiming=r._resourceTiming,r._resourceTiming=[]),r.fire(new t.Event("data",n))}})),this},r.prototype.getClusterExpansionZoom=function(t,e){return this.actor.send("geojson.getClusterExpansionZoom",{clusterId:t,source:this.id},e),this},r.prototype.getClusterChildren=function(t,e){return this.actor.send("geojson.getClusterChildren",{clusterId:t,source:this.id},e),this},r.prototype.getClusterLeaves=function(t,e,r,n){return this.actor.send("geojson.getClusterLeaves",{source:this.id,clusterId:t,limit:e,offset:r},n),this},r.prototype._updateWorkerData=function(e){var r=this;this._loaded=!1;var n=t.extend({},this.workerOptions),i=this._data;"string"==typeof i?(n.request=this.map._requestManager.transformRequest(t.browser.resolveURL(i),t.ResourceType.Source),n.request.collectResourceTiming=this._collectResourceTiming):n.data=JSON.stringify(i),this.actor.send(this.type+".loadData",n,(function(t,i){r._removed||i&&i.abandoned||(r._loaded=!0,i&&i.resourceTiming&&i.resourceTiming[r.id]&&(r._resourceTiming=i.resourceTiming[r.id].slice(0)),r.actor.send(r.type+".coalesce",{source:n.source},null),e(t))}))},r.prototype.loaded=function(){return this._loaded},r.prototype.loadTile=function(e,r){var n=this,i=e.actor?"reloadTile":"loadTile";e.actor=this.actor;var a={type:this.type,uid:e.uid,tileID:e.tileID,zoom:e.tileID.overscaledZ,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,pixelRatio:t.browser.devicePixelRatio,showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};e.request=this.actor.send(i,a,(function(t,a){return delete e.request,e.unloadVectorData(),e.aborted?r(null):t?r(t):(e.loadVectorData(a,n.map.painter,"reloadTile"===i),r(null))}))},r.prototype.abortTile=function(t){t.request&&(t.request.cancel(),delete t.request),t.aborted=!0},r.prototype.unloadTile=function(t){t.unloadVectorData(),this.actor.send("removeTile",{uid:t.uid,type:this.type,source:this.id})},r.prototype.onRemove=function(){this._removed=!0,this.actor.send("removeSource",{type:this.type,source:this.id})},r.prototype.serialize=function(){return t.extend({},this._options,{type:this.type,data:this._data})},r.prototype.hasTransition=function(){return!1},r}(t.Evented),O=t.createLayout([{name:"a_pos",type:"Int16",components:2},{name:"a_texture_pos",type:"Int16",components:2}]),I=function(e){function r(t,r,n,i){e.call(this),this.id=t,this.dispatcher=n,this.coordinates=r.coordinates,this.type="image",this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.tiles={},this._loaded=!1,this.setEventedParent(i),this.options=r}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.load=function(e,r){var n=this;this._loaded=!1,this.fire(new t.Event("dataloading",{dataType:"source"})),this.url=this.options.url,t.getImage(this.map._requestManager.transformRequest(this.url,t.ResourceType.Image),(function(i,a){n._loaded=!0,i?n.fire(new t.ErrorEvent(i)):a&&(n.image=a,e&&(n.coordinates=e),r&&r(),n._finishLoading())}))},r.prototype.loaded=function(){return this._loaded},r.prototype.updateImage=function(t){var e=this;return this.image&&t.url?(this.options.url=t.url,this.load(t.coordinates,(function(){e.texture=null})),this):this},r.prototype._finishLoading=function(){this.map&&(this.setCoordinates(this.coordinates),this.fire(new t.Event("data",{dataType:"source",sourceDataType:"metadata"})))},r.prototype.onAdd=function(t){this.map=t,this.load()},r.prototype.setCoordinates=function(e){var r=this;this.coordinates=e;var n=e.map(t.MercatorCoordinate.fromLngLat);this.tileID=function(e){for(var r=1/0,n=1/0,i=-1/0,a=-1/0,o=0,s=e;o<s.length;o+=1){var l=s[o];r=Math.min(r,l.x),n=Math.min(n,l.y),i=Math.max(i,l.x),a=Math.max(a,l.y)}var u=i-r,c=a-n,f=Math.max(u,c),h=Math.max(0,Math.floor(-Math.log(f)/Math.LN2)),p=Math.pow(2,h);return new t.CanonicalTileID(h,Math.floor((r+i)/2*p),Math.floor((n+a)/2*p))}(n),this.minzoom=this.maxzoom=this.tileID.z;var i=n.map((function(t){return r.tileID.getTilePoint(t)._round()}));return this._boundsArray=new t.StructArrayLayout4i8,this._boundsArray.emplaceBack(i[0].x,i[0].y,0,0),this._boundsArray.emplaceBack(i[1].x,i[1].y,t.EXTENT,0),this._boundsArray.emplaceBack(i[3].x,i[3].y,0,t.EXTENT),this._boundsArray.emplaceBack(i[2].x,i[2].y,t.EXTENT,t.EXTENT),this.boundsBuffer&&(this.boundsBuffer.destroy(),delete this.boundsBuffer),this.fire(new t.Event("data",{dataType:"source",sourceDataType:"content"})),this},r.prototype.prepare=function(){if(0!==Object.keys(this.tiles).length&&this.image){var e=this.map.painter.context,r=e.gl;for(var n in this.boundsBuffer||(this.boundsBuffer=e.createVertexBuffer(this._boundsArray,O.members)),this.boundsSegments||(this.boundsSegments=t.SegmentVector.simpleSegment(0,0,4,2)),this.texture||(this.texture=new t.Texture(e,this.image,r.RGBA),this.texture.bind(r.LINEAR,r.CLAMP_TO_EDGE)),this.tiles){var i=this.tiles[n];"loaded"!==i.state&&(i.state="loaded",i.texture=this.texture)}}},r.prototype.loadTile=function(t,e){this.tileID&&this.tileID.equals(t.tileID.canonical)?(this.tiles[String(t.tileID.wrap)]=t,t.buckets={},e(null)):(t.state="errored",e(null))},r.prototype.serialize=function(){return{type:"image",url:this.options.url,coordinates:this.coordinates}},r.prototype.hasTransition=function(){return!1},r}(t.Evented);var D=function(e){function r(t,r,n,i){e.call(this,t,r,n,i),this.roundZoom=!0,this.type="video",this.options=r}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.load=function(){var e=this;this._loaded=!1;var r=this.options;this.urls=[];for(var n=0,i=r.urls;n<i.length;n+=1){var a=i[n];this.urls.push(this.map._requestManager.transformRequest(a,t.ResourceType.Source).url)}t.getVideo(this.urls,(function(r,n){e._loaded=!0,r?e.fire(new t.ErrorEvent(r)):n&&(e.video=n,e.video.loop=!0,e.video.addEventListener("playing",(function(){e.map.triggerRepaint()})),e.map&&e.video.play(),e._finishLoading())}))},r.prototype.pause=function(){this.video&&this.video.pause()},r.prototype.play=function(){this.video&&this.video.play()},r.prototype.seek=function(e){if(this.video){var r=this.video.seekable;e<r.start(0)||e>r.end(0)?this.fire(new t.ErrorEvent(new t.ValidationError("sources."+this.id,null,"Playback for this video can be set only between the "+r.start(0)+" and "+r.end(0)+"-second mark."))):this.video.currentTime=e}},r.prototype.getVideo=function(){return this.video},r.prototype.onAdd=function(t){this.map||(this.map=t,this.load(),this.video&&(this.video.play(),this.setCoordinates(this.coordinates)))},r.prototype.prepare=function(){if(!(0===Object.keys(this.tiles).length||this.video.readyState<2)){var e=this.map.painter.context,r=e.gl;for(var n in this.boundsBuffer||(this.boundsBuffer=e.createVertexBuffer(this._boundsArray,O.members)),this.boundsSegments||(this.boundsSegments=t.SegmentVector.simpleSegment(0,0,4,2)),this.texture?this.video.paused||(this.texture.bind(r.LINEAR,r.CLAMP_TO_EDGE),r.texSubImage2D(r.TEXTURE_2D,0,0,0,r.RGBA,r.UNSIGNED_BYTE,this.video)):(this.texture=new t.Texture(e,this.video,r.RGBA),this.texture.bind(r.LINEAR,r.CLAMP_TO_EDGE)),this.tiles){var i=this.tiles[n];"loaded"!==i.state&&(i.state="loaded",i.texture=this.texture)}}},r.prototype.serialize=function(){return{type:"video",urls:this.urls,coordinates:this.coordinates}},r.prototype.hasTransition=function(){return this.video&&!this.video.paused},r}(I),z=function(e){function r(r,n,i,a){e.call(this,r,n,i,a),n.coordinates?Array.isArray(n.coordinates)&&4===n.coordinates.length&&!n.coordinates.some((function(t){return!Array.isArray(t)||2!==t.length||t.some((function(t){return"number"!=typeof t}))}))||this.fire(new t.ErrorEvent(new t.ValidationError("sources."+r,null,'"coordinates" property must be an array of 4 longitude/latitude array pairs'))):this.fire(new t.ErrorEvent(new t.ValidationError("sources."+r,null,'missing required property "coordinates"'))),n.animate&&"boolean"!=typeof n.animate&&this.fire(new t.ErrorEvent(new t.ValidationError("sources."+r,null,'optional "animate" property must be a boolean value'))),n.canvas?"string"==typeof n.canvas||n.canvas instanceof t.window.HTMLCanvasElement||this.fire(new t.ErrorEvent(new t.ValidationError("sources."+r,null,'"canvas" must be either a string representing the ID of the canvas element from which to read, or an HTMLCanvasElement instance'))):this.fire(new t.ErrorEvent(new t.ValidationError("sources."+r,null,'missing required property "canvas"'))),this.options=n,this.animate=void 0===n.animate||n.animate}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.load=function(){this._loaded=!0,this.canvas||(this.canvas=this.options.canvas instanceof t.window.HTMLCanvasElement?this.options.canvas:t.window.document.getElementById(this.options.canvas)),this.width=this.canvas.width,this.height=this.canvas.height,this._hasInvalidDimensions()?this.fire(new t.ErrorEvent(new Error("Canvas dimensions cannot be less than or equal to zero."))):(this.play=function(){this._playing=!0,this.map.triggerRepaint()},this.pause=function(){this._playing&&(this.prepare(),this._playing=!1)},this._finishLoading())},r.prototype.getCanvas=function(){return this.canvas},r.prototype.onAdd=function(t){this.map=t,this.load(),this.canvas&&this.animate&&this.play()},r.prototype.onRemove=function(){this.pause()},r.prototype.prepare=function(){var e=!1;if(this.canvas.width!==this.width&&(this.width=this.canvas.width,e=!0),this.canvas.height!==this.height&&(this.height=this.canvas.height,e=!0),!this._hasInvalidDimensions()&&0!==Object.keys(this.tiles).length){var r=this.map.painter.context,n=r.gl;for(var i in this.boundsBuffer||(this.boundsBuffer=r.createVertexBuffer(this._boundsArray,O.members)),this.boundsSegments||(this.boundsSegments=t.SegmentVector.simpleSegment(0,0,4,2)),this.texture?(e||this._playing)&&this.texture.update(this.canvas,{premultiply:!0}):this.texture=new t.Texture(r,this.canvas,n.RGBA,{premultiply:!0}),this.tiles){var a=this.tiles[i];"loaded"!==a.state&&(a.state="loaded",a.texture=this.texture)}}},r.prototype.serialize=function(){return{type:"canvas",coordinates:this.coordinates}},r.prototype.hasTransition=function(){return this._playing},r.prototype._hasInvalidDimensions=function(){for(var t=0,e=[this.canvas.width,this.canvas.height];t<e.length;t+=1){var r=e[t];if(isNaN(r)||r<=0)return!0}return!1},r}(I),R={vector:E,raster:L,"raster-dem":C,geojson:P,video:D,image:I,canvas:z};function F(e,r){var n=t.identity([]);return t.translate(n,n,[1,1,0]),t.scale(n,n,[.5*e.width,.5*e.height,1]),t.multiply(n,n,e.calculatePosMatrix(r.toUnwrapped()))}function B(t,e,r,n,i,a){var o=function(t,e,r){if(t)for(var n=0,i=t;n<i.length;n+=1){var a=e[i[n]];if(a&&a.source===r&&"fill-extrusion"===a.type)return!0}else for(var o in e){var s=e[o];if(s.source===r&&"fill-extrusion"===s.type)return!0}return!1}(i&&i.layers,e,t.id),s=a.maxPitchScaleFactor(),l=t.tilesIn(n,s,o);l.sort(N);for(var u=[],c=0,f=l;c<f.length;c+=1){var h=f[c];u.push({wrappedTileID:h.tileID.wrapped().key,queryResults:h.tile.queryRenderedFeatures(e,r,t._state,h.queryGeometry,h.cameraQueryGeometry,h.scale,i,a,s,F(t.transform,h.tileID))})}var p=function(t){for(var e={},r={},n=0,i=t;n<i.length;n+=1){var a=i[n],o=a.queryResults,s=a.wrappedTileID,l=r[s]=r[s]||{};for(var u in o)for(var c=o[u],f=l[u]=l[u]||{},h=e[u]=e[u]||[],p=0,d=c;p<d.length;p+=1){var v=d[p];f[v.featureIndex]||(f[v.featureIndex]=!0,h.push(v))}}return e}(u);for(var d in p)p[d].forEach((function(e){var r=e.feature,n=t.getFeatureState(r.layer["source-layer"],r.id);r.source=r.layer.source,r.layer["source-layer"]&&(r.sourceLayer=r.layer["source-layer"]),r.state=n}));return p}function N(t,e){var r=t.tileID,n=e.tileID;return r.overscaledZ-n.overscaledZ||r.canonical.y-n.canonical.y||r.wrap-n.wrap||r.canonical.x-n.canonical.x}var j=function(t,e){this.max=t,this.onRemove=e,this.reset()};j.prototype.reset=function(){for(var t in this.data)for(var e=0,r=this.data[t];e<r.length;e+=1){var n=r[e];n.timeout&&clearTimeout(n.timeout),this.onRemove(n.value)}return this.data={},this.order=[],this},j.prototype.add=function(t,e,r){var n=this,i=t.wrapped().key;void 0===this.data[i]&&(this.data[i]=[]);var a={value:e,timeout:void 0};if(void 0!==r&&(a.timeout=setTimeout((function(){n.remove(t,a)}),r)),this.data[i].push(a),this.order.push(i),this.order.length>this.max){var o=this._getAndRemoveByKey(this.order[0]);o&&this.onRemove(o)}return this},j.prototype.has=function(t){return t.wrapped().key in this.data},j.prototype.getAndRemove=function(t){return this.has(t)?this._getAndRemoveByKey(t.wrapped().key):null},j.prototype._getAndRemoveByKey=function(t){var e=this.data[t].shift();return e.timeout&&clearTimeout(e.timeout),0===this.data[t].length&&delete this.data[t],this.order.splice(this.order.indexOf(t),1),e.value},j.prototype.getByKey=function(t){var e=this.data[t];return e?e[0].value:null},j.prototype.get=function(t){return this.has(t)?this.data[t.wrapped().key][0].value:null},j.prototype.remove=function(t,e){if(!this.has(t))return this;var r=t.wrapped().key,n=void 0===e?0:this.data[r].indexOf(e),i=this.data[r][n];return this.data[r].splice(n,1),i.timeout&&clearTimeout(i.timeout),0===this.data[r].length&&delete this.data[r],this.onRemove(i.value),this.order.splice(this.order.indexOf(r),1),this},j.prototype.setMaxSize=function(t){for(this.max=t;this.order.length>this.max;){var e=this._getAndRemoveByKey(this.order[0]);e&&this.onRemove(e)}return this},j.prototype.filter=function(t){var e=[];for(var r in this.data)for(var n=0,i=this.data[r];n<i.length;n+=1){var a=i[n];t(a.value)||e.push(a)}for(var o=0,s=e;o<s.length;o+=1){var l=s[o];this.remove(l.value.tileID,l)}};var U=function(t,e,r){this.context=t;var n=t.gl;this.buffer=n.createBuffer(),this.dynamicDraw=Boolean(r),this.context.unbindVAO(),t.bindElementBuffer.set(this.buffer),n.bufferData(n.ELEMENT_ARRAY_BUFFER,e.arrayBuffer,this.dynamicDraw?n.DYNAMIC_DRAW:n.STATIC_DRAW),this.dynamicDraw||delete e.arrayBuffer};U.prototype.bind=function(){this.context.bindElementBuffer.set(this.buffer)},U.prototype.updateData=function(t){var e=this.context.gl;this.context.unbindVAO(),this.bind(),e.bufferSubData(e.ELEMENT_ARRAY_BUFFER,0,t.arrayBuffer)},U.prototype.destroy=function(){var t=this.context.gl;this.buffer&&(t.deleteBuffer(this.buffer),delete this.buffer)};var V={Int8:"BYTE",Uint8:"UNSIGNED_BYTE",Int16:"SHORT",Uint16:"UNSIGNED_SHORT",Int32:"INT",Uint32:"UNSIGNED_INT",Float32:"FLOAT"},H=function(t,e,r,n){this.length=e.length,this.attributes=r,this.itemSize=e.bytesPerElement,this.dynamicDraw=n,this.context=t;var i=t.gl;this.buffer=i.createBuffer(),t.bindVertexBuffer.set(this.buffer),i.bufferData(i.ARRAY_BUFFER,e.arrayBuffer,this.dynamicDraw?i.DYNAMIC_DRAW:i.STATIC_DRAW),this.dynamicDraw||delete e.arrayBuffer};H.prototype.bind=function(){this.context.bindVertexBuffer.set(this.buffer)},H.prototype.updateData=function(t){var e=this.context.gl;this.bind(),e.bufferSubData(e.ARRAY_BUFFER,0,t.arrayBuffer)},H.prototype.enableAttributes=function(t,e){for(var r=0;r<this.attributes.length;r++){var n=this.attributes[r],i=e.attributes[n.name];void 0!==i&&t.enableVertexAttribArray(i)}},H.prototype.setVertexAttribPointers=function(t,e,r){for(var n=0;n<this.attributes.length;n++){var i=this.attributes[n],a=e.attributes[i.name];void 0!==a&&t.vertexAttribPointer(a,i.components,t[V[i.type]],!1,this.itemSize,i.offset+this.itemSize*(r||0))}},H.prototype.destroy=function(){var t=this.context.gl;this.buffer&&(t.deleteBuffer(this.buffer),delete this.buffer)};var q=function(t){this.gl=t.gl,this.default=this.getDefault(),this.current=this.default,this.dirty=!1};q.prototype.get=function(){return this.current},q.prototype.set=function(t){},q.prototype.getDefault=function(){return this.default},q.prototype.setDefault=function(){this.set(this.default)};var G=function(e){function r(){e.apply(this,arguments)}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.getDefault=function(){return t.Color.transparent},r.prototype.set=function(t){var e=this.current;(t.r!==e.r||t.g!==e.g||t.b!==e.b||t.a!==e.a||this.dirty)&&(this.gl.clearColor(t.r,t.g,t.b,t.a),this.current=t,this.dirty=!1)},r}(q),Z=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getDefault=function(){return 1},e.prototype.set=function(t){(t!==this.current||this.dirty)&&(this.gl.clearDepth(t),this.current=t,this.dirty=!1)},e}(q),Y=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getDefault=function(){return 0},e.prototype.set=function(t){(t!==this.current||this.dirty)&&(this.gl.clearStencil(t),this.current=t,this.dirty=!1)},e}(q),W=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getDefault=function(){return[!0,!0,!0,!0]},e.prototype.set=function(t){var e=this.current;(t[0]!==e[0]||t[1]!==e[1]||t[2]!==e[2]||t[3]!==e[3]||this.dirty)&&(this.gl.colorMask(t[0],t[1],t[2],t[3]),this.current=t,this.dirty=!1)},e}(q),X=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getDefault=function(){return!0},e.prototype.set=function(t){(t!==this.current||this.dirty)&&(this.gl.depthMask(t),this.current=t,this.dirty=!1)},e}(q),J=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getDefault=function(){return 255},e.prototype.set=function(t){(t!==this.current||this.dirty)&&(this.gl.stencilMask(t),this.current=t,this.dirty=!1)},e}(q),K=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getDefault=function(){return{func:this.gl.ALWAYS,ref:0,mask:255}},e.prototype.set=function(t){var e=this.current;(t.func!==e.func||t.ref!==e.ref||t.mask!==e.mask||this.dirty)&&(this.gl.stencilFunc(t.func,t.ref,t.mask),this.current=t,this.dirty=!1)},e}(q),$=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getDefault=function(){var t=this.gl;return[t.KEEP,t.KEEP,t.KEEP]},e.prototype.set=function(t){var e=this.current;(t[0]!==e[0]||t[1]!==e[1]||t[2]!==e[2]||this.dirty)&&(this.gl.stencilOp(t[0],t[1],t[2]),this.current=t,this.dirty=!1)},e}(q),Q=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getDefault=function(){return!1},e.prototype.set=function(t){if(t!==this.current||this.dirty){var e=this.gl;t?e.enable(e.STENCIL_TEST):e.disable(e.STENCIL_TEST),this.current=t,this.dirty=!1}},e}(q),tt=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getDefault=function(){return[0,1]},e.prototype.set=function(t){var e=this.current;(t[0]!==e[0]||t[1]!==e[1]||this.dirty)&&(this.gl.depthRange(t[0],t[1]),this.current=t,this.dirty=!1)},e}(q),et=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getDefault=function(){return!1},e.prototype.set=function(t){if(t!==this.current||this.dirty){var e=this.gl;t?e.enable(e.DEPTH_TEST):e.disable(e.DEPTH_TEST),this.current=t,this.dirty=!1}},e}(q),rt=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getDefault=function(){return this.gl.LESS},e.prototype.set=function(t){(t!==this.current||this.dirty)&&(this.gl.depthFunc(t),this.current=t,this.dirty=!1)},e}(q),nt=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getDefault=function(){return!1},e.prototype.set=function(t){if(t!==this.current||this.dirty){var e=this.gl;t?e.enable(e.BLEND):e.disable(e.BLEND),this.current=t,this.dirty=!1}},e}(q),it=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getDefault=function(){var t=this.gl;return[t.ONE,t.ZERO]},e.prototype.set=function(t){var e=this.current;(t[0]!==e[0]||t[1]!==e[1]||this.dirty)&&(this.gl.blendFunc(t[0],t[1]),this.current=t,this.dirty=!1)},e}(q),at=function(e){function r(){e.apply(this,arguments)}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.getDefault=function(){return t.Color.transparent},r.prototype.set=function(t){var e=this.current;(t.r!==e.r||t.g!==e.g||t.b!==e.b||t.a!==e.a||this.dirty)&&(this.gl.blendColor(t.r,t.g,t.b,t.a),this.current=t,this.dirty=!1)},r}(q),ot=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getDefault=function(){return this.gl.FUNC_ADD},e.prototype.set=function(t){(t!==this.current||this.dirty)&&(this.gl.blendEquation(t),this.current=t,this.dirty=!1)},e}(q),st=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getDefault=function(){return!1},e.prototype.set=function(t){if(t!==this.current||this.dirty){var e=this.gl;t?e.enable(e.CULL_FACE):e.disable(e.CULL_FACE),this.current=t,this.dirty=!1}},e}(q),lt=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getDefault=function(){return this.gl.BACK},e.prototype.set=function(t){(t!==this.current||this.dirty)&&(this.gl.cullFace(t),this.current=t,this.dirty=!1)},e}(q),ut=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getDefault=function(){return this.gl.CCW},e.prototype.set=function(t){(t!==this.current||this.dirty)&&(this.gl.frontFace(t),this.current=t,this.dirty=!1)},e}(q),ct=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getDefault=function(){return null},e.prototype.set=function(t){(t!==this.current||this.dirty)&&(this.gl.useProgram(t),this.current=t,this.dirty=!1)},e}(q),ft=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getDefault=function(){return this.gl.TEXTURE0},e.prototype.set=function(t){(t!==this.current||this.dirty)&&(this.gl.activeTexture(t),this.current=t,this.dirty=!1)},e}(q),ht=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getDefault=function(){var t=this.gl;return[0,0,t.drawingBufferWidth,t.drawingBufferHeight]},e.prototype.set=function(t){var e=this.current;(t[0]!==e[0]||t[1]!==e[1]||t[2]!==e[2]||t[3]!==e[3]||this.dirty)&&(this.gl.viewport(t[0],t[1],t[2],t[3]),this.current=t,this.dirty=!1)},e}(q),pt=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getDefault=function(){return null},e.prototype.set=function(t){if(t!==this.current||this.dirty){var e=this.gl;e.bindFramebuffer(e.FRAMEBUFFER,t),this.current=t,this.dirty=!1}},e}(q),dt=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getDefault=function(){return null},e.prototype.set=function(t){if(t!==this.current||this.dirty){var e=this.gl;e.bindRenderbuffer(e.RENDERBUFFER,t),this.current=t,this.dirty=!1}},e}(q),vt=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getDefault=function(){return null},e.prototype.set=function(t){if(t!==this.current||this.dirty){var e=this.gl;e.bindTexture(e.TEXTURE_2D,t),this.current=t,this.dirty=!1}},e}(q),gt=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getDefault=function(){return null},e.prototype.set=function(t){if(t!==this.current||this.dirty){var e=this.gl;e.bindBuffer(e.ARRAY_BUFFER,t),this.current=t,this.dirty=!1}},e}(q),yt=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getDefault=function(){return null},e.prototype.set=function(t){var e=this.gl;e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,t),this.current=t,this.dirty=!1},e}(q),mt=function(t){function e(e){t.call(this,e),this.vao=e.extVertexArrayObject}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getDefault=function(){return null},e.prototype.set=function(t){this.vao&&(t!==this.current||this.dirty)&&(this.vao.bindVertexArrayOES(t),this.current=t,this.dirty=!1)},e}(q),xt=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getDefault=function(){return 4},e.prototype.set=function(t){if(t!==this.current||this.dirty){var e=this.gl;e.pixelStorei(e.UNPACK_ALIGNMENT,t),this.current=t,this.dirty=!1}},e}(q),bt=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getDefault=function(){return!1},e.prototype.set=function(t){if(t!==this.current||this.dirty){var e=this.gl;e.pixelStorei(e.UNPACK_PREMULTIPLY_ALPHA_WEBGL,t),this.current=t,this.dirty=!1}},e}(q),_t=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getDefault=function(){return!1},e.prototype.set=function(t){if(t!==this.current||this.dirty){var e=this.gl;e.pixelStorei(e.UNPACK_FLIP_Y_WEBGL,t),this.current=t,this.dirty=!1}},e}(q),wt=function(t){function e(e,r){t.call(this,e),this.context=e,this.parent=r}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getDefault=function(){return null},e}(q),Tt=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.setDirty=function(){this.dirty=!0},e.prototype.set=function(t){if(t!==this.current||this.dirty){this.context.bindFramebuffer.set(this.parent);var e=this.gl;e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,t,0),this.current=t,this.dirty=!1}},e}(wt),kt=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.set=function(t){if(t!==this.current||this.dirty){this.context.bindFramebuffer.set(this.parent);var e=this.gl;e.framebufferRenderbuffer(e.FRAMEBUFFER,e.DEPTH_ATTACHMENT,e.RENDERBUFFER,t),this.current=t,this.dirty=!1}},e}(wt),At=function(t,e,r,n){this.context=t,this.width=e,this.height=r;var i=t.gl,a=this.framebuffer=i.createFramebuffer();this.colorAttachment=new Tt(t,a),n&&(this.depthAttachment=new kt(t,a))};At.prototype.destroy=function(){var t=this.context.gl,e=this.colorAttachment.get();if(e&&t.deleteTexture(e),this.depthAttachment){var r=this.depthAttachment.get();r&&t.deleteRenderbuffer(r)}t.deleteFramebuffer(this.framebuffer)};var Mt=function(t,e,r){this.func=t,this.mask=e,this.range=r};Mt.ReadOnly=!1,Mt.ReadWrite=!0,Mt.disabled=new Mt(519,Mt.ReadOnly,[0,1]);var St=7680,Et=function(t,e,r,n,i,a){this.test=t,this.ref=e,this.mask=r,this.fail=n,this.depthFail=i,this.pass=a};Et.disabled=new Et({func:519,mask:0},0,0,St,St,St);var Lt=function(t,e,r){this.blendFunction=t,this.blendColor=e,this.mask=r};Lt.disabled=new Lt(Lt.Replace=[1,0],t.Color.transparent,[!1,!1,!1,!1]),Lt.unblended=new Lt(Lt.Replace,t.Color.transparent,[!0,!0,!0,!0]),Lt.alphaBlended=new Lt([1,771],t.Color.transparent,[!0,!0,!0,!0]);var Ct=function(t,e,r){this.enable=t,this.mode=e,this.frontFace=r};Ct.disabled=new Ct(!1,1029,2305),Ct.backCCW=new Ct(!0,1029,2305);var Pt=function(t){this.gl=t,this.extVertexArrayObject=this.gl.getExtension("OES_vertex_array_object"),this.clearColor=new G(this),this.clearDepth=new Z(this),this.clearStencil=new Y(this),this.colorMask=new W(this),this.depthMask=new X(this),this.stencilMask=new J(this),this.stencilFunc=new K(this),this.stencilOp=new $(this),this.stencilTest=new Q(this),this.depthRange=new tt(this),this.depthTest=new et(this),this.depthFunc=new rt(this),this.blend=new nt(this),this.blendFunc=new it(this),this.blendColor=new at(this),this.blendEquation=new ot(this),this.cullFace=new st(this),this.cullFaceSide=new lt(this),this.frontFace=new ut(this),this.program=new ct(this),this.activeTexture=new ft(this),this.viewport=new ht(this),this.bindFramebuffer=new pt(this),this.bindRenderbuffer=new dt(this),this.bindTexture=new vt(this),this.bindVertexBuffer=new gt(this),this.bindElementBuffer=new yt(this),this.bindVertexArrayOES=this.extVertexArrayObject&&new mt(this),this.pixelStoreUnpack=new xt(this),this.pixelStoreUnpackPremultiplyAlpha=new bt(this),this.pixelStoreUnpackFlipY=new _t(this),this.extTextureFilterAnisotropic=t.getExtension("EXT_texture_filter_anisotropic")||t.getExtension("MOZ_EXT_texture_filter_anisotropic")||t.getExtension("WEBKIT_EXT_texture_filter_anisotropic"),this.extTextureFilterAnisotropic&&(this.extTextureFilterAnisotropicMax=t.getParameter(this.extTextureFilterAnisotropic.MAX_TEXTURE_MAX_ANISOTROPY_EXT)),this.extTextureHalfFloat=t.getExtension("OES_texture_half_float"),this.extTextureHalfFloat&&(t.getExtension("OES_texture_half_float_linear"),this.extRenderToTextureHalfFloat=t.getExtension("EXT_color_buffer_half_float")),this.extTimerQuery=t.getExtension("EXT_disjoint_timer_query")};Pt.prototype.setDefault=function(){this.unbindVAO(),this.clearColor.setDefault(),this.clearDepth.setDefault(),this.clearStencil.setDefault(),this.colorMask.setDefault(),this.depthMask.setDefault(),this.stencilMask.setDefault(),this.stencilFunc.setDefault(),this.stencilOp.setDefault(),this.stencilTest.setDefault(),this.depthRange.setDefault(),this.depthTest.setDefault(),this.depthFunc.setDefault(),this.blend.setDefault(),this.blendFunc.setDefault(),this.blendColor.setDefault(),this.blendEquation.setDefault(),this.cullFace.setDefault(),this.cullFaceSide.setDefault(),this.frontFace.setDefault(),this.program.setDefault(),this.activeTexture.setDefault(),this.bindFramebuffer.setDefault(),this.pixelStoreUnpack.setDefault(),this.pixelStoreUnpackPremultiplyAlpha.setDefault(),this.pixelStoreUnpackFlipY.setDefault()},Pt.prototype.setDirty=function(){this.clearColor.dirty=!0,this.clearDepth.dirty=!0,this.clearStencil.dirty=!0,this.colorMask.dirty=!0,this.depthMask.dirty=!0,this.stencilMask.dirty=!0,this.stencilFunc.dirty=!0,this.stencilOp.dirty=!0,this.stencilTest.dirty=!0,this.depthRange.dirty=!0,this.depthTest.dirty=!0,this.depthFunc.dirty=!0,this.blend.dirty=!0,this.blendFunc.dirty=!0,this.blendColor.dirty=!0,this.blendEquation.dirty=!0,this.cullFace.dirty=!0,this.cullFaceSide.dirty=!0,this.frontFace.dirty=!0,this.program.dirty=!0,this.activeTexture.dirty=!0,this.viewport.dirty=!0,this.bindFramebuffer.dirty=!0,this.bindRenderbuffer.dirty=!0,this.bindTexture.dirty=!0,this.bindVertexBuffer.dirty=!0,this.bindElementBuffer.dirty=!0,this.extVertexArrayObject&&(this.bindVertexArrayOES.dirty=!0),this.pixelStoreUnpack.dirty=!0,this.pixelStoreUnpackPremultiplyAlpha.dirty=!0,this.pixelStoreUnpackFlipY.dirty=!0},Pt.prototype.createIndexBuffer=function(t,e){return new U(this,t,e)},Pt.prototype.createVertexBuffer=function(t,e,r){return new H(this,t,e,r)},Pt.prototype.createRenderbuffer=function(t,e,r){var n=this.gl,i=n.createRenderbuffer();return this.bindRenderbuffer.set(i),n.renderbufferStorage(n.RENDERBUFFER,t,e,r),this.bindRenderbuffer.set(null),i},Pt.prototype.createFramebuffer=function(t,e,r){return new At(this,t,e,r)},Pt.prototype.clear=function(t){var e=t.color,r=t.depth,n=this.gl,i=0;e&&(i|=n.COLOR_BUFFER_BIT,this.clearColor.set(e),this.colorMask.set([!0,!0,!0,!0])),void 0!==r&&(i|=n.DEPTH_BUFFER_BIT,this.depthRange.set([0,1]),this.clearDepth.set(r),this.depthMask.set(!0)),n.clear(i)},Pt.prototype.setCullFace=function(t){!1===t.enable?this.cullFace.set(!1):(this.cullFace.set(!0),this.cullFaceSide.set(t.mode),this.frontFace.set(t.frontFace))},Pt.prototype.setDepthMode=function(t){t.func!==this.gl.ALWAYS||t.mask?(this.depthTest.set(!0),this.depthFunc.set(t.func),this.depthMask.set(t.mask),this.depthRange.set(t.range)):this.depthTest.set(!1)},Pt.prototype.setStencilMode=function(t){t.test.func!==this.gl.ALWAYS||t.mask?(this.stencilTest.set(!0),this.stencilMask.set(t.mask),this.stencilOp.set([t.fail,t.depthFail,t.pass]),this.stencilFunc.set({func:t.test.func,ref:t.ref,mask:t.test.mask})):this.stencilTest.set(!1)},Pt.prototype.setColorMode=function(e){t.deepEqual(e.blendFunction,Lt.Replace)?this.blend.set(!1):(this.blend.set(!0),this.blendFunc.set(e.blendFunction),this.blendColor.set(e.blendColor)),this.colorMask.set(e.mask)},Pt.prototype.unbindVAO=function(){this.extVertexArrayObject&&this.bindVertexArrayOES.set(null)};var Ot=function(e){function r(r,n,i){var a=this;e.call(this),this.id=r,this.dispatcher=i,this.on("data",(function(t){"source"===t.dataType&&"metadata"===t.sourceDataType&&(a._sourceLoaded=!0),a._sourceLoaded&&!a._paused&&"source"===t.dataType&&"content"===t.sourceDataType&&(a.reload(),a.transform&&a.update(a.transform))})),this.on("error",(function(){a._sourceErrored=!0})),this._source=function(e,r,n,i){var a=new R[r.type](e,r,n,i);if(a.id!==e)throw new Error("Expected Source id to be "+e+" instead of "+a.id);return t.bindAll(["load","abort","unload","serialize","prepare"],a),a}(r,n,i,this),this._tiles={},this._cache=new j(0,this._unloadTile.bind(this)),this._timers={},this._cacheTimers={},this._maxTileCacheSize=null,this._loadedParentTiles={},this._coveredTiles={},this._state=new t.SourceFeatureState}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.onAdd=function(t){this.map=t,this._maxTileCacheSize=t?t._maxTileCacheSize:null,this._source&&this._source.onAdd&&this._source.onAdd(t)},r.prototype.onRemove=function(t){this._source&&this._source.onRemove&&this._source.onRemove(t)},r.prototype.loaded=function(){if(this._sourceErrored)return!0;if(!this._sourceLoaded)return!1;if(!this._source.loaded())return!1;for(var t in this._tiles){var e=this._tiles[t];if("loaded"!==e.state&&"errored"!==e.state)return!1}return!0},r.prototype.getSource=function(){return this._source},r.prototype.pause=function(){this._paused=!0},r.prototype.resume=function(){if(this._paused){var t=this._shouldReloadOnResume;this._paused=!1,this._shouldReloadOnResume=!1,t&&this.reload(),this.transform&&this.update(this.transform)}},r.prototype._loadTile=function(t,e){return this._source.loadTile(t,e)},r.prototype._unloadTile=function(t){if(this._source.unloadTile)return this._source.unloadTile(t,(function(){}))},r.prototype._abortTile=function(t){if(this._source.abortTile)return this._source.abortTile(t,(function(){}))},r.prototype.serialize=function(){return this._source.serialize()},r.prototype.prepare=function(t){for(var e in this._source.prepare&&this._source.prepare(),this._state.coalesceChanges(this._tiles,this.map?this.map.painter:null),this._tiles){var r=this._tiles[e];r.upload(t),r.prepare(this.map.style.imageManager)}},r.prototype.getIds=function(){return t.values(this._tiles).map((function(t){return t.tileID})).sort(It).map((function(t){return t.key}))},r.prototype.getRenderableIds=function(e){var r=this,n=[];for(var i in this._tiles)this._isIdRenderable(i,e)&&n.push(this._tiles[i]);return e?n.sort((function(e,n){var i=e.tileID,a=n.tileID,o=new t.Point(i.canonical.x,i.canonical.y)._rotate(r.transform.angle),s=new t.Point(a.canonical.x,a.canonical.y)._rotate(r.transform.angle);return i.overscaledZ-a.overscaledZ||s.y-o.y||s.x-o.x})).map((function(t){return t.tileID.key})):n.map((function(t){return t.tileID})).sort(It).map((function(t){return t.key}))},r.prototype.hasRenderableParent=function(t){var e=this.findLoadedParent(t,0);return!!e&&this._isIdRenderable(e.tileID.key)},r.prototype._isIdRenderable=function(t,e){return this._tiles[t]&&this._tiles[t].hasData()&&!this._coveredTiles[t]&&(e||!this._tiles[t].holdingForFade())},r.prototype.reload=function(){if(this._paused)this._shouldReloadOnResume=!0;else for(var t in this._cache.reset(),this._tiles)"errored"!==this._tiles[t].state&&this._reloadTile(t,"reloading")},r.prototype._reloadTile=function(t,e){var r=this._tiles[t];r&&("loading"!==r.state&&(r.state=e),this._loadTile(r,this._tileLoaded.bind(this,r,t,e)))},r.prototype._tileLoaded=function(e,r,n,i){if(i)return e.state="errored",void(404!==i.status?this._source.fire(new t.ErrorEvent(i,{tile:e})):this.update(this.transform));e.timeAdded=t.browser.now(),"expired"===n&&(e.refreshedUponExpiration=!0),this._setTileReloadTimer(r,e),"raster-dem"===this.getSource().type&&e.dem&&this._backfillDEM(e),this._state.initializeTileState(e,this.map?this.map.painter:null),this._source.fire(new t.Event("data",{dataType:"source",tile:e,coord:e.tileID}))},r.prototype._backfillDEM=function(t){for(var e=this.getRenderableIds(),r=0;r<e.length;r++){var n=e[r];if(t.neighboringTiles&&t.neighboringTiles[n]){var i=this.getTileByID(n);a(t,i),a(i,t)}}function a(t,e){t.needsHillshadePrepare=!0;var r=e.tileID.canonical.x-t.tileID.canonical.x,n=e.tileID.canonical.y-t.tileID.canonical.y,i=Math.pow(2,t.tileID.canonical.z),a=e.tileID.key;0===r&&0===n||Math.abs(n)>1||(Math.abs(r)>1&&(1===Math.abs(r+i)?r+=i:1===Math.abs(r-i)&&(r-=i)),e.dem&&t.dem&&(t.dem.backfillBorder(e.dem,r,n),t.neighboringTiles&&t.neighboringTiles[a]&&(t.neighboringTiles[a].backfilled=!0)))}},r.prototype.getTile=function(t){return this.getTileByID(t.key)},r.prototype.getTileByID=function(t){return this._tiles[t]},r.prototype._retainLoadedChildren=function(t,e,r,n){for(var i in this._tiles){var a=this._tiles[i];if(!(n[i]||!a.hasData()||a.tileID.overscaledZ<=e||a.tileID.overscaledZ>r)){for(var o=a.tileID;a&&a.tileID.overscaledZ>e+1;){var s=a.tileID.scaledTo(a.tileID.overscaledZ-1);(a=this._tiles[s.key])&&a.hasData()&&(o=s)}for(var l=o;l.overscaledZ>e;)if(t[(l=l.scaledTo(l.overscaledZ-1)).key]){n[o.key]=o;break}}}},r.prototype.findLoadedParent=function(t,e){if(t.key in this._loadedParentTiles){var r=this._loadedParentTiles[t.key];return r&&r.tileID.overscaledZ>=e?r:null}for(var n=t.overscaledZ-1;n>=e;n--){var i=t.scaledTo(n),a=this._getLoadedTile(i);if(a)return a}},r.prototype._getLoadedTile=function(t){var e=this._tiles[t.key];return e&&e.hasData()?e:this._cache.getByKey(t.wrapped().key)},r.prototype.updateCacheSize=function(t){var e=(Math.ceil(t.width/this._source.tileSize)+1)*(Math.ceil(t.height/this._source.tileSize)+1),r=Math.floor(5*e),n="number"==typeof this._maxTileCacheSize?Math.min(this._maxTileCacheSize,r):r;this._cache.setMaxSize(n)},r.prototype.handleWrapJump=function(t){var e=(t-(void 0===this._prevLng?t:this._prevLng))/360,r=Math.round(e);if(this._prevLng=t,r){var n={};for(var i in this._tiles){var a=this._tiles[i];a.tileID=a.tileID.unwrapTo(a.tileID.wrap+r),n[a.tileID.key]=a}for(var o in this._tiles=n,this._timers)clearTimeout(this._timers[o]),delete this._timers[o];for(var s in this._tiles){var l=this._tiles[s];this._setTileReloadTimer(s,l)}}},r.prototype.update=function(e){var n=this;if(this.transform=e,this._sourceLoaded&&!this._paused){var i;this.updateCacheSize(e),this.handleWrapJump(this.transform.center.lng),this._coveredTiles={},this.used?this._source.tileID?i=e.getVisibleUnwrappedCoordinates(this._source.tileID).map((function(e){return new t.OverscaledTileID(e.canonical.z,e.wrap,e.canonical.z,e.canonical.x,e.canonical.y)})):(i=e.coveringTiles({tileSize:this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:this._source.roundZoom,reparseOverscaled:this._source.reparseOverscaled}),this._source.hasTile&&(i=i.filter((function(t){return n._source.hasTile(t)})))):i=[];var a=e.coveringZoomLevel(this._source),o=Math.max(a-r.maxOverzooming,this._source.minzoom),s=Math.max(a+r.maxUnderzooming,this._source.minzoom),l=this._updateRetainedTiles(i,a);if(Dt(this._source.type)){for(var u={},c={},f=0,h=Object.keys(l);f<h.length;f+=1){var p=h[f],d=l[p],v=this._tiles[p];if(v&&!(v.fadeEndTime&&v.fadeEndTime<=t.browser.now())){var g=this.findLoadedParent(d,o);g&&(this._addTile(g.tileID),u[g.tileID.key]=g.tileID),c[p]=d}}for(var y in this._retainLoadedChildren(c,a,s,l),u)l[y]||(this._coveredTiles[y]=!0,l[y]=u[y])}for(var m in l)this._tiles[m].clearFadeHold();for(var x=0,b=t.keysDifference(this._tiles,l);x<b.length;x+=1){var _=b[x],w=this._tiles[_];w.hasSymbolBuckets&&!w.holdingForFade()?w.setHoldDuration(this.map._fadeDuration):w.hasSymbolBuckets&&!w.symbolFadeFinished()||this._removeTile(_)}this._updateLoadedParentTileCache()}},r.prototype.releaseSymbolFadeTiles=function(){for(var t in this._tiles)this._tiles[t].holdingForFade()&&this._removeTile(t)},r.prototype._updateRetainedTiles=function(t,e){for(var n={},i={},a=Math.max(e-r.maxOverzooming,this._source.minzoom),o=Math.max(e+r.maxUnderzooming,this._source.minzoom),s={},l=0,u=t;l<u.length;l+=1){var c=u[l],f=this._addTile(c);n[c.key]=c,f.hasData()||e<this._source.maxzoom&&(s[c.key]=c)}this._retainLoadedChildren(s,e,o,n);for(var h=0,p=t;h<p.length;h+=1){var d=p[h],v=this._tiles[d.key];if(!v.hasData()){if(e+1>this._source.maxzoom){var g=d.children(this._source.maxzoom)[0],y=this.getTile(g);if(y&&y.hasData()){n[g.key]=g;continue}}else{var m=d.children(this._source.maxzoom);if(n[m[0].key]&&n[m[1].key]&&n[m[2].key]&&n[m[3].key])continue}for(var x=v.wasRequested(),b=d.overscaledZ-1;b>=a;--b){var _=d.scaledTo(b);if(i[_.key])break;if(i[_.key]=!0,!(v=this.getTile(_))&&x&&(v=this._addTile(_)),v&&(n[_.key]=_,x=v.wasRequested(),v.hasData()))break}}}return n},r.prototype._updateLoadedParentTileCache=function(){for(var t in this._loadedParentTiles={},this._tiles){for(var e=[],r=void 0,n=this._tiles[t].tileID;n.overscaledZ>0;){if(n.key in this._loadedParentTiles){r=this._loadedParentTiles[n.key];break}e.push(n.key);var i=n.scaledTo(n.overscaledZ-1);if(r=this._getLoadedTile(i))break;n=i}for(var a=0,o=e;a<o.length;a+=1){var s=o[a];this._loadedParentTiles[s]=r}}},r.prototype._addTile=function(e){var r=this._tiles[e.key];if(r)return r;(r=this._cache.getAndRemove(e))&&(this._setTileReloadTimer(e.key,r),r.tileID=e,this._state.initializeTileState(r,this.map?this.map.painter:null),this._cacheTimers[e.key]&&(clearTimeout(this._cacheTimers[e.key]),delete this._cacheTimers[e.key],this._setTileReloadTimer(e.key,r)));var n=Boolean(r);return n||(r=new t.Tile(e,this._source.tileSize*e.overscaleFactor()),this._loadTile(r,this._tileLoaded.bind(this,r,e.key,r.state))),r?(r.uses++,this._tiles[e.key]=r,n||this._source.fire(new t.Event("dataloading",{tile:r,coord:r.tileID,dataType:"source"})),r):null},r.prototype._setTileReloadTimer=function(t,e){var r=this;t in this._timers&&(clearTimeout(this._timers[t]),delete this._timers[t]);var n=e.getExpiryTimeout();n&&(this._timers[t]=setTimeout((function(){r._reloadTile(t,"expired"),delete r._timers[t]}),n))},r.prototype._removeTile=function(t){var e=this._tiles[t];e&&(e.uses--,delete this._tiles[t],this._timers[t]&&(clearTimeout(this._timers[t]),delete this._timers[t]),e.uses>0||(e.hasData()&&"reloading"!==e.state?this._cache.add(e.tileID,e,e.getExpiryTimeout()):(e.aborted=!0,this._abortTile(e),this._unloadTile(e))))},r.prototype.clearTiles=function(){for(var t in this._shouldReloadOnResume=!1,this._paused=!1,this._tiles)this._removeTile(t);this._cache.reset()},r.prototype.tilesIn=function(e,r,n){var i=this,a=[],o=this.transform;if(!o)return a;for(var s=n?o.getCameraQueryGeometry(e):e,l=e.map((function(t){return o.pointCoordinate(t)})),u=s.map((function(t){return o.pointCoordinate(t)})),c=this.getIds(),f=1/0,h=1/0,p=-1/0,d=-1/0,v=0,g=u;v<g.length;v+=1){var y=g[v];f=Math.min(f,y.x),h=Math.min(h,y.y),p=Math.max(p,y.x),d=Math.max(d,y.y)}for(var m=function(e){var n=i._tiles[c[e]];if(!n.holdingForFade()){var s=n.tileID,v=Math.pow(2,o.zoom-n.tileID.overscaledZ),g=r*n.queryPadding*t.EXTENT/n.tileSize/v,y=[s.getTilePoint(new t.MercatorCoordinate(f,h)),s.getTilePoint(new t.MercatorCoordinate(p,d))];if(y[0].x-g<t.EXTENT&&y[0].y-g<t.EXTENT&&y[1].x+g>=0&&y[1].y+g>=0){var m=l.map((function(t){return s.getTilePoint(t)})),x=u.map((function(t){return s.getTilePoint(t)}));a.push({tile:n,tileID:s,queryGeometry:m,cameraQueryGeometry:x,scale:v})}}},x=0;x<c.length;x++)m(x);return a},r.prototype.getVisibleCoordinates=function(t){for(var e=this,r=this.getRenderableIds(t).map((function(t){return e._tiles[t].tileID})),n=0,i=r;n<i.length;n+=1){var a=i[n];a.posMatrix=this.transform.calculatePosMatrix(a.toUnwrapped())}return r},r.prototype.hasTransition=function(){if(this._source.hasTransition())return!0;if(Dt(this._source.type))for(var e in this._tiles){var r=this._tiles[e];if(void 0!==r.fadeEndTime&&r.fadeEndTime>=t.browser.now())return!0}return!1},r.prototype.setFeatureState=function(t,e,r){t=t||"_geojsonTileLayer",this._state.updateState(t,e,r)},r.prototype.removeFeatureState=function(t,e,r){t=t||"_geojsonTileLayer",this._state.removeFeatureState(t,e,r)},r.prototype.getFeatureState=function(t,e){return t=t||"_geojsonTileLayer",this._state.getState(t,e)},r.prototype.setDependencies=function(t,e,r){var n=this._tiles[t];n&&n.setDependencies(e,r)},r.prototype.reloadTilesForDependencies=function(t,e){for(var r in this._tiles)this._tiles[r].hasDependency(t,e)&&this._reloadTile(r,"reloading");this._cache.filter((function(r){return!r.hasDependency(t,e)}))},r}(t.Evented);function It(t,e){var r=Math.abs(2*t.wrap)-+(t.wrap<0),n=Math.abs(2*e.wrap)-+(e.wrap<0);return t.overscaledZ-e.overscaledZ||n-r||e.canonical.y-t.canonical.y||e.canonical.x-t.canonical.x}function Dt(t){return"raster"===t||"image"===t||"video"===t}function zt(){return new t.window.Worker(ta.workerUrl)}Ot.maxOverzooming=10,Ot.maxUnderzooming=3;var Rt="mapboxgl_preloaded_worker_pool",Ft=function(){this.active={}};Ft.prototype.acquire=function(t){if(!this.workers)for(this.workers=[];this.workers.length<Ft.workerCount;)this.workers.push(new zt);return this.active[t]=!0,this.workers.slice()},Ft.prototype.release=function(t){delete this.active[t],0===this.numActive()&&(this.workers.forEach((function(t){t.terminate()})),this.workers=null)},Ft.prototype.isPreloaded=function(){return!!this.active[Rt]},Ft.prototype.numActive=function(){return Object.keys(this.active).length};var Bt,Nt=Math.floor(t.browser.hardwareConcurrency/2);function jt(){return Bt||(Bt=new Ft),Bt}function Ut(e,r){var n={};for(var i in e)"ref"!==i&&(n[i]=e[i]);return t.refProperties.forEach((function(t){t in r&&(n[t]=r[t])})),n}function Vt(t){t=t.slice();for(var e=Object.create(null),r=0;r<t.length;r++)e[t[r].id]=t[r];for(var n=0;n<t.length;n++)"ref"in t[n]&&(t[n]=Ut(t[n],e[t[n].ref]));return t}Ft.workerCount=Math.max(Math.min(Nt,6),1);var Ht={setStyle:"setStyle",addLayer:"addLayer",removeLayer:"removeLayer",setPaintProperty:"setPaintProperty",setLayoutProperty:"setLayoutProperty",setFilter:"setFilter",addSource:"addSource",removeSource:"removeSource",setGeoJSONSourceData:"setGeoJSONSourceData",setLayerZoomRange:"setLayerZoomRange",setLayerProperty:"setLayerProperty",setCenter:"setCenter",setZoom:"setZoom",setBearing:"setBearing",setPitch:"setPitch",setSprite:"setSprite",setGlyphs:"setGlyphs",setTransition:"setTransition",setLight:"setLight"};function qt(t,e,r){r.push({command:Ht.addSource,args:[t,e[t]]})}function Gt(t,e,r){e.push({command:Ht.removeSource,args:[t]}),r[t]=!0}function Zt(t,e,r,n){Gt(t,r,n),qt(t,e,r)}function Yt(e,r,n){var i;for(i in e[n])if(e[n].hasOwnProperty(i)&&"data"!==i&&!t.deepEqual(e[n][i],r[n][i]))return!1;for(i in r[n])if(r[n].hasOwnProperty(i)&&"data"!==i&&!t.deepEqual(e[n][i],r[n][i]))return!1;return!0}function Wt(e,r,n,i,a,o){var s;for(s in r=r||{},e=e||{})e.hasOwnProperty(s)&&(t.deepEqual(e[s],r[s])||n.push({command:o,args:[i,s,r[s],a]}));for(s in r)r.hasOwnProperty(s)&&!e.hasOwnProperty(s)&&(t.deepEqual(e[s],r[s])||n.push({command:o,args:[i,s,r[s],a]}))}function Xt(t){return t.id}function Jt(t,e){return t[e.id]=e,t}function Kt(e,r){if(!e)return[{command:Ht.setStyle,args:[r]}];var n=[];try{if(!t.deepEqual(e.version,r.version))return[{command:Ht.setStyle,args:[r]}];t.deepEqual(e.center,r.center)||n.push({command:Ht.setCenter,args:[r.center]}),t.deepEqual(e.zoom,r.zoom)||n.push({command:Ht.setZoom,args:[r.zoom]}),t.deepEqual(e.bearing,r.bearing)||n.push({command:Ht.setBearing,args:[r.bearing]}),t.deepEqual(e.pitch,r.pitch)||n.push({command:Ht.setPitch,args:[r.pitch]}),t.deepEqual(e.sprite,r.sprite)||n.push({command:Ht.setSprite,args:[r.sprite]}),t.deepEqual(e.glyphs,r.glyphs)||n.push({command:Ht.setGlyphs,args:[r.glyphs]}),t.deepEqual(e.transition,r.transition)||n.push({command:Ht.setTransition,args:[r.transition]}),t.deepEqual(e.light,r.light)||n.push({command:Ht.setLight,args:[r.light]});var i={},a=[];!function(e,r,n,i){var a;for(a in r=r||{},e=e||{})e.hasOwnProperty(a)&&(r.hasOwnProperty(a)||Gt(a,n,i));for(a in r)r.hasOwnProperty(a)&&(e.hasOwnProperty(a)?t.deepEqual(e[a],r[a])||("geojson"===e[a].type&&"geojson"===r[a].type&&Yt(e,r,a)?n.push({command:Ht.setGeoJSONSourceData,args:[a,r[a].data]}):Zt(a,r,n,i)):qt(a,r,n))}(e.sources,r.sources,a,i);var o=[];e.layers&&e.layers.forEach((function(t){i[t.source]?n.push({command:Ht.removeLayer,args:[t.id]}):o.push(t)})),n=n.concat(a),function(e,r,n){r=r||[];var i,a,o,s,l,u,c,f=(e=e||[]).map(Xt),h=r.map(Xt),p=e.reduce(Jt,{}),d=r.reduce(Jt,{}),v=f.slice(),g=Object.create(null);for(i=0,a=0;i<f.length;i++)o=f[i],d.hasOwnProperty(o)?a++:(n.push({command:Ht.removeLayer,args:[o]}),v.splice(v.indexOf(o,a),1));for(i=0,a=0;i<h.length;i++)o=h[h.length-1-i],v[v.length-1-i]!==o&&(p.hasOwnProperty(o)?(n.push({command:Ht.removeLayer,args:[o]}),v.splice(v.lastIndexOf(o,v.length-a),1)):a++,u=v[v.length-i],n.push({command:Ht.addLayer,args:[d[o],u]}),v.splice(v.length-i,0,o),g[o]=!0);for(i=0;i<h.length;i++)if(s=p[o=h[i]],l=d[o],!g[o]&&!t.deepEqual(s,l))if(t.deepEqual(s.source,l.source)&&t.deepEqual(s["source-layer"],l["source-layer"])&&t.deepEqual(s.type,l.type)){for(c in Wt(s.layout,l.layout,n,o,null,Ht.setLayoutProperty),Wt(s.paint,l.paint,n,o,null,Ht.setPaintProperty),t.deepEqual(s.filter,l.filter)||n.push({command:Ht.setFilter,args:[o,l.filter]}),t.deepEqual(s.minzoom,l.minzoom)&&t.deepEqual(s.maxzoom,l.maxzoom)||n.push({command:Ht.setLayerZoomRange,args:[o,l.minzoom,l.maxzoom]}),s)s.hasOwnProperty(c)&&"layout"!==c&&"paint"!==c&&"filter"!==c&&"metadata"!==c&&"minzoom"!==c&&"maxzoom"!==c&&(0===c.indexOf("paint.")?Wt(s[c],l[c],n,o,c.slice(6),Ht.setPaintProperty):t.deepEqual(s[c],l[c])||n.push({command:Ht.setLayerProperty,args:[o,c,l[c]]}));for(c in l)l.hasOwnProperty(c)&&!s.hasOwnProperty(c)&&"layout"!==c&&"paint"!==c&&"filter"!==c&&"metadata"!==c&&"minzoom"!==c&&"maxzoom"!==c&&(0===c.indexOf("paint.")?Wt(s[c],l[c],n,o,c.slice(6),Ht.setPaintProperty):t.deepEqual(s[c],l[c])||n.push({command:Ht.setLayerProperty,args:[o,c,l[c]]}))}else n.push({command:Ht.removeLayer,args:[o]}),u=v[v.lastIndexOf(o)+1],n.push({command:Ht.addLayer,args:[l,u]})}(o,r.layers,n)}catch(t){console.warn("Unable to compute style diff:",t),n=[{command:Ht.setStyle,args:[r]}]}return n}var $t=function(t,e){this.reset(t,e)};$t.prototype.reset=function(t,e){this.points=t||[],this._distances=[0];for(var r=1;r<this.points.length;r++)this._distances[r]=this._distances[r-1]+this.points[r].dist(this.points[r-1]);this.length=this._distances[this._distances.length-1],this.padding=Math.min(e||0,.5*this.length),this.paddedLength=this.length-2*this.padding},$t.prototype.lerp=function(e){if(1===this.points.length)return this.points[0];e=t.clamp(e,0,1);for(var r=1,n=this._distances[r],i=e*this.paddedLength+this.padding;n<i&&r<this._distances.length;)n=this._distances[++r];var a=r-1,o=this._distances[a],s=n-o,l=s>0?(i-o)/s:0;return this.points[a].mult(1-l).add(this.points[r].mult(l))};var Qt=function(t,e,r){var n=this.boxCells=[],i=this.circleCells=[];this.xCellCount=Math.ceil(t/r),this.yCellCount=Math.ceil(e/r);for(var a=0;a<this.xCellCount*this.yCellCount;a++)n.push([]),i.push([]);this.circleKeys=[],this.boxKeys=[],this.bboxes=[],this.circles=[],this.width=t,this.height=e,this.xScale=this.xCellCount/t,this.yScale=this.yCellCount/e,this.boxUid=0,this.circleUid=0};function te(e,r,n,i,a){var o=t.create();return r?(t.scale(o,o,[1/a,1/a,1]),n||t.rotateZ(o,o,i.angle)):t.multiply(o,i.labelPlaneMatrix,e),o}function ee(e,r,n,i,a){if(r){var o=t.clone(e);return t.scale(o,o,[a,a,1]),n||t.rotateZ(o,o,-i.angle),o}return i.glCoordMatrix}function re(e,r){var n=[e.x,e.y,0,1];pe(n,n,r);var i=n[3];return{point:new t.Point(n[0]/i,n[1]/i),signedDistanceFromCamera:i}}function ne(t,e){return.5+t/e*.5}function ie(t,e){var r=t[0]/t[3],n=t[1]/t[3];return r>=-e[0]&&r<=e[0]&&n>=-e[1]&&n<=e[1]}function ae(e,r,n,i,a,o,s,l){var u=i?e.textSizeData:e.iconSizeData,c=t.evaluateSizeForZoom(u,n.transform.zoom),f=[256/n.width*2+1,256/n.height*2+1],h=i?e.text.dynamicLayoutVertexArray:e.icon.dynamicLayoutVertexArray;h.clear();for(var p=e.lineVertexArray,d=i?e.text.placedSymbolArray:e.icon.placedSymbolArray,v=n.transform.width/n.transform.height,g=!1,y=0;y<d.length;y++){var m=d.get(y);if(m.hidden||m.writingMode===t.WritingMode.vertical&&!g)he(m.numGlyphs,h);else{g=!1;var x=[m.anchorX,m.anchorY,0,1];if(t.transformMat4(x,x,r),ie(x,f)){var b=x[3],_=ne(n.transform.cameraToCenterDistance,b),w=t.evaluateSizeForFeature(u,c,m),T=s?w/_:w*_,k=new t.Point(m.anchorX,m.anchorY),A=re(k,a).point,M={},S=le(m,T,!1,l,r,a,o,e.glyphOffsetArray,p,h,A,k,M,v);g=S.useVertical,(S.notEnoughRoom||g||S.needsFlipping&&le(m,T,!0,l,r,a,o,e.glyphOffsetArray,p,h,A,k,M,v).notEnoughRoom)&&he(m.numGlyphs,h)}else he(m.numGlyphs,h)}}i?e.text.dynamicLayoutVertexBuffer.updateData(h):e.icon.dynamicLayoutVertexBuffer.updateData(h)}function oe(t,e,r,n,i,a,o,s,l,u,c){var f=s.glyphStartIndex+s.numGlyphs,h=s.lineStartIndex,p=s.lineStartIndex+s.lineLength,d=e.getoffsetX(s.glyphStartIndex),v=e.getoffsetX(f-1),g=ce(t*d,r,n,i,a,o,s.segment,h,p,l,u,c);if(!g)return null;var y=ce(t*v,r,n,i,a,o,s.segment,h,p,l,u,c);return y?{first:g,last:y}:null}function se(e,r,n,i){return e===t.WritingMode.horizontal&&Math.abs(n.y-r.y)>Math.abs(n.x-r.x)*i?{useVertical:!0}:(e===t.WritingMode.vertical?r.y<n.y:r.x>n.x)?{needsFlipping:!0}:null}function le(e,r,n,i,a,o,s,l,u,c,f,h,p,d){var v,g=r/24,y=e.lineOffsetX*g,m=e.lineOffsetY*g;if(e.numGlyphs>1){var x=e.glyphStartIndex+e.numGlyphs,b=e.lineStartIndex,_=e.lineStartIndex+e.lineLength,w=oe(g,l,y,m,n,f,h,e,u,o,p);if(!w)return{notEnoughRoom:!0};var T=re(w.first.point,s).point,k=re(w.last.point,s).point;if(i&&!n){var A=se(e.writingMode,T,k,d);if(A)return A}v=[w.first];for(var M=e.glyphStartIndex+1;M<x-1;M++)v.push(ce(g*l.getoffsetX(M),y,m,n,f,h,e.segment,b,_,u,o,p));v.push(w.last)}else{if(i&&!n){var S=re(h,a).point,E=e.lineStartIndex+e.segment+1,L=new t.Point(u.getx(E),u.gety(E)),C=re(L,a),P=C.signedDistanceFromCamera>0?C.point:ue(h,L,S,1,a),O=se(e.writingMode,S,P,d);if(O)return O}var I=ce(g*l.getoffsetX(e.glyphStartIndex),y,m,n,f,h,e.segment,e.lineStartIndex,e.lineStartIndex+e.lineLength,u,o,p);if(!I)return{notEnoughRoom:!0};v=[I]}for(var D=0,z=v;D<z.length;D+=1){var R=z[D];t.addDynamicAttributes(c,R.point,R.angle)}return{}}function ue(t,e,r,n,i){var a=re(t.add(t.sub(e)._unit()),i).point,o=r.sub(a);return r.add(o._mult(n/o.mag()))}function ce(e,r,n,i,a,o,s,l,u,c,f,h){var p=i?e-r:e+r,d=p>0?1:-1,v=0;i&&(d*=-1,v=Math.PI),d<0&&(v+=Math.PI);for(var g=d>0?l+s:l+s+1,y=a,m=a,x=0,b=0,_=Math.abs(p),w=[];x+b<=_;){if((g+=d)<l||g>=u)return null;if(m=y,w.push(y),void 0===(y=h[g])){var T=new t.Point(c.getx(g),c.gety(g)),k=re(T,f);if(k.signedDistanceFromCamera>0)y=h[g]=k.point;else{var A=g-d;y=ue(0===x?o:new t.Point(c.getx(A),c.gety(A)),T,m,_-x+1,f)}}x+=b,b=m.dist(y)}var M=(_-x)/b,S=y.sub(m),E=S.mult(M)._add(m);E._add(S._unit()._perp()._mult(n*d));var L=v+Math.atan2(y.y-m.y,y.x-m.x);return w.push(E),{point:E,angle:L,path:w}}Qt.prototype.keysLength=function(){return this.boxKeys.length+this.circleKeys.length},Qt.prototype.insert=function(t,e,r,n,i){this._forEachCell(e,r,n,i,this._insertBoxCell,this.boxUid++),this.boxKeys.push(t),this.bboxes.push(e),this.bboxes.push(r),this.bboxes.push(n),this.bboxes.push(i)},Qt.prototype.insertCircle=function(t,e,r,n){this._forEachCell(e-n,r-n,e+n,r+n,this._insertCircleCell,this.circleUid++),this.circleKeys.push(t),this.circles.push(e),this.circles.push(r),this.circles.push(n)},Qt.prototype._insertBoxCell=function(t,e,r,n,i,a){this.boxCells[i].push(a)},Qt.prototype._insertCircleCell=function(t,e,r,n,i,a){this.circleCells[i].push(a)},Qt.prototype._query=function(t,e,r,n,i,a){if(r<0||t>this.width||n<0||e>this.height)return!i&&[];var o=[];if(t<=0&&e<=0&&this.width<=r&&this.height<=n){if(i)return!0;for(var s=0;s<this.boxKeys.length;s++)o.push({key:this.boxKeys[s],x1:this.bboxes[4*s],y1:this.bboxes[4*s+1],x2:this.bboxes[4*s+2],y2:this.bboxes[4*s+3]});for(var l=0;l<this.circleKeys.length;l++){var u=this.circles[3*l],c=this.circles[3*l+1],f=this.circles[3*l+2];o.push({key:this.circleKeys[l],x1:u-f,y1:c-f,x2:u+f,y2:c+f})}return a?o.filter(a):o}var h={hitTest:i,seenUids:{box:{},circle:{}}};return this._forEachCell(t,e,r,n,this._queryCell,o,h,a),i?o.length>0:o},Qt.prototype._queryCircle=function(t,e,r,n,i){var a=t-r,o=t+r,s=e-r,l=e+r;if(o<0||a>this.width||l<0||s>this.height)return!n&&[];var u=[],c={hitTest:n,circle:{x:t,y:e,radius:r},seenUids:{box:{},circle:{}}};return this._forEachCell(a,s,o,l,this._queryCellCircle,u,c,i),n?u.length>0:u},Qt.prototype.query=function(t,e,r,n,i){return this._query(t,e,r,n,!1,i)},Qt.prototype.hitTest=function(t,e,r,n,i){return this._query(t,e,r,n,!0,i)},Qt.prototype.hitTestCircle=function(t,e,r,n){return this._queryCircle(t,e,r,!0,n)},Qt.prototype._queryCell=function(t,e,r,n,i,a,o,s){var l=o.seenUids,u=this.boxCells[i];if(null!==u)for(var c=this.bboxes,f=0,h=u;f<h.length;f+=1){var p=h[f];if(!l.box[p]){l.box[p]=!0;var d=4*p;if(t<=c[d+2]&&e<=c[d+3]&&r>=c[d+0]&&n>=c[d+1]&&(!s||s(this.boxKeys[p]))){if(o.hitTest)return a.push(!0),!0;a.push({key:this.boxKeys[p],x1:c[d],y1:c[d+1],x2:c[d+2],y2:c[d+3]})}}}var v=this.circleCells[i];if(null!==v)for(var g=this.circles,y=0,m=v;y<m.length;y+=1){var x=m[y];if(!l.circle[x]){l.circle[x]=!0;var b=3*x;if(this._circleAndRectCollide(g[b],g[b+1],g[b+2],t,e,r,n)&&(!s||s(this.circleKeys[x]))){if(o.hitTest)return a.push(!0),!0;var _=g[b],w=g[b+1],T=g[b+2];a.push({key:this.circleKeys[x],x1:_-T,y1:w-T,x2:_+T,y2:w+T})}}}},Qt.prototype._queryCellCircle=function(t,e,r,n,i,a,o,s){var l=o.circle,u=o.seenUids,c=this.boxCells[i];if(null!==c)for(var f=this.bboxes,h=0,p=c;h<p.length;h+=1){var d=p[h];if(!u.box[d]){u.box[d]=!0;var v=4*d;if(this._circleAndRectCollide(l.x,l.y,l.radius,f[v+0],f[v+1],f[v+2],f[v+3])&&(!s||s(this.boxKeys[d])))return a.push(!0),!0}}var g=this.circleCells[i];if(null!==g)for(var y=this.circles,m=0,x=g;m<x.length;m+=1){var b=x[m];if(!u.circle[b]){u.circle[b]=!0;var _=3*b;if(this._circlesCollide(y[_],y[_+1],y[_+2],l.x,l.y,l.radius)&&(!s||s(this.circleKeys[b])))return a.push(!0),!0}}},Qt.prototype._forEachCell=function(t,e,r,n,i,a,o,s){for(var l=this._convertToXCellCoord(t),u=this._convertToYCellCoord(e),c=this._convertToXCellCoord(r),f=this._convertToYCellCoord(n),h=l;h<=c;h++)for(var p=u;p<=f;p++){var d=this.xCellCount*p+h;if(i.call(this,t,e,r,n,d,a,o,s))return}},Qt.prototype._convertToXCellCoord=function(t){return Math.max(0,Math.min(this.xCellCount-1,Math.floor(t*this.xScale)))},Qt.prototype._convertToYCellCoord=function(t){return Math.max(0,Math.min(this.yCellCount-1,Math.floor(t*this.yScale)))},Qt.prototype._circlesCollide=function(t,e,r,n,i,a){var o=n-t,s=i-e,l=r+a;return l*l>o*o+s*s},Qt.prototype._circleAndRectCollide=function(t,e,r,n,i,a,o){var s=(a-n)/2,l=Math.abs(t-(n+s));if(l>s+r)return!1;var u=(o-i)/2,c=Math.abs(e-(i+u));if(c>u+r)return!1;if(l<=s||c<=u)return!0;var f=l-s,h=c-u;return f*f+h*h<=r*r};var fe=new Float32Array([-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0]);function he(t,e){for(var r=0;r<t;r++){var n=e.length;e.resize(n+4),e.float32.set(fe,3*n)}}function pe(t,e,r){var n=e[0],i=e[1];return t[0]=r[0]*n+r[4]*i+r[12],t[1]=r[1]*n+r[5]*i+r[13],t[3]=r[3]*n+r[7]*i+r[15],t}var de=100,ve=function(t,e,r){void 0===e&&(e=new Qt(t.width+200,t.height+200,25)),void 0===r&&(r=new Qt(t.width+200,t.height+200,25)),this.transform=t,this.grid=e,this.ignoredGrid=r,this.pitchfactor=Math.cos(t._pitch)*t.cameraToCenterDistance,this.screenRightBoundary=t.width+de,this.screenBottomBoundary=t.height+de,this.gridRightBoundary=t.width+200,this.gridBottomBoundary=t.height+200};function ge(e,r,n){return r*(t.EXTENT/(e.tileSize*Math.pow(2,n-e.tileID.overscaledZ)))}ve.prototype.placeCollisionBox=function(t,e,r,n,i){var a=this.projectAndGetPerspectiveRatio(n,t.anchorPointX,t.anchorPointY),o=r*a.perspectiveRatio,s=t.x1*o+a.point.x,l=t.y1*o+a.point.y,u=t.x2*o+a.point.x,c=t.y2*o+a.point.y;return!this.isInsideGrid(s,l,u,c)||!e&&this.grid.hitTest(s,l,u,c,i)?{box:[],offscreen:!1}:{box:[s,l,u,c],offscreen:this.isOffscreen(s,l,u,c)}},ve.prototype.placeCollisionCircles=function(e,r,n,i,a,o,s,l,u,c,f,h,p){var d=[],v=new t.Point(r.anchorX,r.anchorY),g=re(v,o),y=ne(this.transform.cameraToCenterDistance,g.signedDistanceFromCamera),m=(c?a/y:a*y)/t.ONE_EM,x=re(v,s).point,b=oe(m,i,r.lineOffsetX*m,r.lineOffsetY*m,!1,x,v,r,n,s,{}),_=!1,w=!1,T=!0;if(b){for(var k=.5*h*y+p,A=new t.Point(-100,-100),M=new t.Point(this.screenRightBoundary,this.screenBottomBoundary),S=new $t,E=b.first,L=b.last,C=[],P=E.path.length-1;P>=1;P--)C.push(E.path[P]);for(var O=1;O<L.path.length;O++)C.push(L.path[O]);var I=2.5*k;if(l){var D=C.map((function(t){return re(t,l)}));C=D.some((function(t){return t.signedDistanceFromCamera<=0}))?[]:D.map((function(t){return t.point}))}var z=[];if(C.length>0){for(var R=C[0].clone(),F=C[0].clone(),B=1;B<C.length;B++)R.x=Math.min(R.x,C[B].x),R.y=Math.min(R.y,C[B].y),F.x=Math.max(F.x,C[B].x),F.y=Math.max(F.y,C[B].y);z=R.x>=A.x&&F.x<=M.x&&R.y>=A.y&&F.y<=M.y?[C]:F.x<A.x||R.x>M.x||F.y<A.y||R.y>M.y?[]:t.clipLine([C],A.x,A.y,M.x,M.y)}for(var N=0,j=z;N<j.length;N+=1){var U=j[N];S.reset(U,.25*k);var V;V=S.length<=.5*k?1:Math.ceil(S.paddedLength/I)+1;for(var H=0;H<V;H++){var q=H/Math.max(V-1,1),G=S.lerp(q),Z=G.x+de,Y=G.y+de;d.push(Z,Y,k,0);var W=Z-k,X=Y-k,J=Z+k,K=Y+k;if(T=T&&this.isOffscreen(W,X,J,K),w=w||this.isInsideGrid(W,X,J,K),!e&&this.grid.hitTestCircle(Z,Y,k,f)&&(_=!0,!u))return{circles:[],offscreen:!1,collisionDetected:_}}}}return{circles:!u&&_||!w?[]:d,offscreen:T,collisionDetected:_}},ve.prototype.queryRenderedSymbols=function(e){if(0===e.length||0===this.grid.keysLength()&&0===this.ignoredGrid.keysLength())return{};for(var r=[],n=1/0,i=1/0,a=-1/0,o=-1/0,s=0,l=e;s<l.length;s+=1){var u=l[s],c=new t.Point(u.x+de,u.y+de);n=Math.min(n,c.x),i=Math.min(i,c.y),a=Math.max(a,c.x),o=Math.max(o,c.y),r.push(c)}for(var f={},h={},p=0,d=this.grid.query(n,i,a,o).concat(this.ignoredGrid.query(n,i,a,o));p<d.length;p+=1){var v=d[p],g=v.key;if(void 0===f[g.bucketInstanceId]&&(f[g.bucketInstanceId]={}),!f[g.bucketInstanceId][g.featureIndex]){var y=[new t.Point(v.x1,v.y1),new t.Point(v.x2,v.y1),new t.Point(v.x2,v.y2),new t.Point(v.x1,v.y2)];t.polygonIntersectsPolygon(r,y)&&(f[g.bucketInstanceId][g.featureIndex]=!0,void 0===h[g.bucketInstanceId]&&(h[g.bucketInstanceId]=[]),h[g.bucketInstanceId].push(g.featureIndex))}}return h},ve.prototype.insertCollisionBox=function(t,e,r,n,i){var a={bucketInstanceId:r,featureIndex:n,collisionGroupID:i};(e?this.ignoredGrid:this.grid).insert(a,t[0],t[1],t[2],t[3])},ve.prototype.insertCollisionCircles=function(t,e,r,n,i){for(var a=e?this.ignoredGrid:this.grid,o={bucketInstanceId:r,featureIndex:n,collisionGroupID:i},s=0;s<t.length;s+=4)a.insertCircle(o,t[s],t[s+1],t[s+2])},ve.prototype.projectAndGetPerspectiveRatio=function(e,r,n){var i=[r,n,0,1];return pe(i,i,e),{point:new t.Point((i[0]/i[3]+1)/2*this.transform.width+de,(-i[1]/i[3]+1)/2*this.transform.height+de),perspectiveRatio:.5+this.transform.cameraToCenterDistance/i[3]*.5}},ve.prototype.isOffscreen=function(t,e,r,n){return r<de||t>=this.screenRightBoundary||n<de||e>this.screenBottomBoundary},ve.prototype.isInsideGrid=function(t,e,r,n){return r>=0&&t<this.gridRightBoundary&&n>=0&&e<this.gridBottomBoundary},ve.prototype.getViewportMatrix=function(){var e=t.identity([]);return t.translate(e,e,[-100,-100,0]),e};var ye=function(t,e,r,n){this.opacity=t?Math.max(0,Math.min(1,t.opacity+(t.placed?e:-e))):n&&r?1:0,this.placed=r};ye.prototype.isHidden=function(){return 0===this.opacity&&!this.placed};var me=function(t,e,r,n,i){this.text=new ye(t?t.text:null,e,r,i),this.icon=new ye(t?t.icon:null,e,n,i)};me.prototype.isHidden=function(){return this.text.isHidden()&&this.icon.isHidden()};var xe=function(t,e,r){this.text=t,this.icon=e,this.skipFade=r},be=function(){this.invProjMatrix=t.create(),this.viewportMatrix=t.create(),this.circles=[]},_e=function(t,e,r,n,i){this.bucketInstanceId=t,this.featureIndex=e,this.sourceLayerIndex=r,this.bucketIndex=n,this.tileID=i},we=function(t){this.crossSourceCollisions=t,this.maxGroupID=0,this.collisionGroups={}};function Te(e,r,n,i,a){var o=t.getAnchorAlignment(e),s=-(o.horizontalAlign-.5)*r,l=-(o.verticalAlign-.5)*n,u=t.evaluateVariableOffset(e,i);return new t.Point(s+u[0]*a,l+u[1]*a)}function ke(e,r,n,i,a,o){var s=e.x1,l=e.x2,u=e.y1,c=e.y2,f=e.anchorPointX,h=e.anchorPointY,p=new t.Point(r,n);return i&&p._rotate(a?o:-o),{x1:s+p.x,y1:u+p.y,x2:l+p.x,y2:c+p.y,anchorPointX:f,anchorPointY:h}}we.prototype.get=function(t){if(this.crossSourceCollisions)return{ID:0,predicate:null};if(!this.collisionGroups[t]){var e=++this.maxGroupID;this.collisionGroups[t]={ID:e,predicate:function(t){return t.collisionGroupID===e}}}return this.collisionGroups[t]};var Ae=function(t,e,r,n){this.transform=t.clone(),this.collisionIndex=new ve(this.transform),this.placements={},this.opacities={},this.variableOffsets={},this.stale=!1,this.commitTime=0,this.fadeDuration=e,this.retainedQueryData={},this.collisionGroups=new we(r),this.collisionCircleArrays={},this.prevPlacement=n,n&&(n.prevPlacement=void 0),this.placedOrientations={}};function Me(t,e,r,n,i){t.emplaceBack(e?1:0,r?1:0,n||0,i||0),t.emplaceBack(e?1:0,r?1:0,n||0,i||0),t.emplaceBack(e?1:0,r?1:0,n||0,i||0),t.emplaceBack(e?1:0,r?1:0,n||0,i||0)}Ae.prototype.getBucketParts=function(e,r,n,i){var a=n.getBucket(r),o=n.latestFeatureIndex;if(a&&o&&r.id===a.layerIds[0]){var s=n.collisionBoxArray,l=a.layers[0].layout,u=Math.pow(2,this.transform.zoom-n.tileID.overscaledZ),c=n.tileSize/t.EXTENT,f=this.transform.calculatePosMatrix(n.tileID.toUnwrapped()),h="map"===l.get("text-pitch-alignment"),p="map"===l.get("text-rotation-alignment"),d=ge(n,1,this.transform.zoom),v=te(f,h,p,this.transform,d),g=null;if(h){var y=ee(f,h,p,this.transform,d);g=t.multiply([],this.transform.labelPlaneMatrix,y)}this.retainedQueryData[a.bucketInstanceId]=new _e(a.bucketInstanceId,o,a.sourceLayerIndex,a.index,n.tileID);var m={bucket:a,layout:l,posMatrix:f,textLabelPlaneMatrix:v,labelToScreenMatrix:g,scale:u,textPixelRatio:c,holdingForFade:n.holdingForFade(),collisionBoxArray:s,partiallyEvaluatedTextSize:t.evaluateSizeForZoom(a.textSizeData,this.transform.zoom),collisionGroup:this.collisionGroups.get(a.sourceID)};if(i)for(var x=0,b=a.sortKeyRanges;x<b.length;x+=1){var _=b[x],w=_.sortKey,T=_.symbolInstanceStart,k=_.symbolInstanceEnd;e.push({sortKey:w,symbolInstanceStart:T,symbolInstanceEnd:k,parameters:m})}else e.push({symbolInstanceStart:0,symbolInstanceEnd:a.symbolInstances.length,parameters:m})}},Ae.prototype.attemptAnchorPlacement=function(t,e,r,n,i,a,o,s,l,u,c,f,h,p,d){var v,g=[f.textOffset0,f.textOffset1],y=Te(t,r,n,g,i),m=this.collisionIndex.placeCollisionBox(ke(e,y.x,y.y,a,o,this.transform.angle),c,s,l,u.predicate);if(!d||0!==this.collisionIndex.placeCollisionBox(ke(d,y.x,y.y,a,o,this.transform.angle),c,s,l,u.predicate).box.length)return m.box.length>0?(this.prevPlacement&&this.prevPlacement.variableOffsets[f.crossTileID]&&this.prevPlacement.placements[f.crossTileID]&&this.prevPlacement.placements[f.crossTileID].text&&(v=this.prevPlacement.variableOffsets[f.crossTileID].anchor),this.variableOffsets[f.crossTileID]={textOffset:g,width:r,height:n,anchor:t,textBoxScale:i,prevAnchor:v},this.markUsedJustification(h,t,f,p),h.allowVerticalPlacement&&(this.markUsedOrientation(h,p,f),this.placedOrientations[f.crossTileID]=p),{shift:y,placedGlyphBoxes:m}):void 0},Ae.prototype.placeLayerBucketPart=function(e,r,n){var i=this,a=e.parameters,o=a.bucket,s=a.layout,l=a.posMatrix,u=a.textLabelPlaneMatrix,c=a.labelToScreenMatrix,f=a.textPixelRatio,h=a.holdingForFade,p=a.collisionBoxArray,d=a.partiallyEvaluatedTextSize,v=a.collisionGroup,g=s.get("text-optional"),y=s.get("icon-optional"),m=s.get("text-allow-overlap"),x=s.get("icon-allow-overlap"),b="map"===s.get("text-rotation-alignment"),_="map"===s.get("text-pitch-alignment"),w="none"!==s.get("icon-text-fit"),T="viewport-y"===s.get("symbol-z-order"),k=m&&(x||!o.hasIconData()||y),A=x&&(m||!o.hasTextData()||g);!o.collisionArrays&&p&&o.deserializeCollisionBoxes(p);var M=function(e,a){if(!r[e.crossTileID])if(h)i.placements[e.crossTileID]=new xe(!1,!1,!1);else{var p,T=!1,M=!1,S=!0,E=null,L={box:null,offscreen:null},C={box:null,offscreen:null},P=null,O=null,I=0,D=0,z=0;a.textFeatureIndex?I=a.textFeatureIndex:e.useRuntimeCollisionCircles&&(I=e.featureIndex),a.verticalTextFeatureIndex&&(D=a.verticalTextFeatureIndex);var R=a.textBox;if(R){var F=function(r){var n=t.WritingMode.horizontal;if(o.allowVerticalPlacement&&!r&&i.prevPlacement){var a=i.prevPlacement.placedOrientations[e.crossTileID];a&&(i.placedOrientations[e.crossTileID]=a,n=a,i.markUsedOrientation(o,n,e))}return n},B=function(r,n){if(o.allowVerticalPlacement&&e.numVerticalGlyphVertices>0&&a.verticalTextBox)for(var i=0,s=o.writingModes;i<s.length&&(s[i]===t.WritingMode.vertical?(L=n(),C=L):L=r(),!(L&&L.box&&L.box.length));i+=1);else L=r()};if(s.get("text-variable-anchor")){var N=s.get("text-variable-anchor");if(i.prevPlacement&&i.prevPlacement.variableOffsets[e.crossTileID]){var j=i.prevPlacement.variableOffsets[e.crossTileID];N.indexOf(j.anchor)>0&&(N=N.filter((function(t){return t!==j.anchor}))).unshift(j.anchor)}var U=function(t,r,n){for(var a=t.x2-t.x1,s=t.y2-t.y1,u=e.textBoxScale,c=w&&!x?r:null,h={box:[],offscreen:!1},p=m?2*N.length:N.length,d=0;d<p;++d){var g=N[d%N.length],y=d>=N.length,k=i.attemptAnchorPlacement(g,t,a,s,u,b,_,f,l,v,y,e,o,n,c);if(k&&(h=k.placedGlyphBoxes)&&h.box&&h.box.length){T=!0,E=k.shift;break}}return h};B((function(){return U(R,a.iconBox,t.WritingMode.horizontal)}),(function(){var r=a.verticalTextBox,n=L&&L.box&&L.box.length;return o.allowVerticalPlacement&&!n&&e.numVerticalGlyphVertices>0&&r?U(r,a.verticalIconBox,t.WritingMode.vertical):{box:null,offscreen:null}})),L&&(T=L.box,S=L.offscreen);var V=F(L&&L.box);if(!T&&i.prevPlacement){var H=i.prevPlacement.variableOffsets[e.crossTileID];H&&(i.variableOffsets[e.crossTileID]=H,i.markUsedJustification(o,H.anchor,e,V))}}else{var q=function(t,r){var n=i.collisionIndex.placeCollisionBox(t,m,f,l,v.predicate);return n&&n.box&&n.box.length&&(i.markUsedOrientation(o,r,e),i.placedOrientations[e.crossTileID]=r),n};B((function(){return q(R,t.WritingMode.horizontal)}),(function(){var r=a.verticalTextBox;return o.allowVerticalPlacement&&e.numVerticalGlyphVertices>0&&r?q(r,t.WritingMode.vertical):{box:null,offscreen:null}})),F(L&&L.box&&L.box.length)}}if(T=(p=L)&&p.box&&p.box.length>0,S=p&&p.offscreen,e.useRuntimeCollisionCircles){var G=o.text.placedSymbolArray.get(e.centerJustifiedTextSymbolIndex),Z=t.evaluateSizeForFeature(o.textSizeData,d,G),Y=s.get("text-padding"),W=e.collisionCircleDiameter;P=i.collisionIndex.placeCollisionCircles(m,G,o.lineVertexArray,o.glyphOffsetArray,Z,l,u,c,n,_,v.predicate,W,Y),T=m||P.circles.length>0&&!P.collisionDetected,S=S&&P.offscreen}if(a.iconFeatureIndex&&(z=a.iconFeatureIndex),a.iconBox){var X=function(t){var e=w&&E?ke(t,E.x,E.y,b,_,i.transform.angle):t;return i.collisionIndex.placeCollisionBox(e,x,f,l,v.predicate)};M=C&&C.box&&C.box.length&&a.verticalIconBox?(O=X(a.verticalIconBox)).box.length>0:(O=X(a.iconBox)).box.length>0,S=S&&O.offscreen}var J=g||0===e.numHorizontalGlyphVertices&&0===e.numVerticalGlyphVertices,K=y||0===e.numIconVertices;if(J||K?K?J||(M=M&&T):T=M&&T:M=T=M&&T,T&&p&&p.box&&(C&&C.box&&D?i.collisionIndex.insertCollisionBox(p.box,s.get("text-ignore-placement"),o.bucketInstanceId,D,v.ID):i.collisionIndex.insertCollisionBox(p.box,s.get("text-ignore-placement"),o.bucketInstanceId,I,v.ID)),M&&O&&i.collisionIndex.insertCollisionBox(O.box,s.get("icon-ignore-placement"),o.bucketInstanceId,z,v.ID),P&&(T&&i.collisionIndex.insertCollisionCircles(P.circles,s.get("text-ignore-placement"),o.bucketInstanceId,I,v.ID),n)){var $=o.bucketInstanceId,Q=i.collisionCircleArrays[$];void 0===Q&&(Q=i.collisionCircleArrays[$]=new be);for(var tt=0;tt<P.circles.length;tt+=4)Q.circles.push(P.circles[tt+0]),Q.circles.push(P.circles[tt+1]),Q.circles.push(P.circles[tt+2]),Q.circles.push(P.collisionDetected?1:0)}i.placements[e.crossTileID]=new xe(T||k,M||A,S||o.justReloaded),r[e.crossTileID]=!0}};if(T)for(var S=o.getSortedSymbolIndexes(this.transform.angle),E=S.length-1;E>=0;--E){var L=S[E];M(o.symbolInstances.get(L),o.collisionArrays[L])}else for(var C=e.symbolInstanceStart;C<e.symbolInstanceEnd;C++)M(o.symbolInstances.get(C),o.collisionArrays[C]);if(n&&o.bucketInstanceId in this.collisionCircleArrays){var P=this.collisionCircleArrays[o.bucketInstanceId];t.invert(P.invProjMatrix,l),P.viewportMatrix=this.collisionIndex.getViewportMatrix()}o.justReloaded=!1},Ae.prototype.markUsedJustification=function(e,r,n,i){var a,o={left:n.leftJustifiedTextSymbolIndex,center:n.centerJustifiedTextSymbolIndex,right:n.rightJustifiedTextSymbolIndex};a=i===t.WritingMode.vertical?n.verticalPlacedTextSymbolIndex:o[t.getAnchorJustification(r)];for(var s=0,l=[n.leftJustifiedTextSymbolIndex,n.centerJustifiedTextSymbolIndex,n.rightJustifiedTextSymbolIndex,n.verticalPlacedTextSymbolIndex];s<l.length;s+=1){var u=l[s];u>=0&&(e.text.placedSymbolArray.get(u).crossTileID=a>=0&&u!==a?0:n.crossTileID)}},Ae.prototype.markUsedOrientation=function(e,r,n){for(var i=r===t.WritingMode.horizontal||r===t.WritingMode.horizontalOnly?r:0,a=r===t.WritingMode.vertical?r:0,o=0,s=[n.leftJustifiedTextSymbolIndex,n.centerJustifiedTextSymbolIndex,n.rightJustifiedTextSymbolIndex];o<s.length;o+=1){var l=s[o];e.text.placedSymbolArray.get(l).placedOrientation=i}n.verticalPlacedTextSymbolIndex&&(e.text.placedSymbolArray.get(n.verticalPlacedTextSymbolIndex).placedOrientation=a)},Ae.prototype.commit=function(t){this.commitTime=t,this.zoomAtLastRecencyCheck=this.transform.zoom;var e=this.prevPlacement,r=!1;this.prevZoomAdjustment=e?e.zoomAdjustment(this.transform.zoom):0;var n=e?e.symbolFadeChange(t):1,i=e?e.opacities:{},a=e?e.variableOffsets:{},o=e?e.placedOrientations:{};for(var s in this.placements){var l=this.placements[s],u=i[s];u?(this.opacities[s]=new me(u,n,l.text,l.icon),r=r||l.text!==u.text.placed||l.icon!==u.icon.placed):(this.opacities[s]=new me(null,n,l.text,l.icon,l.skipFade),r=r||l.text||l.icon)}for(var c in i){var f=i[c];if(!this.opacities[c]){var h=new me(f,n,!1,!1);h.isHidden()||(this.opacities[c]=h,r=r||f.text.placed||f.icon.placed)}}for(var p in a)this.variableOffsets[p]||!this.opacities[p]||this.opacities[p].isHidden()||(this.variableOffsets[p]=a[p]);for(var d in o)this.placedOrientations[d]||!this.opacities[d]||this.opacities[d].isHidden()||(this.placedOrientations[d]=o[d]);r?this.lastPlacementChangeTime=t:"number"!=typeof this.lastPlacementChangeTime&&(this.lastPlacementChangeTime=e?e.lastPlacementChangeTime:t)},Ae.prototype.updateLayerOpacities=function(t,e){for(var r={},n=0,i=e;n<i.length;n+=1){var a=i[n],o=a.getBucket(t);o&&a.latestFeatureIndex&&t.id===o.layerIds[0]&&this.updateBucketOpacities(o,r,a.collisionBoxArray)}},Ae.prototype.updateBucketOpacities=function(e,r,n){var i=this;e.hasTextData()&&e.text.opacityVertexArray.clear(),e.hasIconData()&&e.icon.opacityVertexArray.clear(),e.hasIconCollisionBoxData()&&e.iconCollisionBox.collisionVertexArray.clear(),e.hasTextCollisionBoxData()&&e.textCollisionBox.collisionVertexArray.clear();var a=e.layers[0].layout,o=new me(null,0,!1,!1,!0),s=a.get("text-allow-overlap"),l=a.get("icon-allow-overlap"),u=a.get("text-variable-anchor"),c="map"===a.get("text-rotation-alignment"),f="map"===a.get("text-pitch-alignment"),h="none"!==a.get("icon-text-fit"),p=new me(null,0,s&&(l||!e.hasIconData()||a.get("icon-optional")),l&&(s||!e.hasTextData()||a.get("text-optional")),!0);!e.collisionArrays&&n&&(e.hasIconCollisionBoxData()||e.hasTextCollisionBoxData())&&e.deserializeCollisionBoxes(n);for(var d=function(t,e,r){for(var n=0;n<e/4;n++)t.opacityVertexArray.emplaceBack(r)},v=function(n){var a=e.symbolInstances.get(n),s=a.numHorizontalGlyphVertices,l=a.numVerticalGlyphVertices,v=a.crossTileID,g=r[v],y=i.opacities[v];g?y=o:y||(y=p,i.opacities[v]=y),r[v]=!0;var m=s>0||l>0,x=a.numIconVertices>0,b=i.placedOrientations[a.crossTileID],_=b===t.WritingMode.vertical,w=b===t.WritingMode.horizontal||b===t.WritingMode.horizontalOnly;if(m){var T=De(y.text),k=_?ze:T;d(e.text,s,k);var A=w?ze:T;d(e.text,l,A);var M=y.text.isHidden();[a.rightJustifiedTextSymbolIndex,a.centerJustifiedTextSymbolIndex,a.leftJustifiedTextSymbolIndex].forEach((function(t){t>=0&&(e.text.placedSymbolArray.get(t).hidden=M||_?1:0)})),a.verticalPlacedTextSymbolIndex>=0&&(e.text.placedSymbolArray.get(a.verticalPlacedTextSymbolIndex).hidden=M||w?1:0);var S=i.variableOffsets[a.crossTileID];S&&i.markUsedJustification(e,S.anchor,a,b);var E=i.placedOrientations[a.crossTileID];E&&(i.markUsedJustification(e,"left",a,E),i.markUsedOrientation(e,E,a))}if(x){var L=De(y.icon),C=!(h&&a.verticalPlacedIconSymbolIndex&&_);if(a.placedIconSymbolIndex>=0){var P=C?L:ze;d(e.icon,a.numIconVertices,P),e.icon.placedSymbolArray.get(a.placedIconSymbolIndex).hidden=y.icon.isHidden()}if(a.verticalPlacedIconSymbolIndex>=0){var O=C?ze:L;d(e.icon,a.numVerticalIconVertices,O),e.icon.placedSymbolArray.get(a.verticalPlacedIconSymbolIndex).hidden=y.icon.isHidden()}}if(e.hasIconCollisionBoxData()||e.hasTextCollisionBoxData()){var I=e.collisionArrays[n];if(I){var D=new t.Point(0,0);if(I.textBox||I.verticalTextBox){var z=!0;if(u){var R=i.variableOffsets[v];R?(D=Te(R.anchor,R.width,R.height,R.textOffset,R.textBoxScale),c&&D._rotate(f?i.transform.angle:-i.transform.angle)):z=!1}I.textBox&&Me(e.textCollisionBox.collisionVertexArray,y.text.placed,!z||_,D.x,D.y),I.verticalTextBox&&Me(e.textCollisionBox.collisionVertexArray,y.text.placed,!z||w,D.x,D.y)}var F=Boolean(!w&&I.verticalIconBox);I.iconBox&&Me(e.iconCollisionBox.collisionVertexArray,y.icon.placed,F,h?D.x:0,h?D.y:0),I.verticalIconBox&&Me(e.iconCollisionBox.collisionVertexArray,y.icon.placed,!F,h?D.x:0,h?D.y:0)}}},g=0;g<e.symbolInstances.length;g++)v(g);if(e.sortFeatures(this.transform.angle),this.retainedQueryData[e.bucketInstanceId]&&(this.retainedQueryData[e.bucketInstanceId].featureSortOrder=e.featureSortOrder),e.hasTextData()&&e.text.opacityVertexBuffer&&e.text.opacityVertexBuffer.updateData(e.text.opacityVertexArray),e.hasIconData()&&e.icon.opacityVertexBuffer&&e.icon.opacityVertexBuffer.updateData(e.icon.opacityVertexArray),e.hasIconCollisionBoxData()&&e.iconCollisionBox.collisionVertexBuffer&&e.iconCollisionBox.collisionVertexBuffer.updateData(e.iconCollisionBox.collisionVertexArray),e.hasTextCollisionBoxData()&&e.textCollisionBox.collisionVertexBuffer&&e.textCollisionBox.collisionVertexBuffer.updateData(e.textCollisionBox.collisionVertexArray),e.bucketInstanceId in this.collisionCircleArrays){var y=this.collisionCircleArrays[e.bucketInstanceId];e.placementInvProjMatrix=y.invProjMatrix,e.placementViewportMatrix=y.viewportMatrix,e.collisionCircleArray=y.circles,delete this.collisionCircleArrays[e.bucketInstanceId]}},Ae.prototype.symbolFadeChange=function(t){return 0===this.fadeDuration?1:(t-this.commitTime)/this.fadeDuration+this.prevZoomAdjustment},Ae.prototype.zoomAdjustment=function(t){return Math.max(0,(this.transform.zoom-t)/1.5)},Ae.prototype.hasTransitions=function(t){return this.stale||t-this.lastPlacementChangeTime<this.fadeDuration},Ae.prototype.stillRecent=function(t,e){var r=this.zoomAtLastRecencyCheck===e?1-this.zoomAdjustment(e):1;return this.zoomAtLastRecencyCheck=e,this.commitTime+this.fadeDuration*r>t},Ae.prototype.setStale=function(){this.stale=!0};var Se=Math.pow(2,25),Ee=Math.pow(2,24),Le=Math.pow(2,17),Ce=Math.pow(2,16),Pe=Math.pow(2,9),Oe=Math.pow(2,8),Ie=Math.pow(2,1);function De(t){if(0===t.opacity&&!t.placed)return 0;if(1===t.opacity&&t.placed)return 4294967295;var e=t.placed?1:0,r=Math.floor(127*t.opacity);return r*Se+e*Ee+r*Le+e*Ce+r*Pe+e*Oe+r*Ie+e}var ze=0,Re=function(t){this._sortAcrossTiles="viewport-y"!==t.layout.get("symbol-z-order")&&void 0!==t.layout.get("symbol-sort-key").constantOr(1),this._currentTileIndex=0,this._currentPartIndex=0,this._seenCrossTileIDs={},this._bucketParts=[]};Re.prototype.continuePlacement=function(t,e,r,n,i){for(var a=this._bucketParts;this._currentTileIndex<t.length;){var o=t[this._currentTileIndex];if(e.getBucketParts(a,n,o,this._sortAcrossTiles),this._currentTileIndex++,i())return!0}for(this._sortAcrossTiles&&(this._sortAcrossTiles=!1,a.sort((function(t,e){return t.sortKey-e.sortKey})));this._currentPartIndex<a.length;){var s=a[this._currentPartIndex];if(e.placeLayerBucketPart(s,this._seenCrossTileIDs,r),this._currentPartIndex++,i())return!0}return!1};var Fe=function(t,e,r,n,i,a,o){this.placement=new Ae(t,i,a,o),this._currentPlacementIndex=e.length-1,this._forceFullPlacement=r,this._showCollisionBoxes=n,this._done=!1};Fe.prototype.isDone=function(){return this._done},Fe.prototype.continuePlacement=function(e,r,n){for(var i=this,a=t.browser.now(),o=function(){var e=t.browser.now()-a;return!i._forceFullPlacement&&e>2};this._currentPlacementIndex>=0;){var s=r[e[this._currentPlacementIndex]],l=this.placement.collisionIndex.transform.zoom;if("symbol"===s.type&&(!s.minzoom||s.minzoom<=l)&&(!s.maxzoom||s.maxzoom>l)){if(this._inProgressLayer||(this._inProgressLayer=new Re(s)),this._inProgressLayer.continuePlacement(n[s.source],this.placement,this._showCollisionBoxes,s,o))return;delete this._inProgressLayer}this._currentPlacementIndex--}this._done=!0},Fe.prototype.commit=function(t){return this.placement.commit(t),this.placement};var Be=512/t.EXTENT/2,Ne=function(t,e,r){this.tileID=t,this.indexedSymbolInstances={},this.bucketInstanceId=r;for(var n=0;n<e.length;n++){var i=e.get(n),a=i.key;this.indexedSymbolInstances[a]||(this.indexedSymbolInstances[a]=[]),this.indexedSymbolInstances[a].push({crossTileID:i.crossTileID,coord:this.getScaledCoordinates(i,t)})}};Ne.prototype.getScaledCoordinates=function(e,r){var n=r.canonical.z-this.tileID.canonical.z,i=Be/Math.pow(2,n);return{x:Math.floor((r.canonical.x*t.EXTENT+e.anchorX)*i),y:Math.floor((r.canonical.y*t.EXTENT+e.anchorY)*i)}},Ne.prototype.findMatches=function(t,e,r){for(var n=this.tileID.canonical.z<e.canonical.z?1:Math.pow(2,this.tileID.canonical.z-e.canonical.z),i=0;i<t.length;i++){var a=t.get(i);if(!a.crossTileID){var o=this.indexedSymbolInstances[a.key];if(o)for(var s=this.getScaledCoordinates(a,e),l=0,u=o;l<u.length;l+=1){var c=u[l];if(Math.abs(c.coord.x-s.x)<=n&&Math.abs(c.coord.y-s.y)<=n&&!r[c.crossTileID]){r[c.crossTileID]=!0,a.crossTileID=c.crossTileID;break}}}}};var je=function(){this.maxCrossTileID=0};je.prototype.generate=function(){return++this.maxCrossTileID};var Ue=function(){this.indexes={},this.usedCrossTileIDs={},this.lng=0};Ue.prototype.handleWrapJump=function(t){var e=Math.round((t-this.lng)/360);if(0!==e)for(var r in this.indexes){var n=this.indexes[r],i={};for(var a in n){var o=n[a];o.tileID=o.tileID.unwrapTo(o.tileID.wrap+e),i[o.tileID.key]=o}this.indexes[r]=i}this.lng=t},Ue.prototype.addBucket=function(t,e,r){if(this.indexes[t.overscaledZ]&&this.indexes[t.overscaledZ][t.key]){if(this.indexes[t.overscaledZ][t.key].bucketInstanceId===e.bucketInstanceId)return!1;this.removeBucketCrossTileIDs(t.overscaledZ,this.indexes[t.overscaledZ][t.key])}for(var n=0;n<e.symbolInstances.length;n++)e.symbolInstances.get(n).crossTileID=0;this.usedCrossTileIDs[t.overscaledZ]||(this.usedCrossTileIDs[t.overscaledZ]={});var i=this.usedCrossTileIDs[t.overscaledZ];for(var a in this.indexes){var o=this.indexes[a];if(Number(a)>t.overscaledZ)for(var s in o){var l=o[s];l.tileID.isChildOf(t)&&l.findMatches(e.symbolInstances,t,i)}else{var u=o[t.scaledTo(Number(a)).key];u&&u.findMatches(e.symbolInstances,t,i)}}for(var c=0;c<e.symbolInstances.length;c++){var f=e.symbolInstances.get(c);f.crossTileID||(f.crossTileID=r.generate(),i[f.crossTileID]=!0)}return void 0===this.indexes[t.overscaledZ]&&(this.indexes[t.overscaledZ]={}),this.indexes[t.overscaledZ][t.key]=new Ne(t,e.symbolInstances,e.bucketInstanceId),!0},Ue.prototype.removeBucketCrossTileIDs=function(t,e){for(var r in e.indexedSymbolInstances)for(var n=0,i=e.indexedSymbolInstances[r];n<i.length;n+=1){var a=i[n];delete this.usedCrossTileIDs[t][a.crossTileID]}},Ue.prototype.removeStaleBuckets=function(t){var e=!1;for(var r in this.indexes){var n=this.indexes[r];for(var i in n)t[n[i].bucketInstanceId]||(this.removeBucketCrossTileIDs(r,n[i]),delete n[i],e=!0)}return e};var Ve=function(){this.layerIndexes={},this.crossTileIDs=new je,this.maxBucketInstanceId=0,this.bucketsInCurrentPlacement={}};Ve.prototype.addLayer=function(t,e,r){var n=this.layerIndexes[t.id];void 0===n&&(n=this.layerIndexes[t.id]=new Ue);var i=!1,a={};n.handleWrapJump(r);for(var o=0,s=e;o<s.length;o+=1){var l=s[o],u=l.getBucket(t);u&&t.id===u.layerIds[0]&&(u.bucketInstanceId||(u.bucketInstanceId=++this.maxBucketInstanceId),n.addBucket(l.tileID,u,this.crossTileIDs)&&(i=!0),a[u.bucketInstanceId]=!0)}return n.removeStaleBuckets(a)&&(i=!0),i},Ve.prototype.pruneUnusedLayers=function(t){var e={};for(var r in t.forEach((function(t){e[t]=!0})),this.layerIndexes)e[r]||delete this.layerIndexes[r]};var He=function(e,r){return t.emitValidationErrors(e,r&&r.filter((function(t){return"source.canvas"!==t.identifier})))},qe=t.pick(Ht,["addLayer","removeLayer","setPaintProperty","setLayoutProperty","setFilter","addSource","removeSource","setLayerZoomRange","setLight","setTransition","setGeoJSONSourceData"]),Ge=t.pick(Ht,["setCenter","setZoom","setBearing","setPitch"]),Ze=function(){var e={},r=t.styleSpec.$version;for(var n in t.styleSpec.$root){var i=t.styleSpec.$root[n];if(i.required){var a;null!=(a="version"===n?r:"array"===i.type?[]:{})&&(e[n]=a)}}return e}(),Ye=function(e){function r(n,i){var a=this;void 0===i&&(i={}),e.call(this),this.map=n,this.dispatcher=new A(jt(),this),this.imageManager=new h,this.imageManager.setEventedParent(this),this.glyphManager=new x(n._requestManager,i.localIdeographFontFamily),this.lineAtlas=new k(256,512),this.crossTileSymbolIndex=new Ve,this._layers={},this._serializedLayers={},this._order=[],this.sourceCaches={},this.zoomHistory=new t.ZoomHistory,this._loaded=!1,this._availableImages=[],this._resetUpdates(),this.dispatcher.broadcast("setReferrer",t.getReferrer());var o=this;this._rtlTextPluginCallback=r.registerForPluginStateChange((function(e){var r={pluginStatus:e.pluginStatus,pluginURL:e.pluginURL};o.dispatcher.broadcast("syncRTLPluginState",r,(function(e,r){if(t.triggerPluginCompletionEvent(e),r&&r.every((function(t){return t})))for(var n in o.sourceCaches)o.sourceCaches[n].reload()}))})),this.on("data",(function(t){if("source"===t.dataType&&"metadata"===t.sourceDataType){var e=a.sourceCaches[t.sourceId];if(e){var r=e.getSource();if(r&&r.vectorLayerIds)for(var n in a._layers){var i=a._layers[n];i.source===r.id&&a._validateLayer(i)}}}}))}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.loadURL=function(e,r){var n=this;void 0===r&&(r={}),this.fire(new t.Event("dataloading",{dataType:"style"}));var i="boolean"==typeof r.validate?r.validate:!t.isMapboxURL(e);e=this.map._requestManager.normalizeStyleURL(e,r.accessToken);var a=this.map._requestManager.transformRequest(e,t.ResourceType.Style);this._request=t.getJSON(a,(function(e,r){n._request=null,e?n.fire(new t.ErrorEvent(e)):r&&n._load(r,i)}))},r.prototype.loadJSON=function(e,r){var n=this;void 0===r&&(r={}),this.fire(new t.Event("dataloading",{dataType:"style"})),this._request=t.browser.frame((function(){n._request=null,n._load(e,!1!==r.validate)}))},r.prototype.loadEmpty=function(){this.fire(new t.Event("dataloading",{dataType:"style"})),this._load(Ze,!1)},r.prototype._load=function(e,r){if(!r||!He(this,t.validateStyle(e))){for(var n in this._loaded=!0,this.stylesheet=e,e.sources)this.addSource(n,e.sources[n],{validate:!1});e.sprite?this._loadSprite(e.sprite):this.imageManager.setLoaded(!0),this.glyphManager.setURL(e.glyphs);var i=Vt(this.stylesheet.layers);this._order=i.map((function(t){return t.id})),this._layers={},this._serializedLayers={};for(var a=0,o=i;a<o.length;a+=1){var s=o[a];(s=t.createStyleLayer(s)).setEventedParent(this,{layer:{id:s.id}}),this._layers[s.id]=s,this._serializedLayers[s.id]=s.serialize()}this.dispatcher.broadcast("setLayers",this._serializeLayers(this._order)),this.light=new T(this.stylesheet.light),this.fire(new t.Event("data",{dataType:"style"})),this.fire(new t.Event("style.load"))}},r.prototype._loadSprite=function(e){var r=this;this._spriteRequest=function(e,r,n){var i,a,o,s=t.browser.devicePixelRatio>1?"@2x":"",l=t.getJSON(r.transformRequest(r.normalizeSpriteURL(e,s,".json"),t.ResourceType.SpriteJSON),(function(t,e){l=null,o||(o=t,i=e,c())})),u=t.getImage(r.transformRequest(r.normalizeSpriteURL(e,s,".png"),t.ResourceType.SpriteImage),(function(t,e){u=null,o||(o=t,a=e,c())}));function c(){if(o)n(o);else if(i&&a){var e=t.browser.getImageData(a),r={};for(var s in i){var l=i[s],u=l.width,c=l.height,f=l.x,h=l.y,p=l.sdf,d=l.pixelRatio,v=l.stretchX,g=l.stretchY,y=l.content,m=new t.RGBAImage({width:u,height:c});t.RGBAImage.copy(e,m,{x:f,y:h},{x:0,y:0},{width:u,height:c}),r[s]={data:m,pixelRatio:d,sdf:p,stretchX:v,stretchY:g,content:y}}n(null,r)}}return{cancel:function(){l&&(l.cancel(),l=null),u&&(u.cancel(),u=null)}}}(e,this.map._requestManager,(function(e,n){if(r._spriteRequest=null,e)r.fire(new t.ErrorEvent(e));else if(n)for(var i in n)r.imageManager.addImage(i,n[i]);r.imageManager.setLoaded(!0),r._availableImages=r.imageManager.listImages(),r.dispatcher.broadcast("setImages",r._availableImages),r.fire(new t.Event("data",{dataType:"style"}))}))},r.prototype._validateLayer=function(e){var r=this.sourceCaches[e.source];if(r){var n=e.sourceLayer;if(n){var i=r.getSource();("geojson"===i.type||i.vectorLayerIds&&-1===i.vectorLayerIds.indexOf(n))&&this.fire(new t.ErrorEvent(new Error('Source layer "'+n+'" does not exist on source "'+i.id+'" as specified by style layer "'+e.id+'"')))}}},r.prototype.loaded=function(){if(!this._loaded)return!1;if(Object.keys(this._updatedSources).length)return!1;for(var t in this.sourceCaches)if(!this.sourceCaches[t].loaded())return!1;return!!this.imageManager.isLoaded()},r.prototype._serializeLayers=function(t){for(var e=[],r=0,n=t;r<n.length;r+=1){var i=n[r],a=this._layers[i];"custom"!==a.type&&e.push(a.serialize())}return e},r.prototype.hasTransitions=function(){if(this.light&&this.light.hasTransition())return!0;for(var t in this.sourceCaches)if(this.sourceCaches[t].hasTransition())return!0;for(var e in this._layers)if(this._layers[e].hasTransition())return!0;return!1},r.prototype._checkLoaded=function(){if(!this._loaded)throw new Error("Style is not done loading")},r.prototype.update=function(e){if(this._loaded){var r=this._changed;if(this._changed){var n=Object.keys(this._updatedLayers),i=Object.keys(this._removedLayers);for(var a in(n.length||i.length)&&this._updateWorkerLayers(n,i),this._updatedSources){var o=this._updatedSources[a];"reload"===o?this._reloadSource(a):"clear"===o&&this._clearSource(a)}for(var s in this._updateTilesForChangedImages(),this._updatedPaintProps)this._layers[s].updateTransitions(e);this.light.updateTransitions(e),this._resetUpdates()}for(var l in this.sourceCaches)this.sourceCaches[l].used=!1;for(var u=0,c=this._order;u<c.length;u+=1){var f=c[u],h=this._layers[f];h.recalculate(e,this._availableImages),!h.isHidden(e.zoom)&&h.source&&(this.sourceCaches[h.source].used=!0)}this.light.recalculate(e),this.z=e.zoom,r&&this.fire(new t.Event("data",{dataType:"style"}))}},r.prototype._updateTilesForChangedImages=function(){var t=Object.keys(this._changedImages);if(t.length){for(var e in this.sourceCaches)this.sourceCaches[e].reloadTilesForDependencies(["icons","patterns"],t);this._changedImages={}}},r.prototype._updateWorkerLayers=function(t,e){this.dispatcher.broadcast("updateLayers",{layers:this._serializeLayers(t),removedIds:e})},r.prototype._resetUpdates=function(){this._changed=!1,this._updatedLayers={},this._removedLayers={},this._updatedSources={},this._updatedPaintProps={},this._changedImages={}},r.prototype.setState=function(e){var r=this;if(this._checkLoaded(),He(this,t.validateStyle(e)))return!1;(e=t.clone$1(e)).layers=Vt(e.layers);var n=Kt(this.serialize(),e).filter((function(t){return!(t.command in Ge)}));if(0===n.length)return!1;var i=n.filter((function(t){return!(t.command in qe)}));if(i.length>0)throw new Error("Unimplemented: "+i.map((function(t){return t.command})).join(", ")+".");return n.forEach((function(t){"setTransition"!==t.command&&r[t.command].apply(r,t.args)})),this.stylesheet=e,!0},r.prototype.addImage=function(e,r){if(this.getImage(e))return this.fire(new t.ErrorEvent(new Error("An image with this name already exists.")));this.imageManager.addImage(e,r),this._availableImages=this.imageManager.listImages(),this._changedImages[e]=!0,this._changed=!0,this.fire(new t.Event("data",{dataType:"style"}))},r.prototype.updateImage=function(t,e){this.imageManager.updateImage(t,e)},r.prototype.getImage=function(t){return this.imageManager.getImage(t)},r.prototype.removeImage=function(e){if(!this.getImage(e))return this.fire(new t.ErrorEvent(new Error("No image with this name exists.")));this.imageManager.removeImage(e),this._availableImages=this.imageManager.listImages(),this._changedImages[e]=!0,this._changed=!0,this.fire(new t.Event("data",{dataType:"style"}))},r.prototype.listImages=function(){return this._checkLoaded(),this.imageManager.listImages()},r.prototype.addSource=function(e,r,n){var i=this;if(void 0===n&&(n={}),this._checkLoaded(),void 0!==this.sourceCaches[e])throw new Error("There is already a source with this ID");if(!r.type)throw new Error("The type property must be defined, but the only the following properties were given: "+Object.keys(r).join(", ")+".");if(!(["vector","raster","geojson","video","image"].indexOf(r.type)>=0&&this._validate(t.validateStyle.source,"sources."+e,r,null,n))){this.map&&this.map._collectResourceTiming&&(r.collectResourceTiming=!0);var a=this.sourceCaches[e]=new Ot(e,r,this.dispatcher);a.style=this,a.setEventedParent(this,(function(){return{isSourceLoaded:i.loaded(),source:a.serialize(),sourceId:e}})),a.onAdd(this.map),this._changed=!0}},r.prototype.removeSource=function(e){if(this._checkLoaded(),void 0===this.sourceCaches[e])throw new Error("There is no source with this ID");for(var r in this._layers)if(this._layers[r].source===e)return this.fire(new t.ErrorEvent(new Error('Source "'+e+'" cannot be removed while layer "'+r+'" is using it.')));var n=this.sourceCaches[e];delete this.sourceCaches[e],delete this._updatedSources[e],n.fire(new t.Event("data",{sourceDataType:"metadata",dataType:"source",sourceId:e})),n.setEventedParent(null),n.clearTiles(),n.onRemove&&n.onRemove(this.map),this._changed=!0},r.prototype.setGeoJSONSourceData=function(t,e){this._checkLoaded(),this.sourceCaches[t].getSource().setData(e),this._changed=!0},r.prototype.getSource=function(t){return this.sourceCaches[t]&&this.sourceCaches[t].getSource()},r.prototype.addLayer=function(e,r,n){void 0===n&&(n={}),this._checkLoaded();var i=e.id;if(this.getLayer(i))this.fire(new t.ErrorEvent(new Error('Layer with id "'+i+'" already exists on this map')));else{var a;if("custom"===e.type){if(He(this,t.validateCustomStyleLayer(e)))return;a=t.createStyleLayer(e)}else{if("object"==typeof e.source&&(this.addSource(i,e.source),e=t.clone$1(e),e=t.extend(e,{source:i})),this._validate(t.validateStyle.layer,"layers."+i,e,{arrayIndex:-1},n))return;a=t.createStyleLayer(e),this._validateLayer(a),a.setEventedParent(this,{layer:{id:i}}),this._serializedLayers[a.id]=a.serialize()}var o=r?this._order.indexOf(r):this._order.length;if(r&&-1===o)this.fire(new t.ErrorEvent(new Error('Layer with id "'+r+'" does not exist on this map.')));else{if(this._order.splice(o,0,i),this._layerOrderChanged=!0,this._layers[i]=a,this._removedLayers[i]&&a.source&&"custom"!==a.type){var s=this._removedLayers[i];delete this._removedLayers[i],s.type!==a.type?this._updatedSources[a.source]="clear":(this._updatedSources[a.source]="reload",this.sourceCaches[a.source].pause())}this._updateLayer(a),a.onAdd&&a.onAdd(this.map)}}},r.prototype.moveLayer=function(e,r){if(this._checkLoaded(),this._changed=!0,this._layers[e]){if(e!==r){var n=this._order.indexOf(e);this._order.splice(n,1);var i=r?this._order.indexOf(r):this._order.length;r&&-1===i?this.fire(new t.ErrorEvent(new Error('Layer with id "'+r+'" does not exist on this map.'))):(this._order.splice(i,0,e),this._layerOrderChanged=!0)}}else this.fire(new t.ErrorEvent(new Error("The layer '"+e+"' does not exist in the map's style and cannot be moved.")))},r.prototype.removeLayer=function(e){this._checkLoaded();var r=this._layers[e];if(r){r.setEventedParent(null);var n=this._order.indexOf(e);this._order.splice(n,1),this._layerOrderChanged=!0,this._changed=!0,this._removedLayers[e]=r,delete this._layers[e],delete this._serializedLayers[e],delete this._updatedLayers[e],delete this._updatedPaintProps[e],r.onRemove&&r.onRemove(this.map)}else this.fire(new t.ErrorEvent(new Error("The layer '"+e+"' does not exist in the map's style and cannot be removed.")))},r.prototype.getLayer=function(t){return this._layers[t]},r.prototype.hasLayer=function(t){return t in this._layers},r.prototype.setLayerZoomRange=function(e,r,n){this._checkLoaded();var i=this.getLayer(e);i?i.minzoom===r&&i.maxzoom===n||(null!=r&&(i.minzoom=r),null!=n&&(i.maxzoom=n),this._updateLayer(i)):this.fire(new t.ErrorEvent(new Error("The layer '"+e+"' does not exist in the map's style and cannot have zoom extent.")))},r.prototype.setFilter=function(e,r,n){void 0===n&&(n={}),this._checkLoaded();var i=this.getLayer(e);if(i){if(!t.deepEqual(i.filter,r))return null==r?(i.filter=void 0,void this._updateLayer(i)):void(this._validate(t.validateStyle.filter,"layers."+i.id+".filter",r,null,n)||(i.filter=t.clone$1(r),this._updateLayer(i)))}else this.fire(new t.ErrorEvent(new Error("The layer '"+e+"' does not exist in the map's style and cannot be filtered.")))},r.prototype.getFilter=function(e){return t.clone$1(this.getLayer(e).filter)},r.prototype.setLayoutProperty=function(e,r,n,i){void 0===i&&(i={}),this._checkLoaded();var a=this.getLayer(e);a?t.deepEqual(a.getLayoutProperty(r),n)||(a.setLayoutProperty(r,n,i),this._updateLayer(a)):this.fire(new t.ErrorEvent(new Error("The layer '"+e+"' does not exist in the map's style and cannot be styled.")))},r.prototype.getLayoutProperty=function(e,r){var n=this.getLayer(e);if(n)return n.getLayoutProperty(r);this.fire(new t.ErrorEvent(new Error("The layer '"+e+"' does not exist in the map's style.")))},r.prototype.setPaintProperty=function(e,r,n,i){void 0===i&&(i={}),this._checkLoaded();var a=this.getLayer(e);a?t.deepEqual(a.getPaintProperty(r),n)||(a.setPaintProperty(r,n,i)&&this._updateLayer(a),this._changed=!0,this._updatedPaintProps[e]=!0):this.fire(new t.ErrorEvent(new Error("The layer '"+e+"' does not exist in the map's style and cannot be styled.")))},r.prototype.getPaintProperty=function(t,e){return this.getLayer(t).getPaintProperty(e)},r.prototype.setFeatureState=function(e,r){this._checkLoaded();var n=e.source,i=e.sourceLayer,a=this.sourceCaches[n];if(void 0!==a){var o=a.getSource().type;"geojson"===o&&i?this.fire(new t.ErrorEvent(new Error("GeoJSON sources cannot have a sourceLayer parameter."))):"vector"!==o||i?(void 0===e.id&&this.fire(new t.ErrorEvent(new Error("The feature id parameter must be provided."))),a.setFeatureState(i,e.id,r)):this.fire(new t.ErrorEvent(new Error("The sourceLayer parameter must be provided for vector source types.")))}else this.fire(new t.ErrorEvent(new Error("The source '"+n+"' does not exist in the map's style.")))},r.prototype.removeFeatureState=function(e,r){this._checkLoaded();var n=e.source,i=this.sourceCaches[n];if(void 0!==i){var a=i.getSource().type,o="vector"===a?e.sourceLayer:void 0;"vector"!==a||o?r&&"string"!=typeof e.id&&"number"!=typeof e.id?this.fire(new t.ErrorEvent(new Error("A feature id is requred to remove its specific state property."))):i.removeFeatureState(o,e.id,r):this.fire(new t.ErrorEvent(new Error("The sourceLayer parameter must be provided for vector source types.")))}else this.fire(new t.ErrorEvent(new Error("The source '"+n+"' does not exist in the map's style.")))},r.prototype.getFeatureState=function(e){this._checkLoaded();var r=e.source,n=e.sourceLayer,i=this.sourceCaches[r];if(void 0!==i){if("vector"!==i.getSource().type||n)return void 0===e.id&&this.fire(new t.ErrorEvent(new Error("The feature id parameter must be provided."))),i.getFeatureState(n,e.id);this.fire(new t.ErrorEvent(new Error("The sourceLayer parameter must be provided for vector source types.")))}else this.fire(new t.ErrorEvent(new Error("The source '"+r+"' does not exist in the map's style.")))},r.prototype.getTransition=function(){return t.extend({duration:300,delay:0},this.stylesheet&&this.stylesheet.transition)},r.prototype.serialize=function(){return t.filterObject({version:this.stylesheet.version,name:this.stylesheet.name,metadata:this.stylesheet.metadata,light:this.stylesheet.light,center:this.stylesheet.center,zoom:this.stylesheet.zoom,bearing:this.stylesheet.bearing,pitch:this.stylesheet.pitch,sprite:this.stylesheet.sprite,glyphs:this.stylesheet.glyphs,transition:this.stylesheet.transition,sources:t.mapObject(this.sourceCaches,(function(t){return t.serialize()})),layers:this._serializeLayers(this._order)},(function(t){return void 0!==t}))},r.prototype._updateLayer=function(t){this._updatedLayers[t.id]=!0,t.source&&!this._updatedSources[t.source]&&"raster"!==this.sourceCaches[t.source].getSource().type&&(this._updatedSources[t.source]="reload",this.sourceCaches[t.source].pause()),this._changed=!0},r.prototype._flattenAndSortRenderedFeatures=function(t){for(var e=this,r=function(t){return"fill-extrusion"===e._layers[t].type},n={},i=[],a=this._order.length-1;a>=0;a--){var o=this._order[a];if(r(o)){n[o]=a;for(var s=0,l=t;s<l.length;s+=1){var u=l[s][o];if(u)for(var c=0,f=u;c<f.length;c+=1){var h=f[c];i.push(h)}}}}i.sort((function(t,e){return e.intersectionZ-t.intersectionZ}));for(var p=[],d=this._order.length-1;d>=0;d--){var v=this._order[d];if(r(v))for(var g=i.length-1;g>=0;g--){var y=i[g].feature;if(n[y.layer.id]<d)break;p.push(y),i.pop()}else for(var m=0,x=t;m<x.length;m+=1){var b=x[m][v];if(b)for(var _=0,w=b;_<w.length;_+=1){var T=w[_];p.push(T.feature)}}}return p},r.prototype.queryRenderedFeatures=function(e,r,n){r&&r.filter&&this._validate(t.validateStyle.filter,"queryRenderedFeatures.filter",r.filter,null,r);var i={};if(r&&r.layers){if(!Array.isArray(r.layers))return this.fire(new t.ErrorEvent(new Error("parameters.layers must be an Array."))),[];for(var a=0,o=r.layers;a<o.length;a+=1){var s=o[a],l=this._layers[s];if(!l)return this.fire(new t.ErrorEvent(new Error("The layer '"+s+"' does not exist in the map's style and cannot be queried for features."))),[];i[l.source]=!0}}var u=[];for(var c in r.availableImages=this._availableImages,this.sourceCaches)r.layers&&!i[c]||u.push(B(this.sourceCaches[c],this._layers,this._serializedLayers,e,r,n));return this.placement&&u.push(function(t,e,r,n,i,a,o){for(var s={},l=a.queryRenderedSymbols(n),u=[],c=0,f=Object.keys(l).map(Number);c<f.length;c+=1){var h=f[c];u.push(o[h])}u.sort(N);for(var p=function(){var r=v[d],n=r.featureIndex.lookupSymbolFeatures(l[r.bucketInstanceId],e,r.bucketIndex,r.sourceLayerIndex,i.filter,i.layers,i.availableImages,t);for(var a in n){var o=s[a]=s[a]||[],u=n[a];u.sort((function(t,e){var n=r.featureSortOrder;if(n){var i=n.indexOf(t.featureIndex);return n.indexOf(e.featureIndex)-i}return e.featureIndex-t.featureIndex}));for(var c=0,f=u;c<f.length;c+=1){var h=f[c];o.push(h)}}},d=0,v=u;d<v.length;d+=1)p();var g=function(e){s[e].forEach((function(n){var i=n.feature,a=t[e],o=r[a.source].getFeatureState(i.layer["source-layer"],i.id);i.source=i.layer.source,i.layer["source-layer"]&&(i.sourceLayer=i.layer["source-layer"]),i.state=o}))};for(var y in s)g(y);return s}(this._layers,this._serializedLayers,this.sourceCaches,e,r,this.placement.collisionIndex,this.placement.retainedQueryData)),this._flattenAndSortRenderedFeatures(u)},r.prototype.querySourceFeatures=function(e,r){r&&r.filter&&this._validate(t.validateStyle.filter,"querySourceFeatures.filter",r.filter,null,r);var n=this.sourceCaches[e];return n?function(t,e){for(var r=t.getRenderableIds().map((function(e){return t.getTileByID(e)})),n=[],i={},a=0;a<r.length;a++){var o=r[a],s=o.tileID.canonical.key;i[s]||(i[s]=!0,o.querySourceFeatures(n,e))}return n}(n,r):[]},r.prototype.addSourceType=function(t,e,n){return r.getSourceType(t)?n(new Error('A source type called "'+t+'" already exists.')):(r.setSourceType(t,e),e.workerSourceURL?void this.dispatcher.broadcast("loadWorkerSource",{name:t,url:e.workerSourceURL},n):n(null,null))},r.prototype.getLight=function(){return this.light.getLight()},r.prototype.setLight=function(e,r){void 0===r&&(r={}),this._checkLoaded();var n=this.light.getLight(),i=!1;for(var a in e)if(!t.deepEqual(e[a],n[a])){i=!0;break}if(i){var o={now:t.browser.now(),transition:t.extend({duration:300,delay:0},this.stylesheet.transition)};this.light.setLight(e,r),this.light.updateTransitions(o)}},r.prototype._validate=function(e,r,n,i,a){return void 0===a&&(a={}),(!a||!1!==a.validate)&&He(this,e.call(t.validateStyle,t.extend({key:r,style:this.serialize(),value:n,styleSpec:t.styleSpec},i)))},r.prototype._remove=function(){for(var e in this._request&&(this._request.cancel(),this._request=null),this._spriteRequest&&(this._spriteRequest.cancel(),this._spriteRequest=null),t.evented.off("pluginStateChange",this._rtlTextPluginCallback),this._layers)this._layers[e].setEventedParent(null);for(var r in this.sourceCaches)this.sourceCaches[r].clearTiles(),this.sourceCaches[r].setEventedParent(null);this.imageManager.setEventedParent(null),this.setEventedParent(null),this.dispatcher.remove()},r.prototype._clearSource=function(t){this.sourceCaches[t].clearTiles()},r.prototype._reloadSource=function(t){this.sourceCaches[t].resume(),this.sourceCaches[t].reload()},r.prototype._updateSources=function(t){for(var e in this.sourceCaches)this.sourceCaches[e].update(t)},r.prototype._generateCollisionBoxes=function(){for(var t in this.sourceCaches)this._reloadSource(t)},r.prototype._updatePlacement=function(e,r,n,i,a){void 0===a&&(a=!1);for(var o=!1,s=!1,l={},u=0,c=this._order;u<c.length;u+=1){var f=c[u],h=this._layers[f];if("symbol"===h.type){if(!l[h.source]){var p=this.sourceCaches[h.source];l[h.source]=p.getRenderableIds(!0).map((function(t){return p.getTileByID(t)})).sort((function(t,e){return e.tileID.overscaledZ-t.tileID.overscaledZ||(t.tileID.isLessThan(e.tileID)?-1:1)}))}var d=this.crossTileSymbolIndex.addLayer(h,l[h.source],e.center.lng);o=o||d}}if(this.crossTileSymbolIndex.pruneUnusedLayers(this._order),((a=a||this._layerOrderChanged||0===n)||!this.pauseablePlacement||this.pauseablePlacement.isDone()&&!this.placement.stillRecent(t.browser.now(),e.zoom))&&(this.pauseablePlacement=new Fe(e,this._order,a,r,n,i,this.placement),this._layerOrderChanged=!1),this.pauseablePlacement.isDone()?this.placement.setStale():(this.pauseablePlacement.continuePlacement(this._order,this._layers,l),this.pauseablePlacement.isDone()&&(this.placement=this.pauseablePlacement.commit(t.browser.now()),s=!0),o&&this.pauseablePlacement.placement.setStale()),s||o)for(var v=0,g=this._order;v<g.length;v+=1){var y=g[v],m=this._layers[y];"symbol"===m.type&&this.placement.updateLayerOpacities(m,l[m.source])}return!this.pauseablePlacement.isDone()||this.placement.hasTransitions(t.browser.now())},r.prototype._releaseSymbolFadeTiles=function(){for(var t in this.sourceCaches)this.sourceCaches[t].releaseSymbolFadeTiles()},r.prototype.getImages=function(t,e,r){this.imageManager.getImages(e.icons,r),this._updateTilesForChangedImages();var n=this.sourceCaches[e.source];n&&n.setDependencies(e.tileID.key,e.type,e.icons)},r.prototype.getGlyphs=function(t,e,r){this.glyphManager.getGlyphs(e.stacks,r)},r.prototype.getResource=function(e,r,n){return t.makeRequest(r,n)},r}(t.Evented);Ye.getSourceType=function(t){return R[t]},Ye.setSourceType=function(t,e){R[t]=e},Ye.registerForPluginStateChange=t.registerForPluginStateChange;var We=t.createLayout([{name:"a_pos",type:"Int16",components:2}]),Xe=_r("#ifdef GL_ES\nprecision mediump float;\n#else\n#if !defined(lowp)\n#define lowp\n#endif\n#if !defined(mediump)\n#define mediump\n#endif\n#if !defined(highp)\n#define highp\n#endif\n#endif","#ifdef GL_ES\nprecision highp float;\n#else\n#if !defined(lowp)\n#define lowp\n#endif\n#if !defined(mediump)\n#define mediump\n#endif\n#if !defined(highp)\n#define highp\n#endif\n#endif\nvec2 unpack_float(const float packedValue) {int packedIntValue=int(packedValue);int v0=packedIntValue/256;return vec2(v0,packedIntValue-v0*256);}vec2 unpack_opacity(const float packedOpacity) {int intOpacity=int(packedOpacity)/2;return vec2(float(intOpacity)/127.0,mod(packedOpacity,2.0));}vec4 decode_color(const vec2 encodedColor) {return vec4(unpack_float(encodedColor[0])/255.0,unpack_float(encodedColor[1])/255.0\n);}float unpack_mix_vec2(const vec2 packedValue,const float t) {return mix(packedValue[0],packedValue[1],t);}vec4 unpack_mix_color(const vec4 packedColors,const float t) {vec4 minColor=decode_color(vec2(packedColors[0],packedColors[1]));vec4 maxColor=decode_color(vec2(packedColors[2],packedColors[3]));return mix(minColor,maxColor,t);}vec2 get_pattern_pos(const vec2 pixel_coord_upper,const vec2 pixel_coord_lower,const vec2 pattern_size,const float tile_units_to_pixels,const vec2 pos) {vec2 offset=mod(mod(mod(pixel_coord_upper,pattern_size)*256.0,pattern_size)*256.0+pixel_coord_lower,pattern_size);return (tile_units_to_pixels*pos+offset)/pattern_size;}"),Je=_r("uniform vec4 u_color;uniform float u_opacity;void main() {gl_FragColor=u_color*u_opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","attribute vec2 a_pos;uniform mat4 u_matrix;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);}"),Ke=_r("uniform vec2 u_pattern_tl_a;uniform vec2 u_pattern_br_a;uniform vec2 u_pattern_tl_b;uniform vec2 u_pattern_br_b;uniform vec2 u_texsize;uniform float u_mix;uniform float u_opacity;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;void main() {vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(u_pattern_tl_a/u_texsize,u_pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(u_pattern_tl_b/u_texsize,u_pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);gl_FragColor=mix(color1,color2,u_mix)*u_opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_pattern_size_a;uniform vec2 u_pattern_size_b;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_scale_a;uniform float u_scale_b;uniform float u_tile_units_to_pixels;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,u_scale_a*u_pattern_size_a,u_tile_units_to_pixels,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,u_scale_b*u_pattern_size_b,u_tile_units_to_pixels,a_pos);}"),$e=_r("varying vec3 v_data;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define mediump float radius\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define highp vec4 stroke_color\n#pragma mapbox: define mediump float stroke_width\n#pragma mapbox: define lowp float stroke_opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize mediump float radius\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize highp vec4 stroke_color\n#pragma mapbox: initialize mediump float stroke_width\n#pragma mapbox: initialize lowp float stroke_opacity\nvec2 extrude=v_data.xy;float extrude_length=length(extrude);lowp float antialiasblur=v_data.z;float antialiased_blur=-max(blur,antialiasblur);float opacity_t=smoothstep(0.0,antialiased_blur,extrude_length-1.0);float color_t=stroke_width < 0.01 ? 0.0 : smoothstep(antialiased_blur,0.0,extrude_length-radius/(radius+stroke_width));gl_FragColor=opacity_t*mix(color*opacity,stroke_color*stroke_opacity,color_t);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform bool u_scale_with_map;uniform bool u_pitch_with_map;uniform vec2 u_extrude_scale;uniform lowp float u_device_pixel_ratio;uniform highp float u_camera_to_center_distance;attribute vec2 a_pos;varying vec3 v_data;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define mediump float radius\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define highp vec4 stroke_color\n#pragma mapbox: define mediump float stroke_width\n#pragma mapbox: define lowp float stroke_opacity\nvoid main(void) {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize mediump float radius\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize highp vec4 stroke_color\n#pragma mapbox: initialize mediump float stroke_width\n#pragma mapbox: initialize lowp float stroke_opacity\nvec2 extrude=vec2(mod(a_pos,2.0)*2.0-1.0);vec2 circle_center=floor(a_pos*0.5);if (u_pitch_with_map) {vec2 corner_position=circle_center;if (u_scale_with_map) {corner_position+=extrude*(radius+stroke_width)*u_extrude_scale;} else {vec4 projected_center=u_matrix*vec4(circle_center,0,1);corner_position+=extrude*(radius+stroke_width)*u_extrude_scale*(projected_center.w/u_camera_to_center_distance);}gl_Position=u_matrix*vec4(corner_position,0,1);} else {gl_Position=u_matrix*vec4(circle_center,0,1);if (u_scale_with_map) {gl_Position.xy+=extrude*(radius+stroke_width)*u_extrude_scale*u_camera_to_center_distance;} else {gl_Position.xy+=extrude*(radius+stroke_width)*u_extrude_scale*gl_Position.w;}}lowp float antialiasblur=1.0/u_device_pixel_ratio/(radius+stroke_width);v_data=vec3(extrude.x,extrude.y,antialiasblur);}"),Qe=_r("void main() {gl_FragColor=vec4(1.0);}","attribute vec2 a_pos;uniform mat4 u_matrix;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);}"),tr=_r("uniform highp float u_intensity;varying vec2 v_extrude;\n#pragma mapbox: define highp float weight\n#define GAUSS_COEF 0.3989422804014327\nvoid main() {\n#pragma mapbox: initialize highp float weight\nfloat d=-0.5*3.0*3.0*dot(v_extrude,v_extrude);float val=weight*u_intensity*GAUSS_COEF*exp(d);gl_FragColor=vec4(val,1.0,1.0,1.0);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform float u_extrude_scale;uniform float u_opacity;uniform float u_intensity;attribute vec2 a_pos;varying vec2 v_extrude;\n#pragma mapbox: define highp float weight\n#pragma mapbox: define mediump float radius\nconst highp float ZERO=1.0/255.0/16.0;\n#define GAUSS_COEF 0.3989422804014327\nvoid main(void) {\n#pragma mapbox: initialize highp float weight\n#pragma mapbox: initialize mediump float radius\nvec2 unscaled_extrude=vec2(mod(a_pos,2.0)*2.0-1.0);float S=sqrt(-2.0*log(ZERO/weight/u_intensity/GAUSS_COEF))/3.0;v_extrude=S*unscaled_extrude;vec2 extrude=v_extrude*radius*u_extrude_scale;vec4 pos=vec4(floor(a_pos*0.5)+extrude,0,1);gl_Position=u_matrix*pos;}"),er=_r("uniform sampler2D u_image;uniform sampler2D u_color_ramp;uniform float u_opacity;varying vec2 v_pos;void main() {float t=texture2D(u_image,v_pos).r;vec4 color=texture2D(u_color_ramp,vec2(t,0.5));gl_FragColor=color*u_opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(0.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_world;attribute vec2 a_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos*u_world,0,1);v_pos.x=a_pos.x;v_pos.y=1.0-a_pos.y;}"),rr=_r("varying float v_placed;varying float v_notUsed;void main() {float alpha=0.5;gl_FragColor=vec4(1.0,0.0,0.0,1.0)*alpha;if (v_placed > 0.5) {gl_FragColor=vec4(0.0,0.0,1.0,0.5)*alpha;}if (v_notUsed > 0.5) {gl_FragColor*=.1;}}","attribute vec2 a_pos;attribute vec2 a_anchor_pos;attribute vec2 a_extrude;attribute vec2 a_placed;attribute vec2 a_shift;uniform mat4 u_matrix;uniform vec2 u_extrude_scale;uniform float u_camera_to_center_distance;varying float v_placed;varying float v_notUsed;void main() {vec4 projectedPoint=u_matrix*vec4(a_anchor_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float collision_perspective_ratio=clamp(0.5+0.5*(u_camera_to_center_distance/camera_to_anchor_distance),0.0,4.0);gl_Position=u_matrix*vec4(a_pos,0.0,1.0);gl_Position.xy+=(a_extrude+a_shift)*u_extrude_scale*gl_Position.w*collision_perspective_ratio;v_placed=a_placed.x;v_notUsed=a_placed.y;}"),nr=_r("varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying float v_collision;void main() {float alpha=0.5*min(v_perspective_ratio,1.0);float stroke_radius=0.9*max(v_perspective_ratio,1.0);float distance_to_center=length(v_extrude);float distance_to_edge=abs(distance_to_center-v_radius);float opacity_t=smoothstep(-stroke_radius,0.0,-distance_to_edge);vec4 color=mix(vec4(0.0,0.0,1.0,0.5),vec4(1.0,0.0,0.0,1.0),v_collision);gl_FragColor=color*alpha*opacity_t;}","attribute vec2 a_pos;attribute float a_radius;attribute vec2 a_flags;uniform mat4 u_matrix;uniform mat4 u_inv_matrix;uniform vec2 u_viewport_size;uniform float u_camera_to_center_distance;varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying float v_collision;vec3 toTilePosition(vec2 screenPos) {vec4 rayStart=u_inv_matrix*vec4(screenPos,-1.0,1.0);vec4 rayEnd =u_inv_matrix*vec4(screenPos, 1.0,1.0);rayStart.xyz/=rayStart.w;rayEnd.xyz /=rayEnd.w;highp float t=(0.0-rayStart.z)/(rayEnd.z-rayStart.z);return mix(rayStart.xyz,rayEnd.xyz,t);}void main() {vec2 quadCenterPos=a_pos;float radius=a_radius;float collision=a_flags.x;float vertexIdx=a_flags.y;vec2 quadVertexOffset=vec2(mix(-1.0,1.0,float(vertexIdx >=2.0)),mix(-1.0,1.0,float(vertexIdx >=1.0 && vertexIdx <=2.0)));vec2 quadVertexExtent=quadVertexOffset*radius;vec3 tilePos=toTilePosition(quadCenterPos);vec4 clipPos=u_matrix*vec4(tilePos,1.0);highp float camera_to_anchor_distance=clipPos.w;highp float collision_perspective_ratio=clamp(0.5+0.5*(u_camera_to_center_distance/camera_to_anchor_distance),0.0,4.0);float padding_factor=1.2;v_radius=radius;v_extrude=quadVertexExtent*padding_factor;v_perspective_ratio=collision_perspective_ratio;v_collision=collision;gl_Position=vec4(clipPos.xyz/clipPos.w,1.0)+vec4(quadVertexExtent*padding_factor/u_viewport_size*2.0,0.0,0.0);}"),ir=_r("uniform highp vec4 u_color;uniform sampler2D u_overlay;varying vec2 v_uv;void main() {vec4 overlay_color=texture2D(u_overlay,v_uv);gl_FragColor=mix(u_color,overlay_color,overlay_color.a);}","attribute vec2 a_pos;varying vec2 v_uv;uniform mat4 u_matrix;uniform float u_overlay_scale;void main() {v_uv=a_pos/8192.0;gl_Position=u_matrix*vec4(a_pos*u_overlay_scale,0,1);}"),ar=_r("#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float opacity\ngl_FragColor=color*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","attribute vec2 a_pos;uniform mat4 u_matrix;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float opacity\ngl_Position=u_matrix*vec4(a_pos,0,1);}"),or=_r("varying vec2 v_pos;\n#pragma mapbox: define highp vec4 outline_color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 outline_color\n#pragma mapbox: initialize lowp float opacity\nfloat dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);gl_FragColor=outline_color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","attribute vec2 a_pos;uniform mat4 u_matrix;uniform vec2 u_world;varying vec2 v_pos;\n#pragma mapbox: define highp vec4 outline_color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 outline_color\n#pragma mapbox: initialize lowp float opacity\ngl_Position=u_matrix*vec4(a_pos,0,1);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}"),sr=_r("uniform vec2 u_texsize;uniform sampler2D u_image;uniform float u_fade;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec2 v_pos;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);float dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);gl_FragColor=mix(color1,color2,u_fade)*alpha*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_world;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec2 v_pos;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;gl_Position=u_matrix*vec4(a_pos,0,1);vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,a_pos);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}"),lr=_r("uniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);gl_FragColor=mix(color1,color2,u_fade)*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;gl_Position=u_matrix*vec4(a_pos,0,1);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileZoomRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileZoomRatio,a_pos);}"),ur=_r("varying vec4 v_color;void main() {gl_FragColor=v_color;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;uniform float u_vertical_gradient;uniform lowp float u_opacity;attribute vec2 a_pos;attribute vec4 a_normal_ed;varying vec4 v_color;\n#pragma mapbox: define highp float base\n#pragma mapbox: define highp float height\n#pragma mapbox: define highp vec4 color\nvoid main() {\n#pragma mapbox: initialize highp float base\n#pragma mapbox: initialize highp float height\n#pragma mapbox: initialize highp vec4 color\nvec3 normal=a_normal_ed.xyz;base=max(0.0,base);height=max(0.0,height);float t=mod(normal.x,2.0);gl_Position=u_matrix*vec4(a_pos,t > 0.0 ? height : base,1);float colorvalue=color.r*0.2126+color.g*0.7152+color.b*0.0722;v_color=vec4(0.0,0.0,0.0,1.0);vec4 ambientlight=vec4(0.03,0.03,0.03,1.0);color+=ambientlight;float directional=clamp(dot(normal/16384.0,u_lightpos),0.0,1.0);directional=mix((1.0-u_lightintensity),max((1.0-colorvalue+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_color.r+=clamp(color.r*directional*u_lightcolor.r,mix(0.0,0.3,1.0-u_lightcolor.r),1.0);v_color.g+=clamp(color.g*directional*u_lightcolor.g,mix(0.0,0.3,1.0-u_lightcolor.g),1.0);v_color.b+=clamp(color.b*directional*u_lightcolor.b,mix(0.0,0.3,1.0-u_lightcolor.b),1.0);v_color*=u_opacity;}"),cr=_r("uniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting;\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float base\n#pragma mapbox: initialize lowp float height\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);vec4 mixedColor=mix(color1,color2,u_fade);gl_FragColor=mixedColor*v_lighting;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_height_factor;uniform vec3 u_scale;uniform float u_vertical_gradient;uniform lowp float u_opacity;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;attribute vec2 a_pos;attribute vec4 a_normal_ed;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting;\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float base\n#pragma mapbox: initialize lowp float height\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec3 normal=a_normal_ed.xyz;float edgedistance=a_normal_ed.w;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;base=max(0.0,base);height=max(0.0,height);float t=mod(normal.x,2.0);float z=t > 0.0 ? height : base;gl_Position=u_matrix*vec4(a_pos,z,1);vec2 pos=normal.x==1.0 && normal.y==0.0 && normal.z==16384.0\n? a_pos\n: vec2(edgedistance,z*u_height_factor);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,pos);v_lighting=vec4(0.0,0.0,0.0,1.0);float directional=clamp(dot(normal/16383.0,u_lightpos),0.0,1.0);directional=mix((1.0-u_lightintensity),max((0.5+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_lighting.rgb+=clamp(directional*u_lightcolor,mix(vec3(0.0),vec3(0.3),1.0-u_lightcolor),vec3(1.0));v_lighting*=u_opacity;}"),fr=_r("#ifdef GL_ES\nprecision highp float;\n#endif\nuniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_dimension;uniform float u_zoom;uniform float u_maxzoom;uniform vec4 u_unpack;float getElevation(vec2 coord,float bias) {vec4 data=texture2D(u_image,coord)*255.0;data.a=-1.0;return dot(data,u_unpack)/4.0;}void main() {vec2 epsilon=1.0/u_dimension;float a=getElevation(v_pos+vec2(-epsilon.x,-epsilon.y),0.0);float b=getElevation(v_pos+vec2(0,-epsilon.y),0.0);float c=getElevation(v_pos+vec2(epsilon.x,-epsilon.y),0.0);float d=getElevation(v_pos+vec2(-epsilon.x,0),0.0);float e=getElevation(v_pos,0.0);float f=getElevation(v_pos+vec2(epsilon.x,0),0.0);float g=getElevation(v_pos+vec2(-epsilon.x,epsilon.y),0.0);float h=getElevation(v_pos+vec2(0,epsilon.y),0.0);float i=getElevation(v_pos+vec2(epsilon.x,epsilon.y),0.0);float exaggeration=u_zoom < 2.0 ? 0.4 : u_zoom < 4.5 ? 0.35 : 0.3;vec2 deriv=vec2((c+f+f+i)-(a+d+d+g),(g+h+h+i)-(a+b+b+c))/ pow(2.0,(u_zoom-u_maxzoom)*exaggeration+19.2562-u_zoom);gl_FragColor=clamp(vec4(deriv.x/2.0+0.5,deriv.y/2.0+0.5,1.0,1.0),0.0,1.0);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_dimension;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);highp vec2 epsilon=1.0/u_dimension;float scale=(u_dimension.x-2.0)/u_dimension.x;v_pos=(a_texture_pos/8192.0)*scale+epsilon;}"),hr=_r("uniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_latrange;uniform vec2 u_light;uniform vec4 u_shadow;uniform vec4 u_highlight;uniform vec4 u_accent;\n#define PI 3.141592653589793\nvoid main() {vec4 pixel=texture2D(u_image,v_pos);vec2 deriv=((pixel.rg*2.0)-1.0);float scaleFactor=cos(radians((u_latrange[0]-u_latrange[1])*(1.0-v_pos.y)+u_latrange[1]));float slope=atan(1.25*length(deriv)/scaleFactor);float aspect=deriv.x !=0.0 ? atan(deriv.y,-deriv.x) : PI/2.0*(deriv.y > 0.0 ? 1.0 :-1.0);float intensity=u_light.x;float azimuth=u_light.y+PI;float base=1.875-intensity*1.75;float maxValue=0.5*PI;float scaledSlope=intensity !=0.5 ? ((pow(base,slope)-1.0)/(pow(base,maxValue)-1.0))*maxValue : slope;float accent=cos(scaledSlope);vec4 accent_color=(1.0-accent)*u_accent*clamp(intensity*2.0,0.0,1.0);float shade=abs(mod((aspect+azimuth)/PI+0.5,2.0)-1.0);vec4 shade_color=mix(u_shadow,u_highlight,shade)*sin(scaledSlope)*clamp(intensity*2.0,0.0,1.0);gl_FragColor=accent_color*(1.0-shade_color.a)+shade_color;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos=a_texture_pos/8192.0;}"),pr=_r("uniform lowp float u_device_pixel_ratio;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);gl_FragColor=color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","\n#define scale 0.015873016\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform vec2 u_units_to_pixels;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_gamma_scale;varying highp float v_linesofar;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float width\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float width\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;v_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*2.0;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_width2=vec2(outset,inset);}"),dr=_r("uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale;varying highp float v_lineprogress;\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);vec4 color=texture2D(u_image,vec2(v_lineprogress,0.5));gl_FragColor=color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","\n#define MAX_LINE_DISTANCE 32767.0\n#define scale 0.015873016\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_units_to_pixels;varying vec2 v_normal;varying vec2 v_width2;varying float v_gamma_scale;varying highp float v_lineprogress;\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float width\nvoid main() {\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float width\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;v_lineprogress=(floor(a_data.z/4.0)+a_data.w*64.0)*2.0/MAX_LINE_DISTANCE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_width2=vec2(outset,inset);}"),vr=_r("uniform lowp float u_device_pixel_ratio;uniform vec2 u_texsize;uniform float u_fade;uniform mediump vec3 u_scale;uniform sampler2D u_image;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width;\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;vec2 pattern_size_a=vec2(display_size_a.x*fromScale/tileZoomRatio,display_size_a.y);vec2 pattern_size_b=vec2(display_size_b.x*toScale/tileZoomRatio,display_size_b.y);float aspect_a=display_size_a.y/v_width;float aspect_b=display_size_b.y/v_width;float dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float x_a=mod(v_linesofar/pattern_size_a.x*aspect_a,1.0);float x_b=mod(v_linesofar/pattern_size_b.x*aspect_b,1.0);float y=0.5*v_normal.y+0.5;vec2 texel_size=1.0/u_texsize;vec2 pos_a=mix(pattern_tl_a*texel_size-texel_size,pattern_br_a*texel_size+texel_size,vec2(x_a,y));vec2 pos_b=mix(pattern_tl_b*texel_size-texel_size,pattern_br_b*texel_size+texel_size,vec2(x_b,y));vec4 color=mix(texture2D(u_image,pos_a),texture2D(u_image,pos_b),u_fade);gl_FragColor=color*alpha*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","\n#define scale 0.015873016\n#define LINE_DISTANCE_SCALE 2.0\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform vec2 u_units_to_pixels;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width;\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define mediump float width\n#pragma mapbox: define lowp float floorwidth\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize mediump float width\n#pragma mapbox: initialize lowp float floorwidth\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;float a_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*LINE_DISTANCE_SCALE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_linesofar=a_linesofar;v_width2=vec2(outset,inset);v_width=floorwidth;}"),gr=_r("uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;uniform float u_sdfgamma;uniform float u_mix;varying vec2 v_normal;varying vec2 v_width2;varying vec2 v_tex_a;varying vec2 v_tex_b;varying float v_gamma_scale;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float width\n#pragma mapbox: define lowp float floorwidth\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float width\n#pragma mapbox: initialize lowp float floorwidth\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float sdfdist_a=texture2D(u_image,v_tex_a).a;float sdfdist_b=texture2D(u_image,v_tex_b).a;float sdfdist=mix(sdfdist_a,sdfdist_b,u_mix);alpha*=smoothstep(0.5-u_sdfgamma/floorwidth,0.5+u_sdfgamma/floorwidth,sdfdist);gl_FragColor=color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","\n#define scale 0.015873016\n#define LINE_DISTANCE_SCALE 2.0\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_patternscale_a;uniform float u_tex_y_a;uniform vec2 u_patternscale_b;uniform float u_tex_y_b;uniform vec2 u_units_to_pixels;varying vec2 v_normal;varying vec2 v_width2;varying vec2 v_tex_a;varying vec2 v_tex_b;varying float v_gamma_scale;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float width\n#pragma mapbox: define lowp float floorwidth\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float width\n#pragma mapbox: initialize lowp float floorwidth\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;float a_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*LINE_DISTANCE_SCALE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_tex_a=vec2(a_linesofar*u_patternscale_a.x/floorwidth,normal.y*u_patternscale_a.y+u_tex_y_a);v_tex_b=vec2(a_linesofar*u_patternscale_b.x/floorwidth,normal.y*u_patternscale_b.y+u_tex_y_b);v_width2=vec2(outset,inset);}"),yr=_r("uniform float u_fade_t;uniform float u_opacity;uniform sampler2D u_image0;uniform sampler2D u_image1;varying vec2 v_pos0;varying vec2 v_pos1;uniform float u_brightness_low;uniform float u_brightness_high;uniform float u_saturation_factor;uniform float u_contrast_factor;uniform vec3 u_spin_weights;void main() {vec4 color0=texture2D(u_image0,v_pos0);vec4 color1=texture2D(u_image1,v_pos1);if (color0.a > 0.0) {color0.rgb=color0.rgb/color0.a;}if (color1.a > 0.0) {color1.rgb=color1.rgb/color1.a;}vec4 color=mix(color0,color1,u_fade_t);color.a*=u_opacity;vec3 rgb=color.rgb;rgb=vec3(dot(rgb,u_spin_weights.xyz),dot(rgb,u_spin_weights.zxy),dot(rgb,u_spin_weights.yzx));float average=(color.r+color.g+color.b)/3.0;rgb+=(average-rgb)*u_saturation_factor;rgb=(rgb-0.5)*u_contrast_factor+0.5;vec3 u_high_vec=vec3(u_brightness_low,u_brightness_low,u_brightness_low);vec3 u_low_vec=vec3(u_brightness_high,u_brightness_high,u_brightness_high);gl_FragColor=vec4(mix(u_high_vec,u_low_vec,rgb)*color.a,color.a);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_tl_parent;uniform float u_scale_parent;uniform float u_buffer_scale;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos0;varying vec2 v_pos1;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos0=(((a_texture_pos/8192.0)-0.5)/u_buffer_scale )+0.5;v_pos1=(v_pos0*u_scale_parent)+u_tl_parent;}"),mr=_r("uniform sampler2D u_texture;varying vec2 v_tex;varying float v_fade_opacity;\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\nlowp float alpha=opacity*v_fade_opacity;gl_FragColor=texture2D(u_texture,v_tex)*alpha;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform highp float u_camera_to_center_distance;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform float u_fade_change;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform vec2 u_texsize;varying vec2 v_tex;varying float v_fade_opacity;\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;vec2 a_minFontScale=a_pixeloffset.zw/256.0;highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\ncamera_to_anchor_distance/u_camera_to_center_distance :\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),0,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,0.0,1.0);gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*max(a_minFontScale,fontScale)+a_pxoffset/16.0),0.0,1.0);v_tex=a_tex/u_texsize;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;v_fade_opacity=max(0.0,min(1.0,fade_opacity[0]+fade_change));}"),xr=_r("#define SDF_PX 8.0\nuniform bool u_is_halo;uniform sampler2D u_texture;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;uniform bool u_is_text;varying vec2 v_data0;varying vec3 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nfloat EDGE_GAMMA=0.105/u_device_pixel_ratio;vec2 tex=v_data0.xy;float gamma_scale=v_data1.x;float size=v_data1.y;float fade_opacity=v_data1[2];float fontScale=u_is_text ? size/24.0 : size;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float buff=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);buff=(6.0-halo_width/fontScale)/SDF_PX;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(buff-gamma_scaled,buff+gamma_scaled,dist);gl_FragColor=color*(alpha*opacity*fade_opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;varying vec2 v_data0;varying vec3 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\ncamera_to_anchor_distance/u_camera_to_center_distance :\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),0,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,0.0,1.0);gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale+a_pxoffset),0.0,1.0);float gamma_scale=gl_Position.w;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(1.0,fade_opacity[0]+fade_change));v_data0=a_tex/u_texsize;v_data1=vec3(gamma_scale,size,interpolated_fade_opacity);}"),br=_r("#define SDF_PX 8.0\n#define SDF 1.0\n#define ICON 0.0\nuniform bool u_is_halo;uniform sampler2D u_texture;uniform sampler2D u_texture_icon;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;varying vec4 v_data0;varying vec4 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nfloat fade_opacity=v_data1[2];if (v_data1.w==ICON) {vec2 tex_icon=v_data0.zw;lowp float alpha=opacity*fade_opacity;gl_FragColor=texture2D(u_texture_icon,tex_icon)*alpha;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\nreturn;}vec2 tex=v_data0.xy;float EDGE_GAMMA=0.105/u_device_pixel_ratio;float gamma_scale=v_data1.x;float size=v_data1.y;float fontScale=size/24.0;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float buff=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);buff=(6.0-halo_width/fontScale)/SDF_PX;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(buff-gamma_scaled,buff+gamma_scaled,dist);gl_FragColor=color*(alpha*opacity*fade_opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;uniform vec2 u_texsize_icon;varying vec4 v_data0;varying vec4 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);float is_sdf=a_size[0]-2.0*a_size_min;highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\ncamera_to_anchor_distance/u_camera_to_center_distance :\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=size/24.0;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),0,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,0.0,1.0);gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale),0.0,1.0);float gamma_scale=gl_Position.w;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(1.0,fade_opacity[0]+fade_change));v_data0.xy=a_tex/u_texsize;v_data0.zw=a_tex/u_texsize_icon;v_data1=vec4(gamma_scale,size,interpolated_fade_opacity,is_sdf);}");function _r(t,e){var r=/#pragma mapbox: ([\w]+) ([\w]+) ([\w]+) ([\w]+)/g,n={};return{fragmentSource:t=t.replace(r,(function(t,e,r,i,a){return n[a]=!0,"define"===e?"\n#ifndef HAS_UNIFORM_u_"+a+"\nvarying "+r+" "+i+" "+a+";\n#else\nuniform "+r+" "+i+" u_"+a+";\n#endif\n":"\n#ifdef HAS_UNIFORM_u_"+a+"\n "+r+" "+i+" "+a+" = u_"+a+";\n#endif\n"})),vertexSource:e=e.replace(r,(function(t,e,r,i,a){var o="float"===i?"vec2":"vec4",s=a.match(/color/)?"color":o;return n[a]?"define"===e?"\n#ifndef HAS_UNIFORM_u_"+a+"\nuniform lowp float u_"+a+"_t;\nattribute "+r+" "+o+" a_"+a+";\nvarying "+r+" "+i+" "+a+";\n#else\nuniform "+r+" "+i+" u_"+a+";\n#endif\n":"vec4"===s?"\n#ifndef HAS_UNIFORM_u_"+a+"\n "+a+" = a_"+a+";\n#else\n "+r+" "+i+" "+a+" = u_"+a+";\n#endif\n":"\n#ifndef HAS_UNIFORM_u_"+a+"\n "+a+" = unpack_mix_"+s+"(a_"+a+", u_"+a+"_t);\n#else\n "+r+" "+i+" "+a+" = u_"+a+";\n#endif\n":"define"===e?"\n#ifndef HAS_UNIFORM_u_"+a+"\nuniform lowp float u_"+a+"_t;\nattribute "+r+" "+o+" a_"+a+";\n#else\nuniform "+r+" "+i+" u_"+a+";\n#endif\n":"vec4"===s?"\n#ifndef HAS_UNIFORM_u_"+a+"\n "+r+" "+i+" "+a+" = a_"+a+";\n#else\n "+r+" "+i+" "+a+" = u_"+a+";\n#endif\n":"\n#ifndef HAS_UNIFORM_u_"+a+"\n "+r+" "+i+" "+a+" = unpack_mix_"+s+"(a_"+a+", u_"+a+"_t);\n#else\n "+r+" "+i+" "+a+" = u_"+a+";\n#endif\n"}))}}var wr=Object.freeze({__proto__:null,prelude:Xe,background:Je,backgroundPattern:Ke,circle:$e,clippingMask:Qe,heatmap:tr,heatmapTexture:er,collisionBox:rr,collisionCircle:nr,debug:ir,fill:ar,fillOutline:or,fillOutlinePattern:sr,fillPattern:lr,fillExtrusion:ur,fillExtrusionPattern:cr,hillshadePrepare:fr,hillshade:hr,line:pr,lineGradient:dr,linePattern:vr,lineSDF:gr,raster:yr,symbolIcon:mr,symbolSDF:xr,symbolTextAndIcon:br}),Tr=function(){this.boundProgram=null,this.boundLayoutVertexBuffer=null,this.boundPaintVertexBuffers=[],this.boundIndexBuffer=null,this.boundVertexOffset=null,this.boundDynamicVertexBuffer=null,this.vao=null};Tr.prototype.bind=function(t,e,r,n,i,a,o,s){this.context=t;for(var l=this.boundPaintVertexBuffers.length!==n.length,u=0;!l&&u<n.length;u++)this.boundPaintVertexBuffers[u]!==n[u]&&(l=!0);var c=!this.vao||this.boundProgram!==e||this.boundLayoutVertexBuffer!==r||l||this.boundIndexBuffer!==i||this.boundVertexOffset!==a||this.boundDynamicVertexBuffer!==o||this.boundDynamicVertexBuffer2!==s;!t.extVertexArrayObject||c?this.freshBind(e,r,n,i,a,o,s):(t.bindVertexArrayOES.set(this.vao),o&&o.bind(),i&&i.dynamicDraw&&i.bind(),s&&s.bind())},Tr.prototype.freshBind=function(t,e,r,n,i,a,o){var s,l=t.numAttributes,u=this.context,c=u.gl;if(u.extVertexArrayObject)this.vao&&this.destroy(),this.vao=u.extVertexArrayObject.createVertexArrayOES(),u.bindVertexArrayOES.set(this.vao),s=0,this.boundProgram=t,this.boundLayoutVertexBuffer=e,this.boundPaintVertexBuffers=r,this.boundIndexBuffer=n,this.boundVertexOffset=i,this.boundDynamicVertexBuffer=a,this.boundDynamicVertexBuffer2=o;else{s=u.currentNumAttributes||0;for(var f=l;f<s;f++)c.disableVertexAttribArray(f)}e.enableAttributes(c,t);for(var h=0,p=r;h<p.length;h+=1)p[h].enableAttributes(c,t);a&&a.enableAttributes(c,t),o&&o.enableAttributes(c,t),e.bind(),e.setVertexAttribPointers(c,t,i);for(var d=0,v=r;d<v.length;d+=1){var g=v[d];g.bind(),g.setVertexAttribPointers(c,t,i)}a&&(a.bind(),a.setVertexAttribPointers(c,t,i)),n&&n.bind(),o&&(o.bind(),o.setVertexAttribPointers(c,t,i)),u.currentNumAttributes=l},Tr.prototype.destroy=function(){this.vao&&(this.context.extVertexArrayObject.deleteVertexArrayOES(this.vao),this.vao=null)};var kr=function(t,e,r,n,i){var a=t.gl;this.program=a.createProgram();var o=r?r.defines():[];i&&o.push("#define OVERDRAW_INSPECTOR;");var s=o.concat(Xe.fragmentSource,e.fragmentSource).join("\n"),l=o.concat(Xe.vertexSource,e.vertexSource).join("\n"),u=a.createShader(a.FRAGMENT_SHADER);if(a.isContextLost())this.failedToCreate=!0;else{a.shaderSource(u,s),a.compileShader(u),a.attachShader(this.program,u);var c=a.createShader(a.VERTEX_SHADER);if(a.isContextLost())this.failedToCreate=!0;else{a.shaderSource(c,l),a.compileShader(c),a.attachShader(this.program,c);for(var f=r?r.layoutAttributes:[],h=0;h<f.length;h++)a.bindAttribLocation(this.program,h,f[h].name);a.linkProgram(this.program),a.deleteShader(c),a.deleteShader(u),this.numAttributes=a.getProgramParameter(this.program,a.ACTIVE_ATTRIBUTES),this.attributes={};for(var p={},d=0;d<this.numAttributes;d++){var v=a.getActiveAttrib(this.program,d);v&&(this.attributes[v.name]=a.getAttribLocation(this.program,v.name))}for(var g=a.getProgramParameter(this.program,a.ACTIVE_UNIFORMS),y=0;y<g;y++){var m=a.getActiveUniform(this.program,y);m&&(p[m.name]=a.getUniformLocation(this.program,m.name))}this.fixedUniforms=n(t,p),this.binderUniforms=r?r.getUniforms(t,p):[]}}};function Ar(t,e,r){var n=1/ge(r,1,e.transform.tileZoom),i=Math.pow(2,r.tileID.overscaledZ),a=r.tileSize*Math.pow(2,e.transform.tileZoom)/i,o=a*(r.tileID.canonical.x+r.tileID.wrap*i),s=a*r.tileID.canonical.y;return{u_image:0,u_texsize:r.imageAtlasTexture.size,u_scale:[n,t.fromScale,t.toScale],u_fade:t.t,u_pixel_coord_upper:[o>>16,s>>16],u_pixel_coord_lower:[65535&o,65535&s]}}kr.prototype.draw=function(t,e,r,n,i,a,o,s,l,u,c,f,h,p,d,v){var g,y=t.gl;if(!this.failedToCreate){for(var m in t.program.set(this.program),t.setDepthMode(r),t.setStencilMode(n),t.setColorMode(i),t.setCullFace(a),this.fixedUniforms)this.fixedUniforms[m].set(o[m]);p&&p.setUniforms(t,this.binderUniforms,f,{zoom:h});for(var x=(g={},g[y.LINES]=2,g[y.TRIANGLES]=3,g[y.LINE_STRIP]=1,g)[e],b=0,_=c.get();b<_.length;b+=1){var w=_[b],T=w.vaos||(w.vaos={});(T[s]||(T[s]=new Tr)).bind(t,this,l,p?p.getPaintVertexBuffers():[],u,w.vertexOffset,d,v),y.drawElements(e,w.primitiveLength*x,y.UNSIGNED_SHORT,w.primitiveOffset*x*2)}}};var Mr=function(e,r,n,i){var a=r.style.light,o=a.properties.get("position"),s=[o.x,o.y,o.z],l=t.create$1();"viewport"===a.properties.get("anchor")&&t.fromRotation(l,-r.transform.angle),t.transformMat3(s,s,l);var u=a.properties.get("color");return{u_matrix:e,u_lightpos:s,u_lightintensity:a.properties.get("intensity"),u_lightcolor:[u.r,u.g,u.b],u_vertical_gradient:+n,u_opacity:i}},Sr=function(e,r,n,i,a,o,s){return t.extend(Mr(e,r,n,i),Ar(o,r,s),{u_height_factor:-Math.pow(2,a.overscaledZ)/s.tileSize/8})},Er=function(t){return{u_matrix:t}},Lr=function(e,r,n,i){return t.extend(Er(e),Ar(n,r,i))},Cr=function(t,e){return{u_matrix:t,u_world:e}},Pr=function(e,r,n,i,a){return t.extend(Lr(e,r,n,i),{u_world:a})},Or=function(e,r,n,i){var a,o,s=e.transform;if("map"===i.paint.get("circle-pitch-alignment")){var l=ge(n,1,s.zoom);a=!0,o=[l,l]}else a=!1,o=s.pixelsToGLUnits;return{u_camera_to_center_distance:s.cameraToCenterDistance,u_scale_with_map:+("map"===i.paint.get("circle-pitch-scale")),u_matrix:e.translatePosMatrix(r.posMatrix,n,i.paint.get("circle-translate"),i.paint.get("circle-translate-anchor")),u_pitch_with_map:+a,u_device_pixel_ratio:t.browser.devicePixelRatio,u_extrude_scale:o}},Ir=function(t,e,r){var n=ge(r,1,e.zoom),i=Math.pow(2,e.zoom-r.tileID.overscaledZ),a=r.tileID.overscaleFactor();return{u_matrix:t,u_camera_to_center_distance:e.cameraToCenterDistance,u_pixels_to_tile_units:n,u_extrude_scale:[e.pixelsToGLUnits[0]/(n*i),e.pixelsToGLUnits[1]/(n*i)],u_overscale_factor:a}},Dr=function(t,e,r){return{u_matrix:t,u_inv_matrix:e,u_camera_to_center_distance:r.cameraToCenterDistance,u_viewport_size:[r.width,r.height]}},zr=function(t,e,r){return void 0===r&&(r=1),{u_matrix:t,u_color:e,u_overlay:0,u_overlay_scale:r}},Rr=function(t){return{u_matrix:t}},Fr=function(t,e,r,n){return{u_matrix:t,u_extrude_scale:ge(e,1,r),u_intensity:n}};var Br=function(e,r,n){var i=e.transform;return{u_matrix:Hr(e,r,n),u_ratio:1/ge(r,1,i.zoom),u_device_pixel_ratio:t.browser.devicePixelRatio,u_units_to_pixels:[1/i.pixelsToGLUnits[0],1/i.pixelsToGLUnits[1]]}},Nr=function(e,r,n){return t.extend(Br(e,r,n),{u_image:0})},jr=function(e,r,n,i){var a=e.transform,o=Vr(r,a);return{u_matrix:Hr(e,r,n),u_texsize:r.imageAtlasTexture.size,u_ratio:1/ge(r,1,a.zoom),u_device_pixel_ratio:t.browser.devicePixelRatio,u_image:0,u_scale:[o,i.fromScale,i.toScale],u_fade:i.t,u_units_to_pixels:[1/a.pixelsToGLUnits[0],1/a.pixelsToGLUnits[1]]}},Ur=function(e,r,n,i,a){var o=e.transform,s=e.lineAtlas,l=Vr(r,o),u="round"===n.layout.get("line-cap"),c=s.getDash(i.from,u),f=s.getDash(i.to,u),h=c.width*a.fromScale,p=f.width*a.toScale;return t.extend(Br(e,r,n),{u_patternscale_a:[l/h,-c.height/2],u_patternscale_b:[l/p,-f.height/2],u_sdfgamma:s.width/(256*Math.min(h,p)*t.browser.devicePixelRatio)/2,u_image:0,u_tex_y_a:c.y,u_tex_y_b:f.y,u_mix:a.t})};function Vr(t,e){return 1/ge(t,1,e.tileZoom)}function Hr(t,e,r){return t.translatePosMatrix(e.tileID.posMatrix,e,r.paint.get("line-translate"),r.paint.get("line-translate-anchor"))}var qr=function(t,e,r,n,i){return{u_matrix:t,u_tl_parent:e,u_scale_parent:r,u_buffer_scale:1,u_fade_t:n.mix,u_opacity:n.opacity*i.paint.get("raster-opacity"),u_image0:0,u_image1:1,u_brightness_low:i.paint.get("raster-brightness-min"),u_brightness_high:i.paint.get("raster-brightness-max"),u_saturation_factor:(o=i.paint.get("raster-saturation"),o>0?1-1/(1.001-o):-o),u_contrast_factor:(a=i.paint.get("raster-contrast"),a>0?1/(1-a):1+a),u_spin_weights:Gr(i.paint.get("raster-hue-rotate"))};var a,o};function Gr(t){t*=Math.PI/180;var e=Math.sin(t),r=Math.cos(t);return[(2*r+1)/3,(-Math.sqrt(3)*e-r+1)/3,(Math.sqrt(3)*e-r+1)/3]}var Zr,Yr=function(t,e,r,n,i,a,o,s,l,u){var c=i.transform;return{u_is_size_zoom_constant:+("constant"===t||"source"===t),u_is_size_feature_constant:+("constant"===t||"camera"===t),u_size_t:e?e.uSizeT:0,u_size:e?e.uSize:0,u_camera_to_center_distance:c.cameraToCenterDistance,u_pitch:c.pitch/360*2*Math.PI,u_rotate_symbol:+r,u_aspect_ratio:c.width/c.height,u_fade_change:i.options.fadeDuration?i.symbolFadeChange:1,u_matrix:a,u_label_plane_matrix:o,u_coord_matrix:s,u_is_text:+l,u_pitch_with_map:+n,u_texsize:u,u_texture:0}},Wr=function(e,r,n,i,a,o,s,l,u,c,f){var h=a.transform;return t.extend(Yr(e,r,n,i,a,o,s,l,u,c),{u_gamma_scale:i?Math.cos(h._pitch)*h.cameraToCenterDistance:1,u_device_pixel_ratio:t.browser.devicePixelRatio,u_is_halo:+f})},Xr=function(e,r,n,i,a,o,s,l,u,c){return t.extend(Wr(e,r,n,i,a,o,s,l,!0,u,!0),{u_texsize_icon:c,u_texture_icon:1})},Jr=function(t,e,r){return{u_matrix:t,u_opacity:e,u_color:r}},Kr=function(e,r,n,i,a,o){return t.extend(function(t,e,r,n){var i=r.imageManager.getPattern(t.from.toString()),a=r.imageManager.getPattern(t.to.toString()),o=r.imageManager.getPixelSize(),s=o.width,l=o.height,u=Math.pow(2,n.tileID.overscaledZ),c=n.tileSize*Math.pow(2,r.transform.tileZoom)/u,f=c*(n.tileID.canonical.x+n.tileID.wrap*u),h=c*n.tileID.canonical.y;return{u_image:0,u_pattern_tl_a:i.tl,u_pattern_br_a:i.br,u_pattern_tl_b:a.tl,u_pattern_br_b:a.br,u_texsize:[s,l],u_mix:e.t,u_pattern_size_a:i.displaySize,u_pattern_size_b:a.displaySize,u_scale_a:e.fromScale,u_scale_b:e.toScale,u_tile_units_to_pixels:1/ge(n,1,r.transform.tileZoom),u_pixel_coord_upper:[f>>16,h>>16],u_pixel_coord_lower:[65535&f,65535&h]}}(i,o,n,a),{u_matrix:e,u_opacity:r})},$r={fillExtrusion:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_lightpos:new t.Uniform3f(e,r.u_lightpos),u_lightintensity:new t.Uniform1f(e,r.u_lightintensity),u_lightcolor:new t.Uniform3f(e,r.u_lightcolor),u_vertical_gradient:new t.Uniform1f(e,r.u_vertical_gradient),u_opacity:new t.Uniform1f(e,r.u_opacity)}},fillExtrusionPattern:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_lightpos:new t.Uniform3f(e,r.u_lightpos),u_lightintensity:new t.Uniform1f(e,r.u_lightintensity),u_lightcolor:new t.Uniform3f(e,r.u_lightcolor),u_vertical_gradient:new t.Uniform1f(e,r.u_vertical_gradient),u_height_factor:new t.Uniform1f(e,r.u_height_factor),u_image:new t.Uniform1i(e,r.u_image),u_texsize:new t.Uniform2f(e,r.u_texsize),u_pixel_coord_upper:new t.Uniform2f(e,r.u_pixel_coord_upper),u_pixel_coord_lower:new t.Uniform2f(e,r.u_pixel_coord_lower),u_scale:new t.Uniform3f(e,r.u_scale),u_fade:new t.Uniform1f(e,r.u_fade),u_opacity:new t.Uniform1f(e,r.u_opacity)}},fill:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix)}},fillPattern:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_image:new t.Uniform1i(e,r.u_image),u_texsize:new t.Uniform2f(e,r.u_texsize),u_pixel_coord_upper:new t.Uniform2f(e,r.u_pixel_coord_upper),u_pixel_coord_lower:new t.Uniform2f(e,r.u_pixel_coord_lower),u_scale:new t.Uniform3f(e,r.u_scale),u_fade:new t.Uniform1f(e,r.u_fade)}},fillOutline:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_world:new t.Uniform2f(e,r.u_world)}},fillOutlinePattern:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_world:new t.Uniform2f(e,r.u_world),u_image:new t.Uniform1i(e,r.u_image),u_texsize:new t.Uniform2f(e,r.u_texsize),u_pixel_coord_upper:new t.Uniform2f(e,r.u_pixel_coord_upper),u_pixel_coord_lower:new t.Uniform2f(e,r.u_pixel_coord_lower),u_scale:new t.Uniform3f(e,r.u_scale),u_fade:new t.Uniform1f(e,r.u_fade)}},circle:function(e,r){return{u_camera_to_center_distance:new t.Uniform1f(e,r.u_camera_to_center_distance),u_scale_with_map:new t.Uniform1i(e,r.u_scale_with_map),u_pitch_with_map:new t.Uniform1i(e,r.u_pitch_with_map),u_extrude_scale:new t.Uniform2f(e,r.u_extrude_scale),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_matrix:new t.UniformMatrix4f(e,r.u_matrix)}},collisionBox:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_camera_to_center_distance:new t.Uniform1f(e,r.u_camera_to_center_distance),u_pixels_to_tile_units:new t.Uniform1f(e,r.u_pixels_to_tile_units),u_extrude_scale:new t.Uniform2f(e,r.u_extrude_scale),u_overscale_factor:new t.Uniform1f(e,r.u_overscale_factor)}},collisionCircle:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_inv_matrix:new t.UniformMatrix4f(e,r.u_inv_matrix),u_camera_to_center_distance:new t.Uniform1f(e,r.u_camera_to_center_distance),u_viewport_size:new t.Uniform2f(e,r.u_viewport_size)}},debug:function(e,r){return{u_color:new t.UniformColor(e,r.u_color),u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_overlay:new t.Uniform1i(e,r.u_overlay),u_overlay_scale:new t.Uniform1f(e,r.u_overlay_scale)}},clippingMask:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix)}},heatmap:function(e,r){return{u_extrude_scale:new t.Uniform1f(e,r.u_extrude_scale),u_intensity:new t.Uniform1f(e,r.u_intensity),u_matrix:new t.UniformMatrix4f(e,r.u_matrix)}},heatmapTexture:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_world:new t.Uniform2f(e,r.u_world),u_image:new t.Uniform1i(e,r.u_image),u_color_ramp:new t.Uniform1i(e,r.u_color_ramp),u_opacity:new t.Uniform1f(e,r.u_opacity)}},hillshade:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_image:new t.Uniform1i(e,r.u_image),u_latrange:new t.Uniform2f(e,r.u_latrange),u_light:new t.Uniform2f(e,r.u_light),u_shadow:new t.UniformColor(e,r.u_shadow),u_highlight:new t.UniformColor(e,r.u_highlight),u_accent:new t.UniformColor(e,r.u_accent)}},hillshadePrepare:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_image:new t.Uniform1i(e,r.u_image),u_dimension:new t.Uniform2f(e,r.u_dimension),u_zoom:new t.Uniform1f(e,r.u_zoom),u_maxzoom:new t.Uniform1f(e,r.u_maxzoom),u_unpack:new t.Uniform4f(e,r.u_unpack)}},line:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_ratio:new t.Uniform1f(e,r.u_ratio),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_units_to_pixels:new t.Uniform2f(e,r.u_units_to_pixels)}},lineGradient:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_ratio:new t.Uniform1f(e,r.u_ratio),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_units_to_pixels:new t.Uniform2f(e,r.u_units_to_pixels),u_image:new t.Uniform1i(e,r.u_image)}},linePattern:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_texsize:new t.Uniform2f(e,r.u_texsize),u_ratio:new t.Uniform1f(e,r.u_ratio),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_image:new t.Uniform1i(e,r.u_image),u_units_to_pixels:new t.Uniform2f(e,r.u_units_to_pixels),u_scale:new t.Uniform3f(e,r.u_scale),u_fade:new t.Uniform1f(e,r.u_fade)}},lineSDF:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_ratio:new t.Uniform1f(e,r.u_ratio),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_units_to_pixels:new t.Uniform2f(e,r.u_units_to_pixels),u_patternscale_a:new t.Uniform2f(e,r.u_patternscale_a),u_patternscale_b:new t.Uniform2f(e,r.u_patternscale_b),u_sdfgamma:new t.Uniform1f(e,r.u_sdfgamma),u_image:new t.Uniform1i(e,r.u_image),u_tex_y_a:new t.Uniform1f(e,r.u_tex_y_a),u_tex_y_b:new t.Uniform1f(e,r.u_tex_y_b),u_mix:new t.Uniform1f(e,r.u_mix)}},raster:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_tl_parent:new t.Uniform2f(e,r.u_tl_parent),u_scale_parent:new t.Uniform1f(e,r.u_scale_parent),u_buffer_scale:new t.Uniform1f(e,r.u_buffer_scale),u_fade_t:new t.Uniform1f(e,r.u_fade_t),u_opacity:new t.Uniform1f(e,r.u_opacity),u_image0:new t.Uniform1i(e,r.u_image0),u_image1:new t.Uniform1i(e,r.u_image1),u_brightness_low:new t.Uniform1f(e,r.u_brightness_low),u_brightness_high:new t.Uniform1f(e,r.u_brightness_high),u_saturation_factor:new t.Uniform1f(e,r.u_saturation_factor),u_contrast_factor:new t.Uniform1f(e,r.u_contrast_factor),u_spin_weights:new t.Uniform3f(e,r.u_spin_weights)}},symbolIcon:function(e,r){return{u_is_size_zoom_constant:new t.Uniform1i(e,r.u_is_size_zoom_constant),u_is_size_feature_constant:new t.Uniform1i(e,r.u_is_size_feature_constant),u_size_t:new t.Uniform1f(e,r.u_size_t),u_size:new t.Uniform1f(e,r.u_size),u_camera_to_center_distance:new t.Uniform1f(e,r.u_camera_to_center_distance),u_pitch:new t.Uniform1f(e,r.u_pitch),u_rotate_symbol:new t.Uniform1i(e,r.u_rotate_symbol),u_aspect_ratio:new t.Uniform1f(e,r.u_aspect_ratio),u_fade_change:new t.Uniform1f(e,r.u_fade_change),u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_label_plane_matrix:new t.UniformMatrix4f(e,r.u_label_plane_matrix),u_coord_matrix:new t.UniformMatrix4f(e,r.u_coord_matrix),u_is_text:new t.Uniform1i(e,r.u_is_text),u_pitch_with_map:new t.Uniform1i(e,r.u_pitch_with_map),u_texsize:new t.Uniform2f(e,r.u_texsize),u_texture:new t.Uniform1i(e,r.u_texture)}},symbolSDF:function(e,r){return{u_is_size_zoom_constant:new t.Uniform1i(e,r.u_is_size_zoom_constant),u_is_size_feature_constant:new t.Uniform1i(e,r.u_is_size_feature_constant),u_size_t:new t.Uniform1f(e,r.u_size_t),u_size:new t.Uniform1f(e,r.u_size),u_camera_to_center_distance:new t.Uniform1f(e,r.u_camera_to_center_distance),u_pitch:new t.Uniform1f(e,r.u_pitch),u_rotate_symbol:new t.Uniform1i(e,r.u_rotate_symbol),u_aspect_ratio:new t.Uniform1f(e,r.u_aspect_ratio),u_fade_change:new t.Uniform1f(e,r.u_fade_change),u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_label_plane_matrix:new t.UniformMatrix4f(e,r.u_label_plane_matrix),u_coord_matrix:new t.UniformMatrix4f(e,r.u_coord_matrix),u_is_text:new t.Uniform1i(e,r.u_is_text),u_pitch_with_map:new t.Uniform1i(e,r.u_pitch_with_map),u_texsize:new t.Uniform2f(e,r.u_texsize),u_texture:new t.Uniform1i(e,r.u_texture),u_gamma_scale:new t.Uniform1f(e,r.u_gamma_scale),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_is_halo:new t.Uniform1i(e,r.u_is_halo)}},symbolTextAndIcon:function(e,r){return{u_is_size_zoom_constant:new t.Uniform1i(e,r.u_is_size_zoom_constant),u_is_size_feature_constant:new t.Uniform1i(e,r.u_is_size_feature_constant),u_size_t:new t.Uniform1f(e,r.u_size_t),u_size:new t.Uniform1f(e,r.u_size),u_camera_to_center_distance:new t.Uniform1f(e,r.u_camera_to_center_distance),u_pitch:new t.Uniform1f(e,r.u_pitch),u_rotate_symbol:new t.Uniform1i(e,r.u_rotate_symbol),u_aspect_ratio:new t.Uniform1f(e,r.u_aspect_ratio),u_fade_change:new t.Uniform1f(e,r.u_fade_change),u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_label_plane_matrix:new t.UniformMatrix4f(e,r.u_label_plane_matrix),u_coord_matrix:new t.UniformMatrix4f(e,r.u_coord_matrix),u_is_text:new t.Uniform1i(e,r.u_is_text),u_pitch_with_map:new t.Uniform1i(e,r.u_pitch_with_map),u_texsize:new t.Uniform2f(e,r.u_texsize),u_texsize_icon:new t.Uniform2f(e,r.u_texsize_icon),u_texture:new t.Uniform1i(e,r.u_texture),u_texture_icon:new t.Uniform1i(e,r.u_texture_icon),u_gamma_scale:new t.Uniform1f(e,r.u_gamma_scale),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_is_halo:new t.Uniform1i(e,r.u_is_halo)}},background:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_opacity:new t.Uniform1f(e,r.u_opacity),u_color:new t.UniformColor(e,r.u_color)}},backgroundPattern:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_opacity:new t.Uniform1f(e,r.u_opacity),u_image:new t.Uniform1i(e,r.u_image),u_pattern_tl_a:new t.Uniform2f(e,r.u_pattern_tl_a),u_pattern_br_a:new t.Uniform2f(e,r.u_pattern_br_a),u_pattern_tl_b:new t.Uniform2f(e,r.u_pattern_tl_b),u_pattern_br_b:new t.Uniform2f(e,r.u_pattern_br_b),u_texsize:new t.Uniform2f(e,r.u_texsize),u_mix:new t.Uniform1f(e,r.u_mix),u_pattern_size_a:new t.Uniform2f(e,r.u_pattern_size_a),u_pattern_size_b:new t.Uniform2f(e,r.u_pattern_size_b),u_scale_a:new t.Uniform1f(e,r.u_scale_a),u_scale_b:new t.Uniform1f(e,r.u_scale_b),u_pixel_coord_upper:new t.Uniform2f(e,r.u_pixel_coord_upper),u_pixel_coord_lower:new t.Uniform2f(e,r.u_pixel_coord_lower),u_tile_units_to_pixels:new t.Uniform1f(e,r.u_tile_units_to_pixels)}}};function Qr(e,r,n,i,a,o,s){for(var l=e.context,u=l.gl,c=e.useProgram("collisionBox"),f=[],h=0,p=0,d=0;d<i.length;d++){var v=i[d],g=r.getTile(v),y=g.getBucket(n);if(y){var m=v.posMatrix;0===a[0]&&0===a[1]||(m=e.translatePosMatrix(v.posMatrix,g,a,o));var x=s?y.textCollisionBox:y.iconCollisionBox,b=y.collisionCircleArray;if(b.length>0){var _=t.create(),w=m;t.mul(_,y.placementInvProjMatrix,e.transform.glCoordMatrix),t.mul(_,_,y.placementViewportMatrix),f.push({circleArray:b,circleOffset:p,transform:w,invTransform:_}),p=h+=b.length/4}x&&c.draw(l,u.LINES,Mt.disabled,Et.disabled,e.colorModeForRenderPass(),Ct.disabled,Ir(m,e.transform,g),n.id,x.layoutVertexBuffer,x.indexBuffer,x.segments,null,e.transform.zoom,null,null,x.collisionVertexBuffer)}}if(s&&f.length){var T=e.useProgram("collisionCircle"),k=new t.StructArrayLayout2f1f2i16;k.resize(4*h),k._trim();for(var A=0,M=0,S=f;M<S.length;M+=1)for(var E=S[M],L=0;L<E.circleArray.length/4;L++){var C=4*L,P=E.circleArray[C+0],O=E.circleArray[C+1],I=E.circleArray[C+2],D=E.circleArray[C+3];k.emplace(A++,P,O,I,D,0),k.emplace(A++,P,O,I,D,1),k.emplace(A++,P,O,I,D,2),k.emplace(A++,P,O,I,D,3)}(!Zr||Zr.length<2*h)&&(Zr=function(e){var r=2*e,n=new t.StructArrayLayout3ui6;n.resize(r),n._trim();for(var i=0;i<r;i++){var a=6*i;n.uint16[a+0]=4*i+0,n.uint16[a+1]=4*i+1,n.uint16[a+2]=4*i+2,n.uint16[a+3]=4*i+2,n.uint16[a+4]=4*i+3,n.uint16[a+5]=4*i+0}return n}(h));for(var z=l.createIndexBuffer(Zr,!0),R=l.createVertexBuffer(k,t.collisionCircleLayout.members,!0),F=0,B=f;F<B.length;F+=1){var N=B[F],j=Dr(N.transform,N.invTransform,e.transform);T.draw(l,u.TRIANGLES,Mt.disabled,Et.disabled,e.colorModeForRenderPass(),Ct.disabled,j,n.id,R,z,t.SegmentVector.simpleSegment(0,2*N.circleOffset,N.circleArray.length,N.circleArray.length/2),null,e.transform.zoom,null,null,null)}R.destroy(),z.destroy()}}var tn=t.identity(new Float32Array(16));function en(e,r,n,i,a,o){var s=t.getAnchorAlignment(e),l=-(s.horizontalAlign-.5)*r,u=-(s.verticalAlign-.5)*n,c=t.evaluateVariableOffset(e,i);return new t.Point((l/a+c[0])*o,(u/a+c[1])*o)}function rn(e,r,n,i,a,o,s,l,u,c,f){var h=e.text.placedSymbolArray,p=e.text.dynamicLayoutVertexArray,d=e.icon.dynamicLayoutVertexArray,v={};p.clear();for(var g=0;g<h.length;g++){var y=h.get(g),m=e.allowVerticalPlacement&&!y.placedOrientation,x=y.hidden||!y.crossTileID||m?null:i[y.crossTileID];if(x){var b=new t.Point(y.anchorX,y.anchorY),_=re(b,n?l:s),w=ne(o.cameraToCenterDistance,_.signedDistanceFromCamera),T=a.evaluateSizeForFeature(e.textSizeData,c,y)*w/t.ONE_EM;n&&(T*=e.tilePixelRatio/u);for(var k=x.width,A=x.height,M=en(x.anchor,k,A,x.textOffset,x.textBoxScale,T),S=n?re(b.add(M),s).point:_.point.add(r?M.rotate(-o.angle):M),E=e.allowVerticalPlacement&&y.placedOrientation===t.WritingMode.vertical?Math.PI/2:0,L=0;L<y.numGlyphs;L++)t.addDynamicAttributes(p,S,E);f&&y.associatedIconIndex>=0&&(v[y.associatedIconIndex]={shiftedAnchor:S,angle:E})}else he(y.numGlyphs,p)}if(f){d.clear();for(var C=e.icon.placedSymbolArray,P=0;P<C.length;P++){var O=C.get(P);if(O.hidden)he(O.numGlyphs,d);else{var I=v[P];if(I)for(var D=0;D<O.numGlyphs;D++)t.addDynamicAttributes(d,I.shiftedAnchor,I.angle);else he(O.numGlyphs,d)}}e.icon.dynamicLayoutVertexBuffer.updateData(d)}e.text.dynamicLayoutVertexBuffer.updateData(p)}function nn(t,e,r){return r.iconsInText&&e?"symbolTextAndIcon":t?"symbolSDF":"symbolIcon"}function an(e,r,n,i,a,o,s,l,u,c,f,h){for(var p=e.context,d=p.gl,v=e.transform,g="map"===l,y="map"===u,m=g&&"point"!==n.layout.get("symbol-placement"),x=g&&!y&&!m,b=void 0!==n.layout.get("symbol-sort-key").constantOr(1),_=e.depthModeForSublayer(0,Mt.ReadOnly),w=n.layout.get("text-variable-anchor"),T=[],k=0,A=i;k<A.length;k+=1){var M=A[k],S=r.getTile(M),E=S.getBucket(n);if(E){var L=a?E.text:E.icon;if(L&&L.segments.get().length){var C=L.programConfigurations.get(n.id),P=a||E.sdfIcons,O=a?E.textSizeData:E.iconSizeData,I=y||0!==v.pitch,D=e.useProgram(nn(P,a,E),C),z=t.evaluateSizeForZoom(O,v.zoom),R=void 0,F=[0,0],B=void 0,N=void 0,j=null,U=void 0;if(a){if(B=S.glyphAtlasTexture,N=d.LINEAR,R=S.glyphAtlasTexture.size,E.iconsInText){F=S.imageAtlasTexture.size,j=S.imageAtlasTexture;var V="composite"===O.kind||"camera"===O.kind;U=I||e.options.rotating||e.options.zooming||V?d.LINEAR:d.NEAREST}}else{var H=1!==n.layout.get("icon-size").constantOr(0)||E.iconsNeedLinear;B=S.imageAtlasTexture,N=P||e.options.rotating||e.options.zooming||H||I?d.LINEAR:d.NEAREST,R=S.imageAtlasTexture.size}var q=ge(S,1,e.transform.zoom),G=te(M.posMatrix,y,g,e.transform,q),Z=ee(M.posMatrix,y,g,e.transform,q),Y=w&&E.hasTextData(),W="none"!==n.layout.get("icon-text-fit")&&Y&&E.hasIconData();m&&ae(E,M.posMatrix,e,a,G,Z,y,c);var X=e.translatePosMatrix(M.posMatrix,S,o,s),J=m||a&&w||W?tn:G,K=e.translatePosMatrix(Z,S,o,s,!0),$=P&&0!==n.paint.get(a?"text-halo-width":"icon-halo-width").constantOr(1),Q={program:D,buffers:L,uniformValues:P?E.iconsInText?Xr(O.kind,z,x,y,e,X,J,K,R,F):Wr(O.kind,z,x,y,e,X,J,K,a,R,!0):Yr(O.kind,z,x,y,e,X,J,K,a,R),atlasTexture:B,atlasTextureIcon:j,atlasInterpolation:N,atlasInterpolationIcon:U,isSDF:P,hasHalo:$};if(b)for(var tt=0,et=L.segments.get();tt<et.length;tt+=1){var rt=et[tt];T.push({segments:new t.SegmentVector([rt]),sortKey:rt.sortKey,state:Q})}else T.push({segments:L.segments,sortKey:0,state:Q})}}}b&&T.sort((function(t,e){return t.sortKey-e.sortKey}));for(var nt=0,it=T;nt<it.length;nt+=1){var at=it[nt],ot=at.state;if(p.activeTexture.set(d.TEXTURE0),ot.atlasTexture.bind(ot.atlasInterpolation,d.CLAMP_TO_EDGE),ot.atlasTextureIcon&&(p.activeTexture.set(d.TEXTURE1),ot.atlasTextureIcon&&ot.atlasTextureIcon.bind(ot.atlasInterpolationIcon,d.CLAMP_TO_EDGE)),ot.isSDF){var st=ot.uniformValues;ot.hasHalo&&(st.u_is_halo=1,on(ot.buffers,at.segments,n,e,ot.program,_,f,h,st)),st.u_is_halo=0}on(ot.buffers,at.segments,n,e,ot.program,_,f,h,ot.uniformValues)}}function on(t,e,r,n,i,a,o,s,l){var u=n.context,c=u.gl;i.draw(u,c.TRIANGLES,a,o,s,Ct.disabled,l,r.id,t.layoutVertexBuffer,t.indexBuffer,e,r.paint,n.transform.zoom,t.programConfigurations.get(r.id),t.dynamicLayoutVertexBuffer,t.opacityVertexBuffer)}function sn(t,e,r,n,i,a,o){var s,l,u,c,f,h=t.context.gl,p=r.paint.get("fill-pattern"),d=p&&p.constantOr(1),v=r.getCrossfadeParameters();o?(l=d&&!r.getPaintProperty("fill-outline-color")?"fillOutlinePattern":"fillOutline",s=h.LINES):(l=d?"fillPattern":"fill",s=h.TRIANGLES);for(var g=0,y=n;g<y.length;g+=1){var m=y[g],x=e.getTile(m);if(!d||x.patternsLoaded()){var b=x.getBucket(r);if(b){var _=b.programConfigurations.get(r.id),w=t.useProgram(l,_);d&&(t.context.activeTexture.set(h.TEXTURE0),x.imageAtlasTexture.bind(h.LINEAR,h.CLAMP_TO_EDGE),_.updatePaintBuffers(v));var T=p.constantOr(null);if(T&&x.imageAtlas){var k=x.imageAtlas,A=k.patternPositions[T.to.toString()],M=k.patternPositions[T.from.toString()];A&&M&&_.setConstantPatternPositions(A,M)}var S=t.translatePosMatrix(m.posMatrix,x,r.paint.get("fill-translate"),r.paint.get("fill-translate-anchor"));if(o){c=b.indexBuffer2,f=b.segments2;var E=[h.drawingBufferWidth,h.drawingBufferHeight];u="fillOutlinePattern"===l&&d?Pr(S,t,v,x,E):Cr(S,E)}else c=b.indexBuffer,f=b.segments,u=d?Lr(S,t,v,x):Er(S);w.draw(t.context,s,i,t.stencilModeForClipping(m),a,Ct.disabled,u,r.id,b.layoutVertexBuffer,c,f,r.paint,t.transform.zoom,_)}}}}function ln(t,e,r,n,i,a,o){for(var s=t.context,l=s.gl,u=r.paint.get("fill-extrusion-pattern"),c=u.constantOr(1),f=r.getCrossfadeParameters(),h=r.paint.get("fill-extrusion-opacity"),p=0,d=n;p<d.length;p+=1){var v=d[p],g=e.getTile(v),y=g.getBucket(r);if(y){var m=y.programConfigurations.get(r.id),x=t.useProgram(c?"fillExtrusionPattern":"fillExtrusion",m);c&&(t.context.activeTexture.set(l.TEXTURE0),g.imageAtlasTexture.bind(l.LINEAR,l.CLAMP_TO_EDGE),m.updatePaintBuffers(f));var b=u.constantOr(null);if(b&&g.imageAtlas){var _=g.imageAtlas,w=_.patternPositions[b.to.toString()],T=_.patternPositions[b.from.toString()];w&&T&&m.setConstantPatternPositions(w,T)}var k=t.translatePosMatrix(v.posMatrix,g,r.paint.get("fill-extrusion-translate"),r.paint.get("fill-extrusion-translate-anchor")),A=r.paint.get("fill-extrusion-vertical-gradient"),M=c?Sr(k,t,A,h,v,f,g):Mr(k,t,A,h);x.draw(s,s.gl.TRIANGLES,i,a,o,Ct.backCCW,M,r.id,y.layoutVertexBuffer,y.indexBuffer,y.segments,r.paint,t.transform.zoom,m)}}}function un(e,r,n,i,a,o){var s=e.context,l=s.gl,u=r.fbo;if(u){var c=e.useProgram("hillshade");s.activeTexture.set(l.TEXTURE0),l.bindTexture(l.TEXTURE_2D,u.colorAttachment.get());var f=function(e,r,n){var i=n.paint.get("hillshade-shadow-color"),a=n.paint.get("hillshade-highlight-color"),o=n.paint.get("hillshade-accent-color"),s=n.paint.get("hillshade-illumination-direction")*(Math.PI/180);"viewport"===n.paint.get("hillshade-illumination-anchor")&&(s-=e.transform.angle);var l,u,c,f=!e.options.moving;return{u_matrix:e.transform.calculatePosMatrix(r.tileID.toUnwrapped(),f),u_image:0,u_latrange:(l=r.tileID,u=Math.pow(2,l.canonical.z),c=l.canonical.y,[new t.MercatorCoordinate(0,c/u).toLngLat().lat,new t.MercatorCoordinate(0,(c+1)/u).toLngLat().lat]),u_light:[n.paint.get("hillshade-exaggeration"),s],u_shadow:i,u_highlight:a,u_accent:o}}(e,r,n);c.draw(s,l.TRIANGLES,i,a,o,Ct.disabled,f,n.id,e.rasterBoundsBuffer,e.quadTriangleIndexBuffer,e.rasterBoundsSegments)}}function cn(e,r,n,i,a,o,s){var l=e.context,u=l.gl,c=r.dem;if(c&&c.data){var f=c.dim,h=c.stride,p=c.getPixels();if(l.activeTexture.set(u.TEXTURE1),l.pixelStoreUnpackPremultiplyAlpha.set(!1),r.demTexture=r.demTexture||e.getTileTexture(h),r.demTexture){var d=r.demTexture;d.update(p,{premultiply:!1}),d.bind(u.NEAREST,u.CLAMP_TO_EDGE)}else r.demTexture=new t.Texture(l,p,u.RGBA,{premultiply:!1}),r.demTexture.bind(u.NEAREST,u.CLAMP_TO_EDGE);l.activeTexture.set(u.TEXTURE0);var v=r.fbo;if(!v){var g=new t.Texture(l,{width:f,height:f,data:null},u.RGBA);g.bind(u.LINEAR,u.CLAMP_TO_EDGE),(v=r.fbo=l.createFramebuffer(f,f,!0)).colorAttachment.set(g.texture)}l.bindFramebuffer.set(v.framebuffer),l.viewport.set([0,0,f,f]),e.useProgram("hillshadePrepare").draw(l,u.TRIANGLES,a,o,s,Ct.disabled,function(e,r,n){var i=r.stride,a=t.create();return t.ortho(a,0,t.EXTENT,-t.EXTENT,0,0,1),t.translate(a,a,[0,-t.EXTENT,0]),{u_matrix:a,u_image:1,u_dimension:[i,i],u_zoom:e.overscaledZ,u_maxzoom:n,u_unpack:r.getUnpackVector()}}(r.tileID,c,i),n.id,e.rasterBoundsBuffer,e.quadTriangleIndexBuffer,e.rasterBoundsSegments),r.needsHillshadePrepare=!1}}function fn(e,r,n,i,a){var o=i.paint.get("raster-fade-duration");if(o>0){var s=t.browser.now(),l=(s-e.timeAdded)/o,u=r?(s-r.timeAdded)/o:-1,c=n.getSource(),f=a.coveringZoomLevel({tileSize:c.tileSize,roundZoom:c.roundZoom}),h=!r||Math.abs(r.tileID.overscaledZ-f)>Math.abs(e.tileID.overscaledZ-f),p=h&&e.refreshedUponExpiration?1:t.clamp(h?l:1-u,0,1);return e.refreshedUponExpiration&&l>=1&&(e.refreshedUponExpiration=!1),r?{opacity:1,mix:1-p}:{opacity:p,mix:0}}return{opacity:1,mix:0}}var hn=new t.Color(1,0,0,1),pn=new t.Color(0,1,0,1),dn=new t.Color(0,0,1,1),vn=new t.Color(1,0,1,1),gn=new t.Color(0,1,1,1);function yn(t){var e=t.transform.padding;mn(t,t.transform.height-(e.top||0),3,hn),mn(t,e.bottom||0,3,pn),xn(t,e.left||0,3,dn),xn(t,t.transform.width-(e.right||0),3,vn);var r=t.transform.centerPoint;!function(t,e,r,n){var i=20,a=2;bn(t,e-a/2,r-i/2,a,i,n),bn(t,e-i/2,r-a/2,i,a,n)}(t,r.x,t.transform.height-r.y,gn)}function mn(t,e,r,n){bn(t,0,e+r/2,t.transform.width,r,n)}function xn(t,e,r,n){bn(t,e-r/2,0,r,t.transform.height,n)}function bn(e,r,n,i,a,o){var s=e.context,l=s.gl;l.enable(l.SCISSOR_TEST),l.scissor(r*t.browser.devicePixelRatio,n*t.browser.devicePixelRatio,i*t.browser.devicePixelRatio,a*t.browser.devicePixelRatio),s.clear({color:o}),l.disable(l.SCISSOR_TEST)}function _n(e,r,n){var i=e.context,a=i.gl,o=n.posMatrix,s=e.useProgram("debug"),l=Mt.disabled,u=Et.disabled,c=e.colorModeForRenderPass(),f="$debug";i.activeTexture.set(a.TEXTURE0),e.emptyTexture.bind(a.LINEAR,a.CLAMP_TO_EDGE),s.draw(i,a.LINE_STRIP,l,u,c,Ct.disabled,zr(o,t.Color.red),f,e.debugBuffer,e.tileBorderIndexBuffer,e.debugSegments);var h=r.getTileByID(n.key).latestRawTileData,p=h&&h.byteLength||0,d=Math.floor(p/1024),v=r.getTile(n).tileSize,g=512/Math.min(v,512)*(n.overscaledZ/e.transform.zoom)*.5,y=n.canonical.toString();n.overscaledZ!==n.canonical.z&&(y+=" => "+n.overscaledZ),function(t,e){t.initDebugOverlayCanvas();var r=t.debugOverlayCanvas,n=t.context.gl,i=t.debugOverlayCanvas.getContext("2d");i.clearRect(0,0,r.width,r.height),i.shadowColor="white",i.shadowBlur=2,i.lineWidth=1.5,i.strokeStyle="white",i.textBaseline="top",i.font="bold 36px Open Sans, sans-serif",i.fillText(e,5,5),i.strokeText(e,5,5),t.debugOverlayTexture.update(r),t.debugOverlayTexture.bind(n.LINEAR,n.CLAMP_TO_EDGE)}(e,y+" "+d+"kb"),s.draw(i,a.TRIANGLES,l,u,Lt.alphaBlended,Ct.disabled,zr(o,t.Color.transparent,g),f,e.debugBuffer,e.quadTriangleIndexBuffer,e.debugSegments)}var wn={symbol:function(e,r,n,i,a){if("translucent"===e.renderPass){var o=Et.disabled,s=e.colorModeForRenderPass();n.layout.get("text-variable-anchor")&&function(e,r,n,i,a,o,s){for(var l=r.transform,u="map"===a,c="map"===o,f=0,h=e;f<h.length;f+=1){var p=h[f],d=i.getTile(p),v=d.getBucket(n);if(v&&v.text&&v.text.segments.get().length){var g=v.textSizeData,y=t.evaluateSizeForZoom(g,l.zoom),m=ge(d,1,r.transform.zoom),x=te(p.posMatrix,c,u,r.transform,m),b="none"!==n.layout.get("icon-text-fit")&&v.hasIconData();if(y){var _=Math.pow(2,l.zoom-d.tileID.overscaledZ);rn(v,u,c,s,t.symbolSize,l,x,p.posMatrix,_,y,b)}}}}(i,e,n,r,n.layout.get("text-rotation-alignment"),n.layout.get("text-pitch-alignment"),a),0!==n.paint.get("icon-opacity").constantOr(1)&&an(e,r,n,i,!1,n.paint.get("icon-translate"),n.paint.get("icon-translate-anchor"),n.layout.get("icon-rotation-alignment"),n.layout.get("icon-pitch-alignment"),n.layout.get("icon-keep-upright"),o,s),0!==n.paint.get("text-opacity").constantOr(1)&&an(e,r,n,i,!0,n.paint.get("text-translate"),n.paint.get("text-translate-anchor"),n.layout.get("text-rotation-alignment"),n.layout.get("text-pitch-alignment"),n.layout.get("text-keep-upright"),o,s),r.map.showCollisionBoxes&&(Qr(e,r,n,i,n.paint.get("text-translate"),n.paint.get("text-translate-anchor"),!0),Qr(e,r,n,i,n.paint.get("icon-translate"),n.paint.get("icon-translate-anchor"),!1))}},circle:function(e,r,n,i){if("translucent"===e.renderPass){var a=n.paint.get("circle-opacity"),o=n.paint.get("circle-stroke-width"),s=n.paint.get("circle-stroke-opacity"),l=void 0!==n.layout.get("circle-sort-key").constantOr(1);if(0!==a.constantOr(1)||0!==o.constantOr(1)&&0!==s.constantOr(1)){for(var u=e.context,c=u.gl,f=e.depthModeForSublayer(0,Mt.ReadOnly),h=Et.disabled,p=e.colorModeForRenderPass(),d=[],v=0;v<i.length;v++){var g=i[v],y=r.getTile(g),m=y.getBucket(n);if(m){var x=m.programConfigurations.get(n.id),b={programConfiguration:x,program:e.useProgram("circle",x),layoutVertexBuffer:m.layoutVertexBuffer,indexBuffer:m.indexBuffer,uniformValues:Or(e,g,y,n)};if(l)for(var _=0,w=m.segments.get();_<w.length;_+=1){var T=w[_];d.push({segments:new t.SegmentVector([T]),sortKey:T.sortKey,state:b})}else d.push({segments:m.segments,sortKey:0,state:b})}}l&&d.sort((function(t,e){return t.sortKey-e.sortKey}));for(var k=0,A=d;k<A.length;k+=1){var M=A[k],S=M.state,E=S.programConfiguration,L=S.program,C=S.layoutVertexBuffer,P=S.indexBuffer,O=S.uniformValues,I=M.segments;L.draw(u,c.TRIANGLES,f,h,p,Ct.disabled,O,n.id,C,P,I,n.paint,e.transform.zoom,E)}}}},heatmap:function(e,r,n,i){if(0!==n.paint.get("heatmap-opacity"))if("offscreen"===e.renderPass){var a=e.context,o=a.gl,s=Et.disabled,l=new Lt([o.ONE,o.ONE],t.Color.transparent,[!0,!0,!0,!0]);(function(t,e,r){var n=t.gl;t.activeTexture.set(n.TEXTURE1),t.viewport.set([0,0,e.width/4,e.height/4]);var i=r.heatmapFbo;if(i)n.bindTexture(n.TEXTURE_2D,i.colorAttachment.get()),t.bindFramebuffer.set(i.framebuffer);else{var a=n.createTexture();n.bindTexture(n.TEXTURE_2D,a),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_S,n.CLAMP_TO_EDGE),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_T,n.CLAMP_TO_EDGE),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MIN_FILTER,n.LINEAR),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MAG_FILTER,n.LINEAR),i=r.heatmapFbo=t.createFramebuffer(e.width/4,e.height/4,!1),function(t,e,r,n){var i=t.gl,a=t.extRenderToTextureHalfFloat?t.extTextureHalfFloat.HALF_FLOAT_OES:i.UNSIGNED_BYTE;i.texImage2D(i.TEXTURE_2D,0,i.RGBA,e.width/4,e.height/4,0,i.RGBA,a,null),n.colorAttachment.set(r)}(t,e,a,i)}})(a,e,n),a.clear({color:t.Color.transparent});for(var u=0;u<i.length;u++){var c=i[u];if(!r.hasRenderableParent(c)){var f=r.getTile(c),h=f.getBucket(n);if(h){var p=h.programConfigurations.get(n.id),d=e.useProgram("heatmap",p),v=e.transform.zoom;d.draw(a,o.TRIANGLES,Mt.disabled,s,l,Ct.disabled,Fr(c.posMatrix,f,v,n.paint.get("heatmap-intensity")),n.id,h.layoutVertexBuffer,h.indexBuffer,h.segments,n.paint,e.transform.zoom,p)}}}a.viewport.set([0,0,e.width,e.height])}else"translucent"===e.renderPass&&(e.context.setColorMode(e.colorModeForRenderPass()),function(e,r){var n=e.context,i=n.gl,a=r.heatmapFbo;if(a){n.activeTexture.set(i.TEXTURE0),i.bindTexture(i.TEXTURE_2D,a.colorAttachment.get()),n.activeTexture.set(i.TEXTURE1);var o=r.colorRampTexture;o||(o=r.colorRampTexture=new t.Texture(n,r.colorRamp,i.RGBA)),o.bind(i.LINEAR,i.CLAMP_TO_EDGE),e.useProgram("heatmapTexture").draw(n,i.TRIANGLES,Mt.disabled,Et.disabled,e.colorModeForRenderPass(),Ct.disabled,function(e,r,n,i){var a=t.create();t.ortho(a,0,e.width,e.height,0,0,1);var o=e.context.gl;return{u_matrix:a,u_world:[o.drawingBufferWidth,o.drawingBufferHeight],u_image:n,u_color_ramp:i,u_opacity:r.paint.get("heatmap-opacity")}}(e,r,0,1),r.id,e.viewportBuffer,e.quadTriangleIndexBuffer,e.viewportSegments,r.paint,e.transform.zoom)}}(e,n))},line:function(e,r,n,i){if("translucent"===e.renderPass){var a=n.paint.get("line-opacity"),o=n.paint.get("line-width");if(0!==a.constantOr(1)&&0!==o.constantOr(1)){var s=e.depthModeForSublayer(0,Mt.ReadOnly),l=e.colorModeForRenderPass(),u=n.paint.get("line-dasharray"),c=n.paint.get("line-pattern"),f=c.constantOr(1),h=n.paint.get("line-gradient"),p=n.getCrossfadeParameters(),d=f?"linePattern":u?"lineSDF":h?"lineGradient":"line",v=e.context,g=v.gl,y=!0;if(h){v.activeTexture.set(g.TEXTURE0);var m=n.gradientTexture;if(!n.gradient)return;m||(m=n.gradientTexture=new t.Texture(v,n.gradient,g.RGBA)),m.bind(g.LINEAR,g.CLAMP_TO_EDGE)}for(var x=0,b=i;x<b.length;x+=1){var _=b[x],w=r.getTile(_);if(!f||w.patternsLoaded()){var T=w.getBucket(n);if(T){var k=T.programConfigurations.get(n.id),A=e.context.program.get(),M=e.useProgram(d,k),S=y||M.program!==A,E=c.constantOr(null);if(E&&w.imageAtlas){var L=w.imageAtlas,C=L.patternPositions[E.to.toString()],P=L.patternPositions[E.from.toString()];C&&P&&k.setConstantPatternPositions(C,P)}var O=f?jr(e,w,n,p):u?Ur(e,w,n,u,p):h?Nr(e,w,n):Br(e,w,n);f?(v.activeTexture.set(g.TEXTURE0),w.imageAtlasTexture.bind(g.LINEAR,g.CLAMP_TO_EDGE),k.updatePaintBuffers(p)):u&&(S||e.lineAtlas.dirty)&&(v.activeTexture.set(g.TEXTURE0),e.lineAtlas.bind(v)),M.draw(v,g.TRIANGLES,s,e.stencilModeForClipping(_),l,Ct.disabled,O,n.id,T.layoutVertexBuffer,T.indexBuffer,T.segments,n.paint,e.transform.zoom,k),y=!1}}}}}},fill:function(e,r,n,i){var a=n.paint.get("fill-color"),o=n.paint.get("fill-opacity");if(0!==o.constantOr(1)){var s=e.colorModeForRenderPass(),l=n.paint.get("fill-pattern"),u=e.opaquePassEnabledForLayer()&&!l.constantOr(1)&&1===a.constantOr(t.Color.transparent).a&&1===o.constantOr(0)?"opaque":"translucent";if(e.renderPass===u){var c=e.depthModeForSublayer(1,"opaque"===e.renderPass?Mt.ReadWrite:Mt.ReadOnly);sn(e,r,n,i,c,s,!1)}if("translucent"===e.renderPass&&n.paint.get("fill-antialias")){var f=e.depthModeForSublayer(n.getPaintProperty("fill-outline-color")?2:0,Mt.ReadOnly);sn(e,r,n,i,f,s,!0)}}},"fill-extrusion":function(t,e,r,n){var i=r.paint.get("fill-extrusion-opacity");if(0!==i&&"translucent"===t.renderPass){var a=new Mt(t.context.gl.LEQUAL,Mt.ReadWrite,t.depthRangeFor3D);if(1!==i||r.paint.get("fill-extrusion-pattern").constantOr(1))ln(t,e,r,n,a,Et.disabled,Lt.disabled),ln(t,e,r,n,a,t.stencilModeFor3D(),t.colorModeForRenderPass());else{var o=t.colorModeForRenderPass();ln(t,e,r,n,a,Et.disabled,o)}}},hillshade:function(t,e,r,n){if("offscreen"===t.renderPass||"translucent"===t.renderPass){for(var i=t.context,a=e.getSource().maxzoom,o=t.depthModeForSublayer(0,Mt.ReadOnly),s=t.colorModeForRenderPass(),l="translucent"===t.renderPass?t.stencilConfigForOverlap(n):[{},n],u=l[0],c=0,f=l[1];c<f.length;c+=1){var h=f[c],p=e.getTile(h);p.needsHillshadePrepare&&"offscreen"===t.renderPass?cn(t,p,r,a,o,Et.disabled,s):"translucent"===t.renderPass&&un(t,p,r,o,u[h.overscaledZ],s)}i.viewport.set([0,0,t.width,t.height])}},raster:function(t,e,r,n){if("translucent"===t.renderPass&&0!==r.paint.get("raster-opacity")&&n.length)for(var i=t.context,a=i.gl,o=e.getSource(),s=t.useProgram("raster"),l=t.colorModeForRenderPass(),u=o instanceof I?[{},n]:t.stencilConfigForOverlap(n),c=u[0],f=u[1],h=f[f.length-1].overscaledZ,p=!t.options.moving,d=0,v=f;d<v.length;d+=1){var g=v[d],y=t.depthModeForSublayer(g.overscaledZ-h,1===r.paint.get("raster-opacity")?Mt.ReadWrite:Mt.ReadOnly,a.LESS),m=e.getTile(g),x=t.transform.calculatePosMatrix(g.toUnwrapped(),p);m.registerFadeDuration(r.paint.get("raster-fade-duration"));var b=e.findLoadedParent(g,0),_=fn(m,b,e,r,t.transform),w=void 0,T=void 0,k="nearest"===r.paint.get("raster-resampling")?a.NEAREST:a.LINEAR;i.activeTexture.set(a.TEXTURE0),m.texture.bind(k,a.CLAMP_TO_EDGE,a.LINEAR_MIPMAP_NEAREST),i.activeTexture.set(a.TEXTURE1),b?(b.texture.bind(k,a.CLAMP_TO_EDGE,a.LINEAR_MIPMAP_NEAREST),w=Math.pow(2,b.tileID.overscaledZ-m.tileID.overscaledZ),T=[m.tileID.canonical.x*w%1,m.tileID.canonical.y*w%1]):m.texture.bind(k,a.CLAMP_TO_EDGE,a.LINEAR_MIPMAP_NEAREST);var A=qr(x,T||[0,0],w||1,_,r);o instanceof I?s.draw(i,a.TRIANGLES,y,Et.disabled,l,Ct.disabled,A,r.id,o.boundsBuffer,t.quadTriangleIndexBuffer,o.boundsSegments):s.draw(i,a.TRIANGLES,y,c[g.overscaledZ],l,Ct.disabled,A,r.id,t.rasterBoundsBuffer,t.quadTriangleIndexBuffer,t.rasterBoundsSegments)}},background:function(t,e,r){var n=r.paint.get("background-color"),i=r.paint.get("background-opacity");if(0!==i){var a=t.context,o=a.gl,s=t.transform,l=s.tileSize,u=r.paint.get("background-pattern");if(!t.isPatternMissing(u)){var c=!u&&1===n.a&&1===i&&t.opaquePassEnabledForLayer()?"opaque":"translucent";if(t.renderPass===c){var f=Et.disabled,h=t.depthModeForSublayer(0,"opaque"===c?Mt.ReadWrite:Mt.ReadOnly),p=t.colorModeForRenderPass(),d=t.useProgram(u?"backgroundPattern":"background"),v=s.coveringTiles({tileSize:l});u&&(a.activeTexture.set(o.TEXTURE0),t.imageManager.bind(t.context));for(var g=r.getCrossfadeParameters(),y=0,m=v;y<m.length;y+=1){var x=m[y],b=t.transform.calculatePosMatrix(x.toUnwrapped()),_=u?Kr(b,i,t,u,{tileID:x,tileSize:l},g):Jr(b,i,n);d.draw(a,o.TRIANGLES,h,f,p,Ct.disabled,_,r.id,t.tileExtentBuffer,t.quadTriangleIndexBuffer,t.tileExtentSegments)}}}}},debug:function(t,e,r){for(var n=0;n<r.length;n++)_n(t,e,r[n])},custom:function(t,e,r){var n=t.context,i=r.implementation;if("offscreen"===t.renderPass){var a=i.prerender;a&&(t.setCustomLayerDefaults(),n.setColorMode(t.colorModeForRenderPass()),a.call(i,n.gl,t.transform.customLayerMatrix()),n.setDirty(),t.setBaseState())}else if("translucent"===t.renderPass){t.setCustomLayerDefaults(),n.setColorMode(t.colorModeForRenderPass()),n.setStencilMode(Et.disabled);var o="3d"===i.renderingMode?new Mt(t.context.gl.LEQUAL,Mt.ReadWrite,t.depthRangeFor3D):t.depthModeForSublayer(0,Mt.ReadOnly);n.setDepthMode(o),i.render(n.gl,t.transform.customLayerMatrix()),n.setDirty(),t.setBaseState(),n.bindFramebuffer.set(null)}}},Tn=function(t,e){this.context=new Pt(t),this.transform=e,this._tileTextures={},this.setup(),this.numSublayers=Ot.maxUnderzooming+Ot.maxOverzooming+1,this.depthEpsilon=1/Math.pow(2,16),this.crossTileSymbolIndex=new Ve,this.gpuTimers={}};Tn.prototype.resize=function(e,r){if(this.width=e*t.browser.devicePixelRatio,this.height=r*t.browser.devicePixelRatio,this.context.viewport.set([0,0,this.width,this.height]),this.style)for(var n=0,i=this.style._order;n<i.length;n+=1){var a=i[n];this.style._layers[a].resize()}},Tn.prototype.setup=function(){var e=this.context,r=new t.StructArrayLayout2i4;r.emplaceBack(0,0),r.emplaceBack(t.EXTENT,0),r.emplaceBack(0,t.EXTENT),r.emplaceBack(t.EXTENT,t.EXTENT),this.tileExtentBuffer=e.createVertexBuffer(r,We.members),this.tileExtentSegments=t.SegmentVector.simpleSegment(0,0,4,2);var n=new t.StructArrayLayout2i4;n.emplaceBack(0,0),n.emplaceBack(t.EXTENT,0),n.emplaceBack(0,t.EXTENT),n.emplaceBack(t.EXTENT,t.EXTENT),this.debugBuffer=e.createVertexBuffer(n,We.members),this.debugSegments=t.SegmentVector.simpleSegment(0,0,4,5);var i=new t.StructArrayLayout4i8;i.emplaceBack(0,0,0,0),i.emplaceBack(t.EXTENT,0,t.EXTENT,0),i.emplaceBack(0,t.EXTENT,0,t.EXTENT),i.emplaceBack(t.EXTENT,t.EXTENT,t.EXTENT,t.EXTENT),this.rasterBoundsBuffer=e.createVertexBuffer(i,O.members),this.rasterBoundsSegments=t.SegmentVector.simpleSegment(0,0,4,2);var a=new t.StructArrayLayout2i4;a.emplaceBack(0,0),a.emplaceBack(1,0),a.emplaceBack(0,1),a.emplaceBack(1,1),this.viewportBuffer=e.createVertexBuffer(a,We.members),this.viewportSegments=t.SegmentVector.simpleSegment(0,0,4,2);var o=new t.StructArrayLayout1ui2;o.emplaceBack(0),o.emplaceBack(1),o.emplaceBack(3),o.emplaceBack(2),o.emplaceBack(0),this.tileBorderIndexBuffer=e.createIndexBuffer(o);var s=new t.StructArrayLayout3ui6;s.emplaceBack(0,1,2),s.emplaceBack(2,1,3),this.quadTriangleIndexBuffer=e.createIndexBuffer(s),this.emptyTexture=new t.Texture(e,{width:1,height:1,data:new Uint8Array([0,0,0,0])},e.gl.RGBA);var l=this.context.gl;this.stencilClearMode=new Et({func:l.ALWAYS,mask:0},0,255,l.ZERO,l.ZERO,l.ZERO)},Tn.prototype.clearStencil=function(){var e=this.context,r=e.gl;this.nextStencilID=1,this.currentStencilSource=void 0;var n=t.create();t.ortho(n,0,this.width,this.height,0,0,1),t.scale(n,n,[r.drawingBufferWidth,r.drawingBufferHeight,0]),this.useProgram("clippingMask").draw(e,r.TRIANGLES,Mt.disabled,this.stencilClearMode,Lt.disabled,Ct.disabled,Rr(n),"$clipping",this.viewportBuffer,this.quadTriangleIndexBuffer,this.viewportSegments)},Tn.prototype._renderTileClippingMasks=function(t,e){if(this.currentStencilSource!==t.source&&t.isTileClipped()&&e&&e.length){this.currentStencilSource=t.source;var r=this.context,n=r.gl;this.nextStencilID+e.length>256&&this.clearStencil(),r.setColorMode(Lt.disabled),r.setDepthMode(Mt.disabled);var i=this.useProgram("clippingMask");this._tileClippingMaskIDs={};for(var a=0,o=e;a<o.length;a+=1){var s=o[a],l=this._tileClippingMaskIDs[s.key]=this.nextStencilID++;i.draw(r,n.TRIANGLES,Mt.disabled,new Et({func:n.ALWAYS,mask:0},l,255,n.KEEP,n.KEEP,n.REPLACE),Lt.disabled,Ct.disabled,Rr(s.posMatrix),"$clipping",this.tileExtentBuffer,this.quadTriangleIndexBuffer,this.tileExtentSegments)}}},Tn.prototype.stencilModeFor3D=function(){this.currentStencilSource=void 0,this.nextStencilID+1>256&&this.clearStencil();var t=this.nextStencilID++,e=this.context.gl;return new Et({func:e.NOTEQUAL,mask:255},t,255,e.KEEP,e.KEEP,e.REPLACE)},Tn.prototype.stencilModeForClipping=function(t){var e=this.context.gl;return new Et({func:e.EQUAL,mask:255},this._tileClippingMaskIDs[t.key],0,e.KEEP,e.KEEP,e.REPLACE)},Tn.prototype.stencilConfigForOverlap=function(t){var e,r=this.context.gl,n=t.sort((function(t,e){return e.overscaledZ-t.overscaledZ})),i=n[n.length-1].overscaledZ,a=n[0].overscaledZ-i+1;if(a>1){this.currentStencilSource=void 0,this.nextStencilID+a>256&&this.clearStencil();for(var o={},s=0;s<a;s++)o[s+i]=new Et({func:r.GEQUAL,mask:255},s+this.nextStencilID,255,r.KEEP,r.KEEP,r.REPLACE);return this.nextStencilID+=a,[o,n]}return[(e={},e[i]=Et.disabled,e),n]},Tn.prototype.colorModeForRenderPass=function(){var e=this.context.gl;if(this._showOverdrawInspector){var r=1/8;return new Lt([e.CONSTANT_COLOR,e.ONE],new t.Color(r,r,r,0),[!0,!0,!0,!0])}return"opaque"===this.renderPass?Lt.unblended:Lt.alphaBlended},Tn.prototype.depthModeForSublayer=function(t,e,r){if(!this.opaquePassEnabledForLayer())return Mt.disabled;var n=1-((1+this.currentLayer)*this.numSublayers+t)*this.depthEpsilon;return new Mt(r||this.context.gl.LEQUAL,e,[n,n])},Tn.prototype.opaquePassEnabledForLayer=function(){return this.currentLayer<this.opaquePassCutoff},Tn.prototype.render=function(e,r){var n=this;this.style=e,this.options=r,this.lineAtlas=e.lineAtlas,this.imageManager=e.imageManager,this.glyphManager=e.glyphManager,this.symbolFadeChange=e.placement.symbolFadeChange(t.browser.now()),this.imageManager.beginFrame();var i=this.style._order,a=this.style.sourceCaches;for(var o in a){var s=a[o];s.used&&s.prepare(this.context)}var l,u,c={},f={},h={};for(var p in a){var d=a[p];c[p]=d.getVisibleCoordinates(),f[p]=c[p].slice().reverse(),h[p]=d.getVisibleCoordinates(!0).reverse()}this.opaquePassCutoff=1/0;for(var v=0;v<i.length;v++){var g=i[v];if(this.style._layers[g].is3D()){this.opaquePassCutoff=v;break}}this.renderPass="offscreen";for(var y=0,m=i;y<m.length;y+=1){var x=m[y],b=this.style._layers[x];if(b.hasOffscreenPass()&&!b.isHidden(this.transform.zoom)){var _=f[b.source];("custom"===b.type||_.length)&&this.renderLayer(this,a[b.source],b,_)}}for(this.context.bindFramebuffer.set(null),this.context.clear({color:r.showOverdrawInspector?t.Color.black:t.Color.transparent,depth:1}),this.clearStencil(),this._showOverdrawInspector=r.showOverdrawInspector,this.depthRangeFor3D=[0,1-(e._order.length+2)*this.numSublayers*this.depthEpsilon],this.renderPass="opaque",this.currentLayer=i.length-1;this.currentLayer>=0;this.currentLayer--){var w=this.style._layers[i[this.currentLayer]],T=a[w.source],k=c[w.source];this._renderTileClippingMasks(w,k),this.renderLayer(this,T,w,k)}for(this.renderPass="translucent",this.currentLayer=0;this.currentLayer<i.length;this.currentLayer++){var A=this.style._layers[i[this.currentLayer]],M=a[A.source],S=("symbol"===A.type?h:f)[A.source];this._renderTileClippingMasks(A,c[A.source]),this.renderLayer(this,M,A,S)}this.options.showTileBoundaries&&(t.values(this.style._layers).forEach((function(t){t.source&&!t.isHidden(n.transform.zoom)&&(t.source!==(u&&u.id)&&(u=n.style.sourceCaches[t.source]),(!l||l.getSource().maxzoom<u.getSource().maxzoom)&&(l=u))})),l&&wn.debug(this,l,l.getVisibleCoordinates())),this.options.showPadding&&yn(this),this.context.setDefault()},Tn.prototype.renderLayer=function(t,e,r,n){r.isHidden(this.transform.zoom)||("background"===r.type||"custom"===r.type||n.length)&&(this.id=r.id,this.gpuTimingStart(r),wn[r.type](t,e,r,n,this.style.placement.variableOffsets),this.gpuTimingEnd())},Tn.prototype.gpuTimingStart=function(t){if(this.options.gpuTiming){var e=this.context.extTimerQuery,r=this.gpuTimers[t.id];r||(r=this.gpuTimers[t.id]={calls:0,cpuTime:0,query:e.createQueryEXT()}),r.calls++,e.beginQueryEXT(e.TIME_ELAPSED_EXT,r.query)}},Tn.prototype.gpuTimingEnd=function(){if(this.options.gpuTiming){var t=this.context.extTimerQuery;t.endQueryEXT(t.TIME_ELAPSED_EXT)}},Tn.prototype.collectGpuTimers=function(){var t=this.gpuTimers;return this.gpuTimers={},t},Tn.prototype.queryGpuTimers=function(t){var e={};for(var r in t){var n=t[r],i=this.context.extTimerQuery,a=i.getQueryObjectEXT(n.query,i.QUERY_RESULT_EXT)/1e6;i.deleteQueryEXT(n.query),e[r]=a}return e},Tn.prototype.translatePosMatrix=function(e,r,n,i,a){if(!n[0]&&!n[1])return e;var o=a?"map"===i?this.transform.angle:0:"viewport"===i?-this.transform.angle:0;if(o){var s=Math.sin(o),l=Math.cos(o);n=[n[0]*l-n[1]*s,n[0]*s+n[1]*l]}var u=[a?n[0]:ge(r,n[0],this.transform.zoom),a?n[1]:ge(r,n[1],this.transform.zoom),0],c=new Float32Array(16);return t.translate(c,e,u),c},Tn.prototype.saveTileTexture=function(t){var e=this._tileTextures[t.size[0]];e?e.push(t):this._tileTextures[t.size[0]]=[t]},Tn.prototype.getTileTexture=function(t){var e=this._tileTextures[t];return e&&e.length>0?e.pop():null},Tn.prototype.isPatternMissing=function(t){if(!t)return!1;if(!t.from||!t.to)return!0;var e=this.imageManager.getPattern(t.from.toString()),r=this.imageManager.getPattern(t.to.toString());return!e||!r},Tn.prototype.useProgram=function(t,e){this.cache=this.cache||{};var r=""+t+(e?e.cacheKey:"")+(this._showOverdrawInspector?"/overdraw":"");return this.cache[r]||(this.cache[r]=new kr(this.context,wr[t],e,$r[t],this._showOverdrawInspector)),this.cache[r]},Tn.prototype.setCustomLayerDefaults=function(){this.context.unbindVAO(),this.context.cullFace.setDefault(),this.context.activeTexture.setDefault(),this.context.pixelStoreUnpack.setDefault(),this.context.pixelStoreUnpackPremultiplyAlpha.setDefault(),this.context.pixelStoreUnpackFlipY.setDefault()},Tn.prototype.setBaseState=function(){var t=this.context.gl;this.context.cullFace.set(!1),this.context.viewport.set([0,0,this.width,this.height]),this.context.blendEquation.set(t.FUNC_ADD)},Tn.prototype.initDebugOverlayCanvas=function(){if(null==this.debugOverlayCanvas){this.debugOverlayCanvas=t.window.document.createElement("canvas"),this.debugOverlayCanvas.width=512,this.debugOverlayCanvas.height=512;var e=this.context.gl;this.debugOverlayTexture=new t.Texture(this.context,this.debugOverlayCanvas,e.RGBA)}},Tn.prototype.destroy=function(){this.emptyTexture.destroy(),this.debugOverlayTexture&&this.debugOverlayTexture.destroy()};var kn=function(t,e){this.points=t,this.planes=e};kn.fromInvProjectionMatrix=function(e,r,n){var i=Math.pow(2,n),a=[[-1,1,-1,1],[1,1,-1,1],[1,-1,-1,1],[-1,-1,-1,1],[-1,1,1,1],[1,1,1,1],[1,-1,1,1],[-1,-1,1,1]].map((function(r){return t.transformMat4([],r,e)})).map((function(e){return t.scale$1([],e,1/e[3]/r*i)})),o=[[0,1,2],[6,5,4],[0,3,7],[2,1,5],[3,2,6],[0,4,5]].map((function(e){var r=t.sub([],a[e[0]],a[e[1]]),n=t.sub([],a[e[2]],a[e[1]]),i=t.normalize([],t.cross([],r,n)),o=-t.dot(i,a[e[1]]);return i.concat(o)}));return new kn(a,o)};var An=function(e,r){this.min=e,this.max=r,this.center=t.scale$2([],t.add([],this.min,this.max),.5)};An.prototype.quadrant=function(e){for(var r=[e%2==0,e<2],n=t.clone$2(this.min),i=t.clone$2(this.max),a=0;a<r.length;a++)n[a]=r[a]?this.min[a]:this.center[a],i[a]=r[a]?this.center[a]:this.max[a];return i[2]=this.max[2],new An(n,i)},An.prototype.distanceX=function(t){return Math.max(Math.min(this.max[0],t[0]),this.min[0])-t[0]},An.prototype.distanceY=function(t){return Math.max(Math.min(this.max[1],t[1]),this.min[1])-t[1]},An.prototype.intersects=function(e){for(var r=[[this.min[0],this.min[1],0,1],[this.max[0],this.min[1],0,1],[this.max[0],this.max[1],0,1],[this.min[0],this.max[1],0,1]],n=!0,i=0;i<e.planes.length;i++){for(var a=e.planes[i],o=0,s=0;s<r.length;s++)o+=t.dot$1(a,r[s])>=0;if(0===o)return 0;o!==r.length&&(n=!1)}if(n)return 2;for(var l=0;l<3;l++){for(var u=Number.MAX_VALUE,c=-Number.MAX_VALUE,f=0;f<e.points.length;f++){var h=e.points[f][l]-this.min[l];u=Math.min(u,h),c=Math.max(c,h)}if(c<0||u>this.max[l]-this.min[l])return 0}return 1};var Mn=function(t,e,r,n){if(void 0===t&&(t=0),void 0===e&&(e=0),void 0===r&&(r=0),void 0===n&&(n=0),isNaN(t)||t<0||isNaN(e)||e<0||isNaN(r)||r<0||isNaN(n)||n<0)throw new Error("Invalid value for edge-insets, top, bottom, left and right must all be numbers");this.top=t,this.bottom=e,this.left=r,this.right=n};Mn.prototype.interpolate=function(e,r,n){return null!=r.top&&null!=e.top&&(this.top=t.number(e.top,r.top,n)),null!=r.bottom&&null!=e.bottom&&(this.bottom=t.number(e.bottom,r.bottom,n)),null!=r.left&&null!=e.left&&(this.left=t.number(e.left,r.left,n)),null!=r.right&&null!=e.right&&(this.right=t.number(e.right,r.right,n)),this},Mn.prototype.getCenter=function(e,r){var n=t.clamp((this.left+e-this.right)/2,0,e),i=t.clamp((this.top+r-this.bottom)/2,0,r);return new t.Point(n,i)},Mn.prototype.equals=function(t){return this.top===t.top&&this.bottom===t.bottom&&this.left===t.left&&this.right===t.right},Mn.prototype.clone=function(){return new Mn(this.top,this.bottom,this.left,this.right)},Mn.prototype.toJSON=function(){return{top:this.top,bottom:this.bottom,left:this.left,right:this.right}};var Sn=function(e,r,n,i,a){this.tileSize=512,this.maxValidLatitude=85.051129,this._renderWorldCopies=void 0===a||a,this._minZoom=e||0,this._maxZoom=r||22,this._minPitch=null==n?0:n,this._maxPitch=null==i?60:i,this.setMaxBounds(),this.width=0,this.height=0,this._center=new t.LngLat(0,0),this.zoom=0,this.angle=0,this._fov=.6435011087932844,this._pitch=0,this._unmodified=!0,this._edgeInsets=new Mn,this._posMatrixCache={},this._alignedPosMatrixCache={}},En={minZoom:{configurable:!0},maxZoom:{configurable:!0},minPitch:{configurable:!0},maxPitch:{configurable:!0},renderWorldCopies:{configurable:!0},worldSize:{configurable:!0},centerOffset:{configurable:!0},size:{configurable:!0},bearing:{configurable:!0},pitch:{configurable:!0},fov:{configurable:!0},zoom:{configurable:!0},center:{configurable:!0},padding:{configurable:!0},centerPoint:{configurable:!0},unmodified:{configurable:!0},point:{configurable:!0}};Sn.prototype.clone=function(){var t=new Sn(this._minZoom,this._maxZoom,this._minPitch,this.maxPitch,this._renderWorldCopies);return t.tileSize=this.tileSize,t.latRange=this.latRange,t.width=this.width,t.height=this.height,t._center=this._center,t.zoom=this.zoom,t.angle=this.angle,t._fov=this._fov,t._pitch=this._pitch,t._unmodified=this._unmodified,t._edgeInsets=this._edgeInsets.clone(),t._calcMatrices(),t},En.minZoom.get=function(){return this._minZoom},En.minZoom.set=function(t){this._minZoom!==t&&(this._minZoom=t,this.zoom=Math.max(this.zoom,t))},En.maxZoom.get=function(){return this._maxZoom},En.maxZoom.set=function(t){this._maxZoom!==t&&(this._maxZoom=t,this.zoom=Math.min(this.zoom,t))},En.minPitch.get=function(){return this._minPitch},En.minPitch.set=function(t){this._minPitch!==t&&(this._minPitch=t,this.pitch=Math.max(this.pitch,t))},En.maxPitch.get=function(){return this._maxPitch},En.maxPitch.set=function(t){this._maxPitch!==t&&(this._maxPitch=t,this.pitch=Math.min(this.pitch,t))},En.renderWorldCopies.get=function(){return this._renderWorldCopies},En.renderWorldCopies.set=function(t){void 0===t?t=!0:null===t&&(t=!1),this._renderWorldCopies=t},En.worldSize.get=function(){return this.tileSize*this.scale},En.centerOffset.get=function(){return this.centerPoint._sub(this.size._div(2))},En.size.get=function(){return new t.Point(this.width,this.height)},En.bearing.get=function(){return-this.angle/Math.PI*180},En.bearing.set=function(e){var r=-t.wrap(e,-180,180)*Math.PI/180;this.angle!==r&&(this._unmodified=!1,this.angle=r,this._calcMatrices(),this.rotationMatrix=t.create$2(),t.rotate(this.rotationMatrix,this.rotationMatrix,this.angle))},En.pitch.get=function(){return this._pitch/Math.PI*180},En.pitch.set=function(e){var r=t.clamp(e,this.minPitch,this.maxPitch)/180*Math.PI;this._pitch!==r&&(this._unmodified=!1,this._pitch=r,this._calcMatrices())},En.fov.get=function(){return this._fov/Math.PI*180},En.fov.set=function(t){t=Math.max(.01,Math.min(60,t)),this._fov!==t&&(this._unmodified=!1,this._fov=t/180*Math.PI,this._calcMatrices())},En.zoom.get=function(){return this._zoom},En.zoom.set=function(t){var e=Math.min(Math.max(t,this.minZoom),this.maxZoom);this._zoom!==e&&(this._unmodified=!1,this._zoom=e,this.scale=this.zoomScale(e),this.tileZoom=Math.floor(e),this.zoomFraction=e-this.tileZoom,this._constrain(),this._calcMatrices())},En.center.get=function(){return this._center},En.center.set=function(t){t.lat===this._center.lat&&t.lng===this._center.lng||(this._unmodified=!1,this._center=t,this._constrain(),this._calcMatrices())},En.padding.get=function(){return this._edgeInsets.toJSON()},En.padding.set=function(t){this._edgeInsets.equals(t)||(this._unmodified=!1,this._edgeInsets.interpolate(this._edgeInsets,t,1),this._calcMatrices())},En.centerPoint.get=function(){return this._edgeInsets.getCenter(this.width,this.height)},Sn.prototype.isPaddingEqual=function(t){return this._edgeInsets.equals(t)},Sn.prototype.interpolatePadding=function(t,e,r){this._unmodified=!1,this._edgeInsets.interpolate(t,e,r),this._constrain(),this._calcMatrices()},Sn.prototype.coveringZoomLevel=function(t){var e=(t.roundZoom?Math.round:Math.floor)(this.zoom+this.scaleZoom(this.tileSize/t.tileSize));return Math.max(0,e)},Sn.prototype.getVisibleUnwrappedCoordinates=function(e){var r=[new t.UnwrappedTileID(0,e)];if(this._renderWorldCopies)for(var n=this.pointCoordinate(new t.Point(0,0)),i=this.pointCoordinate(new t.Point(this.width,0)),a=this.pointCoordinate(new t.Point(this.width,this.height)),o=this.pointCoordinate(new t.Point(0,this.height)),s=Math.floor(Math.min(n.x,i.x,a.x,o.x)),l=Math.floor(Math.max(n.x,i.x,a.x,o.x)),u=s-1;u<=l+1;u++)0!==u&&r.push(new t.UnwrappedTileID(u,e));return r},Sn.prototype.coveringTiles=function(e){var r=this.coveringZoomLevel(e),n=r;if(void 0!==e.minzoom&&r<e.minzoom)return[];void 0!==e.maxzoom&&r>e.maxzoom&&(r=e.maxzoom);var i=t.MercatorCoordinate.fromLngLat(this.center),a=Math.pow(2,r),o=[a*i.x,a*i.y,0],s=kn.fromInvProjectionMatrix(this.invProjMatrix,this.worldSize,r),l=e.minzoom||0;this.pitch<=60&&this._edgeInsets.top<.1&&(l=r);var u=function(t){return{aabb:new An([t*a,0,0],[(t+1)*a,a,0]),zoom:0,x:0,y:0,wrap:t,fullyVisible:!1}},c=[],f=[],h=r,p=e.reparseOverscaled?n:r;if(this._renderWorldCopies)for(var d=1;d<=3;d++)c.push(u(-d)),c.push(u(d));for(c.push(u(0));c.length>0;){var v=c.pop(),g=v.x,y=v.y,m=v.fullyVisible;if(!m){var x=v.aabb.intersects(s);if(0===x)continue;m=2===x}var b=v.aabb.distanceX(o),_=v.aabb.distanceY(o),w=Math.max(Math.abs(b),Math.abs(_)),T=3+(1<<h-v.zoom)-2;if(v.zoom===h||w>T&&v.zoom>=l)f.push({tileID:new t.OverscaledTileID(v.zoom===h?p:v.zoom,v.wrap,v.zoom,g,y),distanceSq:t.sqrLen([o[0]-.5-g,o[1]-.5-y])});else for(var k=0;k<4;k++){var A=(g<<1)+k%2,M=(y<<1)+(k>>1);c.push({aabb:v.aabb.quadrant(k),zoom:v.zoom+1,x:A,y:M,wrap:v.wrap,fullyVisible:m})}}return f.sort((function(t,e){return t.distanceSq-e.distanceSq})).map((function(t){return t.tileID}))},Sn.prototype.resize=function(t,e){this.width=t,this.height=e,this.pixelsToGLUnits=[2/t,-2/e],this._constrain(),this._calcMatrices()},En.unmodified.get=function(){return this._unmodified},Sn.prototype.zoomScale=function(t){return Math.pow(2,t)},Sn.prototype.scaleZoom=function(t){return Math.log(t)/Math.LN2},Sn.prototype.project=function(e){var r=t.clamp(e.lat,-this.maxValidLatitude,this.maxValidLatitude);return new t.Point(t.mercatorXfromLng(e.lng)*this.worldSize,t.mercatorYfromLat(r)*this.worldSize)},Sn.prototype.unproject=function(e){return new t.MercatorCoordinate(e.x/this.worldSize,e.y/this.worldSize).toLngLat()},En.point.get=function(){return this.project(this.center)},Sn.prototype.setLocationAtPoint=function(e,r){var n=this.pointCoordinate(r),i=this.pointCoordinate(this.centerPoint),a=this.locationCoordinate(e),o=new t.MercatorCoordinate(a.x-(n.x-i.x),a.y-(n.y-i.y));this.center=this.coordinateLocation(o),this._renderWorldCopies&&(this.center=this.center.wrap())},Sn.prototype.locationPoint=function(t){return this.coordinatePoint(this.locationCoordinate(t))},Sn.prototype.pointLocation=function(t){return this.coordinateLocation(this.pointCoordinate(t))},Sn.prototype.locationCoordinate=function(e){return t.MercatorCoordinate.fromLngLat(e)},Sn.prototype.coordinateLocation=function(t){return t.toLngLat()},Sn.prototype.pointCoordinate=function(e){var r=[e.x,e.y,0,1],n=[e.x,e.y,1,1];t.transformMat4(r,r,this.pixelMatrixInverse),t.transformMat4(n,n,this.pixelMatrixInverse);var i=r[3],a=n[3],o=r[0]/i,s=n[0]/a,l=r[1]/i,u=n[1]/a,c=r[2]/i,f=n[2]/a,h=c===f?0:(0-c)/(f-c);return new t.MercatorCoordinate(t.number(o,s,h)/this.worldSize,t.number(l,u,h)/this.worldSize)},Sn.prototype.coordinatePoint=function(e){var r=[e.x*this.worldSize,e.y*this.worldSize,0,1];return t.transformMat4(r,r,this.pixelMatrix),new t.Point(r[0]/r[3],r[1]/r[3])},Sn.prototype.getBounds=function(){return(new t.LngLatBounds).extend(this.pointLocation(new t.Point(0,0))).extend(this.pointLocation(new t.Point(this.width,0))).extend(this.pointLocation(new t.Point(this.width,this.height))).extend(this.pointLocation(new t.Point(0,this.height)))},Sn.prototype.getMaxBounds=function(){return this.latRange&&2===this.latRange.length&&this.lngRange&&2===this.lngRange.length?new t.LngLatBounds([this.lngRange[0],this.latRange[0]],[this.lngRange[1],this.latRange[1]]):null},Sn.prototype.setMaxBounds=function(t){t?(this.lngRange=[t.getWest(),t.getEast()],this.latRange=[t.getSouth(),t.getNorth()],this._constrain()):(this.lngRange=null,this.latRange=[-this.maxValidLatitude,this.maxValidLatitude])},Sn.prototype.calculatePosMatrix=function(e,r){void 0===r&&(r=!1);var n=e.key,i=r?this._alignedPosMatrixCache:this._posMatrixCache;if(i[n])return i[n];var a=e.canonical,o=this.worldSize/this.zoomScale(a.z),s=a.x+Math.pow(2,a.z)*e.wrap,l=t.identity(new Float64Array(16));return t.translate(l,l,[s*o,a.y*o,0]),t.scale(l,l,[o/t.EXTENT,o/t.EXTENT,1]),t.multiply(l,r?this.alignedProjMatrix:this.projMatrix,l),i[n]=new Float32Array(l),i[n]},Sn.prototype.customLayerMatrix=function(){return this.mercatorMatrix.slice()},Sn.prototype._constrain=function(){if(this.center&&this.width&&this.height&&!this._constraining){this._constraining=!0;var e,r,n,i,a=-90,o=90,s=-180,l=180,u=this.size,c=this._unmodified;if(this.latRange){var f=this.latRange;a=t.mercatorYfromLat(f[1])*this.worldSize,e=(o=t.mercatorYfromLat(f[0])*this.worldSize)-a<u.y?u.y/(o-a):0}if(this.lngRange){var h=this.lngRange;s=t.mercatorXfromLng(h[0])*this.worldSize,r=(l=t.mercatorXfromLng(h[1])*this.worldSize)-s<u.x?u.x/(l-s):0}var p=this.point,d=Math.max(r||0,e||0);if(d)return this.center=this.unproject(new t.Point(r?(l+s)/2:p.x,e?(o+a)/2:p.y)),this.zoom+=this.scaleZoom(d),this._unmodified=c,void(this._constraining=!1);if(this.latRange){var v=p.y,g=u.y/2;v-g<a&&(i=a+g),v+g>o&&(i=o-g)}if(this.lngRange){var y=p.x,m=u.x/2;y-m<s&&(n=s+m),y+m>l&&(n=l-m)}void 0===n&&void 0===i||(this.center=this.unproject(new t.Point(void 0!==n?n:p.x,void 0!==i?i:p.y))),this._unmodified=c,this._constraining=!1}},Sn.prototype._calcMatrices=function(){if(this.height){var e=this._fov/2,r=this.centerOffset;this.cameraToCenterDistance=.5/Math.tan(e)*this.height;var n=Math.PI/2+this._pitch,i=this._fov*(.5+r.y/this.height),a=Math.sin(i)*this.cameraToCenterDistance/Math.sin(t.clamp(Math.PI-n-i,.01,Math.PI-.01)),o=this.point,s=o.x,l=o.y,u=1.01*(Math.cos(Math.PI/2-this._pitch)*a+this.cameraToCenterDistance),c=this.height/50,f=new Float64Array(16);t.perspective(f,this._fov,this.width/this.height,c,u),f[8]=2*-r.x/this.width,f[9]=2*r.y/this.height,t.scale(f,f,[1,-1,1]),t.translate(f,f,[0,0,-this.cameraToCenterDistance]),t.rotateX(f,f,this._pitch),t.rotateZ(f,f,this.angle),t.translate(f,f,[-s,-l,0]),this.mercatorMatrix=t.scale([],f,[this.worldSize,this.worldSize,this.worldSize]),t.scale(f,f,[1,1,t.mercatorZfromAltitude(1,this.center.lat)*this.worldSize,1]),this.projMatrix=f,this.invProjMatrix=t.invert([],this.projMatrix);var h=this.width%2/2,p=this.height%2/2,d=Math.cos(this.angle),v=Math.sin(this.angle),g=s-Math.round(s)+d*h+v*p,y=l-Math.round(l)+d*p+v*h,m=new Float64Array(f);if(t.translate(m,m,[g>.5?g-1:g,y>.5?y-1:y,0]),this.alignedProjMatrix=m,f=t.create(),t.scale(f,f,[this.width/2,-this.height/2,1]),t.translate(f,f,[1,-1,0]),this.labelPlaneMatrix=f,f=t.create(),t.scale(f,f,[1,-1,1]),t.translate(f,f,[-1,-1,0]),t.scale(f,f,[2/this.width,2/this.height,1]),this.glCoordMatrix=f,this.pixelMatrix=t.multiply(new Float64Array(16),this.labelPlaneMatrix,this.projMatrix),!(f=t.invert(new Float64Array(16),this.pixelMatrix)))throw new Error("failed to invert matrix");this.pixelMatrixInverse=f,this._posMatrixCache={},this._alignedPosMatrixCache={}}},Sn.prototype.maxPitchScaleFactor=function(){if(!this.pixelMatrixInverse)return 1;var e=this.pointCoordinate(new t.Point(0,0)),r=[e.x*this.worldSize,e.y*this.worldSize,0,1];return t.transformMat4(r,r,this.pixelMatrix)[3]/this.cameraToCenterDistance},Sn.prototype.getCameraPoint=function(){var e=this._pitch,r=Math.tan(e)*(this.cameraToCenterDistance||1);return this.centerPoint.add(new t.Point(0,r))},Sn.prototype.getCameraQueryGeometry=function(e){var r=this.getCameraPoint();if(1===e.length)return[e[0],r];for(var n=r.x,i=r.y,a=r.x,o=r.y,s=0,l=e;s<l.length;s+=1){var u=l[s];n=Math.min(n,u.x),i=Math.min(i,u.y),a=Math.max(a,u.x),o=Math.max(o,u.y)}return[new t.Point(n,i),new t.Point(a,i),new t.Point(a,o),new t.Point(n,o),new t.Point(n,i)]},Object.defineProperties(Sn.prototype,En);var Ln=function(e){var r,n,i,a,o;this._hashName=e&&encodeURIComponent(e),t.bindAll(["_getCurrentHash","_onHashChange","_updateHash"],this),this._updateHash=(r=this._updateHashUnthrottled.bind(this),n=300,i=!1,a=null,o=function(){a=null,i&&(r(),a=setTimeout(o,n),i=!1)},function(){return i=!0,a||o(),a})};Ln.prototype.addTo=function(e){return this._map=e,t.window.addEventListener("hashchange",this._onHashChange,!1),this._map.on("moveend",this._updateHash),this},Ln.prototype.remove=function(){return t.window.removeEventListener("hashchange",this._onHashChange,!1),this._map.off("moveend",this._updateHash),clearTimeout(this._updateHash()),delete this._map,this},Ln.prototype.getHashString=function(e){var r=this._map.getCenter(),n=Math.round(100*this._map.getZoom())/100,i=Math.ceil((n*Math.LN2+Math.log(512/360/.5))/Math.LN10),a=Math.pow(10,i),o=Math.round(r.lng*a)/a,s=Math.round(r.lat*a)/a,l=this._map.getBearing(),u=this._map.getPitch(),c="";if(c+=e?"/"+o+"/"+s+"/"+n:n+"/"+s+"/"+o,(l||u)&&(c+="/"+Math.round(10*l)/10),u&&(c+="/"+Math.round(u)),this._hashName){var f=this._hashName,h=!1,p=t.window.location.hash.slice(1).split("&").map((function(t){var e=t.split("=")[0];return e===f?(h=!0,e+"="+c):t})).filter((function(t){return t}));return h||p.push(f+"="+c),"#"+p.join("&")}return"#"+c},Ln.prototype._getCurrentHash=function(){var e,r=this,n=t.window.location.hash.replace("#","");return this._hashName?(n.split("&").map((function(t){return t.split("=")})).forEach((function(t){t[0]===r._hashName&&(e=t)})),(e&&e[1]||"").split("/")):n.split("/")},Ln.prototype._onHashChange=function(){var t=this._getCurrentHash();if(t.length>=3&&!t.some((function(t){return isNaN(t)}))){var e=this._map.dragRotate.isEnabled()&&this._map.touchZoomRotate.isEnabled()?+(t[3]||0):this._map.getBearing();return this._map.jumpTo({center:[+t[2],+t[1]],zoom:+t[0],bearing:e,pitch:+(t[4]||0)}),!0}return!1},Ln.prototype._updateHashUnthrottled=function(){var e=this.getHashString();try{t.window.history.replaceState(t.window.history.state,"",e)}catch(t){}};var Cn={linearity:.3,easing:t.bezier(0,0,.3,1)},Pn=t.extend({deceleration:2500,maxSpeed:1400},Cn),On=t.extend({deceleration:20,maxSpeed:1400},Cn),In=t.extend({deceleration:1e3,maxSpeed:360},Cn),Dn=t.extend({deceleration:1e3,maxSpeed:90},Cn),zn=function(t){this._map=t,this.clear()};function Rn(t,e){(!t.duration||t.duration<e.duration)&&(t.duration=e.duration,t.easing=e.easing)}function Fn(e,r,n){var i=n.maxSpeed,a=n.linearity,o=n.deceleration,s=t.clamp(e*a/(r/1e3),-i,i),l=Math.abs(s)/(o*a);return{easing:n.easing,duration:1e3*l,amount:s*(l/2)}}zn.prototype.clear=function(){this._inertiaBuffer=[]},zn.prototype.record=function(e){this._drainInertiaBuffer(),this._inertiaBuffer.push({time:t.browser.now(),settings:e})},zn.prototype._drainInertiaBuffer=function(){for(var e=this._inertiaBuffer,r=t.browser.now();e.length>0&&r-e[0].time>160;)e.shift()},zn.prototype._onMoveEnd=function(e){if(this._drainInertiaBuffer(),!(this._inertiaBuffer.length<2)){for(var r={zoom:0,bearing:0,pitch:0,pan:new t.Point(0,0),pinchAround:void 0,around:void 0},n=0,i=this._inertiaBuffer;n<i.length;n+=1){var a=i[n].settings;r.zoom+=a.zoomDelta||0,r.bearing+=a.bearingDelta||0,r.pitch+=a.pitchDelta||0,a.panDelta&&r.pan._add(a.panDelta),a.around&&(r.around=a.around),a.pinchAround&&(r.pinchAround=a.pinchAround)}var o=this._inertiaBuffer[this._inertiaBuffer.length-1].time-this._inertiaBuffer[0].time,s={};if(r.pan.mag()){var l=Fn(r.pan.mag(),o,t.extend({},Pn,e||{}));s.offset=r.pan.mult(l.amount/r.pan.mag()),s.center=this._map.transform.center,Rn(s,l)}if(r.zoom){var u=Fn(r.zoom,o,On);s.zoom=this._map.transform.zoom+u.amount,Rn(s,u)}if(r.bearing){var c=Fn(r.bearing,o,In);s.bearing=this._map.transform.bearing+t.clamp(c.amount,-179,179),Rn(s,c)}if(r.pitch){var f=Fn(r.pitch,o,Dn);s.pitch=this._map.transform.pitch+f.amount,Rn(s,f)}if(s.zoom||s.bearing){var h=void 0===r.pinchAround?r.around:r.pinchAround;s.around=h?this._map.unproject(h):this._map.getCenter()}return this.clear(),t.extend(s,{noMoveStart:!0})}};var Bn=function(e){function n(n,i,a,o){void 0===o&&(o={});var s=r.mousePos(i.getCanvasContainer(),a),l=i.unproject(s);e.call(this,n,t.extend({point:s,lngLat:l,originalEvent:a},o)),this._defaultPrevented=!1,this.target=i}e&&(n.__proto__=e),n.prototype=Object.create(e&&e.prototype),n.prototype.constructor=n;var i={defaultPrevented:{configurable:!0}};return n.prototype.preventDefault=function(){this._defaultPrevented=!0},i.defaultPrevented.get=function(){return this._defaultPrevented},Object.defineProperties(n.prototype,i),n}(t.Event),Nn=function(e){function n(n,i,a){var o="touchend"===n?a.changedTouches:a.touches,s=r.touchPos(i.getCanvasContainer(),o),l=s.map((function(t){return i.unproject(t)})),u=s.reduce((function(t,e,r,n){return t.add(e.div(n.length))}),new t.Point(0,0)),c=i.unproject(u);e.call(this,n,{points:s,point:u,lngLats:l,lngLat:c,originalEvent:a}),this._defaultPrevented=!1}e&&(n.__proto__=e),n.prototype=Object.create(e&&e.prototype),n.prototype.constructor=n;var i={defaultPrevented:{configurable:!0}};return n.prototype.preventDefault=function(){this._defaultPrevented=!0},i.defaultPrevented.get=function(){return this._defaultPrevented},Object.defineProperties(n.prototype,i),n}(t.Event),jn=function(t){function e(e,r,n){t.call(this,e,{originalEvent:n}),this._defaultPrevented=!1}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={defaultPrevented:{configurable:!0}};return e.prototype.preventDefault=function(){this._defaultPrevented=!0},r.defaultPrevented.get=function(){return this._defaultPrevented},Object.defineProperties(e.prototype,r),e}(t.Event),Un=function(t,e){this._map=t,this._clickTolerance=e.clickTolerance};Un.prototype.reset=function(){delete this._mousedownPos},Un.prototype.wheel=function(t){return this._firePreventable(new jn(t.type,this._map,t))},Un.prototype.mousedown=function(t,e){return this._mousedownPos=e,this._firePreventable(new Bn(t.type,this._map,t))},Un.prototype.mouseup=function(t){this._map.fire(new Bn(t.type,this._map,t))},Un.prototype.click=function(t,e){this._mousedownPos&&this._mousedownPos.dist(e)>=this._clickTolerance||this._map.fire(new Bn(t.type,this._map,t))},Un.prototype.dblclick=function(t){return this._firePreventable(new Bn(t.type,this._map,t))},Un.prototype.mouseover=function(t){this._map.fire(new Bn(t.type,this._map,t))},Un.prototype.mouseout=function(t){this._map.fire(new Bn(t.type,this._map,t))},Un.prototype.touchstart=function(t){return this._firePreventable(new Nn(t.type,this._map,t))},Un.prototype.touchmove=function(t){this._map.fire(new Nn(t.type,this._map,t))},Un.prototype.touchend=function(t){this._map.fire(new Nn(t.type,this._map,t))},Un.prototype.touchcancel=function(t){this._map.fire(new Nn(t.type,this._map,t))},Un.prototype._firePreventable=function(t){if(this._map.fire(t),t.defaultPrevented)return{}},Un.prototype.isEnabled=function(){return!0},Un.prototype.isActive=function(){return!1},Un.prototype.enable=function(){},Un.prototype.disable=function(){};var Vn=function(t){this._map=t};Vn.prototype.reset=function(){this._delayContextMenu=!1,delete this._contextMenuEvent},Vn.prototype.mousemove=function(t){this._map.fire(new Bn(t.type,this._map,t))},Vn.prototype.mousedown=function(){this._delayContextMenu=!0},Vn.prototype.mouseup=function(){this._delayContextMenu=!1,this._contextMenuEvent&&(this._map.fire(new Bn("contextmenu",this._map,this._contextMenuEvent)),delete this._contextMenuEvent)},Vn.prototype.contextmenu=function(t){this._delayContextMenu?this._contextMenuEvent=t:this._map.fire(new Bn(t.type,this._map,t)),this._map.listens("contextmenu")&&t.preventDefault()},Vn.prototype.isEnabled=function(){return!0},Vn.prototype.isActive=function(){return!1},Vn.prototype.enable=function(){},Vn.prototype.disable=function(){};var Hn=function(t,e){this._map=t,this._el=t.getCanvasContainer(),this._container=t.getContainer(),this._clickTolerance=e.clickTolerance||1};function qn(t,e){for(var r={},n=0;n<t.length;n++)r[t[n].identifier]=e[n];return r}Hn.prototype.isEnabled=function(){return!!this._enabled},Hn.prototype.isActive=function(){return!!this._active},Hn.prototype.enable=function(){this.isEnabled()||(this._enabled=!0)},Hn.prototype.disable=function(){this.isEnabled()&&(this._enabled=!1)},Hn.prototype.mousedown=function(t,e){this.isEnabled()&&t.shiftKey&&0===t.button&&(r.disableDrag(),this._startPos=this._lastPos=e,this._active=!0)},Hn.prototype.mousemoveWindow=function(t,e){if(this._active){var n=e;if(!(this._lastPos.equals(n)||!this._box&&n.dist(this._startPos)<this._clickTolerance)){var i=this._startPos;this._lastPos=n,this._box||(this._box=r.create("div","mapboxgl-boxzoom",this._container),this._container.classList.add("mapboxgl-crosshair"),this._fireEvent("boxzoomstart",t));var a=Math.min(i.x,n.x),o=Math.max(i.x,n.x),s=Math.min(i.y,n.y),l=Math.max(i.y,n.y);r.setTransform(this._box,"translate("+a+"px,"+s+"px)"),this._box.style.width=o-a+"px",this._box.style.height=l-s+"px"}}},Hn.prototype.mouseupWindow=function(e,n){var i=this;if(this._active&&0===e.button){var a=this._startPos,o=n;if(this.reset(),r.suppressClick(),a.x!==o.x||a.y!==o.y)return this._map.fire(new t.Event("boxzoomend",{originalEvent:e})),{cameraAnimation:function(t){return t.fitScreenCoordinates(a,o,i._map.getBearing(),{linear:!0})}};this._fireEvent("boxzoomcancel",e)}},Hn.prototype.keydown=function(t){this._active&&27===t.keyCode&&(this.reset(),this._fireEvent("boxzoomcancel",t))},Hn.prototype.reset=function(){this._active=!1,this._container.classList.remove("mapboxgl-crosshair"),this._box&&(r.remove(this._box),this._box=null),r.enableDrag(),delete this._startPos,delete this._lastPos},Hn.prototype._fireEvent=function(e,r){return this._map.fire(new t.Event(e,{originalEvent:r}))};var Gn=function(t){this.reset(),this.numTouches=t.numTouches};Gn.prototype.reset=function(){delete this.centroid,delete this.startTime,delete this.touches,this.aborted=!1},Gn.prototype.touchstart=function(e,r,n){(this.centroid||n.length>this.numTouches)&&(this.aborted=!0),this.aborted||(void 0===this.startTime&&(this.startTime=e.timeStamp),n.length===this.numTouches&&(this.centroid=function(e){for(var r=new t.Point(0,0),n=0,i=e;n<i.length;n+=1){var a=i[n];r._add(a)}return r.div(e.length)}(r),this.touches=qn(n,r)))},Gn.prototype.touchmove=function(t,e,r){if(!this.aborted&&this.centroid){var n=qn(r,e);for(var i in this.touches){var a=this.touches[i],o=n[i];(!o||o.dist(a)>30)&&(this.aborted=!0)}}},Gn.prototype.touchend=function(t,e,r){if((!this.centroid||t.timeStamp-this.startTime>500)&&(this.aborted=!0),0===r.length){var n=!this.aborted&&this.centroid;if(this.reset(),n)return n}};var Zn=function(t){this.singleTap=new Gn(t),this.numTaps=t.numTaps,this.reset()};Zn.prototype.reset=function(){this.lastTime=1/0,delete this.lastTap,this.count=0,this.singleTap.reset()},Zn.prototype.touchstart=function(t,e,r){this.singleTap.touchstart(t,e,r)},Zn.prototype.touchmove=function(t,e,r){this.singleTap.touchmove(t,e,r)},Zn.prototype.touchend=function(t,e,r){var n=this.singleTap.touchend(t,e,r);if(n){var i=t.timeStamp-this.lastTime<500,a=!this.lastTap||this.lastTap.dist(n)<30;if(i&&a||this.reset(),this.count++,this.lastTime=t.timeStamp,this.lastTap=n,this.count===this.numTaps)return this.reset(),n}};var Yn=function(){this._zoomIn=new Zn({numTouches:1,numTaps:2}),this._zoomOut=new Zn({numTouches:2,numTaps:1}),this.reset()};Yn.prototype.reset=function(){this._active=!1,this._zoomIn.reset(),this._zoomOut.reset()},Yn.prototype.touchstart=function(t,e,r){this._zoomIn.touchstart(t,e,r),this._zoomOut.touchstart(t,e,r)},Yn.prototype.touchmove=function(t,e,r){this._zoomIn.touchmove(t,e,r),this._zoomOut.touchmove(t,e,r)},Yn.prototype.touchend=function(t,e,r){var n=this,i=this._zoomIn.touchend(t,e,r),a=this._zoomOut.touchend(t,e,r);return i?(this._active=!0,t.preventDefault(),setTimeout((function(){return n.reset()}),0),{cameraAnimation:function(e){return e.easeTo({duration:300,zoom:e.getZoom()+1,around:e.unproject(i)},{originalEvent:t})}}):a?(this._active=!0,t.preventDefault(),setTimeout((function(){return n.reset()}),0),{cameraAnimation:function(e){return e.easeTo({duration:300,zoom:e.getZoom()-1,around:e.unproject(a)},{originalEvent:t})}}):void 0},Yn.prototype.touchcancel=function(){this.reset()},Yn.prototype.enable=function(){this._enabled=!0},Yn.prototype.disable=function(){this._enabled=!1,this.reset()},Yn.prototype.isEnabled=function(){return this._enabled},Yn.prototype.isActive=function(){return this._active};var Wn=function(t){this.reset(),this._clickTolerance=t.clickTolerance||1};Wn.prototype.reset=function(){this._active=!1,this._moved=!1,delete this._lastPoint,delete this._eventButton},Wn.prototype._correctButton=function(t,e){return!1},Wn.prototype._move=function(t,e){return{}},Wn.prototype.mousedown=function(t,e){if(!this._lastPoint){var n=r.mouseButton(t);this._correctButton(t,n)&&(this._lastPoint=e,this._eventButton=n)}},Wn.prototype.mousemoveWindow=function(t,e){var r=this._lastPoint;if(r&&(t.preventDefault(),this._moved||!(e.dist(r)<this._clickTolerance)))return this._moved=!0,this._lastPoint=e,this._move(r,e)},Wn.prototype.mouseupWindow=function(t){r.mouseButton(t)===this._eventButton&&(this._moved&&r.suppressClick(),this.reset())},Wn.prototype.enable=function(){this._enabled=!0},Wn.prototype.disable=function(){this._enabled=!1,this.reset()},Wn.prototype.isEnabled=function(){return this._enabled},Wn.prototype.isActive=function(){return this._active};var Xn=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.mousedown=function(e,r){t.prototype.mousedown.call(this,e,r),this._lastPoint&&(this._active=!0)},e.prototype._correctButton=function(t,e){return 0===e&&!t.ctrlKey},e.prototype._move=function(t,e){return{around:e,panDelta:e.sub(t)}},e}(Wn),Jn=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._correctButton=function(t,e){return 0===e&&t.ctrlKey||2===e},e.prototype._move=function(t,e){var r=.8*(e.x-t.x);if(r)return this._active=!0,{bearingDelta:r}},e.prototype.contextmenu=function(t){t.preventDefault()},e}(Wn),Kn=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._correctButton=function(t,e){return 0===e&&t.ctrlKey||2===e},e.prototype._move=function(t,e){var r=-.5*(e.y-t.y);if(r)return this._active=!0,{pitchDelta:r}},e.prototype.contextmenu=function(t){t.preventDefault()},e}(Wn),$n=function(t){this._minTouches=1,this._clickTolerance=t.clickTolerance||1,this.reset()};$n.prototype.reset=function(){this._active=!1,this._touches={},this._sum=new t.Point(0,0)},$n.prototype.touchstart=function(t,e,r){return this._calculateTransform(t,e,r)},$n.prototype.touchmove=function(t,e,r){if(this._active)return t.preventDefault(),this._calculateTransform(t,e,r)},$n.prototype.touchend=function(t,e,r){this._calculateTransform(t,e,r),this._active&&r.length<this._minTouches&&this.reset()},$n.prototype.touchcancel=function(){this.reset()},$n.prototype._calculateTransform=function(e,r,n){n.length>0&&(this._active=!0);var i=qn(n,r),a=new t.Point(0,0),o=new t.Point(0,0),s=0;for(var l in i){var u=i[l],c=this._touches[l];c&&(a._add(u),o._add(u.sub(c)),s++,i[l]=u)}if(this._touches=i,!(s<this._minTouches)&&o.mag()){var f=o.div(s);if(this._sum._add(f),!(this._sum.mag()<this._clickTolerance))return{around:a.div(s),panDelta:f}}},$n.prototype.enable=function(){this._enabled=!0},$n.prototype.disable=function(){this._enabled=!1,this.reset()},$n.prototype.isEnabled=function(){return this._enabled},$n.prototype.isActive=function(){return this._active};var Qn=function(){this.reset()};function ti(t,e,r){for(var n=0;n<t.length;n++)if(t[n].identifier===r)return e[n]}Qn.prototype.reset=function(){this._active=!1,delete this._firstTwoTouches},Qn.prototype._start=function(t){},Qn.prototype._move=function(t,e,r){return{}},Qn.prototype.touchstart=function(t,e,r){this._firstTwoTouches||r.length<2||(this._firstTwoTouches=[r[0].identifier,r[1].identifier],this._start([e[0],e[1]]))},Qn.prototype.touchmove=function(t,e,r){if(this._firstTwoTouches){t.preventDefault();var n=this._firstTwoTouches,i=n[0],a=n[1],o=ti(r,e,i),s=ti(r,e,a);if(o&&s){var l=this._aroundCenter?null:o.add(s).div(2);return this._move([o,s],l,t)}}},Qn.prototype.touchend=function(t,e,n){if(this._firstTwoTouches){var i=this._firstTwoTouches,a=i[0],o=i[1],s=ti(n,e,a),l=ti(n,e,o);s&&l||(this._active&&r.suppressClick(),this.reset())}},Qn.prototype.touchcancel=function(){this.reset()},Qn.prototype.enable=function(t){this._enabled=!0,this._aroundCenter=!!t&&"center"===t.around},Qn.prototype.disable=function(){this._enabled=!1,this.reset()},Qn.prototype.isEnabled=function(){return this._enabled},Qn.prototype.isActive=function(){return this._active};function ei(t,e){return Math.log(t/e)/Math.LN2}var ri=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.reset=function(){t.prototype.reset.call(this),delete this._distance,delete this._startDistance},e.prototype._start=function(t){this._startDistance=this._distance=t[0].dist(t[1])},e.prototype._move=function(t,e){var r=this._distance;if(this._distance=t[0].dist(t[1]),this._active||!(Math.abs(ei(this._distance,this._startDistance))<.1))return this._active=!0,{zoomDelta:ei(this._distance,r),pinchAround:e}},e}(Qn);function ni(t,e){return 180*t.angleWith(e)/Math.PI}var ii=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.reset=function(){t.prototype.reset.call(this),delete this._minDiameter,delete this._startVector,delete this._vector},e.prototype._start=function(t){this._startVector=this._vector=t[0].sub(t[1]),this._minDiameter=t[0].dist(t[1])},e.prototype._move=function(t,e){var r=this._vector;if(this._vector=t[0].sub(t[1]),this._active||!this._isBelowThreshold(this._vector))return this._active=!0,{bearingDelta:ni(this._vector,r),pinchAround:e}},e.prototype._isBelowThreshold=function(t){this._minDiameter=Math.min(this._minDiameter,t.mag());var e=25/(Math.PI*this._minDiameter)*360,r=ni(t,this._startVector);return Math.abs(r)<e},e}(Qn);function ai(t){return Math.abs(t.y)>Math.abs(t.x)}var oi=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.reset=function(){t.prototype.reset.call(this),this._valid=void 0,delete this._firstMove,delete this._lastPoints},e.prototype._start=function(t){this._lastPoints=t,ai(t[0].sub(t[1]))&&(this._valid=!1)},e.prototype._move=function(t,e,r){var n=t[0].sub(this._lastPoints[0]),i=t[1].sub(this._lastPoints[1]);if(this._valid=this.gestureBeginsVertically(n,i,r.timeStamp),this._valid)return this._lastPoints=t,this._active=!0,{pitchDelta:(n.y+i.y)/2*-.5}},e.prototype.gestureBeginsVertically=function(t,e,r){if(void 0!==this._valid)return this._valid;var n=t.mag()>=2,i=e.mag()>=2;if(n||i){if(!n||!i)return void 0===this._firstMove&&(this._firstMove=r),r-this._firstMove<100&&void 0;var a=t.y>0==e.y>0;return ai(t)&&ai(e)&&a}},e}(Qn),si={panStep:100,bearingStep:15,pitchStep:10},li=function(){var t=si;this._panStep=t.panStep,this._bearingStep=t.bearingStep,this._pitchStep=t.pitchStep};function ui(t){return t*(2-t)}li.prototype.reset=function(){this._active=!1},li.prototype.keydown=function(t){var e=this;if(!(t.altKey||t.ctrlKey||t.metaKey)){var r=0,n=0,i=0,a=0,o=0;switch(t.keyCode){case 61:case 107:case 171:case 187:r=1;break;case 189:case 109:case 173:r=-1;break;case 37:t.shiftKey?n=-1:(t.preventDefault(),a=-1);break;case 39:t.shiftKey?n=1:(t.preventDefault(),a=1);break;case 38:t.shiftKey?i=1:(t.preventDefault(),o=-1);break;case 40:t.shiftKey?i=-1:(t.preventDefault(),o=1);break;default:return}return{cameraAnimation:function(s){var l=s.getZoom();s.easeTo({duration:300,easeId:"keyboardHandler",easing:ui,zoom:r?Math.round(l)+r*(t.shiftKey?2:1):l,bearing:s.getBearing()+n*e._bearingStep,pitch:s.getPitch()+i*e._pitchStep,offset:[-a*e._panStep,-o*e._panStep],center:s.getCenter()},{originalEvent:t})}}}},li.prototype.enable=function(){this._enabled=!0},li.prototype.disable=function(){this._enabled=!1,this.reset()},li.prototype.isEnabled=function(){return this._enabled},li.prototype.isActive=function(){return this._active};var ci=4.000244140625,fi=function(e,r){this._map=e,this._el=e.getCanvasContainer(),this._handler=r,this._delta=0,this._defaultZoomRate=.01,this._wheelZoomRate=.0022222222222222222,t.bindAll(["_onWheel","_onTimeout","_onScrollFrame","_onScrollFinished"],this)};fi.prototype.setZoomRate=function(t){this._defaultZoomRate=t},fi.prototype.setWheelZoomRate=function(t){this._wheelZoomRate=t},fi.prototype.isEnabled=function(){return!!this._enabled},fi.prototype.isActive=function(){return!!this._active||void 0!==this._finishTimeout},fi.prototype.isZooming=function(){return!!this._zooming},fi.prototype.enable=function(t){this.isEnabled()||(this._enabled=!0,this._aroundCenter=t&&"center"===t.around)},fi.prototype.disable=function(){this.isEnabled()&&(this._enabled=!1)},fi.prototype.wheel=function(e){if(this.isEnabled()){var r=e.deltaMode===t.window.WheelEvent.DOM_DELTA_LINE?40*e.deltaY:e.deltaY,n=t.browser.now(),i=n-(this._lastWheelEventTime||0);this._lastWheelEventTime=n,0!==r&&r%ci==0?this._type="wheel":0!==r&&Math.abs(r)<4?this._type="trackpad":i>400?(this._type=null,this._lastValue=r,this._timeout=setTimeout(this._onTimeout,40,e)):this._type||(this._type=Math.abs(i*r)<200?"trackpad":"wheel",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,r+=this._lastValue)),e.shiftKey&&r&&(r/=4),this._type&&(this._lastWheelEvent=e,this._delta-=r,this._active||this._start(e)),e.preventDefault()}},fi.prototype._onTimeout=function(t){this._type="wheel",this._delta-=this._lastValue,this._active||this._start(t)},fi.prototype._start=function(e){if(this._delta){this._frameId&&(this._frameId=null),this._active=!0,this.isZooming()||(this._zooming=!0),this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout);var n=r.mousePos(this._el,e);this._around=t.LngLat.convert(this._aroundCenter?this._map.getCenter():this._map.unproject(n)),this._aroundPoint=this._map.transform.locationPoint(this._around),this._frameId||(this._frameId=!0,this._handler._triggerRenderFrame())}},fi.prototype.renderFrame=function(){return this._onScrollFrame()},fi.prototype._onScrollFrame=function(){var e=this;if(this._frameId&&(this._frameId=null,this.isActive())){var r=this._map.transform;if(0!==this._delta){var n="wheel"===this._type&&Math.abs(this._delta)>ci?this._wheelZoomRate:this._defaultZoomRate,i=2/(1+Math.exp(-Math.abs(this._delta*n)));this._delta<0&&0!==i&&(i=1/i);var a="number"==typeof this._targetZoom?r.zoomScale(this._targetZoom):r.scale;this._targetZoom=Math.min(r.maxZoom,Math.max(r.minZoom,r.scaleZoom(a*i))),"wheel"===this._type&&(this._startZoom=r.zoom,this._easing=this._smoothOutEasing(200)),this._delta=0}var o,s="number"==typeof this._targetZoom?this._targetZoom:r.zoom,l=this._startZoom,u=this._easing,c=!1;if("wheel"===this._type&&l&&u){var f=Math.min((t.browser.now()-this._lastWheelEventTime)/200,1),h=u(f);o=t.number(l,s,h),f<1?this._frameId||(this._frameId=!0):c=!0}else o=s,c=!0;return this._active=!0,c&&(this._active=!1,this._finishTimeout=setTimeout((function(){e._zooming=!1,e._handler._triggerRenderFrame(),delete e._targetZoom,delete e._finishTimeout}),200)),{noInertia:!0,needsRenderFrame:!c,zoomDelta:o-r.zoom,around:this._aroundPoint,originalEvent:this._lastWheelEvent}}},fi.prototype._smoothOutEasing=function(e){var r=t.ease;if(this._prevEase){var n=this._prevEase,i=(t.browser.now()-n.start)/n.duration,a=n.easing(i+.01)-n.easing(i),o=.27/Math.sqrt(a*a+1e-4)*.01,s=Math.sqrt(.0729-o*o);r=t.bezier(o,s,.25,1)}return this._prevEase={start:t.browser.now(),duration:e,easing:r},r},fi.prototype.reset=function(){this._active=!1};var hi=function(t,e){this._clickZoom=t,this._tapZoom=e};hi.prototype.enable=function(){this._clickZoom.enable(),this._tapZoom.enable()},hi.prototype.disable=function(){this._clickZoom.disable(),this._tapZoom.disable()},hi.prototype.isEnabled=function(){return this._clickZoom.isEnabled()&&this._tapZoom.isEnabled()},hi.prototype.isActive=function(){return this._clickZoom.isActive()||this._tapZoom.isActive()};var pi=function(){this.reset()};pi.prototype.reset=function(){this._active=!1},pi.prototype.dblclick=function(t,e){return t.preventDefault(),{cameraAnimation:function(r){r.easeTo({duration:300,zoom:r.getZoom()+(t.shiftKey?-1:1),around:r.unproject(e)},{originalEvent:t})}}},pi.prototype.enable=function(){this._enabled=!0},pi.prototype.disable=function(){this._enabled=!1,this.reset()},pi.prototype.isEnabled=function(){return this._enabled},pi.prototype.isActive=function(){return this._active};var di=function(){this._tap=new Zn({numTouches:1,numTaps:1}),this.reset()};di.prototype.reset=function(){this._active=!1,delete this._swipePoint,delete this._swipeTouch,delete this._tapTime,this._tap.reset()},di.prototype.touchstart=function(t,e,r){this._swipePoint||(this._tapTime&&t.timeStamp-this._tapTime>500&&this.reset(),this._tapTime?r.length>0&&(this._swipePoint=e[0],this._swipeTouch=r[0].identifier):this._tap.touchstart(t,e,r))},di.prototype.touchmove=function(t,e,r){if(this._tapTime){if(this._swipePoint){if(r[0].identifier!==this._swipeTouch)return;var n=e[0],i=n.y-this._swipePoint.y;return this._swipePoint=n,t.preventDefault(),this._active=!0,{zoomDelta:i/128}}}else this._tap.touchmove(t,e,r)},di.prototype.touchend=function(t,e,r){this._tapTime?this._swipePoint&&0===r.length&&this.reset():this._tap.touchend(t,e,r)&&(this._tapTime=t.timeStamp)},di.prototype.touchcancel=function(){this.reset()},di.prototype.enable=function(){this._enabled=!0},di.prototype.disable=function(){this._enabled=!1,this.reset()},di.prototype.isEnabled=function(){return this._enabled},di.prototype.isActive=function(){return this._active};var vi=function(t,e,r){this._el=t,this._mousePan=e,this._touchPan=r};vi.prototype.enable=function(t){this._inertiaOptions=t||{},this._mousePan.enable(),this._touchPan.enable(),this._el.classList.add("mapboxgl-touch-drag-pan")},vi.prototype.disable=function(){this._mousePan.disable(),this._touchPan.disable(),this._el.classList.remove("mapboxgl-touch-drag-pan")},vi.prototype.isEnabled=function(){return this._mousePan.isEnabled()&&this._touchPan.isEnabled()},vi.prototype.isActive=function(){return this._mousePan.isActive()||this._touchPan.isActive()};var gi=function(t,e,r){this._pitchWithRotate=t.pitchWithRotate,this._mouseRotate=e,this._mousePitch=r};gi.prototype.enable=function(){this._mouseRotate.enable(),this._pitchWithRotate&&this._mousePitch.enable()},gi.prototype.disable=function(){this._mouseRotate.disable(),this._mousePitch.disable()},gi.prototype.isEnabled=function(){return this._mouseRotate.isEnabled()&&(!this._pitchWithRotate||this._mousePitch.isEnabled())},gi.prototype.isActive=function(){return this._mouseRotate.isActive()||this._mousePitch.isActive()};var yi=function(t,e,r,n){this._el=t,this._touchZoom=e,this._touchRotate=r,this._tapDragZoom=n,this._rotationDisabled=!1,this._enabled=!0};yi.prototype.enable=function(t){this._touchZoom.enable(t),this._rotationDisabled||this._touchRotate.enable(t),this._tapDragZoom.enable(),this._el.classList.add("mapboxgl-touch-zoom-rotate")},yi.prototype.disable=function(){this._touchZoom.disable(),this._touchRotate.disable(),this._tapDragZoom.disable(),this._el.classList.remove("mapboxgl-touch-zoom-rotate")},yi.prototype.isEnabled=function(){return this._touchZoom.isEnabled()&&(this._rotationDisabled||this._touchRotate.isEnabled())&&this._tapDragZoom.isEnabled()},yi.prototype.isActive=function(){return this._touchZoom.isActive()||this._touchRotate.isActive()||this._tapDragZoom.isActive()},yi.prototype.disableRotation=function(){this._rotationDisabled=!0,this._touchRotate.disable()},yi.prototype.enableRotation=function(){this._rotationDisabled=!1,this._touchZoom.isEnabled()&&this._touchRotate.enable()};var mi=function(t){return t.zoom||t.drag||t.pitch||t.rotate},xi=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e}(t.Event);function bi(t){return t.panDelta&&t.panDelta.mag()||t.zoomDelta||t.bearingDelta||t.pitchDelta}var _i=function(e,n){this._map=e,this._el=this._map.getCanvasContainer(),this._handlers=[],this._handlersById={},this._changes=[],this._inertia=new zn(e),this._bearingSnap=n.bearingSnap,this._previousActiveHandlers={},this._eventsInProgress={},this._addDefaultHandlers(n),t.bindAll(["handleEvent","handleWindowEvent"],this);var i=this._el;this._listeners=[[i,"touchstart",{passive:!1}],[i,"touchmove",{passive:!1}],[i,"touchend",void 0],[i,"touchcancel",void 0],[i,"mousedown",void 0],[i,"mousemove",void 0],[i,"mouseup",void 0],[t.window.document,"mousemove",{capture:!0}],[t.window.document,"mouseup",void 0],[i,"mouseover",void 0],[i,"mouseout",void 0],[i,"dblclick",void 0],[i,"click",void 0],[i,"keydown",{capture:!1}],[i,"keyup",void 0],[i,"wheel",{passive:!1}],[i,"contextmenu",void 0],[t.window,"blur",void 0]];for(var a=0,o=this._listeners;a<o.length;a+=1){var s=o[a],l=s[0],u=s[1],c=s[2];r.addEventListener(l,u,l===t.window.document?this.handleWindowEvent:this.handleEvent,c)}};_i.prototype.destroy=function(){for(var e=0,n=this._listeners;e<n.length;e+=1){var i=n[e],a=i[0],o=i[1],s=i[2];r.removeEventListener(a,o,a===t.window.document?this.handleWindowEvent:this.handleEvent,s)}},_i.prototype._addDefaultHandlers=function(t){var e=this._map,r=e.getCanvasContainer();this._add("mapEvent",new Un(e,t));var n=e.boxZoom=new Hn(e,t);this._add("boxZoom",n);var i=new Yn,a=new pi;e.doubleClickZoom=new hi(a,i),this._add("tapZoom",i),this._add("clickZoom",a);var o=new di;this._add("tapDragZoom",o);var s=e.touchPitch=new oi;this._add("touchPitch",s);var l=new Jn(t),u=new Kn(t);e.dragRotate=new gi(t,l,u),this._add("mouseRotate",l,["mousePitch"]),this._add("mousePitch",u,["mouseRotate"]);var c=new Xn(t),f=new $n(t);e.dragPan=new vi(r,c,f),this._add("mousePan",c),this._add("touchPan",f,["touchZoom","touchRotate"]);var h=new ii,p=new ri;e.touchZoomRotate=new yi(r,p,h,o),this._add("touchRotate",h,["touchPan","touchZoom"]),this._add("touchZoom",p,["touchPan","touchRotate"]);var d=e.scrollZoom=new fi(e,this);this._add("scrollZoom",d,["mousePan"]);var v=e.keyboard=new li;this._add("keyboard",v),this._add("blockableMapEvent",new Vn(e));for(var g=0,y=["boxZoom","doubleClickZoom","tapDragZoom","touchPitch","dragRotate","dragPan","touchZoomRotate","scrollZoom","keyboard"];g<y.length;g+=1){var m=y[g];t.interactive&&t[m]&&e[m].enable(t[m])}},_i.prototype._add=function(t,e,r){this._handlers.push({handlerName:t,handler:e,allowed:r}),this._handlersById[t]=e},_i.prototype.stop=function(){if(!this._updatingCamera){for(var t=0,e=this._handlers;t<e.length;t+=1)e[t].handler.reset();this._inertia.clear(),this._fireEvents({},{}),this._changes=[]}},_i.prototype.isActive=function(){for(var t=0,e=this._handlers;t<e.length;t+=1)if(e[t].handler.isActive())return!0;return!1},_i.prototype.isZooming=function(){return!!this._eventsInProgress.zoom||this._map.scrollZoom.isZooming()},_i.prototype.isRotating=function(){return!!this._eventsInProgress.rotate},_i.prototype.isMoving=function(){return Boolean(mi(this._eventsInProgress))||this.isZooming()},_i.prototype._blockedByActive=function(t,e,r){for(var n in t)if(n!==r&&(!e||e.indexOf(n)<0))return!0;return!1},_i.prototype.handleWindowEvent=function(t){this.handleEvent(t,t.type+"Window")},_i.prototype._getMapTouches=function(t){for(var e=[],r=0,n=t;r<n.length;r+=1){var i=n[r],a=i.target;this._el.contains(a)&&e.push(i)}return e},_i.prototype.handleEvent=function(t,e){if("blur"!==t.type){this._updatingCamera=!0;for(var n="renderFrame"===t.type?void 0:t,i={needsRenderFrame:!1},a={},o={},s=t.touches?this._getMapTouches(t.touches):void 0,l=s?r.touchPos(this._el,s):r.mousePos(this._el,t),u=0,c=this._handlers;u<c.length;u+=1){var f=c[u],h=f.handlerName,p=f.handler,d=f.allowed;if(p.isEnabled()){var v=void 0;this._blockedByActive(o,d,h)?p.reset():p[e||t.type]&&(v=p[e||t.type](t,l,s),this.mergeHandlerResult(i,a,v,h,n),v&&v.needsRenderFrame&&this._triggerRenderFrame()),(v||p.isActive())&&(o[h]=p)}}var g={};for(var y in this._previousActiveHandlers)o[y]||(g[y]=n);this._previousActiveHandlers=o,(Object.keys(g).length||bi(i))&&(this._changes.push([i,a,g]),this._triggerRenderFrame()),(Object.keys(o).length||bi(i))&&this._map._stop(!0),this._updatingCamera=!1;var m=i.cameraAnimation;m&&(this._inertia.clear(),this._fireEvents({},{}),this._changes=[],m(this._map))}else this.stop()},_i.prototype.mergeHandlerResult=function(e,r,n,i,a){if(n){t.extend(e,n);var o={handlerName:i,originalEvent:n.originalEvent||a};void 0!==n.zoomDelta&&(r.zoom=o),void 0!==n.panDelta&&(r.drag=o),void 0!==n.pitchDelta&&(r.pitch=o),void 0!==n.bearingDelta&&(r.rotate=o)}},_i.prototype._applyChanges=function(){for(var e={},r={},n={},i=0,a=this._changes;i<a.length;i+=1){var o=a[i],s=o[0],l=o[1],u=o[2];s.panDelta&&(e.panDelta=(e.panDelta||new t.Point(0,0))._add(s.panDelta)),s.zoomDelta&&(e.zoomDelta=(e.zoomDelta||0)+s.zoomDelta),s.bearingDelta&&(e.bearingDelta=(e.bearingDelta||0)+s.bearingDelta),s.pitchDelta&&(e.pitchDelta=(e.pitchDelta||0)+s.pitchDelta),void 0!==s.around&&(e.around=s.around),void 0!==s.pinchAround&&(e.pinchAround=s.pinchAround),s.noInertia&&(e.noInertia=s.noInertia),t.extend(r,l),t.extend(n,u)}this._updateMapTransform(e,r,n),this._changes=[]},_i.prototype._updateMapTransform=function(t,e,r){var n=this._map,i=n.transform;if(!bi(t))return this._fireEvents(e,r);var a=t.panDelta,o=t.zoomDelta,s=t.bearingDelta,l=t.pitchDelta,u=t.around,c=t.pinchAround;void 0!==c&&(u=c),n._stop(!0),u=u||n.transform.centerPoint;var f=i.pointLocation(a?u.sub(a):u);s&&(i.bearing+=s),l&&(i.pitch+=l),o&&(i.zoom+=o),i.setLocationAtPoint(f,u),this._map._update(),t.noInertia||this._inertia.record(t),this._fireEvents(e,r)},_i.prototype._fireEvents=function(e,r){var n=this,i=mi(this._eventsInProgress),a=mi(e),o={};for(var s in e){var l=e[s].originalEvent;this._eventsInProgress[s]||(o[s+"start"]=l),this._eventsInProgress[s]=e[s]}for(var u in!i&&a&&this._fireEvent("movestart",a.originalEvent),o)this._fireEvent(u,o[u]);for(var c in e.rotate&&(this._bearingChanged=!0),a&&this._fireEvent("move",a.originalEvent),e){var f=e[c].originalEvent;this._fireEvent(c,f)}var h,p={};for(var d in this._eventsInProgress){var v=this._eventsInProgress[d],g=v.handlerName,y=v.originalEvent;this._handlersById[g].isActive()||(delete this._eventsInProgress[d],h=r[g]||y,p[d+"end"]=h)}for(var m in p)this._fireEvent(m,p[m]);var x=mi(this._eventsInProgress);if((i||a)&&!x){this._updatingCamera=!0;var b=this._inertia._onMoveEnd(this._map.dragPan._inertiaOptions),_=function(t){return 0!==t&&-n._bearingSnap<t&&t<n._bearingSnap};b?(_(b.bearing||this._map.getBearing())&&(b.bearing=0),this._map.easeTo(b,{originalEvent:h})):(this._map.fire(new t.Event("moveend",{originalEvent:h})),_(this._map.getBearing())&&this._map.resetNorth()),this._bearingChanged=!1,this._updatingCamera=!1}},_i.prototype._fireEvent=function(e,r){this._map.fire(new t.Event(e,r?{originalEvent:r}:{}))},_i.prototype._triggerRenderFrame=function(){var t=this;void 0===this._frameId&&(this._frameId=this._map._requestRenderFrame((function(e){delete t._frameId,t.handleEvent(new xi("renderFrame",{timeStamp:e})),t._applyChanges()})))};var wi=function(e){function r(r,n){e.call(this),this._moving=!1,this._zooming=!1,this.transform=r,this._bearingSnap=n.bearingSnap,t.bindAll(["_renderFrameCallback"],this)}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.getCenter=function(){return new t.LngLat(this.transform.center.lng,this.transform.center.lat)},r.prototype.setCenter=function(t,e){return this.jumpTo({center:t},e)},r.prototype.panBy=function(e,r,n){return e=t.Point.convert(e).mult(-1),this.panTo(this.transform.center,t.extend({offset:e},r),n)},r.prototype.panTo=function(e,r,n){return this.easeTo(t.extend({center:e},r),n)},r.prototype.getZoom=function(){return this.transform.zoom},r.prototype.setZoom=function(t,e){return this.jumpTo({zoom:t},e),this},r.prototype.zoomTo=function(e,r,n){return this.easeTo(t.extend({zoom:e},r),n)},r.prototype.zoomIn=function(t,e){return this.zoomTo(this.getZoom()+1,t,e),this},r.prototype.zoomOut=function(t,e){return this.zoomTo(this.getZoom()-1,t,e),this},r.prototype.getBearing=function(){return this.transform.bearing},r.prototype.setBearing=function(t,e){return this.jumpTo({bearing:t},e),this},r.prototype.getPadding=function(){return this.transform.padding},r.prototype.setPadding=function(t,e){return this.jumpTo({padding:t},e),this},r.prototype.rotateTo=function(e,r,n){return this.easeTo(t.extend({bearing:e},r),n)},r.prototype.resetNorth=function(e,r){return this.rotateTo(0,t.extend({duration:1e3},e),r),this},r.prototype.resetNorthPitch=function(e,r){return this.easeTo(t.extend({bearing:0,pitch:0,duration:1e3},e),r),this},r.prototype.snapToNorth=function(t,e){return Math.abs(this.getBearing())<this._bearingSnap?this.resetNorth(t,e):this},r.prototype.getPitch=function(){return this.transform.pitch},r.prototype.setPitch=function(t,e){return this.jumpTo({pitch:t},e),this},r.prototype.cameraForBounds=function(e,r){return e=t.LngLatBounds.convert(e),this._cameraForBoxAndBearing(e.getNorthWest(),e.getSouthEast(),0,r)},r.prototype._cameraForBoxAndBearing=function(e,r,n,i){var a={top:0,bottom:0,right:0,left:0};if("number"==typeof(i=t.extend({padding:a,offset:[0,0],maxZoom:this.transform.maxZoom},i)).padding){var o=i.padding;i.padding={top:o,bottom:o,right:o,left:o}}i.padding=t.extend(a,i.padding);var s=this.transform,l=s.padding,u=s.project(t.LngLat.convert(e)),c=s.project(t.LngLat.convert(r)),f=u.rotate(-n*Math.PI/180),h=c.rotate(-n*Math.PI/180),p=new t.Point(Math.max(f.x,h.x),Math.max(f.y,h.y)),d=new t.Point(Math.min(f.x,h.x),Math.min(f.y,h.y)),v=p.sub(d),g=(s.width-(l.left+l.right+i.padding.left+i.padding.right))/v.x,y=(s.height-(l.top+l.bottom+i.padding.top+i.padding.bottom))/v.y;if(!(y<0||g<0)){var m=Math.min(s.scaleZoom(s.scale*Math.min(g,y)),i.maxZoom),x=t.Point.convert(i.offset),b=(i.padding.left-i.padding.right)/2,_=(i.padding.top-i.padding.bottom)/2,w=new t.Point(x.x+b,x.y+_).mult(s.scale/s.zoomScale(m));return{center:s.unproject(u.add(c).div(2).sub(w)),zoom:m,bearing:n}}t.warnOnce("Map cannot fit within canvas with the given bounds, padding, and/or offset.")},r.prototype.fitBounds=function(t,e,r){return this._fitInternal(this.cameraForBounds(t,e),e,r)},r.prototype.fitScreenCoordinates=function(e,r,n,i,a){return this._fitInternal(this._cameraForBoxAndBearing(this.transform.pointLocation(t.Point.convert(e)),this.transform.pointLocation(t.Point.convert(r)),n,i),i,a)},r.prototype._fitInternal=function(e,r,n){return e?(delete(r=t.extend(e,r)).padding,r.linear?this.easeTo(r,n):this.flyTo(r,n)):this},r.prototype.jumpTo=function(e,r){this.stop();var n=this.transform,i=!1,a=!1,o=!1;return"zoom"in e&&n.zoom!==+e.zoom&&(i=!0,n.zoom=+e.zoom),void 0!==e.center&&(n.center=t.LngLat.convert(e.center)),"bearing"in e&&n.bearing!==+e.bearing&&(a=!0,n.bearing=+e.bearing),"pitch"in e&&n.pitch!==+e.pitch&&(o=!0,n.pitch=+e.pitch),null==e.padding||n.isPaddingEqual(e.padding)||(n.padding=e.padding),this.fire(new t.Event("movestart",r)).fire(new t.Event("move",r)),i&&this.fire(new t.Event("zoomstart",r)).fire(new t.Event("zoom",r)).fire(new t.Event("zoomend",r)),a&&this.fire(new t.Event("rotatestart",r)).fire(new t.Event("rotate",r)).fire(new t.Event("rotateend",r)),o&&this.fire(new t.Event("pitchstart",r)).fire(new t.Event("pitch",r)).fire(new t.Event("pitchend",r)),this.fire(new t.Event("moveend",r))},r.prototype.easeTo=function(e,r){var n=this;this._stop(!1,e.easeId),(!1===(e=t.extend({offset:[0,0],duration:500,easing:t.ease},e)).animate||!e.essential&&t.browser.prefersReducedMotion)&&(e.duration=0);var i=this.transform,a=this.getZoom(),o=this.getBearing(),s=this.getPitch(),l=this.getPadding(),u="zoom"in e?+e.zoom:a,c="bearing"in e?this._normalizeBearing(e.bearing,o):o,f="pitch"in e?+e.pitch:s,h="padding"in e?e.padding:i.padding,p=t.Point.convert(e.offset),d=i.centerPoint.add(p),v=i.pointLocation(d),g=t.LngLat.convert(e.center||v);this._normalizeCenter(g);var y,m,x=i.project(v),b=i.project(g).sub(x),_=i.zoomScale(u-a);e.around&&(y=t.LngLat.convert(e.around),m=i.locationPoint(y));var w={moving:this._moving,zooming:this._zooming,rotating:this._rotating,pitching:this._pitching};return this._zooming=this._zooming||u!==a,this._rotating=this._rotating||o!==c,this._pitching=this._pitching||f!==s,this._padding=!i.isPaddingEqual(h),this._easeId=e.easeId,this._prepareEase(r,e.noMoveStart,w),clearTimeout(this._easeEndTimeoutID),this._ease((function(e){if(n._zooming&&(i.zoom=t.number(a,u,e)),n._rotating&&(i.bearing=t.number(o,c,e)),n._pitching&&(i.pitch=t.number(s,f,e)),n._padding&&(i.interpolatePadding(l,h,e),d=i.centerPoint.add(p)),y)i.setLocationAtPoint(y,m);else{var v=i.zoomScale(i.zoom-a),g=u>a?Math.min(2,_):Math.max(.5,_),w=Math.pow(g,1-e),T=i.unproject(x.add(b.mult(e*w)).mult(v));i.setLocationAtPoint(i.renderWorldCopies?T.wrap():T,d)}n._fireMoveEvents(r)}),(function(t){n._afterEase(r,t)}),e),this},r.prototype._prepareEase=function(e,r,n){void 0===n&&(n={}),this._moving=!0,r||n.moving||this.fire(new t.Event("movestart",e)),this._zooming&&!n.zooming&&this.fire(new t.Event("zoomstart",e)),this._rotating&&!n.rotating&&this.fire(new t.Event("rotatestart",e)),this._pitching&&!n.pitching&&this.fire(new t.Event("pitchstart",e))},r.prototype._fireMoveEvents=function(e){this.fire(new t.Event("move",e)),this._zooming&&this.fire(new t.Event("zoom",e)),this._rotating&&this.fire(new t.Event("rotate",e)),this._pitching&&this.fire(new t.Event("pitch",e))},r.prototype._afterEase=function(e,r){if(!this._easeId||!r||this._easeId!==r){delete this._easeId;var n=this._zooming,i=this._rotating,a=this._pitching;this._moving=!1,this._zooming=!1,this._rotating=!1,this._pitching=!1,this._padding=!1,n&&this.fire(new t.Event("zoomend",e)),i&&this.fire(new t.Event("rotateend",e)),a&&this.fire(new t.Event("pitchend",e)),this.fire(new t.Event("moveend",e))}},r.prototype.flyTo=function(e,r){var n=this;if(!e.essential&&t.browser.prefersReducedMotion){var i=t.pick(e,["center","zoom","bearing","pitch","around"]);return this.jumpTo(i,r)}this.stop(),e=t.extend({offset:[0,0],speed:1.2,curve:1.42,easing:t.ease},e);var a=this.transform,o=this.getZoom(),s=this.getBearing(),l=this.getPitch(),u=this.getPadding(),c="zoom"in e?t.clamp(+e.zoom,a.minZoom,a.maxZoom):o,f="bearing"in e?this._normalizeBearing(e.bearing,s):s,h="pitch"in e?+e.pitch:l,p="padding"in e?e.padding:a.padding,d=a.zoomScale(c-o),v=t.Point.convert(e.offset),g=a.centerPoint.add(v),y=a.pointLocation(g),m=t.LngLat.convert(e.center||y);this._normalizeCenter(m);var x=a.project(y),b=a.project(m).sub(x),_=e.curve,w=Math.max(a.width,a.height),T=w/d,k=b.mag();if("minZoom"in e){var A=t.clamp(Math.min(e.minZoom,o,c),a.minZoom,a.maxZoom),M=w/a.zoomScale(A-o);_=Math.sqrt(M/k*2)}var S=_*_;function E(t){var e=(T*T-w*w+(t?-1:1)*S*S*k*k)/(2*(t?T:w)*S*k);return Math.log(Math.sqrt(e*e+1)-e)}function L(t){return(Math.exp(t)-Math.exp(-t))/2}function C(t){return(Math.exp(t)+Math.exp(-t))/2}var P=E(0),O=function(t){return C(P)/C(P+_*t)},I=function(t){return w*((C(P)*(L(e=P+_*t)/C(e))-L(P))/S)/k;var e},D=(E(1)-P)/_;if(Math.abs(k)<1e-6||!isFinite(D)){if(Math.abs(w-T)<1e-6)return this.easeTo(e,r);var z=T<w?-1:1;D=Math.abs(Math.log(T/w))/_,I=function(){return 0},O=function(t){return Math.exp(z*_*t)}}if("duration"in e)e.duration=+e.duration;else{var R="screenSpeed"in e?+e.screenSpeed/_:+e.speed;e.duration=1e3*D/R}return e.maxDuration&&e.duration>e.maxDuration&&(e.duration=0),this._zooming=!0,this._rotating=s!==f,this._pitching=h!==l,this._padding=!a.isPaddingEqual(p),this._prepareEase(r,!1),this._ease((function(e){var i=e*D,d=1/O(i);a.zoom=1===e?c:o+a.scaleZoom(d),n._rotating&&(a.bearing=t.number(s,f,e)),n._pitching&&(a.pitch=t.number(l,h,e)),n._padding&&(a.interpolatePadding(u,p,e),g=a.centerPoint.add(v));var y=1===e?m:a.unproject(x.add(b.mult(I(i))).mult(d));a.setLocationAtPoint(a.renderWorldCopies?y.wrap():y,g),n._fireMoveEvents(r)}),(function(){return n._afterEase(r)}),e),this},r.prototype.isEasing=function(){return!!this._easeFrameId},r.prototype.stop=function(){return this._stop()},r.prototype._stop=function(t,e){if(this._easeFrameId&&(this._cancelRenderFrame(this._easeFrameId),delete this._easeFrameId,delete this._onEaseFrame),this._onEaseEnd){var r=this._onEaseEnd;delete this._onEaseEnd,r.call(this,e)}if(!t){var n=this.handlers;n&&n.stop()}return this},r.prototype._ease=function(e,r,n){!1===n.animate||0===n.duration?(e(1),r()):(this._easeStart=t.browser.now(),this._easeOptions=n,this._onEaseFrame=e,this._onEaseEnd=r,this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback))},r.prototype._renderFrameCallback=function(){var e=Math.min((t.browser.now()-this._easeStart)/this._easeOptions.duration,1);this._onEaseFrame(this._easeOptions.easing(e)),e<1?this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback):this.stop()},r.prototype._normalizeBearing=function(e,r){e=t.wrap(e,-180,180);var n=Math.abs(e-r);return Math.abs(e-360-r)<n&&(e-=360),Math.abs(e+360-r)<n&&(e+=360),e},r.prototype._normalizeCenter=function(t){var e=this.transform;if(e.renderWorldCopies&&!e.lngRange){var r=t.lng-e.center.lng;t.lng+=r>180?-360:r<-180?360:0}},r}(t.Evented),Ti=function(e){void 0===e&&(e={}),this.options=e,t.bindAll(["_updateEditLink","_updateData","_updateCompact"],this)};Ti.prototype.getDefaultPosition=function(){return"bottom-right"},Ti.prototype.onAdd=function(t){var e=this.options&&this.options.compact;return this._map=t,this._container=r.create("div","mapboxgl-ctrl mapboxgl-ctrl-attrib"),this._innerContainer=r.create("div","mapboxgl-ctrl-attrib-inner",this._container),e&&this._container.classList.add("mapboxgl-compact"),this._updateAttributions(),this._updateEditLink(),this._map.on("styledata",this._updateData),this._map.on("sourcedata",this._updateData),this._map.on("moveend",this._updateEditLink),void 0===e&&(this._map.on("resize",this._updateCompact),this._updateCompact()),this._container},Ti.prototype.onRemove=function(){r.remove(this._container),this._map.off("styledata",this._updateData),this._map.off("sourcedata",this._updateData),this._map.off("moveend",this._updateEditLink),this._map.off("resize",this._updateCompact),this._map=void 0,this._attribHTML=void 0},Ti.prototype._updateEditLink=function(){var e=this._editLink;e||(e=this._editLink=this._container.querySelector(".mapbox-improve-map"));var r=[{key:"owner",value:this.styleOwner},{key:"id",value:this.styleId},{key:"access_token",value:this._map._requestManager._customAccessToken||t.config.ACCESS_TOKEN}];if(e){var n=r.reduce((function(t,e,n){return e.value&&(t+=e.key+"="+e.value+(n<r.length-1?"&":"")),t}),"?");e.href=t.config.FEEDBACK_URL+"/"+n+(this._map._hash?this._map._hash.getHashString(!0):""),e.rel="noopener nofollow"}},Ti.prototype._updateData=function(t){!t||"metadata"!==t.sourceDataType&&"style"!==t.dataType||(this._updateAttributions(),this._updateEditLink())},Ti.prototype._updateAttributions=function(){if(this._map.style){var t=[];if(this.options.customAttribution&&(Array.isArray(this.options.customAttribution)?t=t.concat(this.options.customAttribution.map((function(t){return"string"!=typeof t?"":t}))):"string"==typeof this.options.customAttribution&&t.push(this.options.customAttribution)),this._map.style.stylesheet){var e=this._map.style.stylesheet;this.styleOwner=e.owner,this.styleId=e.id}var r=this._map.style.sourceCaches;for(var n in r){var i=r[n];if(i.used){var a=i.getSource();a.attribution&&t.indexOf(a.attribution)<0&&t.push(a.attribution)}}t.sort((function(t,e){return t.length-e.length}));var o=(t=t.filter((function(e,r){for(var n=r+1;n<t.length;n++)if(t[n].indexOf(e)>=0)return!1;return!0}))).join(" | ");o!==this._attribHTML&&(this._attribHTML=o,t.length?(this._innerContainer.innerHTML=o,this._container.classList.remove("mapboxgl-attrib-empty")):this._container.classList.add("mapboxgl-attrib-empty"),this._editLink=null)}},Ti.prototype._updateCompact=function(){this._map.getCanvasContainer().offsetWidth<=640?this._container.classList.add("mapboxgl-compact"):this._container.classList.remove("mapboxgl-compact")};var ki=function(){t.bindAll(["_updateLogo"],this),t.bindAll(["_updateCompact"],this)};ki.prototype.onAdd=function(t){this._map=t,this._container=r.create("div","mapboxgl-ctrl");var e=r.create("a","mapboxgl-ctrl-logo");return e.target="_blank",e.rel="noopener nofollow",e.href="https://www.mapbox.com/",e.setAttribute("aria-label",this._map._getUIString("LogoControl.Title")),e.setAttribute("rel","noopener nofollow"),this._container.appendChild(e),this._container.style.display="none",this._map.on("sourcedata",this._updateLogo),this._updateLogo(),this._map.on("resize",this._updateCompact),this._updateCompact(),this._container},ki.prototype.onRemove=function(){r.remove(this._container),this._map.off("sourcedata",this._updateLogo),this._map.off("resize",this._updateCompact)},ki.prototype.getDefaultPosition=function(){return"bottom-left"},ki.prototype._updateLogo=function(t){t&&"metadata"!==t.sourceDataType||(this._container.style.display=this._logoRequired()?"block":"none")},ki.prototype._logoRequired=function(){if(this._map.style){var t=this._map.style.sourceCaches;for(var e in t)if(t[e].getSource().mapbox_logo)return!0;return!1}},ki.prototype._updateCompact=function(){var t=this._container.children;if(t.length){var e=t[0];this._map.getCanvasContainer().offsetWidth<250?e.classList.add("mapboxgl-compact"):e.classList.remove("mapboxgl-compact")}};var Ai=function(){this._queue=[],this._id=0,this._cleared=!1,this._currentlyRunning=!1};Ai.prototype.add=function(t){var e=++this._id;return this._queue.push({callback:t,id:e,cancelled:!1}),e},Ai.prototype.remove=function(t){for(var e=this._currentlyRunning,r=0,n=e?this._queue.concat(e):this._queue;r<n.length;r+=1){var i=n[r];if(i.id===t)return void(i.cancelled=!0)}},Ai.prototype.run=function(t){void 0===t&&(t=0);var e=this._currentlyRunning=this._queue;this._queue=[];for(var r=0,n=e;r<n.length;r+=1){var i=n[r];if(!i.cancelled&&(i.callback(t),this._cleared))break}this._cleared=!1,this._currentlyRunning=!1},Ai.prototype.clear=function(){this._currentlyRunning&&(this._cleared=!0),this._queue=[]};var Mi={"FullscreenControl.Enter":"Enter fullscreen","FullscreenControl.Exit":"Exit fullscreen","GeolocateControl.FindMyLocation":"Find my location","GeolocateControl.LocationNotAvailable":"Location not available","LogoControl.Title":"Mapbox logo","NavigationControl.ResetBearing":"Reset bearing to north","NavigationControl.ZoomIn":"Zoom in","NavigationControl.ZoomOut":"Zoom out","ScaleControl.Feet":"ft","ScaleControl.Meters":"m","ScaleControl.Kilometers":"km","ScaleControl.Miles":"mi","ScaleControl.NauticalMiles":"nm"},Si=t.window.HTMLImageElement,Ei=t.window.HTMLElement,Li=t.window.ImageBitmap,Ci=60,Pi={center:[0,0],zoom:0,bearing:0,pitch:0,minZoom:-2,maxZoom:22,minPitch:0,maxPitch:Ci,interactive:!0,scrollZoom:!0,boxZoom:!0,dragRotate:!0,dragPan:!0,keyboard:!0,doubleClickZoom:!0,touchZoomRotate:!0,touchPitch:!0,bearingSnap:7,clickTolerance:3,pitchWithRotate:!0,hash:!1,attributionControl:!0,failIfMajorPerformanceCaveat:!1,preserveDrawingBuffer:!1,trackResize:!0,renderWorldCopies:!0,refreshExpiredTiles:!0,maxTileCacheSize:null,localIdeographFontFamily:"sans-serif",transformRequest:null,accessToken:null,fadeDuration:300,crossSourceCollisions:!0},Oi=function(n){function i(e){var r=this;if(null!=(e=t.extend({},Pi,e)).minZoom&&null!=e.maxZoom&&e.minZoom>e.maxZoom)throw new Error("maxZoom must be greater than or equal to minZoom");if(null!=e.minPitch&&null!=e.maxPitch&&e.minPitch>e.maxPitch)throw new Error("maxPitch must be greater than or equal to minPitch");if(null!=e.minPitch&&e.minPitch<0)throw new Error("minPitch must be greater than or equal to 0");if(null!=e.maxPitch&&e.maxPitch>Ci)throw new Error("maxPitch must be less than or equal to 60");var i=new Sn(e.minZoom,e.maxZoom,e.minPitch,e.maxPitch,e.renderWorldCopies);if(n.call(this,i,e),this._interactive=e.interactive,this._maxTileCacheSize=e.maxTileCacheSize,this._failIfMajorPerformanceCaveat=e.failIfMajorPerformanceCaveat,this._preserveDrawingBuffer=e.preserveDrawingBuffer,this._antialias=e.antialias,this._trackResize=e.trackResize,this._bearingSnap=e.bearingSnap,this._refreshExpiredTiles=e.refreshExpiredTiles,this._fadeDuration=e.fadeDuration,this._crossSourceCollisions=e.crossSourceCollisions,this._crossFadingFactor=1,this._collectResourceTiming=e.collectResourceTiming,this._renderTaskQueue=new Ai,this._controls=[],this._mapId=t.uniqueId(),this._locale=t.extend({},Mi,e.locale),this._requestManager=new t.RequestManager(e.transformRequest,e.accessToken),"string"==typeof e.container){if(this._container=t.window.document.getElementById(e.container),!this._container)throw new Error("Container '"+e.container+"' not found.")}else{if(!(e.container instanceof Ei))throw new Error("Invalid type: 'container' must be a String or HTMLElement.");this._container=e.container}if(e.maxBounds&&this.setMaxBounds(e.maxBounds),t.bindAll(["_onWindowOnline","_onWindowResize","_contextLost","_contextRestored"],this),this._setupContainer(),this._setupPainter(),void 0===this.painter)throw new Error("Failed to initialize WebGL.");this.on("move",(function(){return r._update(!1)})),this.on("moveend",(function(){return r._update(!1)})),this.on("zoom",(function(){return r._update(!0)})),void 0!==t.window&&(t.window.addEventListener("online",this._onWindowOnline,!1),t.window.addEventListener("resize",this._onWindowResize,!1)),this.handlers=new _i(this,e);var a="string"==typeof e.hash&&e.hash||void 0;this._hash=e.hash&&new Ln(a).addTo(this),this._hash&&this._hash._onHashChange()||(this.jumpTo({center:e.center,zoom:e.zoom,bearing:e.bearing,pitch:e.pitch}),e.bounds&&(this.resize(),this.fitBounds(e.bounds,t.extend({},e.fitBoundsOptions,{duration:0})))),this.resize(),this._localIdeographFontFamily=e.localIdeographFontFamily,e.style&&this.setStyle(e.style,{localIdeographFontFamily:e.localIdeographFontFamily}),e.attributionControl&&this.addControl(new Ti({customAttribution:e.customAttribution})),this.addControl(new ki,e.logoPosition),this.on("style.load",(function(){r.transform.unmodified&&r.jumpTo(r.style.stylesheet)})),this.on("data",(function(e){r._update("style"===e.dataType),r.fire(new t.Event(e.dataType+"data",e))})),this.on("dataloading",(function(e){r.fire(new t.Event(e.dataType+"dataloading",e))}))}n&&(i.__proto__=n),i.prototype=Object.create(n&&n.prototype),i.prototype.constructor=i;var a={showTileBoundaries:{configurable:!0},showPadding:{configurable:!0},showCollisionBoxes:{configurable:!0},showOverdrawInspector:{configurable:!0},repaint:{configurable:!0},vertices:{configurable:!0},version:{configurable:!0}};return i.prototype._getMapId=function(){return this._mapId},i.prototype.addControl=function(e,r){if(void 0===r&&e.getDefaultPosition&&(r=e.getDefaultPosition()),void 0===r&&(r="top-right"),!e||!e.onAdd)return this.fire(new t.ErrorEvent(new Error("Invalid argument to map.addControl(). Argument must be a control with onAdd and onRemove methods.")));var n=e.onAdd(this);this._controls.push(e);var i=this._controlPositions[r];return-1!==r.indexOf("bottom")?i.insertBefore(n,i.firstChild):i.appendChild(n),this},i.prototype.removeControl=function(e){if(!e||!e.onRemove)return this.fire(new t.ErrorEvent(new Error("Invalid argument to map.removeControl(). Argument must be a control with onAdd and onRemove methods.")));var r=this._controls.indexOf(e);return r>-1&&this._controls.splice(r,1),e.onRemove(this),this},i.prototype.resize=function(e){var r=this._containerDimensions(),n=r[0],i=r[1];this._resizeCanvas(n,i),this.transform.resize(n,i),this.painter.resize(n,i);var a=!this._moving;return a&&(this.stop(),this.fire(new t.Event("movestart",e)).fire(new t.Event("move",e))),this.fire(new t.Event("resize",e)),a&&this.fire(new t.Event("moveend",e)),this},i.prototype.getBounds=function(){return this.transform.getBounds()},i.prototype.getMaxBounds=function(){return this.transform.getMaxBounds()},i.prototype.setMaxBounds=function(e){return this.transform.setMaxBounds(t.LngLatBounds.convert(e)),this._update()},i.prototype.setMinZoom=function(t){if((t=null==t?-2:t)>=-2&&t<=this.transform.maxZoom)return this.transform.minZoom=t,this._update(),this.getZoom()<t&&this.setZoom(t),this;throw new Error("minZoom must be between -2 and the current maxZoom, inclusive")},i.prototype.getMinZoom=function(){return this.transform.minZoom},i.prototype.setMaxZoom=function(t){if((t=null==t?22:t)>=this.transform.minZoom)return this.transform.maxZoom=t,this._update(),this.getZoom()>t&&this.setZoom(t),this;throw new Error("maxZoom must be greater than the current minZoom")},i.prototype.getMaxZoom=function(){return this.transform.maxZoom},i.prototype.setMinPitch=function(t){if((t=null==t?0:t)<0)throw new Error("minPitch must be greater than or equal to 0");if(t>=0&&t<=this.transform.maxPitch)return this.transform.minPitch=t,this._update(),this.getPitch()<t&&this.setPitch(t),this;throw new Error("minPitch must be between 0 and the current maxPitch, inclusive")},i.prototype.getMinPitch=function(){return this.transform.minPitch},i.prototype.setMaxPitch=function(t){if((t=null==t?Ci:t)>Ci)throw new Error("maxPitch must be less than or equal to 60");if(t>=this.transform.minPitch)return this.transform.maxPitch=t,this._update(),this.getPitch()>t&&this.setPitch(t),this;throw new Error("maxPitch must be greater than the current minPitch")},i.prototype.getMaxPitch=function(){return this.transform.maxPitch},i.prototype.getRenderWorldCopies=function(){return this.transform.renderWorldCopies},i.prototype.setRenderWorldCopies=function(t){return this.transform.renderWorldCopies=t,this._update()},i.prototype.project=function(e){return this.transform.locationPoint(t.LngLat.convert(e))},i.prototype.unproject=function(e){return this.transform.pointLocation(t.Point.convert(e))},i.prototype.isMoving=function(){return this._moving||this.handlers.isMoving()},i.prototype.isZooming=function(){return this._zooming||this.handlers.isZooming()},i.prototype.isRotating=function(){return this._rotating||this.handlers.isRotating()},i.prototype._createDelegatedListener=function(t,e,r){var n,i=this;if("mouseenter"===t||"mouseover"===t){var a=!1;return{layer:e,listener:r,delegates:{mousemove:function(n){var o=i.getLayer(e)?i.queryRenderedFeatures(n.point,{layers:[e]}):[];o.length?a||(a=!0,r.call(i,new Bn(t,i,n.originalEvent,{features:o}))):a=!1},mouseout:function(){a=!1}}}}if("mouseleave"===t||"mouseout"===t){var o=!1;return{layer:e,listener:r,delegates:{mousemove:function(n){(i.getLayer(e)?i.queryRenderedFeatures(n.point,{layers:[e]}):[]).length?o=!0:o&&(o=!1,r.call(i,new Bn(t,i,n.originalEvent)))},mouseout:function(e){o&&(o=!1,r.call(i,new Bn(t,i,e.originalEvent)))}}}}return{layer:e,listener:r,delegates:(n={},n[t]=function(t){var n=i.getLayer(e)?i.queryRenderedFeatures(t.point,{layers:[e]}):[];n.length&&(t.features=n,r.call(i,t),delete t.features)},n)}},i.prototype.on=function(t,e,r){if(void 0===r)return n.prototype.on.call(this,t,e);var i=this._createDelegatedListener(t,e,r);for(var a in this._delegatedListeners=this._delegatedListeners||{},this._delegatedListeners[t]=this._delegatedListeners[t]||[],this._delegatedListeners[t].push(i),i.delegates)this.on(a,i.delegates[a]);return this},i.prototype.once=function(t,e,r){if(void 0===r)return n.prototype.once.call(this,t,e);var i=this._createDelegatedListener(t,e,r);for(var a in i.delegates)this.once(a,i.delegates[a]);return this},i.prototype.off=function(t,e,r){var i=this;if(void 0===r)return n.prototype.off.call(this,t,e);return this._delegatedListeners&&this._delegatedListeners[t]&&function(n){for(var a=n[t],o=0;o<a.length;o++){var s=a[o];if(s.layer===e&&s.listener===r){for(var l in s.delegates)i.off(l,s.delegates[l]);return a.splice(o,1),i}}}(this._delegatedListeners),this},i.prototype.queryRenderedFeatures=function(e,r){if(!this.style)return[];var n;if(void 0!==r||void 0===e||e instanceof t.Point||Array.isArray(e)||(r=e,e=void 0),r=r||{},(e=e||[[0,0],[this.transform.width,this.transform.height]])instanceof t.Point||"number"==typeof e[0])n=[t.Point.convert(e)];else{var i=t.Point.convert(e[0]),a=t.Point.convert(e[1]);n=[i,new t.Point(a.x,i.y),a,new t.Point(i.x,a.y),i]}return this.style.queryRenderedFeatures(n,r,this.transform)},i.prototype.querySourceFeatures=function(t,e){return this.style.querySourceFeatures(t,e)},i.prototype.setStyle=function(e,r){return!1!==(r=t.extend({},{localIdeographFontFamily:this._localIdeographFontFamily},r)).diff&&r.localIdeographFontFamily===this._localIdeographFontFamily&&this.style&&e?(this._diffStyle(e,r),this):(this._localIdeographFontFamily=r.localIdeographFontFamily,this._updateStyle(e,r))},i.prototype._getUIString=function(t){var e=this._locale[t];if(null==e)throw new Error("Missing UI string '"+t+"'");return e},i.prototype._updateStyle=function(t,e){return this.style&&(this.style.setEventedParent(null),this.style._remove()),t?(this.style=new Ye(this,e||{}),this.style.setEventedParent(this,{style:this.style}),"string"==typeof t?this.style.loadURL(t):this.style.loadJSON(t),this):(delete this.style,this)},i.prototype._lazyInitEmptyStyle=function(){this.style||(this.style=new Ye(this,{}),this.style.setEventedParent(this,{style:this.style}),this.style.loadEmpty())},i.prototype._diffStyle=function(e,r){var n=this;if("string"==typeof e){var i=this._requestManager.normalizeStyleURL(e),a=this._requestManager.transformRequest(i,t.ResourceType.Style);t.getJSON(a,(function(e,i){e?n.fire(new t.ErrorEvent(e)):i&&n._updateDiff(i,r)}))}else"object"==typeof e&&this._updateDiff(e,r)},i.prototype._updateDiff=function(e,r){try{this.style.setState(e)&&this._update(!0)}catch(n){t.warnOnce("Unable to perform style diff: "+(n.message||n.error||n)+". Rebuilding the style from scratch."),this._updateStyle(e,r)}},i.prototype.getStyle=function(){if(this.style)return this.style.serialize()},i.prototype.isStyleLoaded=function(){return this.style?this.style.loaded():t.warnOnce("There is no style added to the map.")},i.prototype.addSource=function(t,e){return this._lazyInitEmptyStyle(),this.style.addSource(t,e),this._update(!0)},i.prototype.isSourceLoaded=function(e){var r=this.style&&this.style.sourceCaches[e];if(void 0!==r)return r.loaded();this.fire(new t.ErrorEvent(new Error("There is no source with ID '"+e+"'")))},i.prototype.areTilesLoaded=function(){var t=this.style&&this.style.sourceCaches;for(var e in t){var r=t[e]._tiles;for(var n in r){var i=r[n];if("loaded"!==i.state&&"errored"!==i.state)return!1}}return!0},i.prototype.addSourceType=function(t,e,r){return this._lazyInitEmptyStyle(),this.style.addSourceType(t,e,r)},i.prototype.removeSource=function(t){return this.style.removeSource(t),this._update(!0)},i.prototype.getSource=function(t){return this.style.getSource(t)},i.prototype.addImage=function(e,r,n){void 0===n&&(n={});var i=n.pixelRatio;void 0===i&&(i=1);var a=n.sdf;void 0===a&&(a=!1);var o=n.stretchX,s=n.stretchY,l=n.content;this._lazyInitEmptyStyle();if(r instanceof Si||Li&&r instanceof Li){var u=t.browser.getImageData(r),c=u.width,f=u.height,h=u.data;this.style.addImage(e,{data:new t.RGBAImage({width:c,height:f},h),pixelRatio:i,stretchX:o,stretchY:s,content:l,sdf:a,version:0})}else{if(void 0===r.width||void 0===r.height)return this.fire(new t.ErrorEvent(new Error("Invalid arguments to map.addImage(). The second argument must be an `HTMLImageElement`, `ImageData`, `ImageBitmap`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`")));var p=r.width,d=r.height,v=r.data,g=r;this.style.addImage(e,{data:new t.RGBAImage({width:p,height:d},new Uint8Array(v)),pixelRatio:i,stretchX:o,stretchY:s,content:l,sdf:a,version:0,userImage:g}),g.onAdd&&g.onAdd(this,e)}},i.prototype.updateImage=function(e,r){var n=this.style.getImage(e);if(!n)return this.fire(new t.ErrorEvent(new Error("The map has no image with that id. If you are adding a new image use `map.addImage(...)` instead.")));var i=r instanceof Si||Li&&r instanceof Li?t.browser.getImageData(r):r,a=i.width,o=i.height,s=i.data;if(void 0===a||void 0===o)return this.fire(new t.ErrorEvent(new Error("Invalid arguments to map.updateImage(). The second argument must be an `HTMLImageElement`, `ImageData`, `ImageBitmap`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`")));if(a!==n.data.width||o!==n.data.height)return this.fire(new t.ErrorEvent(new Error("The width and height of the updated image must be that same as the previous version of the image")));var l=!(r instanceof Si||Li&&r instanceof Li);n.data.replace(s,l),this.style.updateImage(e,n)},i.prototype.hasImage=function(e){return e?!!this.style.getImage(e):(this.fire(new t.ErrorEvent(new Error("Missing required image id"))),!1)},i.prototype.removeImage=function(t){this.style.removeImage(t)},i.prototype.loadImage=function(e,r){t.getImage(this._requestManager.transformRequest(e,t.ResourceType.Image),r)},i.prototype.listImages=function(){return this.style.listImages()},i.prototype.addLayer=function(t,e){return this._lazyInitEmptyStyle(),this.style.addLayer(t,e),this._update(!0)},i.prototype.moveLayer=function(t,e){return this.style.moveLayer(t,e),this._update(!0)},i.prototype.removeLayer=function(t){return this.style.removeLayer(t),this._update(!0)},i.prototype.getLayer=function(t){return this.style.getLayer(t)},i.prototype.setLayerZoomRange=function(t,e,r){return this.style.setLayerZoomRange(t,e,r),this._update(!0)},i.prototype.setFilter=function(t,e,r){return void 0===r&&(r={}),this.style.setFilter(t,e,r),this._update(!0)},i.prototype.getFilter=function(t){return this.style.getFilter(t)},i.prototype.setPaintProperty=function(t,e,r,n){return void 0===n&&(n={}),this.style.setPaintProperty(t,e,r,n),this._update(!0)},i.prototype.getPaintProperty=function(t,e){return this.style.getPaintProperty(t,e)},i.prototype.setLayoutProperty=function(t,e,r,n){return void 0===n&&(n={}),this.style.setLayoutProperty(t,e,r,n),this._update(!0)},i.prototype.getLayoutProperty=function(t,e){return this.style.getLayoutProperty(t,e)},i.prototype.setLight=function(t,e){return void 0===e&&(e={}),this._lazyInitEmptyStyle(),this.style.setLight(t,e),this._update(!0)},i.prototype.getLight=function(){return this.style.getLight()},i.prototype.setFeatureState=function(t,e){return this.style.setFeatureState(t,e),this._update()},i.prototype.removeFeatureState=function(t,e){return this.style.removeFeatureState(t,e),this._update()},i.prototype.getFeatureState=function(t){return this.style.getFeatureState(t)},i.prototype.getContainer=function(){return this._container},i.prototype.getCanvasContainer=function(){return this._canvasContainer},i.prototype.getCanvas=function(){return this._canvas},i.prototype._containerDimensions=function(){var t=0,e=0;return this._container&&(t=this._container.clientWidth||400,e=this._container.clientHeight||300),[t,e]},i.prototype._detectMissingCSS=function(){"rgb(250, 128, 114)"!==t.window.getComputedStyle(this._missingCSSCanary).getPropertyValue("background-color")&&t.warnOnce("This page appears to be missing CSS declarations for Mapbox GL JS, which may cause the map to display incorrectly. Please ensure your page includes mapbox-gl.css, as described in https://www.mapbox.com/mapbox-gl-js/api/.")},i.prototype._setupContainer=function(){var t=this._container;t.classList.add("mapboxgl-map"),(this._missingCSSCanary=r.create("div","mapboxgl-canary",t)).style.visibility="hidden",this._detectMissingCSS();var e=this._canvasContainer=r.create("div","mapboxgl-canvas-container",t);this._interactive&&e.classList.add("mapboxgl-interactive"),this._canvas=r.create("canvas","mapboxgl-canvas",e),this._canvas.addEventListener("webglcontextlost",this._contextLost,!1),this._canvas.addEventListener("webglcontextrestored",this._contextRestored,!1),this._canvas.setAttribute("tabindex","0"),this._canvas.setAttribute("aria-label","Map");var n=this._containerDimensions();this._resizeCanvas(n[0],n[1]);var i=this._controlContainer=r.create("div","mapboxgl-control-container",t),a=this._controlPositions={};["top-left","top-right","bottom-left","bottom-right"].forEach((function(t){a[t]=r.create("div","mapboxgl-ctrl-"+t,i)}))},i.prototype._resizeCanvas=function(e,r){var n=t.browser.devicePixelRatio||1;this._canvas.width=n*e,this._canvas.height=n*r,this._canvas.style.width=e+"px",this._canvas.style.height=r+"px"},i.prototype._setupPainter=function(){var r=t.extend({},e.webGLContextAttributes,{failIfMajorPerformanceCaveat:this._failIfMajorPerformanceCaveat,preserveDrawingBuffer:this._preserveDrawingBuffer,antialias:this._antialias||!1}),n=this._canvas.getContext("webgl",r)||this._canvas.getContext("experimental-webgl",r);n?(this.painter=new Tn(n,this.transform),t.webpSupported.testSupport(n)):this.fire(new t.ErrorEvent(new Error("Failed to initialize WebGL")))},i.prototype._contextLost=function(e){e.preventDefault(),this._frame&&(this._frame.cancel(),this._frame=null),this.fire(new t.Event("webglcontextlost",{originalEvent:e}))},i.prototype._contextRestored=function(e){this._setupPainter(),this.resize(),this._update(),this.fire(new t.Event("webglcontextrestored",{originalEvent:e}))},i.prototype.loaded=function(){return!this._styleDirty&&!this._sourcesDirty&&!!this.style&&this.style.loaded()},i.prototype._update=function(t){return this.style?(this._styleDirty=this._styleDirty||t,this._sourcesDirty=!0,this.triggerRepaint(),this):this},i.prototype._requestRenderFrame=function(t){return this._update(),this._renderTaskQueue.add(t)},i.prototype._cancelRenderFrame=function(t){this._renderTaskQueue.remove(t)},i.prototype._render=function(e){var r,n=this,i=0,a=this.painter.context.extTimerQuery;if(this.listens("gpu-timing-frame")&&(r=a.createQueryEXT(),a.beginQueryEXT(a.TIME_ELAPSED_EXT,r),i=t.browser.now()),this.painter.context.setDirty(),this.painter.setBaseState(),this._renderTaskQueue.run(e),!this._removed){var o=!1;if(this.style&&this._styleDirty){this._styleDirty=!1;var s=this.transform.zoom,l=t.browser.now();this.style.zoomHistory.update(s,l);var u=new t.EvaluationParameters(s,{now:l,fadeDuration:this._fadeDuration,zoomHistory:this.style.zoomHistory,transition:this.style.getTransition()}),c=u.crossFadingFactor();1===c&&c===this._crossFadingFactor||(o=!0,this._crossFadingFactor=c),this.style.update(u)}if(this.style&&this._sourcesDirty&&(this._sourcesDirty=!1,this.style._updateSources(this.transform)),this._placementDirty=this.style&&this.style._updatePlacement(this.painter.transform,this.showCollisionBoxes,this._fadeDuration,this._crossSourceCollisions),this.painter.render(this.style,{showTileBoundaries:this.showTileBoundaries,showOverdrawInspector:this._showOverdrawInspector,rotating:this.isRotating(),zooming:this.isZooming(),moving:this.isMoving(),fadeDuration:this._fadeDuration,showPadding:this.showPadding,gpuTiming:!!this.listens("gpu-timing-layer")}),this.fire(new t.Event("render")),this.loaded()&&!this._loaded&&(this._loaded=!0,this.fire(new t.Event("load"))),this.style&&(this.style.hasTransitions()||o)&&(this._styleDirty=!0),this.style&&!this._placementDirty&&this.style._releaseSymbolFadeTiles(),this.listens("gpu-timing-frame")){var f=t.browser.now()-i;a.endQueryEXT(a.TIME_ELAPSED_EXT,r),setTimeout((function(){var e=a.getQueryObjectEXT(r,a.QUERY_RESULT_EXT)/1e6;a.deleteQueryEXT(r),n.fire(new t.Event("gpu-timing-frame",{cpuTime:f,gpuTime:e}))}),50)}if(this.listens("gpu-timing-layer")){var h=this.painter.collectGpuTimers();setTimeout((function(){var e=n.painter.queryGpuTimers(h);n.fire(new t.Event("gpu-timing-layer",{layerTimes:e}))}),50)}return this._sourcesDirty||this._styleDirty||this._placementDirty||this._repaint?this.triggerRepaint():!this.isMoving()&&this.loaded()&&(this._fullyLoaded||(this._fullyLoaded=!0),this.fire(new t.Event("idle"))),this}},i.prototype.remove=function(){this._hash&&this._hash.remove();for(var e=0,r=this._controls;e<r.length;e+=1)r[e].onRemove(this);this._controls=[],this._frame&&(this._frame.cancel(),this._frame=null),this._renderTaskQueue.clear(),this.painter.destroy(),this.handlers.destroy(),delete this.handlers,this.setStyle(null),void 0!==t.window&&(t.window.removeEventListener("resize",this._onWindowResize,!1),t.window.removeEventListener("online",this._onWindowOnline,!1));var n=this.painter.context.gl.getExtension("WEBGL_lose_context");n&&n.loseContext(),Ii(this._canvasContainer),Ii(this._controlContainer),Ii(this._missingCSSCanary),this._container.classList.remove("mapboxgl-map"),this._removed=!0,this.fire(new t.Event("remove"))},i.prototype.triggerRepaint=function(){var e=this;this.style&&!this._frame&&(this._frame=t.browser.frame((function(t){e._frame=null,e._render(t)})))},i.prototype._onWindowOnline=function(){this._update()},i.prototype._onWindowResize=function(t){this._trackResize&&this.resize({originalEvent:t})._update()},a.showTileBoundaries.get=function(){return!!this._showTileBoundaries},a.showTileBoundaries.set=function(t){this._showTileBoundaries!==t&&(this._showTileBoundaries=t,this._update())},a.showPadding.get=function(){return!!this._showPadding},a.showPadding.set=function(t){this._showPadding!==t&&(this._showPadding=t,this._update())},a.showCollisionBoxes.get=function(){return!!this._showCollisionBoxes},a.showCollisionBoxes.set=function(t){this._showCollisionBoxes!==t&&(this._showCollisionBoxes=t,t?this.style._generateCollisionBoxes():this._update())},a.showOverdrawInspector.get=function(){return!!this._showOverdrawInspector},a.showOverdrawInspector.set=function(t){this._showOverdrawInspector!==t&&(this._showOverdrawInspector=t,this._update())},a.repaint.get=function(){return!!this._repaint},a.repaint.set=function(t){this._repaint!==t&&(this._repaint=t,this.triggerRepaint())},a.vertices.get=function(){return!!this._vertices},a.vertices.set=function(t){this._vertices=t,this._update()},i.prototype._setCacheLimits=function(e,r){t.setCacheLimits(e,r)},a.version.get=function(){return t.version},Object.defineProperties(i.prototype,a),i}(wi);function Ii(t){t.parentNode&&t.parentNode.removeChild(t)}var Di={showCompass:!0,showZoom:!0,visualizePitch:!1},zi=function(e){var n=this;this.options=t.extend({},Di,e),this._container=r.create("div","mapboxgl-ctrl mapboxgl-ctrl-group"),this._container.addEventListener("contextmenu",(function(t){return t.preventDefault()})),this.options.showZoom&&(t.bindAll(["_setButtonTitle","_updateZoomButtons"],this),this._zoomInButton=this._createButton("mapboxgl-ctrl-zoom-in",(function(t){return n._map.zoomIn({},{originalEvent:t})})),r.create("span","mapboxgl-ctrl-icon",this._zoomInButton).setAttribute("aria-hidden",!0),this._zoomOutButton=this._createButton("mapboxgl-ctrl-zoom-out",(function(t){return n._map.zoomOut({},{originalEvent:t})})),r.create("span","mapboxgl-ctrl-icon",this._zoomOutButton).setAttribute("aria-hidden",!0)),this.options.showCompass&&(t.bindAll(["_rotateCompassArrow"],this),this._compass=this._createButton("mapboxgl-ctrl-compass",(function(t){n.options.visualizePitch?n._map.resetNorthPitch({},{originalEvent:t}):n._map.resetNorth({},{originalEvent:t})})),this._compassIcon=r.create("span","mapboxgl-ctrl-icon",this._compass),this._compassIcon.setAttribute("aria-hidden",!0))};zi.prototype._updateZoomButtons=function(){var t=this._map.getZoom();this._zoomInButton.disabled=t===this._map.getMaxZoom(),this._zoomOutButton.disabled=t===this._map.getMinZoom()},zi.prototype._rotateCompassArrow=function(){var t=this.options.visualizePitch?"scale("+1/Math.pow(Math.cos(this._map.transform.pitch*(Math.PI/180)),.5)+") rotateX("+this._map.transform.pitch+"deg) rotateZ("+this._map.transform.angle*(180/Math.PI)+"deg)":"rotate("+this._map.transform.angle*(180/Math.PI)+"deg)";this._compassIcon.style.transform=t},zi.prototype.onAdd=function(t){return this._map=t,this.options.showZoom&&(this._setButtonTitle(this._zoomInButton,"ZoomIn"),this._setButtonTitle(this._zoomOutButton,"ZoomOut"),this._map.on("zoom",this._updateZoomButtons),this._updateZoomButtons()),this.options.showCompass&&(this._setButtonTitle(this._compass,"ResetBearing"),this.options.visualizePitch&&this._map.on("pitch",this._rotateCompassArrow),this._map.on("rotate",this._rotateCompassArrow),this._rotateCompassArrow(),this._handler=new Ri(this._map,this._compass,this.options.visualizePitch)),this._container},zi.prototype.onRemove=function(){r.remove(this._container),this.options.showZoom&&this._map.off("zoom",this._updateZoomButtons),this.options.showCompass&&(this.options.visualizePitch&&this._map.off("pitch",this._rotateCompassArrow),this._map.off("rotate",this._rotateCompassArrow),this._handler.off(),delete this._handler),delete this._map},zi.prototype._createButton=function(t,e){var n=r.create("button",t,this._container);return n.type="button",n.addEventListener("click",e),n},zi.prototype._setButtonTitle=function(t,e){var r=this._map._getUIString("NavigationControl."+e);t.title=r,t.setAttribute("aria-label",r)};var Ri=function(e,n,i){void 0===i&&(i=!1),this._clickTolerance=10,this.element=n,this.mouseRotate=new Jn({clickTolerance:e.dragRotate._mouseRotate._clickTolerance}),this.map=e,i&&(this.mousePitch=new Kn({clickTolerance:e.dragRotate._mousePitch._clickTolerance})),t.bindAll(["mousedown","mousemove","mouseup","touchstart","touchmove","touchend","reset"],this),r.addEventListener(n,"mousedown",this.mousedown),r.addEventListener(n,"touchstart",this.touchstart,{passive:!1}),r.addEventListener(n,"touchmove",this.touchmove),r.addEventListener(n,"touchend",this.touchend),r.addEventListener(n,"touchcancel",this.reset)};function Fi(e,r,n){if(e=new t.LngLat(e.lng,e.lat),r){var i=new t.LngLat(e.lng-360,e.lat),a=new t.LngLat(e.lng+360,e.lat),o=n.locationPoint(e).distSqr(r);n.locationPoint(i).distSqr(r)<o?e=i:n.locationPoint(a).distSqr(r)<o&&(e=a)}for(;Math.abs(e.lng-n.center.lng)>180;){var s=n.locationPoint(e);if(s.x>=0&&s.y>=0&&s.x<=n.width&&s.y<=n.height)break;e.lng>n.center.lng?e.lng-=360:e.lng+=360}return e}Ri.prototype.down=function(t,e){this.mouseRotate.mousedown(t,e),this.mousePitch&&this.mousePitch.mousedown(t,e),r.disableDrag()},Ri.prototype.move=function(t,e){var r=this.map,n=this.mouseRotate.mousemoveWindow(t,e);if(n&&n.bearingDelta&&r.setBearing(r.getBearing()+n.bearingDelta),this.mousePitch){var i=this.mousePitch.mousemoveWindow(t,e);i&&i.pitchDelta&&r.setPitch(r.getPitch()+i.pitchDelta)}},Ri.prototype.off=function(){var t=this.element;r.removeEventListener(t,"mousedown",this.mousedown),r.removeEventListener(t,"touchstart",this.touchstart,{passive:!1}),r.removeEventListener(t,"touchmove",this.touchmove),r.removeEventListener(t,"touchend",this.touchend),r.removeEventListener(t,"touchcancel",this.reset),this.offTemp()},Ri.prototype.offTemp=function(){r.enableDrag(),r.removeEventListener(t.window,"mousemove",this.mousemove),r.removeEventListener(t.window,"mouseup",this.mouseup)},Ri.prototype.mousedown=function(e){this.down(t.extend({},e,{ctrlKey:!0,preventDefault:function(){return e.preventDefault()}}),r.mousePos(this.element,e)),r.addEventListener(t.window,"mousemove",this.mousemove),r.addEventListener(t.window,"mouseup",this.mouseup)},Ri.prototype.mousemove=function(t){this.move(t,r.mousePos(this.element,t))},Ri.prototype.mouseup=function(t){this.mouseRotate.mouseupWindow(t),this.mousePitch&&this.mousePitch.mouseupWindow(t),this.offTemp()},Ri.prototype.touchstart=function(t){1!==t.targetTouches.length?this.reset():(this._startPos=this._lastPos=r.touchPos(this.element,t.targetTouches)[0],this.down({type:"mousedown",button:0,ctrlKey:!0,preventDefault:function(){return t.preventDefault()}},this._startPos))},Ri.prototype.touchmove=function(t){1!==t.targetTouches.length?this.reset():(this._lastPos=r.touchPos(this.element,t.targetTouches)[0],this.move({preventDefault:function(){return t.preventDefault()}},this._lastPos))},Ri.prototype.touchend=function(t){0===t.targetTouches.length&&this._startPos&&this._lastPos&&this._startPos.dist(this._lastPos)<this._clickTolerance&&this.element.click(),this.reset()},Ri.prototype.reset=function(){this.mouseRotate.reset(),this.mousePitch&&this.mousePitch.reset(),delete this._startPos,delete this._lastPos,this.offTemp()};var Bi={center:"translate(-50%,-50%)",top:"translate(-50%,0)","top-left":"translate(0,0)","top-right":"translate(-100%,0)",bottom:"translate(-50%,-100%)","bottom-left":"translate(0,-100%)","bottom-right":"translate(-100%,-100%)",left:"translate(0,-50%)",right:"translate(-100%,-50%)"};function Ni(t,e,r){var n=t.classList;for(var i in Bi)n.remove("mapboxgl-"+r+"-anchor-"+i);n.add("mapboxgl-"+r+"-anchor-"+e)}var ji,Ui=function(e){function n(n,i){var a=this;if(e.call(this),(n instanceof t.window.HTMLElement||i)&&(n=t.extend({element:n},i)),t.bindAll(["_update","_onMove","_onUp","_addDragHandler","_onMapClick","_onKeyPress"],this),this._anchor=n&&n.anchor||"center",this._color=n&&n.color||"#3FB1CE",this._draggable=n&&n.draggable||!1,this._state="inactive",this._rotation=n&&n.rotation||0,this._rotationAlignment=n&&n.rotationAlignment||"auto",this._pitchAlignment=n&&n.pitchAlignment&&"auto"!==n.pitchAlignment?n.pitchAlignment:this._rotationAlignment,n&&n.element)this._element=n.element,this._offset=t.Point.convert(n&&n.offset||[0,0]);else{this._defaultMarker=!0,this._element=r.create("div"),this._element.setAttribute("aria-label","Map marker");var o=r.createNS("http://www.w3.org/2000/svg","svg");o.setAttributeNS(null,"display","block"),o.setAttributeNS(null,"height","41px"),o.setAttributeNS(null,"width","27px"),o.setAttributeNS(null,"viewBox","0 0 27 41");var s=r.createNS("http://www.w3.org/2000/svg","g");s.setAttributeNS(null,"stroke","none"),s.setAttributeNS(null,"stroke-width","1"),s.setAttributeNS(null,"fill","none"),s.setAttributeNS(null,"fill-rule","evenodd");var l=r.createNS("http://www.w3.org/2000/svg","g");l.setAttributeNS(null,"fill-rule","nonzero");var u=r.createNS("http://www.w3.org/2000/svg","g");u.setAttributeNS(null,"transform","translate(3.0, 29.0)"),u.setAttributeNS(null,"fill","#000000");for(var c=0,f=[{rx:"10.5",ry:"5.25002273"},{rx:"10.5",ry:"5.25002273"},{rx:"9.5",ry:"4.77275007"},{rx:"8.5",ry:"4.29549936"},{rx:"7.5",ry:"3.81822308"},{rx:"6.5",ry:"3.34094679"},{rx:"5.5",ry:"2.86367051"},{rx:"4.5",ry:"2.38636864"}];c<f.length;c+=1){var h=f[c],p=r.createNS("http://www.w3.org/2000/svg","ellipse");p.setAttributeNS(null,"opacity","0.04"),p.setAttributeNS(null,"cx","10.5"),p.setAttributeNS(null,"cy","5.80029008"),p.setAttributeNS(null,"rx",h.rx),p.setAttributeNS(null,"ry",h.ry),u.appendChild(p)}var d=r.createNS("http://www.w3.org/2000/svg","g");d.setAttributeNS(null,"fill",this._color);var v=r.createNS("http://www.w3.org/2000/svg","path");v.setAttributeNS(null,"d","M27,13.5 C27,19.074644 20.250001,27.000002 14.75,34.500002 C14.016665,35.500004 12.983335,35.500004 12.25,34.500002 C6.7499993,27.000002 0,19.222562 0,13.5 C0,6.0441559 6.0441559,0 13.5,0 C20.955844,0 27,6.0441559 27,13.5 Z"),d.appendChild(v);var g=r.createNS("http://www.w3.org/2000/svg","g");g.setAttributeNS(null,"opacity","0.25"),g.setAttributeNS(null,"fill","#000000");var y=r.createNS("http://www.w3.org/2000/svg","path");y.setAttributeNS(null,"d","M13.5,0 C6.0441559,0 0,6.0441559 0,13.5 C0,19.222562 6.7499993,27 12.25,34.5 C13,35.522727 14.016664,35.500004 14.75,34.5 C20.250001,27 27,19.074644 27,13.5 C27,6.0441559 20.955844,0 13.5,0 Z M13.5,1 C20.415404,1 26,6.584596 26,13.5 C26,15.898657 24.495584,19.181431 22.220703,22.738281 C19.945823,26.295132 16.705119,30.142167 13.943359,33.908203 C13.743445,34.180814 13.612715,34.322738 13.5,34.441406 C13.387285,34.322738 13.256555,34.180814 13.056641,33.908203 C10.284481,30.127985 7.4148684,26.314159 5.015625,22.773438 C2.6163816,19.232715 1,15.953538 1,13.5 C1,6.584596 6.584596,1 13.5,1 Z"),g.appendChild(y);var m=r.createNS("http://www.w3.org/2000/svg","g");m.setAttributeNS(null,"transform","translate(6.0, 7.0)"),m.setAttributeNS(null,"fill","#FFFFFF");var x=r.createNS("http://www.w3.org/2000/svg","g");x.setAttributeNS(null,"transform","translate(8.0, 8.0)");var b=r.createNS("http://www.w3.org/2000/svg","circle");b.setAttributeNS(null,"fill","#000000"),b.setAttributeNS(null,"opacity","0.25"),b.setAttributeNS(null,"cx","5.5"),b.setAttributeNS(null,"cy","5.5"),b.setAttributeNS(null,"r","5.4999962");var _=r.createNS("http://www.w3.org/2000/svg","circle");_.setAttributeNS(null,"fill","#FFFFFF"),_.setAttributeNS(null,"cx","5.5"),_.setAttributeNS(null,"cy","5.5"),_.setAttributeNS(null,"r","5.4999962"),x.appendChild(b),x.appendChild(_),l.appendChild(u),l.appendChild(d),l.appendChild(g),l.appendChild(m),l.appendChild(x),o.appendChild(l),this._element.appendChild(o),this._offset=t.Point.convert(n&&n.offset||[0,-14])}this._element.classList.add("mapboxgl-marker"),this._element.addEventListener("dragstart",(function(t){t.preventDefault()})),this._element.addEventListener("mousedown",(function(t){t.preventDefault()})),this._element.addEventListener("focus",(function(){var t=a._map.getContainer();t.scrollTop=0,t.scrollLeft=0})),Ni(this._element,this._anchor,"marker"),this._popup=null}return e&&(n.__proto__=e),n.prototype=Object.create(e&&e.prototype),n.prototype.constructor=n,n.prototype.addTo=function(t){return this.remove(),this._map=t,t.getCanvasContainer().appendChild(this._element),t.on("move",this._update),t.on("moveend",this._update),this.setDraggable(this._draggable),this._update(),this._map.on("click",this._onMapClick),this},n.prototype.remove=function(){return this._map&&(this._map.off("click",this._onMapClick),this._map.off("move",this._update),this._map.off("moveend",this._update),this._map.off("mousedown",this._addDragHandler),this._map.off("touchstart",this._addDragHandler),this._map.off("mouseup",this._onUp),this._map.off("touchend",this._onUp),this._map.off("mousemove",this._onMove),this._map.off("touchmove",this._onMove),delete this._map),r.remove(this._element),this._popup&&this._popup.remove(),this},n.prototype.getLngLat=function(){return this._lngLat},n.prototype.setLngLat=function(e){return this._lngLat=t.LngLat.convert(e),this._pos=null,this._popup&&this._popup.setLngLat(this._lngLat),this._update(),this},n.prototype.getElement=function(){return this._element},n.prototype.setPopup=function(t){if(this._popup&&(this._popup.remove(),this._popup=null,this._element.removeEventListener("keypress",this._onKeyPress),this._originalTabIndex||this._element.removeAttribute("tabindex")),t){if(!("offset"in t.options)){var e=13.5,r=Math.sqrt(Math.pow(e,2)/2);t.options.offset=this._defaultMarker?{top:[0,0],"top-left":[0,0],"top-right":[0,0],bottom:[0,-38.1],"bottom-left":[r,-1*(24.6+r)],"bottom-right":[-r,-1*(24.6+r)],left:[e,-24.6],right:[-13.5,-24.6]}:this._offset}this._popup=t,this._lngLat&&this._popup.setLngLat(this._lngLat),this._originalTabIndex=this._element.getAttribute("tabindex"),this._originalTabIndex||this._element.setAttribute("tabindex","0"),this._element.addEventListener("keypress",this._onKeyPress)}return this},n.prototype._onKeyPress=function(t){var e=t.code,r=t.charCode||t.keyCode;"Space"!==e&&"Enter"!==e&&32!==r&&13!==r||this.togglePopup()},n.prototype._onMapClick=function(t){var e=t.originalEvent.target,r=this._element;this._popup&&(e===r||r.contains(e))&&this.togglePopup()},n.prototype.getPopup=function(){return this._popup},n.prototype.togglePopup=function(){var t=this._popup;return t?(t.isOpen()?t.remove():t.addTo(this._map),this):this},n.prototype._update=function(t){if(this._map){this._map.transform.renderWorldCopies&&(this._lngLat=Fi(this._lngLat,this._pos,this._map.transform)),this._pos=this._map.project(this._lngLat)._add(this._offset);var e="";"viewport"===this._rotationAlignment||"auto"===this._rotationAlignment?e="rotateZ("+this._rotation+"deg)":"map"===this._rotationAlignment&&(e="rotateZ("+(this._rotation-this._map.getBearing())+"deg)");var n="";"viewport"===this._pitchAlignment||"auto"===this._pitchAlignment?n="rotateX(0deg)":"map"===this._pitchAlignment&&(n="rotateX("+this._map.getPitch()+"deg)"),t&&"moveend"!==t.type||(this._pos=this._pos.round()),r.setTransform(this._element,Bi[this._anchor]+" translate("+this._pos.x+"px, "+this._pos.y+"px) "+n+" "+e)}},n.prototype.getOffset=function(){return this._offset},n.prototype.setOffset=function(e){return this._offset=t.Point.convert(e),this._update(),this},n.prototype._onMove=function(e){this._pos=e.point.sub(this._positionDelta),this._lngLat=this._map.unproject(this._pos),this.setLngLat(this._lngLat),this._element.style.pointerEvents="none","pending"===this._state&&(this._state="active",this.fire(new t.Event("dragstart"))),this.fire(new t.Event("drag"))},n.prototype._onUp=function(){this._element.style.pointerEvents="auto",this._positionDelta=null,this._map.off("mousemove",this._onMove),this._map.off("touchmove",this._onMove),"active"===this._state&&this.fire(new t.Event("dragend")),this._state="inactive"},n.prototype._addDragHandler=function(t){this._element.contains(t.originalEvent.target)&&(t.preventDefault(),this._positionDelta=t.point.sub(this._pos).add(this._offset),this._state="pending",this._map.on("mousemove",this._onMove),this._map.on("touchmove",this._onMove),this._map.once("mouseup",this._onUp),this._map.once("touchend",this._onUp))},n.prototype.setDraggable=function(t){return this._draggable=!!t,this._map&&(t?(this._map.on("mousedown",this._addDragHandler),this._map.on("touchstart",this._addDragHandler)):(this._map.off("mousedown",this._addDragHandler),this._map.off("touchstart",this._addDragHandler))),this},n.prototype.isDraggable=function(){return this._draggable},n.prototype.setRotation=function(t){return this._rotation=t||0,this._update(),this},n.prototype.getRotation=function(){return this._rotation},n.prototype.setRotationAlignment=function(t){return this._rotationAlignment=t||"auto",this._update(),this},n.prototype.getRotationAlignment=function(){return this._rotationAlignment},n.prototype.setPitchAlignment=function(t){return this._pitchAlignment=t&&"auto"!==t?t:this._rotationAlignment,this._update(),this},n.prototype.getPitchAlignment=function(){return this._pitchAlignment},n}(t.Evented),Vi={positionOptions:{enableHighAccuracy:!1,maximumAge:0,timeout:6e3},fitBoundsOptions:{maxZoom:15},trackUserLocation:!1,showAccuracyCircle:!0,showUserLocation:!0};var Hi=0,qi=!1,Gi=function(e){function n(r){e.call(this),this.options=t.extend({},Vi,r),t.bindAll(["_onSuccess","_onError","_onZoom","_finish","_setupUI","_updateCamera","_updateMarker"],this)}return e&&(n.__proto__=e),n.prototype=Object.create(e&&e.prototype),n.prototype.constructor=n,n.prototype.onAdd=function(e){return this._map=e,this._container=r.create("div","mapboxgl-ctrl mapboxgl-ctrl-group"),n=this._setupUI,void 0!==ji?n(ji):void 0!==t.window.navigator.permissions?t.window.navigator.permissions.query({name:"geolocation"}).then((function(t){ji="denied"!==t.state,n(ji)})):(ji=!!t.window.navigator.geolocation,n(ji)),this._container;var n},n.prototype.onRemove=function(){void 0!==this._geolocationWatchID&&(t.window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0),this.options.showUserLocation&&this._userLocationDotMarker&&this._userLocationDotMarker.remove(),this.options.showAccuracyCircle&&this._accuracyCircleMarker&&this._accuracyCircleMarker.remove(),r.remove(this._container),this._map.off("zoom",this._onZoom),this._map=void 0,Hi=0,qi=!1},n.prototype._isOutOfMapMaxBounds=function(t){var e=this._map.getMaxBounds(),r=t.coords;return e&&(r.longitude<e.getWest()||r.longitude>e.getEast()||r.latitude<e.getSouth()||r.latitude>e.getNorth())},n.prototype._setErrorState=function(){switch(this._watchState){case"WAITING_ACTIVE":this._watchState="ACTIVE_ERROR",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active-error");break;case"ACTIVE_LOCK":this._watchState="ACTIVE_ERROR",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting");break;case"BACKGROUND":this._watchState="BACKGROUND_ERROR",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background-error"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting")}},n.prototype._onSuccess=function(e){if(this._map){if(this._isOutOfMapMaxBounds(e))return this._setErrorState(),this.fire(new t.Event("outofmaxbounds",e)),this._updateMarker(),void this._finish();if(this.options.trackUserLocation)switch(this._lastKnownPosition=e,this._watchState){case"WAITING_ACTIVE":case"ACTIVE_LOCK":case"ACTIVE_ERROR":this._watchState="ACTIVE_LOCK",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active");break;case"BACKGROUND":case"BACKGROUND_ERROR":this._watchState="BACKGROUND",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background-error"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background")}this.options.showUserLocation&&"OFF"!==this._watchState&&this._updateMarker(e),this.options.trackUserLocation&&"ACTIVE_LOCK"!==this._watchState||this._updateCamera(e),this.options.showUserLocation&&this._dotElement.classList.remove("mapboxgl-user-location-dot-stale"),this.fire(new t.Event("geolocate",e)),this._finish()}},n.prototype._updateCamera=function(e){var r=new t.LngLat(e.coords.longitude,e.coords.latitude),n=e.coords.accuracy,i=this._map.getBearing(),a=t.extend({bearing:i},this.options.fitBoundsOptions);this._map.fitBounds(r.toBounds(n),a,{geolocateSource:!0})},n.prototype._updateMarker=function(e){if(e){var r=new t.LngLat(e.coords.longitude,e.coords.latitude);this._accuracyCircleMarker.setLngLat(r).addTo(this._map),this._userLocationDotMarker.setLngLat(r).addTo(this._map),this._accuracy=e.coords.accuracy,this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()}else this._userLocationDotMarker.remove(),this._accuracyCircleMarker.remove()},n.prototype._updateCircleRadius=function(){var t=this._map._container.clientHeight/2,e=this._map.unproject([0,t]),r=this._map.unproject([1,t]),n=e.distanceTo(r),i=Math.ceil(2*this._accuracy/n);this._circleElement.style.width=i+"px",this._circleElement.style.height=i+"px"},n.prototype._onZoom=function(){this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()},n.prototype._onError=function(e){if(this._map){if(this.options.trackUserLocation)if(1===e.code){this._watchState="OFF",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background-error"),this._geolocateButton.disabled=!0;var r=this._map._getUIString("GeolocateControl.LocationNotAvailable");this._geolocateButton.title=r,this._geolocateButton.setAttribute("aria-label",r),void 0!==this._geolocationWatchID&&this._clearWatch()}else{if(3===e.code&&qi)return;this._setErrorState()}"OFF"!==this._watchState&&this.options.showUserLocation&&this._dotElement.classList.add("mapboxgl-user-location-dot-stale"),this.fire(new t.Event("error",e)),this._finish()}},n.prototype._finish=function(){this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0},n.prototype._setupUI=function(e){var n=this;if(this._container.addEventListener("contextmenu",(function(t){return t.preventDefault()})),this._geolocateButton=r.create("button","mapboxgl-ctrl-geolocate",this._container),r.create("span","mapboxgl-ctrl-icon",this._geolocateButton).setAttribute("aria-hidden",!0),this._geolocateButton.type="button",!1===e){t.warnOnce("Geolocation support is not available so the GeolocateControl will be disabled.");var i=this._map._getUIString("GeolocateControl.LocationNotAvailable");this._geolocateButton.disabled=!0,this._geolocateButton.title=i,this._geolocateButton.setAttribute("aria-label",i)}else{var a=this._map._getUIString("GeolocateControl.FindMyLocation");this._geolocateButton.title=a,this._geolocateButton.setAttribute("aria-label",a)}this.options.trackUserLocation&&(this._geolocateButton.setAttribute("aria-pressed","false"),this._watchState="OFF"),this.options.showUserLocation&&(this._dotElement=r.create("div","mapboxgl-user-location-dot"),this._userLocationDotMarker=new Ui(this._dotElement),this._circleElement=r.create("div","mapboxgl-user-location-accuracy-circle"),this._accuracyCircleMarker=new Ui({element:this._circleElement,pitchAlignment:"map"}),this.options.trackUserLocation&&(this._watchState="OFF"),this._map.on("zoom",this._onZoom)),this._geolocateButton.addEventListener("click",this.trigger.bind(this)),this._setup=!0,this.options.trackUserLocation&&this._map.on("movestart",(function(e){var r=e.originalEvent&&"resize"===e.originalEvent.type;e.geolocateSource||"ACTIVE_LOCK"!==n._watchState||r||(n._watchState="BACKGROUND",n._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background"),n._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),n.fire(new t.Event("trackuserlocationend")))}))},n.prototype.trigger=function(){if(!this._setup)return t.warnOnce("Geolocate control triggered before added to a map"),!1;if(this.options.trackUserLocation){switch(this._watchState){case"OFF":this._watchState="WAITING_ACTIVE",this.fire(new t.Event("trackuserlocationstart"));break;case"WAITING_ACTIVE":case"ACTIVE_LOCK":case"ACTIVE_ERROR":case"BACKGROUND_ERROR":Hi--,qi=!1,this._watchState="OFF",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background-error"),this.fire(new t.Event("trackuserlocationend"));break;case"BACKGROUND":this._watchState="ACTIVE_LOCK",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),this._lastKnownPosition&&this._updateCamera(this._lastKnownPosition),this.fire(new t.Event("trackuserlocationstart"))}switch(this._watchState){case"WAITING_ACTIVE":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active");break;case"ACTIVE_LOCK":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active");break;case"ACTIVE_ERROR":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active-error");break;case"BACKGROUND":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background");break;case"BACKGROUND_ERROR":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background-error")}if("OFF"===this._watchState&&void 0!==this._geolocationWatchID)this._clearWatch();else if(void 0===this._geolocationWatchID){var e;this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.setAttribute("aria-pressed","true"),++Hi>1?(e={maximumAge:6e5,timeout:0},qi=!0):(e=this.options.positionOptions,qi=!1),this._geolocationWatchID=t.window.navigator.geolocation.watchPosition(this._onSuccess,this._onError,e)}}else t.window.navigator.geolocation.getCurrentPosition(this._onSuccess,this._onError,this.options.positionOptions),this._timeoutId=setTimeout(this._finish,1e4);return!0},n.prototype._clearWatch=function(){t.window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0,this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.setAttribute("aria-pressed","false"),this.options.showUserLocation&&this._updateMarker(null)},n}(t.Evented),Zi={maxWidth:100,unit:"metric"},Yi=function(e){this.options=t.extend({},Zi,e),t.bindAll(["_onMove","setUnit"],this)};function Wi(t,e,r){var n=r&&r.maxWidth||100,i=t._container.clientHeight/2,a=t.unproject([0,i]),o=t.unproject([n,i]),s=a.distanceTo(o);if(r&&"imperial"===r.unit){var l=3.2808*s;l>5280?Xi(e,n,l/5280,t._getUIString("ScaleControl.Miles")):Xi(e,n,l,t._getUIString("ScaleControl.Feet"))}else r&&"nautical"===r.unit?Xi(e,n,s/1852,t._getUIString("ScaleControl.NauticalMiles")):s>=1e3?Xi(e,n,s/1e3,t._getUIString("ScaleControl.Kilometers")):Xi(e,n,s,t._getUIString("ScaleControl.Meters"))}function Xi(t,e,r,n){var i,a,o,s=(i=r,(a=Math.pow(10,(""+Math.floor(i)).length-1))*((o=i/a)>=10?10:o>=5?5:o>=3?3:o>=2?2:o>=1?1:function(t){var e=Math.pow(10,Math.ceil(-Math.log(t)/Math.LN10));return Math.round(t*e)/e}(o))),l=s/r;t.style.width=e*l+"px",t.innerHTML=s+" "+n}Yi.prototype.getDefaultPosition=function(){return"bottom-left"},Yi.prototype._onMove=function(){Wi(this._map,this._container,this.options)},Yi.prototype.onAdd=function(t){return this._map=t,this._container=r.create("div","mapboxgl-ctrl mapboxgl-ctrl-scale",t.getContainer()),this._map.on("move",this._onMove),this._onMove(),this._container},Yi.prototype.onRemove=function(){r.remove(this._container),this._map.off("move",this._onMove),this._map=void 0},Yi.prototype.setUnit=function(t){this.options.unit=t,Wi(this._map,this._container,this.options)};var Ji=function(e){this._fullscreen=!1,e&&e.container&&(e.container instanceof t.window.HTMLElement?this._container=e.container:t.warnOnce("Full screen control 'container' must be a DOM element.")),t.bindAll(["_onClickFullscreen","_changeIcon"],this),"onfullscreenchange"in t.window.document?this._fullscreenchange="fullscreenchange":"onmozfullscreenchange"in t.window.document?this._fullscreenchange="mozfullscreenchange":"onwebkitfullscreenchange"in t.window.document?this._fullscreenchange="webkitfullscreenchange":"onmsfullscreenchange"in t.window.document&&(this._fullscreenchange="MSFullscreenChange")};Ji.prototype.onAdd=function(e){return this._map=e,this._container||(this._container=this._map.getContainer()),this._controlContainer=r.create("div","mapboxgl-ctrl mapboxgl-ctrl-group"),this._checkFullscreenSupport()?this._setupUI():(this._controlContainer.style.display="none",t.warnOnce("This device does not support fullscreen mode.")),this._controlContainer},Ji.prototype.onRemove=function(){r.remove(this._controlContainer),this._map=null,t.window.document.removeEventListener(this._fullscreenchange,this._changeIcon)},Ji.prototype._checkFullscreenSupport=function(){return!!(t.window.document.fullscreenEnabled||t.window.document.mozFullScreenEnabled||t.window.document.msFullscreenEnabled||t.window.document.webkitFullscreenEnabled)},Ji.prototype._setupUI=function(){var e=this._fullscreenButton=r.create("button","mapboxgl-ctrl-fullscreen",this._controlContainer);r.create("span","mapboxgl-ctrl-icon",e).setAttribute("aria-hidden",!0),e.type="button",this._updateTitle(),this._fullscreenButton.addEventListener("click",this._onClickFullscreen),t.window.document.addEventListener(this._fullscreenchange,this._changeIcon)},Ji.prototype._updateTitle=function(){var t=this._getTitle();this._fullscreenButton.setAttribute("aria-label",t),this._fullscreenButton.title=t},Ji.prototype._getTitle=function(){return this._map._getUIString(this._isFullscreen()?"FullscreenControl.Exit":"FullscreenControl.Enter")},Ji.prototype._isFullscreen=function(){return this._fullscreen},Ji.prototype._changeIcon=function(){(t.window.document.fullscreenElement||t.window.document.mozFullScreenElement||t.window.document.webkitFullscreenElement||t.window.document.msFullscreenElement)===this._container!==this._fullscreen&&(this._fullscreen=!this._fullscreen,this._fullscreenButton.classList.toggle("mapboxgl-ctrl-shrink"),this._fullscreenButton.classList.toggle("mapboxgl-ctrl-fullscreen"),this._updateTitle())},Ji.prototype._onClickFullscreen=function(){this._isFullscreen()?t.window.document.exitFullscreen?t.window.document.exitFullscreen():t.window.document.mozCancelFullScreen?t.window.document.mozCancelFullScreen():t.window.document.msExitFullscreen?t.window.document.msExitFullscreen():t.window.document.webkitCancelFullScreen&&t.window.document.webkitCancelFullScreen():this._container.requestFullscreen?this._container.requestFullscreen():this._container.mozRequestFullScreen?this._container.mozRequestFullScreen():this._container.msRequestFullscreen?this._container.msRequestFullscreen():this._container.webkitRequestFullscreen&&this._container.webkitRequestFullscreen()};var Ki={closeButton:!0,closeOnClick:!0,className:"",maxWidth:"240px"},$i=function(e){function n(r){e.call(this),this.options=t.extend(Object.create(Ki),r),t.bindAll(["_update","_onClose","remove","_onMouseMove","_onMouseUp","_onDrag"],this)}return e&&(n.__proto__=e),n.prototype=Object.create(e&&e.prototype),n.prototype.constructor=n,n.prototype.addTo=function(e){return this._map&&this.remove(),this._map=e,this.options.closeOnClick&&this._map.on("click",this._onClose),this.options.closeOnMove&&this._map.on("move",this._onClose),this._map.on("remove",this.remove),this._update(),this._trackPointer?(this._map.on("mousemove",this._onMouseMove),this._map.on("mouseup",this._onMouseUp),this._container&&this._container.classList.add("mapboxgl-popup-track-pointer"),this._map._canvasContainer.classList.add("mapboxgl-track-pointer")):this._map.on("move",this._update),this.fire(new t.Event("open")),this},n.prototype.isOpen=function(){return!!this._map},n.prototype.remove=function(){return this._content&&r.remove(this._content),this._container&&(r.remove(this._container),delete this._container),this._map&&(this._map.off("move",this._update),this._map.off("move",this._onClose),this._map.off("click",this._onClose),this._map.off("remove",this.remove),this._map.off("mousemove",this._onMouseMove),this._map.off("mouseup",this._onMouseUp),this._map.off("drag",this._onDrag),delete this._map),this.fire(new t.Event("close")),this},n.prototype.getLngLat=function(){return this._lngLat},n.prototype.setLngLat=function(e){return this._lngLat=t.LngLat.convert(e),this._pos=null,this._trackPointer=!1,this._update(),this._map&&(this._map.on("move",this._update),this._map.off("mousemove",this._onMouseMove),this._container&&this._container.classList.remove("mapboxgl-popup-track-pointer"),this._map._canvasContainer.classList.remove("mapboxgl-track-pointer")),this},n.prototype.trackPointer=function(){return this._trackPointer=!0,this._pos=null,this._update(),this._map&&(this._map.off("move",this._update),this._map.on("mousemove",this._onMouseMove),this._map.on("drag",this._onDrag),this._container&&this._container.classList.add("mapboxgl-popup-track-pointer"),this._map._canvasContainer.classList.add("mapboxgl-track-pointer")),this},n.prototype.getElement=function(){return this._container},n.prototype.setText=function(e){return this.setDOMContent(t.window.document.createTextNode(e))},n.prototype.setHTML=function(e){var r,n=t.window.document.createDocumentFragment(),i=t.window.document.createElement("body");for(i.innerHTML=e;r=i.firstChild;)n.appendChild(r);return this.setDOMContent(n)},n.prototype.getMaxWidth=function(){return this._container&&this._container.style.maxWidth},n.prototype.setMaxWidth=function(t){return this.options.maxWidth=t,this._update(),this},n.prototype.setDOMContent=function(t){return this._createContent(),this._content.appendChild(t),this._update(),this},n.prototype.addClassName=function(t){this._container&&this._container.classList.add(t)},n.prototype.removeClassName=function(t){this._container&&this._container.classList.remove(t)},n.prototype.toggleClassName=function(t){if(this._container)return this._container.classList.toggle(t)},n.prototype._createContent=function(){this._content&&r.remove(this._content),this._content=r.create("div","mapboxgl-popup-content",this._container),this.options.closeButton&&(this._closeButton=r.create("button","mapboxgl-popup-close-button",this._content),this._closeButton.type="button",this._closeButton.setAttribute("aria-label","Close popup"),this._closeButton.innerHTML="×",this._closeButton.addEventListener("click",this._onClose))},n.prototype._onMouseUp=function(t){this._update(t.point)},n.prototype._onMouseMove=function(t){this._update(t.point)},n.prototype._onDrag=function(t){this._update(t.point)},n.prototype._update=function(t){var e=this,n=this._lngLat||this._trackPointer;if(this._map&&n&&this._content&&(this._container||(this._container=r.create("div","mapboxgl-popup",this._map.getContainer()),this._tip=r.create("div","mapboxgl-popup-tip",this._container),this._container.appendChild(this._content),this.options.className&&this.options.className.split(" ").forEach((function(t){return e._container.classList.add(t)})),this._trackPointer&&this._container.classList.add("mapboxgl-popup-track-pointer")),this.options.maxWidth&&this._container.style.maxWidth!==this.options.maxWidth&&(this._container.style.maxWidth=this.options.maxWidth),this._map.transform.renderWorldCopies&&!this._trackPointer&&(this._lngLat=Fi(this._lngLat,this._pos,this._map.transform)),!this._trackPointer||t)){var i=this._pos=this._trackPointer&&t?t:this._map.project(this._lngLat),a=this.options.anchor,o=Qi(this.options.offset);if(!a){var s,l=this._container.offsetWidth,u=this._container.offsetHeight;s=i.y+o.bottom.y<u?["top"]:i.y>this._map.transform.height-u?["bottom"]:[],i.x<l/2?s.push("left"):i.x>this._map.transform.width-l/2&&s.push("right"),a=0===s.length?"bottom":s.join("-")}var c=i.add(o[a]).round();r.setTransform(this._container,Bi[a]+" translate("+c.x+"px,"+c.y+"px)"),Ni(this._container,a,"popup")}},n.prototype._onClose=function(){this.remove()},n}(t.Evented);function Qi(e){if(e){if("number"==typeof e){var r=Math.round(Math.sqrt(.5*Math.pow(e,2)));return{center:new t.Point(0,0),top:new t.Point(0,e),"top-left":new t.Point(r,r),"top-right":new t.Point(-r,r),bottom:new t.Point(0,-e),"bottom-left":new t.Point(r,-r),"bottom-right":new t.Point(-r,-r),left:new t.Point(e,0),right:new t.Point(-e,0)}}if(e instanceof t.Point||Array.isArray(e)){var n=t.Point.convert(e);return{center:n,top:n,"top-left":n,"top-right":n,bottom:n,"bottom-left":n,"bottom-right":n,left:n,right:n}}return{center:t.Point.convert(e.center||[0,0]),top:t.Point.convert(e.top||[0,0]),"top-left":t.Point.convert(e["top-left"]||[0,0]),"top-right":t.Point.convert(e["top-right"]||[0,0]),bottom:t.Point.convert(e.bottom||[0,0]),"bottom-left":t.Point.convert(e["bottom-left"]||[0,0]),"bottom-right":t.Point.convert(e["bottom-right"]||[0,0]),left:t.Point.convert(e.left||[0,0]),right:t.Point.convert(e.right||[0,0])}}return Qi(new t.Point(0,0))}var ta={version:t.version,supported:e,setRTLTextPlugin:t.setRTLTextPlugin,getRTLTextPluginStatus:t.getRTLTextPluginStatus,Map:Oi,NavigationControl:zi,GeolocateControl:Gi,AttributionControl:Ti,ScaleControl:Yi,FullscreenControl:Ji,Popup:$i,Marker:Ui,Style:Ye,LngLat:t.LngLat,LngLatBounds:t.LngLatBounds,Point:t.Point,MercatorCoordinate:t.MercatorCoordinate,Evented:t.Evented,config:t.config,prewarm:function(){jt().acquire(Rt)},clearPrewarmedResources:function(){var t=Bt;t&&(t.isPreloaded()&&1===t.numActive()?(t.release(Rt),Bt=null):console.warn("Could not clear WebWorkers since there are active Map instances that still reference it. The pre-warmed WebWorker pool can only be cleared when all map instances have been removed with map.remove()"))},get accessToken(){return t.config.ACCESS_TOKEN},set accessToken(e){t.config.ACCESS_TOKEN=e},get baseApiUrl(){return t.config.API_URL},set baseApiUrl(e){t.config.API_URL=e},get workerCount(){return Ft.workerCount},set workerCount(t){Ft.workerCount=t},get maxParallelImageRequests(){return t.config.MAX_PARALLEL_IMAGE_REQUESTS},set maxParallelImageRequests(e){t.config.MAX_PARALLEL_IMAGE_REQUESTS=e},clearStorage:function(e){t.clearTileCache(e)},workerUrl:""};return ta})),r}()},27084:function(t){"use strict";t.exports=Math.log2||function(t){return Math.log(t)*Math.LOG2E}},16825:function(t,e,r){"use strict";t.exports=function(t,e){e||(e=t,t=window);var r=0,i=0,a=0,o={shift:!1,alt:!1,control:!1,meta:!1},s=!1;function l(t){var e=!1;return"altKey"in t&&(e=e||t.altKey!==o.alt,o.alt=!!t.altKey),"shiftKey"in t&&(e=e||t.shiftKey!==o.shift,o.shift=!!t.shiftKey),"ctrlKey"in t&&(e=e||t.ctrlKey!==o.control,o.control=!!t.ctrlKey),"metaKey"in t&&(e=e||t.metaKey!==o.meta,o.meta=!!t.metaKey),e}function u(t,s){var u=n.x(s),c=n.y(s);"buttons"in s&&(t=0|s.buttons),(t!==r||u!==i||c!==a||l(s))&&(r=0|t,i=u||0,a=c||0,e&&e(r,i,a,o))}function c(t){u(0,t)}function f(){(r||i||a||o.shift||o.alt||o.meta||o.control)&&(i=a=0,r=0,o.shift=o.alt=o.control=o.meta=!1,e&&e(0,0,0,o))}function h(t){l(t)&&e&&e(r,i,a,o)}function p(t){0===n.buttons(t)?u(0,t):u(r,t)}function d(t){u(r|n.buttons(t),t)}function v(t){u(r&~n.buttons(t),t)}function g(){s||(s=!0,t.addEventListener("mousemove",p),t.addEventListener("mousedown",d),t.addEventListener("mouseup",v),t.addEventListener("mouseleave",c),t.addEventListener("mouseenter",c),t.addEventListener("mouseout",c),t.addEventListener("mouseover",c),t.addEventListener("blur",f),t.addEventListener("keyup",h),t.addEventListener("keydown",h),t.addEventListener("keypress",h),t!==window&&(window.addEventListener("blur",f),window.addEventListener("keyup",h),window.addEventListener("keydown",h),window.addEventListener("keypress",h)))}g();var y={element:t};return Object.defineProperties(y,{enabled:{get:function(){return s},set:function(e){e?g():s&&(s=!1,t.removeEventListener("mousemove",p),t.removeEventListener("mousedown",d),t.removeEventListener("mouseup",v),t.removeEventListener("mouseleave",c),t.removeEventListener("mouseenter",c),t.removeEventListener("mouseout",c),t.removeEventListener("mouseover",c),t.removeEventListener("blur",f),t.removeEventListener("keyup",h),t.removeEventListener("keydown",h),t.removeEventListener("keypress",h),t!==window&&(window.removeEventListener("blur",f),window.removeEventListener("keyup",h),window.removeEventListener("keydown",h),window.removeEventListener("keypress",h)))},enumerable:!0},buttons:{get:function(){return r},enumerable:!0},x:{get:function(){return i},enumerable:!0},y:{get:function(){return a},enumerable:!0},mods:{get:function(){return o},enumerable:!0}}),y};var n=r(74311)},48956:function(t){var e={left:0,top:0};t.exports=function(t,r,n){r=r||t.currentTarget||t.srcElement,Array.isArray(n)||(n=[0,0]);var i,a=t.clientX||0,o=t.clientY||0,s=(i=r)===window||i===document||i===document.body?e:i.getBoundingClientRect();return n[0]=a-s.left,n[1]=o-s.top,n}},74311:function(t,e){"use strict";function r(t){return t.target||t.srcElement||window}e.buttons=function(t){if("object"==typeof t){if("buttons"in t)return t.buttons;if("which"in t){if(2===(e=t.which))return 4;if(3===e)return 2;if(e>0)return 1<<e-1}else if("button"in t){var e;if(1===(e=t.button))return 4;if(2===e)return 2;if(e>=0)return 1<<e}}return 0},e.element=r,e.x=function(t){if("object"==typeof t){if("offsetX"in t)return t.offsetX;var e=r(t).getBoundingClientRect();return t.clientX-e.left}return 0},e.y=function(t){if("object"==typeof t){if("offsetY"in t)return t.offsetY;var e=r(t).getBoundingClientRect();return t.clientY-e.top}return 0}},1195:function(t,e,r){"use strict";var n=r(75686);t.exports=function(t,e,r){"function"==typeof t&&(r=!!e,e=t,t=window);var i=n("ex",t),a=function(t){r&&t.preventDefault();var n=t.deltaX||0,a=t.deltaY||0,o=t.deltaZ||0,s=1;switch(t.deltaMode){case 1:s=i;break;case 2:s=window.innerHeight}if(a*=s,o*=s,(n*=s)||a||o)return e(n,a,o,t)};return t.addEventListener("wheel",a),a}},7417:function(t,e,r){var n;!function(i,a,o){a[i]=a[i]||function(){"use strict";var t,e,r,n=Object.prototype.toString,i="undefined"!=typeof setImmediate?function(t){return setImmediate(t)}:setTimeout;try{Object.defineProperty({},"x",{}),t=function(t,e,r,n){return Object.defineProperty(t,e,{value:r,writable:!0,configurable:!1!==n})}}catch(e){t=function(t,e,r){return t[e]=r,t}}function a(t,n){r.add(t,n),e||(e=i(r.drain))}function o(t){var e,r=typeof t;return null==t||"object"!=r&&"function"!=r||(e=t.then),"function"==typeof e&&e}function s(){for(var t=0;t<this.chain.length;t++)l(this,1===this.state?this.chain[t].success:this.chain[t].failure,this.chain[t]);this.chain.length=0}function l(t,e,r){var n,i;try{!1===e?r.reject(t.msg):(n=!0===e?t.msg:e.call(void 0,t.msg))===r.promise?r.reject(TypeError("Promise-chain cycle")):(i=o(n))?i.call(n,r.resolve,r.reject):r.resolve(n)}catch(t){r.reject(t)}}function u(t){var e,r=this;if(!r.triggered){r.triggered=!0,r.def&&(r=r.def);try{(e=o(t))?a((function(){var n=new h(r);try{e.call(t,(function(){u.apply(n,arguments)}),(function(){c.apply(n,arguments)}))}catch(t){c.call(n,t)}})):(r.msg=t,r.state=1,r.chain.length>0&&a(s,r))}catch(t){c.call(new h(r),t)}}}function c(t){var e=this;e.triggered||(e.triggered=!0,e.def&&(e=e.def),e.msg=t,e.state=2,e.chain.length>0&&a(s,e))}function f(t,e,r,n){for(var i=0;i<e.length;i++)!function(i){t.resolve(e[i]).then((function(t){r(i,t)}),n)}(i)}function h(t){this.def=t,this.triggered=!1}function p(t){this.promise=t,this.state=0,this.triggered=!1,this.chain=[],this.msg=void 0}function d(t){if("function"!=typeof t)throw TypeError("Not a function");if(0!==this.__NPO__)throw TypeError("Not a promise");this.__NPO__=1;var e=new p(this);this.then=function(t,r){var n={success:"function"!=typeof t||t,failure:"function"==typeof r&&r};return n.promise=new this.constructor((function(t,e){if("function"!=typeof t||"function"!=typeof e)throw TypeError("Not a function");n.resolve=t,n.reject=e})),e.chain.push(n),0!==e.state&&a(s,e),n.promise},this.catch=function(t){return this.then(void 0,t)};try{t.call(void 0,(function(t){u.call(e,t)}),(function(t){c.call(e,t)}))}catch(t){c.call(e,t)}}r=function(){var t,r,n;function i(t,e){this.fn=t,this.self=e,this.next=void 0}return{add:function(e,a){n=new i(e,a),r?r.next=n:t=n,r=n,n=void 0},drain:function(){var n=t;for(t=r=e=void 0;n;)n.fn.call(n.self),n=n.next}}}();var v=t({},"constructor",d,!1);return d.prototype=v,t(v,"__NPO__",0,!1),t(d,"resolve",(function(t){return t&&"object"==typeof t&&1===t.__NPO__?t:new this((function(e,r){if("function"!=typeof e||"function"!=typeof r)throw TypeError("Not a function");e(t)}))})),t(d,"reject",(function(t){return new this((function(e,r){if("function"!=typeof e||"function"!=typeof r)throw TypeError("Not a function");r(t)}))})),t(d,"all",(function(t){var e=this;return"[object Array]"!=n.call(t)?e.reject(TypeError("Not an array")):0===t.length?e.resolve([]):new e((function(r,n){if("function"!=typeof r||"function"!=typeof n)throw TypeError("Not a function");var i=t.length,a=Array(i),o=0;f(e,t,(function(t,e){a[t]=e,++o===i&&r(a)}),n)}))})),t(d,"race",(function(t){var e=this;return"[object Array]"!=n.call(t)?e.reject(TypeError("Not an array")):new e((function(r,n){if("function"!=typeof r||"function"!=typeof n)throw TypeError("Not a function");f(e,t,(function(t,e){r(e)}),n)}))})),d}(),t.exports?t.exports=a[i]:void 0===(n=function(){return a[i]}.call(e,r,e,t))||(t.exports=n)}("Promise",void 0!==r.g?r.g:this)},18625:function(t){var e=Math.PI,r=s(120);function n(t,e,r,n){return["C",t,e,r,n,r,n]}function i(t,e,r,n,i,a){return["C",t/3+2/3*r,e/3+2/3*n,i/3+2/3*r,a/3+2/3*n,i,a]}function a(t,n,i,s,l,u,c,f,h,p){if(p)T=p[0],k=p[1],_=p[2],w=p[3];else{var d=o(t,n,-l);t=d.x,n=d.y;var v=(t-(f=(d=o(f,h,-l)).x))/2,g=(n-(h=d.y))/2,y=v*v/(i*i)+g*g/(s*s);y>1&&(i*=y=Math.sqrt(y),s*=y);var m=i*i,x=s*s,b=(u==c?-1:1)*Math.sqrt(Math.abs((m*x-m*g*g-x*v*v)/(m*g*g+x*v*v)));b==1/0&&(b=1);var _=b*i*g/s+(t+f)/2,w=b*-s*v/i+(n+h)/2,T=Math.asin(((n-w)/s).toFixed(9)),k=Math.asin(((h-w)/s).toFixed(9));(T=t<_?e-T:T)<0&&(T=2*e+T),(k=f<_?e-k:k)<0&&(k=2*e+k),c&&T>k&&(T-=2*e),!c&&k>T&&(k-=2*e)}if(Math.abs(k-T)>r){var A=k,M=f,S=h;k=T+r*(c&&k>T?1:-1);var E=a(f=_+i*Math.cos(k),h=w+s*Math.sin(k),i,s,l,0,c,M,S,[k,A,_,w])}var L=Math.tan((k-T)/4),C=4/3*i*L,P=4/3*s*L,O=[2*t-(t+C*Math.sin(T)),2*n-(n-P*Math.cos(T)),f+C*Math.sin(k),h-P*Math.cos(k),f,h];if(p)return O;E&&(O=O.concat(E));for(var I=0;I<O.length;){var D=o(O[I],O[I+1],l);O[I++]=D.x,O[I++]=D.y}return O}function o(t,e,r){return{x:t*Math.cos(r)-e*Math.sin(r),y:t*Math.sin(r)+e*Math.cos(r)}}function s(t){return t*(e/180)}t.exports=function(t){for(var e,r=[],o=0,l=0,u=0,c=0,f=null,h=null,p=0,d=0,v=0,g=t.length;v<g;v++){var y=t[v],m=y[0];switch(m){case"M":u=y[1],c=y[2];break;case"A":(y=a(p,d,y[1],y[2],s(y[3]),y[4],y[5],y[6],y[7])).unshift("C"),y.length>7&&(r.push(y.splice(0,7)),y.unshift("C"));break;case"S":var x=p,b=d;"C"!=e&&"S"!=e||(x+=x-o,b+=b-l),y=["C",x,b,y[1],y[2],y[3],y[4]];break;case"T":"Q"==e||"T"==e?(f=2*p-f,h=2*d-h):(f=p,h=d),y=i(p,d,f,h,y[1],y[2]);break;case"Q":f=y[1],h=y[2],y=i(p,d,y[1],y[2],y[3],y[4]);break;case"L":y=n(p,d,y[1],y[2]);break;case"H":y=n(p,d,y[1],d);break;case"V":y=n(p,d,p,y[1]);break;case"Z":y=n(p,d,u,c)}e=m,p=y[y.length-2],d=y[y.length-1],y.length>4?(o=y[y.length-4],l=y[y.length-3]):(o=p,l=d),r.push(y)}return r}},56131:function(t){"use strict";var e=Object.getOwnPropertySymbols,r=Object.prototype.hasOwnProperty,n=Object.prototype.propertyIsEnumerable;function i(t){if(null==t)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(t)}t.exports=function(){try{if(!Object.assign)return!1;var t=new String("abc");if(t[5]="de","5"===Object.getOwnPropertyNames(t)[0])return!1;for(var e={},r=0;r<10;r++)e["_"+String.fromCharCode(r)]=r;if("0123456789"!==Object.getOwnPropertyNames(e).map((function(t){return e[t]})).join(""))return!1;var n={};return"abcdefghijklmnopqrst".split("").forEach((function(t){n[t]=t})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},n)).join("")}catch(t){return!1}}()?Object.assign:function(t,a){for(var o,s,l=i(t),u=1;u<arguments.length;u++){for(var c in o=Object(arguments[u]))r.call(o,c)&&(l[c]=o[c]);if(e){s=e(o);for(var f=0;f<s.length;f++)n.call(o,s[f])&&(l[s[f]]=o[s[f]])}}return l}},65848:function(t){"use strict";var e=function(t){return t!=t};t.exports=function(t,r){return 0===t&&0===r?1/t==1/r:t===r||!(!e(t)||!e(r))}},64003:function(t,e,r){"use strict";var n=r(17045),i=r(68222),a=r(65848),o=r(27015),s=r(55572),l=i(o(),Object);n(l,{getPolyfill:o,implementation:a,shim:s}),t.exports=l},27015:function(t,e,r){"use strict";var n=r(65848);t.exports=function(){return"function"==typeof Object.is?Object.is:n}},55572:function(t,e,r){"use strict";var n=r(27015),i=r(17045);t.exports=function(){var t=n();return i(Object,{is:t},{is:function(){return Object.is!==t}}),t}},99019:function(t,e,r){"use strict";var n;if(!Object.keys){var i=Object.prototype.hasOwnProperty,a=Object.prototype.toString,o=r(64178),s=Object.prototype.propertyIsEnumerable,l=!s.call({toString:null},"toString"),u=s.call((function(){}),"prototype"),c=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],f=function(t){var e=t.constructor;return e&&e.prototype===t},h={$applicationCache:!0,$console:!0,$external:!0,$frame:!0,$frameElement:!0,$frames:!0,$innerHeight:!0,$innerWidth:!0,$onmozfullscreenchange:!0,$onmozfullscreenerror:!0,$outerHeight:!0,$outerWidth:!0,$pageXOffset:!0,$pageYOffset:!0,$parent:!0,$scrollLeft:!0,$scrollTop:!0,$scrollX:!0,$scrollY:!0,$self:!0,$webkitIndexedDB:!0,$webkitStorageInfo:!0,$window:!0},p=function(){if("undefined"==typeof window)return!1;for(var t in window)try{if(!h["$"+t]&&i.call(window,t)&&null!==window[t]&&"object"==typeof window[t])try{f(window[t])}catch(t){return!0}}catch(t){return!0}return!1}();n=function(t){var e=null!==t&&"object"==typeof t,r="[object Function]"===a.call(t),n=o(t),s=e&&"[object String]"===a.call(t),h=[];if(!e&&!r&&!n)throw new TypeError("Object.keys called on a non-object");var d=u&&r;if(s&&t.length>0&&!i.call(t,0))for(var v=0;v<t.length;++v)h.push(String(v));if(n&&t.length>0)for(var g=0;g<t.length;++g)h.push(String(g));else for(var y in t)d&&"prototype"===y||!i.call(t,y)||h.push(String(y));if(l)for(var m=function(t){if("undefined"==typeof window||!p)return f(t);try{return f(t)}catch(t){return!1}}(t),x=0;x<c.length;++x)m&&"constructor"===c[x]||!i.call(t,c[x])||h.push(c[x]);return h}}t.exports=n},8709:function(t,e,r){"use strict";var n=Array.prototype.slice,i=r(64178),a=Object.keys,o=a?function(t){return a(t)}:r(99019),s=Object.keys;o.shim=function(){if(Object.keys){var t=function(){var t=Object.keys(arguments);return t&&t.length===arguments.length}(1,2);t||(Object.keys=function(t){return i(t)?s(n.call(t)):s(t)})}else Object.keys=o;return Object.keys||o},t.exports=o},64178:function(t){"use strict";var e=Object.prototype.toString;t.exports=function(t){var r=e.call(t),n="[object Arguments]"===r;return n||(n="[object Array]"!==r&&null!==t&&"object"==typeof t&&"number"==typeof t.length&&t.length>=0&&"[object Function]"===e.call(t.callee)),n}},88641:function(t){"use strict";function e(t,e){if("string"!=typeof t)return[t];var r=[t];"string"==typeof e||Array.isArray(e)?e={brackets:e}:e||(e={});var n=e.brackets?Array.isArray(e.brackets)?e.brackets:[e.brackets]:["{}","[]","()"],i=e.escape||"___",a=!!e.flat;n.forEach((function(t){var e=new RegExp(["\\",t[0],"[^\\",t[0],"\\",t[1],"]*\\",t[1]].join("")),n=[];function a(e,a,o){var s=r.push(e.slice(t[0].length,-t[1].length))-1;return n.push(s),i+s+i}r.forEach((function(t,n){for(var i,o=0;t!=i;)if(i=t,t=t.replace(e,a),o++>1e4)throw Error("References have circular dependency. Please, check them.");r[n]=t})),n=n.reverse(),r=r.map((function(e){return n.forEach((function(r){e=e.replace(new RegExp("(\\"+i+r+"\\"+i+")","g"),t[0]+"$1"+t[1])})),e}))}));var o=new RegExp("\\"+i+"([0-9]+)\\"+i);return a?r:function t(e,r,n){for(var i,a=[],s=0;i=o.exec(e);){if(s++>1e4)throw Error("Circular references in parenthesis");a.push(e.slice(0,i.index)),a.push(t(r[i[1]],r)),e=e.slice(i.index+i[0].length)}return a.push(e),a}(r[0],r)}function r(t,e){if(e&&e.flat){var r,n=e&&e.escape||"___",i=t[0];if(!i)return"";for(var a=new RegExp("\\"+n+"([0-9]+)\\"+n),o=0;i!=r;){if(o++>1e4)throw Error("Circular references in "+t);r=i,i=i.replace(a,s)}return i}return t.reduce((function t(e,r){return Array.isArray(r)&&(r=r.reduce(t,"")),e+r}),"");function s(e,r){if(null==t[r])throw Error("Reference "+r+"is undefined");return t[r]}}function n(t,n){return Array.isArray(t)?r(t,n):e(t,n)}n.parse=e,n.stringify=r,t.exports=n},18863:function(t,e,r){"use strict";var n=r(71299);t.exports=function(t){var e;return arguments.length>1&&(t=arguments),"string"==typeof t?t=t.split(/\s/).map(parseFloat):"number"==typeof t&&(t=[t]),t.length&&"number"==typeof t[0]?e=1===t.length?{width:t[0],height:t[0],x:0,y:0}:2===t.length?{width:t[0],height:t[1],x:0,y:0}:{x:t[0],y:t[1],width:t[2]-t[0]||0,height:t[3]-t[1]||0}:t&&(e={x:(t=n(t,{left:"x l left Left",top:"y t top Top",width:"w width W Width",height:"h height W Width",bottom:"b bottom Bottom",right:"r right Right"})).left||0,y:t.top||0},null==t.width?t.right?e.width=t.right-e.x:e.width=0:e.width=t.width,null==t.height?t.bottom?e.height=t.bottom-e.y:e.height=0:e.height=t.height),e}},95616:function(t){t.exports=function(t){var i=[];return t.replace(r,(function(t,r,a){var o=r.toLowerCase();for(a=function(t){var e=t.match(n);return e?e.map(Number):[]}(a),"m"==o&&a.length>2&&(i.push([r].concat(a.splice(0,2))),o="l",r="m"==r?"l":"L");;){if(a.length==e[o])return a.unshift(r),i.push(a);if(a.length<e[o])throw new Error("malformed path data");i.push([r].concat(a.splice(0,e[o])))}})),i};var e={a:7,c:6,h:1,l:2,m:2,q:4,s:4,t:2,v:1,z:0},r=/([astvzqmhlc])([^astvzqmhlc]*)/gi,n=/-?[0-9]*\.?[0-9]+(?:e[-+]?\d+)?/gi},25677:function(t){t.exports=function(t,e){e||(e=[0,""]),t=String(t);var r=parseFloat(t,10);return e[0]=r,e[1]=t.match(/[\d.\-\+]*\s*(.*)/)[1]||"",e}},9748:function(t,e,r){var n=r(90386);(function(){var e,r,i,a,o,s;"undefined"!=typeof performance&&null!==performance&&performance.now?t.exports=function(){return performance.now()}:null!=n&&n.hrtime?(t.exports=function(){return(e()-o)/1e6},r=n.hrtime,a=(e=function(){var t;return 1e9*(t=r())[0]+t[1]})(),s=1e9*n.uptime(),o=a-s):Date.now?(t.exports=function(){return Date.now()-i},i=Date.now()):(t.exports=function(){return(new Date).getTime()-i},i=(new Date).getTime())}).call(this)},71299:function(t){"use strict";t.exports=function(t,e,n){var i,a,o={};if("string"==typeof e&&(e=r(e)),Array.isArray(e)){var s={};for(a=0;a<e.length;a++)s[e[a]]=!0;e=s}for(i in e)e[i]=r(e[i]);var l={};for(i in e){var u=e[i];if(Array.isArray(u))for(a=0;a<u.length;a++){var c=u[a];if(n&&(l[c]=!0),c in t){if(o[i]=t[c],n)for(var f=a;f<u.length;f++)l[u[f]]=!0;break}}else i in t&&(e[i]&&(o[i]=t[i]),n&&(l[i]=!0))}if(n)for(i in t)l[i]||(o[i]=t[i]);return o};var e={};function r(t){return e[t]?e[t]:("string"==typeof t&&(t=e[t]=t.split(/\s*,\s*|\s+/)),t)}},38258:function(t){t.exports=function(t,e,r,n){var i=t[0],a=t[1],o=!1;void 0===r&&(r=0),void 0===n&&(n=e.length);for(var s=n-r,l=0,u=s-1;l<s;u=l++){var c=e[l+r][0],f=e[l+r][1],h=e[u+r][0],p=e[u+r][1];f>a!=p>a&&i<(h-c)*(a-f)/(p-f)+c&&(o=!o)}return o}},52142:function(t,e,r){var n,i=r(69444),a=r(29023),o=r(87263),s=r(11328),l=r(55968),u=r(10670),c=!1,f=a();function h(t,e,r){var i=n.segments(t),a=n.segments(e),o=r(n.combine(i,a));return n.polygon(o)}n={buildLog:function(t){return!0===t?c=i():!1===t&&(c=!1),!1!==c&&c.list},epsilon:function(t){return f.epsilon(t)},segments:function(t){var e=o(!0,f,c);return t.regions.forEach(e.addRegion),{segments:e.calculate(t.inverted),inverted:t.inverted}},combine:function(t,e){return{combined:o(!1,f,c).calculate(t.segments,t.inverted,e.segments,e.inverted),inverted1:t.inverted,inverted2:e.inverted}},selectUnion:function(t){return{segments:l.union(t.combined,c),inverted:t.inverted1||t.inverted2}},selectIntersect:function(t){return{segments:l.intersect(t.combined,c),inverted:t.inverted1&&t.inverted2}},selectDifference:function(t){return{segments:l.difference(t.combined,c),inverted:t.inverted1&&!t.inverted2}},selectDifferenceRev:function(t){return{segments:l.differenceRev(t.combined,c),inverted:!t.inverted1&&t.inverted2}},selectXor:function(t){return{segments:l.xor(t.combined,c),inverted:t.inverted1!==t.inverted2}},polygon:function(t){return{regions:s(t.segments,f,c),inverted:t.inverted}},polygonFromGeoJSON:function(t){return u.toPolygon(n,t)},polygonToGeoJSON:function(t){return u.fromPolygon(n,f,t)},union:function(t,e){return h(t,e,n.selectUnion)},intersect:function(t,e){return h(t,e,n.selectIntersect)},difference:function(t,e){return h(t,e,n.selectDifference)},differenceRev:function(t,e){return h(t,e,n.selectDifferenceRev)},xor:function(t,e){return h(t,e,n.selectXor)}},"object"==typeof window&&(window.PolyBool=n),t.exports=n},69444:function(t){t.exports=function(){var t,e=0,r=!1;function n(e,r){return t.list.push({type:e,data:r?JSON.parse(JSON.stringify(r)):void 0}),t}return t={list:[],segmentId:function(){return e++},checkIntersection:function(t,e){return n("check",{seg1:t,seg2:e})},segmentChop:function(t,e){return n("div_seg",{seg:t,pt:e}),n("chop",{seg:t,pt:e})},statusRemove:function(t){return n("pop_seg",{seg:t})},segmentUpdate:function(t){return n("seg_update",{seg:t})},segmentNew:function(t,e){return n("new_seg",{seg:t,primary:e})},segmentRemove:function(t){return n("rem_seg",{seg:t})},tempStatus:function(t,e,r){return n("temp_status",{seg:t,above:e,below:r})},rewind:function(t){return n("rewind",{seg:t})},status:function(t,e,r){return n("status",{seg:t,above:e,below:r})},vert:function(e){return e===r?t:(r=e,n("vert",{x:e}))},log:function(t){return"string"!=typeof t&&(t=JSON.stringify(t,!1," ")),n("log",{txt:t})},reset:function(){return n("reset")},selected:function(t){return n("selected",{segs:t})},chainStart:function(t){return n("chain_start",{seg:t})},chainRemoveHead:function(t,e){return n("chain_rem_head",{index:t,pt:e})},chainRemoveTail:function(t,e){return n("chain_rem_tail",{index:t,pt:e})},chainNew:function(t,e){return n("chain_new",{pt1:t,pt2:e})},chainMatch:function(t){return n("chain_match",{index:t})},chainClose:function(t){return n("chain_close",{index:t})},chainAddHead:function(t,e){return n("chain_add_head",{index:t,pt:e})},chainAddTail:function(t,e){return n("chain_add_tail",{index:t,pt:e})},chainConnect:function(t,e){return n("chain_con",{index1:t,index2:e})},chainReverse:function(t){return n("chain_rev",{index:t})},chainJoin:function(t,e){return n("chain_join",{index1:t,index2:e})},done:function(){return n("done")}}}},29023:function(t){t.exports=function(t){"number"!=typeof t&&(t=1e-10);var e={epsilon:function(e){return"number"==typeof e&&(t=e),t},pointAboveOrOnLine:function(e,r,n){var i=r[0],a=r[1],o=n[0],s=n[1],l=e[0];return(o-i)*(e[1]-a)-(s-a)*(l-i)>=-t},pointBetween:function(e,r,n){var i=e[1]-r[1],a=n[0]-r[0],o=e[0]-r[0],s=n[1]-r[1],l=o*a+i*s;return!(l<t||l-(a*a+s*s)>-t)},pointsSameX:function(e,r){return Math.abs(e[0]-r[0])<t},pointsSameY:function(e,r){return Math.abs(e[1]-r[1])<t},pointsSame:function(t,r){return e.pointsSameX(t,r)&&e.pointsSameY(t,r)},pointsCompare:function(t,r){return e.pointsSameX(t,r)?e.pointsSameY(t,r)?0:t[1]<r[1]?-1:1:t[0]<r[0]?-1:1},pointsCollinear:function(e,r,n){var i=e[0]-r[0],a=e[1]-r[1],o=r[0]-n[0],s=r[1]-n[1];return Math.abs(i*s-o*a)<t},linesIntersect:function(e,r,n,i){var a=r[0]-e[0],o=r[1]-e[1],s=i[0]-n[0],l=i[1]-n[1],u=a*l-o*s;if(Math.abs(u)<t)return!1;var c=e[0]-n[0],f=e[1]-n[1],h=(s*f-l*c)/u,p=(a*f-o*c)/u,d={alongA:0,alongB:0,pt:[e[0]+h*a,e[1]+h*o]};return d.alongA=h<=-t?-2:h<t?-1:h-1<=-t?0:h-1<t?1:2,d.alongB=p<=-t?-2:p<t?-1:p-1<=-t?0:p-1<t?1:2,d},pointInsideRegion:function(e,r){for(var n=e[0],i=e[1],a=r[r.length-1][0],o=r[r.length-1][1],s=!1,l=0;l<r.length;l++){var u=r[l][0],c=r[l][1];c-i>t!=o-i>t&&(a-u)*(i-c)/(o-c)+u-n>t&&(s=!s),a=u,o=c}return s}};return e}},10670:function(t){var e={toPolygon:function(t,e){function r(e){if(e.length<=0)return t.segments({inverted:!1,regions:[]});function r(e){var r=e.slice(0,e.length-1);return t.segments({inverted:!1,regions:[r]})}for(var n=r(e[0]),i=1;i<e.length;i++)n=t.selectDifference(t.combine(n,r(e[i])));return n}if("Polygon"===e.type)return t.polygon(r(e.coordinates));if("MultiPolygon"===e.type){for(var n=t.segments({inverted:!1,regions:[]}),i=0;i<e.coordinates.length;i++)n=t.selectUnion(t.combine(n,r(e.coordinates[i])));return t.polygon(n)}throw new Error("PolyBool: Cannot convert GeoJSON object to PolyBool polygon")},fromPolygon:function(t,e,r){function n(t,r){return e.pointInsideRegion([.5*(t[0][0]+t[1][0]),.5*(t[0][1]+t[1][1])],r)}function i(t){return{region:t,children:[]}}r=t.polygon(t.segments(r));var a=i(null);function o(t,e){for(var r=0;r<t.children.length;r++)if(n(e,(s=t.children[r]).region))return void o(s,e);var a=i(e);for(r=0;r<t.children.length;r++){var s;n((s=t.children[r]).region,e)&&(a.children.push(s),t.children.splice(r,1),r--)}t.children.push(a)}for(var s=0;s<r.regions.length;s++){var l=r.regions[s];l.length<3||o(a,l)}function u(t,e){for(var r=0,n=t[t.length-1][0],i=t[t.length-1][1],a=[],o=0;o<t.length;o++){var s=t[o][0],l=t[o][1];a.push([s,l]),r+=l*n-s*i,n=s,i=l}return r<0!==e&&a.reverse(),a.push([a[0][0],a[0][1]]),a}var c=[];function f(t){var e=[u(t.region,!1)];c.push(e);for(var r=0;r<t.children.length;r++)e.push(h(t.children[r]))}function h(t){for(var e=0;e<t.children.length;e++)f(t.children[e]);return u(t.region,!0)}for(s=0;s<a.children.length;s++)f(a.children[s]);return c.length<=0?{type:"Polygon",coordinates:[]}:1==c.length?{type:"Polygon",coordinates:c[0]}:{type:"MultiPolygon",coordinates:c}}};t.exports=e},87263:function(t,e,r){var n=r(26859);t.exports=function(t,e,r){function i(t,e,n){return{id:r?r.segmentId():-1,start:t,end:e,myFill:{above:n.myFill.above,below:n.myFill.below},otherFill:null}}var a=n.create();function o(t,r){a.insertBefore(t,(function(n){return i=t.isStart,a=t.pt,o=r,s=n.isStart,l=n.pt,u=n.other.pt,(0!==(c=e.pointsCompare(a,l))?c:e.pointsSame(o,u)?0:i!==s?i?1:-1:e.pointAboveOrOnLine(o,s?l:u,s?u:l)?1:-1)<0;var i,a,o,s,l,u,c}))}function s(t,e){var r=function(t,e){var r=n.node({isStart:!0,pt:t.start,seg:t,primary:e,other:null,status:null});return o(r,t.end),r}(t,e);return function(t,e,r){var i=n.node({isStart:!1,pt:e.end,seg:e,primary:r,other:t,status:null});t.other=i,o(i,t.pt)}(r,t,e),r}function l(t,e){var n=i(e,t.seg.end,t.seg);return function(t,e){r&&r.segmentChop(t.seg,e),t.other.remove(),t.seg.end=e,t.other.pt=e,o(t.other,t.pt)}(t,e),s(n,t.primary)}function u(i,o){var s=n.create();function u(t){return s.findTransition((function(r){var n,i,a,o,s,l;return n=t,i=r.ev,a=n.seg.start,o=n.seg.end,s=i.seg.start,l=i.seg.end,(e.pointsCollinear(a,s,l)?e.pointsCollinear(o,s,l)||e.pointAboveOrOnLine(o,s,l)?1:-1:e.pointAboveOrOnLine(a,s,l)?1:-1)>0}))}function c(t,n){var i=t.seg,a=n.seg,o=i.start,s=i.end,u=a.start,c=a.end;r&&r.checkIntersection(i,a);var f=e.linesIntersect(o,s,u,c);if(!1===f){if(!e.pointsCollinear(o,s,u))return!1;if(e.pointsSame(o,c)||e.pointsSame(s,u))return!1;var h=e.pointsSame(o,u),p=e.pointsSame(s,c);if(h&&p)return n;var d=!h&&e.pointBetween(o,u,c),v=!p&&e.pointBetween(s,u,c);if(h)return v?l(n,s):l(t,c),n;d&&(p||(v?l(n,s):l(t,c)),l(n,o))}else 0===f.alongA&&(-1===f.alongB?l(t,u):0===f.alongB?l(t,f.pt):1===f.alongB&&l(t,c)),0===f.alongB&&(-1===f.alongA?l(n,o):0===f.alongA?l(n,f.pt):1===f.alongA&&l(n,s));return!1}for(var f=[];!a.isEmpty();){var h=a.getHead();if(r&&r.vert(h.pt[0]),h.isStart){r&&r.segmentNew(h.seg,h.primary);var p=u(h),d=p.before?p.before.ev:null,v=p.after?p.after.ev:null;function g(){if(d){var t=c(h,d);if(t)return t}return!!v&&c(h,v)}r&&r.tempStatus(h.seg,!!d&&d.seg,!!v&&v.seg);var y,m,x=g();if(x)t?(m=null===h.seg.myFill.below||h.seg.myFill.above!==h.seg.myFill.below)&&(x.seg.myFill.above=!x.seg.myFill.above):x.seg.otherFill=h.seg.myFill,r&&r.segmentUpdate(x.seg),h.other.remove(),h.remove();if(a.getHead()!==h){r&&r.rewind(h.seg);continue}t?(m=null===h.seg.myFill.below||h.seg.myFill.above!==h.seg.myFill.below,h.seg.myFill.below=v?v.seg.myFill.above:i,h.seg.myFill.above=m?!h.seg.myFill.below:h.seg.myFill.below):null===h.seg.otherFill&&(y=v?h.primary===v.primary?v.seg.otherFill.above:v.seg.myFill.above:h.primary?o:i,h.seg.otherFill={above:y,below:y}),r&&r.status(h.seg,!!d&&d.seg,!!v&&v.seg),h.other.status=p.insert(n.node({ev:h}))}else{var b=h.status;if(null===b)throw new Error("PolyBool: Zero-length segment detected; your epsilon is probably too small or too large");if(s.exists(b.prev)&&s.exists(b.next)&&c(b.prev.ev,b.next.ev),r&&r.statusRemove(b.ev.seg),b.remove(),!h.primary){var _=h.seg.myFill;h.seg.myFill=h.seg.otherFill,h.seg.otherFill=_}f.push(h.seg)}a.getHead().remove()}return r&&r.done(),f}return t?{addRegion:function(t){for(var n,i,a,o=t[t.length-1],l=0;l<t.length;l++){n=o,o=t[l];var u=e.pointsCompare(n,o);0!==u&&s((i=u<0?n:o,a=u<0?o:n,{id:r?r.segmentId():-1,start:i,end:a,myFill:{above:null,below:null},otherFill:null}),!0)}},calculate:function(t){return u(t,!1)}}:{calculate:function(t,e,r,n){return t.forEach((function(t){s(i(t.start,t.end,t),!0)})),r.forEach((function(t){s(i(t.start,t.end,t),!1)})),u(e,n)}}}},26859:function(t){t.exports={create:function(){var t={root:{root:!0,next:null},exists:function(e){return null!==e&&e!==t.root},isEmpty:function(){return null===t.root.next},getHead:function(){return t.root.next},insertBefore:function(e,r){for(var n=t.root,i=t.root.next;null!==i;){if(r(i))return e.prev=i.prev,e.next=i,i.prev.next=e,void(i.prev=e);n=i,i=i.next}n.next=e,e.prev=n,e.next=null},findTransition:function(e){for(var r=t.root,n=t.root.next;null!==n&&!e(n);)r=n,n=n.next;return{before:r===t.root?null:r,after:n,insert:function(t){return t.prev=r,t.next=n,r.next=t,null!==n&&(n.prev=t),t}}}};return t},node:function(t){return t.prev=null,t.next=null,t.remove=function(){t.prev.next=t.next,t.next&&(t.next.prev=t.prev),t.prev=null,t.next=null},t}}},11328:function(t){t.exports=function(t,e,r){var n=[],i=[];return t.forEach((function(t){var a=t.start,o=t.end;if(e.pointsSame(a,o))console.warn("PolyBool: Warning: Zero-length segment detected; your epsilon is probably too small or too large");else{r&&r.chainStart(t);for(var s={index:0,matches_head:!1,matches_pt1:!1},l={index:0,matches_head:!1,matches_pt1:!1},u=s,c=0;c<n.length;c++){var f=(g=n[c])[0],h=(g[1],g[g.length-1]);if(g[g.length-2],e.pointsSame(f,a)){if(k(c,!0,!0))break}else if(e.pointsSame(f,o)){if(k(c,!0,!1))break}else if(e.pointsSame(h,a)){if(k(c,!1,!0))break}else if(e.pointsSame(h,o)&&k(c,!1,!1))break}if(u===s)return n.push([a,o]),void(r&&r.chainNew(a,o));if(u===l){r&&r.chainMatch(s.index);var p=s.index,d=s.matches_pt1?o:a,v=s.matches_head,g=n[p],y=v?g[0]:g[g.length-1],m=v?g[1]:g[g.length-2],x=v?g[g.length-1]:g[0],b=v?g[g.length-2]:g[1];return e.pointsCollinear(m,y,d)&&(v?(r&&r.chainRemoveHead(s.index,d),g.shift()):(r&&r.chainRemoveTail(s.index,d),g.pop()),y=m),e.pointsSame(x,d)?(n.splice(p,1),e.pointsCollinear(b,x,y)&&(v?(r&&r.chainRemoveTail(s.index,y),g.pop()):(r&&r.chainRemoveHead(s.index,y),g.shift())),r&&r.chainClose(s.index),void i.push(g)):void(v?(r&&r.chainAddHead(s.index,d),g.unshift(d)):(r&&r.chainAddTail(s.index,d),g.push(d)))}var _=s.index,w=l.index;r&&r.chainConnect(_,w);var T=n[_].length<n[w].length;s.matches_head?l.matches_head?T?(A(_),M(_,w)):(A(w),M(w,_)):M(w,_):l.matches_head?M(_,w):T?(A(_),M(w,_)):(A(w),M(_,w))}function k(t,e,r){return u.index=t,u.matches_head=e,u.matches_pt1=r,u===s?(u=l,!1):(u=null,!0)}function A(t){r&&r.chainReverse(t),n[t].reverse()}function M(t,i){var a=n[t],o=n[i],s=a[a.length-1],l=a[a.length-2],u=o[0],c=o[1];e.pointsCollinear(l,s,u)&&(r&&r.chainRemoveTail(t,s),a.pop(),s=l),e.pointsCollinear(s,u,c)&&(r&&r.chainRemoveHead(i,u),o.shift()),r&&r.chainJoin(t,i),n[t]=a.concat(o),n.splice(i,1)}})),i}},55968:function(t){function e(t,e,r){var n=[];return t.forEach((function(t){var i=(t.myFill.above?8:0)+(t.myFill.below?4:0)+(t.otherFill&&t.otherFill.above?2:0)+(t.otherFill&&t.otherFill.below?1:0);0!==e[i]&&n.push({id:r?r.segmentId():-1,start:t.start,end:t.end,myFill:{above:1===e[i],below:2===e[i]},otherFill:null})})),r&&r.selected(n),n}var r={union:function(t,r){return e(t,[0,2,1,0,2,2,0,0,1,0,1,0,0,0,0,0],r)},intersect:function(t,r){return e(t,[0,0,0,0,0,2,0,2,0,0,1,1,0,2,1,0],r)},difference:function(t,r){return e(t,[0,0,0,0,2,0,2,0,1,1,0,0,0,1,2,0],r)},differenceRev:function(t,r){return e(t,[0,2,1,0,0,0,1,1,0,2,0,2,0,0,0,0],r)},xor:function(t,r){return e(t,[0,2,1,0,2,0,0,1,1,0,0,2,0,1,2,0],r)}};t.exports=r},14847:function(t,e,r){"use strict";var n=r(21630).Transform,i=r(90715);function a(){n.call(this,{readableObjectMode:!0})}function o(t,e,r){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack||"",this.name=this.constructor.name,this.message=t,e&&(this.code=e),r&&(this.statusCode=r)}a.prototype=Object.create(n.prototype),a.prototype.constructor=a,i(a.prototype),e.OF=function(t,e,r){for(var n=e,i=0;i<r.length;)if(t[n++]!==r[i++])return!1;return!0},e.eG=function(t,e){var r=[],n=0;if(e&&"hex"===e)for(;n<t.length;)r.push(parseInt(t.slice(n,n+2),16)),n+=2;else for(;n<t.length;n++)r.push(255&t.charCodeAt(n));return r},e.mP=function(t,e){return t[e]|t[e+1]<<8},e.n8=function(t,e){return t[e+1]|t[e]<<8},e.nm=function(t,e){return t[e]|t[e+1]<<8|t[e+2]<<16|16777216*t[e+3]},e.Ag=function(t,e){return t[e+3]|t[e+2]<<8|t[e+1]<<16|16777216*t[e]},o.prototype=Object.create(Error.prototype),o.prototype.constructor=o},71371:function(t){"use strict";function e(t,e){var r=new Error(t);return r.code=e,r}function r(t){try{return decodeURIComponent(escape(t))}catch(e){return t}}function n(t,r,n){this.input=t.subarray(r,n),this.start=r;var i=String.fromCharCode.apply(null,this.input.subarray(0,4));if("II*\0"!==i&&"MM\0*"!==i)throw e("invalid TIFF signature","EBADDATA");this.big_endian="M"===i[0]}n.prototype.each=function(t){this.aborted=!1;var e=this.read_uint32(4);for(this.ifds_to_read=[{id:0,offset:e}];this.ifds_to_read.length>0&&!this.aborted;){var r=this.ifds_to_read.shift();r.offset&&this.scan_ifd(r.id,r.offset,t)}},n.prototype.read_uint16=function(t){var r=this.input;if(t+2>r.length)throw e("unexpected EOF","EBADDATA");return this.big_endian?256*r[t]+r[t+1]:r[t]+256*r[t+1]},n.prototype.read_uint32=function(t){var r=this.input;if(t+4>r.length)throw e("unexpected EOF","EBADDATA");return this.big_endian?16777216*r[t]+65536*r[t+1]+256*r[t+2]+r[t+3]:r[t]+256*r[t+1]+65536*r[t+2]+16777216*r[t+3]},n.prototype.is_subifd_link=function(t,e){return 0===t&&34665===e||0===t&&34853===e||34665===t&&40965===e},n.prototype.exif_format_length=function(t){switch(t){case 1:case 2:case 6:case 7:return 1;case 3:case 8:return 2;case 4:case 9:case 11:return 4;case 5:case 10:case 12:return 8;default:return 0}},n.prototype.exif_format_read=function(t,e){var r;switch(t){case 1:case 2:return this.input[e];case 6:return(r=this.input[e])|33554430*(128&r);case 3:return this.read_uint16(e);case 8:return(r=this.read_uint16(e))|131070*(32768&r);case 4:return this.read_uint32(e);case 9:return 0|this.read_uint32(e);default:return null}},n.prototype.scan_ifd=function(t,n,i){var a=this.read_uint16(n);n+=2;for(var o=0;o<a;o++){var s=this.read_uint16(n),l=this.read_uint16(n+2),u=this.read_uint32(n+4),c=this.exif_format_length(l),f=u*c,h=f<=4?n+8:this.read_uint32(n+8),p=!1;if(h+f>this.input.length)throw e("unexpected EOF","EBADDATA");for(var d=[],v=h,g=0;g<u;g++,v+=c){var y=this.exif_format_read(l,v);if(null===y){d=null;break}d.push(y)}if(Array.isArray(d)&&2===l&&(d=r(String.fromCharCode.apply(null,d)))&&"\0"===d[d.length-1]&&(d=d.slice(0,-1)),this.is_subifd_link(t,s)&&Array.isArray(d)&&Number.isInteger(d[0])&&d[0]>0&&(this.ifds_to_read.push({id:s,offset:d[0]}),p=!0),!1===i({is_big_endian:this.big_endian,ifd:t,tag:s,format:l,count:u,entry_offset:n+this.start,data_length:f,data_offset:h+this.start,value:d,is_subifd_link:p}))return void(this.aborted=!0);n+=12}0===t&&this.ifds_to_read.push({id:1,offset:this.read_uint32(n)})},t.exports.ExifParser=n,t.exports.get_orientation=function(t){var e=0;try{return new n(t,0,t.length).each((function(t){if(0===t.ifd&&274===t.tag&&Array.isArray(t.value))return e=t.value[0],!1})),e}catch(t){return-1}}},76767:function(t,e,r){"use strict";var n=r(14847).n8,i=r(14847).Ag;function a(t,e){if(t.length<4+e)return null;var r=i(t,e);return t.length<r+e||r<8?null:{boxtype:String.fromCharCode.apply(null,t.slice(e+4,e+8)),data:t.slice(e+8,e+r),end:e+r}}function o(t,e){for(var r=0;;){var n=a(t,r);if(!n)break;switch(n.boxtype){case"ispe":e.sizes.push({width:i(n.data,4),height:i(n.data,8)});break;case"irot":e.transforms.push({type:"irot",value:3&n.data[0]});break;case"imir":e.transforms.push({type:"imir",value:1&n.data[0]})}r=n.end}}function s(t,e,r){for(var n=0,i=0;i<r;i++)n=256*n+(t[e+i]||0);return n}function l(t,e){for(var r=t[4]>>4&15,i=15&t[4],a=t[5]>>4&15,o=n(t,6),l=8,u=0;u<o;u++){var c=n(t,l),f=n(t,l+=2),h=s(t,l+=2,a),p=n(t,l+=a);if(l+=2,0===f&&1===p){var d=s(t,l,r),v=s(t,l+r,i);e.item_loc[c]={length:v,offset:d+h}}l+=p*(r+i)}}function u(t,e){for(var r=n(t,4),i=6,o=0;o<r;o++){var s=a(t,i);if(!s)break;if("infe"===s.boxtype){for(var l=n(s.data,4),u="",c=8;c<s.data.length&&s.data[c];c++)u+=String.fromCharCode(s.data[c]);e.item_inf[u]=l}i=s.end}}function c(t,e){for(var r=0;;){var n=a(t,r);if(!n)break;"ipco"===n.boxtype&&o(n.data,e),r=n.end}}t.exports.unbox=a,t.exports.readSizeFromMeta=function(t){var e={sizes:[],transforms:[],item_inf:{},item_loc:{}};if(function(t,e){for(var r=4;;){var n=a(t,r);if(!n)break;"iprp"===n.boxtype&&c(n.data,e),"iloc"===n.boxtype&&l(n.data,e),"iinf"===n.boxtype&&u(n.data,e),r=n.end}}(t,e),e.sizes.length){var r,n,i,o=(n=(r=e.sizes).reduce((function(t,e){return t.width>e.width||t.width===e.width&&t.height>e.height?t:e})),i=r.reduce((function(t,e){return t.height>e.height||t.height===e.height&&t.width>e.width?t:e})),n.width>i.height||n.width===i.height&&n.height>i.width?n:i),s=1;e.transforms.forEach((function(t){var e={1:6,2:5,3:8,4:7,5:4,6:3,7:2,8:1},r={1:4,2:3,3:2,4:1,5:6,6:5,7:8,8:7};if("imir"===t.type&&(s=0===t.value?r[s]:e[s=e[s=r[s]]]),"irot"===t.type)for(var n=0;n<t.value;n++)s=e[s]}));var f=null;return e.item_inf.Exif&&(f=e.item_loc[e.item_inf.Exif]),{width:o.width,height:o.height,orientation:e.transforms.length?s:null,variants:e.sizes,exif_location:f}}},t.exports.getMimeType=function(t){var e=String.fromCharCode.apply(null,t.slice(0,4)),r={};r[e]=!0;for(var n=8;n<t.length;n+=4)r[String.fromCharCode.apply(null,t.slice(n,n+4))]=!0;if(r.mif1||r.msf1||r.miaf)return"avif"===e||"avis"===e||"avio"===e?{type:"avif",mime:"image/avif"}:"heic"===e||"heix"===e?{type:"heic",mime:"image/heic"}:"hevc"===e||"hevx"===e?{type:"heic",mime:"image/heic-sequence"}:r.avif||r.avis?{type:"avif",mime:"image/avif"}:r.heic||r.heix||r.hevc||r.hevx||r.heis?r.msf1?{type:"heif",mime:"image/heif-sequence"}:{type:"heif",mime:"image/heif"}:{type:"avif",mime:"image/avif"}}},24461:function(t,e,r){"use strict";var n=r(14847).eG,i=r(14847).OF,a=r(14847).Ag,o=r(76767),s=r(71371),l=n("ftyp");t.exports=function(t){if(i(t,4,l)){var e=o.unbox(t,0);if(e){var r=o.getMimeType(e.data);if(r){for(var n,u=e.end;;){var c=o.unbox(t,u);if(!c)break;if(u=c.end,"mdat"===c.boxtype)return;if("meta"===c.boxtype){n=c.data;break}}if(n){var f=o.readSizeFromMeta(n);if(f){var h={width:f.width,height:f.height,type:r.type,mime:r.mime,wUnits:"px",hUnits:"px"};if(f.variants.length>1&&(h.variants=f.variants),f.orientation&&(h.orientation=f.orientation),f.exif_location&&f.exif_location.offset+f.exif_location.length<=t.length){var p=a(t,f.exif_location.offset),d=t.slice(f.exif_location.offset+p+4,f.exif_location.offset+f.exif_location.length),v=s.get_orientation(d);v>0&&(h.orientation=v)}return h}}}}}}},2504:function(t,e,r){"use strict";var n=r(14847).eG,i=r(14847).OF,a=r(14847).mP,o=n("BM");t.exports=function(t){if(!(t.length<26)&&i(t,0,o))return{width:a(t,18),height:a(t,22),type:"bmp",mime:"image/bmp",wUnits:"px",hUnits:"px"}}},47342:function(t,e,r){"use strict";var n=r(14847).eG,i=r(14847).OF,a=r(14847).mP,o=n("GIF87a"),s=n("GIF89a");t.exports=function(t){if(!(t.length<10)&&(i(t,0,o)||i(t,0,s)))return{width:a(t,6),height:a(t,8),type:"gif",mime:"image/gif",wUnits:"px",hUnits:"px"}}},31355:function(t,e,r){"use strict";var n=r(14847).mP;t.exports=function(t){var e=n(t,0),r=n(t,2),i=n(t,4);if(0===e&&1===r&&i){for(var a=[],o={width:0,height:0},s=0;s<i;s++){var l=t[6+16*s]||256,u=t[6+16*s+1]||256,c={width:l,height:u};a.push(c),(l>o.width||u>o.height)&&(o=c)}return{width:o.width,height:o.height,variants:a,type:"ico",mime:"image/x-icon",wUnits:"px",hUnits:"px"}}}},54261:function(t,e,r){"use strict";var n=r(14847).n8,i=r(14847).eG,a=r(14847).OF,o=r(71371),s=i("Exif\0\0");t.exports=function(t){if(!(t.length<2)&&255===t[0]&&216===t[1]&&255===t[2])for(var e=2;;){for(;;){if(t.length-e<2)return;if(255===t[e++])break}for(var r,i,l=t[e++];255===l;)l=t[e++];if(208<=l&&l<=217||1===l)r=0;else{if(!(192<=l&&l<=254))return;if(t.length-e<2)return;r=n(t,e)-2,e+=2}if(217===l||218===l)return;if(225===l&&r>=10&&a(t,e,s)&&(i=o.get_orientation(t.slice(e+6,e+r))),r>=5&&192<=l&&l<=207&&196!==l&&200!==l&&204!==l){if(t.length-e<r)return;var u={width:n(t,e+3),height:n(t,e+1),type:"jpg",mime:"image/jpeg",wUnits:"px",hUnits:"px"};return i>0&&(u.orientation=i),u}e+=r}}},6303:function(t,e,r){"use strict";var n=r(14847).eG,i=r(14847).OF,a=r(14847).Ag,o=n("PNG\r\n\n"),s=n("IHDR");t.exports=function(t){if(!(t.length<24)&&i(t,0,o)&&i(t,12,s))return{width:a(t,16),height:a(t,20),type:"png",mime:"image/png",wUnits:"px",hUnits:"px"}}},38689:function(t,e,r){"use strict";var n=r(14847).eG,i=r(14847).OF,a=r(14847).Ag,o=n("8BPS\0");t.exports=function(t){if(!(t.length<22)&&i(t,0,o))return{width:a(t,18),height:a(t,14),type:"psd",mime:"image/vnd.adobe.photoshop",wUnits:"px",hUnits:"px"}}},6881:function(t){"use strict";function e(t){return"number"==typeof t&&isFinite(t)&&t>0}var r=/<[-_.:a-zA-Z0-9][^>]*>/,n=/^<([-_.:a-zA-Z0-9]+:)?svg\s/,i=/[^-]\bwidth="([^%]+?)"|[^-]\bwidth='([^%]+?)'/,a=/\bheight="([^%]+?)"|\bheight='([^%]+?)'/,o=/\bview[bB]ox="(.+?)"|\bview[bB]ox='(.+?)'/,s=/in$|mm$|cm$|pt$|pc$|px$|em$|ex$/;function l(t){return s.test(t)?t.match(s)[0]:"px"}t.exports=function(t){if(function(t){var e,r=0,n=t.length;for(239===t[0]&&187===t[1]&&191===t[2]&&(r=3);r<n&&(32===(e=t[r])||9===e||13===e||10===e);)r++;return r!==n&&60===t[r]}(t)){for(var s="",u=0;u<t.length;u++)s+=String.fromCharCode(t[u]);var c=(s.match(r)||[""])[0];if(n.test(c)){var f=function(t){var e=t.match(i),r=t.match(a),n=t.match(o);return{width:e&&(e[1]||e[2]),height:r&&(r[1]||r[2]),viewbox:n&&(n[1]||n[2])}}(c),h=parseFloat(f.width),p=parseFloat(f.height);if(f.width&&f.height){if(!e(h)||!e(p))return;return{width:h,height:p,type:"svg",mime:"image/svg+xml",wUnits:l(f.width),hUnits:l(f.height)}}var d=(f.viewbox||"").split(" "),v={width:d[2],height:d[3]},g=parseFloat(v.width),y=parseFloat(v.height);if(e(g)&&e(y)&&l(v.width)===l(v.height)){var m=g/y;if(f.width){if(!e(h))return;return{width:h,height:h/m,type:"svg",mime:"image/svg+xml",wUnits:l(f.width),hUnits:l(f.width)}}if(f.height){if(!e(p))return;return{width:p*m,height:p,type:"svg",mime:"image/svg+xml",wUnits:l(f.height),hUnits:l(f.height)}}return{width:g,height:y,type:"svg",mime:"image/svg+xml",wUnits:l(v.width),hUnits:l(v.height)}}}}}},66278:function(t,e,r){"use strict";var n=r(14847).eG,i=r(14847).OF,a=r(14847).mP,o=r(14847).n8,s=r(14847).nm,l=r(14847).Ag,u=n("II*\0"),c=n("MM\0*");function f(t,e,r){return r?o(t,e):a(t,e)}function h(t,e,r){return r?l(t,e):s(t,e)}function p(t,e,r){var n=f(t,e+2,r);return 1!==h(t,e+4,r)||3!==n&&4!==n?null:3===n?f(t,e+8,r):h(t,e+8,r)}t.exports=function(t){if(!(t.length<8)&&(i(t,0,u)||i(t,0,c))){var e=77===t[0],r=h(t,4,e)-8;if(!(r<0)){var n=r+8;if(!(t.length-n<2)){var a=12*f(t,n+0,e);if(!(a<=0||(n+=2,t.length-n<a))){var o,s,l,d;for(o=0;o<a;o+=12)256===(d=f(t,n+o,e))?s=p(t,n+o,e):257===d&&(l=p(t,n+o,e));return s&&l?{width:s,height:l,type:"tiff",mime:"image/tiff",wUnits:"px",hUnits:"px"}:void 0}}}}}},90784:function(t,e,r){"use strict";var n=r(14847).eG,i=r(14847).OF,a=r(14847).mP,o=r(14847).nm,s=r(71371),l=n("RIFF"),u=n("WEBP");function c(t,e){if(157===t[e+3]&&1===t[e+4]&&42===t[e+5])return{width:16383&a(t,e+6),height:16383&a(t,e+8),type:"webp",mime:"image/webp",wUnits:"px",hUnits:"px"}}function f(t,e){if(47===t[e]){var r=o(t,e+1);return{width:1+(16383&r),height:1+(r>>14&16383),type:"webp",mime:"image/webp",wUnits:"px",hUnits:"px"}}}function h(t,e){return{width:1+(t[e+6]<<16|t[e+5]<<8|t[e+4]),height:1+(t[e+9]<<e|t[e+8]<<8|t[e+7]),type:"webp",mime:"image/webp",wUnits:"px",hUnits:"px"}}t.exports=function(t){if(!(t.length<16)&&(i(t,0,l)||i(t,8,u))){var e=12,r=null,n=0,a=o(t,4)+8;if(!(a>t.length)){for(;e+8<a;)if(0!==t[e]){var p=String.fromCharCode.apply(null,t.slice(e,e+4)),d=o(t,e+4);"VP8 "===p&&d>=10?r=r||c(t,e+8):"VP8L"===p&&d>=9?r=r||f(t,e+8):"VP8X"===p&&d>=10?r=r||h(t,e+8):"EXIF"===p&&(n=s.get_orientation(t.slice(e+8,e+8+d)),e=1/0),e+=8+d}else e++;if(r)return n>0&&(r.orientation=n),r}}}},91497:function(t,e,r){"use strict";t.exports={avif:r(24461),bmp:r(2504),gif:r(47342),ico:r(31355),jpeg:r(54261),png:r(6303),psd:r(38689),svg:r(6881),tiff:r(66278),webp:r(90784)}},33575:function(t,e,r){"use strict";var n=r(91497);t.exports=function(t){return function(t){for(var e=Object.keys(n),r=0;r<e.length;r++){var i=n[e[r]](t);if(i)return i}return null}(t)},t.exports.parsers=n},90386:function(t){var e,r,n=t.exports={};function i(){throw new Error("setTimeout has not been defined")}function a(){throw new Error("clearTimeout has not been defined")}function o(t){if(e===setTimeout)return setTimeout(t,0);if((e===i||!e)&&setTimeout)return e=setTimeout,setTimeout(t,0);try{return e(t,0)}catch(r){try{return e.call(null,t,0)}catch(r){return e.call(this,t,0)}}}!function(){try{e="function"==typeof setTimeout?setTimeout:i}catch(t){e=i}try{r="function"==typeof clearTimeout?clearTimeout:a}catch(t){r=a}}();var s,l=[],u=!1,c=-1;function f(){u&&s&&(u=!1,s.length?l=s.concat(l):c=-1,l.length&&h())}function h(){if(!u){var t=o(f);u=!0;for(var e=l.length;e;){for(s=l,l=[];++c<e;)s&&s[c].run();c=-1,e=l.length}s=null,u=!1,function(t){if(r===clearTimeout)return clearTimeout(t);if((r===a||!r)&&clearTimeout)return r=clearTimeout,clearTimeout(t);try{r(t)}catch(e){try{return r.call(null,t)}catch(e){return r.call(this,t)}}}(t)}}function p(t,e){this.fun=t,this.array=e}function d(){}n.nextTick=function(t){var e=new Array(arguments.length-1);if(arguments.length>1)for(var r=1;r<arguments.length;r++)e[r-1]=arguments[r];l.push(new p(t,e)),1!==l.length||u||o(h)},p.prototype.run=function(){this.fun.apply(null,this.array)},n.title="browser",n.browser=!0,n.env={},n.argv=[],n.version="",n.versions={},n.on=d,n.addListener=d,n.once=d,n.off=d,n.removeListener=d,n.removeAllListeners=d,n.emit=d,n.prependListener=d,n.prependOnceListener=d,n.listeners=function(t){return[]},n.binding=function(t){throw new Error("process.binding is not supported")},n.cwd=function(){return"/"},n.chdir=function(t){throw new Error("process.chdir is not supported")},n.umask=function(){return 0}},5877:function(t,e,r){for(var n=r(9748),i="undefined"==typeof window?r.g:window,a=["moz","webkit"],o="AnimationFrame",s=i["request"+o],l=i["cancel"+o]||i["cancelRequest"+o],u=0;!s&&u<a.length;u++)s=i[a[u]+"Request"+o],l=i[a[u]+"Cancel"+o]||i[a[u]+"CancelRequest"+o];if(!s||!l){var c=0,f=0,h=[];s=function(t){if(0===h.length){var e=n(),r=Math.max(0,16.666666666666668-(e-c));c=r+e,setTimeout((function(){var t=h.slice(0);h.length=0;for(var e=0;e<t.length;e++)if(!t[e].cancelled)try{t[e].callback(c)}catch(t){setTimeout((function(){throw t}),0)}}),Math.round(r))}return h.push({handle:++f,callback:t,cancelled:!1}),f},l=function(t){for(var e=0;e<h.length;e++)h[e].handle===t&&(h[e].cancelled=!0)}}t.exports=function(t){return s.call(i,t)},t.exports.cancel=function(){l.apply(i,arguments)},t.exports.polyfill=function(t){t||(t=i),t.requestAnimationFrame=s,t.cancelAnimationFrame=l}},3593:function(t,e,r){"use strict";var n=r(21527),i=r(25075),a=r(93447),o=r(71299),s=r(56131),l=r(30120),u=r(57060),c=u.float32,f=u.fract32;t.exports=function(t,e){if("function"==typeof t?(e||(e={}),e.regl=t):e=t,e.length&&(e.positions=e),!(t=e.regl).hasExtension("ANGLE_instanced_arrays"))throw Error("regl-error2d: `ANGLE_instanced_arrays` extension should be enabled");var r,u,p,d,v,g,y=t._gl,m={color:"black",capSize:5,lineWidth:1,opacity:1,viewport:null,range:null,offset:0,count:0,bounds:null,positions:[],errors:[]},x=[];return d=t.buffer({usage:"dynamic",type:"uint8",data:new Uint8Array(0)}),u=t.buffer({usage:"dynamic",type:"float",data:new Uint8Array(0)}),p=t.buffer({usage:"dynamic",type:"float",data:new Uint8Array(0)}),v=t.buffer({usage:"dynamic",type:"float",data:new Uint8Array(0)}),g=t.buffer({usage:"static",type:"float",data:h}),T(e),r=t({vert:"\n\t\tprecision highp float;\n\n\t\tattribute vec2 position, positionFract;\n\t\tattribute vec4 error;\n\t\tattribute vec4 color;\n\n\t\tattribute vec2 direction, lineOffset, capOffset;\n\n\t\tuniform vec4 viewport;\n\t\tuniform float lineWidth, capSize;\n\t\tuniform vec2 scale, scaleFract, translate, translateFract;\n\n\t\tvarying vec4 fragColor;\n\n\t\tvoid main() {\n\t\t\tfragColor = color / 255.;\n\n\t\t\tvec2 pixelOffset = lineWidth * lineOffset + (capSize + lineWidth) * capOffset;\n\n\t\t\tvec2 dxy = -step(.5, direction.xy) * error.xz + step(direction.xy, vec2(-.5)) * error.yw;\n\n\t\t\tvec2 position = position + dxy;\n\n\t\t\tvec2 pos = (position + translate) * scale\n\t\t\t\t+ (positionFract + translateFract) * scale\n\t\t\t\t+ (position + translate) * scaleFract\n\t\t\t\t+ (positionFract + translateFract) * scaleFract;\n\n\t\t\tpos += pixelOffset / viewport.zw;\n\n\t\t\tgl_Position = vec4(pos * 2. - 1., 0, 1);\n\t\t}\n\t\t",frag:"\n\t\tprecision highp float;\n\n\t\tvarying vec4 fragColor;\n\n\t\tuniform float opacity;\n\n\t\tvoid main() {\n\t\t\tgl_FragColor = fragColor;\n\t\t\tgl_FragColor.a *= opacity;\n\t\t}\n\t\t",uniforms:{range:t.prop("range"),lineWidth:t.prop("lineWidth"),capSize:t.prop("capSize"),opacity:t.prop("opacity"),scale:t.prop("scale"),translate:t.prop("translate"),scaleFract:t.prop("scaleFract"),translateFract:t.prop("translateFract"),viewport:function(t,e){return[e.viewport.x,e.viewport.y,t.viewportWidth,t.viewportHeight]}},attributes:{color:{buffer:d,offset:function(t,e){return 4*e.offset},divisor:1},position:{buffer:u,offset:function(t,e){return 8*e.offset},divisor:1},positionFract:{buffer:p,offset:function(t,e){return 8*e.offset},divisor:1},error:{buffer:v,offset:function(t,e){return 16*e.offset},divisor:1},direction:{buffer:g,stride:24,offset:0},lineOffset:{buffer:g,stride:24,offset:8},capOffset:{buffer:g,stride:24,offset:16}},primitive:"triangles",blend:{enable:!0,color:[0,0,0,0],equation:{rgb:"add",alpha:"add"},func:{srcRGB:"src alpha",dstRGB:"one minus src alpha",srcAlpha:"one minus dst alpha",dstAlpha:"one"}},depth:{enable:!1},scissor:{enable:!0,box:t.prop("viewport")},viewport:t.prop("viewport"),stencil:!1,instances:t.prop("count"),count:h.length}),s(b,{update:T,draw:_,destroy:k,regl:t,gl:y,canvas:y.canvas,groups:x}),b;function b(t){t?T(t):null===t&&k(),_()}function _(e){if("number"==typeof e)return w(e);e&&!Array.isArray(e)&&(e=[e]),t._refresh(),x.forEach((function(t,r){t&&(e&&(e[r]?t.draw=!0:t.draw=!1),t.draw?w(r):t.draw=!0)}))}function w(t){"number"==typeof t&&(t=x[t]),null!=t&&t&&t.count&&t.color&&t.opacity&&t.positions&&t.positions.length>1&&(t.scaleRatio=[t.scale[0]*t.viewport.width,t.scale[1]*t.viewport.height],r(t),t.after&&t.after(t))}function T(t){if(t){null!=t.length?"number"==typeof t[0]&&(t=[{positions:t}]):Array.isArray(t)||(t=[t]);var e=0,r=0;if(b.groups=x=t.map((function(t,u){var c=x[u];return t?("function"==typeof t?t={after:t}:"number"==typeof t[0]&&(t={positions:t}),t=o(t,{color:"color colors fill",capSize:"capSize cap capsize cap-size",lineWidth:"lineWidth line-width width line thickness",opacity:"opacity alpha",range:"range dataBox",viewport:"viewport viewBox",errors:"errors error",positions:"positions position data points"}),c||(x[u]=c={id:u,scale:null,translate:null,scaleFract:null,translateFract:null,draw:!0},t=s({},m,t)),a(c,t,[{lineWidth:function(t){return.5*+t},capSize:function(t){return.5*+t},opacity:parseFloat,errors:function(t){return t=l(t),r+=t.length,t},positions:function(t,r){return t=l(t,"float64"),r.count=Math.floor(t.length/2),r.bounds=n(t,2),r.offset=e,e+=r.count,t}},{color:function(t,e){var r=e.count;if(t||(t="transparent"),!Array.isArray(t)||"number"==typeof t[0]){var n=t;t=Array(r);for(var a=0;a<r;a++)t[a]=n}if(t.length<r)throw Error("Not enough colors");for(var o=new Uint8Array(4*r),s=0;s<r;s++){var l=i(t[s],"uint8");o.set(l,4*s)}return o},range:function(t,e,r){var n=e.bounds;return t||(t=n),e.scale=[1/(t[2]-t[0]),1/(t[3]-t[1])],e.translate=[-t[0],-t[1]],e.scaleFract=f(e.scale),e.translateFract=f(e.translate),t},viewport:function(t){var e;return Array.isArray(t)?e={x:t[0],y:t[1],width:t[2]-t[0],height:t[3]-t[1]}:t?(e={x:t.x||t.left||0,y:t.y||t.top||0},t.right?e.width=t.right-e.x:e.width=t.w||t.width||0,t.bottom?e.height=t.bottom-e.y:e.height=t.h||t.height||0):e={x:0,y:0,width:y.drawingBufferWidth,height:y.drawingBufferHeight},e}}]),c):c})),e||r){var h=x.reduce((function(t,e,r){return t+(e?e.count:0)}),0),g=new Float64Array(2*h),_=new Uint8Array(4*h),w=new Float32Array(4*h);x.forEach((function(t,e){if(t){var r=t.positions,n=t.count,i=t.offset,a=t.color,o=t.errors;n&&(_.set(a,4*i),w.set(o,4*i),g.set(r,2*i))}}));var T=c(g);u(T);var k=f(g,T);p(k),d(_),v(w)}}}function k(){u.destroy(),p.destroy(),d.destroy(),v.destroy(),g.destroy()}};var h=[[1,0,0,1,0,0],[1,0,0,-1,0,0],[-1,0,0,-1,0,0],[-1,0,0,-1,0,0],[-1,0,0,1,0,0],[1,0,0,1,0,0],[1,0,-1,0,0,1],[1,0,-1,0,0,-1],[1,0,1,0,0,-1],[1,0,1,0,0,-1],[1,0,1,0,0,1],[1,0,-1,0,0,1],[-1,0,-1,0,0,1],[-1,0,-1,0,0,-1],[-1,0,1,0,0,-1],[-1,0,1,0,0,-1],[-1,0,1,0,0,1],[-1,0,-1,0,0,1],[0,1,1,0,0,0],[0,1,-1,0,0,0],[0,-1,-1,0,0,0],[0,-1,-1,0,0,0],[0,1,1,0,0,0],[0,-1,1,0,0,0],[0,1,0,-1,1,0],[0,1,0,-1,-1,0],[0,1,0,1,-1,0],[0,1,0,1,1,0],[0,1,0,-1,1,0],[0,1,0,1,-1,0],[0,-1,0,-1,1,0],[0,-1,0,-1,-1,0],[0,-1,0,1,-1,0],[0,-1,0,1,1,0],[0,-1,0,-1,1,0],[0,-1,0,1,-1,0]]},46075:function(t,e,r){"use strict";var n=r(25075),i=r(21527),a=r(56131),o=r(56068),s=r(71299),l=r(30120),u=r(11474),c=r(54),f=r(57060),h=f.float32,p=f.fract32,d=r(83522),v=r(18863),g=r(6851);function y(t,e){if(!(this instanceof y))return new y(t,e);if("function"==typeof t?(e||(e={}),e.regl=t):e=t,e.length&&(e.positions=e),!(t=e.regl).hasExtension("ANGLE_instanced_arrays"))throw Error("regl-error2d: `ANGLE_instanced_arrays` extension should be enabled");this.gl=t._gl,this.regl=t,this.passes=[],this.shaders=y.shaders.has(t)?y.shaders.get(t):y.shaders.set(t,y.createShaders(t)).get(t),this.update(e)}t.exports=y,y.dashMult=2,y.maxPatternLength=256,y.precisionThreshold=3e6,y.maxPoints=1e4,y.maxLines=2048,y.shaders=new d,y.createShaders=function(t){var e,r=t.buffer({usage:"static",type:"float",data:[0,1,0,0,1,1,1,0]}),n={primitive:"triangle strip",instances:t.prop("count"),count:4,offset:0,uniforms:{miterMode:function(t,e){return"round"===e.join?2:1},miterLimit:t.prop("miterLimit"),scale:t.prop("scale"),scaleFract:t.prop("scaleFract"),translateFract:t.prop("translateFract"),translate:t.prop("translate"),thickness:t.prop("thickness"),dashTexture:t.prop("dashTexture"),opacity:t.prop("opacity"),pixelRatio:t.context("pixelRatio"),id:t.prop("id"),dashLength:t.prop("dashLength"),viewport:function(t,e){return[e.viewport.x,e.viewport.y,t.viewportWidth,t.viewportHeight]},depth:t.prop("depth")},blend:{enable:!0,color:[0,0,0,0],equation:{rgb:"add",alpha:"add"},func:{srcRGB:"src alpha",dstRGB:"one minus src alpha",srcAlpha:"one minus dst alpha",dstAlpha:"one"}},depth:{enable:function(t,e){return!e.overlay}},stencil:{enable:!1},scissor:{enable:!0,box:t.prop("viewport")},viewport:t.prop("viewport")},i=t(a({vert:o(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec2 aCoord, bCoord, aCoordFract, bCoordFract;\nattribute vec4 color;\nattribute float lineEnd, lineTop;\n\nuniform vec2 scale, scaleFract, translate, translateFract;\nuniform float thickness, pixelRatio, id, depth;\nuniform vec4 viewport;\n\nvarying vec4 fragColor;\nvarying vec2 tangent;\n\nvec2 project(vec2 position, vec2 positionFract, vec2 scale, vec2 scaleFract, vec2 translate, vec2 translateFract) {\n\t// the order is important\n\treturn position * scale + translate\n + positionFract * scale + translateFract\n + position * scaleFract\n + positionFract * scaleFract;\n}\n\nvoid main() {\n\tfloat lineStart = 1. - lineEnd;\n\tfloat lineOffset = lineTop * 2. - 1.;\n\n\tvec2 diff = (bCoord + bCoordFract - aCoord - aCoordFract);\n\ttangent = normalize(diff * scale * viewport.zw);\n\tvec2 normal = vec2(-tangent.y, tangent.x);\n\n\tvec2 position = project(aCoord, aCoordFract, scale, scaleFract, translate, translateFract) * lineStart\n\t\t+ project(bCoord, bCoordFract, scale, scaleFract, translate, translateFract) * lineEnd\n\n\t\t+ thickness * normal * .5 * lineOffset / viewport.zw;\n\n\tgl_Position = vec4(position * 2.0 - 1.0, depth, 1);\n\n\tfragColor = color / 255.;\n}\n"]),frag:o(["precision highp float;\n#define GLSLIFY 1\n\nuniform float dashLength, pixelRatio, thickness, opacity, id;\nuniform sampler2D dashTexture;\n\nvarying vec4 fragColor;\nvarying vec2 tangent;\n\nvoid main() {\n\tfloat alpha = 1.;\n\n\tfloat t = fract(dot(tangent, gl_FragCoord.xy) / dashLength) * .5 + .25;\n\tfloat dash = texture2D(dashTexture, vec2(t, .5)).r;\n\n\tgl_FragColor = fragColor;\n\tgl_FragColor.a *= alpha * opacity * dash;\n}\n"]),attributes:{lineEnd:{buffer:r,divisor:0,stride:8,offset:0},lineTop:{buffer:r,divisor:0,stride:8,offset:4},aCoord:{buffer:t.prop("positionBuffer"),stride:8,offset:8,divisor:1},bCoord:{buffer:t.prop("positionBuffer"),stride:8,offset:16,divisor:1},aCoordFract:{buffer:t.prop("positionFractBuffer"),stride:8,offset:8,divisor:1},bCoordFract:{buffer:t.prop("positionFractBuffer"),stride:8,offset:16,divisor:1},color:{buffer:t.prop("colorBuffer"),stride:4,offset:0,divisor:1}}},n));try{e=t(a({cull:{enable:!0,face:"back"},vert:o(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec2 aCoord, bCoord, nextCoord, prevCoord;\nattribute vec4 aColor, bColor;\nattribute float lineEnd, lineTop;\n\nuniform vec2 scale, translate;\nuniform float thickness, pixelRatio, id, depth;\nuniform vec4 viewport;\nuniform float miterLimit, miterMode;\n\nvarying vec4 fragColor;\nvarying vec4 startCutoff, endCutoff;\nvarying vec2 tangent;\nvarying vec2 startCoord, endCoord;\nvarying float enableStartMiter, enableEndMiter;\n\nconst float REVERSE_THRESHOLD = -.875;\nconst float MIN_DIFF = 1e-6;\n\n// TODO: possible optimizations: avoid overcalculating all for vertices and calc just one instead\n// TODO: precalculate dot products, normalize things beforehead etc.\n// TODO: refactor to rectangular algorithm\n\nfloat distToLine(vec2 p, vec2 a, vec2 b) {\n\tvec2 diff = b - a;\n\tvec2 perp = normalize(vec2(-diff.y, diff.x));\n\treturn dot(p - a, perp);\n}\n\nbool isNaN( float val ){\n return ( val < 0.0 || 0.0 < val || val == 0.0 ) ? false : true;\n}\n\nvoid main() {\n\tvec2 aCoord = aCoord, bCoord = bCoord, prevCoord = prevCoord, nextCoord = nextCoord;\n\n vec2 adjustedScale;\n adjustedScale.x = (abs(scale.x) < MIN_DIFF) ? MIN_DIFF : scale.x;\n adjustedScale.y = (abs(scale.y) < MIN_DIFF) ? MIN_DIFF : scale.y;\n\n vec2 scaleRatio = adjustedScale * viewport.zw;\n\tvec2 normalWidth = thickness / scaleRatio;\n\n\tfloat lineStart = 1. - lineEnd;\n\tfloat lineBot = 1. - lineTop;\n\n\tfragColor = (lineStart * aColor + lineEnd * bColor) / 255.;\n\n\tif (isNaN(aCoord.x) || isNaN(aCoord.y) || isNaN(bCoord.x) || isNaN(bCoord.y)) return;\n\n\tif (aCoord == prevCoord) prevCoord = aCoord + normalize(bCoord - aCoord);\n\tif (bCoord == nextCoord) nextCoord = bCoord - normalize(bCoord - aCoord);\n\n\tvec2 prevDiff = aCoord - prevCoord;\n\tvec2 currDiff = bCoord - aCoord;\n\tvec2 nextDiff = nextCoord - bCoord;\n\n\tvec2 prevTangent = normalize(prevDiff * scaleRatio);\n\tvec2 currTangent = normalize(currDiff * scaleRatio);\n\tvec2 nextTangent = normalize(nextDiff * scaleRatio);\n\n\tvec2 prevNormal = vec2(-prevTangent.y, prevTangent.x);\n\tvec2 currNormal = vec2(-currTangent.y, currTangent.x);\n\tvec2 nextNormal = vec2(-nextTangent.y, nextTangent.x);\n\n\tvec2 startJoinDirection = normalize(prevTangent - currTangent);\n\tvec2 endJoinDirection = normalize(currTangent - nextTangent);\n\n\t// collapsed/unidirectional segment cases\n\t// FIXME: there should be more elegant solution\n\tvec2 prevTanDiff = abs(prevTangent - currTangent);\n\tvec2 nextTanDiff = abs(nextTangent - currTangent);\n\tif (max(prevTanDiff.x, prevTanDiff.y) < MIN_DIFF) {\n\t\tstartJoinDirection = currNormal;\n\t}\n\tif (max(nextTanDiff.x, nextTanDiff.y) < MIN_DIFF) {\n\t\tendJoinDirection = currNormal;\n\t}\n\tif (aCoord == bCoord) {\n\t\tendJoinDirection = startJoinDirection;\n\t\tcurrNormal = prevNormal;\n\t\tcurrTangent = prevTangent;\n\t}\n\n\ttangent = currTangent;\n\n\t//calculate join shifts relative to normals\n\tfloat startJoinShift = dot(currNormal, startJoinDirection);\n\tfloat endJoinShift = dot(currNormal, endJoinDirection);\n\n\tfloat startMiterRatio = abs(1. / startJoinShift);\n\tfloat endMiterRatio = abs(1. / endJoinShift);\n\n\tvec2 startJoin = startJoinDirection * startMiterRatio;\n\tvec2 endJoin = endJoinDirection * endMiterRatio;\n\n\tvec2 startTopJoin, startBotJoin, endTopJoin, endBotJoin;\n\tstartTopJoin = sign(startJoinShift) * startJoin * .5;\n\tstartBotJoin = -startTopJoin;\n\n\tendTopJoin = sign(endJoinShift) * endJoin * .5;\n\tendBotJoin = -endTopJoin;\n\n\tvec2 aTopCoord = aCoord + normalWidth * startTopJoin;\n\tvec2 bTopCoord = bCoord + normalWidth * endTopJoin;\n\tvec2 aBotCoord = aCoord + normalWidth * startBotJoin;\n\tvec2 bBotCoord = bCoord + normalWidth * endBotJoin;\n\n\t//miter anti-clipping\n\tfloat baClipping = distToLine(bCoord, aCoord, aBotCoord) / dot(normalize(normalWidth * endBotJoin), normalize(normalWidth.yx * vec2(-startBotJoin.y, startBotJoin.x)));\n\tfloat abClipping = distToLine(aCoord, bCoord, bTopCoord) / dot(normalize(normalWidth * startBotJoin), normalize(normalWidth.yx * vec2(-endBotJoin.y, endBotJoin.x)));\n\n\t//prevent close to reverse direction switch\n\tbool prevReverse = dot(currTangent, prevTangent) <= REVERSE_THRESHOLD && abs(dot(currTangent, prevNormal)) * min(length(prevDiff), length(currDiff)) < length(normalWidth * currNormal);\n\tbool nextReverse = dot(currTangent, nextTangent) <= REVERSE_THRESHOLD && abs(dot(currTangent, nextNormal)) * min(length(nextDiff), length(currDiff)) < length(normalWidth * currNormal);\n\n\tif (prevReverse) {\n\t\t//make join rectangular\n\t\tvec2 miterShift = normalWidth * startJoinDirection * miterLimit * .5;\n\t\tfloat normalAdjust = 1. - min(miterLimit / startMiterRatio, 1.);\n\t\taBotCoord = aCoord + miterShift - normalAdjust * normalWidth * currNormal * .5;\n\t\taTopCoord = aCoord + miterShift + normalAdjust * normalWidth * currNormal * .5;\n\t}\n\telse if (!nextReverse && baClipping > 0. && baClipping < length(normalWidth * endBotJoin)) {\n\t\t//handle miter clipping\n\t\tbTopCoord -= normalWidth * endTopJoin;\n\t\tbTopCoord += normalize(endTopJoin * normalWidth) * baClipping;\n\t}\n\n\tif (nextReverse) {\n\t\t//make join rectangular\n\t\tvec2 miterShift = normalWidth * endJoinDirection * miterLimit * .5;\n\t\tfloat normalAdjust = 1. - min(miterLimit / endMiterRatio, 1.);\n\t\tbBotCoord = bCoord + miterShift - normalAdjust * normalWidth * currNormal * .5;\n\t\tbTopCoord = bCoord + miterShift + normalAdjust * normalWidth * currNormal * .5;\n\t}\n\telse if (!prevReverse && abClipping > 0. && abClipping < length(normalWidth * startBotJoin)) {\n\t\t//handle miter clipping\n\t\taBotCoord -= normalWidth * startBotJoin;\n\t\taBotCoord += normalize(startBotJoin * normalWidth) * abClipping;\n\t}\n\n\tvec2 aTopPosition = (aTopCoord) * adjustedScale + translate;\n\tvec2 aBotPosition = (aBotCoord) * adjustedScale + translate;\n\n\tvec2 bTopPosition = (bTopCoord) * adjustedScale + translate;\n\tvec2 bBotPosition = (bBotCoord) * adjustedScale + translate;\n\n\t//position is normalized 0..1 coord on the screen\n\tvec2 position = (aTopPosition * lineTop + aBotPosition * lineBot) * lineStart + (bTopPosition * lineTop + bBotPosition * lineBot) * lineEnd;\n\n\tstartCoord = aCoord * scaleRatio + translate * viewport.zw + viewport.xy;\n\tendCoord = bCoord * scaleRatio + translate * viewport.zw + viewport.xy;\n\n\tgl_Position = vec4(position * 2.0 - 1.0, depth, 1);\n\n\tenableStartMiter = step(dot(currTangent, prevTangent), .5);\n\tenableEndMiter = step(dot(currTangent, nextTangent), .5);\n\n\t//bevel miter cutoffs\n\tif (miterMode == 1.) {\n\t\tif (enableStartMiter == 1.) {\n\t\t\tvec2 startMiterWidth = vec2(startJoinDirection) * thickness * miterLimit * .5;\n\t\t\tstartCutoff = vec4(aCoord, aCoord);\n\t\t\tstartCutoff.zw += vec2(-startJoinDirection.y, startJoinDirection.x) / scaleRatio;\n\t\t\tstartCutoff = startCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\n\t\t\tstartCutoff += viewport.xyxy;\n\t\t\tstartCutoff += startMiterWidth.xyxy;\n\t\t}\n\n\t\tif (enableEndMiter == 1.) {\n\t\t\tvec2 endMiterWidth = vec2(endJoinDirection) * thickness * miterLimit * .5;\n\t\t\tendCutoff = vec4(bCoord, bCoord);\n\t\t\tendCutoff.zw += vec2(-endJoinDirection.y, endJoinDirection.x) / scaleRatio;\n\t\t\tendCutoff = endCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\n\t\t\tendCutoff += viewport.xyxy;\n\t\t\tendCutoff += endMiterWidth.xyxy;\n\t\t}\n\t}\n\n\t//round miter cutoffs\n\telse if (miterMode == 2.) {\n\t\tif (enableStartMiter == 1.) {\n\t\t\tvec2 startMiterWidth = vec2(startJoinDirection) * thickness * abs(dot(startJoinDirection, currNormal)) * .5;\n\t\t\tstartCutoff = vec4(aCoord, aCoord);\n\t\t\tstartCutoff.zw += vec2(-startJoinDirection.y, startJoinDirection.x) / scaleRatio;\n\t\t\tstartCutoff = startCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\n\t\t\tstartCutoff += viewport.xyxy;\n\t\t\tstartCutoff += startMiterWidth.xyxy;\n\t\t}\n\n\t\tif (enableEndMiter == 1.) {\n\t\t\tvec2 endMiterWidth = vec2(endJoinDirection) * thickness * abs(dot(endJoinDirection, currNormal)) * .5;\n\t\t\tendCutoff = vec4(bCoord, bCoord);\n\t\t\tendCutoff.zw += vec2(-endJoinDirection.y, endJoinDirection.x) / scaleRatio;\n\t\t\tendCutoff = endCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\n\t\t\tendCutoff += viewport.xyxy;\n\t\t\tendCutoff += endMiterWidth.xyxy;\n\t\t}\n\t}\n}\n"]),frag:o(["precision highp float;\n#define GLSLIFY 1\n\nuniform float dashLength, pixelRatio, thickness, opacity, id, miterMode;\nuniform sampler2D dashTexture;\n\nvarying vec4 fragColor;\nvarying vec2 tangent;\nvarying vec4 startCutoff, endCutoff;\nvarying vec2 startCoord, endCoord;\nvarying float enableStartMiter, enableEndMiter;\n\nfloat distToLine(vec2 p, vec2 a, vec2 b) {\n\tvec2 diff = b - a;\n\tvec2 perp = normalize(vec2(-diff.y, diff.x));\n\treturn dot(p - a, perp);\n}\n\nvoid main() {\n\tfloat alpha = 1., distToStart, distToEnd;\n\tfloat cutoff = thickness * .5;\n\n\t//bevel miter\n\tif (miterMode == 1.) {\n\t\tif (enableStartMiter == 1.) {\n\t\t\tdistToStart = distToLine(gl_FragCoord.xy, startCutoff.xy, startCutoff.zw);\n\t\t\tif (distToStart < -1.) {\n\t\t\t\tdiscard;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\talpha *= min(max(distToStart + 1., 0.), 1.);\n\t\t}\n\n\t\tif (enableEndMiter == 1.) {\n\t\t\tdistToEnd = distToLine(gl_FragCoord.xy, endCutoff.xy, endCutoff.zw);\n\t\t\tif (distToEnd < -1.) {\n\t\t\t\tdiscard;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\talpha *= min(max(distToEnd + 1., 0.), 1.);\n\t\t}\n\t}\n\n\t// round miter\n\telse if (miterMode == 2.) {\n\t\tif (enableStartMiter == 1.) {\n\t\t\tdistToStart = distToLine(gl_FragCoord.xy, startCutoff.xy, startCutoff.zw);\n\t\t\tif (distToStart < 0.) {\n\t\t\t\tfloat radius = length(gl_FragCoord.xy - startCoord);\n\n\t\t\t\tif(radius > cutoff + .5) {\n\t\t\t\t\tdiscard;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\talpha -= smoothstep(cutoff - .5, cutoff + .5, radius);\n\t\t\t}\n\t\t}\n\n\t\tif (enableEndMiter == 1.) {\n\t\t\tdistToEnd = distToLine(gl_FragCoord.xy, endCutoff.xy, endCutoff.zw);\n\t\t\tif (distToEnd < 0.) {\n\t\t\t\tfloat radius = length(gl_FragCoord.xy - endCoord);\n\n\t\t\t\tif(radius > cutoff + .5) {\n\t\t\t\t\tdiscard;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\talpha -= smoothstep(cutoff - .5, cutoff + .5, radius);\n\t\t\t}\n\t\t}\n\t}\n\n\tfloat t = fract(dot(tangent, gl_FragCoord.xy) / dashLength) * .5 + .25;\n\tfloat dash = texture2D(dashTexture, vec2(t, .5)).r;\n\n\tgl_FragColor = fragColor;\n\tgl_FragColor.a *= alpha * opacity * dash;\n}\n"]),attributes:{lineEnd:{buffer:r,divisor:0,stride:8,offset:0},lineTop:{buffer:r,divisor:0,stride:8,offset:4},aColor:{buffer:t.prop("colorBuffer"),stride:4,offset:0,divisor:1},bColor:{buffer:t.prop("colorBuffer"),stride:4,offset:4,divisor:1},prevCoord:{buffer:t.prop("positionBuffer"),stride:8,offset:0,divisor:1},aCoord:{buffer:t.prop("positionBuffer"),stride:8,offset:8,divisor:1},bCoord:{buffer:t.prop("positionBuffer"),stride:8,offset:16,divisor:1},nextCoord:{buffer:t.prop("positionBuffer"),stride:8,offset:24,divisor:1}}},n))}catch(t){e=i}return{fill:t({primitive:"triangle",elements:function(t,e){return e.triangles},offset:0,vert:o(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec2 position, positionFract;\n\nuniform vec4 color;\nuniform vec2 scale, scaleFract, translate, translateFract;\nuniform float pixelRatio, id;\nuniform vec4 viewport;\nuniform float opacity;\n\nvarying vec4 fragColor;\n\nconst float MAX_LINES = 256.;\n\nvoid main() {\n\tfloat depth = (MAX_LINES - 4. - id) / (MAX_LINES);\n\n\tvec2 position = position * scale + translate\n + positionFract * scale + translateFract\n + position * scaleFract\n + positionFract * scaleFract;\n\n\tgl_Position = vec4(position * 2.0 - 1.0, depth, 1);\n\n\tfragColor = color / 255.;\n\tfragColor.a *= opacity;\n}\n"]),frag:o(["precision highp float;\n#define GLSLIFY 1\n\nvarying vec4 fragColor;\n\nvoid main() {\n\tgl_FragColor = fragColor;\n}\n"]),uniforms:{scale:t.prop("scale"),color:t.prop("fill"),scaleFract:t.prop("scaleFract"),translateFract:t.prop("translateFract"),translate:t.prop("translate"),opacity:t.prop("opacity"),pixelRatio:t.context("pixelRatio"),id:t.prop("id"),viewport:function(t,e){return[e.viewport.x,e.viewport.y,t.viewportWidth,t.viewportHeight]}},attributes:{position:{buffer:t.prop("positionBuffer"),stride:8,offset:8},positionFract:{buffer:t.prop("positionFractBuffer"),stride:8,offset:8}},blend:n.blend,depth:{enable:!1},scissor:n.scissor,stencil:n.stencil,viewport:n.viewport}),rect:i,miter:e}},y.defaults={dashes:null,join:"miter",miterLimit:1,thickness:10,cap:"square",color:"black",opacity:1,overlay:!1,viewport:null,range:null,close:!1,fill:null},y.prototype.render=function(){for(var t,e=[],r=arguments.length;r--;)e[r]=arguments[r];e.length&&(t=this).update.apply(t,e),this.draw()},y.prototype.draw=function(){for(var t=this,e=[],r=arguments.length;r--;)e[r]=arguments[r];return(e.length?e:this.passes).forEach((function(e,r){var n;if(e&&Array.isArray(e))return(n=t).draw.apply(n,e);"number"==typeof e&&(e=t.passes[e]),e&&e.count>1&&e.opacity&&(t.regl._refresh(),e.fill&&e.triangles&&e.triangles.length>2&&t.shaders.fill(e),e.thickness&&(e.scale[0]*e.viewport.width>y.precisionThreshold||e.scale[1]*e.viewport.height>y.precisionThreshold||"rect"===e.join||!e.join&&(e.thickness<=2||e.count>=y.maxPoints)?t.shaders.rect(e):t.shaders.miter(e)))})),this},y.prototype.update=function(t){var e=this;if(t){null!=t.length?"number"==typeof t[0]&&(t=[{positions:t}]):Array.isArray(t)||(t=[t]);var r=this.regl,o=this.gl;if(t.forEach((function(t,f){var d=e.passes[f];if(void 0!==t)if(null!==t){if("number"==typeof t[0]&&(t={positions:t}),t=s(t,{positions:"positions points data coords",thickness:"thickness lineWidth lineWidths line-width linewidth width stroke-width strokewidth strokeWidth",join:"lineJoin linejoin join type mode",miterLimit:"miterlimit miterLimit",dashes:"dash dashes dasharray dash-array dashArray",color:"color colour stroke colors colours stroke-color strokeColor",fill:"fill fill-color fillColor",opacity:"alpha opacity",overlay:"overlay crease overlap intersect",close:"closed close closed-path closePath",range:"range dataBox",viewport:"viewport viewBox",hole:"holes hole hollow",splitNull:"splitNull"}),d||(e.passes[f]=d={id:f,scale:null,scaleFract:null,translate:null,translateFract:null,count:0,hole:[],depth:0,dashLength:1,dashTexture:r.texture({channels:1,data:new Uint8Array([255]),width:1,height:1,mag:"linear",min:"linear"}),colorBuffer:r.buffer({usage:"dynamic",type:"uint8",data:new Uint8Array}),positionBuffer:r.buffer({usage:"dynamic",type:"float",data:new Uint8Array}),positionFractBuffer:r.buffer({usage:"dynamic",type:"float",data:new Uint8Array})},t=a({},y.defaults,t)),null!=t.thickness&&(d.thickness=parseFloat(t.thickness)),null!=t.opacity&&(d.opacity=parseFloat(t.opacity)),null!=t.miterLimit&&(d.miterLimit=parseFloat(t.miterLimit)),null!=t.overlay&&(d.overlay=!!t.overlay,f<y.maxLines&&(d.depth=2*(y.maxLines-1-f%y.maxLines)/y.maxLines-1)),null!=t.join&&(d.join=t.join),null!=t.hole&&(d.hole=t.hole),null!=t.fill&&(d.fill=t.fill?n(t.fill,"uint8"):null),null!=t.viewport&&(d.viewport=v(t.viewport)),d.viewport||(d.viewport=v([o.drawingBufferWidth,o.drawingBufferHeight])),null!=t.close&&(d.close=t.close),null===t.positions&&(t.positions=[]),t.positions){var m,x;if(t.positions.x&&t.positions.y){var b=t.positions.x,_=t.positions.y;x=d.count=Math.max(b.length,_.length),m=new Float64Array(2*x);for(var w=0;w<x;w++)m[2*w]=b[w],m[2*w+1]=_[w]}else m=l(t.positions,"float64"),x=d.count=Math.floor(m.length/2);var T=d.bounds=i(m,2);if(d.fill){for(var k=[],A={},M=0,S=0,E=0,L=d.count;S<L;S++){var C=m[2*S],P=m[2*S+1];isNaN(C)||isNaN(P)||null==C||null==P?(C=m[2*M],P=m[2*M+1],A[S]=M):M=S,k[E++]=C,k[E++]=P}if(t.splitNull){d.count-1 in A||(A[d.count]=d.count-1);var O=Object.keys(A).map(Number).sort((function(t,e){return t-e})),I=[],D=0,z=null!=d.hole?d.hole[0]:null;if(null!=z){var R=g(O,(function(t){return t>=z}));(O=O.slice(0,R)).push(z)}for(var F=function(t){var e=k.slice(2*D,2*O[t]).concat(z?k.slice(2*z):[]),r=(d.hole||[]).map((function(e){return e-z+(O[t]-D)})),n=u(e,r);n=n.map((function(e){return e+D+(e+D<O[t]?0:z-O[t])})),I.push.apply(I,n),D=O[t]+1},B=0;B<O.length;B++)F(B);for(var N=0,j=I.length;N<j;N++)null!=A[I[N]]&&(I[N]=A[I[N]]);d.triangles=I}else{for(var U=u(k,d.hole||[]),V=0,H=U.length;V<H;V++)null!=A[U[V]]&&(U[V]=A[U[V]]);d.triangles=U}}var q=new Float64Array(m);c(q,2,T);var G=new Float64Array(2*x+6);d.close?m[0]===m[2*x-2]&&m[1]===m[2*x-1]?(G[0]=q[2*x-4],G[1]=q[2*x-3]):(G[0]=q[2*x-2],G[1]=q[2*x-1]):(G[0]=q[0],G[1]=q[1]),G.set(q,2),d.close?m[0]===m[2*x-2]&&m[1]===m[2*x-1]?(G[2*x+2]=q[2],G[2*x+3]=q[3],d.count-=1):(G[2*x+2]=q[0],G[2*x+3]=q[1],G[2*x+4]=q[2],G[2*x+5]=q[3]):(G[2*x+2]=q[2*x-2],G[2*x+3]=q[2*x-1],G[2*x+4]=q[2*x-2],G[2*x+5]=q[2*x-1]);var Z=h(G);d.positionBuffer(Z);var Y=p(G,Z);d.positionFractBuffer(Y)}if(t.range?d.range=t.range:d.range||(d.range=d.bounds),(t.range||t.positions)&&d.count){var W=d.bounds,X=W[2]-W[0],J=W[3]-W[1],K=d.range[2]-d.range[0],$=d.range[3]-d.range[1];d.scale=[X/K,J/$],d.translate=[-d.range[0]/K+W[0]/K||0,-d.range[1]/$+W[1]/$||0],d.scaleFract=p(d.scale),d.translateFract=p(d.translate)}if(t.dashes){var Q,tt=0;if(!t.dashes||t.dashes.length<2)tt=1,Q=new Uint8Array([255,255,255,255,255,255,255,255]);else{tt=0;for(var et=0;et<t.dashes.length;++et)tt+=t.dashes[et];Q=new Uint8Array(tt*y.dashMult);for(var rt=0,nt=255,it=0;it<2;it++)for(var at=0;at<t.dashes.length;++at){for(var ot=0,st=t.dashes[at]*y.dashMult*.5;ot<st;++ot)Q[rt++]=nt;nt^=255}}d.dashLength=tt,d.dashTexture({channels:1,data:Q,width:Q.length,height:1,mag:"linear",min:"linear"},0,0)}if(t.color){var lt=d.count,ut=t.color;ut||(ut="transparent");var ct=new Uint8Array(4*lt+4);if(Array.isArray(ut)&&"number"!=typeof ut[0]){for(var ft=0;ft<lt;ft++){var ht=n(ut[ft],"uint8");ct.set(ht,4*ft)}ct.set(n(ut[0],"uint8"),4*lt)}else for(var pt=n(ut,"uint8"),dt=0;dt<lt+1;dt++)ct.set(pt,4*dt);d.colorBuffer({usage:"dynamic",type:"uint8",data:ct})}}else e.passes[f]=null})),t.length<this.passes.length){for(var f=t.length;f<this.passes.length;f++){var d=this.passes[f];d&&(d.colorBuffer.destroy(),d.positionBuffer.destroy(),d.dashTexture.destroy())}this.passes.length=t.length}for(var m=[],x=0;x<this.passes.length;x++)null!==this.passes[x]&&m.push(this.passes[x]);return this.passes=m,this}},y.prototype.destroy=function(){return this.passes.forEach((function(t){t.colorBuffer.destroy(),t.positionBuffer.destroy(),t.dashTexture.destroy()})),this.passes.length=0,this}},11870:function(t,e,r){"use strict";function n(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var n,i,a=[],o=!0,s=!1;try{for(r=r.call(t);!(o=(n=r.next()).done)&&(a.push(n.value),!e||a.length!==e);o=!0);}catch(t){s=!0,i=t}finally{try{o||null==r.return||r.return()}finally{if(s)throw i}}return a}}(t,e)||i(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function i(t,e){if(t){if("string"==typeof t)return a(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?a(t,e):void 0}}function a(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}var o=r(25075),s=r(21527),l=r(6475),u=r(88294),c=r(56131),f=r(56068),h=r(71299),p=r(93447),d=r(30120),v=r(62683),g=r(57060),y=r(18863),m=x;function x(t,e){var r=this;if(!(this instanceof x))return new x(t,e);"function"==typeof t?(e||(e={}),e.regl=t):(e=t,t=null),e&&e.length&&(e.positions=e);var n,i=(t=e.regl)._gl,a=[];this.tooManyColors=v,n=t.texture({data:new Uint8Array(1020),width:255,height:1,type:"uint8",format:"rgba",wrapS:"clamp",wrapT:"clamp",mag:"nearest",min:"nearest"}),c(this,{regl:t,gl:i,groups:[],markerCache:[null],markerTextures:[null],palette:a,paletteIds:{},paletteTexture:n,maxColors:255,maxSize:100,canvas:i.canvas}),this.update(e);var o={uniforms:{constPointSize:!!e.constPointSize,opacity:t.prop("opacity"),paletteSize:function(t,e){return[r.tooManyColors?0:255,n.height]},pixelRatio:t.context("pixelRatio"),scale:t.prop("scale"),scaleFract:t.prop("scaleFract"),translate:t.prop("translate"),translateFract:t.prop("translateFract"),markerTexture:t.prop("markerTexture"),paletteTexture:n},attributes:{x:function(t,e){return e.xAttr||{buffer:e.positionBuffer,stride:8,offset:0}},y:function(t,e){return e.yAttr||{buffer:e.positionBuffer,stride:8,offset:4}},xFract:function(t,e){return e.xAttr?{constant:[0,0]}:{buffer:e.positionFractBuffer,stride:8,offset:0}},yFract:function(t,e){return e.yAttr?{constant:[0,0]}:{buffer:e.positionFractBuffer,stride:8,offset:4}},size:function(t,e){return e.size.length?{buffer:e.sizeBuffer,stride:2,offset:0}:{constant:[Math.round(255*e.size/r.maxSize)]}},borderSize:function(t,e){return e.borderSize.length?{buffer:e.sizeBuffer,stride:2,offset:1}:{constant:[Math.round(255*e.borderSize/r.maxSize)]}},colorId:function(t,e){return e.color.length?{buffer:e.colorBuffer,stride:r.tooManyColors?8:4,offset:0}:{constant:r.tooManyColors?a.slice(4*e.color,4*e.color+4):[e.color]}},borderColorId:function(t,e){return e.borderColor.length?{buffer:e.colorBuffer,stride:r.tooManyColors?8:4,offset:r.tooManyColors?4:2}:{constant:r.tooManyColors?a.slice(4*e.borderColor,4*e.borderColor+4):[e.borderColor]}},isActive:function(t,e){return!0===e.activation?{constant:[1]}:e.activation?e.activation:{constant:[0]}}},blend:{enable:!0,color:[0,0,0,1],func:{srcRGB:"src alpha",dstRGB:"one minus src alpha",srcAlpha:"one minus dst alpha",dstAlpha:"one"}},scissor:{enable:!0,box:t.prop("viewport")},viewport:t.prop("viewport"),stencil:{enable:!1},depth:{enable:!1},elements:t.prop("elements"),count:t.prop("count"),offset:t.prop("offset"),primitive:"points"},s=c({},o);s.frag=f(["precision highp float;\n#define GLSLIFY 1\n\nuniform float opacity;\nuniform sampler2D markerTexture;\n\nvarying vec4 fragColor, fragBorderColor;\nvarying float fragWidth, fragBorderColorLevel, fragColorLevel;\n\nfloat smoothStep(float x, float y) {\n return 1.0 / (1.0 + exp(50.0*(x - y)));\n}\n\nvoid main() {\n float dist = texture2D(markerTexture, gl_PointCoord).r, delta = fragWidth;\n\n // max-distance alpha\n if (dist < 0.003) discard;\n\n // null-border case\n if (fragBorderColorLevel == fragColorLevel || fragBorderColor.a == 0.) {\n float colorAmt = smoothstep(.5 - delta, .5 + delta, dist);\n gl_FragColor = vec4(fragColor.rgb, colorAmt * fragColor.a * opacity);\n }\n else {\n float borderColorAmt = smoothstep(fragBorderColorLevel - delta, fragBorderColorLevel + delta, dist);\n float colorAmt = smoothstep(fragColorLevel - delta, fragColorLevel + delta, dist);\n\n vec4 color = fragBorderColor;\n color.a *= borderColorAmt;\n color = mix(color, fragColor, colorAmt);\n color.a *= opacity;\n\n gl_FragColor = color;\n }\n\n}\n"]),s.vert=f(["precision highp float;\n#define GLSLIFY 1\n\nattribute float x, y, xFract, yFract;\nattribute float size, borderSize;\nattribute vec4 colorId, borderColorId;\nattribute float isActive;\n\nuniform bool constPointSize;\nuniform float pixelRatio;\nuniform vec2 scale, scaleFract, translate, translateFract, paletteSize;\nuniform sampler2D paletteTexture;\n\nconst float maxSize = 100.;\nconst float borderLevel = .5;\n\nvarying vec4 fragColor, fragBorderColor;\nvarying float fragPointSize, fragBorderRadius, fragWidth, fragBorderColorLevel, fragColorLevel;\n\nfloat pointSizeScale = (constPointSize) ? 2. : pixelRatio;\n\nbool isDirect = (paletteSize.x < 1.);\n\nvec4 getColor(vec4 id) {\n return isDirect ? id / 255. : texture2D(paletteTexture,\n vec2(\n (id.x + .5) / paletteSize.x,\n (id.y + .5) / paletteSize.y\n )\n );\n}\n\nvoid main() {\n // ignore inactive points\n if (isActive == 0.) return;\n\n vec2 position = vec2(x, y);\n vec2 positionFract = vec2(xFract, yFract);\n\n vec4 color = getColor(colorId);\n vec4 borderColor = getColor(borderColorId);\n\n float size = size * maxSize / 255.;\n float borderSize = borderSize * maxSize / 255.;\n\n gl_PointSize = 2. * size * pointSizeScale;\n fragPointSize = size * pixelRatio;\n\n vec2 pos = (position + translate) * scale\n + (positionFract + translateFract) * scale\n + (position + translate) * scaleFract\n + (positionFract + translateFract) * scaleFract;\n\n gl_Position = vec4(pos * 2. - 1., 0., 1.);\n\n fragColor = color;\n fragBorderColor = borderColor;\n fragWidth = 1. / gl_PointSize;\n\n fragBorderColorLevel = clamp(borderLevel - borderLevel * borderSize / size, 0., 1.);\n fragColorLevel = clamp(borderLevel + (1. - borderLevel) * borderSize / size, 0., 1.);\n}"]),this.drawMarker=t(s);var l=c({},o);l.frag=f(["precision highp float;\n#define GLSLIFY 1\n\nvarying vec4 fragColor, fragBorderColor;\nvarying float fragBorderRadius, fragWidth;\n\nuniform float opacity;\n\nfloat smoothStep(float edge0, float edge1, float x) {\n\tfloat t;\n\tt = clamp((x - edge0) / (edge1 - edge0), 0.0, 1.0);\n\treturn t * t * (3.0 - 2.0 * t);\n}\n\nvoid main() {\n\tfloat radius, alpha = 1.0, delta = fragWidth;\n\n\tradius = length(2.0 * gl_PointCoord.xy - 1.0);\n\n\tif (radius > 1.0 + delta) {\n\t\tdiscard;\n\t}\n\n\talpha -= smoothstep(1.0 - delta, 1.0 + delta, radius);\n\n\tfloat borderRadius = fragBorderRadius;\n\tfloat ratio = smoothstep(borderRadius - delta, borderRadius + delta, radius);\n\tvec4 color = mix(fragColor, fragBorderColor, ratio);\n\tcolor.a *= alpha * opacity;\n\tgl_FragColor = color;\n}\n"]),l.vert=f(["precision highp float;\n#define GLSLIFY 1\n\nattribute float x, y, xFract, yFract;\nattribute float size, borderSize;\nattribute vec4 colorId, borderColorId;\nattribute float isActive;\n\nuniform bool constPointSize;\nuniform float pixelRatio;\nuniform vec2 paletteSize, scale, scaleFract, translate, translateFract;\nuniform sampler2D paletteTexture;\n\nconst float maxSize = 100.;\n\nvarying vec4 fragColor, fragBorderColor;\nvarying float fragBorderRadius, fragWidth;\n\nfloat pointSizeScale = (constPointSize) ? 2. : pixelRatio;\n\nbool isDirect = (paletteSize.x < 1.);\n\nvec4 getColor(vec4 id) {\n return isDirect ? id / 255. : texture2D(paletteTexture,\n vec2(\n (id.x + .5) / paletteSize.x,\n (id.y + .5) / paletteSize.y\n )\n );\n}\n\nvoid main() {\n // ignore inactive points\n if (isActive == 0.) return;\n\n vec2 position = vec2(x, y);\n vec2 positionFract = vec2(xFract, yFract);\n\n vec4 color = getColor(colorId);\n vec4 borderColor = getColor(borderColorId);\n\n float size = size * maxSize / 255.;\n float borderSize = borderSize * maxSize / 255.;\n\n gl_PointSize = (size + borderSize) * pointSizeScale;\n\n vec2 pos = (position + translate) * scale\n + (positionFract + translateFract) * scale\n + (position + translate) * scaleFract\n + (positionFract + translateFract) * scaleFract;\n\n gl_Position = vec4(pos * 2. - 1., 0., 1.);\n\n fragBorderRadius = 1. - 2. * borderSize / (size + borderSize);\n fragColor = color;\n fragBorderColor = borderColor.a == 0. || borderSize == 0. ? vec4(color.rgb, 0.) : borderColor;\n fragWidth = 1. / gl_PointSize;\n}\n"]),v&&(l.frag=l.frag.replace("smoothstep","smoothStep"),s.frag=s.frag.replace("smoothstep","smoothStep")),this.drawCircle=t(l)}x.defaults={color:"black",borderColor:"transparent",borderSize:0,size:12,opacity:1,marker:void 0,viewport:null,range:null,pixelSize:null,count:0,offset:0,bounds:null,positions:[],snap:1e4},x.prototype.render=function(){return arguments.length&&this.update.apply(this,arguments),this.draw(),this},x.prototype.draw=function(){for(var t=this,e=arguments.length,r=new Array(e),n=0;n<e;n++)r[n]=arguments[n];var i=this.groups;if(1===r.length&&Array.isArray(r[0])&&(null===r[0][0]||Array.isArray(r[0][0]))&&(r=r[0]),this.regl._refresh(),r.length)for(var a=0;a<r.length;a++)this.drawItem(a,r[a]);else i.forEach((function(e,r){t.drawItem(r)}));return this},x.prototype.drawItem=function(t,e){var r,n=this.groups,o=n[t];if("number"==typeof e&&(t=e,o=n[e],e=null),o&&o.count&&o.opacity){o.activation[0]&&this.drawCircle(this.getMarkerDrawOptions(0,o,e));for(var s=[],l=1;l<o.activation.length;l++)o.activation[l]&&(!0===o.activation[l]||o.activation[l].data.length)&&s.push.apply(s,function(t){if(Array.isArray(t))return a(t)}(r=this.getMarkerDrawOptions(l,o,e))||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(r)||i(r)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}());s.length&&this.drawMarker(s)}},x.prototype.getMarkerDrawOptions=function(t,e,r){var i=e.range,a=e.tree,o=e.viewport,s=e.activation,l=e.selectionBuffer,u=e.count;if(this.regl,!a)return r?[c({},e,{markerTexture:this.markerTextures[t],activation:s[t],count:r.length,elements:r,offset:0})]:[c({},e,{markerTexture:this.markerTextures[t],activation:s[t],offset:0})];var f=[],h=a.range(i,{lod:!0,px:[(i[2]-i[0])/o.width,(i[3]-i[1])/o.height]});if(r){for(var p=s[t].data,d=new Uint8Array(u),v=0;v<r.length;v++){var g=r[v];d[g]=p?p[g]:1}l.subdata(d)}for(var y=h.length;y--;){var m=n(h[y],2),x=m[0],b=m[1];f.push(c({},e,{markerTexture:this.markerTextures[t],activation:r?l:s[t],offset:x,count:b-x}))}return f},x.prototype.update=function(){for(var t=this,e=arguments.length,r=new Array(e),n=0;n<e;n++)r[n]=arguments[n];if(r.length){1===r.length&&Array.isArray(r[0])&&(r=r[0]);var i=this.groups,a=this.gl,o=this.regl,l=this.maxSize,f=this.maxColors,v=this.palette;this.groups=i=r.map((function(e,r){var n=i[r];if(void 0===e)return n;null===e?e={positions:null}:"function"==typeof e?e={ondraw:e}:"number"==typeof e[0]&&(e={positions:e}),null===(e=h(e,{positions:"positions data points",snap:"snap cluster lod tree",size:"sizes size radius",borderSize:"borderSizes borderSize border-size bordersize borderWidth borderWidths border-width borderwidth stroke-width strokeWidth strokewidth outline",color:"colors color fill fill-color fillColor",borderColor:"borderColors borderColor stroke stroke-color strokeColor",marker:"markers marker shape",range:"range dataBox databox",viewport:"viewport viewPort viewBox viewbox",opacity:"opacity alpha transparency",bounds:"bound bounds boundaries limits",tooManyColors:"tooManyColors palette paletteMode optimizePalette enablePalette"})).positions&&(e.positions=[]),null!=e.tooManyColors&&(t.tooManyColors=e.tooManyColors),n||(i[r]=n={id:r,scale:null,translate:null,scaleFract:null,translateFract:null,activation:[],selectionBuffer:o.buffer({data:new Uint8Array(0),usage:"stream",type:"uint8"}),sizeBuffer:o.buffer({data:new Uint8Array(0),usage:"dynamic",type:"uint8"}),colorBuffer:o.buffer({data:new Uint8Array(0),usage:"dynamic",type:"uint8"}),positionBuffer:o.buffer({data:new Uint8Array(0),usage:"dynamic",type:"float"}),positionFractBuffer:o.buffer({data:new Uint8Array(0),usage:"dynamic",type:"float"})},e=c({},x.defaults,e)),e.positions&&!("marker"in e)&&(e.marker=n.marker,delete n.marker),e.marker&&!("positions"in e)&&(e.positions=n.positions,delete n.positions);var m=0,b=0;if(p(n,e,[{snap:!0,size:function(t,e){return null==t&&(t=x.defaults.size),m+=t&&t.length?1:0,t},borderSize:function(t,e){return null==t&&(t=x.defaults.borderSize),m+=t&&t.length?1:0,t},opacity:parseFloat,color:function(e,r){return null==e&&(e=x.defaults.color),e=t.updateColor(e),b++,e},borderColor:function(e,r){return null==e&&(e=x.defaults.borderColor),e=t.updateColor(e),b++,e},bounds:function(t,e,r){return"range"in r||(r.range=null),t},positions:function(t,e,r){var n=e.snap,i=e.positionBuffer,a=e.positionFractBuffer,l=e.selectionBuffer;if(t.x||t.y)return t.x.length?e.xAttr={buffer:o.buffer(t.x),offset:0,stride:4,count:t.x.length}:e.xAttr={buffer:t.x.buffer,offset:4*t.x.offset||0,stride:4*(t.x.stride||1),count:t.x.count},t.y.length?e.yAttr={buffer:o.buffer(t.y),offset:0,stride:4,count:t.y.length}:e.yAttr={buffer:t.y.buffer,offset:4*t.y.offset||0,stride:4*(t.y.stride||1),count:t.y.count},e.count=Math.max(e.xAttr.count,e.yAttr.count),t;t=d(t,"float64");var c=e.count=Math.floor(t.length/2),f=e.bounds=c?s(t,2):null;if(r.range||e.range||(delete e.range,r.range=f),r.marker||e.marker||(delete e.marker,r.marker=null),n&&(!0===n||c>n)?e.tree=u(t,{bounds:f}):n&&n.length&&(e.tree=n),e.tree){var h={primitive:"points",usage:"static",data:e.tree,type:"uint32"};e.elements?e.elements(h):e.elements=o.elements(h)}var p=g.float32(t);return i({data:p,usage:"dynamic"}),a({data:g.fract32(t,p),usage:"dynamic"}),l({data:new Uint8Array(c),type:"uint8",usage:"stream"}),t}},{marker:function(e,r,n){var i=r.activation;if(i.forEach((function(t){return t&&t.destroy&&t.destroy()})),i.length=0,e&&"number"!=typeof e[0]){for(var a=[],s=0,l=Math.min(e.length,r.count);s<l;s++){var u=t.addMarker(e[s]);a[u]||(a[u]=new Uint8Array(r.count)),a[u][s]=1}for(var c=0;c<a.length;c++)if(a[c]){var f={data:a[c],type:"uint8",usage:"static"};i[c]?i[c](f):i[c]=o.buffer(f),i[c].data=a[c]}}else i[t.addMarker(e)]=!0;return e},range:function(t,e,r){var n=e.bounds;if(n)return t||(t=n),e.scale=[1/(t[2]-t[0]),1/(t[3]-t[1])],e.translate=[-t[0],-t[1]],e.scaleFract=g.fract(e.scale),e.translateFract=g.fract(e.translate),t},viewport:function(t){return y(t||[a.drawingBufferWidth,a.drawingBufferHeight])}}]),m){var _=n,w=_.count,T=_.size,k=_.borderSize,A=_.sizeBuffer,M=new Uint8Array(2*w);if(T.length||k.length)for(var S=0;S<w;S++)M[2*S]=Math.round(255*(null==T[S]?T:T[S])/l),M[2*S+1]=Math.round(255*(null==k[S]?k:k[S])/l);A({data:M,usage:"dynamic"})}if(b){var E,L=n,C=L.count,P=L.color,O=L.borderColor,I=L.colorBuffer;if(t.tooManyColors){if(P.length||O.length){E=new Uint8Array(8*C);for(var D=0;D<C;D++){var z=P[D];E[8*D]=v[4*z],E[8*D+1]=v[4*z+1],E[8*D+2]=v[4*z+2],E[8*D+3]=v[4*z+3];var R=O[D];E[8*D+4]=v[4*R],E[8*D+5]=v[4*R+1],E[8*D+6]=v[4*R+2],E[8*D+7]=v[4*R+3]}}}else if(P.length||O.length){E=new Uint8Array(4*C+2);for(var F=0;F<C;F++)null!=P[F]&&(E[4*F]=P[F]%f,E[4*F+1]=Math.floor(P[F]/f)),null!=O[F]&&(E[4*F+2]=O[F]%f,E[4*F+3]=Math.floor(O[F]/f))}I({data:E||new Uint8Array(0),type:"uint8",usage:"dynamic"})}return n}))}},x.prototype.addMarker=function(t){var e,r=this.markerTextures,n=this.regl,i=this.markerCache,a=null==t?0:i.indexOf(t);if(a>=0)return a;if(t instanceof Uint8Array||t instanceof Uint8ClampedArray)e=t;else{e=new Uint8Array(t.length);for(var o=0,s=t.length;o<s;o++)e[o]=255*t[o]}var l=Math.floor(Math.sqrt(e.length));return a=r.length,i.push(t),r.push(n.texture({channels:1,data:e,radius:l,mag:"linear",min:"linear"})),a},x.prototype.updateColor=function(t){var e=this.paletteIds,r=this.palette,n=this.maxColors;Array.isArray(t)||(t=[t]);var i=[];if("number"==typeof t[0]){var a=[];if(Array.isArray(t))for(var s=0;s<t.length;s+=4)a.push(t.slice(s,s+4));else for(var u=0;u<t.length;u+=4)a.push(t.subarray(u,u+4));t=a}for(var c=0;c<t.length;c++){var f=t[c];f=o(f,"uint8");var h=l(f,!1);if(null==e[h]){var p=r.length;e[h]=Math.floor(p/4),r[p]=f[0],r[p+1]=f[1],r[p+2]=f[2],r[p+3]=f[3]}i[c]=e[h]}return!this.tooManyColors&&r.length>4*n&&(this.tooManyColors=!0),this.updatePalette(r),1===i.length?i[0]:i},x.prototype.updatePalette=function(t){if(!this.tooManyColors){var e=this.maxColors,r=this.paletteTexture,n=Math.ceil(.25*t.length/e);if(n>1)for(var i=.25*(t=t.slice()).length%e;i<n*e;i++)t.push(0,0,0,0);r.height<n&&r.resize(e,n),r.subimage({width:Math.min(.25*t.length,e),height:n,data:t},0,0)}},x.prototype.destroy=function(){return this.groups.forEach((function(t){t.sizeBuffer.destroy(),t.positionBuffer.destroy(),t.positionFractBuffer.destroy(),t.colorBuffer.destroy(),t.activation.forEach((function(t){return t&&t.destroy&&t.destroy()})),t.selectionBuffer.destroy(),t.elements&&t.elements.destroy()})),this.groups.length=0,this.paletteTexture.destroy(),this.markerTextures.forEach((function(t){return t&&t.destroy&&t.destroy()})),this};var b=r(56131);t.exports=function(t,e){var r=new m(t,e),n=r.render.bind(r);return b(n,{render:n,update:r.update.bind(r),draw:r.draw.bind(r),destroy:r.destroy.bind(r),regl:r.regl,gl:r.gl,canvas:r.gl.canvas,groups:r.groups,markers:r.markerCache,palette:r.palette}),n}},60487:function(t,e,r){"use strict";var n=r(11870),i=r(71299),a=r(21527),o=r(5877),s=r(57471),l=r(18863),u=r(30120);function c(t,e){if(!(this instanceof c))return new c(t,e);this.traces=[],this.passes={},this.regl=t,this.scatter=n(t),this.canvas=this.scatter.canvas}function f(t,e,r){return(null!=t.id?t.id:t)<<16|(255&e)<<8|255&r}function h(t,e,r){var n,i,a,o,s=t[e],l=t[r];return s.length>2?(s[0],s[2],n=s[1],i=s[3]):s.length?(n=s[0],i=s[1]):(s.x,n=s.y,s.x,s.width,i=s.y+s.height),l.length>2?(a=l[0],o=l[2],l[1],l[3]):l.length?(a=l[0],o=l[1]):(a=l.x,l.y,o=l.x+l.width,l.y,l.height),[a,n,o,i]}function p(t){if("number"==typeof t)return[t,t,t,t];if(2===t.length)return[t[0],t[1],t[0],t[1]];var e=l(t);return[e.x,e.y,e.x+e.width,e.y+e.height]}t.exports=c,c.prototype.render=function(){for(var t,e=this,r=[],n=arguments.length;n--;)r[n]=arguments[n];return r.length&&(t=this).update.apply(t,r),this.regl.attributes.preserveDrawingBuffer?this.draw():(this.dirty?null==this.planned&&(this.planned=o((function(){e.draw(),e.dirty=!0,e.planned=null}))):(this.draw(),this.dirty=!0,o((function(){e.dirty=!1}))),this)},c.prototype.update=function(){for(var t,e=[],r=arguments.length;r--;)e[r]=arguments[r];if(e.length){for(var n=0;n<e.length;n++)this.updateItem(n,e[n]);this.traces=this.traces.filter(Boolean);for(var i=[],a=0,o=0;o<this.traces.length;o++){for(var s=this.traces[o],l=this.traces[o].passes,u=0;u<l.length;u++)i.push(this.passes[l[u]]);s.passOffset=a,a+=s.passes.length}return(t=this.scatter).update.apply(t,i),this}},c.prototype.updateItem=function(t,e){var r=this.regl;if(null===e)return this.traces[t]=null,this;if(!e)return this;var n,o=i(e,{data:"data items columns rows values dimensions samples x",snap:"snap cluster",size:"sizes size radius",color:"colors color fill fill-color fillColor",opacity:"opacity alpha transparency opaque",borderSize:"borderSizes borderSize border-size bordersize borderWidth borderWidths border-width borderwidth stroke-width strokeWidth strokewidth outline",borderColor:"borderColors borderColor bordercolor stroke stroke-color strokeColor",marker:"markers marker shape",range:"range ranges databox dataBox",viewport:"viewport viewBox viewbox",domain:"domain domains area areas",padding:"pad padding paddings pads margin margins",transpose:"transpose transposed",diagonal:"diagonal diag showDiagonal",upper:"upper up top upperhalf upperHalf showupperhalf showUpper showUpperHalf",lower:"lower low bottom lowerhalf lowerHalf showlowerhalf showLowerHalf showLower"}),s=this.traces[t]||(this.traces[t]={id:t,buffer:r.buffer({usage:"dynamic",type:"float",data:new Uint8Array}),color:"black",marker:null,size:12,borderColor:"transparent",borderSize:1,viewport:l([r._gl.drawingBufferWidth,r._gl.drawingBufferHeight]),padding:[0,0,0,0],opacity:1,diagonal:!0,upper:!0,lower:!0});if(null!=o.color&&(s.color=o.color),null!=o.size&&(s.size=o.size),null!=o.marker&&(s.marker=o.marker),null!=o.borderColor&&(s.borderColor=o.borderColor),null!=o.borderSize&&(s.borderSize=o.borderSize),null!=o.opacity&&(s.opacity=o.opacity),o.viewport&&(s.viewport=l(o.viewport)),null!=o.diagonal&&(s.diagonal=o.diagonal),null!=o.upper&&(s.upper=o.upper),null!=o.lower&&(s.lower=o.lower),o.data){s.buffer(u(o.data)),s.columns=o.data.length,s.count=o.data[0].length,s.bounds=[];for(var c=0;c<s.columns;c++)s.bounds[c]=a(o.data[c],1)}o.range&&(s.range=o.range,n=s.range&&"number"!=typeof s.range[0]),o.domain&&(s.domain=o.domain);var d=!1;null!=o.padding&&(Array.isArray(o.padding)&&o.padding.length===s.columns&&"number"==typeof o.padding[o.padding.length-1]?(s.padding=o.padding.map(p),d=!0):s.padding=p(o.padding));var v=s.columns,g=s.count,y=s.viewport.width,m=s.viewport.height,x=s.viewport.x,b=s.viewport.y,_=y/v,w=m/v;s.passes=[];for(var T=0;T<v;T++)for(var k=0;k<v;k++)if((s.diagonal||k!==T)&&(s.upper||!(T>k))&&(s.lower||!(T<k))){var A=f(s.id,T,k),M=this.passes[A]||(this.passes[A]={});if(o.data&&(o.transpose?M.positions={x:{buffer:s.buffer,offset:k,count:g,stride:v},y:{buffer:s.buffer,offset:T,count:g,stride:v}}:M.positions={x:{buffer:s.buffer,offset:k*g,count:g},y:{buffer:s.buffer,offset:T*g,count:g}},M.bounds=h(s.bounds,T,k)),o.domain||o.viewport||o.data){var S=d?h(s.padding,T,k):s.padding;if(s.domain){var E=h(s.domain,T,k),L=E[0],C=E[1],P=E[2],O=E[3];M.viewport=[x+L*y+S[0],b+C*m+S[1],x+P*y-S[2],b+O*m-S[3]]}else M.viewport=[x+k*_+_*S[0],b+T*w+w*S[1],x+(k+1)*_-_*S[2],b+(T+1)*w-w*S[3]]}o.color&&(M.color=s.color),o.size&&(M.size=s.size),o.marker&&(M.marker=s.marker),o.borderSize&&(M.borderSize=s.borderSize),o.borderColor&&(M.borderColor=s.borderColor),o.opacity&&(M.opacity=s.opacity),o.range&&(M.range=n?h(s.range,T,k):s.range||M.bounds),s.passes.push(A)}return this},c.prototype.draw=function(){for(var t,e=[],r=arguments.length;r--;)e[r]=arguments[r];if(e.length){for(var n=[],i=0;i<e.length;i++)if("number"==typeof e[i]){var a=this.traces[e[i]],o=a.passes,l=a.passOffset;n.push.apply(n,s(l,l+o.length))}else if(e[i].length){var u=e[i],c=this.traces[i],f=c.passes,h=c.passOffset;f=f.map((function(t,e){n[h+e]=u}))}(t=this.scatter).draw.apply(t,n)}else this.scatter.draw();return this},c.prototype.destroy=function(){return this.traces.forEach((function(t){t.buffer&&t.buffer.destroy&&t.buffer.destroy()})),this.traces=null,this.passes=null,this.scatter.destroy(),this}},98580:function(t){t.exports=function(){function t(t,e){this.id=Z++,this.type=t,this.data=e}function e(t){if(0===t.length)return[];var r=t.charAt(0),n=t.charAt(t.length-1);if(1<t.length&&r===n&&('"'===r||"'"===r))return['"'+t.substr(1,t.length-2).replace(/\\/g,"\\\\").replace(/"/g,'\\"')+'"'];if(r=/\[(false|true|null|\d+|'[^']*'|"[^"]*")\]/.exec(t))return e(t.substr(0,r.index)).concat(e(r[1])).concat(e(t.substr(r.index+r[0].length)));if(1===(r=t.split(".")).length)return['"'+t.replace(/\\/g,"\\\\").replace(/"/g,'\\"')+'"'];for(t=[],n=0;n<r.length;++n)t=t.concat(e(r[n]));return t}function r(t){return"["+e(t).join("][")+"]"}function n(t){return"string"==typeof t?t.split():t}function i(t){return"string"==typeof t?document.querySelector(t):t}function a(t){var e,r,a,o,s=t||{};t={};var l=[],u=[],c="undefined"==typeof window?1:window.devicePixelRatio,f=!1,h={},p=function(t){},d=function(){};if("string"==typeof s?e=document.querySelector(s):"object"==typeof s&&("string"==typeof s.nodeName&&"function"==typeof s.appendChild&&"function"==typeof s.getBoundingClientRect?e=s:"function"==typeof s.drawArrays||"function"==typeof s.drawElements?a=(o=s).canvas:("gl"in s?o=s.gl:"canvas"in s?a=i(s.canvas):"container"in s&&(r=i(s.container)),"attributes"in s&&(t=s.attributes),"extensions"in s&&(l=n(s.extensions)),"optionalExtensions"in s&&(u=n(s.optionalExtensions)),"onDone"in s&&(p=s.onDone),"profile"in s&&(f=!!s.profile),"pixelRatio"in s&&(c=+s.pixelRatio),"cachedCode"in s&&(h=s.cachedCode))),e&&("canvas"===e.nodeName.toLowerCase()?a=e:r=e),!o){if(!a){if(!(e=function(t,e,r){function n(){var e=window.innerWidth,n=window.innerHeight;t!==document.body&&(e=(n=a.getBoundingClientRect()).right-n.left,n=n.bottom-n.top),a.width=r*e,a.height=r*n}var i,a=document.createElement("canvas");return G(a.style,{border:0,margin:0,padding:0,top:0,left:0,width:"100%",height:"100%"}),t.appendChild(a),t===document.body&&(a.style.position="absolute",G(t.style,{margin:0,padding:0})),t!==document.body&&"function"==typeof ResizeObserver?(i=new ResizeObserver((function(){setTimeout(n)}))).observe(t):window.addEventListener("resize",n,!1),n(),{canvas:a,onDestroy:function(){i?i.disconnect():window.removeEventListener("resize",n),t.removeChild(a)}}}(r||document.body,0,c)))return null;a=e.canvas,d=e.onDestroy}void 0===t.premultipliedAlpha&&(t.premultipliedAlpha=!0),o=function(t,e){function r(r){try{return t.getContext(r,e)}catch(t){return null}}return r("webgl")||r("experimental-webgl")||r("webgl-experimental")}(a,t)}return o?{gl:o,canvas:a,container:r,extensions:l,optionalExtensions:u,pixelRatio:c,profile:f,cachedCode:h,onDone:p,onDestroy:d}:(d(),p("webgl not supported, try upgrading your browser or graphics drivers http://get.webgl.org"),null)}function o(t,e){for(var r=Array(t),n=0;n<t;++n)r[n]=e(n);return r}function s(t){var e,r;return e=(65535<t)<<4,e|=r=(255<(t>>>=e))<<3,(e|=r=(15<(t>>>=r))<<2)|(r=(3<(t>>>=r))<<1)|t>>>r>>1}function l(){function t(t){t:{for(var e=16;268435456>=e;e*=16)if(t<=e){t=e;break t}t=0}return 0<(e=r[s(t)>>2]).length?e.pop():new ArrayBuffer(t)}function e(t){r[s(t.byteLength)>>2].push(t)}var r=o(8,(function(){return[]}));return{alloc:t,free:e,allocType:function(e,r){var n=null;switch(e){case 5120:n=new Int8Array(t(r),0,r);break;case 5121:n=new Uint8Array(t(r),0,r);break;case 5122:n=new Int16Array(t(2*r),0,r);break;case 5123:n=new Uint16Array(t(2*r),0,r);break;case 5124:n=new Int32Array(t(4*r),0,r);break;case 5125:n=new Uint32Array(t(4*r),0,r);break;case 5126:n=new Float32Array(t(4*r),0,r);break;default:return null}return n.length!==r?n.subarray(0,r):n},freeType:function(t){e(t.buffer)}}}function u(t){return!!t&&"object"==typeof t&&Array.isArray(t.shape)&&Array.isArray(t.stride)&&"number"==typeof t.offset&&t.shape.length===t.stride.length&&(Array.isArray(t.data)||$(t.data))}function c(t,e,r,n,i,a){for(var o=0;o<e;++o)for(var s=t[o],l=0;l<r;++l)for(var u=s[l],c=0;c<n;++c)i[a++]=u[c]}function f(t,e,r,n,i){for(var a=1,o=r+1;o<e.length;++o)a*=e[o];var s=e[r];if(4==e.length-r){var l=e[r+1],u=e[r+2];for(e=e[r+3],o=0;o<s;++o)c(t[o],l,u,e,n,i),i+=a}else for(o=0;o<s;++o)f(t[o],e,r+1,n,i),i+=a}function h(t){return 0|et[Object.prototype.toString.call(t)]}function p(t,e){for(var r=0;r<e.length;++r)t[r]=e[r]}function d(t,e,r,n,i,a,o){for(var s=0,l=0;l<r;++l)for(var u=0;u<n;++u)t[s++]=e[i*l+a*u+o]}function v(t,e,r,n){function i(e){this.id=l++,this.buffer=t.createBuffer(),this.type=e,this.usage=35044,this.byteLength=0,this.dimension=1,this.dtype=5121,this.persistentData=null,r.profile&&(this.stats={size:0})}function a(e,r,n){e.byteLength=r.byteLength,t.bufferData(e.type,r,n)}function o(t,e,r,n,i,o){if(t.usage=r,Array.isArray(e)){if(t.dtype=n||5126,0<e.length)if(Array.isArray(e[0])){i=at(e);for(var s=n=1;s<i.length;++s)n*=i[s];t.dimension=n,a(t,e=it(e,i,t.dtype),r),o?t.persistentData=e:J.freeType(e)}else"number"==typeof e[0]?(t.dimension=i,p(i=J.allocType(t.dtype,e.length),e),a(t,i,r),o?t.persistentData=i:J.freeType(i)):$(e[0])&&(t.dimension=e[0].length,t.dtype=n||h(e[0])||5126,a(t,e=it(e,[e.length,e[0].length],t.dtype),r),o?t.persistentData=e:J.freeType(e))}else if($(e))t.dtype=n||h(e),t.dimension=i,a(t,e,r),o&&(t.persistentData=new Uint8Array(new Uint8Array(e.buffer)));else if(u(e)){i=e.shape;var l=e.stride,c=(s=e.offset,0),f=0,v=0,g=0;1===i.length?(c=i[0],f=1,v=l[0],g=0):2===i.length&&(c=i[0],f=i[1],v=l[0],g=l[1]),t.dtype=n||h(e.data)||5126,t.dimension=f,d(i=J.allocType(t.dtype,c*f),e.data,c,f,v,g,s),a(t,i,r),o?t.persistentData=i:J.freeType(i)}else e instanceof ArrayBuffer&&(t.dtype=5121,t.dimension=i,a(t,e,r),o&&(t.persistentData=new Uint8Array(new Uint8Array(e))))}function s(r){e.bufferCount--,n(r),t.deleteBuffer(r.buffer),r.buffer=null,delete c[r.id]}var l=0,c={};i.prototype.bind=function(){t.bindBuffer(this.type,this.buffer)},i.prototype.destroy=function(){s(this)};var f=[];return r.profile&&(e.getTotalBufferSize=function(){var t=0;return Object.keys(c).forEach((function(e){t+=c[e].stats.size})),t}),{create:function(n,a,l,f){function v(e){var n=35044,i=null,a=0,s=0,l=1;return Array.isArray(e)||$(e)||u(e)||e instanceof ArrayBuffer?i=e:"number"==typeof e?a=0|e:e&&("data"in e&&(i=e.data),"usage"in e&&(n=nt[e.usage]),"type"in e&&(s=rt[e.type]),"dimension"in e&&(l=0|e.dimension),"length"in e&&(a=0|e.length)),g.bind(),i?o(g,i,n,s,l,f):(a&&t.bufferData(g.type,a,n),g.dtype=s||5121,g.usage=n,g.dimension=l,g.byteLength=a),r.profile&&(g.stats.size=g.byteLength*ot[g.dtype]),v}e.bufferCount++;var g=new i(a);return c[g.id]=g,l||v(n),v._reglType="buffer",v._buffer=g,v.subdata=function(e,r){var n,i=0|(r||0);if(g.bind(),$(e)||e instanceof ArrayBuffer)t.bufferSubData(g.type,i,e);else if(Array.isArray(e)){if(0<e.length)if("number"==typeof e[0]){var a=J.allocType(g.dtype,e.length);p(a,e),t.bufferSubData(g.type,i,a),J.freeType(a)}else(Array.isArray(e[0])||$(e[0]))&&(n=at(e),a=it(e,n,g.dtype),t.bufferSubData(g.type,i,a),J.freeType(a))}else if(u(e)){n=e.shape;var o=e.stride,s=a=0,l=0,c=0;1===n.length?(a=n[0],s=1,l=o[0],c=0):2===n.length&&(a=n[0],s=n[1],l=o[0],c=o[1]),n=Array.isArray(e.data)?g.dtype:h(e.data),d(n=J.allocType(n,a*s),e.data,a,s,l,c,e.offset),t.bufferSubData(g.type,i,n),J.freeType(n)}return v},r.profile&&(v.stats=g.stats),v.destroy=function(){s(g)},v},createStream:function(t,e){var r=f.pop();return r||(r=new i(t)),r.bind(),o(r,e,35040,0,1,!1),r},destroyStream:function(t){f.push(t)},clear:function(){Q(c).forEach(s),f.forEach(s)},getBuffer:function(t){return t&&t._buffer instanceof i?t._buffer:null},restore:function(){Q(c).forEach((function(e){e.buffer=t.createBuffer(),t.bindBuffer(e.type,e.buffer),t.bufferData(e.type,e.persistentData||e.byteLength,e.usage)}))},_initBuffer:o}}function g(t,e,r,n){function i(t){this.id=l++,s[this.id]=this,this.buffer=t,this.primType=4,this.type=this.vertCount=0}function a(n,i,a,o,s,l,c){var f;if(n.buffer.bind(),i?((f=c)||$(i)&&(!u(i)||$(i.data))||(f=e.oes_element_index_uint?5125:5123),r._initBuffer(n.buffer,i,a,f,3)):(t.bufferData(34963,l,a),n.buffer.dtype=f||5121,n.buffer.usage=a,n.buffer.dimension=3,n.buffer.byteLength=l),f=c,!c){switch(n.buffer.dtype){case 5121:case 5120:f=5121;break;case 5123:case 5122:f=5123;break;case 5125:case 5124:f=5125}n.buffer.dtype=f}n.type=f,0>(i=s)&&(i=n.buffer.byteLength,5123===f?i>>=1:5125===f&&(i>>=2)),n.vertCount=i,i=o,0>o&&(i=4,1===(o=n.buffer.dimension)&&(i=0),2===o&&(i=1),3===o&&(i=4)),n.primType=i}function o(t){n.elementsCount--,delete s[t.id],t.buffer.destroy(),t.buffer=null}var s={},l=0,c={uint8:5121,uint16:5123};e.oes_element_index_uint&&(c.uint32=5125),i.prototype.bind=function(){this.buffer.bind()};var f=[];return{create:function(t,e){function s(t){if(t)if("number"==typeof t)l(t),f.primType=4,f.vertCount=0|t,f.type=5121;else{var e=null,r=35044,n=-1,i=-1,o=0,h=0;Array.isArray(t)||$(t)||u(t)?e=t:("data"in t&&(e=t.data),"usage"in t&&(r=nt[t.usage]),"primitive"in t&&(n=st[t.primitive]),"count"in t&&(i=0|t.count),"type"in t&&(h=c[t.type]),"length"in t?o=0|t.length:(o=i,5123===h||5122===h?o*=2:5125!==h&&5124!==h||(o*=4))),a(f,e,r,n,i,o,h)}else l(),f.primType=4,f.vertCount=0,f.type=5121;return s}var l=r.create(null,34963,!0),f=new i(l._buffer);return n.elementsCount++,s(t),s._reglType="elements",s._elements=f,s.subdata=function(t,e){return l.subdata(t,e),s},s.destroy=function(){o(f)},s},createStream:function(t){var e=f.pop();return e||(e=new i(r.create(null,34963,!0,!1)._buffer)),a(e,t,35040,-1,-1,0,0),e},destroyStream:function(t){f.push(t)},getElements:function(t){return"function"==typeof t&&t._elements instanceof i?t._elements:null},clear:function(){Q(s).forEach(o)}}}function y(t){for(var e=J.allocType(5123,t.length),r=0;r<t.length;++r)if(isNaN(t[r]))e[r]=65535;else if(1/0===t[r])e[r]=31744;else if(-1/0===t[r])e[r]=64512;else{lt[0]=t[r];var n=(a=ut[0])>>>31<<15,i=(a<<1>>>24)-127,a=a>>13&1023;e[r]=-24>i?n:-14>i?n+(a+1024>>-14-i):15<i?n+31744:n+(i+15<<10)+a}return e}function m(t){return Array.isArray(t)||$(t)}function x(t){return"[object "+t+"]"}function b(t){return Array.isArray(t)&&(0===t.length||"number"==typeof t[0])}function _(t){return!(!Array.isArray(t)||0===t.length||!m(t[0]))}function w(t){return Object.prototype.toString.call(t)}function T(t){if(!t)return!1;var e=w(t);return 0<=xt.indexOf(e)||b(t)||_(t)||u(t)}function k(t,e){36193===t.type?(t.data=y(e),J.freeType(e)):t.data=e}function A(t,e,r,n,i,a){if(t=void 0!==_t[t]?_t[t]:ht[t]*bt[e],a&&(t*=6),i){for(n=0;1<=r;)n+=t*r*r,r/=2;return n}return t*r*n}function M(t,e,r,n,i,a,o){function s(){this.format=this.internalformat=6408,this.type=5121,this.flipY=this.premultiplyAlpha=this.compressed=!1,this.unpackAlignment=1,this.colorSpace=37444,this.channels=this.height=this.width=0}function l(t,e){t.internalformat=e.internalformat,t.format=e.format,t.type=e.type,t.compressed=e.compressed,t.premultiplyAlpha=e.premultiplyAlpha,t.flipY=e.flipY,t.unpackAlignment=e.unpackAlignment,t.colorSpace=e.colorSpace,t.width=e.width,t.height=e.height,t.channels=e.channels}function c(t,e){if("object"==typeof e&&e){"premultiplyAlpha"in e&&(t.premultiplyAlpha=e.premultiplyAlpha),"flipY"in e&&(t.flipY=e.flipY),"alignment"in e&&(t.unpackAlignment=e.alignment),"colorSpace"in e&&(t.colorSpace=V[e.colorSpace]),"type"in e&&(t.type=H[e.type]);var r=t.width,n=t.height,i=t.channels,a=!1;"shape"in e?(r=e.shape[0],n=e.shape[1],3===e.shape.length&&(i=e.shape[2],a=!0)):("radius"in e&&(r=n=e.radius),"width"in e&&(r=e.width),"height"in e&&(n=e.height),"channels"in e&&(i=e.channels,a=!0)),t.width=0|r,t.height=0|n,t.channels=0|i,r=!1,"format"in e&&(r=e.format,n=t.internalformat=q[r],t.format=at[n],r in H&&!("type"in e)&&(t.type=H[r]),r in Z&&(t.compressed=!0),r=!0),!a&&r?t.channels=ht[t.format]:a&&!r&&t.channels!==ft[t.format]&&(t.format=t.internalformat=ft[t.channels])}}function f(e){t.pixelStorei(37440,e.flipY),t.pixelStorei(37441,e.premultiplyAlpha),t.pixelStorei(37443,e.colorSpace),t.pixelStorei(3317,e.unpackAlignment)}function h(){s.call(this),this.yOffset=this.xOffset=0,this.data=null,this.needsFree=!1,this.element=null,this.needsCopy=!1}function p(t,e){var r=null;if(T(e)?r=e:e&&(c(t,e),"x"in e&&(t.xOffset=0|e.x),"y"in e&&(t.yOffset=0|e.y),T(e.data)&&(r=e.data)),e.copy){var n=i.viewportWidth,a=i.viewportHeight;t.width=t.width||n-t.xOffset,t.height=t.height||a-t.yOffset,t.needsCopy=!0}else if(r){if($(r))t.channels=t.channels||4,t.data=r,"type"in e||5121!==t.type||(t.type=0|et[Object.prototype.toString.call(r)]);else if(b(r)){switch(t.channels=t.channels||4,a=(n=r).length,t.type){case 5121:case 5123:case 5125:case 5126:(a=J.allocType(t.type,a)).set(n),t.data=a;break;case 36193:t.data=y(n)}t.alignment=1,t.needsFree=!0}else if(u(r)){n=r.data,Array.isArray(n)||5121!==t.type||(t.type=0|et[Object.prototype.toString.call(n)]),a=r.shape;var o,s,l,f,h=r.stride;3===a.length?(l=a[2],f=h[2]):f=l=1,o=a[0],s=a[1],a=h[0],h=h[1],t.alignment=1,t.width=o,t.height=s,t.channels=l,t.format=t.internalformat=ft[l],t.needsFree=!0,o=f,r=r.offset,l=t.width,f=t.height,s=t.channels;for(var p=J.allocType(36193===t.type?5126:t.type,l*f*s),d=0,v=0;v<f;++v)for(var g=0;g<l;++g)for(var x=0;x<s;++x)p[d++]=n[a*g+h*v+o*x+r];k(t,p)}else if(w(r)===pt||w(r)===dt||w(r)===vt)w(r)===pt||w(r)===dt?t.element=r:t.element=r.canvas,t.width=t.element.width,t.height=t.element.height,t.channels=4;else if(w(r)===gt)t.element=r,t.width=r.width,t.height=r.height,t.channels=4;else if(w(r)===yt)t.element=r,t.width=r.naturalWidth,t.height=r.naturalHeight,t.channels=4;else if(w(r)===mt)t.element=r,t.width=r.videoWidth,t.height=r.videoHeight,t.channels=4;else if(_(r)){for(n=t.width||r[0].length,a=t.height||r.length,h=t.channels,h=m(r[0][0])?h||r[0][0].length:h||1,o=tt.shape(r),l=1,f=0;f<o.length;++f)l*=o[f];l=J.allocType(36193===t.type?5126:t.type,l),tt.flatten(r,o,"",l),k(t,l),t.alignment=1,t.width=n,t.height=a,t.channels=h,t.format=t.internalformat=ft[h],t.needsFree=!0}}else t.width=t.width||1,t.height=t.height||1,t.channels=t.channels||4}function d(e,r,i,a,o){var s=e.element,l=e.data,u=e.internalformat,c=e.format,h=e.type,p=e.width,d=e.height;f(e),s?t.texSubImage2D(r,o,i,a,c,h,s):e.compressed?t.compressedTexSubImage2D(r,o,i,a,u,p,d,l):e.needsCopy?(n(),t.copyTexSubImage2D(r,o,i,a,e.xOffset,e.yOffset,p,d)):t.texSubImage2D(r,o,i,a,p,d,c,h,l)}function v(){return ot.pop()||new h}function g(t){t.needsFree&&J.freeType(t.data),h.call(t),ot.push(t)}function x(){s.call(this),this.genMipmaps=!1,this.mipmapHint=4352,this.mipmask=0,this.images=Array(16)}function M(t,e,r){var n=t.images[0]=v();t.mipmask=1,n.width=t.width=e,n.height=t.height=r,n.channels=t.channels=4}function S(t,e){var r=null;if(T(e))l(r=t.images[0]=v(),t),p(r,e),t.mipmask=1;else if(c(t,e),Array.isArray(e.mipmap))for(var n=e.mipmap,i=0;i<n.length;++i)l(r=t.images[i]=v(),t),r.width>>=i,r.height>>=i,p(r,n[i]),t.mipmask|=1<<i;else l(r=t.images[0]=v(),t),p(r,e),t.mipmask=1;l(t,t.images[0])}function E(e,r){for(var i=e.images,a=0;a<i.length&&i[a];++a){var o=i[a],s=r,l=a,u=o.element,c=o.data,h=o.internalformat,p=o.format,d=o.type,v=o.width,g=o.height;f(o),u?t.texImage2D(s,l,p,p,d,u):o.compressed?t.compressedTexImage2D(s,l,h,v,g,0,c):o.needsCopy?(n(),t.copyTexImage2D(s,l,p,o.xOffset,o.yOffset,v,g,0)):t.texImage2D(s,l,p,v,g,0,p,d,c||null)}}function L(){var t=st.pop()||new x;s.call(t);for(var e=t.mipmask=0;16>e;++e)t.images[e]=null;return t}function C(t){for(var e=t.images,r=0;r<e.length;++r)e[r]&&g(e[r]),e[r]=null;st.push(t)}function P(){this.magFilter=this.minFilter=9728,this.wrapT=this.wrapS=33071,this.anisotropic=1,this.genMipmaps=!1,this.mipmapHint=4352}function O(t,e){"min"in e&&(t.minFilter=U[e.min],0<=ct.indexOf(t.minFilter)&&!("faces"in e)&&(t.genMipmaps=!0)),"mag"in e&&(t.magFilter=j[e.mag]);var r=t.wrapS,n=t.wrapT;if("wrap"in e){var i=e.wrap;"string"==typeof i?r=n=N[i]:Array.isArray(i)&&(r=N[i[0]],n=N[i[1]])}else"wrapS"in e&&(r=N[e.wrapS]),"wrapT"in e&&(n=N[e.wrapT]);if(t.wrapS=r,t.wrapT=n,"anisotropic"in e&&(t.anisotropic=e.anisotropic),"mipmap"in e){switch(r=!1,typeof e.mipmap){case"string":t.mipmapHint=B[e.mipmap],r=t.genMipmaps=!0;break;case"boolean":r=t.genMipmaps=e.mipmap;break;case"object":t.genMipmaps=!1,r=!0}!r||"min"in e||(t.minFilter=9984)}}function I(r,n){t.texParameteri(n,10241,r.minFilter),t.texParameteri(n,10240,r.magFilter),t.texParameteri(n,10242,r.wrapS),t.texParameteri(n,10243,r.wrapT),e.ext_texture_filter_anisotropic&&t.texParameteri(n,34046,r.anisotropic),r.genMipmaps&&(t.hint(33170,r.mipmapHint),t.generateMipmap(n))}function D(e){s.call(this),this.mipmask=0,this.internalformat=6408,this.id=lt++,this.refCount=1,this.target=e,this.texture=t.createTexture(),this.unit=-1,this.bindCount=0,this.texInfo=new P,o.profile&&(this.stats={size:0})}function z(e){t.activeTexture(33984),t.bindTexture(e.target,e.texture)}function R(){var e=bt[0];e?t.bindTexture(e.target,e.texture):t.bindTexture(3553,null)}function F(e){var r=e.texture,n=e.unit,i=e.target;0<=n&&(t.activeTexture(33984+n),t.bindTexture(i,null),bt[n]=null),t.deleteTexture(r),e.texture=null,e.params=null,e.pixels=null,e.refCount=0,delete ut[e.id],a.textureCount--}var B={"don't care":4352,"dont care":4352,nice:4354,fast:4353},N={repeat:10497,clamp:33071,mirror:33648},j={nearest:9728,linear:9729},U=G({mipmap:9987,"nearest mipmap nearest":9984,"linear mipmap nearest":9985,"nearest mipmap linear":9986,"linear mipmap linear":9987},j),V={none:0,browser:37444},H={uint8:5121,rgba4:32819,rgb565:33635,"rgb5 a1":32820},q={alpha:6406,luminance:6409,"luminance alpha":6410,rgb:6407,rgba:6408,rgba4:32854,"rgb5 a1":32855,rgb565:36194},Z={};e.ext_srgb&&(q.srgb=35904,q.srgba=35906),e.oes_texture_float&&(H.float32=H.float=5126),e.oes_texture_half_float&&(H.float16=H["half float"]=36193),e.webgl_depth_texture&&(G(q,{depth:6402,"depth stencil":34041}),G(H,{uint16:5123,uint32:5125,"depth stencil":34042})),e.webgl_compressed_texture_s3tc&&G(Z,{"rgb s3tc dxt1":33776,"rgba s3tc dxt1":33777,"rgba s3tc dxt3":33778,"rgba s3tc dxt5":33779}),e.webgl_compressed_texture_atc&&G(Z,{"rgb atc":35986,"rgba atc explicit alpha":35987,"rgba atc interpolated alpha":34798}),e.webgl_compressed_texture_pvrtc&&G(Z,{"rgb pvrtc 4bppv1":35840,"rgb pvrtc 2bppv1":35841,"rgba pvrtc 4bppv1":35842,"rgba pvrtc 2bppv1":35843}),e.webgl_compressed_texture_etc1&&(Z["rgb etc1"]=36196);var Y=Array.prototype.slice.call(t.getParameter(34467));Object.keys(Z).forEach((function(t){var e=Z[t];0<=Y.indexOf(e)&&(q[t]=e)}));var W=Object.keys(q);r.textureFormats=W;var X=[];Object.keys(q).forEach((function(t){X[q[t]]=t}));var K=[];Object.keys(H).forEach((function(t){K[H[t]]=t}));var rt=[];Object.keys(j).forEach((function(t){rt[j[t]]=t}));var nt=[];Object.keys(U).forEach((function(t){nt[U[t]]=t}));var it=[];Object.keys(N).forEach((function(t){it[N[t]]=t}));var at=W.reduce((function(t,r){var n=q[r];return 6409===n||6406===n||6409===n||6410===n||6402===n||34041===n||e.ext_srgb&&(35904===n||35906===n)?t[n]=n:32855===n||0<=r.indexOf("rgba")?t[n]=6408:t[n]=6407,t}),{}),ot=[],st=[],lt=0,ut={},xt=r.maxTextureUnits,bt=Array(xt).map((function(){return null}));return G(D.prototype,{bind:function(){this.bindCount+=1;var e=this.unit;if(0>e){for(var r=0;r<xt;++r){var n=bt[r];if(n){if(0<n.bindCount)continue;n.unit=-1}bt[r]=this,e=r;break}o.profile&&a.maxTextureUnits<e+1&&(a.maxTextureUnits=e+1),this.unit=e,t.activeTexture(33984+e),t.bindTexture(this.target,this.texture)}return e},unbind:function(){--this.bindCount},decRef:function(){0>=--this.refCount&&F(this)}}),o.profile&&(a.getTotalTextureSize=function(){var t=0;return Object.keys(ut).forEach((function(e){t+=ut[e].stats.size})),t}),{create2D:function(e,r){function n(t,e){var r=i.texInfo;P.call(r);var a=L();return"number"==typeof t?M(a,0|t,"number"==typeof e?0|e:0|t):t?(O(r,t),S(a,t)):M(a,1,1),r.genMipmaps&&(a.mipmask=(a.width<<1)-1),i.mipmask=a.mipmask,l(i,a),i.internalformat=a.internalformat,n.width=a.width,n.height=a.height,z(i),E(a,3553),I(r,3553),R(),C(a),o.profile&&(i.stats.size=A(i.internalformat,i.type,a.width,a.height,r.genMipmaps,!1)),n.format=X[i.internalformat],n.type=K[i.type],n.mag=rt[r.magFilter],n.min=nt[r.minFilter],n.wrapS=it[r.wrapS],n.wrapT=it[r.wrapT],n}var i=new D(3553);return ut[i.id]=i,a.textureCount++,n(e,r),n.subimage=function(t,e,r,a){e|=0,r|=0,a|=0;var o=v();return l(o,i),o.width=0,o.height=0,p(o,t),o.width=o.width||(i.width>>a)-e,o.height=o.height||(i.height>>a)-r,z(i),d(o,3553,e,r,a),R(),g(o),n},n.resize=function(e,r){var a=0|e,s=0|r||a;if(a===i.width&&s===i.height)return n;n.width=i.width=a,n.height=i.height=s,z(i);for(var l=0;i.mipmask>>l;++l){var u=a>>l,c=s>>l;if(!u||!c)break;t.texImage2D(3553,l,i.format,u,c,0,i.format,i.type,null)}return R(),o.profile&&(i.stats.size=A(i.internalformat,i.type,a,s,!1,!1)),n},n._reglType="texture2d",n._texture=i,o.profile&&(n.stats=i.stats),n.destroy=function(){i.decRef()},n},createCube:function(e,r,n,i,s,u){function f(t,e,r,n,i,a){var s,u=h.texInfo;for(P.call(u),s=0;6>s;++s)y[s]=L();if("number"!=typeof t&&t){if("object"==typeof t)if(e)S(y[0],t),S(y[1],e),S(y[2],r),S(y[3],n),S(y[4],i),S(y[5],a);else if(O(u,t),c(h,t),"faces"in t)for(t=t.faces,s=0;6>s;++s)l(y[s],h),S(y[s],t[s]);else for(s=0;6>s;++s)S(y[s],t)}else for(t=0|t||1,s=0;6>s;++s)M(y[s],t,t);for(l(h,y[0]),h.mipmask=u.genMipmaps?(y[0].width<<1)-1:y[0].mipmask,h.internalformat=y[0].internalformat,f.width=y[0].width,f.height=y[0].height,z(h),s=0;6>s;++s)E(y[s],34069+s);for(I(u,34067),R(),o.profile&&(h.stats.size=A(h.internalformat,h.type,f.width,f.height,u.genMipmaps,!0)),f.format=X[h.internalformat],f.type=K[h.type],f.mag=rt[u.magFilter],f.min=nt[u.minFilter],f.wrapS=it[u.wrapS],f.wrapT=it[u.wrapT],s=0;6>s;++s)C(y[s]);return f}var h=new D(34067);ut[h.id]=h,a.cubeCount++;var y=Array(6);return f(e,r,n,i,s,u),f.subimage=function(t,e,r,n,i){r|=0,n|=0,i|=0;var a=v();return l(a,h),a.width=0,a.height=0,p(a,e),a.width=a.width||(h.width>>i)-r,a.height=a.height||(h.height>>i)-n,z(h),d(a,34069+t,r,n,i),R(),g(a),f},f.resize=function(e){if((e|=0)!==h.width){f.width=h.width=e,f.height=h.height=e,z(h);for(var r=0;6>r;++r)for(var n=0;h.mipmask>>n;++n)t.texImage2D(34069+r,n,h.format,e>>n,e>>n,0,h.format,h.type,null);return R(),o.profile&&(h.stats.size=A(h.internalformat,h.type,f.width,f.height,!1,!0)),f}},f._reglType="textureCube",f._texture=h,o.profile&&(f.stats=h.stats),f.destroy=function(){h.decRef()},f},clear:function(){for(var e=0;e<xt;++e)t.activeTexture(33984+e),t.bindTexture(3553,null),bt[e]=null;Q(ut).forEach(F),a.cubeCount=0,a.textureCount=0},getTexture:function(t){return null},restore:function(){for(var e=0;e<xt;++e){var r=bt[e];r&&(r.bindCount=0,r.unit=-1,bt[e]=null)}Q(ut).forEach((function(e){e.texture=t.createTexture(),t.bindTexture(e.target,e.texture);for(var r=0;32>r;++r)if(0!=(e.mipmask&1<<r))if(3553===e.target)t.texImage2D(3553,r,e.internalformat,e.width>>r,e.height>>r,0,e.internalformat,e.type,null);else for(var n=0;6>n;++n)t.texImage2D(34069+n,r,e.internalformat,e.width>>r,e.height>>r,0,e.internalformat,e.type,null);I(e.texInfo,e.target)}))},refresh:function(){for(var e=0;e<xt;++e){var r=bt[e];r&&(r.bindCount=0,r.unit=-1,bt[e]=null),t.activeTexture(33984+e),t.bindTexture(3553,null),t.bindTexture(34067,null)}}}}function S(t,e,r,n,i,a){function o(t,e,r){this.target=t,this.texture=e,this.renderbuffer=r;var n=t=0;e?(t=e.width,n=e.height):r&&(t=r.width,n=r.height),this.width=t,this.height=n}function s(t){t&&(t.texture&&t.texture._texture.decRef(),t.renderbuffer&&t.renderbuffer._renderbuffer.decRef())}function l(t,e,r){t&&(t.texture?t.texture._texture.refCount+=1:t.renderbuffer._renderbuffer.refCount+=1)}function u(e,r){r&&(r.texture?t.framebufferTexture2D(36160,e,r.target,r.texture._texture.texture,0):t.framebufferRenderbuffer(36160,e,36161,r.renderbuffer._renderbuffer.renderbuffer))}function c(t){var e=3553,r=null,n=null,i=t;return"object"==typeof t&&(i=t.data,"target"in t&&(e=0|t.target)),"texture2d"===(t=i._reglType)||"textureCube"===t?r=i:"renderbuffer"===t&&(n=i,e=36161),new o(e,r,n)}function f(t,e,r,a,s){return r?((t=n.create2D({width:t,height:e,format:a,type:s}))._texture.refCount=0,new o(3553,t,null)):((t=i.create({width:t,height:e,format:a}))._renderbuffer.refCount=0,new o(36161,null,t))}function h(t){return t&&(t.texture||t.renderbuffer)}function p(t,e,r){t&&(t.texture?t.texture.resize(e,r):t.renderbuffer&&t.renderbuffer.resize(e,r),t.width=e,t.height=r)}function d(){this.id=T++,k[this.id]=this,this.framebuffer=t.createFramebuffer(),this.height=this.width=0,this.colorAttachments=[],this.depthStencilAttachment=this.stencilAttachment=this.depthAttachment=null}function v(t){t.colorAttachments.forEach(s),s(t.depthAttachment),s(t.stencilAttachment),s(t.depthStencilAttachment)}function g(e){t.deleteFramebuffer(e.framebuffer),e.framebuffer=null,a.framebufferCount--,delete k[e.id]}function y(e){var n;t.bindFramebuffer(36160,e.framebuffer);var i=e.colorAttachments;for(n=0;n<i.length;++n)u(36064+n,i[n]);for(n=i.length;n<r.maxColorAttachments;++n)t.framebufferTexture2D(36160,36064+n,3553,null,0);t.framebufferTexture2D(36160,33306,3553,null,0),t.framebufferTexture2D(36160,36096,3553,null,0),t.framebufferTexture2D(36160,36128,3553,null,0),u(36096,e.depthAttachment),u(36128,e.stencilAttachment),u(33306,e.depthStencilAttachment),t.checkFramebufferStatus(36160),t.isContextLost(),t.bindFramebuffer(36160,x.next?x.next.framebuffer:null),x.cur=x.next,t.getError()}function m(t,e){function r(t,e){var i,a=0,o=0,s=!0,u=!0;i=null;var p=!0,d="rgba",g="uint8",m=1,x=null,w=null,T=null,k=!1;"number"==typeof t?(a=0|t,o=0|e||a):t?("shape"in t?(a=(o=t.shape)[0],o=o[1]):("radius"in t&&(a=o=t.radius),"width"in t&&(a=t.width),"height"in t&&(o=t.height)),("color"in t||"colors"in t)&&(i=t.color||t.colors,Array.isArray(i)),i||("colorCount"in t&&(m=0|t.colorCount),"colorTexture"in t&&(p=!!t.colorTexture,d="rgba4"),"colorType"in t&&(g=t.colorType,!p)&&("half float"===g||"float16"===g?d="rgba16f":"float"!==g&&"float32"!==g||(d="rgba32f")),"colorFormat"in t&&(d=t.colorFormat,0<=b.indexOf(d)?p=!0:0<=_.indexOf(d)&&(p=!1))),("depthTexture"in t||"depthStencilTexture"in t)&&(k=!(!t.depthTexture&&!t.depthStencilTexture)),"depth"in t&&("boolean"==typeof t.depth?s=t.depth:(x=t.depth,u=!1)),"stencil"in t&&("boolean"==typeof t.stencil?u=t.stencil:(w=t.stencil,s=!1)),"depthStencil"in t&&("boolean"==typeof t.depthStencil?s=u=t.depthStencil:(T=t.depthStencil,u=s=!1))):a=o=1;var A=null,M=null,S=null,E=null;if(Array.isArray(i))A=i.map(c);else if(i)A=[c(i)];else for(A=Array(m),i=0;i<m;++i)A[i]=f(a,o,p,d,g);for(a=a||A[0].width,o=o||A[0].height,x?M=c(x):s&&!u&&(M=f(a,o,k,"depth","uint32")),w?S=c(w):u&&!s&&(S=f(a,o,!1,"stencil","uint8")),T?E=c(T):!x&&!w&&u&&s&&(E=f(a,o,k,"depth stencil","depth stencil")),s=null,i=0;i<A.length;++i)l(A[i]),A[i]&&A[i].texture&&(u=kt[A[i].texture._texture.format]*At[A[i].texture._texture.type],null===s&&(s=u));return l(M),l(S),l(E),v(n),n.width=a,n.height=o,n.colorAttachments=A,n.depthAttachment=M,n.stencilAttachment=S,n.depthStencilAttachment=E,r.color=A.map(h),r.depth=h(M),r.stencil=h(S),r.depthStencil=h(E),r.width=n.width,r.height=n.height,y(n),r}var n=new d;return a.framebufferCount++,r(t,e),G(r,{resize:function(t,e){var i=Math.max(0|t,1),a=Math.max(0|e||i,1);if(i===n.width&&a===n.height)return r;for(var o=n.colorAttachments,s=0;s<o.length;++s)p(o[s],i,a);return p(n.depthAttachment,i,a),p(n.stencilAttachment,i,a),p(n.depthStencilAttachment,i,a),n.width=r.width=i,n.height=r.height=a,y(n),r},_reglType:"framebuffer",_framebuffer:n,destroy:function(){g(n),v(n)},use:function(t){x.setFBO({framebuffer:r},t)}})}var x={cur:null,next:null,dirty:!1,setFBO:null},b=["rgba"],_=["rgba4","rgb565","rgb5 a1"];e.ext_srgb&&_.push("srgba"),e.ext_color_buffer_half_float&&_.push("rgba16f","rgb16f"),e.webgl_color_buffer_float&&_.push("rgba32f");var w=["uint8"];e.oes_texture_half_float&&w.push("half float","float16"),e.oes_texture_float&&w.push("float","float32");var T=0,k={};return G(x,{getFramebuffer:function(t){return"function"==typeof t&&"framebuffer"===t._reglType&&(t=t._framebuffer)instanceof d?t:null},create:m,createCube:function(t){function e(t){var i,a={color:null},o=0,s=null;i="rgba";var l="uint8",u=1;if("number"==typeof t?o=0|t:t?("shape"in t?o=t.shape[0]:("radius"in t&&(o=0|t.radius),"width"in t?o=0|t.width:"height"in t&&(o=0|t.height)),("color"in t||"colors"in t)&&(s=t.color||t.colors,Array.isArray(s)),s||("colorCount"in t&&(u=0|t.colorCount),"colorType"in t&&(l=t.colorType),"colorFormat"in t&&(i=t.colorFormat)),"depth"in t&&(a.depth=t.depth),"stencil"in t&&(a.stencil=t.stencil),"depthStencil"in t&&(a.depthStencil=t.depthStencil)):o=1,s)if(Array.isArray(s))for(t=[],i=0;i<s.length;++i)t[i]=s[i];else t=[s];else for(t=Array(u),s={radius:o,format:i,type:l},i=0;i<u;++i)t[i]=n.createCube(s);for(a.color=Array(t.length),i=0;i<t.length;++i)u=t[i],o=o||u.width,a.color[i]={target:34069,data:t[i]};for(i=0;6>i;++i){for(u=0;u<t.length;++u)a.color[u].target=34069+i;0<i&&(a.depth=r[0].depth,a.stencil=r[0].stencil,a.depthStencil=r[0].depthStencil),r[i]?r[i](a):r[i]=m(a)}return G(e,{width:o,height:o,color:t})}var r=Array(6);return e(t),G(e,{faces:r,resize:function(t){var n=0|t;if(n===e.width)return e;var i=e.color;for(t=0;t<i.length;++t)i[t].resize(n);for(t=0;6>t;++t)r[t].resize(n);return e.width=e.height=n,e},_reglType:"framebufferCube",destroy:function(){r.forEach((function(t){t.destroy()}))}})},clear:function(){Q(k).forEach(g)},restore:function(){x.cur=null,x.next=null,x.dirty=!0,Q(k).forEach((function(e){e.framebuffer=t.createFramebuffer(),y(e)}))}})}function E(){this.w=this.z=this.y=this.x=this.state=0,this.buffer=null,this.size=0,this.normalized=!1,this.type=5126,this.divisor=this.stride=this.offset=0}function L(t,e,r,n,i,a,o){function s(){this.id=++f,this.attributes=[],this.elements=null,this.ownsElements=!1,this.offset=this.count=0,this.instances=-1,this.primitive=4;var t=e.oes_vertex_array_object;this.vao=t?t.createVertexArrayOES():null,h[this.id]=this,this.buffers=[]}var l=r.maxAttributes,c=Array(l);for(r=0;r<l;++r)c[r]=new E;var f=0,h={},p={Record:E,scope:{},state:c,currentVAO:null,targetVAO:null,restore:e.oes_vertex_array_object?function(){e.oes_vertex_array_object&&Q(h).forEach((function(t){t.refresh()}))}:function(){},createVAO:function(t){function e(t){var n;Array.isArray(t)?(n=t,r.elements&&r.ownsElements&&r.elements.destroy(),r.elements=null,r.ownsElements=!1,r.offset=0,r.count=0,r.instances=-1,r.primitive=4):(t.elements?(n=t.elements,r.ownsElements?("function"==typeof n&&"elements"===n._reglType?r.elements.destroy():r.elements(n),r.ownsElements=!1):a.getElements(t.elements)?(r.elements=t.elements,r.ownsElements=!1):(r.elements=a.create(t.elements),r.ownsElements=!0)):(r.elements=null,r.ownsElements=!1),n=t.attributes,r.offset=0,r.count=-1,r.instances=-1,r.primitive=4,r.elements&&(r.count=r.elements._elements.vertCount,r.primitive=r.elements._elements.primType),"offset"in t&&(r.offset=0|t.offset),"count"in t&&(r.count=0|t.count),"instances"in t&&(r.instances=0|t.instances),"primitive"in t&&(r.primitive=st[t.primitive])),t={};var o=r.attributes;o.length=n.length;for(var s=0;s<n.length;++s){var l,c=n[s],f=o[s]=new E,h=c.data||c;Array.isArray(h)||$(h)||u(h)?(r.buffers[s]&&(l=r.buffers[s],$(h)&&l._buffer.byteLength>=h.byteLength?l.subdata(h):(l.destroy(),r.buffers[s]=null)),r.buffers[s]||(l=r.buffers[s]=i.create(c,34962,!1,!0)),f.buffer=i.getBuffer(l),f.size=0|f.buffer.dimension,f.normalized=!1,f.type=f.buffer.dtype,f.offset=0,f.stride=0,f.divisor=0,f.state=1,t[s]=1):i.getBuffer(c)?(f.buffer=i.getBuffer(c),f.size=0|f.buffer.dimension,f.normalized=!1,f.type=f.buffer.dtype,f.offset=0,f.stride=0,f.divisor=0,f.state=1):i.getBuffer(c.buffer)?(f.buffer=i.getBuffer(c.buffer),f.size=0|(+c.size||f.buffer.dimension),f.normalized=!!c.normalized||!1,f.type="type"in c?rt[c.type]:f.buffer.dtype,f.offset=0|(c.offset||0),f.stride=0|(c.stride||0),f.divisor=0|(c.divisor||0),f.state=1):"x"in c&&(f.x=+c.x||0,f.y=+c.y||0,f.z=+c.z||0,f.w=+c.w||0,f.state=2)}for(l=0;l<r.buffers.length;++l)!t[l]&&r.buffers[l]&&(r.buffers[l].destroy(),r.buffers[l]=null);return r.refresh(),e}var r=new s;return n.vaoCount+=1,e.destroy=function(){for(var t=0;t<r.buffers.length;++t)r.buffers[t]&&r.buffers[t].destroy();r.buffers.length=0,r.ownsElements&&(r.elements.destroy(),r.elements=null,r.ownsElements=!1),r.destroy()},e._vao=r,e._reglType="vao",e(t)},getVAO:function(t){return"function"==typeof t&&t._vao?t._vao:null},destroyBuffer:function(e){for(var r=0;r<c.length;++r){var n=c[r];n.buffer===e&&(t.disableVertexAttribArray(r),n.buffer=null)}},setVAO:e.oes_vertex_array_object?function(t){if(t!==p.currentVAO){var r=e.oes_vertex_array_object;t?r.bindVertexArrayOES(t.vao):r.bindVertexArrayOES(null),p.currentVAO=t}}:function(r){if(r!==p.currentVAO){if(r)r.bindAttrs();else{for(var n=e.angle_instanced_arrays,i=0;i<c.length;++i){var a=c[i];a.buffer?(t.enableVertexAttribArray(i),a.buffer.bind(),t.vertexAttribPointer(i,a.size,a.type,a.normalized,a.stride,a.offfset),n&&a.divisor&&n.vertexAttribDivisorANGLE(i,a.divisor)):(t.disableVertexAttribArray(i),t.vertexAttrib4f(i,a.x,a.y,a.z,a.w))}o.elements?t.bindBuffer(34963,o.elements.buffer.buffer):t.bindBuffer(34963,null)}p.currentVAO=r}},clear:e.oes_vertex_array_object?function(){Q(h).forEach((function(t){t.destroy()}))}:function(){}};return s.prototype.bindAttrs=function(){for(var r=e.angle_instanced_arrays,n=this.attributes,i=0;i<n.length;++i){var o=n[i];o.buffer?(t.enableVertexAttribArray(i),t.bindBuffer(34962,o.buffer.buffer),t.vertexAttribPointer(i,o.size,o.type,o.normalized,o.stride,o.offset),r&&o.divisor&&r.vertexAttribDivisorANGLE(i,o.divisor)):(t.disableVertexAttribArray(i),t.vertexAttrib4f(i,o.x,o.y,o.z,o.w))}for(r=n.length;r<l;++r)t.disableVertexAttribArray(r);(r=a.getElements(this.elements))?t.bindBuffer(34963,r.buffer.buffer):t.bindBuffer(34963,null)},s.prototype.refresh=function(){var t=e.oes_vertex_array_object;t&&(t.bindVertexArrayOES(this.vao),this.bindAttrs(),p.currentVAO=null,t.bindVertexArrayOES(null))},s.prototype.destroy=function(){if(this.vao){var t=e.oes_vertex_array_object;this===p.currentVAO&&(p.currentVAO=null,t.bindVertexArrayOES(null)),t.deleteVertexArrayOES(this.vao),this.vao=null}this.ownsElements&&(this.elements.destroy(),this.elements=null,this.ownsElements=!1),h[this.id]&&(delete h[this.id],--n.vaoCount)},p}function C(t,e,r,n){function i(t,e,r,n){this.name=t,this.id=e,this.location=r,this.info=n}function a(t,e){for(var r=0;r<t.length;++r)if(t[r].id===e.id)return void(t[r].location=e.location);t.push(e)}function o(r,n,i){if(!(o=(i=35632===r?u:c)[n])){var a=e.str(n),o=t.createShader(r);t.shaderSource(o,a),t.compileShader(o),i[n]=o}return o}function s(t,e){this.id=p++,this.fragId=t,this.vertId=e,this.program=null,this.uniforms=[],this.attributes=[],this.refCount=1,n.profile&&(this.stats={uniformsCount:0,attributesCount:0})}function l(r,s,l){var u;u=o(35632,r.fragId);var c=o(35633,r.vertId);if(s=r.program=t.createProgram(),t.attachShader(s,u),t.attachShader(s,c),l)for(u=0;u<l.length;++u)c=l[u],t.bindAttribLocation(s,c[0],c[1]);t.linkProgram(s),c=t.getProgramParameter(s,35718),n.profile&&(r.stats.uniformsCount=c);var f=r.uniforms;for(u=0;u<c;++u)if(l=t.getActiveUniform(s,u))if(1<l.size)for(var h=0;h<l.size;++h){var p=l.name.replace("[0]","["+h+"]");a(f,new i(p,e.id(p),t.getUniformLocation(s,p),l))}else a(f,new i(l.name,e.id(l.name),t.getUniformLocation(s,l.name),l));for(c=t.getProgramParameter(s,35721),n.profile&&(r.stats.attributesCount=c),r=r.attributes,u=0;u<c;++u)(l=t.getActiveAttrib(s,u))&&a(r,new i(l.name,e.id(l.name),t.getAttribLocation(s,l.name),l))}var u={},c={},f={},h=[],p=0;return n.profile&&(r.getMaxUniformsCount=function(){var t=0;return h.forEach((function(e){e.stats.uniformsCount>t&&(t=e.stats.uniformsCount)})),t},r.getMaxAttributesCount=function(){var t=0;return h.forEach((function(e){e.stats.attributesCount>t&&(t=e.stats.attributesCount)})),t}),{clear:function(){var e=t.deleteShader.bind(t);Q(u).forEach(e),u={},Q(c).forEach(e),c={},h.forEach((function(e){t.deleteProgram(e.program)})),h.length=0,f={},r.shaderCount=0},program:function(e,n,i,a){var o=f[n];o||(o=f[n]={});var p=o[e];if(p&&(p.refCount++,!a))return p;var d=new s(n,e);return r.shaderCount++,l(d,i,a),p||(o[e]=d),h.push(d),G(d,{destroy:function(){if(d.refCount--,0>=d.refCount){t.deleteProgram(d.program);var e=h.indexOf(d);h.splice(e,1),r.shaderCount--}0>=o[d.vertId].refCount&&(t.deleteShader(c[d.vertId]),delete c[d.vertId],delete f[d.fragId][d.vertId]),Object.keys(f[d.fragId]).length||(t.deleteShader(u[d.fragId]),delete u[d.fragId],delete f[d.fragId])}})},restore:function(){u={},c={};for(var t=0;t<h.length;++t)l(h[t],null,h[t].attributes.map((function(t){return[t.location,t.name]})))},shader:o,frag:-1,vert:-1}}function P(t,e,r,n,i,a,o){function s(i){var a;a=null===e.next?5121:e.next.colorAttachments[0].texture._texture.type;var o=0,s=0,l=n.framebufferWidth,u=n.framebufferHeight,c=null;return $(i)?c=i:i&&(o=0|i.x,s=0|i.y,l=0|(i.width||n.framebufferWidth-o),u=0|(i.height||n.framebufferHeight-s),c=i.data||null),r(),i=l*u*4,c||(5121===a?c=new Uint8Array(i):5126===a&&(c=c||new Float32Array(i))),t.pixelStorei(3333,4),t.readPixels(o,s,l,u,6408,a,c),c}return function(t){return t&&"framebuffer"in t?function(t){var r;return e.setFBO({framebuffer:t.framebuffer},(function(){r=s(t)})),r}(t):s(t)}}function O(t,e){return t>>>e|t<<32-e}function I(t,e){var r=(65535&t)+(65535&e);return(t>>16)+(e>>16)+(r>>16)<<16|65535&r}function D(t){return Array.prototype.slice.call(t)}function z(t){return D(t).join("")}function R(t){function e(){var t=[],e=[];return G((function(){t.push.apply(t,D(arguments))}),{def:function(){var r="v"+i++;return e.push(r),0<arguments.length&&(t.push(r,"="),t.push.apply(t,D(arguments)),t.push(";")),r},toString:function(){return z([0<e.length?"var "+e.join(",")+";":"",z(t)])}})}function r(){function t(t,e){n(t,e,"=",r.def(t,e),";")}var r=e(),n=e(),i=r.toString,a=n.toString;return G((function(){r.apply(r,D(arguments))}),{def:r.def,entry:r,exit:n,save:t,set:function(e,n,i){t(e,n),r(e,n,"=",i,";")},toString:function(){return i()+a()}})}var n=t&&t.cache,i=0,a=[],o=[],s=[],l=e(),u={};return{global:l,link:function(t,e){var r=e&&e.stable;if(!r)for(var n=0;n<o.length;++n)if(o[n]===t&&!s[n])return a[n];return n="g"+i++,a.push(n),o.push(t),s.push(r),n},block:e,proc:function(t,e){function n(){var t="a"+i.length;return i.push(t),t}var i=[];e=e||0;for(var a=0;a<e;++a)n();var o=(a=r()).toString;return u[t]=G(a,{arg:n,toString:function(){return z(["function(",i.join(),"){",o(),"}"])}})},scope:r,cond:function(){var t=z(arguments),e=r(),n=r(),i=e.toString,a=n.toString;return G(e,{then:function(){return e.apply(e,D(arguments)),this},else:function(){return n.apply(n,D(arguments)),this},toString:function(){var e=a();return e&&(e="else{"+e+"}"),z(["if(",t,"){",i(),"}",e])}})},compile:function(){var t=['"use strict";',l,"return {"];Object.keys(u).forEach((function(e){t.push('"',e,'":',u[e].toString(),",")})),t.push("}");var e,r=z(t).replace(/;/g,";\n").replace(/}/g,"}\n").replace(/{/g,"{\n");return n&&(e=function(t){for(var e,r="",n=0;n<t.length;n++)e=t.charCodeAt(n),r+="0123456789abcdef".charAt(e>>>4&15)+"0123456789abcdef".charAt(15&e);return r}(function(t){for(var e=Array(t.length>>2),r=0;r<e.length;r++)e[r]=0;for(r=0;r<8*t.length;r+=8)e[r>>5]|=(255&t.charCodeAt(r/8))<<24-r%32;var n,i,a,o,s,l,u,c,f,h,p,d=8*t.length;for(t=[1779033703,-1150833019,1013904242,-1521486534,1359893119,-1694144372,528734635,1541459225],r=Array(64),e[d>>5]|=128<<24-d%32,e[15+(d+64>>9<<4)]=d,c=0;c<e.length;c+=16){for(d=t[0],n=t[1],i=t[2],a=t[3],o=t[4],s=t[5],l=t[6],u=t[7],f=0;64>f;f++){var v;16>f?r[f]=e[f+c]:(h=f,p=I(p=O(p=r[f-2],17)^O(p,19)^p>>>10,r[f-7]),v=O(v=r[f-15],7)^O(v,18)^v>>>3,r[h]=I(I(p,v),r[f-16])),h=I(I(I(I(u,h=O(h=o,6)^O(h,11)^O(h,25)),o&s^~o&l),Mt[f]),r[f]),p=I(u=O(u=d,2)^O(u,13)^O(u,22),d&n^d&i^n&i),u=l,l=s,s=o,o=I(a,h),a=i,i=n,n=d,d=I(h,p)}t[0]=I(d,t[0]),t[1]=I(n,t[1]),t[2]=I(i,t[2]),t[3]=I(a,t[3]),t[4]=I(o,t[4]),t[5]=I(s,t[5]),t[6]=I(l,t[6]),t[7]=I(u,t[7])}for(e="",r=0;r<32*t.length;r+=8)e+=String.fromCharCode(t[r>>5]>>>24-r%32&255);return e}(function(t){for(var e,r,n="",i=-1;++i<t.length;)e=t.charCodeAt(i),r=i+1<t.length?t.charCodeAt(i+1):0,55296<=e&&56319>=e&&56320<=r&&57343>=r&&(e=65536+((1023&e)<<10)+(1023&r),i++),127>=e?n+=String.fromCharCode(e):2047>=e?n+=String.fromCharCode(192|e>>>6&31,128|63&e):65535>=e?n+=String.fromCharCode(224|e>>>12&15,128|e>>>6&63,128|63&e):2097151>=e&&(n+=String.fromCharCode(240|e>>>18&7,128|e>>>12&63,128|e>>>6&63,128|63&e));return n}(r))),n[e])?n[e].apply(null,o):(r=Function.apply(null,a.concat(r)),n&&(n[e]=r),r.apply(null,o))}}}function F(t){return Array.isArray(t)||$(t)||u(t)}function B(t){return t.sort((function(t,e){return"viewport"===t?-1:"viewport"===e?1:t<e?-1:1}))}function N(t,e,r,n){this.thisDep=t,this.contextDep=e,this.propDep=r,this.append=n}function j(t){return t&&!(t.thisDep||t.contextDep||t.propDep)}function U(t){return new N(!1,!1,!1,t)}function V(t,e){var r=t.type;if(0===r)return new N(!0,1<=(r=t.data.length),2<=r,e);if(4===r)return new N((r=t.data).thisDep,r.contextDep,r.propDep,e);if(5===r)return new N(!1,!1,!1,e);if(6===r){for(var n=r=!1,i=!1,a=0;a<t.data.length;++a){var o=t.data[a];1===o.type?i=!0:2===o.type?n=!0:3===o.type?r=!0:0===o.type?(r=!0,1<=(o=o.data)&&(n=!0),2<=o&&(i=!0)):4===o.type&&(r=r||o.data.thisDep,n=n||o.data.contextDep,i=i||o.data.propDep)}return new N(r,n,i,e)}return new N(3===r,2===r,1===r,e)}function H(t,e,r,n,i,a,s,l,u,c,f,h,p,d,v,g){function y(t){return t.replace(".","_")}function x(t,e,r){var n=y(t);at.push(t),it[n]=nt[n]=!!r,ot[n]=e}function b(t,e,r){var n=y(t);at.push(t),Array.isArray(r)?(nt[n]=r.slice(),it[n]=r.slice()):nt[n]=it[n]=r,lt[n]=e}function _(){var t=R({cache:v}),r=t.link,n=t.global;t.id=ft++,t.batchId="0";var i=r(ut),a=t.shared={props:"a0"};Object.keys(ut).forEach((function(t){a[t]=n.def(i,".",t)}));var o=t.next={},s=t.current={};Object.keys(lt).forEach((function(t){Array.isArray(nt[t])&&(o[t]=n.def(a.next,".",t),s[t]=n.def(a.current,".",t))}));var l=t.constants={};Object.keys(ct).forEach((function(t){l[t]=n.def(JSON.stringify(ct[t]))})),t.invoke=function(e,n){switch(n.type){case 0:var i=["this",a.context,a.props,t.batchId];return e.def(r(n.data),".call(",i.slice(0,Math.max(n.data.length+1,4)),")");case 1:return e.def(a.props,n.data);case 2:return e.def(a.context,n.data);case 3:return e.def("this",n.data);case 4:return n.data.append(t,e),n.data.ref;case 5:return n.data.toString();case 6:return n.data.map((function(r){return t.invoke(e,r)}))}},t.attribCache={};var u={};return t.scopeAttrib=function(t){if((t=e.id(t))in u)return u[t];var n=c.scope[t];return n||(n=c.scope[t]=new K),u[t]=r(n)},t}function w(t,e){var r=t.static,n=t.dynamic;if("framebuffer"in r){var i=r.framebuffer;return i?(i=l.getFramebuffer(i),U((function(t,e){var r=t.link(i),n=t.shared;return e.set(n.framebuffer,".next",r),n=n.context,e.set(n,".framebufferWidth",r+".width"),e.set(n,".framebufferHeight",r+".height"),r}))):U((function(t,e){var r=t.shared;return e.set(r.framebuffer,".next","null"),r=r.context,e.set(r,".framebufferWidth",r+".drawingBufferWidth"),e.set(r,".framebufferHeight",r+".drawingBufferHeight"),"null"}))}if("framebuffer"in n){var a=n.framebuffer;return V(a,(function(t,e){var r=t.invoke(e,a),n=t.shared,i=n.framebuffer;return r=e.def(i,".getFramebuffer(",r,")"),e.set(i,".next",r),n=n.context,e.set(n,".framebufferWidth",r+"?"+r+".width:"+n+".drawingBufferWidth"),e.set(n,".framebufferHeight",r+"?"+r+".height:"+n+".drawingBufferHeight"),r}))}return null}function T(t,r,n){function i(t){if(t in a){var r=e.id(a[t]);return(t=U((function(){return r}))).id=r,t}if(t in o){var n=o[t];return V(n,(function(t,e){var r=t.invoke(e,n);return e.def(t.shared.strings,".id(",r,")")}))}return null}var a=t.static,o=t.dynamic,s=i("frag"),l=i("vert"),u=null;return j(s)&&j(l)?(u=f.program(l.id,s.id,null,n),t=U((function(t,e){return t.link(u)}))):t=new N(s&&s.thisDep||l&&l.thisDep,s&&s.contextDep||l&&l.contextDep,s&&s.propDep||l&&l.propDep,(function(t,e){var r,n,i=t.shared.shader;return r=s?s.append(t,e):e.def(i,".","frag"),n=l?l.append(t,e):e.def(i,".","vert"),e.def(i+".program("+n+","+r+")")})),{frag:s,vert:l,progVar:t,program:u}}function k(t,e){function r(t,e){if(t in n){var r=0|n[t];return e?o.offset=r:o.instances=r,U((function(t,n){return e&&(t.OFFSET=r),r}))}if(t in i){var a=i[t];return V(a,(function(t,r){var n=t.invoke(r,a);return e&&(t.OFFSET=n),n}))}if(e){if(u)return U((function(t,e){return t.OFFSET=0}));if(s)return new N(l.thisDep,l.contextDep,l.propDep,(function(t,e){return e.def(t.shared.vao+".currentVAO?"+t.shared.vao+".currentVAO.offset:0")}))}else if(s)return new N(l.thisDep,l.contextDep,l.propDep,(function(t,e){return e.def(t.shared.vao+".currentVAO?"+t.shared.vao+".currentVAO.instances:-1")}));return null}var n=t.static,i=t.dynamic,o={},s=!1,l=function(){if("vao"in n){var t=n.vao;return null!==t&&null===c.getVAO(t)&&(t=c.createVAO(t)),s=!0,o.vao=t,U((function(e){var r=c.getVAO(t);return r?e.link(r):"null"}))}if("vao"in i){s=!0;var e=i.vao;return V(e,(function(t,r){var n=t.invoke(r,e);return r.def(t.shared.vao+".getVAO("+n+")")}))}return null}(),u=!1,f=function(){if("elements"in n){var t=n.elements;if(o.elements=t,F(t)){var e=o.elements=a.create(t,!0);t=a.getElements(e),u=!0}else t&&(t=a.getElements(t),u=!0);return e=U((function(e,r){if(t){var n=e.link(t);return e.ELEMENTS=n}return e.ELEMENTS=null})),e.value=t,e}if("elements"in i){u=!0;var r=i.elements;return V(r,(function(t,e){var n=(i=t.shared).isBufferArgs,i=i.elements,a=t.invoke(e,r),o=e.def("null");return n=e.def(n,"(",a,")"),a=t.cond(n).then(o,"=",i,".createStream(",a,");").else(o,"=",i,".getElements(",a,");"),e.entry(a),e.exit(t.cond(n).then(i,".destroyStream(",o,");")),t.ELEMENTS=o}))}return s?new N(l.thisDep,l.contextDep,l.propDep,(function(t,e){return e.def(t.shared.vao+".currentVAO?"+t.shared.elements+".getElements("+t.shared.vao+".currentVAO.elements):null")})):null}(),h=r("offset",!0),p=function(){if("primitive"in n){var t=n.primitive;return o.primitive=t,U((function(e,r){return st[t]}))}if("primitive"in i){var e=i.primitive;return V(e,(function(t,r){var n=t.constants.primTypes,i=t.invoke(r,e);return r.def(n,"[",i,"]")}))}return u?j(f)?f.value?U((function(t,e){return e.def(t.ELEMENTS,".primType")})):U((function(){return 4})):new N(f.thisDep,f.contextDep,f.propDep,(function(t,e){var r=t.ELEMENTS;return e.def(r,"?",r,".primType:",4)})):s?new N(l.thisDep,l.contextDep,l.propDep,(function(t,e){return e.def(t.shared.vao+".currentVAO?"+t.shared.vao+".currentVAO.primitive:4")})):null}(),d=function(){if("count"in n){var t=0|n.count;return o.count=t,U((function(){return t}))}if("count"in i){var e=i.count;return V(e,(function(t,r){return t.invoke(r,e)}))}return u?j(f)?f?h?new N(h.thisDep,h.contextDep,h.propDep,(function(t,e){return e.def(t.ELEMENTS,".vertCount-",t.OFFSET)})):U((function(t,e){return e.def(t.ELEMENTS,".vertCount")})):U((function(){return-1})):new N(f.thisDep||h.thisDep,f.contextDep||h.contextDep,f.propDep||h.propDep,(function(t,e){var r=t.ELEMENTS;return t.OFFSET?e.def(r,"?",r,".vertCount-",t.OFFSET,":-1"):e.def(r,"?",r,".vertCount:-1")})):s?new N(l.thisDep,l.contextDep,l.propDep,(function(t,e){return e.def(t.shared.vao,".currentVAO?",t.shared.vao,".currentVAO.count:-1")})):null}(),v=r("instances",!1);return{elements:f,primitive:p,count:d,instances:v,offset:h,vao:l,vaoActive:s,elementsActive:u,static:o}}function A(t,r){var n=t.static,a=t.dynamic,o={};return Object.keys(n).forEach((function(t){var r=n[t],a=e.id(t),s=new K;if(F(r))s.state=1,s.buffer=i.getBuffer(i.create(r,34962,!1,!0)),s.type=0;else if(u=i.getBuffer(r))s.state=1,s.buffer=u,s.type=0;else if("constant"in r){var l=r.constant;s.buffer="null",s.state=2,"number"==typeof l?s.x=l:St.forEach((function(t,e){e<l.length&&(s[t]=l[e])}))}else{var u=F(r.buffer)?i.getBuffer(i.create(r.buffer,34962,!1,!0)):i.getBuffer(r.buffer),c=0|r.offset,f=0|r.stride,h=0|r.size,p=!!r.normalized,d=0;"type"in r&&(d=rt[r.type]),r=0|r.divisor,s.buffer=u,s.state=1,s.size=h,s.normalized=p,s.type=d||u.dtype,s.offset=c,s.stride=f,s.divisor=r}o[t]=U((function(t,e){var r=t.attribCache;if(a in r)return r[a];var n={isStream:!1};return Object.keys(s).forEach((function(t){n[t]=s[t]})),s.buffer&&(n.buffer=t.link(s.buffer),n.type=n.type||n.buffer+".dtype"),r[a]=n}))})),Object.keys(a).forEach((function(t){var e=a[t];o[t]=V(e,(function(t,r){function n(t){r(l[t],"=",i,".",t,"|0;")}var i=t.invoke(r,e),a=t.shared,o=t.constants,s=a.isBufferArgs,l=(a=a.buffer,{isStream:r.def(!1)}),u=new K;u.state=1,Object.keys(u).forEach((function(t){l[t]=r.def(""+u[t])}));var c=l.buffer,f=l.type;return r("if(",s,"(",i,")){",l.isStream,"=true;",c,"=",a,".createStream(",34962,",",i,");",f,"=",c,".dtype;","}else{",c,"=",a,".getBuffer(",i,");","if(",c,"){",f,"=",c,".dtype;",'}else if("constant" in ',i,"){",l.state,"=",2,";","if(typeof "+i+'.constant === "number"){',l[St[0]],"=",i,".constant;",St.slice(1).map((function(t){return l[t]})).join("="),"=0;","}else{",St.map((function(t,e){return l[t]+"="+i+".constant.length>"+e+"?"+i+".constant["+e+"]:0;"})).join(""),"}}else{","if(",s,"(",i,".buffer)){",c,"=",a,".createStream(",34962,",",i,".buffer);","}else{",c,"=",a,".getBuffer(",i,".buffer);","}",f,'="type" in ',i,"?",o.glTypes,"[",i,".type]:",c,".dtype;",l.normalized,"=!!",i,".normalized;"),n("size"),n("offset"),n("stride"),n("divisor"),r("}}"),r.exit("if(",l.isStream,"){",a,".destroyStream(",c,");","}"),l}))})),o}function M(t,e,n,i,a){function s(t){var e=u[t];e&&(h[t]=e)}var l=function(t,e){if("string"==typeof(r=t.static).frag&&"string"==typeof r.vert){if(0<Object.keys(e.dynamic).length)return null;var r=e.static,n=Object.keys(r);if(0<n.length&&"number"==typeof r[n[0]]){for(var i=[],a=0;a<n.length;++a)i.push([0|r[n[a]],n[a]]);return i}}return null}(t,e),u=function(t,e,r){function n(t){if(t in i){var r=i[t];t=!0;var n,o,s=0|r.x,l=0|r.y;return"width"in r?n=0|r.width:t=!1,"height"in r?o=0|r.height:t=!1,new N(!t&&e&&e.thisDep,!t&&e&&e.contextDep,!t&&e&&e.propDep,(function(t,e){var i=t.shared.context,a=n;"width"in r||(a=e.def(i,".","framebufferWidth","-",s));var u=o;return"height"in r||(u=e.def(i,".","framebufferHeight","-",l)),[s,l,a,u]}))}if(t in a){var u=a[t];return t=V(u,(function(t,e){var r=t.invoke(e,u),n=t.shared.context,i=e.def(r,".x|0"),a=e.def(r,".y|0");return[i,a,e.def('"width" in ',r,"?",r,".width|0:","(",n,".","framebufferWidth","-",i,")"),r=e.def('"height" in ',r,"?",r,".height|0:","(",n,".","framebufferHeight","-",a,")")]})),e&&(t.thisDep=t.thisDep||e.thisDep,t.contextDep=t.contextDep||e.contextDep,t.propDep=t.propDep||e.propDep),t}return e?new N(e.thisDep,e.contextDep,e.propDep,(function(t,e){var r=t.shared.context;return[0,0,e.def(r,".","framebufferWidth"),e.def(r,".","framebufferHeight")]})):null}var i=t.static,a=t.dynamic;if(t=n("viewport")){var o=t;t=new N(t.thisDep,t.contextDep,t.propDep,(function(t,e){var r=o.append(t,e),n=t.shared.context;return e.set(n,".viewportWidth",r[2]),e.set(n,".viewportHeight",r[3]),r}))}return{viewport:t,scissor_box:n("scissor.box")}}(t,d=w(t)),f=k(t),h=function(t,e){var r=t.static,n=t.dynamic,i={};return at.forEach((function(t){function e(e,o){if(t in r){var s=e(r[t]);i[a]=U((function(){return s}))}else if(t in n){var l=n[t];i[a]=V(l,(function(t,e){return o(t,e,t.invoke(e,l))}))}}var a=y(t);switch(t){case"cull.enable":case"blend.enable":case"dither":case"stencil.enable":case"depth.enable":case"scissor.enable":case"polygonOffset.enable":case"sample.alpha":case"sample.enable":case"depth.mask":case"lineWidth":return e((function(t){return t}),(function(t,e,r){return r}));case"depth.func":return e((function(t){return Ct[t]}),(function(t,e,r){return e.def(t.constants.compareFuncs,"[",r,"]")}));case"depth.range":return e((function(t){return t}),(function(t,e,r){return[e.def("+",r,"[0]"),e=e.def("+",r,"[1]")]}));case"blend.func":return e((function(t){return[Lt["srcRGB"in t?t.srcRGB:t.src],Lt["dstRGB"in t?t.dstRGB:t.dst],Lt["srcAlpha"in t?t.srcAlpha:t.src],Lt["dstAlpha"in t?t.dstAlpha:t.dst]]}),(function(t,e,r){function n(t,n){return e.def('"',t,n,'" in ',r,"?",r,".",t,n,":",r,".",t)}t=t.constants.blendFuncs;var i=n("src","RGB"),a=n("dst","RGB"),o=(i=e.def(t,"[",i,"]"),e.def(t,"[",n("src","Alpha"),"]"));return[i,a=e.def(t,"[",a,"]"),o,t=e.def(t,"[",n("dst","Alpha"),"]")]}));case"blend.equation":return e((function(t){return"string"==typeof t?[$[t],$[t]]:"object"==typeof t?[$[t.rgb],$[t.alpha]]:void 0}),(function(t,e,r){var n=t.constants.blendEquations,i=e.def(),a=e.def();return(t=t.cond("typeof ",r,'==="string"')).then(i,"=",a,"=",n,"[",r,"];"),t.else(i,"=",n,"[",r,".rgb];",a,"=",n,"[",r,".alpha];"),e(t),[i,a]}));case"blend.color":return e((function(t){return o(4,(function(e){return+t[e]}))}),(function(t,e,r){return o(4,(function(t){return e.def("+",r,"[",t,"]")}))}));case"stencil.mask":return e((function(t){return 0|t}),(function(t,e,r){return e.def(r,"|0")}));case"stencil.func":return e((function(t){return[Ct[t.cmp||"keep"],t.ref||0,"mask"in t?t.mask:-1]}),(function(t,e,r){return[t=e.def('"cmp" in ',r,"?",t.constants.compareFuncs,"[",r,".cmp]",":",7680),e.def(r,".ref|0"),e=e.def('"mask" in ',r,"?",r,".mask|0:-1")]}));case"stencil.opFront":case"stencil.opBack":return e((function(e){return["stencil.opBack"===t?1029:1028,Pt[e.fail||"keep"],Pt[e.zfail||"keep"],Pt[e.zpass||"keep"]]}),(function(e,r,n){function i(t){return r.def('"',t,'" in ',n,"?",a,"[",n,".",t,"]:",7680)}var a=e.constants.stencilOps;return["stencil.opBack"===t?1029:1028,i("fail"),i("zfail"),i("zpass")]}));case"polygonOffset.offset":return e((function(t){return[0|t.factor,0|t.units]}),(function(t,e,r){return[e.def(r,".factor|0"),e=e.def(r,".units|0")]}));case"cull.face":return e((function(t){var e=0;return"front"===t?e=1028:"back"===t&&(e=1029),e}),(function(t,e,r){return e.def(r,'==="front"?',1028,":",1029)}));case"frontFace":return e((function(t){return Ot[t]}),(function(t,e,r){return e.def(r+'==="cw"?2304:2305')}));case"colorMask":return e((function(t){return t.map((function(t){return!!t}))}),(function(t,e,r){return o(4,(function(t){return"!!"+r+"["+t+"]"}))}));case"sample.coverage":return e((function(t){return["value"in t?t.value:1,!!t.invert]}),(function(t,e,r){return[e.def('"value" in ',r,"?+",r,".value:1"),e=e.def("!!",r,".invert")]}))}})),i}(t),p=T(t,0,l);s("viewport"),s(y("scissor.box"));var d,v=0<Object.keys(h).length;if((d={framebuffer:d,draw:f,shader:p,state:h,dirty:v,scopeVAO:null,drawVAO:null,useVAO:!1,attributes:{}}).profile=function(t){var e,r=t.static;if(t=t.dynamic,"profile"in r){var n=!!r.profile;(e=U((function(t,e){return n}))).enable=n}else if("profile"in t){var i=t.profile;e=V(i,(function(t,e){return t.invoke(e,i)}))}return e}(t),d.uniforms=function(t,e){var r=t.static,n=t.dynamic,i={};return Object.keys(r).forEach((function(t){var e,n=r[t];if("number"==typeof n||"boolean"==typeof n)e=U((function(){return n}));else if("function"==typeof n){var a=n._reglType;"texture2d"===a||"textureCube"===a?e=U((function(t){return t.link(n)})):"framebuffer"!==a&&"framebufferCube"!==a||(e=U((function(t){return t.link(n.color[0])})))}else m(n)&&(e=U((function(t){return t.global.def("[",o(n.length,(function(t){return n[t]})),"]")})));e.value=n,i[t]=e})),Object.keys(n).forEach((function(t){var e=n[t];i[t]=V(e,(function(t,r){return t.invoke(r,e)}))})),i}(n),d.drawVAO=d.scopeVAO=f.vao,!d.drawVAO&&p.program&&!l&&r.angle_instanced_arrays&&f.static.elements){var g=!0;if(t=p.program.attributes.map((function(t){return t=e.static[t],g=g&&!!t,t})),g&&0<t.length){var x=c.getVAO(c.createVAO({attributes:t,elements:f.static.elements}));d.drawVAO=new N(null,null,null,(function(t,e){return t.link(x)})),d.useVAO=!0}}return l?d.useVAO=!0:d.attributes=A(e),d.context=function(t){var e=t.static,r=t.dynamic,n={};return Object.keys(e).forEach((function(t){var r=e[t];n[t]=U((function(t,e){return"number"==typeof r||"boolean"==typeof r?""+r:t.link(r)}))})),Object.keys(r).forEach((function(t){var e=r[t];n[t]=V(e,(function(t,r){return t.invoke(r,e)}))})),n}(i),d}function S(t,e,r){var n=t.shared.context,i=t.scope();Object.keys(r).forEach((function(a){e.save(n,"."+a);var o=r[a].append(t,e);Array.isArray(o)?i(n,".",a,"=[",o.join(),"];"):i(n,".",a,"=",o,";")})),e(i)}function E(t,e,r,n){var i,a=(s=t.shared).gl,o=s.framebuffer;tt&&(i=e.def(s.extensions,".webgl_draw_buffers"));var s=(l=t.constants).drawBuffer,l=l.backBuffer;t=r?r.append(t,e):e.def(o,".next"),n||e("if(",t,"!==",o,".cur){"),e("if(",t,"){",a,".bindFramebuffer(",36160,",",t,".framebuffer);"),tt&&e(i,".drawBuffersWEBGL(",s,"[",t,".colorAttachments.length]);"),e("}else{",a,".bindFramebuffer(",36160,",null);"),tt&&e(i,".drawBuffersWEBGL(",l,");"),e("}",o,".cur=",t,";"),n||e("}")}function L(t,e,r){var n=t.shared,i=n.gl,a=t.current,s=t.next,l=n.current,u=n.next,c=t.cond(l,".dirty");at.forEach((function(e){var n,f;if(!((e=y(e))in r.state))if(e in s){n=s[e],f=a[e];var h=o(nt[e].length,(function(t){return c.def(n,"[",t,"]")}));c(t.cond(h.map((function(t,e){return t+"!=="+f+"["+e+"]"})).join("||")).then(i,".",lt[e],"(",h,");",h.map((function(t,e){return f+"["+e+"]="+t})).join(";"),";"))}else n=c.def(u,".",e),h=t.cond(n,"!==",l,".",e),c(h),e in ot?h(t.cond(n).then(i,".enable(",ot[e],");").else(i,".disable(",ot[e],");"),l,".",e,"=",n,";"):h(i,".",lt[e],"(",n,");",l,".",e,"=",n,";")})),0===Object.keys(r.state).length&&c(l,".dirty=false;"),e(c)}function C(t,e,r,n){var i,a=t.shared,o=t.current,s=a.current,l=a.gl;B(Object.keys(r)).forEach((function(a){var u=r[a];if(!n||n(u)){var c=u.append(t,e);if(ot[a]){var f=ot[a];j(u)?(i=t.link(c,{stable:!0}),e(t.cond(i).then(l,".enable(",f,");").else(l,".disable(",f,");")),e(s,".",a,"=",i,";")):(e(t.cond(c).then(l,".enable(",f,");").else(l,".disable(",f,");")),e(s,".",a,"=",c,";"))}else if(m(c)){var h=o[a];e(l,".",lt[a],"(",c,");",c.map((function(t,e){return h+"["+e+"]="+t})).join(";"),";")}else j(u)?(i=t.link(c,{stable:!0}),e(l,".",lt[a],"(",i,");",s,".",a,"=",i,";")):e(l,".",lt[a],"(",c,");",s,".",a,"=",c,";")}}))}function P(t,e){Q&&(t.instancing=e.def(t.shared.extensions,".angle_instanced_arrays"))}function O(t,e,r,n,i){function a(){return"undefined"==typeof performance?"Date.now()":"performance.now()"}function o(t){t(u=e.def(),"=",a(),";"),"string"==typeof i?t(h,".count+=",i,";"):t(h,".count++;"),d&&(n?t(c=e.def(),"=",v,".getNumPendingQueries();"):t(v,".beginQuery(",h,");"))}function s(t){t(h,".cpuTime+=",a(),"-",u,";"),d&&(n?t(v,".pushScopeStats(",c,",",v,".getNumPendingQueries(),",h,");"):t(v,".endQuery();"))}function l(t){var r=e.def(p,".profile");e(p,".profile=",t,";"),e.exit(p,".profile=",r,";")}var u,c,f=t.shared,h=t.stats,p=f.current,v=f.timer;if(r=r.profile){if(j(r))return void(r.enable?(o(e),s(e.exit),l("true")):l("false"));l(r=r.append(t,e))}else r=e.def(p,".profile");o(f=t.block()),e("if(",r,"){",f,"}"),s(t=t.block()),e.exit("if(",r,"){",t,"}")}function I(t,e,r,n,i){function a(r,n,i){function a(){e("if(!",c,".buffer){",l,".enableVertexAttribArray(",u,");}");var r,a=i.type;r=i.size?e.def(i.size,"||",n):n,e("if(",c,".type!==",a,"||",c,".size!==",r,"||",p.map((function(t){return c+"."+t+"!=="+i[t]})).join("||"),"){",l,".bindBuffer(",34962,",",f,".buffer);",l,".vertexAttribPointer(",[u,r,a,i.normalized,i.stride,i.offset],");",c,".type=",a,";",c,".size=",r,";",p.map((function(t){return c+"."+t+"="+i[t]+";"})).join(""),"}"),Q&&(a=i.divisor,e("if(",c,".divisor!==",a,"){",t.instancing,".vertexAttribDivisorANGLE(",[u,a],");",c,".divisor=",a,";}"))}function s(){e("if(",c,".buffer){",l,".disableVertexAttribArray(",u,");",c,".buffer=null;","}if(",St.map((function(t,e){return c+"."+t+"!=="+h[e]})).join("||"),"){",l,".vertexAttrib4f(",u,",",h,");",St.map((function(t,e){return c+"."+t+"="+h[e]+";"})).join(""),"}")}var l=o.gl,u=e.def(r,".location"),c=e.def(o.attributes,"[",u,"]");r=i.state;var f=i.buffer,h=[i.x,i.y,i.z,i.w],p=["buffer","normalized","offset","stride"];1===r?a():2===r?s():(e("if(",r,"===",1,"){"),a(),e("}else{"),s(),e("}"))}var o=t.shared;n.forEach((function(n){var o,s=n.name,l=r.attributes[s];if(l){if(!i(l))return;o=l.append(t,e)}else{if(!i(It))return;var u=t.scopeAttrib(s);o={},Object.keys(new K).forEach((function(t){o[t]=e.def(u,".",t)}))}a(t.link(n),function(t){switch(t){case 35664:case 35667:case 35671:return 2;case 35665:case 35668:case 35672:return 3;case 35666:case 35669:case 35673:return 4;default:return 1}}(n.info.type),o)}))}function D(t,r,n,i,a,s){for(var l,u=t.shared,c=u.gl,f=0;f<i.length;++f){var h,p=(g=i[f]).name,d=g.info.type,v=n.uniforms[p],g=t.link(g)+".location";if(v){if(!a(v))continue;if(j(v)){if(p=v.value,35678===d||35680===d)r(c,".uniform1i(",g,",",(d=t.link(p._texture||p.color[0]._texture))+".bind());"),r.exit(d,".unbind();");else if(35674===d||35675===d||35676===d)v=2,35675===d?v=3:35676===d&&(v=4),r(c,".uniformMatrix",v,"fv(",g,",false,",p=t.global.def("new Float32Array(["+Array.prototype.slice.call(p)+"])"),");");else{switch(d){case 5126:l="1f";break;case 35664:l="2f";break;case 35665:l="3f";break;case 35666:l="4f";break;case 35670:case 5124:l="1i";break;case 35671:case 35667:l="2i";break;case 35672:case 35668:l="3i";break;case 35673:case 35669:l="4i"}r(c,".uniform",l,"(",g,",",m(p)?Array.prototype.slice.call(p):p,");")}continue}h=v.append(t,r)}else{if(!a(It))continue;h=r.def(u.uniforms,"[",e.id(p),"]")}switch(35678===d?r("if(",h,"&&",h,'._reglType==="framebuffer"){',h,"=",h,".color[0];","}"):35680===d&&r("if(",h,"&&",h,'._reglType==="framebufferCube"){',h,"=",h,".color[0];","}"),p=1,d){case 35678:case 35680:d=r.def(h,"._texture"),r(c,".uniform1i(",g,",",d,".bind());"),r.exit(d,".unbind();");continue;case 5124:case 35670:l="1i";break;case 35667:case 35671:l="2i",p=2;break;case 35668:case 35672:l="3i",p=3;break;case 35669:case 35673:l="4i",p=4;break;case 5126:l="1f";break;case 35664:l="2f",p=2;break;case 35665:l="3f",p=3;break;case 35666:l="4f",p=4;break;case 35674:l="Matrix2fv";break;case 35675:l="Matrix3fv";break;case 35676:l="Matrix4fv"}if("M"===l.charAt(0)){r(c,".uniform",l,"(",g,","),g=Math.pow(d-35674+2,2);var y=t.global.def("new Float32Array(",g,")");Array.isArray(h)?r("false,(",o(g,(function(t){return y+"["+t+"]="+h[t]})),",",y,")"):r("false,(Array.isArray(",h,")||",h," instanceof Float32Array)?",h,":(",o(g,(function(t){return y+"["+t+"]="+h+"["+t+"]"})),",",y,")"),r(");")}else{if(1<p){d=[];var x=[];for(v=0;v<p;++v)Array.isArray(h)?x.push(h[v]):x.push(r.def(h+"["+v+"]")),s&&d.push(r.def());s&&r("if(!",t.batchId,"||",d.map((function(t,e){return t+"!=="+x[e]})).join("||"),"){",d.map((function(t,e){return t+"="+x[e]+";"})).join("")),r(c,".uniform",l,"(",g,",",x.join(","),");")}else s&&(d=r.def(),r("if(!",t.batchId,"||",d,"!==",h,"){",d,"=",h,";")),r(c,".uniform",l,"(",g,",",h,");");s&&r("}")}}}function z(t,e,r,n){function i(i){var a=h[i];return a?a.contextDep&&n.contextDynamic||a.propDep?a.append(t,r):a.append(t,e):e.def(f,".",i)}function a(){function t(){r(l,".drawElementsInstancedANGLE(",[d,g,y,v+"<<(("+y+"-5121)>>1)",s],");")}function e(){r(l,".drawArraysInstancedANGLE(",[d,v,g,s],");")}p&&"null"!==p?m?t():(r("if(",p,"){"),t(),r("}else{"),e(),r("}")):e()}function o(){function t(){r(c+".drawElements("+[d,g,y,v+"<<(("+y+"-5121)>>1)"]+");")}function e(){r(c+".drawArrays("+[d,v,g]+");")}p&&"null"!==p?m?t():(r("if(",p,"){"),t(),r("}else{"),e(),r("}")):e()}var s,l,u=t.shared,c=u.gl,f=u.draw,h=n.draw,p=function(){var i=h.elements,a=e;return i?((i.contextDep&&n.contextDynamic||i.propDep)&&(a=r),i=i.append(t,a),h.elementsActive&&a("if("+i+")"+c+".bindBuffer(34963,"+i+".buffer.buffer);")):(i=a.def(),a(i,"=",f,".","elements",";","if(",i,"){",c,".bindBuffer(",34963,",",i,".buffer.buffer);}","else if(",u.vao,".currentVAO){",i,"=",t.shared.elements+".getElements("+u.vao,".currentVAO.elements);",et?"":"if("+i+")"+c+".bindBuffer(34963,"+i+".buffer.buffer);","}")),i}(),d=i("primitive"),v=i("offset"),g=function(){var i=h.count,a=e;return i?((i.contextDep&&n.contextDynamic||i.propDep)&&(a=r),i=i.append(t,a)):i=a.def(f,".","count"),i}();if("number"==typeof g){if(0===g)return}else r("if(",g,"){"),r.exit("}");Q&&(s=i("instances"),l=t.instancing);var y=p+".type",m=h.elements&&j(h.elements)&&!h.vaoActive;Q&&("number"!=typeof s||0<=s)?"string"==typeof s?(r("if(",s,">0){"),a(),r("}else if(",s,"<0){"),o(),r("}")):a():o()}function H(t,e,r,n,i){return i=(e=_()).proc("body",i),Q&&(e.instancing=i.def(e.shared.extensions,".angle_instanced_arrays")),t(e,i,r,n),e.compile().body}function q(t,e,r,n){P(t,e),r.useVAO?r.drawVAO?e(t.shared.vao,".setVAO(",r.drawVAO.append(t,e),");"):e(t.shared.vao,".setVAO(",t.shared.vao,".targetVAO);"):(e(t.shared.vao,".setVAO(null);"),I(t,e,r,n.attributes,(function(){return!0}))),D(t,e,r,n.uniforms,(function(){return!0}),!1),z(t,e,e,r)}function Z(t,e,r,n){function i(){return!0}t.batchId="a1",P(t,e),I(t,e,r,n.attributes,i),D(t,e,r,n.uniforms,i,!1),z(t,e,e,r)}function W(t,e,r,n){function i(t){return t.contextDep&&o||t.propDep}function a(t){return!i(t)}P(t,e);var o=r.contextDep,s=e.def(),l=e.def();t.shared.props=l,t.batchId=s;var u=t.scope(),c=t.scope();e(u.entry,"for(",s,"=0;",s,"<","a1",";++",s,"){",l,"=","a0","[",s,"];",c,"}",u.exit),r.needsContext&&S(t,c,r.context),r.needsFramebuffer&&E(t,c,r.framebuffer),C(t,c,r.state,i),r.profile&&i(r.profile)&&O(t,c,r,!1,!0),n?(r.useVAO?r.drawVAO?i(r.drawVAO)?c(t.shared.vao,".setVAO(",r.drawVAO.append(t,c),");"):u(t.shared.vao,".setVAO(",r.drawVAO.append(t,u),");"):u(t.shared.vao,".setVAO(",t.shared.vao,".targetVAO);"):(u(t.shared.vao,".setVAO(null);"),I(t,u,r,n.attributes,a),I(t,c,r,n.attributes,i)),D(t,u,r,n.uniforms,a,!1),D(t,c,r,n.uniforms,i,!0),z(t,u,c,r)):(e=t.global.def("{}"),n=r.shader.progVar.append(t,c),l=c.def(n,".id"),u=c.def(e,"[",l,"]"),c(t.shared.gl,".useProgram(",n,".program);","if(!",u,"){",u,"=",e,"[",l,"]=",t.link((function(e){return H(Z,t,r,e,2)})),"(",n,");}",u,".call(this,a0[",s,"],",s,");"))}function X(t,r){function n(e){var n=r.shader[e];n&&(n=n.append(t,i),isNaN(n)?i.set(a.shader,"."+e,n):i.set(a.shader,"."+e,t.link(n,{stable:!0})))}var i=t.proc("scope",3);t.batchId="a2";var a=t.shared,o=a.current;if(S(t,i,r.context),r.framebuffer&&r.framebuffer.append(t,i),B(Object.keys(r.state)).forEach((function(e){var n=r.state[e],o=n.append(t,i);m(o)?o.forEach((function(r,n){isNaN(r)?i.set(t.next[e],"["+n+"]",r):i.set(t.next[e],"["+n+"]",t.link(r,{stable:!0}))})):j(n)?i.set(a.next,"."+e,t.link(o,{stable:!0})):i.set(a.next,"."+e,o)})),O(t,i,r,!0,!0),["elements","offset","count","instances","primitive"].forEach((function(e){var n=r.draw[e];n&&(n=n.append(t,i),isNaN(n)?i.set(a.draw,"."+e,n):i.set(a.draw,"."+e,t.link(n),{stable:!0}))})),Object.keys(r.uniforms).forEach((function(n){var o=r.uniforms[n].append(t,i);Array.isArray(o)&&(o="["+o.map((function(e){return isNaN(e)?e:t.link(e,{stable:!0})}))+"]"),i.set(a.uniforms,"["+t.link(e.id(n),{stable:!0})+"]",o)})),Object.keys(r.attributes).forEach((function(e){var n=r.attributes[e].append(t,i),a=t.scopeAttrib(e);Object.keys(new K).forEach((function(t){i.set(a,"."+t,n[t])}))})),r.scopeVAO){var s=r.scopeVAO.append(t,i);isNaN(s)?i.set(a.vao,".targetVAO",s):i.set(a.vao,".targetVAO",t.link(s,{stable:!0}))}n("vert"),n("frag"),0<Object.keys(r.state).length&&(i(o,".dirty=true;"),i.exit(o,".dirty=true;")),i("a1(",t.shared.context,",a0,",t.batchId,");")}function J(t,e,r){var n=e.static[r];if(n&&function(t){if("object"==typeof t&&!m(t)){for(var e=Object.keys(t),r=0;r<e.length;++r)if(Y.isDynamic(t[e[r]]))return!0;return!1}}(n)){var i=t.global,a=Object.keys(n),o=!1,s=!1,l=!1,u=t.global.def("{}");a.forEach((function(e){var r=n[e];if(Y.isDynamic(r))"function"==typeof r&&(r=n[e]=Y.unbox(r)),e=V(r,null),o=o||e.thisDep,l=l||e.propDep,s=s||e.contextDep;else{switch(i(u,".",e,"="),typeof r){case"number":i(r);break;case"string":i('"',r,'"');break;case"object":Array.isArray(r)&&i("[",r.join(),"]");break;default:i(t.link(r))}i(";")}})),e.dynamic[r]=new Y.DynamicVariable(4,{thisDep:o,contextDep:s,propDep:l,ref:u,append:function(t,e){a.forEach((function(r){var i=n[r];Y.isDynamic(i)&&(i=t.invoke(e,i),e(u,".",r,"=",i,";"))}))}}),delete e.static[r]}}var K=c.Record,$={add:32774,subtract:32778,"reverse subtract":32779};r.ext_blend_minmax&&($.min=32775,$.max=32776);var Q=r.angle_instanced_arrays,tt=r.webgl_draw_buffers,et=r.oes_vertex_array_object,nt={dirty:!0,profile:g.profile},it={},at=[],ot={},lt={};x("dither",3024),x("blend.enable",3042),b("blend.color","blendColor",[0,0,0,0]),b("blend.equation","blendEquationSeparate",[32774,32774]),b("blend.func","blendFuncSeparate",[1,0,1,0]),x("depth.enable",2929,!0),b("depth.func","depthFunc",513),b("depth.range","depthRange",[0,1]),b("depth.mask","depthMask",!0),b("colorMask","colorMask",[!0,!0,!0,!0]),x("cull.enable",2884),b("cull.face","cullFace",1029),b("frontFace","frontFace",2305),b("lineWidth","lineWidth",1),x("polygonOffset.enable",32823),b("polygonOffset.offset","polygonOffset",[0,0]),x("sample.alpha",32926),x("sample.enable",32928),b("sample.coverage","sampleCoverage",[1,!1]),x("stencil.enable",2960),b("stencil.mask","stencilMask",-1),b("stencil.func","stencilFunc",[519,0,-1]),b("stencil.opFront","stencilOpSeparate",[1028,7680,7680,7680]),b("stencil.opBack","stencilOpSeparate",[1029,7680,7680,7680]),x("scissor.enable",3089),b("scissor.box","scissor",[0,0,t.drawingBufferWidth,t.drawingBufferHeight]),b("viewport","viewport",[0,0,t.drawingBufferWidth,t.drawingBufferHeight]);var ut={gl:t,context:p,strings:e,next:it,current:nt,draw:h,elements:a,buffer:i,shader:f,attributes:c.state,vao:c,uniforms:u,framebuffer:l,extensions:r,timer:d,isBufferArgs:F},ct={primTypes:st,compareFuncs:Ct,blendFuncs:Lt,blendEquations:$,stencilOps:Pt,glTypes:rt,orientationType:Ot};tt&&(ct.backBuffer=[1029],ct.drawBuffer=o(n.maxDrawbuffers,(function(t){return 0===t?[0]:o(t,(function(t){return 36064+t}))})));var ft=0;return{next:it,current:nt,procs:function(){var t=_(),e=t.proc("poll"),i=t.proc("refresh"),a=t.block();e(a),i(a);var s,l=(f=t.shared).gl,u=f.next,c=f.current;a(c,".dirty=false;"),E(t,e),E(t,i,null,!0),Q&&(s=t.link(Q)),r.oes_vertex_array_object&&i(t.link(r.oes_vertex_array_object),".bindVertexArrayOES(null);");var f=i.def(f.attributes),h=i.def(0),p=t.cond(h,".buffer");p.then(l,".enableVertexAttribArray(i);",l,".bindBuffer(",34962,",",h,".buffer.buffer);",l,".vertexAttribPointer(i,",h,".size,",h,".type,",h,".normalized,",h,".stride,",h,".offset);").else(l,".disableVertexAttribArray(i);",l,".vertexAttrib4f(i,",h,".x,",h,".y,",h,".z,",h,".w);",h,".buffer=null;");var d=t.link(n.maxAttributes,{stable:!0});return i("for(var i=0;i<",d,";++i){",h,"=",f,"[i];",p,"}"),Q&&i("for(var i=0;i<",d,";++i){",s,".vertexAttribDivisorANGLE(i,",f,"[i].divisor);","}"),i(t.shared.vao,".currentVAO=null;",t.shared.vao,".setVAO(",t.shared.vao,".targetVAO);"),Object.keys(ot).forEach((function(r){var n=ot[r],o=a.def(u,".",r),s=t.block();s("if(",o,"){",l,".enable(",n,")}else{",l,".disable(",n,")}",c,".",r,"=",o,";"),i(s),e("if(",o,"!==",c,".",r,"){",s,"}")})),Object.keys(lt).forEach((function(r){var n,s,f=lt[r],h=nt[r],p=t.block();p(l,".",f,"("),m(h)?(f=h.length,n=t.global.def(u,".",r),s=t.global.def(c,".",r),p(o(f,(function(t){return n+"["+t+"]"})),");",o(f,(function(t){return s+"["+t+"]="+n+"["+t+"];"})).join("")),e("if(",o(f,(function(t){return n+"["+t+"]!=="+s+"["+t+"]"})).join("||"),"){",p,"}")):(n=a.def(u,".",r),s=a.def(c,".",r),p(n,");",c,".",r,"=",n,";"),e("if(",n,"!==",s,"){",p,"}")),i(p)})),t.compile()}(),compile:function(t,e,r,n,i){var a=_();a.stats=a.link(i),Object.keys(e.static).forEach((function(t){J(a,e,t)})),Et.forEach((function(e){J(a,t,e)}));var o=M(t,e,r,n);return o.shader.program&&(o.shader.program.attributes.sort((function(t,e){return t.name<e.name?-1:1})),o.shader.program.uniforms.sort((function(t,e){return t.name<e.name?-1:1}))),function(t,e){var r=t.proc("draw",1);P(t,r),S(t,r,e.context),E(t,r,e.framebuffer),L(t,r,e),C(t,r,e.state),O(t,r,e,!1,!0);var n=e.shader.progVar.append(t,r);if(r(t.shared.gl,".useProgram(",n,".program);"),e.shader.program)q(t,r,e,e.shader.program);else{r(t.shared.vao,".setVAO(null);");var i=t.global.def("{}"),a=r.def(n,".id"),o=r.def(i,"[",a,"]");r(t.cond(o).then(o,".call(this,a0);").else(o,"=",i,"[",a,"]=",t.link((function(r){return H(q,t,e,r,1)})),"(",n,");",o,".call(this,a0);"))}0<Object.keys(e.state).length&&r(t.shared.current,".dirty=true;"),t.shared.vao&&r(t.shared.vao,".setVAO(null);")}(a,o),X(a,o),function(t,e){function r(t){return t.contextDep&&i||t.propDep}var n=t.proc("batch",2);t.batchId="0",P(t,n);var i=!1,a=!0;Object.keys(e.context).forEach((function(t){i=i||e.context[t].propDep})),i||(S(t,n,e.context),a=!1);var o=!1;if((s=e.framebuffer)?(s.propDep?i=o=!0:s.contextDep&&i&&(o=!0),o||E(t,n,s)):E(t,n,null),e.state.viewport&&e.state.viewport.propDep&&(i=!0),L(t,n,e),C(t,n,e.state,(function(t){return!r(t)})),e.profile&&r(e.profile)||O(t,n,e,!1,"a1"),e.contextDep=i,e.needsContext=a,e.needsFramebuffer=o,(a=e.shader.progVar).contextDep&&i||a.propDep)W(t,n,e,null);else if(a=a.append(t,n),n(t.shared.gl,".useProgram(",a,".program);"),e.shader.program)W(t,n,e,e.shader.program);else{n(t.shared.vao,".setVAO(null);");var s=t.global.def("{}"),l=(o=n.def(a,".id"),n.def(s,"[",o,"]"));n(t.cond(l).then(l,".call(this,a0,a1);").else(l,"=",s,"[",o,"]=",t.link((function(r){return H(W,t,e,r,2)})),"(",a,");",l,".call(this,a0,a1);"))}0<Object.keys(e.state).length&&n(t.shared.current,".dirty=true;"),t.shared.vao&&n(t.shared.vao,".setVAO(null);")}(a,o),G(a.compile(),{destroy:function(){o.shader.program.destroy()}})}}}function q(t,e){for(var r=0;r<t.length;++r)if(t[r]===e)return r;return-1}var G=function(t,e){for(var r=Object.keys(e),n=0;n<r.length;++n)t[r[n]]=e[r[n]];return t},Z=0,Y={DynamicVariable:t,define:function(e,n){return new t(e,r(n+""))},isDynamic:function(e){return"function"==typeof e&&!e._reglType||e instanceof t},unbox:function e(r,n){return"function"==typeof r?new t(0,r):"number"==typeof r||"boolean"==typeof r?new t(5,r):Array.isArray(r)?new t(6,r.map((function(t,r){return e(t,n+"["+r+"]")}))):r instanceof t?r:void 0},accessor:r},W={next:"function"==typeof requestAnimationFrame?function(t){return requestAnimationFrame(t)}:function(t){return setTimeout(t,16)},cancel:"function"==typeof cancelAnimationFrame?function(t){return cancelAnimationFrame(t)}:clearTimeout},X="undefined"!=typeof performance&&performance.now?function(){return performance.now()}:function(){return+new Date},J=l();J.zero=l();var K=function(t,e){var r=1;e.ext_texture_filter_anisotropic&&(r=t.getParameter(34047));var n=1,i=1;e.webgl_draw_buffers&&(n=t.getParameter(34852),i=t.getParameter(36063));var a=!!e.oes_texture_float;if(a){a=t.createTexture(),t.bindTexture(3553,a),t.texImage2D(3553,0,6408,1,1,0,6408,5126,null);var o=t.createFramebuffer();if(t.bindFramebuffer(36160,o),t.framebufferTexture2D(36160,36064,3553,a,0),t.bindTexture(3553,null),36053!==t.checkFramebufferStatus(36160))a=!1;else{t.viewport(0,0,1,1),t.clearColor(1,0,0,1),t.clear(16384);var s=J.allocType(5126,4);t.readPixels(0,0,1,1,6408,5126,s),t.getError()?a=!1:(t.deleteFramebuffer(o),t.deleteTexture(a),a=1===s[0]),J.freeType(s)}}return s=!0,"undefined"!=typeof navigator&&(/MSIE/.test(navigator.userAgent)||/Trident\//.test(navigator.appVersion)||/Edge/.test(navigator.userAgent))||(s=t.createTexture(),o=J.allocType(5121,36),t.activeTexture(33984),t.bindTexture(34067,s),t.texImage2D(34069,0,6408,3,3,0,6408,5121,o),J.freeType(o),t.bindTexture(34067,null),t.deleteTexture(s),s=!t.getError()),{colorBits:[t.getParameter(3410),t.getParameter(3411),t.getParameter(3412),t.getParameter(3413)],depthBits:t.getParameter(3414),stencilBits:t.getParameter(3415),subpixelBits:t.getParameter(3408),extensions:Object.keys(e).filter((function(t){return!!e[t]})),maxAnisotropic:r,maxDrawbuffers:n,maxColorAttachments:i,pointSizeDims:t.getParameter(33901),lineWidthDims:t.getParameter(33902),maxViewportDims:t.getParameter(3386),maxCombinedTextureUnits:t.getParameter(35661),maxCubeMapSize:t.getParameter(34076),maxRenderbufferSize:t.getParameter(34024),maxTextureUnits:t.getParameter(34930),maxTextureSize:t.getParameter(3379),maxAttributes:t.getParameter(34921),maxVertexUniforms:t.getParameter(36347),maxVertexTextureUnits:t.getParameter(35660),maxVaryingVectors:t.getParameter(36348),maxFragmentUniforms:t.getParameter(36349),glsl:t.getParameter(35724),renderer:t.getParameter(7937),vendor:t.getParameter(7936),version:t.getParameter(7938),readFloat:a,npotTextureCube:s}},$=function(t){return t instanceof Uint8Array||t instanceof Uint16Array||t instanceof Uint32Array||t instanceof Int8Array||t instanceof Int16Array||t instanceof Int32Array||t instanceof Float32Array||t instanceof Float64Array||t instanceof Uint8ClampedArray},Q=function(t){return Object.keys(t).map((function(e){return t[e]}))},tt={shape:function(t){for(var e=[];t.length;t=t[0])e.push(t.length);return e},flatten:function(t,e,r,n){var i=1;if(e.length)for(var a=0;a<e.length;++a)i*=e[a];else i=0;switch(r=n||J.allocType(r,i),e.length){case 0:break;case 1:for(n=e[0],e=0;e<n;++e)r[e]=t[e];break;case 2:for(n=e[0],e=e[1],a=i=0;a<n;++a)for(var o=t[a],s=0;s<e;++s)r[i++]=o[s];break;case 3:c(t,e[0],e[1],e[2],r,0);break;default:f(t,e,0,r,0)}return r}},et={"[object Int8Array]":5120,"[object Int16Array]":5122,"[object Int32Array]":5124,"[object Uint8Array]":5121,"[object Uint8ClampedArray]":5121,"[object Uint16Array]":5123,"[object Uint32Array]":5125,"[object Float32Array]":5126,"[object Float64Array]":5121,"[object ArrayBuffer]":5121},rt={int8:5120,int16:5122,int32:5124,uint8:5121,uint16:5123,uint32:5125,float:5126,float32:5126},nt={dynamic:35048,stream:35040,static:35044},it=tt.flatten,at=tt.shape,ot=[];ot[5120]=1,ot[5122]=2,ot[5124]=4,ot[5121]=1,ot[5123]=2,ot[5125]=4,ot[5126]=4;var st={points:0,point:0,lines:1,line:1,triangles:4,triangle:4,"line loop":2,"line strip":3,"triangle strip":5,"triangle fan":6},lt=new Float32Array(1),ut=new Uint32Array(lt.buffer),ct=[9984,9986,9985,9987],ft=[0,6409,6410,6407,6408],ht={};ht[6409]=ht[6406]=ht[6402]=1,ht[34041]=ht[6410]=2,ht[6407]=ht[35904]=3,ht[6408]=ht[35906]=4;var pt=x("HTMLCanvasElement"),dt=x("OffscreenCanvas"),vt=x("CanvasRenderingContext2D"),gt=x("ImageBitmap"),yt=x("HTMLImageElement"),mt=x("HTMLVideoElement"),xt=Object.keys(et).concat([pt,dt,vt,gt,yt,mt]),bt=[];bt[5121]=1,bt[5126]=4,bt[36193]=2,bt[5123]=2,bt[5125]=4;var _t=[];_t[32854]=2,_t[32855]=2,_t[36194]=2,_t[34041]=4,_t[33776]=.5,_t[33777]=.5,_t[33778]=1,_t[33779]=1,_t[35986]=.5,_t[35987]=1,_t[34798]=1,_t[35840]=.5,_t[35841]=.25,_t[35842]=.5,_t[35843]=.25,_t[36196]=.5;var wt=[];wt[32854]=2,wt[32855]=2,wt[36194]=2,wt[33189]=2,wt[36168]=1,wt[34041]=4,wt[35907]=4,wt[34836]=16,wt[34842]=8,wt[34843]=6;var Tt=function(t,e,r,n,i){function a(t){this.id=u++,this.refCount=1,this.renderbuffer=t,this.format=32854,this.height=this.width=0,i.profile&&(this.stats={size:0})}function o(e){var r=e.renderbuffer;t.bindRenderbuffer(36161,null),t.deleteRenderbuffer(r),e.renderbuffer=null,e.refCount=0,delete c[e.id],n.renderbufferCount--}var s={rgba4:32854,rgb565:36194,"rgb5 a1":32855,depth:33189,stencil:36168,"depth stencil":34041};e.ext_srgb&&(s.srgba=35907),e.ext_color_buffer_half_float&&(s.rgba16f=34842,s.rgb16f=34843),e.webgl_color_buffer_float&&(s.rgba32f=34836);var l=[];Object.keys(s).forEach((function(t){l[s[t]]=t}));var u=0,c={};return a.prototype.decRef=function(){0>=--this.refCount&&o(this)},i.profile&&(n.getTotalRenderbufferSize=function(){var t=0;return Object.keys(c).forEach((function(e){t+=c[e].stats.size})),t}),{create:function(e,r){function o(e,r){var n=0,a=0,c=32854;if("object"==typeof e&&e?("shape"in e?(n=0|(a=e.shape)[0],a=0|a[1]):("radius"in e&&(n=a=0|e.radius),"width"in e&&(n=0|e.width),"height"in e&&(a=0|e.height)),"format"in e&&(c=s[e.format])):"number"==typeof e?(n=0|e,a="number"==typeof r?0|r:n):e||(n=a=1),n!==u.width||a!==u.height||c!==u.format)return o.width=u.width=n,o.height=u.height=a,u.format=c,t.bindRenderbuffer(36161,u.renderbuffer),t.renderbufferStorage(36161,c,n,a),i.profile&&(u.stats.size=wt[u.format]*u.width*u.height),o.format=l[u.format],o}var u=new a(t.createRenderbuffer());return c[u.id]=u,n.renderbufferCount++,o(e,r),o.resize=function(e,r){var n=0|e,a=0|r||n;return n===u.width&&a===u.height||(o.width=u.width=n,o.height=u.height=a,t.bindRenderbuffer(36161,u.renderbuffer),t.renderbufferStorage(36161,u.format,n,a),i.profile&&(u.stats.size=wt[u.format]*u.width*u.height)),o},o._reglType="renderbuffer",o._renderbuffer=u,i.profile&&(o.stats=u.stats),o.destroy=function(){u.decRef()},o},clear:function(){Q(c).forEach(o)},restore:function(){Q(c).forEach((function(e){e.renderbuffer=t.createRenderbuffer(),t.bindRenderbuffer(36161,e.renderbuffer),t.renderbufferStorage(36161,e.format,e.width,e.height)})),t.bindRenderbuffer(36161,null)}}},kt=[];kt[6408]=4,kt[6407]=3;var At=[];At[5121]=1,At[5126]=4,At[36193]=2;var Mt=[1116352408,1899447441,-1245643825,-373957723,961987163,1508970993,-1841331548,-1424204075,-670586216,310598401,607225278,1426881987,1925078388,-2132889090,-1680079193,-1046744716,-459576895,-272742522,264347078,604807628,770255983,1249150122,1555081692,1996064986,-1740746414,-1473132947,-1341970488,-1084653625,-958395405,-710438585,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,-2117940946,-1838011259,-1564481375,-1474664885,-1035236496,-949202525,-778901479,-694614492,-200395387,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,-2067236844,-1933114872,-1866530822,-1538233109,-1090935817,-965641998],St=["x","y","z","w"],Et="blend.func blend.equation stencil.func stencil.opFront stencil.opBack sample.coverage viewport scissor.box polygonOffset.offset".split(" "),Lt={0:0,1:1,zero:0,one:1,"src color":768,"one minus src color":769,"src alpha":770,"one minus src alpha":771,"dst color":774,"one minus dst color":775,"dst alpha":772,"one minus dst alpha":773,"constant color":32769,"one minus constant color":32770,"constant alpha":32771,"one minus constant alpha":32772,"src alpha saturate":776},Ct={never:512,less:513,"<":513,equal:514,"=":514,"==":514,"===":514,lequal:515,"<=":515,greater:516,">":516,notequal:517,"!=":517,"!==":517,gequal:518,">=":518,always:519},Pt={0:0,zero:0,keep:7680,replace:7681,increment:7682,decrement:7683,"increment wrap":34055,"decrement wrap":34056,invert:5386},Ot={cw:2304,ccw:2305},It=new N(!1,!1,!1,(function(){}));return function(t){function e(){if(0===J.length)T&&T.update(),et=null;else{et=W.next(e),f();for(var t=J.length-1;0<=t;--t){var r=J[t];r&&r(O,null,0)}d.flush(),T&&T.update()}}function r(){!et&&0<J.length&&(et=W.next(e))}function n(){et&&(W.cancel(e),et=null)}function i(t){t.preventDefault(),n(),$.forEach((function(t){t()}))}function o(t){d.getError(),m.restore(),F.restore(),D.restore(),B.restore(),N.restore(),j.restore(),R.restore(),T&&T.restore(),U.procs.refresh(),r(),Q.forEach((function(t){t()}))}function s(t){function e(t,e){var r={},n={};return Object.keys(t).forEach((function(i){var a=t[i];if(Y.isDynamic(a))n[i]=Y.unbox(a,i);else{if(e&&Array.isArray(a))for(var o=0;o<a.length;++o)if(Y.isDynamic(a[o]))return void(n[i]=Y.unbox(a,i));r[i]=a}})),{dynamic:n,static:r}}var r=e(t.context||{},!0),n=e(t.uniforms||{},!0),i=e(t.attributes||{},!1);t=e(function(t){function e(t){if(t in r){var e=r[t];delete r[t],Object.keys(e).forEach((function(n){r[t+"."+n]=e[n]}))}}var r=G({},t);return delete r.uniforms,delete r.attributes,delete r.context,delete r.vao,"stencil"in r&&r.stencil.op&&(r.stencil.opBack=r.stencil.opFront=r.stencil.op,delete r.stencil.op),e("blend"),e("depth"),e("cull"),e("stencil"),e("polygonOffset"),e("scissor"),e("sample"),"vao"in t&&(r.vao=t.vao),r}(t),!1);var a={gpuTime:0,cpuTime:0,count:0},o=U.compile(t,i,n,r,a),s=o.draw,l=o.batch,u=o.scope,c=[];return G((function(t,e){var r;if("function"==typeof t)return u.call(this,null,t,0);if("function"==typeof e)if("number"==typeof t)for(r=0;r<t;++r)u.call(this,null,e,r);else{if(!Array.isArray(t))return u.call(this,t,e,0);for(r=0;r<t.length;++r)u.call(this,t[r],e,r)}else if("number"==typeof t){if(0<t)return l.call(this,function(t){for(;c.length<t;)c.push(null);return c}(0|t),0|t)}else{if(!Array.isArray(t))return s.call(this,t);if(t.length)return l.call(this,t,t.length)}}),{stats:a,destroy:function(){o.destroy()}})}function l(t,e){var r=0;U.procs.poll();var n=e.color;n&&(d.clearColor(+n[0]||0,+n[1]||0,+n[2]||0,+n[3]||0),r|=16384),"depth"in e&&(d.clearDepth(+e.depth),r|=256),"stencil"in e&&(d.clearStencil(0|e.stencil),r|=1024),d.clear(r)}function u(t){return J.push(t),r(),{cancel:function(){var e=q(J,t);J[e]=function t(){var e=q(J,t);J[e]=J[J.length-1],--J.length,0>=J.length&&n()}}}}function c(){var t=V.viewport,e=V.scissor_box;t[0]=t[1]=e[0]=e[1]=0,O.viewportWidth=O.framebufferWidth=O.drawingBufferWidth=t[2]=e[2]=d.drawingBufferWidth,O.viewportHeight=O.framebufferHeight=O.drawingBufferHeight=t[3]=e[3]=d.drawingBufferHeight}function f(){O.tick+=1,O.time=p(),c(),U.procs.poll()}function h(){B.refresh(),c(),U.procs.refresh(),T&&T.update()}function p(){return(X()-k)/1e3}if(!(t=a(t)))return null;var d=t.gl,y=d.getContextAttributes();d.isContextLost();var m=function(t,e){function r(e){var r;e=e.toLowerCase();try{r=n[e]=t.getExtension(e)}catch(t){}return!!r}for(var n={},i=0;i<e.extensions.length;++i){var a=e.extensions[i];if(!r(a))return e.onDestroy(),e.onDone('"'+a+'" extension is not supported by the current WebGL context, try upgrading your system or a different browser'),null}return e.optionalExtensions.forEach(r),{extensions:n,restore:function(){Object.keys(n).forEach((function(t){if(n[t]&&!r(t))throw Error("(regl): error restoring extension "+t)}))}}}(d,t);if(!m)return null;var x=function(){var t={"":0},e=[""];return{id:function(r){var n=t[r];return n||(n=t[r]=e.length,e.push(r),n)},str:function(t){return e[t]}}}(),b={vaoCount:0,bufferCount:0,elementsCount:0,framebufferCount:0,shaderCount:0,textureCount:0,cubeCount:0,renderbufferCount:0,maxTextureUnits:0},_=t.cachedCode||{},w=m.extensions,T=function(t,e){function r(){this.endQueryIndex=this.startQueryIndex=-1,this.sum=0,this.stats=null}function n(t,e,n){var i=o.pop()||new r;i.startQueryIndex=t,i.endQueryIndex=e,i.sum=0,i.stats=n,s.push(i)}if(!e.ext_disjoint_timer_query)return null;var i=[],a=[],o=[],s=[],l=[],u=[];return{beginQuery:function(t){var r=i.pop()||e.ext_disjoint_timer_query.createQueryEXT();e.ext_disjoint_timer_query.beginQueryEXT(35007,r),a.push(r),n(a.length-1,a.length,t)},endQuery:function(){e.ext_disjoint_timer_query.endQueryEXT(35007)},pushScopeStats:n,update:function(){var t,r;if(0!==(t=a.length)){u.length=Math.max(u.length,t+1),l.length=Math.max(l.length,t+1),l[0]=0;var n=u[0]=0;for(r=t=0;r<a.length;++r){var c=a[r];e.ext_disjoint_timer_query.getQueryObjectEXT(c,34919)?(n+=e.ext_disjoint_timer_query.getQueryObjectEXT(c,34918),i.push(c)):a[t++]=c,l[r+1]=n,u[r+1]=t}for(a.length=t,r=t=0;r<s.length;++r){var f=(n=s[r]).startQueryIndex;c=n.endQueryIndex,n.sum+=l[c]-l[f],f=u[f],(c=u[c])===f?(n.stats.gpuTime+=n.sum/1e6,o.push(n)):(n.startQueryIndex=f,n.endQueryIndex=c,s[t++]=n)}s.length=t}},getNumPendingQueries:function(){return a.length},clear:function(){i.push.apply(i,a);for(var t=0;t<i.length;t++)e.ext_disjoint_timer_query.deleteQueryEXT(i[t]);a.length=0,i.length=0},restore:function(){a.length=0,i.length=0}}}(0,w),k=X(),A=d.drawingBufferWidth,E=d.drawingBufferHeight,O={tick:0,time:0,viewportWidth:A,viewportHeight:E,framebufferWidth:A,framebufferHeight:E,drawingBufferWidth:A,drawingBufferHeight:E,pixelRatio:t.pixelRatio},I=(A={elements:null,primitive:4,count:-1,offset:0,instances:-1},K(d,w)),D=v(d,b,t,(function(t){return R.destroyBuffer(t)})),z=g(d,w,D,b),R=L(d,w,I,b,D,z,A),F=C(d,x,b,t),B=M(d,w,I,(function(){U.procs.poll()}),O,b,t),N=Tt(d,w,0,b,t),j=S(d,w,I,B,N,b),U=H(d,x,w,I,D,z,0,j,{},R,F,A,O,T,_,t),V=(x=P(d,j,U.procs.poll,O),U.next),Z=d.canvas,J=[],$=[],Q=[],tt=[t.onDestroy],et=null;Z&&(Z.addEventListener("webglcontextlost",i,!1),Z.addEventListener("webglcontextrestored",o,!1));var rt=j.setFBO=s({framebuffer:Y.define.call(null,1,"framebuffer")});return h(),y=G(s,{clear:function(t){if("framebuffer"in t)if(t.framebuffer&&"framebufferCube"===t.framebuffer_reglType)for(var e=0;6>e;++e)rt(G({framebuffer:t.framebuffer.faces[e]},t),l);else rt(t,l);else l(0,t)},prop:Y.define.bind(null,1),context:Y.define.bind(null,2),this:Y.define.bind(null,3),draw:s({}),buffer:function(t){return D.create(t,34962,!1,!1)},elements:function(t){return z.create(t,!1)},texture:B.create2D,cube:B.createCube,renderbuffer:N.create,framebuffer:j.create,framebufferCube:j.createCube,vao:R.createVAO,attributes:y,frame:u,on:function(t,e){var r;switch(t){case"frame":return u(e);case"lost":r=$;break;case"restore":r=Q;break;case"destroy":r=tt}return r.push(e),{cancel:function(){for(var t=0;t<r.length;++t)if(r[t]===e){r[t]=r[r.length-1],r.pop();break}}}},limits:I,hasExtension:function(t){return 0<=I.extensions.indexOf(t.toLowerCase())},read:x,destroy:function(){J.length=0,n(),Z&&(Z.removeEventListener("webglcontextlost",i),Z.removeEventListener("webglcontextrestored",o)),F.clear(),j.clear(),N.clear(),R.clear(),B.clear(),z.clear(),D.clear(),T&&T.clear(),tt.forEach((function(t){t()}))},_gl:d,_refresh:h,poll:function(){f(),T&&T.update()},now:p,stats:b,getCachedCode:function(){return _},preloadCachedCode:function(t){Object.entries(t).forEach((function(t){_[t[0]]=t[1]}))}}),t.onDone(null,y),y}}()},71665:function(t,e,r){var n=r(12856),i=n.Buffer;function a(t,e){for(var r in t)e[r]=t[r]}function o(t,e,r){return i(t,e,r)}i.from&&i.alloc&&i.allocUnsafe&&i.allocUnsafeSlow?t.exports=n:(a(n,e),e.Buffer=o),o.prototype=Object.create(i.prototype),a(i,o),o.from=function(t,e,r){if("number"==typeof t)throw new TypeError("Argument must not be a number");return i(t,e,r)},o.alloc=function(t,e,r){if("number"!=typeof t)throw new TypeError("Argument must be a number");var n=i(t);return void 0!==e?"string"==typeof r?n.fill(e,r):n.fill(e):n.fill(0),n},o.allocUnsafe=function(t){if("number"!=typeof t)throw new TypeError("Argument must be a number");return i(t)},o.allocUnsafeSlow=function(t){if("number"!=typeof t)throw new TypeError("Argument must be a number");return n.SlowBuffer(t)}},21630:function(t,e,r){t.exports=i;var n=r(15398).EventEmitter;function i(){n.call(this)}r(42018)(i,n),i.Readable=r(40410),i.Writable=r(37493),i.Duplex=r(37865),i.Transform=r(74308),i.PassThrough=r(66897),i.finished=r(12726),i.pipeline=r(10168),i.Stream=i,i.prototype.pipe=function(t,e){var r=this;function i(e){t.writable&&!1===t.write(e)&&r.pause&&r.pause()}function a(){r.readable&&r.resume&&r.resume()}r.on("data",i),t.on("drain",a),t._isStdio||e&&!1===e.end||(r.on("end",s),r.on("close",l));var o=!1;function s(){o||(o=!0,t.end())}function l(){o||(o=!0,"function"==typeof t.destroy&&t.destroy())}function u(t){if(c(),0===n.listenerCount(this,"error"))throw t}function c(){r.removeListener("data",i),t.removeListener("drain",a),r.removeListener("end",s),r.removeListener("close",l),r.removeListener("error",u),t.removeListener("error",u),r.removeListener("end",c),r.removeListener("close",c),t.removeListener("close",c)}return r.on("error",u),t.on("error",u),r.on("end",c),r.on("close",c),t.on("close",c),t.emit("pipe",r),t}},74322:function(t){"use strict";var e={};function r(t,r,n){n||(n=Error);var i=function(t){var e,n;function i(e,n,i){return t.call(this,function(t,e,n){return"string"==typeof r?r:r(t,e,n)}(e,n,i))||this}return n=t,(e=i).prototype=Object.create(n.prototype),e.prototype.constructor=e,e.__proto__=n,i}(n);i.prototype.name=n.name,i.prototype.code=t,e[t]=i}function n(t,e){if(Array.isArray(t)){var r=t.length;return t=t.map((function(t){return String(t)})),r>2?"one of ".concat(e," ").concat(t.slice(0,r-1).join(", "),", or ")+t[r-1]:2===r?"one of ".concat(e," ").concat(t[0]," or ").concat(t[1]):"of ".concat(e," ").concat(t[0])}return"of ".concat(e," ").concat(String(t))}r("ERR_INVALID_OPT_VALUE",(function(t,e){return'The value "'+e+'" is invalid for option "'+t+'"'}),TypeError),r("ERR_INVALID_ARG_TYPE",(function(t,e,r){var i,a,o,s,l;if("string"==typeof e&&(a="not ",e.substr(0,a.length)===a)?(i="must not be",e=e.replace(/^not /,"")):i="must be",function(t,e,r){return(void 0===r||r>t.length)&&(r=t.length),t.substring(r-e.length,r)===e}(t," argument"))o="The ".concat(t," ").concat(i," ").concat(n(e,"type"));else{var u=("number"!=typeof l&&(l=0),l+".".length>(s=t).length||-1===s.indexOf(".",l)?"argument":"property");o='The "'.concat(t,'" ').concat(u," ").concat(i," ").concat(n(e,"type"))}return o+". Received type ".concat(typeof r)}),TypeError),r("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),r("ERR_METHOD_NOT_IMPLEMENTED",(function(t){return"The "+t+" method is not implemented"})),r("ERR_STREAM_PREMATURE_CLOSE","Premature close"),r("ERR_STREAM_DESTROYED",(function(t){return"Cannot call "+t+" after a stream was destroyed"})),r("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),r("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),r("ERR_STREAM_WRITE_AFTER_END","write after end"),r("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),r("ERR_UNKNOWN_ENCODING",(function(t){return"Unknown encoding: "+t}),TypeError),r("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),t.exports.q=e},37865:function(t,e,r){"use strict";var n=r(90386),i=Object.keys||function(t){var e=[];for(var r in t)e.push(r);return e};t.exports=c;var a=r(40410),o=r(37493);r(42018)(c,a);for(var s=i(o.prototype),l=0;l<s.length;l++){var u=s[l];c.prototype[u]||(c.prototype[u]=o.prototype[u])}function c(t){if(!(this instanceof c))return new c(t);a.call(this,t),o.call(this,t),this.allowHalfOpen=!0,t&&(!1===t.readable&&(this.readable=!1),!1===t.writable&&(this.writable=!1),!1===t.allowHalfOpen&&(this.allowHalfOpen=!1,this.once("end",f)))}function f(){this._writableState.ended||n.nextTick(h,this)}function h(t){t.end()}Object.defineProperty(c.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),Object.defineProperty(c.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(c.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(c.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._readableState&&void 0!==this._writableState&&this._readableState.destroyed&&this._writableState.destroyed},set:function(t){void 0!==this._readableState&&void 0!==this._writableState&&(this._readableState.destroyed=t,this._writableState.destroyed=t)}})},66897:function(t,e,r){"use strict";t.exports=i;var n=r(74308);function i(t){if(!(this instanceof i))return new i(t);n.call(this,t)}r(42018)(i,n),i.prototype._transform=function(t,e,r){r(null,t)}},40410:function(t,e,r){"use strict";var n,i=r(90386);t.exports=A,A.ReadableState=k,r(15398).EventEmitter;var a,o=function(t,e){return t.listeners(e).length},s=r(71405),l=r(12856).Buffer,u=r.g.Uint8Array||function(){},c=r(40964);a=c&&c.debuglog?c.debuglog("stream"):function(){};var f,h,p,d=r(31125),v=r(65756),g=r(56306).getHighWaterMark,y=r(74322).q,m=y.ERR_INVALID_ARG_TYPE,x=y.ERR_STREAM_PUSH_AFTER_EOF,b=y.ERR_METHOD_NOT_IMPLEMENTED,_=y.ERR_STREAM_UNSHIFT_AFTER_END_EVENT;r(42018)(A,s);var w=v.errorOrDestroy,T=["error","close","destroy","pause","resume"];function k(t,e,i){n=n||r(37865),t=t||{},"boolean"!=typeof i&&(i=e instanceof n),this.objectMode=!!t.objectMode,i&&(this.objectMode=this.objectMode||!!t.readableObjectMode),this.highWaterMark=g(this,t,"readableHighWaterMark",i),this.buffer=new d,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=!1!==t.emitClose,this.autoDestroy=!!t.autoDestroy,this.destroyed=!1,this.defaultEncoding=t.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,t.encoding&&(f||(f=r(68019).s),this.decoder=new f(t.encoding),this.encoding=t.encoding)}function A(t){if(n=n||r(37865),!(this instanceof A))return new A(t);var e=this instanceof n;this._readableState=new k(t,this,e),this.readable=!0,t&&("function"==typeof t.read&&(this._read=t.read),"function"==typeof t.destroy&&(this._destroy=t.destroy)),s.call(this)}function M(t,e,r,n,i){a("readableAddChunk",e);var o,s=t._readableState;if(null===e)s.reading=!1,function(t,e){if(a("onEofChunk"),!e.ended){if(e.decoder){var r=e.decoder.end();r&&r.length&&(e.buffer.push(r),e.length+=e.objectMode?1:r.length)}e.ended=!0,e.sync?C(t):(e.needReadable=!1,e.emittedReadable||(e.emittedReadable=!0,P(t)))}}(t,s);else if(i||(o=function(t,e){var r,n;return n=e,l.isBuffer(n)||n instanceof u||"string"==typeof e||void 0===e||t.objectMode||(r=new m("chunk",["string","Buffer","Uint8Array"],e)),r}(s,e)),o)w(t,o);else if(s.objectMode||e&&e.length>0)if("string"==typeof e||s.objectMode||Object.getPrototypeOf(e)===l.prototype||(e=function(t){return l.from(t)}(e)),n)s.endEmitted?w(t,new _):S(t,s,e,!0);else if(s.ended)w(t,new x);else{if(s.destroyed)return!1;s.reading=!1,s.decoder&&!r?(e=s.decoder.write(e),s.objectMode||0!==e.length?S(t,s,e,!1):O(t,s)):S(t,s,e,!1)}else n||(s.reading=!1,O(t,s));return!s.ended&&(s.length<s.highWaterMark||0===s.length)}function S(t,e,r,n){e.flowing&&0===e.length&&!e.sync?(e.awaitDrain=0,t.emit("data",r)):(e.length+=e.objectMode?1:r.length,n?e.buffer.unshift(r):e.buffer.push(r),e.needReadable&&C(t)),O(t,e)}Object.defineProperty(A.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._readableState&&this._readableState.destroyed},set:function(t){this._readableState&&(this._readableState.destroyed=t)}}),A.prototype.destroy=v.destroy,A.prototype._undestroy=v.undestroy,A.prototype._destroy=function(t,e){e(t)},A.prototype.push=function(t,e){var r,n=this._readableState;return n.objectMode?r=!0:"string"==typeof t&&((e=e||n.defaultEncoding)!==n.encoding&&(t=l.from(t,e),e=""),r=!0),M(this,t,e,!1,r)},A.prototype.unshift=function(t){return M(this,t,null,!0,!1)},A.prototype.isPaused=function(){return!1===this._readableState.flowing},A.prototype.setEncoding=function(t){f||(f=r(68019).s);var e=new f(t);this._readableState.decoder=e,this._readableState.encoding=this._readableState.decoder.encoding;for(var n=this._readableState.buffer.head,i="";null!==n;)i+=e.write(n.data),n=n.next;return this._readableState.buffer.clear(),""!==i&&this._readableState.buffer.push(i),this._readableState.length=i.length,this};var E=1073741824;function L(t,e){return t<=0||0===e.length&&e.ended?0:e.objectMode?1:t!=t?e.flowing&&e.length?e.buffer.head.data.length:e.length:(t>e.highWaterMark&&(e.highWaterMark=function(t){return t>=E?t=E:(t--,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,t|=t>>>16,t++),t}(t)),t<=e.length?t:e.ended?e.length:(e.needReadable=!0,0))}function C(t){var e=t._readableState;a("emitReadable",e.needReadable,e.emittedReadable),e.needReadable=!1,e.emittedReadable||(a("emitReadable",e.flowing),e.emittedReadable=!0,i.nextTick(P,t))}function P(t){var e=t._readableState;a("emitReadable_",e.destroyed,e.length,e.ended),e.destroyed||!e.length&&!e.ended||(t.emit("readable"),e.emittedReadable=!1),e.needReadable=!e.flowing&&!e.ended&&e.length<=e.highWaterMark,F(t)}function O(t,e){e.readingMore||(e.readingMore=!0,i.nextTick(I,t,e))}function I(t,e){for(;!e.reading&&!e.ended&&(e.length<e.highWaterMark||e.flowing&&0===e.length);){var r=e.length;if(a("maybeReadMore read 0"),t.read(0),r===e.length)break}e.readingMore=!1}function D(t){var e=t._readableState;e.readableListening=t.listenerCount("readable")>0,e.resumeScheduled&&!e.paused?e.flowing=!0:t.listenerCount("data")>0&&t.resume()}function z(t){a("readable nexttick read 0"),t.read(0)}function R(t,e){a("resume",e.reading),e.reading||t.read(0),e.resumeScheduled=!1,t.emit("resume"),F(t),e.flowing&&!e.reading&&t.read(0)}function F(t){var e=t._readableState;for(a("flow",e.flowing);e.flowing&&null!==t.read(););}function B(t,e){return 0===e.length?null:(e.objectMode?r=e.buffer.shift():!t||t>=e.length?(r=e.decoder?e.buffer.join(""):1===e.buffer.length?e.buffer.first():e.buffer.concat(e.length),e.buffer.clear()):r=e.buffer.consume(t,e.decoder),r);var r}function N(t){var e=t._readableState;a("endReadable",e.endEmitted),e.endEmitted||(e.ended=!0,i.nextTick(j,e,t))}function j(t,e){if(a("endReadableNT",t.endEmitted,t.length),!t.endEmitted&&0===t.length&&(t.endEmitted=!0,e.readable=!1,e.emit("end"),t.autoDestroy)){var r=e._writableState;(!r||r.autoDestroy&&r.finished)&&e.destroy()}}function U(t,e){for(var r=0,n=t.length;r<n;r++)if(t[r]===e)return r;return-1}A.prototype.read=function(t){a("read",t),t=parseInt(t,10);var e=this._readableState,r=t;if(0!==t&&(e.emittedReadable=!1),0===t&&e.needReadable&&((0!==e.highWaterMark?e.length>=e.highWaterMark:e.length>0)||e.ended))return a("read: emitReadable",e.length,e.ended),0===e.length&&e.ended?N(this):C(this),null;if(0===(t=L(t,e))&&e.ended)return 0===e.length&&N(this),null;var n,i=e.needReadable;return a("need readable",i),(0===e.length||e.length-t<e.highWaterMark)&&a("length less than watermark",i=!0),e.ended||e.reading?a("reading or ended",i=!1):i&&(a("do read"),e.reading=!0,e.sync=!0,0===e.length&&(e.needReadable=!0),this._read(e.highWaterMark),e.sync=!1,e.reading||(t=L(r,e))),null===(n=t>0?B(t,e):null)?(e.needReadable=e.length<=e.highWaterMark,t=0):(e.length-=t,e.awaitDrain=0),0===e.length&&(e.ended||(e.needReadable=!0),r!==t&&e.ended&&N(this)),null!==n&&this.emit("data",n),n},A.prototype._read=function(t){w(this,new b("_read()"))},A.prototype.pipe=function(t,e){var r=this,n=this._readableState;switch(n.pipesCount){case 0:n.pipes=t;break;case 1:n.pipes=[n.pipes,t];break;default:n.pipes.push(t)}n.pipesCount+=1,a("pipe count=%d opts=%j",n.pipesCount,e);var s=e&&!1===e.end||t===i.stdout||t===i.stderr?v:l;function l(){a("onend"),t.end()}n.endEmitted?i.nextTick(s):r.once("end",s),t.on("unpipe",(function e(i,o){a("onunpipe"),i===r&&o&&!1===o.hasUnpiped&&(o.hasUnpiped=!0,a("cleanup"),t.removeListener("close",p),t.removeListener("finish",d),t.removeListener("drain",u),t.removeListener("error",h),t.removeListener("unpipe",e),r.removeListener("end",l),r.removeListener("end",v),r.removeListener("data",f),c=!0,!n.awaitDrain||t._writableState&&!t._writableState.needDrain||u())}));var u=function(t){return function(){var e=t._readableState;a("pipeOnDrain",e.awaitDrain),e.awaitDrain&&e.awaitDrain--,0===e.awaitDrain&&o(t,"data")&&(e.flowing=!0,F(t))}}(r);t.on("drain",u);var c=!1;function f(e){a("ondata");var i=t.write(e);a("dest.write",i),!1===i&&((1===n.pipesCount&&n.pipes===t||n.pipesCount>1&&-1!==U(n.pipes,t))&&!c&&(a("false write response, pause",n.awaitDrain),n.awaitDrain++),r.pause())}function h(e){a("onerror",e),v(),t.removeListener("error",h),0===o(t,"error")&&w(t,e)}function p(){t.removeListener("finish",d),v()}function d(){a("onfinish"),t.removeListener("close",p),v()}function v(){a("unpipe"),r.unpipe(t)}return r.on("data",f),function(t,e,r){if("function"==typeof t.prependListener)return t.prependListener(e,r);t._events&&t._events.error?Array.isArray(t._events.error)?t._events.error.unshift(r):t._events.error=[r,t._events.error]:t.on(e,r)}(t,"error",h),t.once("close",p),t.once("finish",d),t.emit("pipe",r),n.flowing||(a("pipe resume"),r.resume()),t},A.prototype.unpipe=function(t){var e=this._readableState,r={hasUnpiped:!1};if(0===e.pipesCount)return this;if(1===e.pipesCount)return t&&t!==e.pipes||(t||(t=e.pipes),e.pipes=null,e.pipesCount=0,e.flowing=!1,t&&t.emit("unpipe",this,r)),this;if(!t){var n=e.pipes,i=e.pipesCount;e.pipes=null,e.pipesCount=0,e.flowing=!1;for(var a=0;a<i;a++)n[a].emit("unpipe",this,{hasUnpiped:!1});return this}var o=U(e.pipes,t);return-1===o||(e.pipes.splice(o,1),e.pipesCount-=1,1===e.pipesCount&&(e.pipes=e.pipes[0]),t.emit("unpipe",this,r)),this},A.prototype.on=function(t,e){var r=s.prototype.on.call(this,t,e),n=this._readableState;return"data"===t?(n.readableListening=this.listenerCount("readable")>0,!1!==n.flowing&&this.resume()):"readable"===t&&(n.endEmitted||n.readableListening||(n.readableListening=n.needReadable=!0,n.flowing=!1,n.emittedReadable=!1,a("on readable",n.length,n.reading),n.length?C(this):n.reading||i.nextTick(z,this))),r},A.prototype.addListener=A.prototype.on,A.prototype.removeListener=function(t,e){var r=s.prototype.removeListener.call(this,t,e);return"readable"===t&&i.nextTick(D,this),r},A.prototype.removeAllListeners=function(t){var e=s.prototype.removeAllListeners.apply(this,arguments);return"readable"!==t&&void 0!==t||i.nextTick(D,this),e},A.prototype.resume=function(){var t=this._readableState;return t.flowing||(a("resume"),t.flowing=!t.readableListening,function(t,e){e.resumeScheduled||(e.resumeScheduled=!0,i.nextTick(R,t,e))}(this,t)),t.paused=!1,this},A.prototype.pause=function(){return a("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(a("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this},A.prototype.wrap=function(t){var e=this,r=this._readableState,n=!1;for(var i in t.on("end",(function(){if(a("wrapped end"),r.decoder&&!r.ended){var t=r.decoder.end();t&&t.length&&e.push(t)}e.push(null)})),t.on("data",(function(i){a("wrapped data"),r.decoder&&(i=r.decoder.write(i)),r.objectMode&&null==i||(r.objectMode||i&&i.length)&&(e.push(i)||(n=!0,t.pause()))})),t)void 0===this[i]&&"function"==typeof t[i]&&(this[i]=function(e){return function(){return t[e].apply(t,arguments)}}(i));for(var o=0;o<T.length;o++)t.on(T[o],this.emit.bind(this,T[o]));return this._read=function(e){a("wrapped _read",e),n&&(n=!1,t.resume())},this},"function"==typeof Symbol&&(A.prototype[Symbol.asyncIterator]=function(){return void 0===h&&(h=r(68221)),h(this)}),Object.defineProperty(A.prototype,"readableHighWaterMark",{enumerable:!1,get:function(){return this._readableState.highWaterMark}}),Object.defineProperty(A.prototype,"readableBuffer",{enumerable:!1,get:function(){return this._readableState&&this._readableState.buffer}}),Object.defineProperty(A.prototype,"readableFlowing",{enumerable:!1,get:function(){return this._readableState.flowing},set:function(t){this._readableState&&(this._readableState.flowing=t)}}),A._fromList=B,Object.defineProperty(A.prototype,"readableLength",{enumerable:!1,get:function(){return this._readableState.length}}),"function"==typeof Symbol&&(A.from=function(t,e){return void 0===p&&(p=r(31748)),p(A,t,e)})},74308:function(t,e,r){"use strict";t.exports=c;var n=r(74322).q,i=n.ERR_METHOD_NOT_IMPLEMENTED,a=n.ERR_MULTIPLE_CALLBACK,o=n.ERR_TRANSFORM_ALREADY_TRANSFORMING,s=n.ERR_TRANSFORM_WITH_LENGTH_0,l=r(37865);function u(t,e){var r=this._transformState;r.transforming=!1;var n=r.writecb;if(null===n)return this.emit("error",new a);r.writechunk=null,r.writecb=null,null!=e&&this.push(e),n(t);var i=this._readableState;i.reading=!1,(i.needReadable||i.length<i.highWaterMark)&&this._read(i.highWaterMark)}function c(t){if(!(this instanceof c))return new c(t);l.call(this,t),this._transformState={afterTransform:u.bind(this),needTransform:!1,transforming:!1,writecb:null,writechunk:null,writeencoding:null},this._readableState.needReadable=!0,this._readableState.sync=!1,t&&("function"==typeof t.transform&&(this._transform=t.transform),"function"==typeof t.flush&&(this._flush=t.flush)),this.on("prefinish",f)}function f(){var t=this;"function"!=typeof this._flush||this._readableState.destroyed?h(this,null,null):this._flush((function(e,r){h(t,e,r)}))}function h(t,e,r){if(e)return t.emit("error",e);if(null!=r&&t.push(r),t._writableState.length)throw new s;if(t._transformState.transforming)throw new o;return t.push(null)}r(42018)(c,l),c.prototype.push=function(t,e){return this._transformState.needTransform=!1,l.prototype.push.call(this,t,e)},c.prototype._transform=function(t,e,r){r(new i("_transform()"))},c.prototype._write=function(t,e,r){var n=this._transformState;if(n.writecb=r,n.writechunk=t,n.writeencoding=e,!n.transforming){var i=this._readableState;(n.needTransform||i.needReadable||i.length<i.highWaterMark)&&this._read(i.highWaterMark)}},c.prototype._read=function(t){var e=this._transformState;null===e.writechunk||e.transforming?e.needTransform=!0:(e.transforming=!0,this._transform(e.writechunk,e.writeencoding,e.afterTransform))},c.prototype._destroy=function(t,e){l.prototype._destroy.call(this,t,(function(t){e(t)}))}},37493:function(t,e,r){"use strict";var n,i=r(90386);function a(t){var e=this;this.next=null,this.entry=null,this.finish=function(){!function(t,e,r){var n=t.entry;for(t.entry=null;n;){var i=n.callback;e.pendingcb--,i(undefined),n=n.next}e.corkedRequestsFree.next=t}(e,t)}}t.exports=A,A.WritableState=k;var o,s={deprecate:r(20588)},l=r(71405),u=r(12856).Buffer,c=r.g.Uint8Array||function(){},f=r(65756),h=r(56306).getHighWaterMark,p=r(74322).q,d=p.ERR_INVALID_ARG_TYPE,v=p.ERR_METHOD_NOT_IMPLEMENTED,g=p.ERR_MULTIPLE_CALLBACK,y=p.ERR_STREAM_CANNOT_PIPE,m=p.ERR_STREAM_DESTROYED,x=p.ERR_STREAM_NULL_VALUES,b=p.ERR_STREAM_WRITE_AFTER_END,_=p.ERR_UNKNOWN_ENCODING,w=f.errorOrDestroy;function T(){}function k(t,e,o){n=n||r(37865),t=t||{},"boolean"!=typeof o&&(o=e instanceof n),this.objectMode=!!t.objectMode,o&&(this.objectMode=this.objectMode||!!t.writableObjectMode),this.highWaterMark=h(this,t,"writableHighWaterMark",o),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var s=!1===t.decodeStrings;this.decodeStrings=!s,this.defaultEncoding=t.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(t){!function(t,e){var r=t._writableState,n=r.sync,a=r.writecb;if("function"!=typeof a)throw new g;if(function(t){t.writing=!1,t.writecb=null,t.length-=t.writelen,t.writelen=0}(r),e)!function(t,e,r,n,a){--e.pendingcb,r?(i.nextTick(a,n),i.nextTick(P,t,e),t._writableState.errorEmitted=!0,w(t,n)):(a(n),t._writableState.errorEmitted=!0,w(t,n),P(t,e))}(t,r,n,e,a);else{var o=L(r)||t.destroyed;o||r.corked||r.bufferProcessing||!r.bufferedRequest||E(t,r),n?i.nextTick(S,t,r,o,a):S(t,r,o,a)}}(e,t)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=!1!==t.emitClose,this.autoDestroy=!!t.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new a(this)}function A(t){var e=this instanceof(n=n||r(37865));if(!e&&!o.call(A,this))return new A(t);this._writableState=new k(t,this,e),this.writable=!0,t&&("function"==typeof t.write&&(this._write=t.write),"function"==typeof t.writev&&(this._writev=t.writev),"function"==typeof t.destroy&&(this._destroy=t.destroy),"function"==typeof t.final&&(this._final=t.final)),l.call(this)}function M(t,e,r,n,i,a,o){e.writelen=n,e.writecb=o,e.writing=!0,e.sync=!0,e.destroyed?e.onwrite(new m("write")):r?t._writev(i,e.onwrite):t._write(i,a,e.onwrite),e.sync=!1}function S(t,e,r,n){r||function(t,e){0===e.length&&e.needDrain&&(e.needDrain=!1,t.emit("drain"))}(t,e),e.pendingcb--,n(),P(t,e)}function E(t,e){e.bufferProcessing=!0;var r=e.bufferedRequest;if(t._writev&&r&&r.next){var n=e.bufferedRequestCount,i=new Array(n),o=e.corkedRequestsFree;o.entry=r;for(var s=0,l=!0;r;)i[s]=r,r.isBuf||(l=!1),r=r.next,s+=1;i.allBuffers=l,M(t,e,!0,e.length,i,"",o.finish),e.pendingcb++,e.lastBufferedRequest=null,o.next?(e.corkedRequestsFree=o.next,o.next=null):e.corkedRequestsFree=new a(e),e.bufferedRequestCount=0}else{for(;r;){var u=r.chunk,c=r.encoding,f=r.callback;if(M(t,e,!1,e.objectMode?1:u.length,u,c,f),r=r.next,e.bufferedRequestCount--,e.writing)break}null===r&&(e.lastBufferedRequest=null)}e.bufferedRequest=r,e.bufferProcessing=!1}function L(t){return t.ending&&0===t.length&&null===t.bufferedRequest&&!t.finished&&!t.writing}function C(t,e){t._final((function(r){e.pendingcb--,r&&w(t,r),e.prefinished=!0,t.emit("prefinish"),P(t,e)}))}function P(t,e){var r=L(e);if(r&&(function(t,e){e.prefinished||e.finalCalled||("function"!=typeof t._final||e.destroyed?(e.prefinished=!0,t.emit("prefinish")):(e.pendingcb++,e.finalCalled=!0,i.nextTick(C,t,e)))}(t,e),0===e.pendingcb&&(e.finished=!0,t.emit("finish"),e.autoDestroy))){var n=t._readableState;(!n||n.autoDestroy&&n.endEmitted)&&t.destroy()}return r}r(42018)(A,l),k.prototype.getBuffer=function(){for(var t=this.bufferedRequest,e=[];t;)e.push(t),t=t.next;return e},function(){try{Object.defineProperty(k.prototype,"buffer",{get:s.deprecate((function(){return this.getBuffer()}),"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch(t){}}(),"function"==typeof Symbol&&Symbol.hasInstance&&"function"==typeof Function.prototype[Symbol.hasInstance]?(o=Function.prototype[Symbol.hasInstance],Object.defineProperty(A,Symbol.hasInstance,{value:function(t){return!!o.call(this,t)||this===A&&t&&t._writableState instanceof k}})):o=function(t){return t instanceof this},A.prototype.pipe=function(){w(this,new y)},A.prototype.write=function(t,e,r){var n,a=this._writableState,o=!1,s=!a.objectMode&&(n=t,u.isBuffer(n)||n instanceof c);return s&&!u.isBuffer(t)&&(t=function(t){return u.from(t)}(t)),"function"==typeof e&&(r=e,e=null),s?e="buffer":e||(e=a.defaultEncoding),"function"!=typeof r&&(r=T),a.ending?function(t,e){var r=new b;w(t,r),i.nextTick(e,r)}(this,r):(s||function(t,e,r,n){var a;return null===r?a=new x:"string"==typeof r||e.objectMode||(a=new d("chunk",["string","Buffer"],r)),!a||(w(t,a),i.nextTick(n,a),!1)}(this,a,t,r))&&(a.pendingcb++,o=function(t,e,r,n,i,a){if(!r){var o=function(t,e,r){return t.objectMode||!1===t.decodeStrings||"string"!=typeof e||(e=u.from(e,r)),e}(e,n,i);n!==o&&(r=!0,i="buffer",n=o)}var s=e.objectMode?1:n.length;e.length+=s;var l=e.length<e.highWaterMark;if(l||(e.needDrain=!0),e.writing||e.corked){var c=e.lastBufferedRequest;e.lastBufferedRequest={chunk:n,encoding:i,isBuf:r,callback:a,next:null},c?c.next=e.lastBufferedRequest:e.bufferedRequest=e.lastBufferedRequest,e.bufferedRequestCount+=1}else M(t,e,!1,s,n,i,a);return l}(this,a,s,t,e,r)),o},A.prototype.cork=function(){this._writableState.corked++},A.prototype.uncork=function(){var t=this._writableState;t.corked&&(t.corked--,t.writing||t.corked||t.bufferProcessing||!t.bufferedRequest||E(this,t))},A.prototype.setDefaultEncoding=function(t){if("string"==typeof t&&(t=t.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((t+"").toLowerCase())>-1))throw new _(t);return this._writableState.defaultEncoding=t,this},Object.defineProperty(A.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(A.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),A.prototype._write=function(t,e,r){r(new v("_write()"))},A.prototype._writev=null,A.prototype.end=function(t,e,r){var n=this._writableState;return"function"==typeof t?(r=t,t=null,e=null):"function"==typeof e&&(r=e,e=null),null!=t&&this.write(t,e),n.corked&&(n.corked=1,this.uncork()),n.ending||function(t,e,r){e.ending=!0,P(t,e),r&&(e.finished?i.nextTick(r):t.once("finish",r)),e.ended=!0,t.writable=!1}(this,n,r),this},Object.defineProperty(A.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(A.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(t){this._writableState&&(this._writableState.destroyed=t)}}),A.prototype.destroy=f.destroy,A.prototype._undestroy=f.undestroy,A.prototype._destroy=function(t,e){e(t)}},68221:function(t,e,r){"use strict";var n,i=r(90386);function a(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var o=r(12726),s=Symbol("lastResolve"),l=Symbol("lastReject"),u=Symbol("error"),c=Symbol("ended"),f=Symbol("lastPromise"),h=Symbol("handlePromise"),p=Symbol("stream");function d(t,e){return{value:t,done:e}}function v(t){var e=t[s];if(null!==e){var r=t[p].read();null!==r&&(t[f]=null,t[s]=null,t[l]=null,e(d(r,!1)))}}function g(t){i.nextTick(v,t)}var y=Object.getPrototypeOf((function(){})),m=Object.setPrototypeOf((a(n={get stream(){return this[p]},next:function(){var t=this,e=this[u];if(null!==e)return Promise.reject(e);if(this[c])return Promise.resolve(d(void 0,!0));if(this[p].destroyed)return new Promise((function(e,r){i.nextTick((function(){t[u]?r(t[u]):e(d(void 0,!0))}))}));var r,n=this[f];if(n)r=new Promise(function(t,e){return function(r,n){t.then((function(){e[c]?r(d(void 0,!0)):e[h](r,n)}),n)}}(n,this));else{var a=this[p].read();if(null!==a)return Promise.resolve(d(a,!1));r=new Promise(this[h])}return this[f]=r,r}},Symbol.asyncIterator,(function(){return this})),a(n,"return",(function(){var t=this;return new Promise((function(e,r){t[p].destroy(null,(function(t){t?r(t):e(d(void 0,!0))}))}))})),n),y);t.exports=function(t){var e,r=Object.create(m,(a(e={},p,{value:t,writable:!0}),a(e,s,{value:null,writable:!0}),a(e,l,{value:null,writable:!0}),a(e,u,{value:null,writable:!0}),a(e,c,{value:t._readableState.endEmitted,writable:!0}),a(e,h,{value:function(t,e){var n=r[p].read();n?(r[f]=null,r[s]=null,r[l]=null,t(d(n,!1))):(r[s]=t,r[l]=e)},writable:!0}),e));return r[f]=null,o(t,(function(t){if(t&&"ERR_STREAM_PREMATURE_CLOSE"!==t.code){var e=r[l];return null!==e&&(r[f]=null,r[s]=null,r[l]=null,e(t)),void(r[u]=t)}var n=r[s];null!==n&&(r[f]=null,r[s]=null,r[l]=null,n(d(void 0,!0))),r[c]=!0})),t.on("readable",g.bind(null,r)),r}},31125:function(t,e,r){"use strict";function n(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function i(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function a(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}var o=r(12856).Buffer,s=r(69862).inspect,l=s&&s.custom||"inspect";t.exports=function(){function t(){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.head=null,this.tail=null,this.length=0}var e,r;return e=t,r=[{key:"push",value:function(t){var e={data:t,next:null};this.length>0?this.tail.next=e:this.head=e,this.tail=e,++this.length}},{key:"unshift",value:function(t){var e={data:t,next:this.head};0===this.length&&(this.tail=e),this.head=e,++this.length}},{key:"shift",value:function(){if(0!==this.length){var t=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,t}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(t){if(0===this.length)return"";for(var e=this.head,r=""+e.data;e=e.next;)r+=t+e.data;return r}},{key:"concat",value:function(t){if(0===this.length)return o.alloc(0);for(var e,r,n,i=o.allocUnsafe(t>>>0),a=this.head,s=0;a;)e=a.data,r=i,n=s,o.prototype.copy.call(e,r,n),s+=a.data.length,a=a.next;return i}},{key:"consume",value:function(t,e){var r;return t<this.head.data.length?(r=this.head.data.slice(0,t),this.head.data=this.head.data.slice(t)):r=t===this.head.data.length?this.shift():e?this._getString(t):this._getBuffer(t),r}},{key:"first",value:function(){return this.head.data}},{key:"_getString",value:function(t){var e=this.head,r=1,n=e.data;for(t-=n.length;e=e.next;){var i=e.data,a=t>i.length?i.length:t;if(a===i.length?n+=i:n+=i.slice(0,t),0==(t-=a)){a===i.length?(++r,e.next?this.head=e.next:this.head=this.tail=null):(this.head=e,e.data=i.slice(a));break}++r}return this.length-=r,n}},{key:"_getBuffer",value:function(t){var e=o.allocUnsafe(t),r=this.head,n=1;for(r.data.copy(e),t-=r.data.length;r=r.next;){var i=r.data,a=t>i.length?i.length:t;if(i.copy(e,e.length-t,0,a),0==(t-=a)){a===i.length?(++n,r.next?this.head=r.next:this.head=this.tail=null):(this.head=r,r.data=i.slice(a));break}++n}return this.length-=n,e}},{key:l,value:function(t,e){return s(this,function(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?n(Object(r),!0).forEach((function(e){i(t,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):n(Object(r)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}))}return t}({},e,{depth:0,customInspect:!1}))}}],r&&a(e.prototype,r),t}()},65756:function(t,e,r){"use strict";var n=r(90386);function i(t,e){o(t,e),a(t)}function a(t){t._writableState&&!t._writableState.emitClose||t._readableState&&!t._readableState.emitClose||t.emit("close")}function o(t,e){t.emit("error",e)}t.exports={destroy:function(t,e){var r=this,s=this._readableState&&this._readableState.destroyed,l=this._writableState&&this._writableState.destroyed;return s||l?(e?e(t):t&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,n.nextTick(o,this,t)):n.nextTick(o,this,t)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(t||null,(function(t){!e&&t?r._writableState?r._writableState.errorEmitted?n.nextTick(a,r):(r._writableState.errorEmitted=!0,n.nextTick(i,r,t)):n.nextTick(i,r,t):e?(n.nextTick(a,r),e(t)):n.nextTick(a,r)})),this)},undestroy:function(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)},errorOrDestroy:function(t,e){var r=t._readableState,n=t._writableState;r&&r.autoDestroy||n&&n.autoDestroy?t.destroy(e):t.emit("error",e)}}},12726:function(t,e,r){"use strict";var n=r(74322).q.ERR_STREAM_PREMATURE_CLOSE;function i(){}t.exports=function t(e,r,a){if("function"==typeof r)return t(e,null,r);r||(r={}),a=function(t){var e=!1;return function(){if(!e){e=!0;for(var r=arguments.length,n=new Array(r),i=0;i<r;i++)n[i]=arguments[i];t.apply(this,n)}}}(a||i);var o=r.readable||!1!==r.readable&&e.readable,s=r.writable||!1!==r.writable&&e.writable,l=function(){e.writable||c()},u=e._writableState&&e._writableState.finished,c=function(){s=!1,u=!0,o||a.call(e)},f=e._readableState&&e._readableState.endEmitted,h=function(){o=!1,f=!0,s||a.call(e)},p=function(t){a.call(e,t)},d=function(){var t;return o&&!f?(e._readableState&&e._readableState.ended||(t=new n),a.call(e,t)):s&&!u?(e._writableState&&e._writableState.ended||(t=new n),a.call(e,t)):void 0},v=function(){e.req.on("finish",c)};return function(t){return t.setHeader&&"function"==typeof t.abort}(e)?(e.on("complete",c),e.on("abort",d),e.req?v():e.on("request",v)):s&&!e._writableState&&(e.on("end",l),e.on("close",l)),e.on("end",h),e.on("finish",c),!1!==r.error&&e.on("error",p),e.on("close",d),function(){e.removeListener("complete",c),e.removeListener("abort",d),e.removeListener("request",v),e.req&&e.req.removeListener("finish",c),e.removeListener("end",l),e.removeListener("close",l),e.removeListener("finish",c),e.removeListener("end",h),e.removeListener("error",p),e.removeListener("close",d)}}},31748:function(t){t.exports=function(){throw new Error("Readable.from is not available in the browser")}},10168:function(t,e,r){"use strict";var n,i=r(74322).q,a=i.ERR_MISSING_ARGS,o=i.ERR_STREAM_DESTROYED;function s(t){if(t)throw t}function l(t,e,i,a){a=function(t){var e=!1;return function(){e||(e=!0,t.apply(void 0,arguments))}}(a);var s=!1;t.on("close",(function(){s=!0})),void 0===n&&(n=r(12726)),n(t,{readable:e,writable:i},(function(t){if(t)return a(t);s=!0,a()}));var l=!1;return function(e){if(!s&&!l)return l=!0,function(t){return t.setHeader&&"function"==typeof t.abort}(t)?t.abort():"function"==typeof t.destroy?t.destroy():void a(e||new o("pipe"))}}function u(t){t()}function c(t,e){return t.pipe(e)}function f(t){return t.length?"function"!=typeof t[t.length-1]?s:t.pop():s}t.exports=function(){for(var t=arguments.length,e=new Array(t),r=0;r<t;r++)e[r]=arguments[r];var n,i=f(e);if(Array.isArray(e[0])&&(e=e[0]),e.length<2)throw new a("streams");var o=e.map((function(t,r){var a=r<e.length-1;return l(t,a,r>0,(function(t){n||(n=t),t&&o.forEach(u),a||(o.forEach(u),i(n))}))}));return e.reduce(c)}},56306:function(t,e,r){"use strict";var n=r(74322).q.ERR_INVALID_OPT_VALUE;t.exports={getHighWaterMark:function(t,e,r,i){var a=function(t,e,r){return null!=t.highWaterMark?t.highWaterMark:e?t[r]:null}(e,i,r);if(null!=a){if(!isFinite(a)||Math.floor(a)!==a||a<0)throw new n(i?r:"highWaterMark",a);return Math.floor(a)}return t.objectMode?16:16384}}},71405:function(t,e,r){t.exports=r(15398).EventEmitter},68019:function(t,e,r){"use strict";var n=r(71665).Buffer,i=n.isEncoding||function(t){switch((t=""+t)&&t.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function a(t){var e;switch(this.encoding=function(t){var e=function(t){if(!t)return"utf8";for(var e;;)switch(t){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return t;default:if(e)return;t=(""+t).toLowerCase(),e=!0}}(t);if("string"!=typeof e&&(n.isEncoding===i||!i(t)))throw new Error("Unknown encoding: "+t);return e||t}(t),this.encoding){case"utf16le":this.text=l,this.end=u,e=4;break;case"utf8":this.fillLast=s,e=4;break;case"base64":this.text=c,this.end=f,e=3;break;default:return this.write=h,void(this.end=p)}this.lastNeed=0,this.lastTotal=0,this.lastChar=n.allocUnsafe(e)}function o(t){return t<=127?0:t>>5==6?2:t>>4==14?3:t>>3==30?4:t>>6==2?-1:-2}function s(t){var e=this.lastTotal-this.lastNeed,r=function(t,e,r){if(128!=(192&e[0]))return t.lastNeed=0,"�";if(t.lastNeed>1&&e.length>1){if(128!=(192&e[1]))return t.lastNeed=1,"�";if(t.lastNeed>2&&e.length>2&&128!=(192&e[2]))return t.lastNeed=2,"�"}}(this,t);return void 0!==r?r:this.lastNeed<=t.length?(t.copy(this.lastChar,e,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(t.copy(this.lastChar,e,0,t.length),void(this.lastNeed-=t.length))}function l(t,e){if((t.length-e)%2==0){var r=t.toString("utf16le",e);if(r){var n=r.charCodeAt(r.length-1);if(n>=55296&&n<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1],r.slice(0,-1)}return r}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=t[t.length-1],t.toString("utf16le",e,t.length-1)}function u(t){var e=t&&t.length?this.write(t):"";if(this.lastNeed){var r=this.lastTotal-this.lastNeed;return e+this.lastChar.toString("utf16le",0,r)}return e}function c(t,e){var r=(t.length-e)%3;return 0===r?t.toString("base64",e):(this.lastNeed=3-r,this.lastTotal=3,1===r?this.lastChar[0]=t[t.length-1]:(this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1]),t.toString("base64",e,t.length-r))}function f(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+this.lastChar.toString("base64",0,3-this.lastNeed):e}function h(t){return t.toString(this.encoding)}function p(t){return t&&t.length?this.write(t):""}e.s=a,a.prototype.write=function(t){if(0===t.length)return"";var e,r;if(this.lastNeed){if(void 0===(e=this.fillLast(t)))return"";r=this.lastNeed,this.lastNeed=0}else r=0;return r<t.length?e?e+this.text(t,r):this.text(t,r):e||""},a.prototype.end=function(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+"�":e},a.prototype.text=function(t,e){var r=function(t,e,r){var n=e.length-1;if(n<r)return 0;var i=o(e[n]);return i>=0?(i>0&&(t.lastNeed=i-1),i):--n<r||-2===i?0:(i=o(e[n]))>=0?(i>0&&(t.lastNeed=i-2),i):--n<r||-2===i?0:(i=o(e[n]))>=0?(i>0&&(2===i?i=0:t.lastNeed=i-3),i):0}(this,t,e);if(!this.lastNeed)return t.toString("utf8",e);this.lastTotal=r;var n=t.length-(r-this.lastNeed);return t.copy(this.lastChar,0,n),t.toString("utf8",e,n)},a.prototype.fillLast=function(t){if(this.lastNeed<=t.length)return t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,t.length),this.lastNeed-=t.length}},90715:function(t,e,r){var n=r(32791),i=r(41633)("stream-parser");function a(t){i("initializing parser stream"),t._parserBytesLeft=0,t._parserBuffers=[],t._parserBuffered=0,t._parserState=-1,t._parserCallback=null,"function"==typeof t.push&&(t._parserOutput=t.push.bind(t)),t._parserInit=!0}function o(t,e){n(!this._parserCallback,'there is already a "callback" set!'),n(isFinite(t)&&t>0,'can only buffer a finite number of bytes > 0, got "'+t+'"'),this._parserInit||a(this),i("buffering %o bytes",t),this._parserBytesLeft=t,this._parserCallback=e,this._parserState=0}function s(t,e){n(!this._parserCallback,'there is already a "callback" set!'),n(t>0,'can only skip > 0 bytes, got "'+t+'"'),this._parserInit||a(this),i("skipping %o bytes",t),this._parserBytesLeft=t,this._parserCallback=e,this._parserState=1}function l(t,e){n(!this._parserCallback,'There is already a "callback" set!'),n(t>0,'can only pass through > 0 bytes, got "'+t+'"'),this._parserInit||a(this),i("passing through %o bytes",t),this._parserBytesLeft=t,this._parserCallback=e,this._parserState=2}function u(t,e,r){this._parserInit||a(this),i("write(%o bytes)",t.length),"function"==typeof e&&(r=e),h(this,t,null,r)}function c(t,e,r){this._parserInit||a(this),i("transform(%o bytes)",t.length),"function"!=typeof e&&(e=this._parserOutput),h(this,t,e,r)}function f(t,e,r,n){if(t._parserBytesLeft-=e.length,i("%o bytes left for stream piece",t._parserBytesLeft),0===t._parserState?(t._parserBuffers.push(e),t._parserBuffered+=e.length):2===t._parserState&&r(e),0!==t._parserBytesLeft)return n;var a=t._parserCallback;if(a&&0===t._parserState&&t._parserBuffers.length>1&&(e=Buffer.concat(t._parserBuffers,t._parserBuffered)),0!==t._parserState&&(e=null),t._parserCallback=null,t._parserBuffered=0,t._parserState=-1,t._parserBuffers.splice(0),a){var o=[];e&&o.push(e),r&&o.push(r);var s=a.length>o.length;s&&o.push(p(n));var l=a.apply(t,o);if(!s||n===l)return n}}t.exports=function(t){var e=t&&"function"==typeof t._transform,r=t&&"function"==typeof t._write;if(!e&&!r)throw new Error("must pass a Writable or Transform stream in");i("extending Parser into stream"),t._bytes=o,t._skipBytes=s,e&&(t._passthrough=l),e?t._transform=c:t._write=u};var h=p((function t(e,r,n,i){return e._parserBytesLeft<=0?i(new Error("got data but not currently parsing anything")):r.length<=e._parserBytesLeft?function(){return f(e,r,n,i)}:function(){var a=r.slice(0,e._parserBytesLeft);return f(e,a,n,(function(o){return o?i(o):r.length>a.length?function(){return t(e,r.slice(a.length),n,i)}:void 0}))}}));function p(t){return function(){for(var e=t.apply(this,arguments);"function"==typeof e;)e=e();return e}}},41633:function(t,e,r){var n=r(90386);function i(){var t;try{t=e.storage.debug}catch(t){}return!t&&void 0!==n&&"env"in n&&(t=n.env.DEBUG),t}(e=t.exports=r(74469)).log=function(){return"object"==typeof console&&console.log&&Function.prototype.apply.call(console.log,console,arguments)},e.formatArgs=function(t){var r=this.useColors;if(t[0]=(r?"%c":"")+this.namespace+(r?" %c":" ")+t[0]+(r?"%c ":" ")+"+"+e.humanize(this.diff),r){var n="color: "+this.color;t.splice(1,0,n,"color: inherit");var i=0,a=0;t[0].replace(/%[a-zA-Z%]/g,(function(t){"%%"!==t&&(i++,"%c"===t&&(a=i))})),t.splice(a,0,n)}},e.save=function(t){try{null==t?e.storage.removeItem("debug"):e.storage.debug=t}catch(t){}},e.load=i,e.useColors=function(){return!("undefined"==typeof window||!window.process||"renderer"!==window.process.type)||("undefined"!=typeof document&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||"undefined"!=typeof window&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/))},e.storage="undefined"!=typeof chrome&&void 0!==chrome.storage?chrome.storage.local:function(){try{return window.localStorage}catch(t){}}(),e.colors=["lightseagreen","forestgreen","goldenrod","dodgerblue","darkorchid","crimson"],e.formatters.j=function(t){try{return JSON.stringify(t)}catch(t){return"[UnexpectedJSONParseError]: "+t.message}},e.enable(i())},74469:function(t,e,r){var n;function i(t){function r(){if(r.enabled){var t=r,i=+new Date,a=i-(n||i);t.diff=a,t.prev=n,t.curr=i,n=i;for(var o=new Array(arguments.length),s=0;s<o.length;s++)o[s]=arguments[s];o[0]=e.coerce(o[0]),"string"!=typeof o[0]&&o.unshift("%O");var l=0;o[0]=o[0].replace(/%([a-zA-Z%])/g,(function(r,n){if("%%"===r)return r;l++;var i=e.formatters[n];if("function"==typeof i){var a=o[l];r=i.call(t,a),o.splice(l,1),l--}return r})),e.formatArgs.call(t,o);var u=r.log||e.log||console.log.bind(console);u.apply(t,o)}}return r.namespace=t,r.enabled=e.enabled(t),r.useColors=e.useColors(),r.color=function(t){var r,n=0;for(r in t)n=(n<<5)-n+t.charCodeAt(r),n|=0;return e.colors[Math.abs(n)%e.colors.length]}(t),"function"==typeof e.init&&e.init(r),r}(e=t.exports=i.debug=i.default=i).coerce=function(t){return t instanceof Error?t.stack||t.message:t},e.disable=function(){e.enable("")},e.enable=function(t){e.save(t),e.names=[],e.skips=[];for(var r=("string"==typeof t?t:"").split(/[\s,]+/),n=r.length,i=0;i<n;i++)r[i]&&("-"===(t=r[i].replace(/\*/g,".*?"))[0]?e.skips.push(new RegExp("^"+t.substr(1)+"$")):e.names.push(new RegExp("^"+t+"$")))},e.enabled=function(t){var r,n;for(r=0,n=e.skips.length;r<n;r++)if(e.skips[r].test(t))return!1;for(r=0,n=e.names.length;r<n;r++)if(e.names[r].test(t))return!0;return!1},e.humanize=r(11375),e.names=[],e.skips=[],e.formatters={}},11375:function(t){var e=1e3,r=60*e,n=60*r,i=24*n;function a(t,e,r){if(!(t<e))return t<1.5*e?Math.floor(t/e)+" "+r:Math.ceil(t/e)+" "+r+"s"}t.exports=function(t,o){o=o||{};var s,l=typeof t;if("string"===l&&t.length>0)return function(t){if(!((t=String(t)).length>100)){var a=/^((?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(t);if(a){var o=parseFloat(a[1]);switch((a[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return 315576e5*o;case"days":case"day":case"d":return o*i;case"hours":case"hour":case"hrs":case"hr":case"h":return o*n;case"minutes":case"minute":case"mins":case"min":case"m":return o*r;case"seconds":case"second":case"secs":case"sec":case"s":return o*e;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return o;default:return}}}}(t);if("number"===l&&!1===isNaN(t))return o.long?a(s=t,i,"day")||a(s,n,"hour")||a(s,r,"minute")||a(s,e,"second")||s+" ms":function(t){return t>=i?Math.round(t/i)+"d":t>=n?Math.round(t/n)+"h":t>=r?Math.round(t/r)+"m":t>=e?Math.round(t/e)+"s":t+"ms"}(t);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(t))}},99011:function(t,e,r){"use strict";var n=r(88641);t.exports=function(t,e,r){if(null==t)throw Error("First argument should be a string");if(null==e)throw Error("Separator should be a string or a RegExp");r?("string"==typeof r||Array.isArray(r))&&(r={ignore:r}):r={},null==r.escape&&(r.escape=!0),null==r.ignore?r.ignore=["[]","()","{}","<>",'""',"''","``","“”","«»"]:("string"==typeof r.ignore&&(r.ignore=[r.ignore]),r.ignore=r.ignore.map((function(t){return 1===t.length&&(t+=t),t})));var i=n.parse(t,{flat:!0,brackets:r.ignore}),a=i[0].split(e);if(r.escape){for(var o=[],s=0;s<a.length;s++){var l=a[s],u=a[s+1];"\\"===l[l.length-1]&&"\\"!==l[l.length-2]?(o.push(l+e+u),s++):o.push(l)}a=o}for(s=0;s<a.length;s++)i[0]=a[s],a[s]=n.stringify(i,{flat:!0});return a}},68664:function(t){"use strict";t.exports=function(t){for(var e=t.length,r=new Array(e),n=new Array(e),i=new Array(e),a=new Array(e),o=new Array(e),s=new Array(e),l=0;l<e;++l)r[l]=-1,n[l]=0,i[l]=!1,a[l]=0,o[l]=-1,s[l]=[];var u,c=0,f=[],h=[];function p(e){var l=[e],u=[e];for(r[e]=n[e]=c,i[e]=!0,c+=1;u.length>0;){e=u[u.length-1];var p=t[e];if(a[e]<p.length){for(var d=a[e];d<p.length;++d){var v=p[d];if(r[v]<0){r[v]=n[v]=c,i[v]=!0,c+=1,l.push(v),u.push(v);break}i[v]&&(n[e]=0|Math.min(n[e],n[v])),o[v]>=0&&s[e].push(o[v])}a[e]=d}else{if(n[e]===r[e]){var g=[],y=[],m=0;for(d=l.length-1;d>=0;--d){var x=l[d];if(i[x]=!1,g.push(x),y.push(s[x]),m+=s[x].length,o[x]=f.length,x===e){l.length=d;break}}f.push(g);var b=new Array(m);for(d=0;d<y.length;d++)for(var _=0;_<y[d].length;_++)b[--m]=y[d][_];h.push(b)}u.pop()}}}for(l=0;l<e;++l)r[l]<0&&p(l);for(l=0;l<h.length;l++){var d=h[l];if(0!==d.length){d.sort((function(t,e){return t-e})),u=[d[0]];for(var v=1;v<d.length;v++)d[v]!==d[v-1]&&u.push(d[v]);h[l]=u}}return{components:f,adjacencyList:h}}},7095:function(t,e,r){"use strict";r.r(e);var n=2*Math.PI,i=function(t,e,r,n,i,a,o){var s=t.x,l=t.y;return{x:n*(s*=e)-i*(l*=r)+a,y:i*s+n*l+o}},a=function(t,e){var r=1.5707963267948966===e?.551915024494:-1.5707963267948966===e?-.551915024494:4/3*Math.tan(e/4),n=Math.cos(t),i=Math.sin(t),a=Math.cos(t+e),o=Math.sin(t+e);return[{x:n-i*r,y:i+n*r},{x:a+o*r,y:o-a*r},{x:a,y:o}]},o=function(t,e,r,n){var i=t*r+e*n;return i>1&&(i=1),i<-1&&(i=-1),(t*n-e*r<0?-1:1)*Math.acos(i)};e.default=function(t){var e=t.px,r=t.py,s=t.cx,l=t.cy,u=t.rx,c=t.ry,f=t.xAxisRotation,h=void 0===f?0:f,p=t.largeArcFlag,d=void 0===p?0:p,v=t.sweepFlag,g=void 0===v?0:v,y=[];if(0===u||0===c)return[];var m=Math.sin(h*n/360),x=Math.cos(h*n/360),b=x*(e-s)/2+m*(r-l)/2,_=-m*(e-s)/2+x*(r-l)/2;if(0===b&&0===_)return[];u=Math.abs(u),c=Math.abs(c);var w=Math.pow(b,2)/Math.pow(u,2)+Math.pow(_,2)/Math.pow(c,2);w>1&&(u*=Math.sqrt(w),c*=Math.sqrt(w));var T=function(t,e,r,i,a,s,l,u,c,f,h,p){var d=Math.pow(a,2),v=Math.pow(s,2),g=Math.pow(h,2),y=Math.pow(p,2),m=d*v-d*y-v*g;m<0&&(m=0),m/=d*y+v*g;var x=(m=Math.sqrt(m)*(l===u?-1:1))*a/s*p,b=m*-s/a*h,_=f*x-c*b+(t+r)/2,w=c*x+f*b+(e+i)/2,T=(h-x)/a,k=(p-b)/s,A=(-h-x)/a,M=(-p-b)/s,S=o(1,0,T,k),E=o(T,k,A,M);return 0===u&&E>0&&(E-=n),1===u&&E<0&&(E+=n),[_,w,S,E]}(e,r,s,l,u,c,d,g,m,x,b,_),k=function(t,e){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return function(t,e){var r=[],n=!0,i=!1,a=void 0;try{for(var o,s=t[Symbol.iterator]();!(n=(o=s.next()).done)&&(r.push(o.value),!e||r.length!==e);n=!0);}catch(t){i=!0,a=t}finally{try{!n&&s.return&&s.return()}finally{if(i)throw a}}return r}(t,e);throw new TypeError("Invalid attempt to destructure non-iterable instance")}(T,4),A=k[0],M=k[1],S=k[2],E=k[3],L=Math.abs(E)/(n/4);Math.abs(1-L)<1e-7&&(L=1);var C=Math.max(Math.ceil(L),1);E/=C;for(var P=0;P<C;P++)y.push(a(S,E)),S+=E;return y.map((function(t){var e=i(t[0],u,c,x,m,A,M),r=e.x,n=e.y,a=i(t[1],u,c,x,m,A,M),o=a.x,s=a.y,l=i(t[2],u,c,x,m,A,M);return{x1:r,y1:n,x2:o,y2:s,x:l.x,y:l.y}}))}},1750:function(t,e,r){"use strict";var n=r(95616),i=r(65185),a=r(29988),o=r(89546),s=r(32791);t.exports=function(t){if(Array.isArray(t)&&1===t.length&&"string"==typeof t[0]&&(t=t[0]),"string"==typeof t&&(s(o(t),"String is not an SVG path."),t=n(t)),s(Array.isArray(t),"Argument should be a string or an array of path segments."),t=i(t),!(t=a(t)).length)return[0,0,0,0];for(var e=[1/0,1/0,-1/0,-1/0],r=0,l=t.length;r<l;r++)for(var u=t[r].slice(1),c=0;c<u.length;c+=2)u[c+0]<e[0]&&(e[0]=u[c+0]),u[c+1]<e[1]&&(e[1]=u[c+1]),u[c+0]>e[2]&&(e[2]=u[c+0]),u[c+1]>e[3]&&(e[3]=u[c+1]);return e}},29988:function(t,e,r){"use strict";t.exports=function(t){for(var e,r=[],o=0,s=0,l=0,u=0,c=null,f=null,h=0,p=0,d=0,v=t.length;d<v;d++){var g=t[d],y=g[0];switch(y){case"M":l=g[1],u=g[2];break;case"A":var m=n({px:h,py:p,cx:g[6],cy:g[7],rx:g[1],ry:g[2],xAxisRotation:g[3],largeArcFlag:g[4],sweepFlag:g[5]});if(!m.length)continue;for(var x,b=0;b<m.length;b++)g=["C",(x=m[b]).x1,x.y1,x.x2,x.y2,x.x,x.y],b<m.length-1&&r.push(g);break;case"S":var _=h,w=p;"C"!=e&&"S"!=e||(_+=_-o,w+=w-s),g=["C",_,w,g[1],g[2],g[3],g[4]];break;case"T":"Q"==e||"T"==e?(c=2*h-c,f=2*p-f):(c=h,f=p),g=a(h,p,c,f,g[1],g[2]);break;case"Q":c=g[1],f=g[2],g=a(h,p,g[1],g[2],g[3],g[4]);break;case"L":g=i(h,p,g[1],g[2]);break;case"H":g=i(h,p,g[1],p);break;case"V":g=i(h,p,h,g[1]);break;case"Z":g=i(h,p,l,u)}e=y,h=g[g.length-2],p=g[g.length-1],g.length>4?(o=g[g.length-4],s=g[g.length-3]):(o=h,s=p),r.push(g)}return r};var n=r(7095);function i(t,e,r,n){return["C",t,e,r,n,r,n]}function a(t,e,r,n,i,a){return["C",t/3+2/3*r,e/3+2/3*n,i/3+2/3*r,a/3+2/3*n,i,a]}},82019:function(t,e,r){"use strict";var n,i=r(1750),a=r(95616),o=r(31457),s=r(89546),l=r(44781),u=document.createElement("canvas"),c=u.getContext("2d");t.exports=function(t,e){if(!s(t))throw Error("Argument should be valid svg path string");var r,f;e||(e={}),e.shape?(r=e.shape[0],f=e.shape[1]):(r=u.width=e.w||e.width||200,f=u.height=e.h||e.height||200);var h=Math.min(r,f),p=e.stroke||0,d=e.viewbox||e.viewBox||i(t),v=[r/(d[2]-d[0]),f/(d[3]-d[1])],g=Math.min(v[0]||0,v[1]||0)/2;if(c.fillStyle="black",c.fillRect(0,0,r,f),c.fillStyle="white",p&&("number"!=typeof p&&(p=1),c.strokeStyle=p>0?"white":"black",c.lineWidth=Math.abs(p)),c.translate(.5*r,.5*f),c.scale(g,g),function(){if(null!=n)return n;var t=document.createElement("canvas").getContext("2d");if(t.canvas.width=t.canvas.height=1,!window.Path2D)return n=!1;var e=new Path2D("M0,0h1v1h-1v-1Z");t.fillStyle="black",t.fill(e);var r=t.getImageData(0,0,1,1);return n=r&&r.data&&255===r.data[3]}()){var y=new Path2D(t);c.fill(y),p&&c.stroke(y)}else{var m=a(t);o(c,m),c.fill(),p&&c.stroke()}return c.setTransform(1,0,0,1,0,0),l(c,{cutoff:null!=e.cutoff?e.cutoff:.5,radius:null!=e.radius?e.radius:.5*h})}},84267:function(t,e,r){var n;!function(i){var a=/^\s+/,o=/\s+$/,s=0,l=i.round,u=i.min,c=i.max,f=i.random;function h(t,e){if(e=e||{},(t=t||"")instanceof h)return t;if(!(this instanceof h))return new h(t,e);var r=function(t){var e,r,n,s={r:0,g:0,b:0},l=1,f=null,h=null,p=null,d=!1,v=!1;return"string"==typeof t&&(t=function(t){t=t.replace(a,"").replace(o,"").toLowerCase();var e,r=!1;if(C[t])t=C[t],r=!0;else if("transparent"==t)return{r:0,g:0,b:0,a:0,format:"name"};return(e=H.rgb.exec(t))?{r:e[1],g:e[2],b:e[3]}:(e=H.rgba.exec(t))?{r:e[1],g:e[2],b:e[3],a:e[4]}:(e=H.hsl.exec(t))?{h:e[1],s:e[2],l:e[3]}:(e=H.hsla.exec(t))?{h:e[1],s:e[2],l:e[3],a:e[4]}:(e=H.hsv.exec(t))?{h:e[1],s:e[2],v:e[3]}:(e=H.hsva.exec(t))?{h:e[1],s:e[2],v:e[3],a:e[4]}:(e=H.hex8.exec(t))?{r:z(e[1]),g:z(e[2]),b:z(e[3]),a:N(e[4]),format:r?"name":"hex8"}:(e=H.hex6.exec(t))?{r:z(e[1]),g:z(e[2]),b:z(e[3]),format:r?"name":"hex"}:(e=H.hex4.exec(t))?{r:z(e[1]+""+e[1]),g:z(e[2]+""+e[2]),b:z(e[3]+""+e[3]),a:N(e[4]+""+e[4]),format:r?"name":"hex8"}:!!(e=H.hex3.exec(t))&&{r:z(e[1]+""+e[1]),g:z(e[2]+""+e[2]),b:z(e[3]+""+e[3]),format:r?"name":"hex"}}(t)),"object"==typeof t&&(q(t.r)&&q(t.g)&&q(t.b)?(e=t.r,r=t.g,n=t.b,s={r:255*I(e,255),g:255*I(r,255),b:255*I(n,255)},d=!0,v="%"===String(t.r).substr(-1)?"prgb":"rgb"):q(t.h)&&q(t.s)&&q(t.v)?(f=F(t.s),h=F(t.v),s=function(t,e,r){t=6*I(t,360),e=I(e,100),r=I(r,100);var n=i.floor(t),a=t-n,o=r*(1-e),s=r*(1-a*e),l=r*(1-(1-a)*e),u=n%6;return{r:255*[r,s,o,o,l,r][u],g:255*[l,r,r,s,o,o][u],b:255*[o,o,l,r,r,s][u]}}(t.h,f,h),d=!0,v="hsv"):q(t.h)&&q(t.s)&&q(t.l)&&(f=F(t.s),p=F(t.l),s=function(t,e,r){var n,i,a;function o(t,e,r){return r<0&&(r+=1),r>1&&(r-=1),r<1/6?t+6*(e-t)*r:r<.5?e:r<2/3?t+(e-t)*(2/3-r)*6:t}if(t=I(t,360),e=I(e,100),r=I(r,100),0===e)n=i=a=r;else{var s=r<.5?r*(1+e):r+e-r*e,l=2*r-s;n=o(l,s,t+1/3),i=o(l,s,t),a=o(l,s,t-1/3)}return{r:255*n,g:255*i,b:255*a}}(t.h,f,p),d=!0,v="hsl"),t.hasOwnProperty("a")&&(l=t.a)),l=O(l),{ok:d,format:t.format||v,r:u(255,c(s.r,0)),g:u(255,c(s.g,0)),b:u(255,c(s.b,0)),a:l}}(t);this._originalInput=t,this._r=r.r,this._g=r.g,this._b=r.b,this._a=r.a,this._roundA=l(100*this._a)/100,this._format=e.format||r.format,this._gradientType=e.gradientType,this._r<1&&(this._r=l(this._r)),this._g<1&&(this._g=l(this._g)),this._b<1&&(this._b=l(this._b)),this._ok=r.ok,this._tc_id=s++}function p(t,e,r){t=I(t,255),e=I(e,255),r=I(r,255);var n,i,a=c(t,e,r),o=u(t,e,r),s=(a+o)/2;if(a==o)n=i=0;else{var l=a-o;switch(i=s>.5?l/(2-a-o):l/(a+o),a){case t:n=(e-r)/l+(e<r?6:0);break;case e:n=(r-t)/l+2;break;case r:n=(t-e)/l+4}n/=6}return{h:n,s:i,l:s}}function d(t,e,r){t=I(t,255),e=I(e,255),r=I(r,255);var n,i,a=c(t,e,r),o=u(t,e,r),s=a,l=a-o;if(i=0===a?0:l/a,a==o)n=0;else{switch(a){case t:n=(e-r)/l+(e<r?6:0);break;case e:n=(r-t)/l+2;break;case r:n=(t-e)/l+4}n/=6}return{h:n,s:i,v:s}}function v(t,e,r,n){var i=[R(l(t).toString(16)),R(l(e).toString(16)),R(l(r).toString(16))];return n&&i[0].charAt(0)==i[0].charAt(1)&&i[1].charAt(0)==i[1].charAt(1)&&i[2].charAt(0)==i[2].charAt(1)?i[0].charAt(0)+i[1].charAt(0)+i[2].charAt(0):i.join("")}function g(t,e,r,n){return[R(B(n)),R(l(t).toString(16)),R(l(e).toString(16)),R(l(r).toString(16))].join("")}function y(t,e){e=0===e?0:e||10;var r=h(t).toHsl();return r.s-=e/100,r.s=D(r.s),h(r)}function m(t,e){e=0===e?0:e||10;var r=h(t).toHsl();return r.s+=e/100,r.s=D(r.s),h(r)}function x(t){return h(t).desaturate(100)}function b(t,e){e=0===e?0:e||10;var r=h(t).toHsl();return r.l+=e/100,r.l=D(r.l),h(r)}function _(t,e){e=0===e?0:e||10;var r=h(t).toRgb();return r.r=c(0,u(255,r.r-l(-e/100*255))),r.g=c(0,u(255,r.g-l(-e/100*255))),r.b=c(0,u(255,r.b-l(-e/100*255))),h(r)}function w(t,e){e=0===e?0:e||10;var r=h(t).toHsl();return r.l-=e/100,r.l=D(r.l),h(r)}function T(t,e){var r=h(t).toHsl(),n=(r.h+e)%360;return r.h=n<0?360+n:n,h(r)}function k(t){var e=h(t).toHsl();return e.h=(e.h+180)%360,h(e)}function A(t){var e=h(t).toHsl(),r=e.h;return[h(t),h({h:(r+120)%360,s:e.s,l:e.l}),h({h:(r+240)%360,s:e.s,l:e.l})]}function M(t){var e=h(t).toHsl(),r=e.h;return[h(t),h({h:(r+90)%360,s:e.s,l:e.l}),h({h:(r+180)%360,s:e.s,l:e.l}),h({h:(r+270)%360,s:e.s,l:e.l})]}function S(t){var e=h(t).toHsl(),r=e.h;return[h(t),h({h:(r+72)%360,s:e.s,l:e.l}),h({h:(r+216)%360,s:e.s,l:e.l})]}function E(t,e,r){e=e||6,r=r||30;var n=h(t).toHsl(),i=360/r,a=[h(t)];for(n.h=(n.h-(i*e>>1)+720)%360;--e;)n.h=(n.h+i)%360,a.push(h(n));return a}function L(t,e){e=e||6;for(var r=h(t).toHsv(),n=r.h,i=r.s,a=r.v,o=[],s=1/e;e--;)o.push(h({h:n,s:i,v:a})),a=(a+s)%1;return o}h.prototype={isDark:function(){return this.getBrightness()<128},isLight:function(){return!this.isDark()},isValid:function(){return this._ok},getOriginalInput:function(){return this._originalInput},getFormat:function(){return this._format},getAlpha:function(){return this._a},getBrightness:function(){var t=this.toRgb();return(299*t.r+587*t.g+114*t.b)/1e3},getLuminance:function(){var t,e,r,n=this.toRgb();return t=n.r/255,e=n.g/255,r=n.b/255,.2126*(t<=.03928?t/12.92:i.pow((t+.055)/1.055,2.4))+.7152*(e<=.03928?e/12.92:i.pow((e+.055)/1.055,2.4))+.0722*(r<=.03928?r/12.92:i.pow((r+.055)/1.055,2.4))},setAlpha:function(t){return this._a=O(t),this._roundA=l(100*this._a)/100,this},toHsv:function(){var t=d(this._r,this._g,this._b);return{h:360*t.h,s:t.s,v:t.v,a:this._a}},toHsvString:function(){var t=d(this._r,this._g,this._b),e=l(360*t.h),r=l(100*t.s),n=l(100*t.v);return 1==this._a?"hsv("+e+", "+r+"%, "+n+"%)":"hsva("+e+", "+r+"%, "+n+"%, "+this._roundA+")"},toHsl:function(){var t=p(this._r,this._g,this._b);return{h:360*t.h,s:t.s,l:t.l,a:this._a}},toHslString:function(){var t=p(this._r,this._g,this._b),e=l(360*t.h),r=l(100*t.s),n=l(100*t.l);return 1==this._a?"hsl("+e+", "+r+"%, "+n+"%)":"hsla("+e+", "+r+"%, "+n+"%, "+this._roundA+")"},toHex:function(t){return v(this._r,this._g,this._b,t)},toHexString:function(t){return"#"+this.toHex(t)},toHex8:function(t){return function(t,e,r,n,i){var a=[R(l(t).toString(16)),R(l(e).toString(16)),R(l(r).toString(16)),R(B(n))];return i&&a[0].charAt(0)==a[0].charAt(1)&&a[1].charAt(0)==a[1].charAt(1)&&a[2].charAt(0)==a[2].charAt(1)&&a[3].charAt(0)==a[3].charAt(1)?a[0].charAt(0)+a[1].charAt(0)+a[2].charAt(0)+a[3].charAt(0):a.join("")}(this._r,this._g,this._b,this._a,t)},toHex8String:function(t){return"#"+this.toHex8(t)},toRgb:function(){return{r:l(this._r),g:l(this._g),b:l(this._b),a:this._a}},toRgbString:function(){return 1==this._a?"rgb("+l(this._r)+", "+l(this._g)+", "+l(this._b)+")":"rgba("+l(this._r)+", "+l(this._g)+", "+l(this._b)+", "+this._roundA+")"},toPercentageRgb:function(){return{r:l(100*I(this._r,255))+"%",g:l(100*I(this._g,255))+"%",b:l(100*I(this._b,255))+"%",a:this._a}},toPercentageRgbString:function(){return 1==this._a?"rgb("+l(100*I(this._r,255))+"%, "+l(100*I(this._g,255))+"%, "+l(100*I(this._b,255))+"%)":"rgba("+l(100*I(this._r,255))+"%, "+l(100*I(this._g,255))+"%, "+l(100*I(this._b,255))+"%, "+this._roundA+")"},toName:function(){return 0===this._a?"transparent":!(this._a<1)&&(P[v(this._r,this._g,this._b,!0)]||!1)},toFilter:function(t){var e="#"+g(this._r,this._g,this._b,this._a),r=e,n=this._gradientType?"GradientType = 1, ":"";if(t){var i=h(t);r="#"+g(i._r,i._g,i._b,i._a)}return"progid:DXImageTransform.Microsoft.gradient("+n+"startColorstr="+e+",endColorstr="+r+")"},toString:function(t){var e=!!t;t=t||this._format;var r=!1,n=this._a<1&&this._a>=0;return e||!n||"hex"!==t&&"hex6"!==t&&"hex3"!==t&&"hex4"!==t&&"hex8"!==t&&"name"!==t?("rgb"===t&&(r=this.toRgbString()),"prgb"===t&&(r=this.toPercentageRgbString()),"hex"!==t&&"hex6"!==t||(r=this.toHexString()),"hex3"===t&&(r=this.toHexString(!0)),"hex4"===t&&(r=this.toHex8String(!0)),"hex8"===t&&(r=this.toHex8String()),"name"===t&&(r=this.toName()),"hsl"===t&&(r=this.toHslString()),"hsv"===t&&(r=this.toHsvString()),r||this.toHexString()):"name"===t&&0===this._a?this.toName():this.toRgbString()},clone:function(){return h(this.toString())},_applyModification:function(t,e){var r=t.apply(null,[this].concat([].slice.call(e)));return this._r=r._r,this._g=r._g,this._b=r._b,this.setAlpha(r._a),this},lighten:function(){return this._applyModification(b,arguments)},brighten:function(){return this._applyModification(_,arguments)},darken:function(){return this._applyModification(w,arguments)},desaturate:function(){return this._applyModification(y,arguments)},saturate:function(){return this._applyModification(m,arguments)},greyscale:function(){return this._applyModification(x,arguments)},spin:function(){return this._applyModification(T,arguments)},_applyCombination:function(t,e){return t.apply(null,[this].concat([].slice.call(e)))},analogous:function(){return this._applyCombination(E,arguments)},complement:function(){return this._applyCombination(k,arguments)},monochromatic:function(){return this._applyCombination(L,arguments)},splitcomplement:function(){return this._applyCombination(S,arguments)},triad:function(){return this._applyCombination(A,arguments)},tetrad:function(){return this._applyCombination(M,arguments)}},h.fromRatio=function(t,e){if("object"==typeof t){var r={};for(var n in t)t.hasOwnProperty(n)&&(r[n]="a"===n?t[n]:F(t[n]));t=r}return h(t,e)},h.equals=function(t,e){return!(!t||!e)&&h(t).toRgbString()==h(e).toRgbString()},h.random=function(){return h.fromRatio({r:f(),g:f(),b:f()})},h.mix=function(t,e,r){r=0===r?0:r||50;var n=h(t).toRgb(),i=h(e).toRgb(),a=r/100;return h({r:(i.r-n.r)*a+n.r,g:(i.g-n.g)*a+n.g,b:(i.b-n.b)*a+n.b,a:(i.a-n.a)*a+n.a})},h.readability=function(t,e){var r=h(t),n=h(e);return(i.max(r.getLuminance(),n.getLuminance())+.05)/(i.min(r.getLuminance(),n.getLuminance())+.05)},h.isReadable=function(t,e,r){var n,i,a,o,s,l=h.readability(t,e);switch(i=!1,(a=r,"AA"!==(o=((a=a||{level:"AA",size:"small"}).level||"AA").toUpperCase())&&"AAA"!==o&&(o="AA"),"small"!==(s=(a.size||"small").toLowerCase())&&"large"!==s&&(s="small"),n={level:o,size:s}).level+n.size){case"AAsmall":case"AAAlarge":i=l>=4.5;break;case"AAlarge":i=l>=3;break;case"AAAsmall":i=l>=7}return i},h.mostReadable=function(t,e,r){var n,i,a,o,s=null,l=0;i=(r=r||{}).includeFallbackColors,a=r.level,o=r.size;for(var u=0;u<e.length;u++)(n=h.readability(t,e[u]))>l&&(l=n,s=h(e[u]));return h.isReadable(t,s,{level:a,size:o})||!i?s:(r.includeFallbackColors=!1,h.mostReadable(t,["#fff","#000"],r))};var C=h.names={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"0ff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"00f",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",burntsienna:"ea7e5d",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"0ff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"f0f",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"663399",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"},P=h.hexNames=function(t){var e={};for(var r in t)t.hasOwnProperty(r)&&(e[t[r]]=r);return e}(C);function O(t){return t=parseFloat(t),(isNaN(t)||t<0||t>1)&&(t=1),t}function I(t,e){(function(t){return"string"==typeof t&&-1!=t.indexOf(".")&&1===parseFloat(t)})(t)&&(t="100%");var r=function(t){return"string"==typeof t&&-1!=t.indexOf("%")}(t);return t=u(e,c(0,parseFloat(t))),r&&(t=parseInt(t*e,10)/100),i.abs(t-e)<1e-6?1:t%e/parseFloat(e)}function D(t){return u(1,c(0,t))}function z(t){return parseInt(t,16)}function R(t){return 1==t.length?"0"+t:""+t}function F(t){return t<=1&&(t=100*t+"%"),t}function B(t){return i.round(255*parseFloat(t)).toString(16)}function N(t){return z(t)/255}var j,U,V,H=(U="[\\s|\\(]+("+(j="(?:[-\\+]?\\d*\\.\\d+%?)|(?:[-\\+]?\\d+%?)")+")[,|\\s]+("+j+")[,|\\s]+("+j+")\\s*\\)?",V="[\\s|\\(]+("+j+")[,|\\s]+("+j+")[,|\\s]+("+j+")[,|\\s]+("+j+")\\s*\\)?",{CSS_UNIT:new RegExp(j),rgb:new RegExp("rgb"+U),rgba:new RegExp("rgba"+V),hsl:new RegExp("hsl"+U),hsla:new RegExp("hsla"+V),hsv:new RegExp("hsv"+U),hsva:new RegExp("hsva"+V),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/});function q(t){return!!H.CSS_UNIT.exec(t)}t.exports?t.exports=h:void 0===(n=function(){return h}.call(e,r,e,t))||(t.exports=n)}(Math)},57060:function(t){"use strict";t.exports=r,t.exports.float32=t.exports.float=r,t.exports.fract32=t.exports.fract=function(t,e){if(t.length){if(t instanceof Float32Array)return new Float32Array(t.length);e instanceof Float32Array||(e=r(t));for(var n=0,i=e.length;n<i;n++)e[n]=t[n]-e[n];return e}return r(t-r(t))};var e=new Float32Array(1);function r(t){return t.length?t instanceof Float32Array?t:new Float32Array(t):(e[0]=t,e[0])}},75686:function(t,e,r){"use strict";var n=r(25677);function i(t,e){var r=n(getComputedStyle(t).getPropertyValue(e));return r[0]*a(r[1],t)}function a(t,e){switch(e=e||document.body,t=(t||"px").trim().toLowerCase(),e!==window&&e!==document||(e=document.body),t){case"%":return e.clientHeight/100;case"ch":case"ex":return function(t,e){var r=document.createElement("div");r.style["font-size"]="128"+t,e.appendChild(r);var n=i(r,"font-size")/128;return e.removeChild(r),n}(t,e);case"em":return i(e,"font-size");case"rem":return i(document.body,"font-size");case"vw":return window.innerWidth/100;case"vh":return window.innerHeight/100;case"vmin":return Math.min(window.innerWidth,window.innerHeight)/100;case"vmax":return Math.max(window.innerWidth,window.innerHeight)/100;case"in":return 96;case"cm":return 96/2.54;case"mm":return 96/25.4;case"pt":return 96/72;case"pc":return 16}return 1}t.exports=a},96892:function(t,e,r){"use strict";function n(t){return t}function i(t,e){return"string"==typeof e&&(e=t.objects[e]),"GeometryCollection"===e.type?{type:"FeatureCollection",features:e.geometries.map((function(e){return a(t,e)}))}:a(t,e)}function a(t,e){var r=e.id,i=e.bbox,a=null==e.properties?{}:e.properties,o=function(t,e){var r=function(t){if(null==t)return n;var e,r,i=t.scale[0],a=t.scale[1],o=t.translate[0],s=t.translate[1];return function(t,n){n||(e=r=0);var l=2,u=t.length,c=new Array(u);for(c[0]=(e+=t[0])*i+o,c[1]=(r+=t[1])*a+s;l<u;)c[l]=t[l],++l;return c}}(t.transform),i=t.arcs;function a(t,e){e.length&&e.pop();for(var n=i[t<0?~t:t],a=0,o=n.length;a<o;++a)e.push(r(n[a],a));t<0&&function(t,e){for(var r,n=t.length,i=n-e;i<--n;)r=t[i],t[i++]=t[n],t[n]=r}(e,o)}function o(t){return r(t)}function s(t){for(var e=[],r=0,n=t.length;r<n;++r)a(t[r],e);return e.length<2&&e.push(e[0]),e}function l(t){for(var e=s(t);e.length<4;)e.push(e[0]);return e}function u(t){return t.map(l)}return function t(e){var r,n=e.type;switch(n){case"GeometryCollection":return{type:n,geometries:e.geometries.map(t)};case"Point":r=o(e.coordinates);break;case"MultiPoint":r=e.coordinates.map(o);break;case"LineString":r=s(e.arcs);break;case"MultiLineString":r=e.arcs.map(s);break;case"Polygon":r=u(e.arcs);break;case"MultiPolygon":r=e.arcs.map(u);break;default:return null}return{type:n,coordinates:r}}(e)}(t,e);return null==r&&null==i?{type:"Feature",properties:a,geometry:o}:null==i?{type:"Feature",id:r,properties:a,geometry:o}:{type:"Feature",id:r,bbox:i,properties:a,geometry:o}}r.d(e,{zL:function(){return i}})},73116:function(t,e,r){"use strict";var n=r(24511);t.exports=function(t){if("function"!=typeof t)return!1;if(!hasOwnProperty.call(t,"length"))return!1;try{if("number"!=typeof t.length)return!1;if("function"!=typeof t.call)return!1;if("function"!=typeof t.apply)return!1}catch(t){return!1}return!n(t)}},69190:function(t,e,r){"use strict";var n=r(24582),i=r(47403),a=r(9234),o=r(6048),s=function(t,e){return t.replace("%v",o(e))};t.exports=function(t,e,r){if(!i(r))throw new TypeError(s(e,t));if(!n(t)){if("default"in r)return r.default;if(r.isOptional)return null}var o=a(r.errorMessage);throw n(o)||(o=e),new TypeError(s(o,t))}},18497:function(t){"use strict";t.exports=function(t){try{return t.toString()}catch(e){try{return String(t)}catch(t){return null}}}},6048:function(t,e,r){"use strict";var n=r(18497),i=/[\n\r\u2028\u2029]/g;t.exports=function(t){var e=n(t);return null===e?"<Non-coercible to string value>":(e.length>100&&(e=e.slice(0,99)+"…"),e=e.replace(i,(function(t){switch(t){case"\n":return"\\n";case"\r":return"\\r";case"\u2028":return"\\u2028";case"\u2029":return"\\u2029";default:throw new Error("Unexpected character")}})))}},47403:function(t,e,r){"use strict";var n=r(24582),i={object:!0,function:!0,undefined:!0};t.exports=function(t){return!!n(t)&&hasOwnProperty.call(i,typeof t)}},82527:function(t,e,r){"use strict";var n=r(69190),i=r(84985);t.exports=function(t){return i(t)?t:n(t,"%v is not a plain function",arguments[1])}},84985:function(t,e,r){"use strict";var n=r(73116),i=/^\s*class[\s{/}]/,a=Function.prototype.toString;t.exports=function(t){return!!n(t)&&!i.test(a.call(t))}},24511:function(t,e,r){"use strict";var n=r(47403);t.exports=function(t){if(!n(t))return!1;try{return!!t.constructor&&t.constructor.prototype===t}catch(t){return!1}}},9234:function(t,e,r){"use strict";var n=r(24582),i=r(47403),a=Object.prototype.toString;t.exports=function(t){if(!n(t))return null;if(i(t)){var e=t.toString;if("function"!=typeof e)return null;if(e===a)return null}try{return""+t}catch(t){return null}}},10424:function(t,e,r){"use strict";var n=r(69190),i=r(24582);t.exports=function(t){return i(t)?t:n(t,"Cannot use %v",arguments[1])}},24582:function(t){"use strict";t.exports=function(t){return null!=t}},58404:function(t,e,r){"use strict";var n=r(13547),i=r(12129),a=r(12856).Buffer;r.g.__TYPEDARRAY_POOL||(r.g.__TYPEDARRAY_POOL={UINT8:i([32,0]),UINT16:i([32,0]),UINT32:i([32,0]),BIGUINT64:i([32,0]),INT8:i([32,0]),INT16:i([32,0]),INT32:i([32,0]),BIGINT64:i([32,0]),FLOAT:i([32,0]),DOUBLE:i([32,0]),DATA:i([32,0]),UINT8C:i([32,0]),BUFFER:i([32,0])});var o="undefined"!=typeof Uint8ClampedArray,s="undefined"!=typeof BigUint64Array,l="undefined"!=typeof BigInt64Array,u=r.g.__TYPEDARRAY_POOL;u.UINT8C||(u.UINT8C=i([32,0])),u.BIGUINT64||(u.BIGUINT64=i([32,0])),u.BIGINT64||(u.BIGINT64=i([32,0])),u.BUFFER||(u.BUFFER=i([32,0]));var c=u.DATA,f=u.BUFFER;function h(t){if(t){var e=t.length||t.byteLength,r=n.log2(e);c[r].push(t)}}function p(t){t=n.nextPow2(t);var e=n.log2(t),r=c[e];return r.length>0?r.pop():new ArrayBuffer(t)}function d(t){return new Uint8Array(p(t),0,t)}function v(t){return new Uint16Array(p(2*t),0,t)}function g(t){return new Uint32Array(p(4*t),0,t)}function y(t){return new Int8Array(p(t),0,t)}function m(t){return new Int16Array(p(2*t),0,t)}function x(t){return new Int32Array(p(4*t),0,t)}function b(t){return new Float32Array(p(4*t),0,t)}function _(t){return new Float64Array(p(8*t),0,t)}function w(t){return o?new Uint8ClampedArray(p(t),0,t):d(t)}function T(t){return s?new BigUint64Array(p(8*t),0,t):null}function k(t){return l?new BigInt64Array(p(8*t),0,t):null}function A(t){return new DataView(p(t),0,t)}function M(t){t=n.nextPow2(t);var e=n.log2(t),r=f[e];return r.length>0?r.pop():new a(t)}e.free=function(t){if(a.isBuffer(t))f[n.log2(t.length)].push(t);else{if("[object ArrayBuffer]"!==Object.prototype.toString.call(t)&&(t=t.buffer),!t)return;var e=t.length||t.byteLength,r=0|n.log2(e);c[r].push(t)}},e.freeUint8=e.freeUint16=e.freeUint32=e.freeBigUint64=e.freeInt8=e.freeInt16=e.freeInt32=e.freeBigInt64=e.freeFloat32=e.freeFloat=e.freeFloat64=e.freeDouble=e.freeUint8Clamped=e.freeDataView=function(t){h(t.buffer)},e.freeArrayBuffer=h,e.freeBuffer=function(t){f[n.log2(t.length)].push(t)},e.malloc=function(t,e){if(void 0===e||"arraybuffer"===e)return p(t);switch(e){case"uint8":return d(t);case"uint16":return v(t);case"uint32":return g(t);case"int8":return y(t);case"int16":return m(t);case"int32":return x(t);case"float":case"float32":return b(t);case"double":case"float64":return _(t);case"uint8_clamped":return w(t);case"bigint64":return k(t);case"biguint64":return T(t);case"buffer":return M(t);case"data":case"dataview":return A(t);default:return null}return null},e.mallocArrayBuffer=p,e.mallocUint8=d,e.mallocUint16=v,e.mallocUint32=g,e.mallocInt8=y,e.mallocInt16=m,e.mallocInt32=x,e.mallocFloat32=e.mallocFloat=b,e.mallocFloat64=e.mallocDouble=_,e.mallocUint8Clamped=w,e.mallocBigUint64=T,e.mallocBigInt64=k,e.mallocDataView=A,e.mallocBuffer=M,e.clearCache=function(){for(var t=0;t<32;++t)u.UINT8[t].length=0,u.UINT16[t].length=0,u.UINT32[t].length=0,u.INT8[t].length=0,u.INT16[t].length=0,u.INT32[t].length=0,u.FLOAT[t].length=0,u.DOUBLE[t].length=0,u.BIGUINT64[t].length=0,u.BIGINT64[t].length=0,u.UINT8C[t].length=0,c[t].length=0,f[t].length=0}},90448:function(t){var e=/[\'\"]/;t.exports=function(t){return t?(e.test(t.charAt(0))&&(t=t.substr(1)),e.test(t.charAt(t.length-1))&&(t=t.substr(0,t.length-1)),t):""}},93447:function(t){"use strict";t.exports=function(t,e,r){Array.isArray(r)||(r=[].slice.call(arguments,2));for(var n=0,i=r.length;n<i;n++){var a=r[n];for(var o in a)if((void 0===e[o]||Array.isArray(e[o])||t[o]!==e[o])&&o in e){var s;if(!0===a[o])s=e[o];else{if(!1===a[o])continue;if("function"==typeof a[o]&&void 0===(s=a[o](e[o],t,e)))continue}t[o]=s}}return t}},20588:function(t,e,r){function n(t){try{if(!r.g.localStorage)return!1}catch(t){return!1}var e=r.g.localStorage[t];return null!=e&&"true"===String(e).toLowerCase()}t.exports=function(t,e){if(n("noDeprecation"))return t;var r=!1;return function(){if(!r){if(n("throwDeprecation"))throw new Error(e);n("traceDeprecation")?console.trace(e):console.warn(e),r=!0}return t.apply(this,arguments)}}},45920:function(t){t.exports=function(t){return t&&"object"==typeof t&&"function"==typeof t.copy&&"function"==typeof t.fill&&"function"==typeof t.readUInt8}},4936:function(t,e,r){"use strict";var n=r(47216),i=r(65481),a=r(21099),o=r(9187);function s(t){return t.call.bind(t)}var l="undefined"!=typeof BigInt,u="undefined"!=typeof Symbol,c=s(Object.prototype.toString),f=s(Number.prototype.valueOf),h=s(String.prototype.valueOf),p=s(Boolean.prototype.valueOf);if(l)var d=s(BigInt.prototype.valueOf);if(u)var v=s(Symbol.prototype.valueOf);function g(t,e){if("object"!=typeof t)return!1;try{return e(t),!0}catch(t){return!1}}function y(t){return"[object Map]"===c(t)}function m(t){return"[object Set]"===c(t)}function x(t){return"[object WeakMap]"===c(t)}function b(t){return"[object WeakSet]"===c(t)}function _(t){return"[object ArrayBuffer]"===c(t)}function w(t){return"undefined"!=typeof ArrayBuffer&&(_.working?_(t):t instanceof ArrayBuffer)}function T(t){return"[object DataView]"===c(t)}function k(t){return"undefined"!=typeof DataView&&(T.working?T(t):t instanceof DataView)}e.isArgumentsObject=n,e.isGeneratorFunction=i,e.isTypedArray=o,e.isPromise=function(t){return"undefined"!=typeof Promise&&t instanceof Promise||null!==t&&"object"==typeof t&&"function"==typeof t.then&&"function"==typeof t.catch},e.isArrayBufferView=function(t){return"undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(t):o(t)||k(t)},e.isUint8Array=function(t){return"Uint8Array"===a(t)},e.isUint8ClampedArray=function(t){return"Uint8ClampedArray"===a(t)},e.isUint16Array=function(t){return"Uint16Array"===a(t)},e.isUint32Array=function(t){return"Uint32Array"===a(t)},e.isInt8Array=function(t){return"Int8Array"===a(t)},e.isInt16Array=function(t){return"Int16Array"===a(t)},e.isInt32Array=function(t){return"Int32Array"===a(t)},e.isFloat32Array=function(t){return"Float32Array"===a(t)},e.isFloat64Array=function(t){return"Float64Array"===a(t)},e.isBigInt64Array=function(t){return"BigInt64Array"===a(t)},e.isBigUint64Array=function(t){return"BigUint64Array"===a(t)},y.working="undefined"!=typeof Map&&y(new Map),e.isMap=function(t){return"undefined"!=typeof Map&&(y.working?y(t):t instanceof Map)},m.working="undefined"!=typeof Set&&m(new Set),e.isSet=function(t){return"undefined"!=typeof Set&&(m.working?m(t):t instanceof Set)},x.working="undefined"!=typeof WeakMap&&x(new WeakMap),e.isWeakMap=function(t){return"undefined"!=typeof WeakMap&&(x.working?x(t):t instanceof WeakMap)},b.working="undefined"!=typeof WeakSet&&b(new WeakSet),e.isWeakSet=function(t){return b(t)},_.working="undefined"!=typeof ArrayBuffer&&_(new ArrayBuffer),e.isArrayBuffer=w,T.working="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof DataView&&T(new DataView(new ArrayBuffer(1),0,1)),e.isDataView=k;var A="undefined"!=typeof SharedArrayBuffer?SharedArrayBuffer:void 0;function M(t){return"[object SharedArrayBuffer]"===c(t)}function S(t){return void 0!==A&&(void 0===M.working&&(M.working=M(new A)),M.working?M(t):t instanceof A)}function E(t){return g(t,f)}function L(t){return g(t,h)}function C(t){return g(t,p)}function P(t){return l&&g(t,d)}function O(t){return u&&g(t,v)}e.isSharedArrayBuffer=S,e.isAsyncFunction=function(t){return"[object AsyncFunction]"===c(t)},e.isMapIterator=function(t){return"[object Map Iterator]"===c(t)},e.isSetIterator=function(t){return"[object Set Iterator]"===c(t)},e.isGeneratorObject=function(t){return"[object Generator]"===c(t)},e.isWebAssemblyCompiledModule=function(t){return"[object WebAssembly.Module]"===c(t)},e.isNumberObject=E,e.isStringObject=L,e.isBooleanObject=C,e.isBigIntObject=P,e.isSymbolObject=O,e.isBoxedPrimitive=function(t){return E(t)||L(t)||C(t)||P(t)||O(t)},e.isAnyArrayBuffer=function(t){return"undefined"!=typeof Uint8Array&&(w(t)||S(t))},["isProxy","isExternal","isModuleNamespaceObject"].forEach((function(t){Object.defineProperty(e,t,{enumerable:!1,value:function(){throw new Error(t+" is not supported in userland")}})}))},43827:function(t,e,r){var n=r(90386),i=Object.getOwnPropertyDescriptors||function(t){for(var e=Object.keys(t),r={},n=0;n<e.length;n++)r[e[n]]=Object.getOwnPropertyDescriptor(t,e[n]);return r},a=/%[sdj%]/g;e.format=function(t){if(!x(t)){for(var e=[],r=0;r<arguments.length;r++)e.push(u(arguments[r]));return e.join(" ")}r=1;for(var n=arguments,i=n.length,o=String(t).replace(a,(function(t){if("%%"===t)return"%";if(r>=i)return t;switch(t){case"%s":return String(n[r++]);case"%d":return Number(n[r++]);case"%j":try{return JSON.stringify(n[r++])}catch(t){return"[Circular]"}default:return t}})),s=n[r];r<i;s=n[++r])y(s)||!w(s)?o+=" "+s:o+=" "+u(s);return o},e.deprecate=function(t,r){if(void 0!==n&&!0===n.noDeprecation)return t;if(void 0===n)return function(){return e.deprecate(t,r).apply(this,arguments)};var i=!1;return function(){if(!i){if(n.throwDeprecation)throw new Error(r);n.traceDeprecation?console.trace(r):console.error(r),i=!0}return t.apply(this,arguments)}};var o={},s=/^$/;if(n.env.NODE_DEBUG){var l=n.env.NODE_DEBUG;l=l.replace(/[|\\{}()[\]^$+?.]/g,"\\$&").replace(/\*/g,".*").replace(/,/g,"$|^").toUpperCase(),s=new RegExp("^"+l+"$","i")}function u(t,r){var n={seen:[],stylize:f};return arguments.length>=3&&(n.depth=arguments[2]),arguments.length>=4&&(n.colors=arguments[3]),g(r)?n.showHidden=r:r&&e._extend(n,r),b(n.showHidden)&&(n.showHidden=!1),b(n.depth)&&(n.depth=2),b(n.colors)&&(n.colors=!1),b(n.customInspect)&&(n.customInspect=!0),n.colors&&(n.stylize=c),h(n,t,n.depth)}function c(t,e){var r=u.styles[e];return r?"["+u.colors[r][0]+"m"+t+"["+u.colors[r][1]+"m":t}function f(t,e){return t}function h(t,r,n){if(t.customInspect&&r&&A(r.inspect)&&r.inspect!==e.inspect&&(!r.constructor||r.constructor.prototype!==r)){var i=r.inspect(n,t);return x(i)||(i=h(t,i,n)),i}var a=function(t,e){if(b(e))return t.stylize("undefined","undefined");if(x(e)){var r="'"+JSON.stringify(e).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return t.stylize(r,"string")}return m(e)?t.stylize(""+e,"number"):g(e)?t.stylize(""+e,"boolean"):y(e)?t.stylize("null","null"):void 0}(t,r);if(a)return a;var o=Object.keys(r),s=function(t){var e={};return t.forEach((function(t,r){e[t]=!0})),e}(o);if(t.showHidden&&(o=Object.getOwnPropertyNames(r)),k(r)&&(o.indexOf("message")>=0||o.indexOf("description")>=0))return p(r);if(0===o.length){if(A(r)){var l=r.name?": "+r.name:"";return t.stylize("[Function"+l+"]","special")}if(_(r))return t.stylize(RegExp.prototype.toString.call(r),"regexp");if(T(r))return t.stylize(Date.prototype.toString.call(r),"date");if(k(r))return p(r)}var u,c="",f=!1,w=["{","}"];return v(r)&&(f=!0,w=["[","]"]),A(r)&&(c=" [Function"+(r.name?": "+r.name:"")+"]"),_(r)&&(c=" "+RegExp.prototype.toString.call(r)),T(r)&&(c=" "+Date.prototype.toUTCString.call(r)),k(r)&&(c=" "+p(r)),0!==o.length||f&&0!=r.length?n<0?_(r)?t.stylize(RegExp.prototype.toString.call(r),"regexp"):t.stylize("[Object]","special"):(t.seen.push(r),u=f?function(t,e,r,n,i){for(var a=[],o=0,s=e.length;o<s;++o)C(e,String(o))?a.push(d(t,e,r,n,String(o),!0)):a.push("");return i.forEach((function(i){i.match(/^\d+$/)||a.push(d(t,e,r,n,i,!0))})),a}(t,r,n,s,o):o.map((function(e){return d(t,r,n,s,e,f)})),t.seen.pop(),function(t,e,r){return t.reduce((function(t,e){return e.indexOf("\n"),t+e.replace(/\u001b\[\d\d?m/g,"").length+1}),0)>60?r[0]+(""===e?"":e+"\n ")+" "+t.join(",\n ")+" "+r[1]:r[0]+e+" "+t.join(", ")+" "+r[1]}(u,c,w)):w[0]+c+w[1]}function p(t){return"["+Error.prototype.toString.call(t)+"]"}function d(t,e,r,n,i,a){var o,s,l;if((l=Object.getOwnPropertyDescriptor(e,i)||{value:e[i]}).get?s=l.set?t.stylize("[Getter/Setter]","special"):t.stylize("[Getter]","special"):l.set&&(s=t.stylize("[Setter]","special")),C(n,i)||(o="["+i+"]"),s||(t.seen.indexOf(l.value)<0?(s=y(r)?h(t,l.value,null):h(t,l.value,r-1)).indexOf("\n")>-1&&(s=a?s.split("\n").map((function(t){return" "+t})).join("\n").slice(2):"\n"+s.split("\n").map((function(t){return" "+t})).join("\n")):s=t.stylize("[Circular]","special")),b(o)){if(a&&i.match(/^\d+$/))return s;(o=JSON.stringify(""+i)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(o=o.slice(1,-1),o=t.stylize(o,"name")):(o=o.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),o=t.stylize(o,"string"))}return o+": "+s}function v(t){return Array.isArray(t)}function g(t){return"boolean"==typeof t}function y(t){return null===t}function m(t){return"number"==typeof t}function x(t){return"string"==typeof t}function b(t){return void 0===t}function _(t){return w(t)&&"[object RegExp]"===M(t)}function w(t){return"object"==typeof t&&null!==t}function T(t){return w(t)&&"[object Date]"===M(t)}function k(t){return w(t)&&("[object Error]"===M(t)||t instanceof Error)}function A(t){return"function"==typeof t}function M(t){return Object.prototype.toString.call(t)}function S(t){return t<10?"0"+t.toString(10):t.toString(10)}e.debuglog=function(t){if(t=t.toUpperCase(),!o[t])if(s.test(t)){var r=n.pid;o[t]=function(){var n=e.format.apply(e,arguments);console.error("%s %d: %s",t,r,n)}}else o[t]=function(){};return o[t]},e.inspect=u,u.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},u.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},e.types=r(4936),e.isArray=v,e.isBoolean=g,e.isNull=y,e.isNullOrUndefined=function(t){return null==t},e.isNumber=m,e.isString=x,e.isSymbol=function(t){return"symbol"==typeof t},e.isUndefined=b,e.isRegExp=_,e.types.isRegExp=_,e.isObject=w,e.isDate=T,e.types.isDate=T,e.isError=k,e.types.isNativeError=k,e.isFunction=A,e.isPrimitive=function(t){return null===t||"boolean"==typeof t||"number"==typeof t||"string"==typeof t||"symbol"==typeof t||void 0===t},e.isBuffer=r(45920);var E=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function L(){var t=new Date,e=[S(t.getHours()),S(t.getMinutes()),S(t.getSeconds())].join(":");return[t.getDate(),E[t.getMonth()],e].join(" ")}function C(t,e){return Object.prototype.hasOwnProperty.call(t,e)}e.log=function(){console.log("%s - %s",L(),e.format.apply(e,arguments))},e.inherits=r(42018),e._extend=function(t,e){if(!e||!w(e))return t;for(var r=Object.keys(e),n=r.length;n--;)t[r[n]]=e[r[n]];return t};var P="undefined"!=typeof Symbol?Symbol("util.promisify.custom"):void 0;function O(t,e){if(!t){var r=new Error("Promise was rejected with a falsy value");r.reason=t,t=r}return e(t)}e.promisify=function(t){if("function"!=typeof t)throw new TypeError('The "original" argument must be of type Function');if(P&&t[P]){var e;if("function"!=typeof(e=t[P]))throw new TypeError('The "util.promisify.custom" argument must be of type Function');return Object.defineProperty(e,P,{value:e,enumerable:!1,writable:!1,configurable:!0}),e}function e(){for(var e,r,n=new Promise((function(t,n){e=t,r=n})),i=[],a=0;a<arguments.length;a++)i.push(arguments[a]);i.push((function(t,n){t?r(t):e(n)}));try{t.apply(this,i)}catch(t){r(t)}return n}return Object.setPrototypeOf(e,Object.getPrototypeOf(t)),P&&Object.defineProperty(e,P,{value:e,enumerable:!1,writable:!1,configurable:!0}),Object.defineProperties(e,i(t))},e.promisify.custom=P,e.callbackify=function(t){if("function"!=typeof t)throw new TypeError('The "original" argument must be of type Function');function e(){for(var e=[],r=0;r<arguments.length;r++)e.push(arguments[r]);var i=e.pop();if("function"!=typeof i)throw new TypeError("The last argument must be of type Function");var a=this,o=function(){return i.apply(a,arguments)};t.apply(this,e).then((function(t){n.nextTick(o.bind(null,null,t))}),(function(t){n.nextTick(O.bind(null,t,o))}))}return Object.setPrototypeOf(e,Object.getPrototypeOf(t)),Object.defineProperties(e,i(t)),e}},40372:function(t,e,r){var n=r(86249);t.exports=function(t){return n("webgl",t)}},21099:function(t,e,r){"use strict";var n=r(86165),i=r(72077),a=r(92978),o=a("Object.prototype.toString"),s=r(57877)()&&"symbol"==typeof Symbol.toStringTag,l=i(),u=a("String.prototype.slice"),c={},f=r(67295),h=Object.getPrototypeOf;s&&f&&h&&n(l,(function(t){if("function"==typeof r.g[t]){var e=new r.g[t];if(!(Symbol.toStringTag in e))throw new EvalError("this engine has support for Symbol.toStringTag, but "+t+" does not have the property! Please report this.");var n=h(e),i=f(n,Symbol.toStringTag);if(!i){var a=h(n);i=f(a,Symbol.toStringTag)}c[t]=i.get}}));var p=r(9187);t.exports=function(t){return!!p(t)&&(s?function(t){var e=!1;return n(c,(function(r,n){if(!e)try{var i=r.call(t);i===n&&(e=i)}catch(t){}})),e}(t):u(o(t),8,-1))}},3961:function(t,e,r){var n=r(63489),i=r(56131),a=n.instance();function o(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}o.prototype=new n.baseCalendar,i(o.prototype,{name:"Chinese",jdEpoch:1721425.5,hasYearZero:!1,minMonth:0,firstMonth:0,minDay:1,regionalOptions:{"":{name:"Chinese",epochs:["BEC","EC"],monthNumbers:function(t,e){if("string"==typeof t){var r=t.match(l);return r?r[0]:""}var n=this._validateYear(t),i=t.month(),a=""+this.toChineseMonth(n,i);return e&&a.length<2&&(a="0"+a),this.isIntercalaryMonth(n,i)&&(a+="i"),a},monthNames:function(t){if("string"==typeof t){var e=t.match(u);return e?e[0]:""}var r=this._validateYear(t),n=t.month(),i=["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"][this.toChineseMonth(r,n)-1];return this.isIntercalaryMonth(r,n)&&(i="闰"+i),i},monthNamesShort:function(t){if("string"==typeof t){var e=t.match(c);return e?e[0]:""}var r=this._validateYear(t),n=t.month(),i=["一","二","三","四","五","六","七","八","九","十","十一","十二"][this.toChineseMonth(r,n)-1];return this.isIntercalaryMonth(r,n)&&(i="闰"+i),i},parseMonth:function(t,e){t=this._validateYear(t);var r,n=parseInt(e);if(isNaN(n))"闰"===e[0]&&(r=!0,e=e.substring(1)),"月"===e[e.length-1]&&(e=e.substring(0,e.length-1)),n=1+["一","二","三","四","五","六","七","八","九","十","十一","十二"].indexOf(e);else{var i=e[e.length-1];r="i"===i||"I"===i}return this.toMonthIndex(t,n,r)},dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:1,isRTL:!1}},_validateYear:function(t,e){if(t.year&&(t=t.year()),"number"!=typeof t||t<1888||t>2111)throw e.replace(/\{0\}/,this.local.name);return t},toMonthIndex:function(t,e,r){var i=this.intercalaryMonth(t);if(r&&e!==i||e<1||e>12)throw n.local.invalidMonth.replace(/\{0\}/,this.local.name);return i?!r&&e<=i?e-1:e:e-1},toChineseMonth:function(t,e){t.year&&(e=(t=t.year()).month());var r=this.intercalaryMonth(t);if(e<0||e>(r?12:11))throw n.local.invalidMonth.replace(/\{0\}/,this.local.name);return r?e<r?e+1:e:e+1},intercalaryMonth:function(t){return t=this._validateYear(t),f[t-f[0]]>>13},isIntercalaryMonth:function(t,e){t.year&&(e=(t=t.year()).month());var r=this.intercalaryMonth(t);return!!r&&r===e},leapYear:function(t){return 0!==this.intercalaryMonth(t)},weekOfYear:function(t,e,r){var i,o=this._validateYear(t,n.local.invalidyear),s=h[o-h[0]],l=s>>9&4095,u=s>>5&15,c=31&s;(i=a.newDate(l,u,c)).add(4-(i.dayOfWeek()||7),"d");var f=this.toJD(t,e,r)-i.toJD();return 1+Math.floor(f/7)},monthsInYear:function(t){return this.leapYear(t)?13:12},daysInMonth:function(t,e){t.year&&(e=t.month(),t=t.year()),t=this._validateYear(t);var r=f[t-f[0]];if(e>(r>>13?12:11))throw n.local.invalidMonth.replace(/\{0\}/,this.local.name);return r&1<<12-e?30:29},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var i=this._validate(t,s,r,n.local.invalidDate);t=this._validateYear(i.year()),e=i.month(),r=i.day();var o=this.isIntercalaryMonth(t,e),s=this.toChineseMonth(t,e),l=function(t,e,r,n,i){var a,o,s;if("object"==typeof t)o=t,a=e||{};else{var l;if(!("number"==typeof t&&t>=1888&&t<=2111))throw new Error("Lunar year outside range 1888-2111");if(!("number"==typeof e&&e>=1&&e<=12))throw new Error("Lunar month outside range 1 - 12");if(!("number"==typeof r&&r>=1&&r<=30))throw new Error("Lunar day outside range 1 - 30");"object"==typeof n?(l=!1,a=n):(l=!!n,a={}),o={year:t,month:e,day:r,isIntercalary:l}}s=o.day-1;var u,c=f[o.year-f[0]],p=c>>13;u=p&&(o.month>p||o.isIntercalary)?o.month:o.month-1;for(var d=0;d<u;d++)s+=c&1<<12-d?30:29;var v=h[o.year-h[0]],g=new Date(v>>9&4095,(v>>5&15)-1,(31&v)+s);return a.year=g.getFullYear(),a.month=1+g.getMonth(),a.day=g.getDate(),a}(t,s,r,o);return a.toJD(l.year,l.month,l.day)},fromJD:function(t){var e=a.fromJD(t),r=function(t,e,r,n){var i,a;if("object"==typeof t)i=t,a=e||{};else{if(!("number"==typeof t&&t>=1888&&t<=2111))throw new Error("Solar year outside range 1888-2111");if(!("number"==typeof e&&e>=1&&e<=12))throw new Error("Solar month outside range 1 - 12");if(!("number"==typeof r&&r>=1&&r<=31))throw new Error("Solar day outside range 1 - 31");i={year:t,month:e,day:r},a={}}var o=h[i.year-h[0]],s=i.year<<9|i.month<<5|i.day;a.year=s>=o?i.year:i.year-1,o=h[a.year-h[0]];var l,u=new Date(o>>9&4095,(o>>5&15)-1,31&o),c=new Date(i.year,i.month-1,i.day);l=Math.round((c-u)/864e5);var p,d=f[a.year-f[0]];for(p=0;p<13;p++){var v=d&1<<12-p?30:29;if(l<v)break;l-=v}var g=d>>13;return!g||p<g?(a.isIntercalary=!1,a.month=1+p):p===g?(a.isIntercalary=!0,a.month=p):(a.isIntercalary=!1,a.month=p),a.day=1+l,a}(e.year(),e.month(),e.day()),n=this.toMonthIndex(r.year,r.month,r.isIntercalary);return this.newDate(r.year,n,r.day)},fromString:function(t){var e=t.match(s),r=this._validateYear(+e[1]),n=+e[2],i=!!e[3],a=this.toMonthIndex(r,n,i),o=+e[4];return this.newDate(r,a,o)},add:function(t,e,r){var n=t.year(),i=t.month(),a=this.isIntercalaryMonth(n,i),s=this.toChineseMonth(n,i),l=Object.getPrototypeOf(o.prototype).add.call(this,t,e,r);if("y"===r){var u=l.year(),c=l.month(),f=this.isIntercalaryMonth(u,s),h=a&&f?this.toMonthIndex(u,s,!0):this.toMonthIndex(u,s,!1);h!==c&&l.month(h)}return l}});var s=/^\s*(-?\d\d\d\d|\d\d)[-/](\d?\d)([iI]?)[-/](\d?\d)/m,l=/^\d?\d[iI]?/m,u=/^闰?十?[一二三四五六七八九]?月/m,c=/^闰?十?[一二三四五六七八九]?/m;n.calendars.chinese=o;var f=[1887,5780,5802,19157,2742,50359,1198,2646,46378,7466,3412,30122,5482,67949,2396,5294,43597,6732,6954,36181,2772,4954,18781,2396,54427,5274,6730,47781,5800,6868,21210,4790,59703,2350,5270,46667,3402,3496,38325,1388,4782,18735,2350,52374,6804,7498,44457,2906,1388,29294,4700,63789,6442,6804,56138,5802,2772,38235,1210,4698,22827,5418,63125,3476,5802,43701,2484,5302,27223,2646,70954,7466,3412,54698,5482,2412,38062,5294,2636,32038,6954,60245,2772,4826,43357,2394,5274,39501,6730,72357,5800,5844,53978,4790,2358,38039,5270,87627,3402,3496,54708,5484,4782,43311,2350,3222,27978,7498,68965,2904,5484,45677,4700,6444,39573,6804,6986,19285,2772,62811,1210,4698,47403,5418,5780,38570,5546,76469,2420,5302,51799,2646,5414,36501,3412,5546,18869,2412,54446,5276,6732,48422,6822,2900,28010,4826,92509,2394,5274,55883,6730,6820,47956,5812,2778,18779,2358,62615,5270,5450,46757,3492,5556,27318,4718,67887,2350,3222,52554,7498,3428,38252,5468,4700,31022,6444,64149,6804,6986,43861,2772,5338,35421,2650,70955,5418,5780,54954,5546,2740,38074,5302,2646,29991,3366,61011,3412,5546,43445,2412,5294,35406,6732,72998,6820,6996,52586,2778,2396,38045,5274,6698,23333,6820,64338,5812,2746,43355,2358,5270,39499,5450,79525,3492,5548],h=[1887,966732,967231,967733,968265,968766,969297,969798,970298,970829,971330,971830,972362,972863,973395,973896,974397,974928,975428,975929,976461,976962,977462,977994,978494,979026,979526,980026,980558,981059,981559,982091,982593,983124,983624,984124,984656,985157,985656,986189,986690,987191,987722,988222,988753,989254,989754,990286,990788,991288,991819,992319,992851,993352,993851,994383,994885,995385,995917,996418,996918,997450,997949,998481,998982,999483,1000014,1000515,1001016,1001548,1002047,1002578,1003080,1003580,1004111,1004613,1005113,1005645,1006146,1006645,1007177,1007678,1008209,1008710,1009211,1009743,1010243,1010743,1011275,1011775,1012306,1012807,1013308,1013840,1014341,1014841,1015373,1015874,1016404,1016905,1017405,1017937,1018438,1018939,1019471,1019972,1020471,1021002,1021503,1022035,1022535,1023036,1023568,1024069,1024568,1025100,1025601,1026102,1026633,1027133,1027666,1028167,1028666,1029198,1029699,1030199,1030730,1031231,1031763,1032264,1032764,1033296,1033797,1034297,1034828,1035329,1035830,1036362,1036861,1037393,1037894,1038394,1038925,1039427,1039927,1040459,1040959,1041491,1041992,1042492,1043023,1043524,1044024,1044556,1045057,1045558,1046090,1046590,1047121,1047622,1048122,1048654,1049154,1049655,1050187,1050689,1051219,1051720,1052220,1052751,1053252,1053752,1054284,1054786,1055285,1055817,1056317,1056849,1057349,1057850,1058382,1058883,1059383,1059915,1060415,1060947,1061447,1061947,1062479,1062981,1063480,1064012,1064514,1065014,1065545,1066045,1066577,1067078,1067578,1068110,1068611,1069112,1069642,1070142,1070674,1071175,1071675,1072207,1072709,1073209,1073740,1074241,1074741,1075273,1075773,1076305,1076807,1077308,1077839,1078340,1078840,1079372,1079871,1080403,1080904]},38751:function(t,e,r){var n=r(63489),i=r(56131);function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}a.prototype=new n.baseCalendar,i(a.prototype,{name:"Coptic",jdEpoch:1825029.5,daysPerMonth:[30,30,30,30,30,30,30,30,30,30,30,30,5],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Coptic",epochs:["BAM","AM"],monthNames:["Thout","Paopi","Hathor","Koiak","Tobi","Meshir","Paremhat","Paremoude","Pashons","Paoni","Epip","Mesori","Pi Kogi Enavot"],monthNamesShort:["Tho","Pao","Hath","Koi","Tob","Mesh","Pat","Pad","Pash","Pao","Epi","Meso","PiK"],dayNames:["Tkyriaka","Pesnau","Pshoment","Peftoou","Ptiou","Psoou","Psabbaton"],dayNamesShort:["Tky","Pes","Psh","Pef","Pti","Pso","Psa"],dayNamesMin:["Tk","Pes","Psh","Pef","Pt","Pso","Psa"],digits:null,dateFormat:"dd/mm/yyyy",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return(t=e.year()+(e.year()<0?1:0))%4==3||t%4==-1},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear||n.regionalOptions[""].invalidYear),13},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(13===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return(t=i.year())<0&&t++,i.day()+30*(i.month()-1)+365*(t-1)+Math.floor(t/4)+this.jdEpoch-1},fromJD:function(t){var e=Math.floor(t)+.5-this.jdEpoch,r=Math.floor((e-Math.floor((e+366)/1461))/365)+1;r<=0&&r--,e=Math.floor(t)+.5-this.newDate(r,1,1).toJD();var n=Math.floor(e/30)+1,i=e-30*(n-1)+1;return this.newDate(r,n,i)}}),n.calendars.coptic=a},86825:function(t,e,r){var n=r(63489),i=r(56131);function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}a.prototype=new n.baseCalendar,i(a.prototype,{name:"Discworld",jdEpoch:1721425.5,daysPerMonth:[16,32,32,32,32,32,32,32,32,32,32,32,32],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Discworld",epochs:["BUC","UC"],monthNames:["Ick","Offle","February","March","April","May","June","Grune","August","Spune","Sektober","Ember","December"],monthNamesShort:["Ick","Off","Feb","Mar","Apr","May","Jun","Gru","Aug","Spu","Sek","Emb","Dec"],dayNames:["Sunday","Octeday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Oct","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Oc","Mo","Tu","We","Th","Fr","Sa"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:2,isRTL:!1}},leapYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),!1},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),13},daysInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),400},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/8)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]},daysInWeek:function(){return 8},dayOfWeek:function(t,e,r){return(this._validate(t,e,r,n.local.invalidDate).day()+1)%8},weekDay:function(t,e,r){var n=this.dayOfWeek(t,e,r);return n>=2&&n<=6},extraInfo:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return{century:o[Math.floor((i.year()-1)/100)+1]||""}},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return t=i.year()+(i.year()<0?1:0),e=i.month(),(r=i.day())+(e>1?16:0)+(e>2?32*(e-2):0)+400*(t-1)+this.jdEpoch-1},fromJD:function(t){t=Math.floor(t+.5)-Math.floor(this.jdEpoch)-1;var e=Math.floor(t/400)+1;t-=400*(e-1),t+=t>15?16:0;var r=Math.floor(t/32)+1,n=t-32*(r-1)+1;return this.newDate(e<=0?e-1:e,r,n)}});var o={20:"Fruitbat",21:"Anchovy"};n.calendars.discworld=a},37715:function(t,e,r){var n=r(63489),i=r(56131);function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}a.prototype=new n.baseCalendar,i(a.prototype,{name:"Ethiopian",jdEpoch:1724220.5,daysPerMonth:[30,30,30,30,30,30,30,30,30,30,30,30,5],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Ethiopian",epochs:["BEE","EE"],monthNames:["Meskerem","Tikemet","Hidar","Tahesas","Tir","Yekatit","Megabit","Miazia","Genbot","Sene","Hamle","Nehase","Pagume"],monthNamesShort:["Mes","Tik","Hid","Tah","Tir","Yek","Meg","Mia","Gen","Sen","Ham","Neh","Pag"],dayNames:["Ehud","Segno","Maksegno","Irob","Hamus","Arb","Kidame"],dayNamesShort:["Ehu","Seg","Mak","Iro","Ham","Arb","Kid"],dayNamesMin:["Eh","Se","Ma","Ir","Ha","Ar","Ki"],digits:null,dateFormat:"dd/mm/yyyy",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return(t=e.year()+(e.year()<0?1:0))%4==3||t%4==-1},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear||n.regionalOptions[""].invalidYear),13},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(13===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return(t=i.year())<0&&t++,i.day()+30*(i.month()-1)+365*(t-1)+Math.floor(t/4)+this.jdEpoch-1},fromJD:function(t){var e=Math.floor(t)+.5-this.jdEpoch,r=Math.floor((e-Math.floor((e+366)/1461))/365)+1;r<=0&&r--,e=Math.floor(t)+.5-this.newDate(r,1,1).toJD();var n=Math.floor(e/30)+1,i=e-30*(n-1)+1;return this.newDate(r,n,i)}}),n.calendars.ethiopian=a},99384:function(t,e,r){var n=r(63489),i=r(56131);function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}function o(t,e){return t-e*Math.floor(t/e)}a.prototype=new n.baseCalendar,i(a.prototype,{name:"Hebrew",jdEpoch:347995.5,daysPerMonth:[30,29,30,29,30,29,30,29,30,29,30,29,29],hasYearZero:!1,minMonth:1,firstMonth:7,minDay:1,regionalOptions:{"":{name:"Hebrew",epochs:["BAM","AM"],monthNames:["Nisan","Iyar","Sivan","Tammuz","Av","Elul","Tishrei","Cheshvan","Kislev","Tevet","Shevat","Adar","Adar II"],monthNamesShort:["Nis","Iya","Siv","Tam","Av","Elu","Tis","Che","Kis","Tev","She","Ada","Ad2"],dayNames:["Yom Rishon","Yom Sheni","Yom Shlishi","Yom Revi'i","Yom Chamishi","Yom Shishi","Yom Shabbat"],dayNamesShort:["Ris","She","Shl","Rev","Cha","Shi","Sha"],dayNamesMin:["Ri","She","Shl","Re","Ch","Shi","Sha"],digits:null,dateFormat:"dd/mm/yyyy",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return this._leapYear(e.year())},_leapYear:function(t){return o(7*(t=t<0?t+1:t)+1,19)<7},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),this._leapYear(t.year?t.year():t)?13:12},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(t){return t=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear).year(),this.toJD(-1===t?1:t+1,7,1)-this.toJD(t,7,1)},daysInMonth:function(t,e){return t.year&&(e=t.month(),t=t.year()),this._validate(t,e,this.minDay,n.local.invalidMonth),12===e&&this.leapYear(t)||8===e&&5===o(this.daysInYear(t),10)?30:9===e&&3===o(this.daysInYear(t),10)?29:this.daysPerMonth[e-1]},weekDay:function(t,e,r){return 6!==this.dayOfWeek(t,e,r)},extraInfo:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return{yearType:(this.leapYear(i)?"embolismic":"common")+" "+["deficient","regular","complete"][this.daysInYear(i)%10-3]}},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);t=i.year(),e=i.month(),r=i.day();var a=t<=0?t+1:t,o=this.jdEpoch+this._delay1(a)+this._delay2(a)+r+1;if(e<7){for(var s=7;s<=this.monthsInYear(t);s++)o+=this.daysInMonth(t,s);for(s=1;s<e;s++)o+=this.daysInMonth(t,s)}else for(s=7;s<e;s++)o+=this.daysInMonth(t,s);return o},_delay1:function(t){var e=Math.floor((235*t-234)/19),r=12084+13753*e,n=29*e+Math.floor(r/25920);return o(3*(n+1),7)<3&&n++,n},_delay2:function(t){var e=this._delay1(t-1),r=this._delay1(t);return this._delay1(t+1)-r==356?2:r-e==382?1:0},fromJD:function(t){t=Math.floor(t)+.5;for(var e=Math.floor(98496*(t-this.jdEpoch)/35975351)-1;t>=this.toJD(-1===e?1:e+1,7,1);)e++;for(var r=t<this.toJD(e,1,1)?7:1;t>this.toJD(e,r,this.daysInMonth(e,r));)r++;var n=t-this.toJD(e,r,1)+1;return this.newDate(e,r,n)}}),n.calendars.hebrew=a},43805:function(t,e,r){var n=r(63489),i=r(56131);function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}a.prototype=new n.baseCalendar,i(a.prototype,{name:"Islamic",jdEpoch:1948439.5,daysPerMonth:[30,29,30,29,30,29,30,29,30,29,30,29],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Islamic",epochs:["BH","AH"],monthNames:["Muharram","Safar","Rabi' al-awwal","Rabi' al-thani","Jumada al-awwal","Jumada al-thani","Rajab","Sha'aban","Ramadan","Shawwal","Dhu al-Qi'dah","Dhu al-Hijjah"],monthNamesShort:["Muh","Saf","Rab1","Rab2","Jum1","Jum2","Raj","Sha'","Ram","Shaw","DhuQ","DhuH"],dayNames:["Yawm al-ahad","Yawm al-ithnayn","Yawm ath-thulaathaa'","Yawm al-arbi'aa'","Yawm al-khamīs","Yawm al-jum'a","Yawm as-sabt"],dayNamesShort:["Aha","Ith","Thu","Arb","Kha","Jum","Sab"],dayNamesMin:["Ah","It","Th","Ar","Kh","Ju","Sa"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:6,isRTL:!1}},leapYear:function(t){return(11*this._validate(t,this.minMonth,this.minDay,n.local.invalidYear).year()+14)%30<11},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(t){return this.leapYear(t)?355:354},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(12===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return 5!==this.dayOfWeek(t,e,r)},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return t=i.year(),e=i.month(),t=t<=0?t+1:t,(r=i.day())+Math.ceil(29.5*(e-1))+354*(t-1)+Math.floor((3+11*t)/30)+this.jdEpoch-1},fromJD:function(t){t=Math.floor(t)+.5;var e=Math.floor((30*(t-this.jdEpoch)+10646)/10631);e=e<=0?e-1:e;var r=Math.min(12,Math.ceil((t-29-this.toJD(e,1,1))/29.5)+1),n=t-this.toJD(e,r,1)+1;return this.newDate(e,r,n)}}),n.calendars.islamic=a},88874:function(t,e,r){var n=r(63489),i=r(56131);function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}a.prototype=new n.baseCalendar,i(a.prototype,{name:"Julian",jdEpoch:1721423.5,daysPerMonth:[31,28,31,30,31,30,31,31,30,31,30,31],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Julian",epochs:["BC","AD"],monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],digits:null,dateFormat:"mm/dd/yyyy",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return(t=e.year()<0?e.year()+1:e.year())%4==0},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(4-(n.dayOfWeek()||7),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(2===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return t=i.year(),e=i.month(),r=i.day(),t<0&&t++,e<=2&&(t--,e+=12),Math.floor(365.25*(t+4716))+Math.floor(30.6001*(e+1))+r-1524.5},fromJD:function(t){var e=Math.floor(t+.5)+1524,r=Math.floor((e-122.1)/365.25),n=Math.floor(365.25*r),i=Math.floor((e-n)/30.6001),a=i-Math.floor(i<14?1:13),o=r-Math.floor(a>2?4716:4715),s=e-n-Math.floor(30.6001*i);return o<=0&&o--,this.newDate(o,a,s)}}),n.calendars.julian=a},83290:function(t,e,r){var n=r(63489),i=r(56131);function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}function o(t,e){return t-e*Math.floor(t/e)}function s(t,e){return o(t-1,e)+1}a.prototype=new n.baseCalendar,i(a.prototype,{name:"Mayan",jdEpoch:584282.5,hasYearZero:!0,minMonth:0,firstMonth:0,minDay:0,regionalOptions:{"":{name:"Mayan",epochs:["",""],monthNames:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17"],monthNamesShort:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17"],dayNames:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19"],dayNamesShort:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19"],dayNamesMin:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19"],digits:null,dateFormat:"YYYY.m.d",firstDay:0,isRTL:!1,haabMonths:["Pop","Uo","Zip","Zotz","Tzec","Xul","Yaxkin","Mol","Chen","Yax","Zac","Ceh","Mac","Kankin","Muan","Pax","Kayab","Cumku","Uayeb"],tzolkinMonths:["Imix","Ik","Akbal","Kan","Chicchan","Cimi","Manik","Lamat","Muluc","Oc","Chuen","Eb","Ben","Ix","Men","Cib","Caban","Etznab","Cauac","Ahau"]}},leapYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),!1},formatYear:function(t){t=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear).year();var e=Math.floor(t/400);return t%=400,t+=t<0?400:0,e+"."+Math.floor(t/20)+"."+t%20},forYear:function(t){if((t=t.split(".")).length<3)throw"Invalid Mayan year";for(var e=0,r=0;r<t.length;r++){var n=parseInt(t[r],10);if(Math.abs(n)>19||r>0&&n<0)throw"Invalid Mayan year";e=20*e+n}return e},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),18},weekOfYear:function(t,e,r){return this._validate(t,e,r,n.local.invalidDate),0},daysInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),360},daysInMonth:function(t,e){return this._validate(t,e,this.minDay,n.local.invalidMonth),20},daysInWeek:function(){return 5},dayOfWeek:function(t,e,r){return this._validate(t,e,r,n.local.invalidDate).day()},weekDay:function(t,e,r){return this._validate(t,e,r,n.local.invalidDate),!0},extraInfo:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate).toJD(),a=this._toHaab(i),o=this._toTzolkin(i);return{haabMonthName:this.local.haabMonths[a[0]-1],haabMonth:a[0],haabDay:a[1],tzolkinDayName:this.local.tzolkinMonths[o[0]-1],tzolkinDay:o[0],tzolkinTrecena:o[1]}},_toHaab:function(t){var e=o(8+(t-=this.jdEpoch)+340,365);return[Math.floor(e/20)+1,o(e,20)]},_toTzolkin:function(t){return[s(20+(t-=this.jdEpoch),20),s(t+4,13)]},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return i.day()+20*i.month()+360*i.year()+this.jdEpoch},fromJD:function(t){t=Math.floor(t)+.5-this.jdEpoch;var e=Math.floor(t/360);t%=360,t+=t<0?360:0;var r=Math.floor(t/20),n=t%20;return this.newDate(e,r,n)}}),n.calendars.mayan=a},29108:function(t,e,r){var n=r(63489),i=r(56131);function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}a.prototype=new n.baseCalendar;var o=n.instance("gregorian");i(a.prototype,{name:"Nanakshahi",jdEpoch:2257673.5,daysPerMonth:[31,31,31,31,31,30,30,30,30,30,30,30],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Nanakshahi",epochs:["BN","AN"],monthNames:["Chet","Vaisakh","Jeth","Harh","Sawan","Bhadon","Assu","Katak","Maghar","Poh","Magh","Phagun"],monthNamesShort:["Che","Vai","Jet","Har","Saw","Bha","Ass","Kat","Mgr","Poh","Mgh","Pha"],dayNames:["Somvaar","Mangalvar","Budhvaar","Veervaar","Shukarvaar","Sanicharvaar","Etvaar"],dayNamesShort:["Som","Mangal","Budh","Veer","Shukar","Sanichar","Et"],dayNamesMin:["So","Ma","Bu","Ve","Sh","Sa","Et"],digits:null,dateFormat:"dd-mm-yyyy",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear||n.regionalOptions[""].invalidYear);return o.leapYear(e.year()+(e.year()<1?1:0)+1469)},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(1-(n.dayOfWeek()||7),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(12===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidMonth);(t=i.year())<0&&t++;for(var a=i.day(),s=1;s<i.month();s++)a+=this.daysPerMonth[s-1];return a+o.toJD(t+1468,3,13)},fromJD:function(t){t=Math.floor(t+.5);for(var e=Math.floor((t-(this.jdEpoch-1))/366);t>=this.toJD(e+1,1,1);)e++;for(var r=t-Math.floor(this.toJD(e,1,1)+.5)+1,n=1;r>this.daysInMonth(e,n);)r-=this.daysInMonth(e,n),n++;return this.newDate(e,n,r)}}),n.calendars.nanakshahi=a},55422:function(t,e,r){var n=r(63489),i=r(56131);function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}a.prototype=new n.baseCalendar,i(a.prototype,{name:"Nepali",jdEpoch:1700709.5,daysPerMonth:[31,31,32,32,31,30,30,29,30,29,30,30],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,daysPerYear:365,regionalOptions:{"":{name:"Nepali",epochs:["BBS","ABS"],monthNames:["Baisakh","Jestha","Ashadh","Shrawan","Bhadra","Ashwin","Kartik","Mangsir","Paush","Mangh","Falgun","Chaitra"],monthNamesShort:["Bai","Je","As","Shra","Bha","Ash","Kar","Mang","Pau","Ma","Fal","Chai"],dayNames:["Aaitabaar","Sombaar","Manglbaar","Budhabaar","Bihibaar","Shukrabaar","Shanibaar"],dayNamesShort:["Aaita","Som","Mangl","Budha","Bihi","Shukra","Shani"],dayNamesMin:["Aai","So","Man","Bu","Bi","Shu","Sha"],digits:null,dateFormat:"dd/mm/yyyy",firstDay:1,isRTL:!1}},leapYear:function(t){return this.daysInYear(t)!==this.daysPerYear},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(t){if(t=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear).year(),void 0===this.NEPALI_CALENDAR_DATA[t])return this.daysPerYear;for(var e=0,r=this.minMonth;r<=12;r++)e+=this.NEPALI_CALENDAR_DATA[t][r];return e},daysInMonth:function(t,e){return t.year&&(e=t.month(),t=t.year()),this._validate(t,e,this.minDay,n.local.invalidMonth),void 0===this.NEPALI_CALENDAR_DATA[t]?this.daysPerMonth[e-1]:this.NEPALI_CALENDAR_DATA[t][e]},weekDay:function(t,e,r){return 6!==this.dayOfWeek(t,e,r)},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);t=i.year(),e=i.month(),r=i.day();var a=n.instance(),o=0,s=e,l=t;this._createMissingCalendarData(t);var u=t-(s>9||9===s&&r>=this.NEPALI_CALENDAR_DATA[l][0]?56:57);for(9!==e&&(o=r,s--);9!==s;)s<=0&&(s=12,l--),o+=this.NEPALI_CALENDAR_DATA[l][s],s--;return 9===e?(o+=r-this.NEPALI_CALENDAR_DATA[l][0])<0&&(o+=a.daysInYear(u)):o+=this.NEPALI_CALENDAR_DATA[l][9]-this.NEPALI_CALENDAR_DATA[l][0],a.newDate(u,1,1).add(o,"d").toJD()},fromJD:function(t){var e=n.instance().fromJD(t),r=e.year(),i=e.dayOfYear(),a=r+56;this._createMissingCalendarData(a);for(var o=9,s=this.NEPALI_CALENDAR_DATA[a][0],l=this.NEPALI_CALENDAR_DATA[a][o]-s+1;i>l;)++o>12&&(o=1,a++),l+=this.NEPALI_CALENDAR_DATA[a][o];var u=this.NEPALI_CALENDAR_DATA[a][o]-(l-i);return this.newDate(a,o,u)},_createMissingCalendarData:function(t){var e=this.daysPerMonth.slice(0);e.unshift(17);for(var r=t-1;r<t+2;r++)void 0===this.NEPALI_CALENDAR_DATA[r]&&(this.NEPALI_CALENDAR_DATA[r]=e)},NEPALI_CALENDAR_DATA:{1970:[18,31,31,32,31,31,31,30,29,30,29,30,30],1971:[18,31,31,32,31,32,30,30,29,30,29,30,30],1972:[17,31,32,31,32,31,30,30,30,29,29,30,30],1973:[19,30,32,31,32,31,30,30,30,29,30,29,31],1974:[19,31,31,32,30,31,31,30,29,30,29,30,30],1975:[18,31,31,32,32,30,31,30,29,30,29,30,30],1976:[17,31,32,31,32,31,30,30,30,29,29,30,31],1977:[18,31,32,31,32,31,31,29,30,29,30,29,31],1978:[18,31,31,32,31,31,31,30,29,30,29,30,30],1979:[18,31,31,32,32,31,30,30,29,30,29,30,30],1980:[17,31,32,31,32,31,30,30,30,29,29,30,31],1981:[18,31,31,31,32,31,31,29,30,30,29,30,30],1982:[18,31,31,32,31,31,31,30,29,30,29,30,30],1983:[18,31,31,32,32,31,30,30,29,30,29,30,30],1984:[17,31,32,31,32,31,30,30,30,29,29,30,31],1985:[18,31,31,31,32,31,31,29,30,30,29,30,30],1986:[18,31,31,32,31,31,31,30,29,30,29,30,30],1987:[18,31,32,31,32,31,30,30,29,30,29,30,30],1988:[17,31,32,31,32,31,30,30,30,29,29,30,31],1989:[18,31,31,31,32,31,31,30,29,30,29,30,30],1990:[18,31,31,32,31,31,31,30,29,30,29,30,30],1991:[18,31,32,31,32,31,30,30,29,30,29,30,30],1992:[17,31,32,31,32,31,30,30,30,29,30,29,31],1993:[18,31,31,31,32,31,31,30,29,30,29,30,30],1994:[18,31,31,32,31,31,31,30,29,30,29,30,30],1995:[17,31,32,31,32,31,30,30,30,29,29,30,30],1996:[17,31,32,31,32,31,30,30,30,29,30,29,31],1997:[18,31,31,32,31,31,31,30,29,30,29,30,30],1998:[18,31,31,32,31,31,31,30,29,30,29,30,30],1999:[17,31,32,31,32,31,30,30,30,29,29,30,31],2e3:[17,30,32,31,32,31,30,30,30,29,30,29,31],2001:[18,31,31,32,31,31,31,30,29,30,29,30,30],2002:[18,31,31,32,32,31,30,30,29,30,29,30,30],2003:[17,31,32,31,32,31,30,30,30,29,29,30,31],2004:[17,30,32,31,32,31,30,30,30,29,30,29,31],2005:[18,31,31,32,31,31,31,30,29,30,29,30,30],2006:[18,31,31,32,32,31,30,30,29,30,29,30,30],2007:[17,31,32,31,32,31,30,30,30,29,29,30,31],2008:[17,31,31,31,32,31,31,29,30,30,29,29,31],2009:[18,31,31,32,31,31,31,30,29,30,29,30,30],2010:[18,31,31,32,32,31,30,30,29,30,29,30,30],2011:[17,31,32,31,32,31,30,30,30,29,29,30,31],2012:[17,31,31,31,32,31,31,29,30,30,29,30,30],2013:[18,31,31,32,31,31,31,30,29,30,29,30,30],2014:[18,31,31,32,32,31,30,30,29,30,29,30,30],2015:[17,31,32,31,32,31,30,30,30,29,29,30,31],2016:[17,31,31,31,32,31,31,29,30,30,29,30,30],2017:[18,31,31,32,31,31,31,30,29,30,29,30,30],2018:[18,31,32,31,32,31,30,30,29,30,29,30,30],2019:[17,31,32,31,32,31,30,30,30,29,30,29,31],2020:[17,31,31,31,32,31,31,30,29,30,29,30,30],2021:[18,31,31,32,31,31,31,30,29,30,29,30,30],2022:[17,31,32,31,32,31,30,30,30,29,29,30,30],2023:[17,31,32,31,32,31,30,30,30,29,30,29,31],2024:[17,31,31,31,32,31,31,30,29,30,29,30,30],2025:[18,31,31,32,31,31,31,30,29,30,29,30,30],2026:[17,31,32,31,32,31,30,30,30,29,29,30,31],2027:[17,30,32,31,32,31,30,30,30,29,30,29,31],2028:[17,31,31,32,31,31,31,30,29,30,29,30,30],2029:[18,31,31,32,31,32,30,30,29,30,29,30,30],2030:[17,31,32,31,32,31,30,30,30,30,30,30,31],2031:[17,31,32,31,32,31,31,31,31,31,31,31,31],2032:[17,32,32,32,32,32,32,32,32,32,32,32,32],2033:[18,31,31,32,32,31,30,30,29,30,29,30,30],2034:[17,31,32,31,32,31,30,30,30,29,29,30,31],2035:[17,30,32,31,32,31,31,29,30,30,29,29,31],2036:[17,31,31,32,31,31,31,30,29,30,29,30,30],2037:[18,31,31,32,32,31,30,30,29,30,29,30,30],2038:[17,31,32,31,32,31,30,30,30,29,29,30,31],2039:[17,31,31,31,32,31,31,29,30,30,29,30,30],2040:[17,31,31,32,31,31,31,30,29,30,29,30,30],2041:[18,31,31,32,32,31,30,30,29,30,29,30,30],2042:[17,31,32,31,32,31,30,30,30,29,29,30,31],2043:[17,31,31,31,32,31,31,29,30,30,29,30,30],2044:[17,31,31,32,31,31,31,30,29,30,29,30,30],2045:[18,31,32,31,32,31,30,30,29,30,29,30,30],2046:[17,31,32,31,32,31,30,30,30,29,29,30,31],2047:[17,31,31,31,32,31,31,30,29,30,29,30,30],2048:[17,31,31,32,31,31,31,30,29,30,29,30,30],2049:[17,31,32,31,32,31,30,30,30,29,29,30,30],2050:[17,31,32,31,32,31,30,30,30,29,30,29,31],2051:[17,31,31,31,32,31,31,30,29,30,29,30,30],2052:[17,31,31,32,31,31,31,30,29,30,29,30,30],2053:[17,31,32,31,32,31,30,30,30,29,29,30,30],2054:[17,31,32,31,32,31,30,30,30,29,30,29,31],2055:[17,31,31,32,31,31,31,30,29,30,30,29,30],2056:[17,31,31,32,31,32,30,30,29,30,29,30,30],2057:[17,31,32,31,32,31,30,30,30,29,29,30,31],2058:[17,30,32,31,32,31,30,30,30,29,30,29,31],2059:[17,31,31,32,31,31,31,30,29,30,29,30,30],2060:[17,31,31,32,32,31,30,30,29,30,29,30,30],2061:[17,31,32,31,32,31,30,30,30,29,29,30,31],2062:[17,30,32,31,32,31,31,29,30,29,30,29,31],2063:[17,31,31,32,31,31,31,30,29,30,29,30,30],2064:[17,31,31,32,32,31,30,30,29,30,29,30,30],2065:[17,31,32,31,32,31,30,30,30,29,29,30,31],2066:[17,31,31,31,32,31,31,29,30,30,29,29,31],2067:[17,31,31,32,31,31,31,30,29,30,29,30,30],2068:[17,31,31,32,32,31,30,30,29,30,29,30,30],2069:[17,31,32,31,32,31,30,30,30,29,29,30,31],2070:[17,31,31,31,32,31,31,29,30,30,29,30,30],2071:[17,31,31,32,31,31,31,30,29,30,29,30,30],2072:[17,31,32,31,32,31,30,30,29,30,29,30,30],2073:[17,31,32,31,32,31,30,30,30,29,29,30,31],2074:[17,31,31,31,32,31,31,30,29,30,29,30,30],2075:[17,31,31,32,31,31,31,30,29,30,29,30,30],2076:[16,31,32,31,32,31,30,30,30,29,29,30,30],2077:[17,31,32,31,32,31,30,30,30,29,30,29,31],2078:[17,31,31,31,32,31,31,30,29,30,29,30,30],2079:[17,31,31,32,31,31,31,30,29,30,29,30,30],2080:[16,31,32,31,32,31,30,30,30,29,29,30,30],2081:[17,31,31,32,32,31,30,30,30,29,30,30,30],2082:[17,31,32,31,32,31,30,30,30,29,30,30,30],2083:[17,31,31,32,31,31,30,30,30,29,30,30,30],2084:[17,31,31,32,31,31,30,30,30,29,30,30,30],2085:[17,31,32,31,32,31,31,30,30,29,30,30,30],2086:[17,31,32,31,32,31,30,30,30,29,30,30,30],2087:[16,31,31,32,31,31,31,30,30,29,30,30,30],2088:[16,30,31,32,32,30,31,30,30,29,30,30,30],2089:[17,31,32,31,32,31,30,30,30,29,30,30,30],2090:[17,31,32,31,32,31,30,30,30,29,30,30,30],2091:[16,31,31,32,31,31,31,30,30,29,30,30,30],2092:[16,31,31,32,32,31,30,30,30,29,30,30,30],2093:[17,31,32,31,32,31,30,30,30,29,30,30,30],2094:[17,31,31,32,31,31,30,30,30,29,30,30,30],2095:[17,31,31,32,31,31,31,30,29,30,30,30,30],2096:[17,30,31,32,32,31,30,30,29,30,29,30,30],2097:[17,31,32,31,32,31,30,30,30,29,30,30,30],2098:[17,31,31,32,31,31,31,29,30,29,30,30,31],2099:[17,31,31,32,31,31,31,30,29,29,30,30,30],2100:[17,31,32,31,32,30,31,30,29,30,29,30,30]}}),n.calendars.nepali=a},94320:function(t,e,r){var n=r(63489),i=r(56131);function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}function o(t,e){return t-e*Math.floor(t/e)}a.prototype=new n.baseCalendar,i(a.prototype,{name:"Persian",jdEpoch:1948320.5,daysPerMonth:[31,31,31,31,31,31,30,30,30,30,30,29],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Persian",epochs:["BP","AP"],monthNames:["Farvardin","Ordibehesht","Khordad","Tir","Mordad","Shahrivar","Mehr","Aban","Azar","Day","Bahman","Esfand"],monthNamesShort:["Far","Ord","Kho","Tir","Mor","Sha","Meh","Aba","Aza","Day","Bah","Esf"],dayNames:["Yekshambe","Doshambe","Seshambe","Chæharshambe","Panjshambe","Jom'e","Shambe"],dayNamesShort:["Yek","Do","Se","Chæ","Panj","Jom","Sha"],dayNamesMin:["Ye","Do","Se","Ch","Pa","Jo","Sh"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:6,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return 682*((e.year()-(e.year()>0?474:473))%2820+474+38)%2816<682},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-(n.dayOfWeek()+1)%7,"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(12===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return 5!==this.dayOfWeek(t,e,r)},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);t=i.year(),e=i.month(),r=i.day();var a=t-(t>=0?474:473),s=474+o(a,2820);return r+(e<=7?31*(e-1):30*(e-1)+6)+Math.floor((682*s-110)/2816)+365*(s-1)+1029983*Math.floor(a/2820)+this.jdEpoch-1},fromJD:function(t){var e=(t=Math.floor(t)+.5)-this.toJD(475,1,1),r=Math.floor(e/1029983),n=o(e,1029983),i=2820;if(1029982!==n){var a=Math.floor(n/366),s=o(n,366);i=Math.floor((2134*a+2816*s+2815)/1028522)+a+1}var l=i+2820*r+474;l=l<=0?l-1:l;var u=t-this.toJD(l,1,1)+1,c=u<=186?Math.ceil(u/31):Math.ceil((u-6)/30),f=t-this.toJD(l,c,1)+1;return this.newDate(l,c,f)}}),n.calendars.persian=a,n.calendars.jalali=a},31320:function(t,e,r){var n=r(63489),i=r(56131),a=n.instance();function o(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}o.prototype=new n.baseCalendar,i(o.prototype,{name:"Taiwan",jdEpoch:2419402.5,yearsOffset:1911,daysPerMonth:[31,28,31,30,31,30,31,31,30,31,30,31],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Taiwan",epochs:["BROC","ROC"],monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:1,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return t=this._t2gYear(e.year()),a.leapYear(t)},weekOfYear:function(t,e,r){var i=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return t=this._t2gYear(i.year()),a.weekOfYear(t,i.month(),i.day())},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(2===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return t=this._t2gYear(i.year()),a.toJD(t,i.month(),i.day())},fromJD:function(t){var e=a.fromJD(t),r=this._g2tYear(e.year());return this.newDate(r,e.month(),e.day())},_t2gYear:function(t){return t+this.yearsOffset+(t>=-this.yearsOffset&&t<=-1?1:0)},_g2tYear:function(t){return t-this.yearsOffset-(t>=1&&t<=this.yearsOffset?1:0)}}),n.calendars.taiwan=o},51367:function(t,e,r){var n=r(63489),i=r(56131),a=n.instance();function o(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}o.prototype=new n.baseCalendar,i(o.prototype,{name:"Thai",jdEpoch:1523098.5,yearsOffset:543,daysPerMonth:[31,28,31,30,31,30,31,31,30,31,30,31],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Thai",epochs:["BBE","BE"],monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],digits:null,dateFormat:"dd/mm/yyyy",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return t=this._t2gYear(e.year()),a.leapYear(t)},weekOfYear:function(t,e,r){var i=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return t=this._t2gYear(i.year()),a.weekOfYear(t,i.month(),i.day())},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(2===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return t=this._t2gYear(i.year()),a.toJD(t,i.month(),i.day())},fromJD:function(t){var e=a.fromJD(t),r=this._g2tYear(e.year());return this.newDate(r,e.month(),e.day())},_t2gYear:function(t){return t-this.yearsOffset-(t>=1&&t<=this.yearsOffset?1:0)},_g2tYear:function(t){return t+this.yearsOffset+(t>=-this.yearsOffset&&t<=-1?1:0)}}),n.calendars.thai=o},21457:function(t,e,r){var n=r(63489),i=r(56131);function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}a.prototype=new n.baseCalendar,i(a.prototype,{name:"UmmAlQura",hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Umm al-Qura",epochs:["BH","AH"],monthNames:["Al-Muharram","Safar","Rabi' al-awwal","Rabi' Al-Thani","Jumada Al-Awwal","Jumada Al-Thani","Rajab","Sha'aban","Ramadan","Shawwal","Dhu al-Qi'dah","Dhu al-Hijjah"],monthNamesShort:["Muh","Saf","Rab1","Rab2","Jum1","Jum2","Raj","Sha'","Ram","Shaw","DhuQ","DhuH"],dayNames:["Yawm al-Ahad","Yawm al-Ithnain","Yawm al-Thalāthā’","Yawm al-Arba‘ā’","Yawm al-Khamīs","Yawm al-Jum‘a","Yawm al-Sabt"],dayNamesMin:["Ah","Ith","Th","Ar","Kh","Ju","Sa"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:6,isRTL:!0}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return 355===this.daysInYear(e.year())},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(t){for(var e=0,r=1;r<=12;r++)e+=this.daysInMonth(t,r);return e},daysInMonth:function(t,e){for(var r=this._validate(t,e,this.minDay,n.local.invalidMonth).toJD()-24e5+.5,i=0,a=0;a<o.length;a++){if(o[a]>r)return o[i]-o[i-1];i++}return 30},weekDay:function(t,e,r){return 5!==this.dayOfWeek(t,e,r)},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate),a=12*(i.year()-1)+i.month()-15292;return i.day()+o[a-1]-1+24e5-.5},fromJD:function(t){for(var e=t-24e5+.5,r=0,n=0;n<o.length&&!(o[n]>e);n++)r++;var i=r+15292,a=Math.floor((i-1)/12),s=a+1,l=i-12*a,u=e-o[r-1]+1;return this.newDate(s,l,u)},isValid:function(t,e,r){var i=n.baseCalendar.prototype.isValid.apply(this,arguments);return i&&(i=(t=null!=t.year?t.year:t)>=1276&&t<=1500),i},_validate:function(t,e,r,i){var a=n.baseCalendar.prototype._validate.apply(this,arguments);if(a.year<1276||a.year>1500)throw i.replace(/\{0\}/,this.local.name);return a}}),n.calendars.ummalqura=a;var o=[20,50,79,109,138,168,197,227,256,286,315,345,374,404,433,463,492,522,551,581,611,641,670,700,729,759,788,818,847,877,906,936,965,995,1024,1054,1083,1113,1142,1172,1201,1231,1260,1290,1320,1350,1379,1409,1438,1468,1497,1527,1556,1586,1615,1645,1674,1704,1733,1763,1792,1822,1851,1881,1910,1940,1969,1999,2028,2058,2087,2117,2146,2176,2205,2235,2264,2294,2323,2353,2383,2413,2442,2472,2501,2531,2560,2590,2619,2649,2678,2708,2737,2767,2796,2826,2855,2885,2914,2944,2973,3003,3032,3062,3091,3121,3150,3180,3209,3239,3268,3298,3327,3357,3386,3416,3446,3476,3505,3535,3564,3594,3623,3653,3682,3712,3741,3771,3800,3830,3859,3889,3918,3948,3977,4007,4036,4066,4095,4125,4155,4185,4214,4244,4273,4303,4332,4362,4391,4421,4450,4480,4509,4539,4568,4598,4627,4657,4686,4716,4745,4775,4804,4834,4863,4893,4922,4952,4981,5011,5040,5070,5099,5129,5158,5188,5218,5248,5277,5307,5336,5366,5395,5425,5454,5484,5513,5543,5572,5602,5631,5661,5690,5720,5749,5779,5808,5838,5867,5897,5926,5956,5985,6015,6044,6074,6103,6133,6162,6192,6221,6251,6281,6311,6340,6370,6399,6429,6458,6488,6517,6547,6576,6606,6635,6665,6694,6724,6753,6783,6812,6842,6871,6901,6930,6960,6989,7019,7048,7078,7107,7137,7166,7196,7225,7255,7284,7314,7344,7374,7403,7433,7462,7492,7521,7551,7580,7610,7639,7669,7698,7728,7757,7787,7816,7846,7875,7905,7934,7964,7993,8023,8053,8083,8112,8142,8171,8201,8230,8260,8289,8319,8348,8378,8407,8437,8466,8496,8525,8555,8584,8614,8643,8673,8702,8732,8761,8791,8821,8850,8880,8909,8938,8968,8997,9027,9056,9086,9115,9145,9175,9205,9234,9264,9293,9322,9352,9381,9410,9440,9470,9499,9529,9559,9589,9618,9648,9677,9706,9736,9765,9794,9824,9853,9883,9913,9943,9972,10002,10032,10061,10090,10120,10149,10178,10208,10237,10267,10297,10326,10356,10386,10415,10445,10474,10504,10533,10562,10592,10621,10651,10680,10710,10740,10770,10799,10829,10858,10888,10917,10947,10976,11005,11035,11064,11094,11124,11153,11183,11213,11242,11272,11301,11331,11360,11389,11419,11448,11478,11507,11537,11567,11596,11626,11655,11685,11715,11744,11774,11803,11832,11862,11891,11921,11950,11980,12010,12039,12069,12099,12128,12158,12187,12216,12246,12275,12304,12334,12364,12393,12423,12453,12483,12512,12542,12571,12600,12630,12659,12688,12718,12747,12777,12807,12837,12866,12896,12926,12955,12984,13014,13043,13072,13102,13131,13161,13191,13220,13250,13280,13310,13339,13368,13398,13427,13456,13486,13515,13545,13574,13604,13634,13664,13693,13723,13752,13782,13811,13840,13870,13899,13929,13958,13988,14018,14047,14077,14107,14136,14166,14195,14224,14254,14283,14313,14342,14372,14401,14431,14461,14490,14520,14550,14579,14609,14638,14667,14697,14726,14756,14785,14815,14844,14874,14904,14933,14963,14993,15021,15051,15081,15110,15140,15169,15199,15228,15258,15287,15317,15347,15377,15406,15436,15465,15494,15524,15553,15582,15612,15641,15671,15701,15731,15760,15790,15820,15849,15878,15908,15937,15966,15996,16025,16055,16085,16114,16144,16174,16204,16233,16262,16292,16321,16350,16380,16409,16439,16468,16498,16528,16558,16587,16617,16646,16676,16705,16734,16764,16793,16823,16852,16882,16912,16941,16971,17001,17030,17060,17089,17118,17148,17177,17207,17236,17266,17295,17325,17355,17384,17414,17444,17473,17502,17532,17561,17591,17620,17650,17679,17709,17738,17768,17798,17827,17857,17886,17916,17945,17975,18004,18034,18063,18093,18122,18152,18181,18211,18241,18270,18300,18330,18359,18388,18418,18447,18476,18506,18535,18565,18595,18625,18654,18684,18714,18743,18772,18802,18831,18860,18890,18919,18949,18979,19008,19038,19068,19098,19127,19156,19186,19215,19244,19274,19303,19333,19362,19392,19422,19452,19481,19511,19540,19570,19599,19628,19658,19687,19717,19746,19776,19806,19836,19865,19895,19924,19954,19983,20012,20042,20071,20101,20130,20160,20190,20219,20249,20279,20308,20338,20367,20396,20426,20455,20485,20514,20544,20573,20603,20633,20662,20692,20721,20751,20780,20810,20839,20869,20898,20928,20957,20987,21016,21046,21076,21105,21135,21164,21194,21223,21253,21282,21312,21341,21371,21400,21430,21459,21489,21519,21548,21578,21607,21637,21666,21696,21725,21754,21784,21813,21843,21873,21902,21932,21962,21991,22021,22050,22080,22109,22138,22168,22197,22227,22256,22286,22316,22346,22375,22405,22434,22464,22493,22522,22552,22581,22611,22640,22670,22700,22730,22759,22789,22818,22848,22877,22906,22936,22965,22994,23024,23054,23083,23113,23143,23173,23202,23232,23261,23290,23320,23349,23379,23408,23438,23467,23497,23527,23556,23586,23616,23645,23674,23704,23733,23763,23792,23822,23851,23881,23910,23940,23970,23999,24029,24058,24088,24117,24147,24176,24206,24235,24265,24294,24324,24353,24383,24413,24442,24472,24501,24531,24560,24590,24619,24648,24678,24707,24737,24767,24796,24826,24856,24885,24915,24944,24974,25003,25032,25062,25091,25121,25150,25180,25210,25240,25269,25299,25328,25358,25387,25416,25446,25475,25505,25534,25564,25594,25624,25653,25683,25712,25742,25771,25800,25830,25859,25888,25918,25948,25977,26007,26037,26067,26096,26126,26155,26184,26214,26243,26272,26302,26332,26361,26391,26421,26451,26480,26510,26539,26568,26598,26627,26656,26686,26715,26745,26775,26805,26834,26864,26893,26923,26952,26982,27011,27041,27070,27099,27129,27159,27188,27218,27248,27277,27307,27336,27366,27395,27425,27454,27484,27513,27542,27572,27602,27631,27661,27691,27720,27750,27779,27809,27838,27868,27897,27926,27956,27985,28015,28045,28074,28104,28134,28163,28193,28222,28252,28281,28310,28340,28369,28399,28428,28458,28488,28517,28547,28577,28607,28636,28665,28695,28724,28754,28783,28813,28843,28872,28901,28931,28960,28990,29019,29049,29078,29108,29137,29167,29196,29226,29255,29285,29315,29345,29375,29404,29434,29463,29492,29522,29551,29580,29610,29640,29669,29699,29729,29759,29788,29818,29847,29876,29906,29935,29964,29994,30023,30053,30082,30112,30141,30171,30200,30230,30259,30289,30318,30348,30378,30408,30437,30467,30496,30526,30555,30585,30614,30644,30673,30703,30732,30762,30791,30821,30850,30880,30909,30939,30968,30998,31027,31057,31086,31116,31145,31175,31204,31234,31263,31293,31322,31352,31381,31411,31441,31471,31500,31530,31559,31589,31618,31648,31676,31706,31736,31766,31795,31825,31854,31884,31913,31943,31972,32002,32031,32061,32090,32120,32150,32180,32209,32239,32268,32298,32327,32357,32386,32416,32445,32475,32504,32534,32563,32593,32622,32652,32681,32711,32740,32770,32799,32829,32858,32888,32917,32947,32976,33006,33035,33065,33094,33124,33153,33183,33213,33243,33272,33302,33331,33361,33390,33420,33450,33479,33509,33539,33568,33598,33627,33657,33686,33716,33745,33775,33804,33834,33863,33893,33922,33952,33981,34011,34040,34069,34099,34128,34158,34187,34217,34247,34277,34306,34336,34365,34395,34424,34454,34483,34512,34542,34571,34601,34631,34660,34690,34719,34749,34778,34808,34837,34867,34896,34926,34955,34985,35015,35044,35074,35103,35133,35162,35192,35222,35251,35280,35310,35340,35370,35399,35429,35458,35488,35517,35547,35576,35605,35635,35665,35694,35723,35753,35782,35811,35841,35871,35901,35930,35960,35989,36019,36048,36078,36107,36136,36166,36195,36225,36254,36284,36314,36343,36373,36403,36433,36462,36492,36521,36551,36580,36610,36639,36669,36698,36728,36757,36786,36816,36845,36875,36904,36934,36963,36993,37022,37052,37081,37111,37141,37170,37200,37229,37259,37288,37318,37347,37377,37406,37436,37465,37495,37524,37554,37584,37613,37643,37672,37701,37731,37760,37790,37819,37849,37878,37908,37938,37967,37997,38027,38056,38085,38115,38144,38174,38203,38233,38262,38292,38322,38351,38381,38410,38440,38469,38499,38528,38558,38587,38617,38646,38676,38705,38735,38764,38794,38823,38853,38882,38912,38941,38971,39001,39030,39059,39089,39118,39148,39178,39208,39237,39267,39297,39326,39355,39385,39414,39444,39473,39503,39532,39562,39592,39621,39650,39680,39709,39739,39768,39798,39827,39857,39886,39916,39946,39975,40005,40035,40064,40094,40123,40153,40182,40212,40241,40271,40300,40330,40359,40389,40418,40448,40477,40507,40536,40566,40595,40625,40655,40685,40714,40744,40773,40803,40832,40862,40892,40921,40951,40980,41009,41039,41068,41098,41127,41157,41186,41216,41245,41275,41304,41334,41364,41393,41422,41452,41481,41511,41540,41570,41599,41629,41658,41688,41718,41748,41777,41807,41836,41865,41894,41924,41953,41983,42012,42042,42072,42102,42131,42161,42190,42220,42249,42279,42308,42337,42367,42397,42426,42456,42485,42515,42545,42574,42604,42633,42662,42692,42721,42751,42780,42810,42839,42869,42899,42929,42958,42988,43017,43046,43076,43105,43135,43164,43194,43223,43253,43283,43312,43342,43371,43401,43430,43460,43489,43519,43548,43578,43607,43637,43666,43696,43726,43755,43785,43814,43844,43873,43903,43932,43962,43991,44021,44050,44080,44109,44139,44169,44198,44228,44258,44287,44317,44346,44375,44405,44434,44464,44493,44523,44553,44582,44612,44641,44671,44700,44730,44759,44788,44818,44847,44877,44906,44936,44966,44996,45025,45055,45084,45114,45143,45172,45202,45231,45261,45290,45320,45350,45380,45409,45439,45468,45498,45527,45556,45586,45615,45644,45674,45704,45733,45763,45793,45823,45852,45882,45911,45940,45970,45999,46028,46058,46088,46117,46147,46177,46206,46236,46265,46295,46324,46354,46383,46413,46442,46472,46501,46531,46560,46590,46620,46649,46679,46708,46738,46767,46797,46826,46856,46885,46915,46944,46974,47003,47033,47063,47092,47122,47151,47181,47210,47240,47269,47298,47328,47357,47387,47417,47446,47476,47506,47535,47565,47594,47624,47653,47682,47712,47741,47771,47800,47830,47860,47890,47919,47949,47978,48008,48037,48066,48096,48125,48155,48184,48214,48244,48273,48303,48333,48362,48392,48421,48450,48480,48509,48538,48568,48598,48627,48657,48687,48717,48746,48776,48805,48834,48864,48893,48922,48952,48982,49011,49041,49071,49100,49130,49160,49189,49218,49248,49277,49306,49336,49365,49395,49425,49455,49484,49514,49543,49573,49602,49632,49661,49690,49720,49749,49779,49809,49838,49868,49898,49927,49957,49986,50016,50045,50075,50104,50133,50163,50192,50222,50252,50281,50311,50340,50370,50400,50429,50459,50488,50518,50547,50576,50606,50635,50665,50694,50724,50754,50784,50813,50843,50872,50902,50931,50960,50990,51019,51049,51078,51108,51138,51167,51197,51227,51256,51286,51315,51345,51374,51403,51433,51462,51492,51522,51552,51582,51611,51641,51670,51699,51729,51758,51787,51816,51846,51876,51906,51936,51965,51995,52025,52054,52083,52113,52142,52171,52200,52230,52260,52290,52319,52349,52379,52408,52438,52467,52497,52526,52555,52585,52614,52644,52673,52703,52733,52762,52792,52822,52851,52881,52910,52939,52969,52998,53028,53057,53087,53116,53146,53176,53205,53235,53264,53294,53324,53353,53383,53412,53441,53471,53500,53530,53559,53589,53619,53648,53678,53708,53737,53767,53796,53825,53855,53884,53913,53943,53973,54003,54032,54062,54092,54121,54151,54180,54209,54239,54268,54297,54327,54357,54387,54416,54446,54476,54505,54535,54564,54593,54623,54652,54681,54711,54741,54770,54800,54830,54859,54889,54919,54948,54977,55007,55036,55066,55095,55125,55154,55184,55213,55243,55273,55302,55332,55361,55391,55420,55450,55479,55508,55538,55567,55597,55627,55657,55686,55716,55745,55775,55804,55834,55863,55892,55922,55951,55981,56011,56040,56070,56100,56129,56159,56188,56218,56247,56276,56306,56335,56365,56394,56424,56454,56483,56513,56543,56572,56601,56631,56660,56690,56719,56749,56778,56808,56837,56867,56897,56926,56956,56985,57015,57044,57074,57103,57133,57162,57192,57221,57251,57280,57310,57340,57369,57399,57429,57458,57487,57517,57546,57576,57605,57634,57664,57694,57723,57753,57783,57813,57842,57871,57901,57930,57959,57989,58018,58048,58077,58107,58137,58167,58196,58226,58255,58285,58314,58343,58373,58402,58432,58461,58491,58521,58551,58580,58610,58639,58669,58698,58727,58757,58786,58816,58845,58875,58905,58934,58964,58994,59023,59053,59082,59111,59141,59170,59200,59229,59259,59288,59318,59348,59377,59407,59436,59466,59495,59525,59554,59584,59613,59643,59672,59702,59731,59761,59791,59820,59850,59879,59909,59939,59968,59997,60027,60056,60086,60115,60145,60174,60204,60234,60264,60293,60323,60352,60381,60411,60440,60469,60499,60528,60558,60588,60618,60648,60677,60707,60736,60765,60795,60824,60853,60883,60912,60942,60972,61002,61031,61061,61090,61120,61149,61179,61208,61237,61267,61296,61326,61356,61385,61415,61445,61474,61504,61533,61563,61592,61621,61651,61680,61710,61739,61769,61799,61828,61858,61888,61917,61947,61976,62006,62035,62064,62094,62123,62153,62182,62212,62242,62271,62301,62331,62360,62390,62419,62448,62478,62507,62537,62566,62596,62625,62655,62685,62715,62744,62774,62803,62832,62862,62891,62921,62950,62980,63009,63039,63069,63099,63128,63157,63187,63216,63246,63275,63305,63334,63363,63393,63423,63453,63482,63512,63541,63571,63600,63630,63659,63689,63718,63747,63777,63807,63836,63866,63895,63925,63955,63984,64014,64043,64073,64102,64131,64161,64190,64220,64249,64279,64309,64339,64368,64398,64427,64457,64486,64515,64545,64574,64603,64633,64663,64692,64722,64752,64782,64811,64841,64870,64899,64929,64958,64987,65017,65047,65076,65106,65136,65166,65195,65225,65254,65283,65313,65342,65371,65401,65431,65460,65490,65520,65549,65579,65608,65638,65667,65697,65726,65755,65785,65815,65844,65874,65903,65933,65963,65992,66022,66051,66081,66110,66140,66169,66199,66228,66258,66287,66317,66346,66376,66405,66435,66465,66494,66524,66553,66583,66612,66641,66671,66700,66730,66760,66789,66819,66849,66878,66908,66937,66967,66996,67025,67055,67084,67114,67143,67173,67203,67233,67262,67292,67321,67351,67380,67409,67439,67468,67497,67527,67557,67587,67617,67646,67676,67705,67735,67764,67793,67823,67852,67882,67911,67941,67971,68e3,68030,68060,68089,68119,68148,68177,68207,68236,68266,68295,68325,68354,68384,68414,68443,68473,68502,68532,68561,68591,68620,68650,68679,68708,68738,68768,68797,68827,68857,68886,68916,68946,68975,69004,69034,69063,69092,69122,69152,69181,69211,69240,69270,69300,69330,69359,69388,69418,69447,69476,69506,69535,69565,69595,69624,69654,69684,69713,69743,69772,69802,69831,69861,69890,69919,69949,69978,70008,70038,70067,70097,70126,70156,70186,70215,70245,70274,70303,70333,70362,70392,70421,70451,70481,70510,70540,70570,70599,70629,70658,70687,70717,70746,70776,70805,70835,70864,70894,70924,70954,70983,71013,71042,71071,71101,71130,71159,71189,71218,71248,71278,71308,71337,71367,71397,71426,71455,71485,71514,71543,71573,71602,71632,71662,71691,71721,71751,71781,71810,71839,71869,71898,71927,71957,71986,72016,72046,72075,72105,72135,72164,72194,72223,72253,72282,72311,72341,72370,72400,72429,72459,72489,72518,72548,72577,72607,72637,72666,72695,72725,72754,72784,72813,72843,72872,72902,72931,72961,72991,73020,73050,73080,73109,73139,73168,73197,73227,73256,73286,73315,73345,73375,73404,73434,73464,73493,73523,73552,73581,73611,73640,73669,73699,73729,73758,73788,73818,73848,73877,73907,73936,73965,73995,74024,74053,74083,74113,74142,74172,74202,74231,74261,74291,74320,74349,74379,74408,74437,74467,74497,74526,74556,74586,74615,74645,74675,74704,74733,74763,74792,74822,74851,74881,74910,74940,74969,74999,75029,75058,75088,75117,75147,75176,75206,75235,75264,75294,75323,75353,75383,75412,75442,75472,75501,75531,75560,75590,75619,75648,75678,75707,75737,75766,75796,75826,75856,75885,75915,75944,75974,76003,76032,76062,76091,76121,76150,76180,76210,76239,76269,76299,76328,76358,76387,76416,76446,76475,76505,76534,76564,76593,76623,76653,76682,76712,76741,76771,76801,76830,76859,76889,76918,76948,76977,77007,77036,77066,77096,77125,77155,77185,77214,77243,77273,77302,77332,77361,77390,77420,77450,77479,77509,77539,77569,77598,77627,77657,77686,77715,77745,77774,77804,77833,77863,77893,77923,77952,77982,78011,78041,78070,78099,78129,78158,78188,78217,78247,78277,78307,78336,78366,78395,78425,78454,78483,78513,78542,78572,78601,78631,78661,78690,78720,78750,78779,78808,78838,78867,78897,78926,78956,78985,79015,79044,79074,79104,79133,79163,79192,79222,79251,79281,79310,79340,79369,79399,79428,79458,79487,79517,79546,79576,79606,79635,79665,79695,79724,79753,79783,79812,79841,79871,79900,79930,79960,79990]},63489:function(t,e,r){var n=r(56131);function i(){this.regionalOptions=[],this.regionalOptions[""]={invalidCalendar:"Calendar {0} not found",invalidDate:"Invalid {0} date",invalidMonth:"Invalid {0} month",invalidYear:"Invalid {0} year",differentCalendars:"Cannot mix {0} and {1} dates"},this.local=this.regionalOptions[""],this.calendars={},this._localCals={}}function a(t,e,r,n){if(this._calendar=t,this._year=e,this._month=r,this._day=n,0===this._calendar._validateLevel&&!this._calendar.isValid(this._year,this._month,this._day))throw(u.local.invalidDate||u.regionalOptions[""].invalidDate).replace(/\{0\}/,this._calendar.local.name)}function o(t,e){return"000000".substring(0,e-(t=""+t).length)+t}function s(){this.shortYearCutoff="+10"}function l(t){this.local=this.regionalOptions[t]||this.regionalOptions[""]}n(i.prototype,{instance:function(t,e){t=(t||"gregorian").toLowerCase(),e=e||"";var r=this._localCals[t+"-"+e];if(!r&&this.calendars[t]&&(r=new this.calendars[t](e),this._localCals[t+"-"+e]=r),!r)throw(this.local.invalidCalendar||this.regionalOptions[""].invalidCalendar).replace(/\{0\}/,t);return r},newDate:function(t,e,r,n,i){return(n=(null!=t&&t.year?t.calendar():"string"==typeof n?this.instance(n,i):n)||this.instance()).newDate(t,e,r)},substituteDigits:function(t){return function(e){return(e+"").replace(/[0-9]/g,(function(e){return t[e]}))}},substituteChineseDigits:function(t,e){return function(r){for(var n="",i=0;r>0;){var a=r%10;n=(0===a?"":t[a]+e[i])+n,i++,r=Math.floor(r/10)}return 0===n.indexOf(t[1]+e[1])&&(n=n.substr(1)),n||t[0]}}}),n(a.prototype,{newDate:function(t,e,r){return this._calendar.newDate(null==t?this:t,e,r)},year:function(t){return 0===arguments.length?this._year:this.set(t,"y")},month:function(t){return 0===arguments.length?this._month:this.set(t,"m")},day:function(t){return 0===arguments.length?this._day:this.set(t,"d")},date:function(t,e,r){if(!this._calendar.isValid(t,e,r))throw(u.local.invalidDate||u.regionalOptions[""].invalidDate).replace(/\{0\}/,this._calendar.local.name);return this._year=t,this._month=e,this._day=r,this},leapYear:function(){return this._calendar.leapYear(this)},epoch:function(){return this._calendar.epoch(this)},formatYear:function(){return this._calendar.formatYear(this)},monthOfYear:function(){return this._calendar.monthOfYear(this)},weekOfYear:function(){return this._calendar.weekOfYear(this)},daysInYear:function(){return this._calendar.daysInYear(this)},dayOfYear:function(){return this._calendar.dayOfYear(this)},daysInMonth:function(){return this._calendar.daysInMonth(this)},dayOfWeek:function(){return this._calendar.dayOfWeek(this)},weekDay:function(){return this._calendar.weekDay(this)},extraInfo:function(){return this._calendar.extraInfo(this)},add:function(t,e){return this._calendar.add(this,t,e)},set:function(t,e){return this._calendar.set(this,t,e)},compareTo:function(t){if(this._calendar.name!==t._calendar.name)throw(u.local.differentCalendars||u.regionalOptions[""].differentCalendars).replace(/\{0\}/,this._calendar.local.name).replace(/\{1\}/,t._calendar.local.name);var e=this._year!==t._year?this._year-t._year:this._month!==t._month?this.monthOfYear()-t.monthOfYear():this._day-t._day;return 0===e?0:e<0?-1:1},calendar:function(){return this._calendar},toJD:function(){return this._calendar.toJD(this)},fromJD:function(t){return this._calendar.fromJD(t)},toJSDate:function(){return this._calendar.toJSDate(this)},fromJSDate:function(t){return this._calendar.fromJSDate(t)},toString:function(){return(this.year()<0?"-":"")+o(Math.abs(this.year()),4)+"-"+o(this.month(),2)+"-"+o(this.day(),2)}}),n(s.prototype,{_validateLevel:0,newDate:function(t,e,r){return null==t?this.today():(t.year&&(this._validate(t,e,r,u.local.invalidDate||u.regionalOptions[""].invalidDate),r=t.day(),e=t.month(),t=t.year()),new a(this,t,e,r))},today:function(){return this.fromJSDate(new Date)},epoch:function(t){return this._validate(t,this.minMonth,this.minDay,u.local.invalidYear||u.regionalOptions[""].invalidYear).year()<0?this.local.epochs[0]:this.local.epochs[1]},formatYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,u.local.invalidYear||u.regionalOptions[""].invalidYear);return(e.year()<0?"-":"")+o(Math.abs(e.year()),4)},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,u.local.invalidYear||u.regionalOptions[""].invalidYear),12},monthOfYear:function(t,e){var r=this._validate(t,e,this.minDay,u.local.invalidMonth||u.regionalOptions[""].invalidMonth);return(r.month()+this.monthsInYear(r)-this.firstMonth)%this.monthsInYear(r)+this.minMonth},fromMonthOfYear:function(t,e){var r=(e+this.firstMonth-2*this.minMonth)%this.monthsInYear(t)+this.minMonth;return this._validate(t,r,this.minDay,u.local.invalidMonth||u.regionalOptions[""].invalidMonth),r},daysInYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,u.local.invalidYear||u.regionalOptions[""].invalidYear);return this.leapYear(e)?366:365},dayOfYear:function(t,e,r){var n=this._validate(t,e,r,u.local.invalidDate||u.regionalOptions[""].invalidDate);return n.toJD()-this.newDate(n.year(),this.fromMonthOfYear(n.year(),this.minMonth),this.minDay).toJD()+1},daysInWeek:function(){return 7},dayOfWeek:function(t,e,r){var n=this._validate(t,e,r,u.local.invalidDate||u.regionalOptions[""].invalidDate);return(Math.floor(this.toJD(n))+2)%this.daysInWeek()},extraInfo:function(t,e,r){return this._validate(t,e,r,u.local.invalidDate||u.regionalOptions[""].invalidDate),{}},add:function(t,e,r){return this._validate(t,this.minMonth,this.minDay,u.local.invalidDate||u.regionalOptions[""].invalidDate),this._correctAdd(t,this._add(t,e,r),e,r)},_add:function(t,e,r){if(this._validateLevel++,"d"===r||"w"===r){var n=t.toJD()+e*("w"===r?this.daysInWeek():1),i=t.calendar().fromJD(n);return this._validateLevel--,[i.year(),i.month(),i.day()]}try{var a=t.year()+("y"===r?e:0),o=t.monthOfYear()+("m"===r?e:0);i=t.day(),"y"===r?(t.month()!==this.fromMonthOfYear(a,o)&&(o=this.newDate(a,t.month(),this.minDay).monthOfYear()),o=Math.min(o,this.monthsInYear(a)),i=Math.min(i,this.daysInMonth(a,this.fromMonthOfYear(a,o)))):"m"===r&&(function(t){for(;o<t.minMonth;)a--,o+=t.monthsInYear(a);for(var e=t.monthsInYear(a);o>e-1+t.minMonth;)a++,o-=e,e=t.monthsInYear(a)}(this),i=Math.min(i,this.daysInMonth(a,this.fromMonthOfYear(a,o))));var s=[a,this.fromMonthOfYear(a,o),i];return this._validateLevel--,s}catch(t){throw this._validateLevel--,t}},_correctAdd:function(t,e,r,n){if(!(this.hasYearZero||"y"!==n&&"m"!==n||0!==e[0]&&t.year()>0==e[0]>0)){var i={y:[1,1,"y"],m:[1,this.monthsInYear(-1),"m"],w:[this.daysInWeek(),this.daysInYear(-1),"d"],d:[1,this.daysInYear(-1),"d"]}[n],a=r<0?-1:1;e=this._add(t,r*i[0]+a*i[1],i[2])}return t.date(e[0],e[1],e[2])},set:function(t,e,r){this._validate(t,this.minMonth,this.minDay,u.local.invalidDate||u.regionalOptions[""].invalidDate);var n="y"===r?e:t.year(),i="m"===r?e:t.month(),a="d"===r?e:t.day();return"y"!==r&&"m"!==r||(a=Math.min(a,this.daysInMonth(n,i))),t.date(n,i,a)},isValid:function(t,e,r){this._validateLevel++;var n=this.hasYearZero||0!==t;if(n){var i=this.newDate(t,e,this.minDay);n=e>=this.minMonth&&e-this.minMonth<this.monthsInYear(i)&&r>=this.minDay&&r-this.minDay<this.daysInMonth(i)}return this._validateLevel--,n},toJSDate:function(t,e,r){var n=this._validate(t,e,r,u.local.invalidDate||u.regionalOptions[""].invalidDate);return u.instance().fromJD(this.toJD(n)).toJSDate()},fromJSDate:function(t){return this.fromJD(u.instance().fromJSDate(t).toJD())},_validate:function(t,e,r,n){if(t.year){if(0===this._validateLevel&&this.name!==t.calendar().name)throw(u.local.differentCalendars||u.regionalOptions[""].differentCalendars).replace(/\{0\}/,this.local.name).replace(/\{1\}/,t.calendar().local.name);return t}try{if(this._validateLevel++,1===this._validateLevel&&!this.isValid(t,e,r))throw n.replace(/\{0\}/,this.local.name);var i=this.newDate(t,e,r);return this._validateLevel--,i}catch(t){throw this._validateLevel--,t}}}),l.prototype=new s,n(l.prototype,{name:"Gregorian",jdEpoch:1721425.5,daysPerMonth:[31,28,31,30,31,30,31,31,30,31,30,31],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Gregorian",epochs:["BCE","CE"],monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],digits:null,dateFormat:"mm/dd/yyyy",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,u.local.invalidYear||u.regionalOptions[""].invalidYear);return(t=e.year()+(e.year()<0?1:0))%4==0&&(t%100!=0||t%400==0)},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(4-(n.dayOfWeek()||7),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,u.local.invalidMonth||u.regionalOptions[""].invalidMonth);return this.daysPerMonth[r.month()-1]+(2===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var n=this._validate(t,e,r,u.local.invalidDate||u.regionalOptions[""].invalidDate);t=n.year(),e=n.month(),r=n.day(),t<0&&t++,e<3&&(e+=12,t--);var i=Math.floor(t/100),a=2-i+Math.floor(i/4);return Math.floor(365.25*(t+4716))+Math.floor(30.6001*(e+1))+r+a-1524.5},fromJD:function(t){var e=Math.floor(t+.5),r=Math.floor((e-1867216.25)/36524.25),n=1524+(r=e+1+r-Math.floor(r/4)),i=Math.floor((n-122.1)/365.25),a=Math.floor(365.25*i),o=Math.floor((n-a)/30.6001),s=n-a-Math.floor(30.6001*o),l=o-(o>13.5?13:1),u=i-(l>2.5?4716:4715);return u<=0&&u--,this.newDate(u,l,s)},toJSDate:function(t,e,r){var n=this._validate(t,e,r,u.local.invalidDate||u.regionalOptions[""].invalidDate),i=new Date(n.year(),n.month()-1,n.day());return i.setHours(0),i.setMinutes(0),i.setSeconds(0),i.setMilliseconds(0),i.setHours(i.getHours()>12?i.getHours()+2:0),i},fromJSDate:function(t){return this.newDate(t.getFullYear(),t.getMonth()+1,t.getDate())}});var u=t.exports=new i;u.cdate=a,u.baseCalendar=s,u.calendars.gregorian=l},94338:function(t,e,r){var n=r(56131),i=r(63489);n(i.regionalOptions[""],{invalidArguments:"Invalid arguments",invalidFormat:"Cannot format a date from another calendar",missingNumberAt:"Missing number at position {0}",unknownNameAt:"Unknown name at position {0}",unexpectedLiteralAt:"Unexpected literal at position {0}",unexpectedText:"Additional text found at end"}),i.local=i.regionalOptions[""],n(i.cdate.prototype,{formatDate:function(t,e){return"string"!=typeof t&&(e=t,t=""),this._calendar.formatDate(t||"",this,e)}}),n(i.baseCalendar.prototype,{UNIX_EPOCH:i.instance().newDate(1970,1,1).toJD(),SECS_PER_DAY:86400,TICKS_EPOCH:i.instance().jdEpoch,TICKS_PER_DAY:864e9,ATOM:"yyyy-mm-dd",COOKIE:"D, dd M yyyy",FULL:"DD, MM d, yyyy",ISO_8601:"yyyy-mm-dd",JULIAN:"J",RFC_822:"D, d M yy",RFC_850:"DD, dd-M-yy",RFC_1036:"D, d M yy",RFC_1123:"D, d M yyyy",RFC_2822:"D, d M yyyy",RSS:"D, d M yy",TICKS:"!",TIMESTAMP:"@",W3C:"yyyy-mm-dd",formatDate:function(t,e,r){if("string"!=typeof t&&(r=e,e=t,t=""),!e)return"";if(e.calendar()!==this)throw i.local.invalidFormat||i.regionalOptions[""].invalidFormat;t=t||this.local.dateFormat;for(var n,a,o,s=(r=r||{}).dayNamesShort||this.local.dayNamesShort,l=r.dayNames||this.local.dayNames,u=r.monthNumbers||this.local.monthNumbers,c=r.monthNamesShort||this.local.monthNamesShort,f=r.monthNames||this.local.monthNames,h=(r.calculateWeek||this.local.calculateWeek,function(e,r){for(var n=1;_+n<t.length&&t.charAt(_+n)===e;)n++;return _+=n-1,Math.floor(n/(r||1))>1}),p=function(t,e,r,n){var i=""+e;if(h(t,n))for(;i.length<r;)i="0"+i;return i},d=this,v=function(t){return"function"==typeof u?u.call(d,t,h("m")):m(p("m",t.month(),2))},g=function(t,e){return e?"function"==typeof f?f.call(d,t):f[t.month()-d.minMonth]:"function"==typeof c?c.call(d,t):c[t.month()-d.minMonth]},y=this.local.digits,m=function(t){return r.localNumbers&&y?y(t):t},x="",b=!1,_=0;_<t.length;_++)if(b)"'"!==t.charAt(_)||h("'")?x+=t.charAt(_):b=!1;else switch(t.charAt(_)){case"d":x+=m(p("d",e.day(),2));break;case"D":x+=("D",n=e.dayOfWeek(),a=s,o=l,h("D")?o[n]:a[n]);break;case"o":x+=p("o",e.dayOfYear(),3);break;case"w":x+=p("w",e.weekOfYear(),2);break;case"m":x+=v(e);break;case"M":x+=g(e,h("M"));break;case"y":x+=h("y",2)?e.year():(e.year()%100<10?"0":"")+e.year()%100;break;case"Y":h("Y",2),x+=e.formatYear();break;case"J":x+=e.toJD();break;case"@":x+=(e.toJD()-this.UNIX_EPOCH)*this.SECS_PER_DAY;break;case"!":x+=(e.toJD()-this.TICKS_EPOCH)*this.TICKS_PER_DAY;break;case"'":h("'")?x+="'":b=!0;break;default:x+=t.charAt(_)}return x},parseDate:function(t,e,r){if(null==e)throw i.local.invalidArguments||i.regionalOptions[""].invalidArguments;if(""===(e="object"==typeof e?e.toString():e+""))return null;t=t||this.local.dateFormat;var n=(r=r||{}).shortYearCutoff||this.shortYearCutoff;n="string"!=typeof n?n:this.today().year()%100+parseInt(n,10);for(var a=r.dayNamesShort||this.local.dayNamesShort,o=r.dayNames||this.local.dayNames,s=r.parseMonth||this.local.parseMonth,l=r.monthNumbers||this.local.monthNumbers,u=r.monthNamesShort||this.local.monthNamesShort,c=r.monthNames||this.local.monthNames,f=-1,h=-1,p=-1,d=-1,v=-1,g=!1,y=!1,m=function(e,r){for(var n=1;M+n<t.length&&t.charAt(M+n)===e;)n++;return M+=n-1,Math.floor(n/(r||1))>1},x=function(t,r){var n=m(t,r),a=[2,3,n?4:2,n?4:2,10,11,20]["oyYJ@!".indexOf(t)+1],o=new RegExp("^-?\\d{1,"+a+"}"),s=e.substring(A).match(o);if(!s)throw(i.local.missingNumberAt||i.regionalOptions[""].missingNumberAt).replace(/\{0\}/,A);return A+=s[0].length,parseInt(s[0],10)},b=this,_=function(){if("function"==typeof l){m("m");var t=l.call(b,e.substring(A));return A+=t.length,t}return x("m")},w=function(t,r,n,a){for(var o=m(t,a)?n:r,s=0;s<o.length;s++)if(e.substr(A,o[s].length).toLowerCase()===o[s].toLowerCase())return A+=o[s].length,s+b.minMonth;throw(i.local.unknownNameAt||i.regionalOptions[""].unknownNameAt).replace(/\{0\}/,A)},T=function(){if("function"==typeof c){var t=m("M")?c.call(b,e.substring(A)):u.call(b,e.substring(A));return A+=t.length,t}return w("M",u,c)},k=function(){if(e.charAt(A)!==t.charAt(M))throw(i.local.unexpectedLiteralAt||i.regionalOptions[""].unexpectedLiteralAt).replace(/\{0\}/,A);A++},A=0,M=0;M<t.length;M++)if(y)"'"!==t.charAt(M)||m("'")?k():y=!1;else switch(t.charAt(M)){case"d":d=x("d");break;case"D":w("D",a,o);break;case"o":v=x("o");break;case"w":x("w");break;case"m":p=_();break;case"M":p=T();break;case"y":var S=M;g=!m("y",2),M=S,h=x("y",2);break;case"Y":h=x("Y",2);break;case"J":f=x("J")+.5,"."===e.charAt(A)&&(A++,x("J"));break;case"@":f=x("@")/this.SECS_PER_DAY+this.UNIX_EPOCH;break;case"!":f=x("!")/this.TICKS_PER_DAY+this.TICKS_EPOCH;break;case"*":A=e.length;break;case"'":m("'")?k():y=!0;break;default:k()}if(A<e.length)throw i.local.unexpectedText||i.regionalOptions[""].unexpectedText;if(-1===h?h=this.today().year():h<100&&g&&(h+=-1===n?1900:this.today().year()-this.today().year()%100-(h<=n?0:100)),"string"==typeof p&&(p=s.call(this,h,p)),v>-1){p=1,d=v;for(var E=this.daysInMonth(h,p);d>E;E=this.daysInMonth(h,p))p++,d-=E}return f>-1?this.fromJD(f):this.newDate(h,p,d)},determineDate:function(t,e,r,n,i){r&&"object"!=typeof r&&(i=n,n=r,r=null),"string"!=typeof n&&(i=n,n="");var a=this;return e=e?e.newDate():null,null==t?e:"string"==typeof t?function(t){try{return a.parseDate(n,t,i)}catch(t){}for(var e=((t=t.toLowerCase()).match(/^c/)&&r?r.newDate():null)||a.today(),o=/([+-]?[0-9]+)\s*(d|w|m|y)?/g,s=o.exec(t);s;)e.add(parseInt(s[1],10),s[2]||"d"),s=o.exec(t);return e}(t):"number"==typeof t?isNaN(t)||t===1/0||t===-1/0?e:a.today().add(t,"d"):a.newDate(t)}})},69862:function(){},40964:function(){},72077:function(t,e,r){"use strict";var n=r(24696);t.exports=function(){return n(["BigInt64Array","BigUint64Array","Float32Array","Float64Array","Int16Array","Int32Array","Int8Array","Uint16Array","Uint32Array","Uint8Array","Uint8ClampedArray"],(function(t){return"function"==typeof r.g[t]}))}},40402:function(t){"use strict";t.exports=JSON.parse('["xx-small","x-small","small","medium","large","x-large","xx-large","larger","smaller"]')},83794:function(t){"use strict";t.exports=JSON.parse('["normal","condensed","semi-condensed","extra-condensed","ultra-condensed","expanded","semi-expanded","extra-expanded","ultra-expanded"]')},96209:function(t){"use strict";t.exports=JSON.parse('["normal","italic","oblique"]')},15659:function(t){"use strict";t.exports=JSON.parse('["normal","bold","bolder","lighter","100","200","300","400","500","600","700","800","900"]')},38732:function(t){"use strict";t.exports=JSON.parse('["inherit","initial","unset"]')},41901:function(t){"use strict";t.exports=JSON.parse('["caption","icon","menu","message-box","small-caption","status-bar"]')}},e={};function r(n){var i=e[n];if(void 0!==i)return i.exports;var a=e[n]={exports:{}};return t[n].call(a.exports,a,a.exports,r),a.exports}return r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,{a:e}),e},r.d=function(t,e){for(var n in e)r.o(e,n)&&!r.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r(27909)}()}));</script> <div id="35615e24-2994-41d0-86f3-744387697c1b" class="plotly-graph-div" style="height:400px; width:375px;"></div> <script type="text/javascript"> window.PLOTLYENV=window.PLOTLYENV || {}; if (document.getElementById("35615e24-2994-41d0-86f3-744387697c1b")) { Plotly.newPlot( "35615e24-2994-41d0-86f3-744387697c1b", [{"hoverinfo":"none","line":{"color":"#808080","width":2},"mode":"lines","opacity":0.8,"x":[0.2230047399072604,-0.42247199516947576,null,0.2230047399072604,0.17771926612854827,null,0.2230047399072604,0.9999999999999999,null,-0.9782520108663335,-0.42247199516947576,null,-0.42247199516947576,0.2230047399072604,null,-0.42247199516947576,-0.9782520108663335,null,0.17771926612854827,0.2230047399072604,null,0.9999999999999999,0.2230047399072604,null],"y":[0.21289920941763857,-0.40332268316045417,null,0.21289920941763857,0.9928464515123737,null,0.21289920941763857,0.13147076423589932,null,-0.9338937420054578,-0.40332268316045417,null,-0.40332268316045417,0.21289920941763857,null,-0.40332268316045417,-0.9338937420054578,null,0.9928464515123737,0.21289920941763857,null,0.13147076423589932,0.21289920941763857,null],"type":"scatter"},{"hoverinfo":"text","marker":{"color":"#fcfcfc","colorbar":{"thickness":15,"title":{"side":"right","text":""},"xanchor":"left"},"colorscale":[[0.0,"rgb(255,255,217)"],[0.125,"rgb(237,248,177)"],[0.25,"rgb(199,233,180)"],[0.375,"rgb(127,205,187)"],[0.5,"rgb(65,182,196)"],[0.625,"rgb(29,145,192)"],[0.75,"rgb(34,94,168)"],[0.875,"rgb(37,52,148)"],[1.0,"rgb(8,29,88)"]],"line":{"color":"#333333","width":2},"reversescale":false,"showscale":false,"size":20},"mode":"markers+text","opacity":0.8,"text":["0","1","2","3","4"],"textfont":{"color":"#000000","family":"Arial","size":14},"textposition":"top left","x":[0.2230047399072604,-0.9782520108663335,-0.42247199516947576,0.17771926612854827,0.9999999999999999],"y":[0.21289920941763857,-0.9338937420054578,-0.40332268316045417,0.9928464515123737,0.13147076423589932],"type":"scatter"}], {"autosize":false,"height":400,"hovermode":"closest","margin":{"b":5,"l":0,"r":0,"t":20},"paper_bgcolor":"rgba(255,255,255,255)","plot_bgcolor":"rgba(0,0,0,0)","scene":{"xaxis":{"autorange":true,"showgrid":false,"showline":false,"showticklabels":false,"ticks":"","visible":false,"zeroline":false},"yaxis":{"autorange":true,"showgrid":false,"showline":false,"showticklabels":false,"ticks":"","visible":false,"zeroline":false},"zaxis":{"autorange":true,"showgrid":false,"showline":false,"showticklabels":false,"ticks":"","visible":false,"zeroline":false}},"showlegend":false,"title":{"font":{"size":16},"text":""},"width":375,"xaxis":{"autorange":true,"showgrid":false,"showline":false,"showticklabels":false,"ticks":"","visible":false,"zeroline":false},"yaxis":{"autorange":true,"showgrid":false,"showline":false,"showticklabels":false,"ticks":"","visible":false,"zeroline":false},"template":{"data":{"histogram2dcontour":[{"type":"histogram2dcontour","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"choropleth":[{"type":"choropleth","colorbar":{"outlinewidth":0,"ticks":""}}],"histogram2d":[{"type":"histogram2d","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"heatmap":[{"type":"heatmap","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"heatmapgl":[{"type":"heatmapgl","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"contourcarpet":[{"type":"contourcarpet","colorbar":{"outlinewidth":0,"ticks":""}}],"contour":[{"type":"contour","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"surface":[{"type":"surface","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"mesh3d":[{"type":"mesh3d","colorbar":{"outlinewidth":0,"ticks":""}}],"scatter":[{"fillpattern":{"fillmode":"overlay","size":10,"solidity":0.2},"type":"scatter"}],"parcoords":[{"type":"parcoords","line":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scatterpolargl":[{"type":"scatterpolargl","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"bar":[{"error_x":{"color":"#2a3f5f"},"error_y":{"color":"#2a3f5f"},"marker":{"line":{"color":"#E5ECF6","width":0.5},"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"bar"}],"scattergeo":[{"type":"scattergeo","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scatterpolar":[{"type":"scatterpolar","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"histogram":[{"marker":{"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"histogram"}],"scattergl":[{"type":"scattergl","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scatter3d":[{"type":"scatter3d","line":{"colorbar":{"outlinewidth":0,"ticks":""}},"marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scattermapbox":[{"type":"scattermapbox","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scatterternary":[{"type":"scatterternary","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scattercarpet":[{"type":"scattercarpet","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"carpet":[{"aaxis":{"endlinecolor":"#2a3f5f","gridcolor":"white","linecolor":"white","minorgridcolor":"white","startlinecolor":"#2a3f5f"},"baxis":{"endlinecolor":"#2a3f5f","gridcolor":"white","linecolor":"white","minorgridcolor":"white","startlinecolor":"#2a3f5f"},"type":"carpet"}],"table":[{"cells":{"fill":{"color":"#EBF0F8"},"line":{"color":"white"}},"header":{"fill":{"color":"#C8D4E3"},"line":{"color":"white"}},"type":"table"}],"barpolar":[{"marker":{"line":{"color":"#E5ECF6","width":0.5},"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"barpolar"}],"pie":[{"automargin":true,"type":"pie"}]},"layout":{"autotypenumbers":"strict","colorway":["#636efa","#EF553B","#00cc96","#ab63fa","#FFA15A","#19d3f3","#FF6692","#B6E880","#FF97FF","#FECB52"],"font":{"color":"#2a3f5f"},"hovermode":"closest","hoverlabel":{"align":"left"},"paper_bgcolor":"white","plot_bgcolor":"#E5ECF6","polar":{"bgcolor":"#E5ECF6","angularaxis":{"gridcolor":"white","linecolor":"white","ticks":""},"radialaxis":{"gridcolor":"white","linecolor":"white","ticks":""}},"ternary":{"bgcolor":"#E5ECF6","aaxis":{"gridcolor":"white","linecolor":"white","ticks":""},"baxis":{"gridcolor":"white","linecolor":"white","ticks":""},"caxis":{"gridcolor":"white","linecolor":"white","ticks":""}},"coloraxis":{"colorbar":{"outlinewidth":0,"ticks":""}},"colorscale":{"sequential":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]],"sequentialminus":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]],"diverging":[[0,"#8e0152"],[0.1,"#c51b7d"],[0.2,"#de77ae"],[0.3,"#f1b6da"],[0.4,"#fde0ef"],[0.5,"#f7f7f7"],[0.6,"#e6f5d0"],[0.7,"#b8e186"],[0.8,"#7fbc41"],[0.9,"#4d9221"],[1,"#276419"]]},"xaxis":{"gridcolor":"white","linecolor":"white","ticks":"","title":{"standoff":15},"zerolinecolor":"white","automargin":true,"zerolinewidth":2},"yaxis":{"gridcolor":"white","linecolor":"white","ticks":"","title":{"standoff":15},"zerolinecolor":"white","automargin":true,"zerolinewidth":2},"scene":{"xaxis":{"backgroundcolor":"#E5ECF6","gridcolor":"white","linecolor":"white","showbackground":true,"ticks":"","zerolinecolor":"white","gridwidth":2},"yaxis":{"backgroundcolor":"#E5ECF6","gridcolor":"white","linecolor":"white","showbackground":true,"ticks":"","zerolinecolor":"white","gridwidth":2},"zaxis":{"backgroundcolor":"#E5ECF6","gridcolor":"white","linecolor":"white","showbackground":true,"ticks":"","zerolinecolor":"white","gridwidth":2}},"shapedefaults":{"line":{"color":"#2a3f5f"}},"annotationdefaults":{"arrowcolor":"#2a3f5f","arrowhead":0,"arrowwidth":1},"geo":{"bgcolor":"white","landcolor":"#E5ECF6","subunitcolor":"white","showland":true,"showlakes":true,"lakecolor":"white"},"title":{"x":0.05},"mapbox":{"style":"light"}}}}, {"responsive": true} ) }; </script> </div> +</body> + +</html> +Traceback (most recent call last): + File "C:\Users\liamb\Documents\graph4stackoverflow\embeddings\hetero_GAT.py", line 153, in <module> + table.add_data(wandb.Html(graph_vis), n_nodes, n_edges, label) + File "C:\Users\liamb\Documents\graph4stackoverflow\venv\lib\site-packages\wandb\sdk\data_types\html.py", line 55, in __init__ + out.write(self.html) + File "C:\Users\liamb\AppData\Local\Programs\Python\Python38\lib\encodings\cp1252.py", line 19, in encode + return codecs.charmap_encode(input,self.errors,encoding_table)[0] +UnicodeEncodeError: 'charmap' codec can't encode character '\u25c4' in position 276500: character maps to <undefined> \ No newline at end of file diff --git a/embeddings/wandb/run-20230224_122235-prub22wv/files/requirements.txt b/embeddings/wandb/run-20230224_122235-prub22wv/files/requirements.txt new file mode 100644 index 0000000000000000000000000000000000000000..d7de821539624662109e252a91c4907a963ad5fb --- /dev/null +++ b/embeddings/wandb/run-20230224_122235-prub22wv/files/requirements.txt @@ -0,0 +1,170 @@ +absl-py==1.3.0 +anyio==3.6.2 +appdirs==1.4.4 +argon2-cffi-bindings==21.2.0 +argon2-cffi==21.3.0 +asttokens==2.1.0 +astunparse==1.6.3 +attrs==22.1.0 +backcall==0.2.0 +beautifulsoup4==4.11.1 +bleach==5.0.1 +blis==0.7.9 +bs4==0.0.1 +cachetools==5.2.0 +catalogue==2.0.8 +certifi==2022.9.24 +cffi==1.15.1 +charset-normalizer==2.1.1 +click==8.1.3 +colorama==0.4.6 +confection==0.0.3 +contourpy==1.0.6 +cycler==0.11.0 +cymem==2.0.7 +debugpy==1.6.3 +decorator==5.1.1 +defusedxml==0.7.1 +dgl==0.9.1 +docker-pycreds==0.4.0 +en-core-web-sm==3.4.1 +entrypoints==0.4 +executing==1.2.0 +fastjsonschema==2.16.2 +filelock==3.8.0 +fonttools==4.38.0 +gitdb==4.0.10 +gitpython==3.1.31 +google-auth-oauthlib==0.4.6 +google-auth==2.14.0 +graph4nlp==0.5.5 +grpcio==1.50.0 +huggingface-hub==0.10.1 +idna==3.4 +importlib-metadata==5.0.0 +importlib-resources==5.10.0 +ipykernel==6.16.2 +ipython-genutils==0.2.0 +ipython==8.6.0 +ipywidgets==8.0.2 +jedi==0.18.1 +jinja2==3.1.2 +joblib==1.2.0 +jsonschema==4.16.0 +jupyter-client==7.4.4 +jupyter-console==6.4.4 +jupyter-core==4.11.2 +jupyter-server==1.21.0 +jupyter==1.0.0 +jupyterlab-pygments==0.2.2 +jupyterlab-widgets==3.0.3 +kiwisolver==1.4.4 +langcodes==3.3.0 +littleutils==0.2.2 +lxml==4.9.1 +markdown==3.4.1 +markupsafe==2.1.1 +matplotlib-inline==0.1.6 +matplotlib==3.6.2 +mistune==2.0.4 +murmurhash==1.0.9 +nbclassic==0.4.7 +nbclient==0.7.0 +nbconvert==7.2.3 +nbformat==5.7.0 +nest-asyncio==1.5.6 +networkx==2.8.8 +nltk==3.7 +notebook-shim==0.2.0 +notebook==6.5.2 +numpy==1.23.5 +oauthlib==3.2.2 +ogb==1.3.5 +outdated==0.2.2 +packaging==21.3 +pandas==1.5.1 +pandocfilters==1.5.0 +parso==0.8.3 +pathtools==0.1.2 +pathy==0.6.2 +pickleshare==0.7.5 +pillow==9.3.0 +pip==21.3.1 +pkgutil-resolve-name==1.3.10 +plotly==5.13.0 +preshed==3.0.8 +prometheus-client==0.15.0 +prompt-toolkit==3.0.31 +protobuf==3.19.6 +psutil==5.9.3 +pure-eval==0.2.2 +pyasn1-modules==0.2.8 +pyasn1==0.4.8 +pycparser==2.21 +pydantic==1.10.2 +pygments==2.13.0 +pyparsing==3.0.9 +pyrsistent==0.18.1 +python-dateutil==2.8.2 +pythonds==1.2.1 +pytz==2022.5 +pywin32==304 +pywinpty==2.0.9 +pyyaml==6.0 +pyzmq==24.0.1 +qtconsole==5.3.2 +qtpy==2.2.1 +regex==2022.10.31 +requests-oauthlib==1.3.1 +requests==2.28.1 +rsa==4.9 +scikit-learn==1.1.3 +scipy==1.9.3 +send2trash==1.8.0 +sentry-sdk==1.15.0 +setproctitle==1.3.2 +setuptools==60.2.0 +six==1.16.0 +smart-open==5.2.1 +smmap==5.0.0 +sniffio==1.3.0 +soupsieve==2.3.2.post1 +spacy-legacy==3.0.10 +spacy-loggers==1.0.3 +spacy==3.4.2 +srsly==2.4.5 +stack-data==0.6.0 +stanfordcorenlp==3.9.1.1 +tenacity==8.2.1 +tensorboard-data-server==0.6.1 +tensorboard-plugin-wit==1.8.1 +tensorboard==2.10.1 +terminado==0.17.0 +thinc==8.1.5 +threadpoolctl==3.1.0 +tinycss2==1.2.1 +tokenizers==0.13.2 +torch-cluster==1.6.0+pt113cpu +torch-geometric==2.2.0 +torch-scatter==2.1.0+pt113cpu +torch-sparse==0.6.16+pt113cpu +torch-spline-conv==1.2.1+pt113cpu +torch==1.13.0 +torchsummary==1.5.1 +torchtext==0.14.0 +tornado==6.2 +tqdm==4.64.1 +traitlets==5.5.0 +transformers==4.24.0 +typer==0.4.2 +typing-extensions==4.4.0 +urllib3==1.26.12 +wandb==0.13.10 +wasabi==0.10.1 +wcwidth==0.2.5 +webencodings==0.5.1 +websocket-client==1.4.1 +werkzeug==2.2.2 +wheel==0.37.1 +widgetsnbextension==4.0.3 +zipp==3.10.0 \ No newline at end of file diff --git a/embeddings/wandb/run-20230224_122235-prub22wv/files/wandb-metadata.json b/embeddings/wandb/run-20230224_122235-prub22wv/files/wandb-metadata.json new file mode 100644 index 0000000000000000000000000000000000000000..58491e81055971b6b01cc88f60affc4c368319e2 --- /dev/null +++ b/embeddings/wandb/run-20230224_122235-prub22wv/files/wandb-metadata.json @@ -0,0 +1,42 @@ +{ + "os": "Windows-10-10.0.19041-SP0", + "python": "3.8.1", + "heartbeatAt": "2023-02-24T12:22:36.014461", + "startedAt": "2023-02-24T12:22:35.057124", + "docker": null, + "cuda": null, + "args": [], + "state": "running", + "program": "C:\\Users\\liamb\\Documents\\graph4stackoverflow\\embeddings\\hetero_GAT.py", + "codePath": "embeddings\\hetero_GAT.py", + "git": { + "remote": "https://git.soton.ac.uk/lhb1g20/graph4stackoverflow.git", + "commit": "ced992d661984f7b87d1a3e76768e4ff7af78245" + }, + "email": "liambyrneh@gmail.com", + "root": "C:/Users/liamb/Documents/graph4stackoverflow", + "host": "DESKTOP-P7BETFF", + "username": "liamb", + "executable": "C:\\Users\\liamb\\Documents\\graph4stackoverflow\\venv\\Scripts\\python.exe", + "cpu_count": 2, + "cpu_count_logical": 4, + "cpu_freq": { + "current": 3504.0, + "min": 0.0, + "max": 3504.0 + }, + "cpu_freq_per_core": [ + { + "current": 3504.0, + "min": 0.0, + "max": 3504.0 + } + ], + "disk": { + "total": 475.71581649780273, + "used": 352.4709014892578 + }, + "memory": { + "total": 31.89160919189453 + } +} diff --git a/embeddings/wandb/run-20230224_122235-prub22wv/files/wandb-summary.json b/embeddings/wandb/run-20230224_122235-prub22wv/files/wandb-summary.json new file mode 100644 index 0000000000000000000000000000000000000000..aa864209843b582b57a73cd9a8a8c04f4edfc183 --- /dev/null +++ b/embeddings/wandb/run-20230224_122235-prub22wv/files/wandb-summary.json @@ -0,0 +1 @@ +{"num_node_features": {"question": 1536, "answer": 1536, "comment": 768, "tag": 50, "module": 30}, "num_classes": 2, "_timestamp": 1677241356.1471918, "_runtime": 1.0770728588104248, "_step": 0, "_wandb": {"runtime": 0}} \ No newline at end of file diff --git a/embeddings/wandb/run-20230224_122235-prub22wv/logs/debug-internal.log b/embeddings/wandb/run-20230224_122235-prub22wv/logs/debug-internal.log new file mode 100644 index 0000000000000000000000000000000000000000..21eeb45e0af0c2ff0dfc07ad40584a4ccad87a9b --- /dev/null +++ b/embeddings/wandb/run-20230224_122235-prub22wv/logs/debug-internal.log @@ -0,0 +1,177 @@ +2023-02-24 12:22:35,071 INFO StreamThr :13824 [internal.py:wandb_internal():87] W&B internal server running at pid: 13824, started at: 2023-02-24 12:22:35.070120 +2023-02-24 12:22:35,072 DEBUG HandlerThread:13824 [handler.py:handle_request():144] handle_request: status +2023-02-24 12:22:35,074 INFO WriterThread:13824 [datastore.py:open_for_write():85] open: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_122235-prub22wv\run-prub22wv.wandb +2023-02-24 12:22:35,078 DEBUG SenderThread:13824 [sender.py:send():336] send: header +2023-02-24 12:22:35,123 DEBUG SenderThread:13824 [sender.py:send():336] send: run +2023-02-24 12:22:35,689 INFO SenderThread:13824 [dir_watcher.py:__init__():216] watching files in: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_122235-prub22wv\files +2023-02-24 12:22:35,690 INFO SenderThread:13824 [sender.py:_start_run_threads():1067] run started: prub22wv with start time 1677241355.070119 +2023-02-24 12:22:35,690 DEBUG SenderThread:13824 [sender.py:send_request():363] send_request: summary_record +2023-02-24 12:22:35,690 DEBUG HandlerThread:13824 [handler.py:handle_request():144] handle_request: check_version +2023-02-24 12:22:35,691 INFO SenderThread:13824 [sender.py:_save_file():1321] saving file wandb-summary.json with policy end +2023-02-24 12:22:35,691 DEBUG SenderThread:13824 [sender.py:send_request():363] send_request: check_version +2023-02-24 12:22:35,993 DEBUG HandlerThread:13824 [handler.py:handle_request():144] handle_request: run_start +2023-02-24 12:22:36,010 DEBUG HandlerThread:13824 [system_info.py:__init__():31] System info init +2023-02-24 12:22:36,010 DEBUG HandlerThread:13824 [system_info.py:__init__():46] System info init done +2023-02-24 12:22:36,010 INFO HandlerThread:13824 [system_monitor.py:start():151] Starting system monitor +2023-02-24 12:22:36,011 INFO SystemMonitor:13824 [system_monitor.py:_start():116] Starting system asset monitoring threads +2023-02-24 12:22:36,011 INFO HandlerThread:13824 [system_monitor.py:probe():172] Collecting system info +2023-02-24 12:22:36,014 INFO SystemMonitor:13824 [interfaces.py:start():168] Started cpu +2023-02-24 12:22:36,014 DEBUG HandlerThread:13824 [system_info.py:probe():195] Probing system +2023-02-24 12:22:36,015 INFO SystemMonitor:13824 [interfaces.py:start():168] Started disk +2023-02-24 12:22:36,015 INFO SystemMonitor:13824 [interfaces.py:start():168] Started memory +2023-02-24 12:22:36,032 INFO SystemMonitor:13824 [interfaces.py:start():168] Started network +2023-02-24 12:22:36,033 DEBUG HandlerThread:13824 [system_info.py:_probe_git():180] Probing git +2023-02-24 12:22:36,125 DEBUG HandlerThread:13824 [system_info.py:_probe_git():188] Probing git done +2023-02-24 12:22:36,125 DEBUG HandlerThread:13824 [system_info.py:probe():241] Probing system done +2023-02-24 12:22:36,125 DEBUG HandlerThread:13824 [system_monitor.py:probe():181] {'os': 'Windows-10-10.0.19041-SP0', 'python': '3.8.1', 'heartbeatAt': '2023-02-24T12:22:36.014461', 'startedAt': '2023-02-24T12:22:35.057124', 'docker': None, 'cuda': None, 'args': (), 'state': 'running', 'program': 'C:\\Users\\liamb\\Documents\\graph4stackoverflow\\embeddings\\hetero_GAT.py', 'codePath': 'embeddings\\hetero_GAT.py', 'git': {'remote': 'https://git.soton.ac.uk/lhb1g20/graph4stackoverflow.git', 'commit': 'ced992d661984f7b87d1a3e76768e4ff7af78245'}, 'email': 'liambyrneh@gmail.com', 'root': 'C:/Users/liamb/Documents/graph4stackoverflow', 'host': 'DESKTOP-P7BETFF', 'username': 'liamb', 'executable': 'C:\\Users\\liamb\\Documents\\graph4stackoverflow\\venv\\Scripts\\python.exe', 'cpu_count': 2, 'cpu_count_logical': 4, 'cpu_freq': {'current': 3504.0, 'min': 0.0, 'max': 3504.0}, 'cpu_freq_per_core': [{'current': 3504.0, 'min': 0.0, 'max': 3504.0}], 'disk': {'total': 475.71581649780273, 'used': 352.4709014892578}, 'memory': {'total': 31.89160919189453}} +2023-02-24 12:22:36,125 INFO HandlerThread:13824 [system_monitor.py:probe():182] Finished collecting system info +2023-02-24 12:22:36,125 INFO HandlerThread:13824 [system_monitor.py:probe():185] Publishing system info +2023-02-24 12:22:36,126 DEBUG HandlerThread:13824 [system_info.py:_save_pip():51] Saving list of pip packages installed into the current environment +2023-02-24 12:22:36,127 DEBUG HandlerThread:13824 [system_info.py:_save_pip():67] Saving pip packages done +2023-02-24 12:22:36,129 INFO HandlerThread:13824 [system_monitor.py:probe():187] Finished publishing system info +2023-02-24 12:22:36,138 DEBUG SenderThread:13824 [sender.py:send():336] send: files +2023-02-24 12:22:36,138 INFO SenderThread:13824 [sender.py:_save_file():1321] saving file wandb-metadata.json with policy now +2023-02-24 12:22:36,145 DEBUG HandlerThread:13824 [handler.py:handle_request():144] handle_request: stop_status +2023-02-24 12:22:36,146 DEBUG SenderThread:13824 [sender.py:send_request():363] send_request: stop_status +2023-02-24 12:22:36,148 DEBUG HandlerThread:13824 [handler.py:handle_request():144] handle_request: partial_history +2023-02-24 12:22:36,429 DEBUG SenderThread:13824 [sender.py:send():336] send: telemetry +2023-02-24 12:22:36,429 DEBUG SenderThread:13824 [sender.py:send():336] send: history +2023-02-24 12:22:36,429 DEBUG SenderThread:13824 [sender.py:send_request():363] send_request: summary_record +2023-02-24 12:22:36,430 INFO SenderThread:13824 [sender.py:_save_file():1321] saving file wandb-summary.json with policy end +2023-02-24 12:22:36,480 DEBUG SenderThread:13824 [sender.py:send():336] send: exit +2023-02-24 12:22:36,480 INFO SenderThread:13824 [sender.py:send_exit():559] handling exit code: 1 +2023-02-24 12:22:36,480 INFO SenderThread:13824 [sender.py:send_exit():561] handling runtime: 0 +2023-02-24 12:22:36,490 INFO SenderThread:13824 [sender.py:_save_file():1321] saving file wandb-summary.json with policy end +2023-02-24 12:22:36,491 INFO SenderThread:13824 [sender.py:send_exit():567] send defer +2023-02-24 12:22:36,491 DEBUG HandlerThread:13824 [handler.py:handle_request():144] handle_request: defer +2023-02-24 12:22:36,491 INFO HandlerThread:13824 [handler.py:handle_request_defer():170] handle defer: 0 +2023-02-24 12:22:36,492 DEBUG SenderThread:13824 [sender.py:send_request():363] send_request: defer +2023-02-24 12:22:36,492 INFO SenderThread:13824 [sender.py:send_request_defer():583] handle sender defer: 0 +2023-02-24 12:22:36,492 INFO SenderThread:13824 [sender.py:transition_state():587] send defer: 1 +2023-02-24 12:22:36,492 DEBUG HandlerThread:13824 [handler.py:handle_request():144] handle_request: defer +2023-02-24 12:22:36,493 INFO HandlerThread:13824 [handler.py:handle_request_defer():170] handle defer: 1 +2023-02-24 12:22:36,493 DEBUG SenderThread:13824 [sender.py:send_request():363] send_request: defer +2023-02-24 12:22:36,493 INFO SenderThread:13824 [sender.py:send_request_defer():583] handle sender defer: 1 +2023-02-24 12:22:36,493 INFO SenderThread:13824 [sender.py:transition_state():587] send defer: 2 +2023-02-24 12:22:36,494 DEBUG HandlerThread:13824 [handler.py:handle_request():144] handle_request: defer +2023-02-24 12:22:36,494 INFO HandlerThread:13824 [handler.py:handle_request_defer():170] handle defer: 2 +2023-02-24 12:22:36,494 INFO HandlerThread:13824 [system_monitor.py:finish():161] Stopping system monitor +2023-02-24 12:22:36,494 DEBUG SystemMonitor:13824 [system_monitor.py:_start():130] Starting system metrics aggregation loop +2023-02-24 12:22:36,494 DEBUG SystemMonitor:13824 [system_monitor.py:_start():137] Finished system metrics aggregation loop +2023-02-24 12:22:36,495 DEBUG SystemMonitor:13824 [system_monitor.py:_start():141] Publishing last batch of metrics +2023-02-24 12:22:36,496 INFO HandlerThread:13824 [interfaces.py:finish():175] Joined cpu +2023-02-24 12:22:36,496 INFO HandlerThread:13824 [interfaces.py:finish():175] Joined disk +2023-02-24 12:22:36,496 INFO HandlerThread:13824 [interfaces.py:finish():175] Joined memory +2023-02-24 12:22:36,496 INFO HandlerThread:13824 [interfaces.py:finish():175] Joined network +2023-02-24 12:22:36,497 DEBUG SenderThread:13824 [sender.py:send_request():363] send_request: defer +2023-02-24 12:22:36,497 INFO SenderThread:13824 [sender.py:send_request_defer():583] handle sender defer: 2 +2023-02-24 12:22:36,497 INFO SenderThread:13824 [sender.py:transition_state():587] send defer: 3 +2023-02-24 12:22:36,497 DEBUG SenderThread:13824 [sender.py:send():336] send: stats +2023-02-24 12:22:36,497 DEBUG HandlerThread:13824 [handler.py:handle_request():144] handle_request: defer +2023-02-24 12:22:36,498 INFO HandlerThread:13824 [handler.py:handle_request_defer():170] handle defer: 3 +2023-02-24 12:22:36,498 DEBUG SenderThread:13824 [sender.py:send_request():363] send_request: defer +2023-02-24 12:22:36,498 INFO SenderThread:13824 [sender.py:send_request_defer():583] handle sender defer: 3 +2023-02-24 12:22:36,498 INFO SenderThread:13824 [sender.py:transition_state():587] send defer: 4 +2023-02-24 12:22:36,498 DEBUG HandlerThread:13824 [handler.py:handle_request():144] handle_request: defer +2023-02-24 12:22:36,498 INFO HandlerThread:13824 [handler.py:handle_request_defer():170] handle defer: 4 +2023-02-24 12:22:36,499 DEBUG SenderThread:13824 [sender.py:send_request():363] send_request: defer +2023-02-24 12:22:36,499 INFO SenderThread:13824 [sender.py:send_request_defer():583] handle sender defer: 4 +2023-02-24 12:22:36,499 INFO SenderThread:13824 [sender.py:transition_state():587] send defer: 5 +2023-02-24 12:22:36,499 DEBUG HandlerThread:13824 [handler.py:handle_request():144] handle_request: defer +2023-02-24 12:22:36,499 INFO HandlerThread:13824 [handler.py:handle_request_defer():170] handle defer: 5 +2023-02-24 12:22:36,500 DEBUG SenderThread:13824 [sender.py:send():336] send: summary +2023-02-24 12:22:36,501 INFO SenderThread:13824 [sender.py:_save_file():1321] saving file wandb-summary.json with policy end +2023-02-24 12:22:36,501 DEBUG SenderThread:13824 [sender.py:send_request():363] send_request: defer +2023-02-24 12:22:36,501 INFO SenderThread:13824 [sender.py:send_request_defer():583] handle sender defer: 5 +2023-02-24 12:22:36,501 INFO SenderThread:13824 [sender.py:transition_state():587] send defer: 6 +2023-02-24 12:22:36,502 DEBUG HandlerThread:13824 [handler.py:handle_request():144] handle_request: defer +2023-02-24 12:22:36,502 INFO HandlerThread:13824 [handler.py:handle_request_defer():170] handle defer: 6 +2023-02-24 12:22:36,502 DEBUG SenderThread:13824 [sender.py:send_request():363] send_request: defer +2023-02-24 12:22:36,502 INFO SenderThread:13824 [sender.py:send_request_defer():583] handle sender defer: 6 +2023-02-24 12:22:36,508 DEBUG HandlerThread:13824 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 12:22:36,707 INFO Thread-17 :13824 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_122235-prub22wv\files\wandb-summary.json +2023-02-24 12:22:36,707 INFO Thread-17 :13824 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_122235-prub22wv\files\wandb-metadata.json +2023-02-24 12:22:36,708 INFO Thread-17 :13824 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_122235-prub22wv\files\requirements.txt +2023-02-24 12:22:36,708 INFO Thread-17 :13824 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_122235-prub22wv\files\output.log +2023-02-24 12:22:36,794 INFO SenderThread:13824 [sender.py:transition_state():587] send defer: 7 +2023-02-24 12:22:36,794 DEBUG HandlerThread:13824 [handler.py:handle_request():144] handle_request: defer +2023-02-24 12:22:36,794 INFO HandlerThread:13824 [handler.py:handle_request_defer():170] handle defer: 7 +2023-02-24 12:22:36,795 DEBUG SenderThread:13824 [sender.py:send_request():363] send_request: defer +2023-02-24 12:22:36,795 INFO SenderThread:13824 [sender.py:send_request_defer():583] handle sender defer: 7 +2023-02-24 12:22:36,972 INFO wandb-upload_0:13824 [upload_job.py:push():138] Uploaded file C:\Users\liamb\AppData\Local\Temp\tmpx5ig80k2wandb\8gt2z3x3-wandb-metadata.json +2023-02-24 12:22:36,991 WARNING OutRawWr-stdout:13824 [sender.py:_output_raw_writer_thread():1158] Terminal output too large. Logging without processing. +2023-02-24 12:22:37,383 DEBUG HandlerThread:13824 [handler.py:handle_request():144] handle_request: poll_exit +2023-02-24 12:22:37,711 INFO Thread-17 :13824 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_122235-prub22wv\files\config.yaml +2023-02-24 12:22:37,711 INFO Thread-17 :13824 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_122235-prub22wv\files\output.log +2023-02-24 12:22:38,727 INFO Thread-17 :13824 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_122235-prub22wv\files\output.log +2023-02-24 12:22:40,505 INFO SenderThread:13824 [sender.py:transition_state():587] send defer: 8 +2023-02-24 12:22:40,505 DEBUG SenderThread:13824 [sender.py:send_request():363] send_request: poll_exit +2023-02-24 12:22:40,505 DEBUG HandlerThread:13824 [handler.py:handle_request():144] handle_request: defer +2023-02-24 12:22:40,505 INFO HandlerThread:13824 [handler.py:handle_request_defer():170] handle defer: 8 +2023-02-24 12:22:40,506 DEBUG SenderThread:13824 [sender.py:send_request():363] send_request: defer +2023-02-24 12:22:40,506 INFO SenderThread:13824 [sender.py:send_request_defer():583] handle sender defer: 8 +2023-02-24 12:22:40,520 INFO SenderThread:13824 [sender.py:transition_state():587] send defer: 9 +2023-02-24 12:22:40,520 DEBUG HandlerThread:13824 [handler.py:handle_request():144] handle_request: defer +2023-02-24 12:22:40,521 INFO HandlerThread:13824 [handler.py:handle_request_defer():170] handle defer: 9 +2023-02-24 12:22:40,521 DEBUG SenderThread:13824 [sender.py:send():336] send: artifact +2023-02-24 12:22:40,755 INFO Thread-17 :13824 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_122235-prub22wv\files\output.log +2023-02-24 12:22:41,441 INFO SenderThread:13824 [sender.py:send_artifact():1417] sent artifact job-https___git.soton.ac.uk_lhb1g20_graph4stackoverflow.git_embeddings_hetero_GAT.py - {'id': 'QXJ0aWZhY3Q6MzgwMzgzODYx', 'digest': '52054f0b23df9b668b4724b52e59ad5e', 'state': 'COMMITTED', 'aliases': [{'artifactCollectionName': 'job-https___git.soton.ac.uk_lhb1g20_graph4stackoverflow.git_embeddings_hetero_GAT.py', 'alias': 'latest'}, {'artifactCollectionName': 'job-https___git.soton.ac.uk_lhb1g20_graph4stackoverflow.git_embeddings_hetero_GAT.py', 'alias': 'v1'}], 'artifactSequence': {'id': 'QXJ0aWZhY3RDb2xsZWN0aW9uOjU0NTg3MzU0', 'latestArtifact': {'id': 'QXJ0aWZhY3Q6MzgwMzgzODYx', 'versionIndex': 1}}, 'version': 'v1'} +2023-02-24 12:22:41,441 DEBUG SenderThread:13824 [sender.py:send_request():363] send_request: defer +2023-02-24 12:22:41,441 INFO SenderThread:13824 [sender.py:send_request_defer():583] handle sender defer: 9 +2023-02-24 12:22:41,441 INFO SenderThread:13824 [dir_watcher.py:finish():362] shutting down directory watcher +2023-02-24 12:22:41,769 INFO SenderThread:13824 [dir_watcher.py:finish():392] scan: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_122235-prub22wv\files +2023-02-24 12:22:41,769 INFO SenderThread:13824 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_122235-prub22wv\files\config.yaml config.yaml +2023-02-24 12:22:41,770 INFO SenderThread:13824 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_122235-prub22wv\files\output.log output.log +2023-02-24 12:22:41,773 INFO SenderThread:13824 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_122235-prub22wv\files\requirements.txt requirements.txt +2023-02-24 12:22:41,777 INFO SenderThread:13824 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_122235-prub22wv\files\wandb-metadata.json wandb-metadata.json +2023-02-24 12:22:41,777 INFO SenderThread:13824 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_122235-prub22wv\files\wandb-summary.json wandb-summary.json +2023-02-24 12:22:41,778 INFO SenderThread:13824 [sender.py:transition_state():587] send defer: 10 +2023-02-24 12:22:41,781 DEBUG HandlerThread:13824 [handler.py:handle_request():144] handle_request: defer +2023-02-24 12:22:41,781 INFO HandlerThread:13824 [handler.py:handle_request_defer():170] handle defer: 10 +2023-02-24 12:22:41,782 DEBUG SenderThread:13824 [sender.py:send_request():363] send_request: defer +2023-02-24 12:22:41,785 INFO SenderThread:13824 [sender.py:send_request_defer():583] handle sender defer: 10 +2023-02-24 12:22:41,785 INFO SenderThread:13824 [file_pusher.py:finish():162] shutting down file pusher +2023-02-24 12:22:42,317 INFO wandb-upload_0:13824 [upload_job.py:push():138] Uploaded file C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_122235-prub22wv\files\config.yaml +2023-02-24 12:22:42,434 DEBUG HandlerThread:13824 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 12:22:42,706 INFO wandb-upload_3:13824 [upload_job.py:push():138] Uploaded file C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_122235-prub22wv\files\wandb-summary.json +2023-02-24 12:22:42,732 INFO wandb-upload_2:13824 [upload_job.py:push():138] Uploaded file C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_122235-prub22wv\files\requirements.txt +2023-02-24 12:22:44,104 INFO wandb-upload_1:13824 [upload_job.py:push():138] Uploaded file C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_122235-prub22wv\files\output.log +2023-02-24 12:22:44,320 INFO Thread-16 :13824 [sender.py:transition_state():587] send defer: 11 +2023-02-24 12:22:44,320 DEBUG HandlerThread:13824 [handler.py:handle_request():144] handle_request: defer +2023-02-24 12:22:44,320 INFO HandlerThread:13824 [handler.py:handle_request_defer():170] handle defer: 11 +2023-02-24 12:22:44,321 DEBUG SenderThread:13824 [sender.py:send_request():363] send_request: defer +2023-02-24 12:22:44,321 INFO SenderThread:13824 [sender.py:send_request_defer():583] handle sender defer: 11 +2023-02-24 12:22:44,321 INFO SenderThread:13824 [file_pusher.py:join():167] waiting for file pusher +2023-02-24 12:22:44,321 INFO SenderThread:13824 [sender.py:transition_state():587] send defer: 12 +2023-02-24 12:22:44,321 DEBUG HandlerThread:13824 [handler.py:handle_request():144] handle_request: defer +2023-02-24 12:22:44,321 INFO HandlerThread:13824 [handler.py:handle_request_defer():170] handle defer: 12 +2023-02-24 12:22:44,321 DEBUG SenderThread:13824 [sender.py:send_request():363] send_request: defer +2023-02-24 12:22:44,321 INFO SenderThread:13824 [sender.py:send_request_defer():583] handle sender defer: 12 +2023-02-24 12:22:46,683 INFO SenderThread:13824 [sender.py:transition_state():587] send defer: 13 +2023-02-24 12:22:46,683 DEBUG HandlerThread:13824 [handler.py:handle_request():144] handle_request: defer +2023-02-24 12:22:46,684 INFO HandlerThread:13824 [handler.py:handle_request_defer():170] handle defer: 13 +2023-02-24 12:22:46,684 DEBUG HandlerThread:13824 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 12:22:46,684 DEBUG SenderThread:13824 [sender.py:send_request():363] send_request: defer +2023-02-24 12:22:46,684 INFO SenderThread:13824 [sender.py:send_request_defer():583] handle sender defer: 13 +2023-02-24 12:22:46,684 INFO SenderThread:13824 [sender.py:transition_state():587] send defer: 14 +2023-02-24 12:22:46,685 DEBUG HandlerThread:13824 [handler.py:handle_request():144] handle_request: defer +2023-02-24 12:22:46,685 DEBUG SenderThread:13824 [sender.py:send():336] send: final +2023-02-24 12:22:46,685 INFO HandlerThread:13824 [handler.py:handle_request_defer():170] handle defer: 14 +2023-02-24 12:22:46,685 DEBUG SenderThread:13824 [sender.py:send():336] send: footer +2023-02-24 12:22:46,686 DEBUG SenderThread:13824 [sender.py:send_request():363] send_request: defer +2023-02-24 12:22:46,687 INFO SenderThread:13824 [sender.py:send_request_defer():583] handle sender defer: 14 +2023-02-24 12:22:46,687 DEBUG HandlerThread:13824 [handler.py:handle_request():144] handle_request: poll_exit +2023-02-24 12:22:46,687 DEBUG HandlerThread:13824 [handler.py:handle_request():144] handle_request: server_info +2023-02-24 12:22:46,688 DEBUG HandlerThread:13824 [handler.py:handle_request():144] handle_request: get_summary +2023-02-24 12:22:46,688 DEBUG SenderThread:13824 [sender.py:send_request():363] send_request: poll_exit +2023-02-24 12:22:46,688 DEBUG HandlerThread:13824 [handler.py:handle_request():144] handle_request: sampled_history +2023-02-24 12:22:46,688 DEBUG SenderThread:13824 [sender.py:send_request():363] send_request: server_info +2023-02-24 12:22:47,462 INFO MainThread:13824 [wandb_run.py:_footer_history_summary_info():3442] rendering history +2023-02-24 12:22:47,463 INFO MainThread:13824 [wandb_run.py:_footer_history_summary_info():3474] rendering summary +2023-02-24 12:22:47,463 INFO MainThread:13824 [wandb_run.py:_footer_sync_info():3398] logging synced files +2023-02-24 12:22:47,463 DEBUG HandlerThread:13824 [handler.py:handle_request():144] handle_request: shutdown +2023-02-24 12:22:47,463 INFO HandlerThread:13824 [handler.py:finish():841] shutting down handler +2023-02-24 12:22:47,698 INFO WriterThread:13824 [datastore.py:close():299] close: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_122235-prub22wv\run-prub22wv.wandb +2023-02-24 12:22:48,463 INFO SenderThread:13824 [sender.py:finish():1493] shutting down sender +2023-02-24 12:22:48,463 INFO SenderThread:13824 [file_pusher.py:finish():162] shutting down file pusher +2023-02-24 12:22:48,463 INFO SenderThread:13824 [file_pusher.py:join():167] waiting for file pusher diff --git a/embeddings/wandb/run-20230224_122235-prub22wv/logs/debug.log b/embeddings/wandb/run-20230224_122235-prub22wv/logs/debug.log new file mode 100644 index 0000000000000000000000000000000000000000..80d6384387fb12344fd682813c722165e8e4e6df --- /dev/null +++ b/embeddings/wandb/run-20230224_122235-prub22wv/logs/debug.log @@ -0,0 +1,25 @@ +2023-02-24 12:22:35,060 INFO MainThread:12040 [wandb_setup.py:_flush():68] Configure stats pid to 12040 +2023-02-24 12:22:35,061 INFO MainThread:12040 [wandb_setup.py:_flush():68] Loading settings from C:\Users\liamb\.config\wandb\settings +2023-02-24 12:22:35,061 INFO MainThread:12040 [wandb_setup.py:_flush():68] Loading settings from C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\settings +2023-02-24 12:22:35,061 INFO MainThread:12040 [wandb_setup.py:_flush():68] Loading settings from environment variables: {'_require_service': 'True'} +2023-02-24 12:22:35,061 INFO MainThread:12040 [wandb_setup.py:_flush():68] Inferring run settings from compute environment: {'program_relpath': 'embeddings\\hetero_GAT.py', 'program': 'C:\\Users\\liamb\\Documents\\graph4stackoverflow\\embeddings\\hetero_GAT.py'} +2023-02-24 12:22:35,062 INFO MainThread:12040 [wandb_init.py:_log_setup():492] Logging user logs to C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_122235-prub22wv\logs\debug.log +2023-02-24 12:22:35,062 INFO MainThread:12040 [wandb_init.py:_log_setup():493] Logging internal logs to C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_122235-prub22wv\logs\debug-internal.log +2023-02-24 12:22:35,063 INFO MainThread:12040 [wandb_init.py:init():532] calling init triggers +2023-02-24 12:22:35,063 INFO MainThread:12040 [wandb_init.py:init():538] wandb.init called with sweep_config: {} +config: {} +2023-02-24 12:22:35,063 INFO MainThread:12040 [wandb_init.py:init():588] starting backend +2023-02-24 12:22:35,063 INFO MainThread:12040 [wandb_init.py:init():592] setting up manager +2023-02-24 12:22:35,066 INFO MainThread:12040 [backend.py:_multiprocessing_setup():106] multiprocessing start_methods=spawn, using: spawn +2023-02-24 12:22:35,069 INFO MainThread:12040 [wandb_init.py:init():599] backend started and connected +2023-02-24 12:22:35,072 INFO MainThread:12040 [wandb_init.py:init():687] updated telemetry +2023-02-24 12:22:35,122 INFO MainThread:12040 [wandb_init.py:init():727] communicating run to backend with 60.0 second timeout +2023-02-24 12:22:35,689 INFO MainThread:12040 [wandb_run.py:_on_init():2134] communicating current version +2023-02-24 12:22:35,985 INFO MainThread:12040 [wandb_run.py:_on_init():2143] got version response +2023-02-24 12:22:35,986 INFO MainThread:12040 [wandb_init.py:init():775] starting run threads in backend +2023-02-24 12:22:36,146 INFO MainThread:12040 [wandb_run.py:_console_start():2114] atexit reg +2023-02-24 12:22:36,146 INFO MainThread:12040 [wandb_run.py:_redirect():1969] redirect: SettingsConsole.WRAP_RAW +2023-02-24 12:22:36,146 INFO MainThread:12040 [wandb_run.py:_redirect():2034] Wrapping output streams. +2023-02-24 12:22:36,146 INFO MainThread:12040 [wandb_run.py:_redirect():2059] Redirects installed. +2023-02-24 12:22:36,147 INFO MainThread:12040 [wandb_init.py:init():817] run started, returning control to user process +2023-02-24 12:22:48,538 WARNING MsgRouterThr:12040 [router.py:message_loop():77] message_loop has been closed diff --git a/embeddings/wandb/run-20230224_122235-prub22wv/run-prub22wv.wandb b/embeddings/wandb/run-20230224_122235-prub22wv/run-prub22wv.wandb new file mode 100644 index 0000000000000000000000000000000000000000..9274cba4ba4872cb6f5744cb295c6d5409f14117 Binary files /dev/null and b/embeddings/wandb/run-20230224_122235-prub22wv/run-prub22wv.wandb differ diff --git a/embeddings/wandb/run-20230224_122505-vzang0ae/files/config.yaml b/embeddings/wandb/run-20230224_122505-vzang0ae/files/config.yaml new file mode 100644 index 0000000000000000000000000000000000000000..d74b94baa614016891ab3f0b67b715e6154618eb --- /dev/null +++ b/embeddings/wandb/run-20230224_122505-vzang0ae/files/config.yaml @@ -0,0 +1,40 @@ +wandb_version: 1 + +_wandb: + desc: null + value: + cli_version: 0.13.10 + framework: huggingface + huggingface_version: 4.24.0 + is_jupyter_run: false + is_kaggle_kernel: false + python_version: 3.8.1 + start_time: 1677241505.471108 + t: + 1: + - 1 + - 5 + - 11 + - 33 + - 49 + - 53 + - 55 + - 77 + 2: + - 1 + - 5 + - 11 + - 33 + - 49 + - 53 + - 55 + - 77 + 3: + - 13 + - 23 + 4: 3.8.1 + 5: 0.13.10 + 6: 4.24.0 + 8: + - 3 + - 5 diff --git a/embeddings/wandb/run-20230224_122505-vzang0ae/files/output.log b/embeddings/wandb/run-20230224_122505-vzang0ae/files/output.log new file mode 100644 index 0000000000000000000000000000000000000000..d8ba2fd7100ed24309d3b273a526c675f9165e12 --- /dev/null +++ b/embeddings/wandb/run-20230224_122505-vzang0ae/files/output.log @@ -0,0 +1,6 @@ +Traceback (most recent call last): + File "C:\Users\liamb\Documents\graph4stackoverflow\embeddings\hetero_GAT.py", line 154, in <module> + table.add_data(wandb.Html(graph_vis.encode('utf-8')), n_nodes, n_edges, label) + File "C:\Users\liamb\Documents\graph4stackoverflow\venv\lib\site-packages\wandb\sdk\data_types\html.py", line 47, in __init__ + raise ValueError("data must be a string or an io object") +ValueError: data must be a string or an io object \ No newline at end of file diff --git a/embeddings/wandb/run-20230224_122505-vzang0ae/files/requirements.txt b/embeddings/wandb/run-20230224_122505-vzang0ae/files/requirements.txt new file mode 100644 index 0000000000000000000000000000000000000000..d7de821539624662109e252a91c4907a963ad5fb --- /dev/null +++ b/embeddings/wandb/run-20230224_122505-vzang0ae/files/requirements.txt @@ -0,0 +1,170 @@ +absl-py==1.3.0 +anyio==3.6.2 +appdirs==1.4.4 +argon2-cffi-bindings==21.2.0 +argon2-cffi==21.3.0 +asttokens==2.1.0 +astunparse==1.6.3 +attrs==22.1.0 +backcall==0.2.0 +beautifulsoup4==4.11.1 +bleach==5.0.1 +blis==0.7.9 +bs4==0.0.1 +cachetools==5.2.0 +catalogue==2.0.8 +certifi==2022.9.24 +cffi==1.15.1 +charset-normalizer==2.1.1 +click==8.1.3 +colorama==0.4.6 +confection==0.0.3 +contourpy==1.0.6 +cycler==0.11.0 +cymem==2.0.7 +debugpy==1.6.3 +decorator==5.1.1 +defusedxml==0.7.1 +dgl==0.9.1 +docker-pycreds==0.4.0 +en-core-web-sm==3.4.1 +entrypoints==0.4 +executing==1.2.0 +fastjsonschema==2.16.2 +filelock==3.8.0 +fonttools==4.38.0 +gitdb==4.0.10 +gitpython==3.1.31 +google-auth-oauthlib==0.4.6 +google-auth==2.14.0 +graph4nlp==0.5.5 +grpcio==1.50.0 +huggingface-hub==0.10.1 +idna==3.4 +importlib-metadata==5.0.0 +importlib-resources==5.10.0 +ipykernel==6.16.2 +ipython-genutils==0.2.0 +ipython==8.6.0 +ipywidgets==8.0.2 +jedi==0.18.1 +jinja2==3.1.2 +joblib==1.2.0 +jsonschema==4.16.0 +jupyter-client==7.4.4 +jupyter-console==6.4.4 +jupyter-core==4.11.2 +jupyter-server==1.21.0 +jupyter==1.0.0 +jupyterlab-pygments==0.2.2 +jupyterlab-widgets==3.0.3 +kiwisolver==1.4.4 +langcodes==3.3.0 +littleutils==0.2.2 +lxml==4.9.1 +markdown==3.4.1 +markupsafe==2.1.1 +matplotlib-inline==0.1.6 +matplotlib==3.6.2 +mistune==2.0.4 +murmurhash==1.0.9 +nbclassic==0.4.7 +nbclient==0.7.0 +nbconvert==7.2.3 +nbformat==5.7.0 +nest-asyncio==1.5.6 +networkx==2.8.8 +nltk==3.7 +notebook-shim==0.2.0 +notebook==6.5.2 +numpy==1.23.5 +oauthlib==3.2.2 +ogb==1.3.5 +outdated==0.2.2 +packaging==21.3 +pandas==1.5.1 +pandocfilters==1.5.0 +parso==0.8.3 +pathtools==0.1.2 +pathy==0.6.2 +pickleshare==0.7.5 +pillow==9.3.0 +pip==21.3.1 +pkgutil-resolve-name==1.3.10 +plotly==5.13.0 +preshed==3.0.8 +prometheus-client==0.15.0 +prompt-toolkit==3.0.31 +protobuf==3.19.6 +psutil==5.9.3 +pure-eval==0.2.2 +pyasn1-modules==0.2.8 +pyasn1==0.4.8 +pycparser==2.21 +pydantic==1.10.2 +pygments==2.13.0 +pyparsing==3.0.9 +pyrsistent==0.18.1 +python-dateutil==2.8.2 +pythonds==1.2.1 +pytz==2022.5 +pywin32==304 +pywinpty==2.0.9 +pyyaml==6.0 +pyzmq==24.0.1 +qtconsole==5.3.2 +qtpy==2.2.1 +regex==2022.10.31 +requests-oauthlib==1.3.1 +requests==2.28.1 +rsa==4.9 +scikit-learn==1.1.3 +scipy==1.9.3 +send2trash==1.8.0 +sentry-sdk==1.15.0 +setproctitle==1.3.2 +setuptools==60.2.0 +six==1.16.0 +smart-open==5.2.1 +smmap==5.0.0 +sniffio==1.3.0 +soupsieve==2.3.2.post1 +spacy-legacy==3.0.10 +spacy-loggers==1.0.3 +spacy==3.4.2 +srsly==2.4.5 +stack-data==0.6.0 +stanfordcorenlp==3.9.1.1 +tenacity==8.2.1 +tensorboard-data-server==0.6.1 +tensorboard-plugin-wit==1.8.1 +tensorboard==2.10.1 +terminado==0.17.0 +thinc==8.1.5 +threadpoolctl==3.1.0 +tinycss2==1.2.1 +tokenizers==0.13.2 +torch-cluster==1.6.0+pt113cpu +torch-geometric==2.2.0 +torch-scatter==2.1.0+pt113cpu +torch-sparse==0.6.16+pt113cpu +torch-spline-conv==1.2.1+pt113cpu +torch==1.13.0 +torchsummary==1.5.1 +torchtext==0.14.0 +tornado==6.2 +tqdm==4.64.1 +traitlets==5.5.0 +transformers==4.24.0 +typer==0.4.2 +typing-extensions==4.4.0 +urllib3==1.26.12 +wandb==0.13.10 +wasabi==0.10.1 +wcwidth==0.2.5 +webencodings==0.5.1 +websocket-client==1.4.1 +werkzeug==2.2.2 +wheel==0.37.1 +widgetsnbextension==4.0.3 +zipp==3.10.0 \ No newline at end of file diff --git a/embeddings/wandb/run-20230224_122505-vzang0ae/files/wandb-metadata.json b/embeddings/wandb/run-20230224_122505-vzang0ae/files/wandb-metadata.json new file mode 100644 index 0000000000000000000000000000000000000000..ad28883c4b5a1f82b04cd4e99fe9f79cf59a70e7 --- /dev/null +++ b/embeddings/wandb/run-20230224_122505-vzang0ae/files/wandb-metadata.json @@ -0,0 +1,42 @@ +{ + "os": "Windows-10-10.0.19041-SP0", + "python": "3.8.1", + "heartbeatAt": "2023-02-24T12:25:06.023289", + "startedAt": "2023-02-24T12:25:05.458105", + "docker": null, + "cuda": null, + "args": [], + "state": "running", + "program": "C:\\Users\\liamb\\Documents\\graph4stackoverflow\\embeddings\\hetero_GAT.py", + "codePath": "embeddings\\hetero_GAT.py", + "git": { + "remote": "https://git.soton.ac.uk/lhb1g20/graph4stackoverflow.git", + "commit": "ced992d661984f7b87d1a3e76768e4ff7af78245" + }, + "email": "liambyrneh@gmail.com", + "root": "C:/Users/liamb/Documents/graph4stackoverflow", + "host": "DESKTOP-P7BETFF", + "username": "liamb", + "executable": "C:\\Users\\liamb\\Documents\\graph4stackoverflow\\venv\\Scripts\\python.exe", + "cpu_count": 2, + "cpu_count_logical": 4, + "cpu_freq": { + "current": 3504.0, + "min": 0.0, + "max": 3504.0 + }, + "cpu_freq_per_core": [ + { + "current": 3504.0, + "min": 0.0, + "max": 3504.0 + } + ], + "disk": { + "total": 475.71581649780273, + "used": 352.4537658691406 + }, + "memory": { + "total": 31.89160919189453 + } +} diff --git a/embeddings/wandb/run-20230224_122505-vzang0ae/files/wandb-summary.json b/embeddings/wandb/run-20230224_122505-vzang0ae/files/wandb-summary.json new file mode 100644 index 0000000000000000000000000000000000000000..c78ac7669b5c7e64da852e1bb67edd991249de35 --- /dev/null +++ b/embeddings/wandb/run-20230224_122505-vzang0ae/files/wandb-summary.json @@ -0,0 +1 @@ +{"num_node_features": {"question": 1536, "answer": 1536, "comment": 768, "tag": 50, "module": 30}, "num_classes": 2, "_timestamp": 1677241506.1522732, "_runtime": 0.6811652183532715, "_step": 0, "_wandb": {"runtime": 0}} \ No newline at end of file diff --git a/embeddings/wandb/run-20230224_122505-vzang0ae/logs/debug-internal.log b/embeddings/wandb/run-20230224_122505-vzang0ae/logs/debug-internal.log new file mode 100644 index 0000000000000000000000000000000000000000..65b6f14d20e06a4a4591686f558450c2ba974381 --- /dev/null +++ b/embeddings/wandb/run-20230224_122505-vzang0ae/logs/debug-internal.log @@ -0,0 +1,172 @@ +2023-02-24 12:25:05,471 INFO StreamThr :14024 [internal.py:wandb_internal():87] W&B internal server running at pid: 14024, started at: 2023-02-24 12:25:05.470105 +2023-02-24 12:25:05,473 DEBUG HandlerThread:14024 [handler.py:handle_request():144] handle_request: status +2023-02-24 12:25:05,474 INFO WriterThread:14024 [datastore.py:open_for_write():85] open: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_122505-vzang0ae\run-vzang0ae.wandb +2023-02-24 12:25:05,479 DEBUG SenderThread:14024 [sender.py:send():336] send: header +2023-02-24 12:25:05,524 DEBUG SenderThread:14024 [sender.py:send():336] send: run +2023-02-24 12:25:05,904 INFO SenderThread:14024 [dir_watcher.py:__init__():216] watching files in: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_122505-vzang0ae\files +2023-02-24 12:25:05,905 INFO SenderThread:14024 [sender.py:_start_run_threads():1067] run started: vzang0ae with start time 1677241505.471108 +2023-02-24 12:25:05,905 DEBUG SenderThread:14024 [sender.py:send_request():363] send_request: summary_record +2023-02-24 12:25:05,906 INFO SenderThread:14024 [sender.py:_save_file():1321] saving file wandb-summary.json with policy end +2023-02-24 12:25:05,906 DEBUG HandlerThread:14024 [handler.py:handle_request():144] handle_request: check_version +2023-02-24 12:25:05,907 DEBUG SenderThread:14024 [sender.py:send_request():363] send_request: check_version +2023-02-24 12:25:06,001 DEBUG HandlerThread:14024 [handler.py:handle_request():144] handle_request: run_start +2023-02-24 12:25:06,018 DEBUG HandlerThread:14024 [system_info.py:__init__():31] System info init +2023-02-24 12:25:06,018 DEBUG HandlerThread:14024 [system_info.py:__init__():46] System info init done +2023-02-24 12:25:06,018 INFO HandlerThread:14024 [system_monitor.py:start():151] Starting system monitor +2023-02-24 12:25:06,019 INFO SystemMonitor:14024 [system_monitor.py:_start():116] Starting system asset monitoring threads +2023-02-24 12:25:06,019 INFO HandlerThread:14024 [system_monitor.py:probe():172] Collecting system info +2023-02-24 12:25:06,019 INFO SystemMonitor:14024 [interfaces.py:start():168] Started cpu +2023-02-24 12:25:06,022 DEBUG HandlerThread:14024 [system_info.py:probe():195] Probing system +2023-02-24 12:25:06,022 INFO SystemMonitor:14024 [interfaces.py:start():168] Started disk +2023-02-24 12:25:06,023 INFO SystemMonitor:14024 [interfaces.py:start():168] Started memory +2023-02-24 12:25:06,039 INFO SystemMonitor:14024 [interfaces.py:start():168] Started network +2023-02-24 12:25:06,041 DEBUG HandlerThread:14024 [system_info.py:_probe_git():180] Probing git +2023-02-24 12:25:06,130 DEBUG HandlerThread:14024 [system_info.py:_probe_git():188] Probing git done +2023-02-24 12:25:06,130 DEBUG HandlerThread:14024 [system_info.py:probe():241] Probing system done +2023-02-24 12:25:06,131 DEBUG HandlerThread:14024 [system_monitor.py:probe():181] {'os': 'Windows-10-10.0.19041-SP0', 'python': '3.8.1', 'heartbeatAt': '2023-02-24T12:25:06.023289', 'startedAt': '2023-02-24T12:25:05.458105', 'docker': None, 'cuda': None, 'args': (), 'state': 'running', 'program': 'C:\\Users\\liamb\\Documents\\graph4stackoverflow\\embeddings\\hetero_GAT.py', 'codePath': 'embeddings\\hetero_GAT.py', 'git': {'remote': 'https://git.soton.ac.uk/lhb1g20/graph4stackoverflow.git', 'commit': 'ced992d661984f7b87d1a3e76768e4ff7af78245'}, 'email': 'liambyrneh@gmail.com', 'root': 'C:/Users/liamb/Documents/graph4stackoverflow', 'host': 'DESKTOP-P7BETFF', 'username': 'liamb', 'executable': 'C:\\Users\\liamb\\Documents\\graph4stackoverflow\\venv\\Scripts\\python.exe', 'cpu_count': 2, 'cpu_count_logical': 4, 'cpu_freq': {'current': 3504.0, 'min': 0.0, 'max': 3504.0}, 'cpu_freq_per_core': [{'current': 3504.0, 'min': 0.0, 'max': 3504.0}], 'disk': {'total': 475.71581649780273, 'used': 352.4537658691406}, 'memory': {'total': 31.89160919189453}} +2023-02-24 12:25:06,131 INFO HandlerThread:14024 [system_monitor.py:probe():182] Finished collecting system info +2023-02-24 12:25:06,131 INFO HandlerThread:14024 [system_monitor.py:probe():185] Publishing system info +2023-02-24 12:25:06,131 DEBUG HandlerThread:14024 [system_info.py:_save_pip():51] Saving list of pip packages installed into the current environment +2023-02-24 12:25:06,132 DEBUG HandlerThread:14024 [system_info.py:_save_pip():67] Saving pip packages done +2023-02-24 12:25:06,133 INFO HandlerThread:14024 [system_monitor.py:probe():187] Finished publishing system info +2023-02-24 12:25:06,141 DEBUG SenderThread:14024 [sender.py:send():336] send: files +2023-02-24 12:25:06,141 INFO SenderThread:14024 [sender.py:_save_file():1321] saving file wandb-metadata.json with policy now +2023-02-24 12:25:06,150 DEBUG HandlerThread:14024 [handler.py:handle_request():144] handle_request: stop_status +2023-02-24 12:25:06,150 DEBUG SenderThread:14024 [sender.py:send_request():363] send_request: stop_status +2023-02-24 12:25:06,153 DEBUG HandlerThread:14024 [handler.py:handle_request():144] handle_request: partial_history +2023-02-24 12:25:06,308 DEBUG SenderThread:14024 [sender.py:send():336] send: telemetry +2023-02-24 12:25:06,308 DEBUG SenderThread:14024 [sender.py:send():336] send: history +2023-02-24 12:25:06,308 DEBUG SenderThread:14024 [sender.py:send_request():363] send_request: summary_record +2023-02-24 12:25:06,309 INFO SenderThread:14024 [sender.py:_save_file():1321] saving file wandb-summary.json with policy end +2023-02-24 12:25:06,311 DEBUG SenderThread:14024 [sender.py:send():336] send: exit +2023-02-24 12:25:06,311 INFO SenderThread:14024 [sender.py:send_exit():559] handling exit code: 1 +2023-02-24 12:25:06,311 INFO SenderThread:14024 [sender.py:send_exit():561] handling runtime: 0 +2023-02-24 12:25:06,311 INFO SenderThread:14024 [sender.py:_save_file():1321] saving file wandb-summary.json with policy end +2023-02-24 12:25:06,312 INFO SenderThread:14024 [sender.py:send_exit():567] send defer +2023-02-24 12:25:06,312 DEBUG HandlerThread:14024 [handler.py:handle_request():144] handle_request: defer +2023-02-24 12:25:06,312 INFO HandlerThread:14024 [handler.py:handle_request_defer():170] handle defer: 0 +2023-02-24 12:25:06,312 DEBUG SenderThread:14024 [sender.py:send_request():363] send_request: defer +2023-02-24 12:25:06,312 INFO SenderThread:14024 [sender.py:send_request_defer():583] handle sender defer: 0 +2023-02-24 12:25:06,312 INFO SenderThread:14024 [sender.py:transition_state():587] send defer: 1 +2023-02-24 12:25:06,312 DEBUG HandlerThread:14024 [handler.py:handle_request():144] handle_request: defer +2023-02-24 12:25:06,313 INFO HandlerThread:14024 [handler.py:handle_request_defer():170] handle defer: 1 +2023-02-24 12:25:06,313 DEBUG SenderThread:14024 [sender.py:send_request():363] send_request: defer +2023-02-24 12:25:06,313 INFO SenderThread:14024 [sender.py:send_request_defer():583] handle sender defer: 1 +2023-02-24 12:25:06,313 INFO SenderThread:14024 [sender.py:transition_state():587] send defer: 2 +2023-02-24 12:25:06,313 DEBUG HandlerThread:14024 [handler.py:handle_request():144] handle_request: defer +2023-02-24 12:25:06,313 INFO HandlerThread:14024 [handler.py:handle_request_defer():170] handle defer: 2 +2023-02-24 12:25:06,313 INFO HandlerThread:14024 [system_monitor.py:finish():161] Stopping system monitor +2023-02-24 12:25:06,313 DEBUG SystemMonitor:14024 [system_monitor.py:_start():130] Starting system metrics aggregation loop +2023-02-24 12:25:06,314 DEBUG SystemMonitor:14024 [system_monitor.py:_start():137] Finished system metrics aggregation loop +2023-02-24 12:25:06,314 DEBUG SystemMonitor:14024 [system_monitor.py:_start():141] Publishing last batch of metrics +2023-02-24 12:25:06,314 INFO HandlerThread:14024 [interfaces.py:finish():175] Joined cpu +2023-02-24 12:25:06,314 INFO HandlerThread:14024 [interfaces.py:finish():175] Joined disk +2023-02-24 12:25:06,315 INFO HandlerThread:14024 [interfaces.py:finish():175] Joined memory +2023-02-24 12:25:06,315 INFO HandlerThread:14024 [interfaces.py:finish():175] Joined network +2023-02-24 12:25:06,315 DEBUG SenderThread:14024 [sender.py:send_request():363] send_request: defer +2023-02-24 12:25:06,315 INFO SenderThread:14024 [sender.py:send_request_defer():583] handle sender defer: 2 +2023-02-24 12:25:06,315 INFO SenderThread:14024 [sender.py:transition_state():587] send defer: 3 +2023-02-24 12:25:06,315 DEBUG SenderThread:14024 [sender.py:send():336] send: stats +2023-02-24 12:25:06,315 DEBUG HandlerThread:14024 [handler.py:handle_request():144] handle_request: defer +2023-02-24 12:25:06,316 INFO HandlerThread:14024 [handler.py:handle_request_defer():170] handle defer: 3 +2023-02-24 12:25:06,316 DEBUG SenderThread:14024 [sender.py:send_request():363] send_request: defer +2023-02-24 12:25:06,316 INFO SenderThread:14024 [sender.py:send_request_defer():583] handle sender defer: 3 +2023-02-24 12:25:06,316 INFO SenderThread:14024 [sender.py:transition_state():587] send defer: 4 +2023-02-24 12:25:06,316 DEBUG HandlerThread:14024 [handler.py:handle_request():144] handle_request: defer +2023-02-24 12:25:06,316 INFO HandlerThread:14024 [handler.py:handle_request_defer():170] handle defer: 4 +2023-02-24 12:25:06,316 DEBUG SenderThread:14024 [sender.py:send_request():363] send_request: defer +2023-02-24 12:25:06,316 INFO SenderThread:14024 [sender.py:send_request_defer():583] handle sender defer: 4 +2023-02-24 12:25:06,316 INFO SenderThread:14024 [sender.py:transition_state():587] send defer: 5 +2023-02-24 12:25:06,317 DEBUG HandlerThread:14024 [handler.py:handle_request():144] handle_request: defer +2023-02-24 12:25:06,317 INFO HandlerThread:14024 [handler.py:handle_request_defer():170] handle defer: 5 +2023-02-24 12:25:06,317 DEBUG SenderThread:14024 [sender.py:send():336] send: summary +2023-02-24 12:25:06,318 INFO SenderThread:14024 [sender.py:_save_file():1321] saving file wandb-summary.json with policy end +2023-02-24 12:25:06,318 DEBUG SenderThread:14024 [sender.py:send_request():363] send_request: defer +2023-02-24 12:25:06,318 INFO SenderThread:14024 [sender.py:send_request_defer():583] handle sender defer: 5 +2023-02-24 12:25:06,318 INFO SenderThread:14024 [sender.py:transition_state():587] send defer: 6 +2023-02-24 12:25:06,318 DEBUG HandlerThread:14024 [handler.py:handle_request():144] handle_request: defer +2023-02-24 12:25:06,318 INFO HandlerThread:14024 [handler.py:handle_request_defer():170] handle defer: 6 +2023-02-24 12:25:06,319 DEBUG SenderThread:14024 [sender.py:send_request():363] send_request: defer +2023-02-24 12:25:06,319 INFO SenderThread:14024 [sender.py:send_request_defer():583] handle sender defer: 6 +2023-02-24 12:25:06,322 DEBUG HandlerThread:14024 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 12:25:06,511 INFO SenderThread:14024 [sender.py:transition_state():587] send defer: 7 +2023-02-24 12:25:06,511 DEBUG HandlerThread:14024 [handler.py:handle_request():144] handle_request: defer +2023-02-24 12:25:06,511 INFO HandlerThread:14024 [handler.py:handle_request_defer():170] handle defer: 7 +2023-02-24 12:25:06,512 DEBUG SenderThread:14024 [sender.py:send_request():363] send_request: defer +2023-02-24 12:25:06,512 INFO SenderThread:14024 [sender.py:send_request_defer():583] handle sender defer: 7 +2023-02-24 12:25:06,700 INFO wandb-upload_0:14024 [upload_job.py:push():138] Uploaded file C:\Users\liamb\AppData\Local\Temp\tmp_qyqueuewandb\yuzbeurf-wandb-metadata.json +2023-02-24 12:25:06,907 INFO Thread-17 :14024 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_122505-vzang0ae\files\config.yaml +2023-02-24 12:25:06,907 INFO Thread-17 :14024 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_122505-vzang0ae\files\wandb-summary.json +2023-02-24 12:25:06,908 INFO Thread-17 :14024 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_122505-vzang0ae\files\output.log +2023-02-24 12:25:06,908 INFO Thread-17 :14024 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_122505-vzang0ae\files\wandb-metadata.json +2023-02-24 12:25:06,908 INFO Thread-17 :14024 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_122505-vzang0ae\files\requirements.txt +2023-02-24 12:25:07,294 DEBUG HandlerThread:14024 [handler.py:handle_request():144] handle_request: poll_exit +2023-02-24 12:25:08,324 INFO SenderThread:14024 [sender.py:transition_state():587] send defer: 8 +2023-02-24 12:25:08,325 DEBUG SenderThread:14024 [sender.py:send_request():363] send_request: poll_exit +2023-02-24 12:25:08,325 DEBUG HandlerThread:14024 [handler.py:handle_request():144] handle_request: defer +2023-02-24 12:25:08,325 INFO HandlerThread:14024 [handler.py:handle_request_defer():170] handle defer: 8 +2023-02-24 12:25:08,326 DEBUG SenderThread:14024 [sender.py:send_request():363] send_request: defer +2023-02-24 12:25:08,326 INFO SenderThread:14024 [sender.py:send_request_defer():583] handle sender defer: 8 +2023-02-24 12:25:08,340 INFO SenderThread:14024 [sender.py:transition_state():587] send defer: 9 +2023-02-24 12:25:08,341 DEBUG HandlerThread:14024 [handler.py:handle_request():144] handle_request: defer +2023-02-24 12:25:08,341 DEBUG SenderThread:14024 [sender.py:send():336] send: artifact +2023-02-24 12:25:08,341 INFO HandlerThread:14024 [handler.py:handle_request_defer():170] handle defer: 9 +2023-02-24 12:25:08,927 INFO Thread-17 :14024 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_122505-vzang0ae\files\output.log +2023-02-24 12:25:09,166 INFO SenderThread:14024 [sender.py:send_artifact():1417] sent artifact job-https___git.soton.ac.uk_lhb1g20_graph4stackoverflow.git_embeddings_hetero_GAT.py - {'id': 'QXJ0aWZhY3Q6MzgwMzgzODYx', 'digest': '52054f0b23df9b668b4724b52e59ad5e', 'state': 'COMMITTED', 'aliases': [{'artifactCollectionName': 'job-https___git.soton.ac.uk_lhb1g20_graph4stackoverflow.git_embeddings_hetero_GAT.py', 'alias': 'latest'}, {'artifactCollectionName': 'job-https___git.soton.ac.uk_lhb1g20_graph4stackoverflow.git_embeddings_hetero_GAT.py', 'alias': 'v1'}], 'artifactSequence': {'id': 'QXJ0aWZhY3RDb2xsZWN0aW9uOjU0NTg3MzU0', 'latestArtifact': {'id': 'QXJ0aWZhY3Q6MzgwMzgzODYx', 'versionIndex': 1}}, 'version': 'v1'} +2023-02-24 12:25:09,167 DEBUG SenderThread:14024 [sender.py:send_request():363] send_request: defer +2023-02-24 12:25:09,167 INFO SenderThread:14024 [sender.py:send_request_defer():583] handle sender defer: 9 +2023-02-24 12:25:09,167 INFO SenderThread:14024 [dir_watcher.py:finish():362] shutting down directory watcher +2023-02-24 12:25:09,931 INFO SenderThread:14024 [dir_watcher.py:finish():392] scan: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_122505-vzang0ae\files +2023-02-24 12:25:09,931 INFO SenderThread:14024 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_122505-vzang0ae\files\config.yaml config.yaml +2023-02-24 12:25:09,932 INFO SenderThread:14024 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_122505-vzang0ae\files\output.log output.log +2023-02-24 12:25:09,934 INFO SenderThread:14024 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_122505-vzang0ae\files\requirements.txt requirements.txt +2023-02-24 12:25:09,938 INFO SenderThread:14024 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_122505-vzang0ae\files\wandb-metadata.json wandb-metadata.json +2023-02-24 12:25:09,938 INFO SenderThread:14024 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_122505-vzang0ae\files\wandb-summary.json wandb-summary.json +2023-02-24 12:25:09,939 INFO SenderThread:14024 [sender.py:transition_state():587] send defer: 10 +2023-02-24 12:25:09,939 DEBUG HandlerThread:14024 [handler.py:handle_request():144] handle_request: defer +2023-02-24 12:25:09,940 INFO HandlerThread:14024 [handler.py:handle_request_defer():170] handle defer: 10 +2023-02-24 12:25:09,943 DEBUG SenderThread:14024 [sender.py:send_request():363] send_request: defer +2023-02-24 12:25:09,943 INFO SenderThread:14024 [sender.py:send_request_defer():583] handle sender defer: 10 +2023-02-24 12:25:09,943 INFO SenderThread:14024 [file_pusher.py:finish():162] shutting down file pusher +2023-02-24 12:25:10,413 INFO wandb-upload_0:14024 [upload_job.py:push():138] Uploaded file C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_122505-vzang0ae\files\config.yaml +2023-02-24 12:25:10,494 INFO wandb-upload_3:14024 [upload_job.py:push():138] Uploaded file C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_122505-vzang0ae\files\wandb-summary.json +2023-02-24 12:25:10,505 INFO wandb-upload_2:14024 [upload_job.py:push():138] Uploaded file C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_122505-vzang0ae\files\requirements.txt +2023-02-24 12:25:10,529 INFO wandb-upload_1:14024 [upload_job.py:push():138] Uploaded file C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_122505-vzang0ae\files\output.log +2023-02-24 12:25:10,745 INFO Thread-16 :14024 [sender.py:transition_state():587] send defer: 11 +2023-02-24 12:25:10,745 DEBUG HandlerThread:14024 [handler.py:handle_request():144] handle_request: defer +2023-02-24 12:25:10,745 INFO HandlerThread:14024 [handler.py:handle_request_defer():170] handle defer: 11 +2023-02-24 12:25:10,746 DEBUG SenderThread:14024 [sender.py:send_request():363] send_request: defer +2023-02-24 12:25:10,746 INFO SenderThread:14024 [sender.py:send_request_defer():583] handle sender defer: 11 +2023-02-24 12:25:10,746 INFO SenderThread:14024 [file_pusher.py:join():167] waiting for file pusher +2023-02-24 12:25:10,746 INFO SenderThread:14024 [sender.py:transition_state():587] send defer: 12 +2023-02-24 12:25:10,746 DEBUG HandlerThread:14024 [handler.py:handle_request():144] handle_request: defer +2023-02-24 12:25:10,746 INFO HandlerThread:14024 [handler.py:handle_request_defer():170] handle defer: 12 +2023-02-24 12:25:10,747 DEBUG SenderThread:14024 [sender.py:send_request():363] send_request: defer +2023-02-24 12:25:10,747 INFO SenderThread:14024 [sender.py:send_request_defer():583] handle sender defer: 12 +2023-02-24 12:25:10,884 INFO SenderThread:14024 [sender.py:transition_state():587] send defer: 13 +2023-02-24 12:25:10,885 DEBUG HandlerThread:14024 [handler.py:handle_request():144] handle_request: defer +2023-02-24 12:25:10,885 INFO HandlerThread:14024 [handler.py:handle_request_defer():170] handle defer: 13 +2023-02-24 12:25:10,885 DEBUG SenderThread:14024 [sender.py:send_request():363] send_request: defer +2023-02-24 12:25:10,885 INFO SenderThread:14024 [sender.py:send_request_defer():583] handle sender defer: 13 +2023-02-24 12:25:10,885 INFO SenderThread:14024 [sender.py:transition_state():587] send defer: 14 +2023-02-24 12:25:10,886 DEBUG HandlerThread:14024 [handler.py:handle_request():144] handle_request: defer +2023-02-24 12:25:10,886 INFO HandlerThread:14024 [handler.py:handle_request_defer():170] handle defer: 14 +2023-02-24 12:25:10,886 DEBUG SenderThread:14024 [sender.py:send():336] send: final +2023-02-24 12:25:10,886 DEBUG SenderThread:14024 [sender.py:send():336] send: footer +2023-02-24 12:25:10,887 DEBUG SenderThread:14024 [sender.py:send_request():363] send_request: defer +2023-02-24 12:25:10,887 INFO SenderThread:14024 [sender.py:send_request_defer():583] handle sender defer: 14 +2023-02-24 12:25:10,887 DEBUG HandlerThread:14024 [handler.py:handle_request():144] handle_request: poll_exit +2023-02-24 12:25:10,887 DEBUG HandlerThread:14024 [handler.py:handle_request():144] handle_request: server_info +2023-02-24 12:25:10,888 DEBUG HandlerThread:14024 [handler.py:handle_request():144] handle_request: get_summary +2023-02-24 12:25:10,888 DEBUG HandlerThread:14024 [handler.py:handle_request():144] handle_request: sampled_history +2023-02-24 12:25:10,888 DEBUG SenderThread:14024 [sender.py:send_request():363] send_request: poll_exit +2023-02-24 12:25:10,889 DEBUG SenderThread:14024 [sender.py:send_request():363] send_request: server_info +2023-02-24 12:25:11,043 INFO MainThread:14024 [wandb_run.py:_footer_history_summary_info():3442] rendering history +2023-02-24 12:25:11,043 INFO MainThread:14024 [wandb_run.py:_footer_history_summary_info():3474] rendering summary +2023-02-24 12:25:11,044 INFO MainThread:14024 [wandb_run.py:_footer_sync_info():3398] logging synced files +2023-02-24 12:25:11,044 DEBUG HandlerThread:14024 [handler.py:handle_request():144] handle_request: shutdown +2023-02-24 12:25:11,044 INFO HandlerThread:14024 [handler.py:finish():841] shutting down handler +2023-02-24 12:25:11,895 INFO WriterThread:14024 [datastore.py:close():299] close: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_122505-vzang0ae\run-vzang0ae.wandb +2023-02-24 12:25:12,051 INFO SenderThread:14024 [sender.py:finish():1493] shutting down sender +2023-02-24 12:25:12,051 INFO SenderThread:14024 [file_pusher.py:finish():162] shutting down file pusher +2023-02-24 12:25:12,052 INFO SenderThread:14024 [file_pusher.py:join():167] waiting for file pusher diff --git a/embeddings/wandb/run-20230224_122505-vzang0ae/logs/debug.log b/embeddings/wandb/run-20230224_122505-vzang0ae/logs/debug.log new file mode 100644 index 0000000000000000000000000000000000000000..13dfb562a7154e983abd9bcc18dd2b2f52579ddf --- /dev/null +++ b/embeddings/wandb/run-20230224_122505-vzang0ae/logs/debug.log @@ -0,0 +1,25 @@ +2023-02-24 12:25:05,462 INFO MainThread:76 [wandb_setup.py:_flush():68] Configure stats pid to 76 +2023-02-24 12:25:05,462 INFO MainThread:76 [wandb_setup.py:_flush():68] Loading settings from C:\Users\liamb\.config\wandb\settings +2023-02-24 12:25:05,462 INFO MainThread:76 [wandb_setup.py:_flush():68] Loading settings from C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\settings +2023-02-24 12:25:05,462 INFO MainThread:76 [wandb_setup.py:_flush():68] Loading settings from environment variables: {'_require_service': 'True'} +2023-02-24 12:25:05,462 INFO MainThread:76 [wandb_setup.py:_flush():68] Inferring run settings from compute environment: {'program_relpath': 'embeddings\\hetero_GAT.py', 'program': 'C:\\Users\\liamb\\Documents\\graph4stackoverflow\\embeddings\\hetero_GAT.py'} +2023-02-24 12:25:05,463 INFO MainThread:76 [wandb_init.py:_log_setup():492] Logging user logs to C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_122505-vzang0ae\logs\debug.log +2023-02-24 12:25:05,464 INFO MainThread:76 [wandb_init.py:_log_setup():493] Logging internal logs to C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_122505-vzang0ae\logs\debug-internal.log +2023-02-24 12:25:05,464 INFO MainThread:76 [wandb_init.py:init():532] calling init triggers +2023-02-24 12:25:05,464 INFO MainThread:76 [wandb_init.py:init():538] wandb.init called with sweep_config: {} +config: {} +2023-02-24 12:25:05,464 INFO MainThread:76 [wandb_init.py:init():588] starting backend +2023-02-24 12:25:05,464 INFO MainThread:76 [wandb_init.py:init():592] setting up manager +2023-02-24 12:25:05,467 INFO MainThread:76 [backend.py:_multiprocessing_setup():106] multiprocessing start_methods=spawn, using: spawn +2023-02-24 12:25:05,470 INFO MainThread:76 [wandb_init.py:init():599] backend started and connected +2023-02-24 12:25:05,473 INFO MainThread:76 [wandb_init.py:init():687] updated telemetry +2023-02-24 12:25:05,523 INFO MainThread:76 [wandb_init.py:init():727] communicating run to backend with 60.0 second timeout +2023-02-24 12:25:05,906 INFO MainThread:76 [wandb_run.py:_on_init():2134] communicating current version +2023-02-24 12:25:05,993 INFO MainThread:76 [wandb_run.py:_on_init():2143] got version response +2023-02-24 12:25:05,993 INFO MainThread:76 [wandb_init.py:init():775] starting run threads in backend +2023-02-24 12:25:06,150 INFO MainThread:76 [wandb_run.py:_console_start():2114] atexit reg +2023-02-24 12:25:06,151 INFO MainThread:76 [wandb_run.py:_redirect():1969] redirect: SettingsConsole.WRAP_RAW +2023-02-24 12:25:06,151 INFO MainThread:76 [wandb_run.py:_redirect():2034] Wrapping output streams. +2023-02-24 12:25:06,151 INFO MainThread:76 [wandb_run.py:_redirect():2059] Redirects installed. +2023-02-24 12:25:06,151 INFO MainThread:76 [wandb_init.py:init():817] run started, returning control to user process +2023-02-24 12:25:12,125 WARNING MsgRouterThr:76 [router.py:message_loop():77] message_loop has been closed diff --git a/embeddings/wandb/run-20230224_122505-vzang0ae/run-vzang0ae.wandb b/embeddings/wandb/run-20230224_122505-vzang0ae/run-vzang0ae.wandb new file mode 100644 index 0000000000000000000000000000000000000000..46678c2730db81014422dc3d75b85eab5923a6ec Binary files /dev/null and b/embeddings/wandb/run-20230224_122505-vzang0ae/run-vzang0ae.wandb differ diff --git a/embeddings/wandb/run-20230224_122541-r5awcwvl/files/config.yaml b/embeddings/wandb/run-20230224_122541-r5awcwvl/files/config.yaml new file mode 100644 index 0000000000000000000000000000000000000000..1b3cc3b0cd8db3e852b53bb991685caea42ab6fe --- /dev/null +++ b/embeddings/wandb/run-20230224_122541-r5awcwvl/files/config.yaml @@ -0,0 +1,40 @@ +wandb_version: 1 + +_wandb: + desc: null + value: + cli_version: 0.13.10 + framework: huggingface + huggingface_version: 4.24.0 + is_jupyter_run: false + is_kaggle_kernel: false + python_version: 3.8.1 + start_time: 1677241541.340814 + t: + 1: + - 1 + - 5 + - 11 + - 33 + - 49 + - 53 + - 55 + - 77 + 2: + - 1 + - 5 + - 11 + - 33 + - 49 + - 53 + - 55 + - 77 + 3: + - 13 + - 23 + 4: 3.8.1 + 5: 0.13.10 + 6: 4.24.0 + 8: + - 3 + - 5 diff --git a/embeddings/wandb/run-20230224_122541-r5awcwvl/files/media/table/data_1_83bbf864290b80cf8624.table.json b/embeddings/wandb/run-20230224_122541-r5awcwvl/files/media/table/data_1_83bbf864290b80cf8624.table.json new file mode 100644 index 0000000000000000000000000000000000000000..8bcfad55bae51e5e9981553433c33755fe1ea836 --- /dev/null +++ b/embeddings/wandb/run-20230224_122541-r5awcwvl/files/media/table/data_1_83bbf864290b80cf8624.table.json @@ -0,0 +1 @@ +{"columns": ["Graph", "Number of Nodes", "Number of Edges", "Label"], "data": [["Html", 5, 8, 1], ["Html", 74, 118, 1], ["Html", 3, 4, 1], ["Html", 70, 120, 1], ["Html", 41, 86, 1], ["Html", 11, 14, 1], ["Html", 17, 22, 1], ["Html", 51, 94, 1], ["Html", 58, 90, 1], ["Html", 39, 74, 1], ["Html", 74, 118, 1], ["Html", 38, 68, 1], ["Html", 4, 6, 1], ["Html", 4, 6, 1], ["Html", 84, 130, 1], ["Html", 21, 36, 1], ["Html", 18, 30, 1], ["Html", 55, 84, 1], ["Html", 74, 142, 1], ["Html", 26, 38, 1], ["Html", 3, 4, 1], ["Html", 73, 120, 1], ["Html", 34, 50, 1], ["Html", 48, 86, 1], ["Html", 62, 106, 1], ["Html", 44, 82, 1], ["Html", 10, 16, 1], ["Html", 9, 12, 1], ["Html", 52, 88, 0], ["Html", 16, 28, 1], ["Html", 70, 120, 1], ["Html", 29, 40, 1], ["Html", 78, 110, 1], ["Html", 32, 42, 1], ["Html", 46, 66, 1], ["Html", 11, 18, 1], ["Html", 75, 132, 1], ["Html", 56, 92, 1], ["Html", 45, 92, 1], ["Html", 48, 106, 1], ["Html", 41, 86, 1], ["Html", 4, 6, 1], ["Html", 26, 46, 1], ["Html", 21, 32, 1], ["Html", 61, 96, 1], ["Html", 51, 80, 1]]} \ No newline at end of file diff --git a/embeddings/wandb/run-20230224_122541-r5awcwvl/files/output.log b/embeddings/wandb/run-20230224_122541-r5awcwvl/files/output.log new file mode 100644 index 0000000000000000000000000000000000000000..3803534a84c307bfff207b75db6f1aa13da12572 --- /dev/null +++ b/embeddings/wandb/run-20230224_122541-r5awcwvl/files/output.log @@ -0,0 +1,96 @@ +INFO:heterogeneous-GAT-model:[1] Loss: 0.0003425672948360443 +Traceback (most recent call last): + File "C:\Users\liamb\Documents\graph4stackoverflow\embeddings\hetero_GAT.py", line 178, in <module> + train_acc, train_f1 = test(train_loader) + File "C:\Users\liamb\Documents\graph4stackoverflow\embeddings\hetero_GAT.py", line 109, in test + predictions.append(pred.item()) +ValueError: only one element tensors can be converted to Python scalars +BatchedHeteroDataBatch( + question_emb=[16, 1536], + answer_emb=[16, 1536], + label=[16, 1], + [1mquestion[22m={ + x=[71, 1536], + batch=[71], + ptr=[17] + }, + [1manswer[22m={ + x=[112, 1536], + batch=[112], + ptr=[17] + }, + [1mcomment[22m={ + x=[95, 768], + batch=[95], + ptr=[17] + }, + [1mtag[22m={ + x=[411, 50], + batch=[411], + ptr=[17] + }, + [1mmodule[22m={ + x=[15, 30], + batch=[15], + ptr=[17] + }, + [1m(tag, describes, question)[22m={ edge_index=[2, 161] }, + [1m(tag, describes, answer)[22m={ edge_index=[2, 233] }, + [1m(tag, describes, comment)[22m={ edge_index=[2, 189] }, + [1m(module, imported_in, question)[22m={ edge_index=[2, 3] }, + [1m(module, imported_in, answer)[22m={ edge_index=[2, 15] }, + [1m(question, rev_describes, tag)[22m={ edge_index=[2, 161] }, + [1m(answer, rev_describes, tag)[22m={ edge_index=[2, 233] }, + [1m(comment, rev_describes, tag)[22m={ edge_index=[2, 189] }, + [1m(question, rev_imported_in, module)[22m={ edge_index=[2, 3] }, + [1m(answer, rev_imported_in, module)[22m={ edge_index=[2, 15] } +) +DATA IN torch.Size([16, 1536]) torch.Size([16, 1536]) +IN torch.Size([16, 3072]) +B4 LINEAR torch.Size([16, 3392]) +BatchedHeteroDataBatch( + question_emb=[12, 1536], + answer_emb=[12, 1536], + label=[12, 1], + [1mquestion[22m={ + x=[44, 1536], + batch=[44], + ptr=[13] + }, + [1manswer[22m={ + x=[92, 1536], + batch=[92], + ptr=[13] + }, + [1mcomment[22m={ + x=[78, 768], + batch=[78], + ptr=[13] + }, + [1mtag[22m={ + x=[320, 50], + batch=[320], + ptr=[13] + }, + [1mmodule[22m={ + x=[13, 30], + batch=[13], + ptr=[13] + }, + [1m(tag, describes, question)[22m={ edge_index=[2, 91] }, + [1m(tag, describes, answer)[22m={ edge_index=[2, 188] }, + [1m(tag, describes, comment)[22m={ edge_index=[2, 162] }, + [1m(module, imported_in, question)[22m={ edge_index=[2, 0] }, + [1m(module, imported_in, answer)[22m={ edge_index=[2, 16] }, + [1m(question, rev_describes, tag)[22m={ edge_index=[2, 91] }, + [1m(answer, rev_describes, tag)[22m={ edge_index=[2, 188] }, + [1m(comment, rev_describes, tag)[22m={ edge_index=[2, 162] }, + [1m(question, rev_imported_in, module)[22m={ edge_index=[2, 0] }, + [1m(answer, rev_imported_in, module)[22m={ edge_index=[2, 16] } +) +DATA IN torch.Size([12, 1536]) torch.Size([12, 1536]) +IN torch.Size([12, 3072]) +B4 LINEAR torch.Size([12, 3392]) +IN torch.Size([16, 3072]) +B4 LINEAR torch.Size([16, 3392]) +torch.Size([16, 2]) torch.Size([16, 1]) \ No newline at end of file diff --git a/embeddings/wandb/run-20230224_122541-r5awcwvl/files/requirements.txt b/embeddings/wandb/run-20230224_122541-r5awcwvl/files/requirements.txt new file mode 100644 index 0000000000000000000000000000000000000000..d7de821539624662109e252a91c4907a963ad5fb --- /dev/null +++ b/embeddings/wandb/run-20230224_122541-r5awcwvl/files/requirements.txt @@ -0,0 +1,170 @@ +absl-py==1.3.0 +anyio==3.6.2 +appdirs==1.4.4 +argon2-cffi-bindings==21.2.0 +argon2-cffi==21.3.0 +asttokens==2.1.0 +astunparse==1.6.3 +attrs==22.1.0 +backcall==0.2.0 +beautifulsoup4==4.11.1 +bleach==5.0.1 +blis==0.7.9 +bs4==0.0.1 +cachetools==5.2.0 +catalogue==2.0.8 +certifi==2022.9.24 +cffi==1.15.1 +charset-normalizer==2.1.1 +click==8.1.3 +colorama==0.4.6 +confection==0.0.3 +contourpy==1.0.6 +cycler==0.11.0 +cymem==2.0.7 +debugpy==1.6.3 +decorator==5.1.1 +defusedxml==0.7.1 +dgl==0.9.1 +docker-pycreds==0.4.0 +en-core-web-sm==3.4.1 +entrypoints==0.4 +executing==1.2.0 +fastjsonschema==2.16.2 +filelock==3.8.0 +fonttools==4.38.0 +gitdb==4.0.10 +gitpython==3.1.31 +google-auth-oauthlib==0.4.6 +google-auth==2.14.0 +graph4nlp==0.5.5 +grpcio==1.50.0 +huggingface-hub==0.10.1 +idna==3.4 +importlib-metadata==5.0.0 +importlib-resources==5.10.0 +ipykernel==6.16.2 +ipython-genutils==0.2.0 +ipython==8.6.0 +ipywidgets==8.0.2 +jedi==0.18.1 +jinja2==3.1.2 +joblib==1.2.0 +jsonschema==4.16.0 +jupyter-client==7.4.4 +jupyter-console==6.4.4 +jupyter-core==4.11.2 +jupyter-server==1.21.0 +jupyter==1.0.0 +jupyterlab-pygments==0.2.2 +jupyterlab-widgets==3.0.3 +kiwisolver==1.4.4 +langcodes==3.3.0 +littleutils==0.2.2 +lxml==4.9.1 +markdown==3.4.1 +markupsafe==2.1.1 +matplotlib-inline==0.1.6 +matplotlib==3.6.2 +mistune==2.0.4 +murmurhash==1.0.9 +nbclassic==0.4.7 +nbclient==0.7.0 +nbconvert==7.2.3 +nbformat==5.7.0 +nest-asyncio==1.5.6 +networkx==2.8.8 +nltk==3.7 +notebook-shim==0.2.0 +notebook==6.5.2 +numpy==1.23.5 +oauthlib==3.2.2 +ogb==1.3.5 +outdated==0.2.2 +packaging==21.3 +pandas==1.5.1 +pandocfilters==1.5.0 +parso==0.8.3 +pathtools==0.1.2 +pathy==0.6.2 +pickleshare==0.7.5 +pillow==9.3.0 +pip==21.3.1 +pkgutil-resolve-name==1.3.10 +plotly==5.13.0 +preshed==3.0.8 +prometheus-client==0.15.0 +prompt-toolkit==3.0.31 +protobuf==3.19.6 +psutil==5.9.3 +pure-eval==0.2.2 +pyasn1-modules==0.2.8 +pyasn1==0.4.8 +pycparser==2.21 +pydantic==1.10.2 +pygments==2.13.0 +pyparsing==3.0.9 +pyrsistent==0.18.1 +python-dateutil==2.8.2 +pythonds==1.2.1 +pytz==2022.5 +pywin32==304 +pywinpty==2.0.9 +pyyaml==6.0 +pyzmq==24.0.1 +qtconsole==5.3.2 +qtpy==2.2.1 +regex==2022.10.31 +requests-oauthlib==1.3.1 +requests==2.28.1 +rsa==4.9 +scikit-learn==1.1.3 +scipy==1.9.3 +send2trash==1.8.0 +sentry-sdk==1.15.0 +setproctitle==1.3.2 +setuptools==60.2.0 +six==1.16.0 +smart-open==5.2.1 +smmap==5.0.0 +sniffio==1.3.0 +soupsieve==2.3.2.post1 +spacy-legacy==3.0.10 +spacy-loggers==1.0.3 +spacy==3.4.2 +srsly==2.4.5 +stack-data==0.6.0 +stanfordcorenlp==3.9.1.1 +tenacity==8.2.1 +tensorboard-data-server==0.6.1 +tensorboard-plugin-wit==1.8.1 +tensorboard==2.10.1 +terminado==0.17.0 +thinc==8.1.5 +threadpoolctl==3.1.0 +tinycss2==1.2.1 +tokenizers==0.13.2 +torch-cluster==1.6.0+pt113cpu +torch-geometric==2.2.0 +torch-scatter==2.1.0+pt113cpu +torch-sparse==0.6.16+pt113cpu +torch-spline-conv==1.2.1+pt113cpu +torch==1.13.0 +torchsummary==1.5.1 +torchtext==0.14.0 +tornado==6.2 +tqdm==4.64.1 +traitlets==5.5.0 +transformers==4.24.0 +typer==0.4.2 +typing-extensions==4.4.0 +urllib3==1.26.12 +wandb==0.13.10 +wasabi==0.10.1 +wcwidth==0.2.5 +webencodings==0.5.1 +websocket-client==1.4.1 +werkzeug==2.2.2 +wheel==0.37.1 +widgetsnbextension==4.0.3 +zipp==3.10.0 \ No newline at end of file diff --git a/embeddings/wandb/run-20230224_122541-r5awcwvl/files/wandb-metadata.json b/embeddings/wandb/run-20230224_122541-r5awcwvl/files/wandb-metadata.json new file mode 100644 index 0000000000000000000000000000000000000000..700df73794899da50412472b88364211ed891631 --- /dev/null +++ b/embeddings/wandb/run-20230224_122541-r5awcwvl/files/wandb-metadata.json @@ -0,0 +1,42 @@ +{ + "os": "Windows-10-10.0.19041-SP0", + "python": "3.8.1", + "heartbeatAt": "2023-02-24T12:25:41.860506", + "startedAt": "2023-02-24T12:25:41.326807", + "docker": null, + "cuda": null, + "args": [], + "state": "running", + "program": "C:\\Users\\liamb\\Documents\\graph4stackoverflow\\embeddings\\hetero_GAT.py", + "codePath": "embeddings\\hetero_GAT.py", + "git": { + "remote": "https://git.soton.ac.uk/lhb1g20/graph4stackoverflow.git", + "commit": "ced992d661984f7b87d1a3e76768e4ff7af78245" + }, + "email": "liambyrneh@gmail.com", + "root": "C:/Users/liamb/Documents/graph4stackoverflow", + "host": "DESKTOP-P7BETFF", + "username": "liamb", + "executable": "C:\\Users\\liamb\\Documents\\graph4stackoverflow\\venv\\Scripts\\python.exe", + "cpu_count": 2, + "cpu_count_logical": 4, + "cpu_freq": { + "current": 3504.0, + "min": 0.0, + "max": 3504.0 + }, + "cpu_freq_per_core": [ + { + "current": 3504.0, + "min": 0.0, + "max": 3504.0 + } + ], + "disk": { + "total": 475.71581649780273, + "used": 352.4544334411621 + }, + "memory": { + "total": 31.89160919189453 + } +} diff --git a/embeddings/wandb/run-20230224_122541-r5awcwvl/files/wandb-summary.json b/embeddings/wandb/run-20230224_122541-r5awcwvl/files/wandb-summary.json new file mode 100644 index 0000000000000000000000000000000000000000..c1328a5d1bda418490113d2af9bd568e657e5751 --- /dev/null +++ b/embeddings/wandb/run-20230224_122541-r5awcwvl/files/wandb-summary.json @@ -0,0 +1 @@ +{"num_node_features": {"question": 1536, "answer": 1536, "comment": 768, "tag": 50, "module": 30}, "num_classes": 2, "_timestamp": 1677241552.527189, "_runtime": 11.18637490272522, "_step": 1, "data": {"_type": "table-file", "sha256": "83bbf864290b80cf8624948cb39add689e6cf983395c372d7f2e0d6c0428060e", "size": 1043, "artifact_path": "wandb-client-artifact://uchw2xvmz44ryvojr0bgzm9uj81jwwtphlh7ebm09nj1k1b4ztsjsta2j2ivf9bqiqbbimjel2nmcqs784cj19f56jpz73hybzvu2temv8atj5gk0hx47p6z55l7lcd0:latest/data.table.json", "_latest_artifact_path": "wandb-client-artifact://uchw2xvmz44ryvojr0bgzm9uj81jwwtphlh7ebm09nj1k1b4ztsjsta2j2ivf9bqiqbbimjel2nmcqs784cj19f56jpz73hybzvu2temv8atj5gk0hx47p6z55l7lcd0:latest/data.table.json", "path": "media/table/data_1_83bbf864290b80cf8624.table.json", "ncols": 4, "nrows": 46}, "_wandb": {"runtime": 11}} \ No newline at end of file diff --git a/embeddings/wandb/run-20230224_122541-r5awcwvl/logs/debug-internal.log b/embeddings/wandb/run-20230224_122541-r5awcwvl/logs/debug-internal.log new file mode 100644 index 0000000000000000000000000000000000000000..14989e0e899e29622b432410d548da7b162156dc --- /dev/null +++ b/embeddings/wandb/run-20230224_122541-r5awcwvl/logs/debug-internal.log @@ -0,0 +1,245 @@ +2023-02-24 12:25:41,340 INFO StreamThr :10624 [internal.py:wandb_internal():87] W&B internal server running at pid: 10624, started at: 2023-02-24 12:25:41.339805 +2023-02-24 12:25:41,342 DEBUG HandlerThread:10624 [handler.py:handle_request():144] handle_request: status +2023-02-24 12:25:41,344 INFO WriterThread:10624 [datastore.py:open_for_write():85] open: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_122541-r5awcwvl\run-r5awcwvl.wandb +2023-02-24 12:25:41,347 DEBUG SenderThread:10624 [sender.py:send():336] send: header +2023-02-24 12:25:41,392 DEBUG SenderThread:10624 [sender.py:send():336] send: run +2023-02-24 12:25:41,765 INFO SenderThread:10624 [dir_watcher.py:__init__():216] watching files in: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_122541-r5awcwvl\files +2023-02-24 12:25:41,765 INFO SenderThread:10624 [sender.py:_start_run_threads():1067] run started: r5awcwvl with start time 1677241541.340814 +2023-02-24 12:25:41,765 DEBUG SenderThread:10624 [sender.py:send_request():363] send_request: summary_record +2023-02-24 12:25:41,766 DEBUG HandlerThread:10624 [handler.py:handle_request():144] handle_request: check_version +2023-02-24 12:25:41,766 INFO SenderThread:10624 [sender.py:_save_file():1321] saving file wandb-summary.json with policy end +2023-02-24 12:25:41,767 DEBUG SenderThread:10624 [sender.py:send_request():363] send_request: check_version +2023-02-24 12:25:41,841 DEBUG HandlerThread:10624 [handler.py:handle_request():144] handle_request: run_start +2023-02-24 12:25:41,859 DEBUG HandlerThread:10624 [system_info.py:__init__():31] System info init +2023-02-24 12:25:41,859 DEBUG HandlerThread:10624 [system_info.py:__init__():46] System info init done +2023-02-24 12:25:41,859 INFO HandlerThread:10624 [system_monitor.py:start():151] Starting system monitor +2023-02-24 12:25:41,860 INFO SystemMonitor:10624 [system_monitor.py:_start():116] Starting system asset monitoring threads +2023-02-24 12:25:41,860 INFO HandlerThread:10624 [system_monitor.py:probe():172] Collecting system info +2023-02-24 12:25:41,860 DEBUG HandlerThread:10624 [system_info.py:probe():195] Probing system +2023-02-24 12:25:41,863 INFO SystemMonitor:10624 [interfaces.py:start():168] Started cpu +2023-02-24 12:25:41,864 INFO SystemMonitor:10624 [interfaces.py:start():168] Started disk +2023-02-24 12:25:41,864 INFO SystemMonitor:10624 [interfaces.py:start():168] Started memory +2023-02-24 12:25:41,881 INFO SystemMonitor:10624 [interfaces.py:start():168] Started network +2023-02-24 12:25:41,882 DEBUG HandlerThread:10624 [system_info.py:_probe_git():180] Probing git +2023-02-24 12:25:41,976 DEBUG HandlerThread:10624 [system_info.py:_probe_git():188] Probing git done +2023-02-24 12:25:41,976 DEBUG HandlerThread:10624 [system_info.py:probe():241] Probing system done +2023-02-24 12:25:41,977 DEBUG HandlerThread:10624 [system_monitor.py:probe():181] {'os': 'Windows-10-10.0.19041-SP0', 'python': '3.8.1', 'heartbeatAt': '2023-02-24T12:25:41.860506', 'startedAt': '2023-02-24T12:25:41.326807', 'docker': None, 'cuda': None, 'args': (), 'state': 'running', 'program': 'C:\\Users\\liamb\\Documents\\graph4stackoverflow\\embeddings\\hetero_GAT.py', 'codePath': 'embeddings\\hetero_GAT.py', 'git': {'remote': 'https://git.soton.ac.uk/lhb1g20/graph4stackoverflow.git', 'commit': 'ced992d661984f7b87d1a3e76768e4ff7af78245'}, 'email': 'liambyrneh@gmail.com', 'root': 'C:/Users/liamb/Documents/graph4stackoverflow', 'host': 'DESKTOP-P7BETFF', 'username': 'liamb', 'executable': 'C:\\Users\\liamb\\Documents\\graph4stackoverflow\\venv\\Scripts\\python.exe', 'cpu_count': 2, 'cpu_count_logical': 4, 'cpu_freq': {'current': 3504.0, 'min': 0.0, 'max': 3504.0}, 'cpu_freq_per_core': [{'current': 3504.0, 'min': 0.0, 'max': 3504.0}], 'disk': {'total': 475.71581649780273, 'used': 352.4544334411621}, 'memory': {'total': 31.89160919189453}} +2023-02-24 12:25:41,977 INFO HandlerThread:10624 [system_monitor.py:probe():182] Finished collecting system info +2023-02-24 12:25:41,977 INFO HandlerThread:10624 [system_monitor.py:probe():185] Publishing system info +2023-02-24 12:25:41,977 DEBUG HandlerThread:10624 [system_info.py:_save_pip():51] Saving list of pip packages installed into the current environment +2023-02-24 12:25:41,978 DEBUG HandlerThread:10624 [system_info.py:_save_pip():67] Saving pip packages done +2023-02-24 12:25:41,979 INFO HandlerThread:10624 [system_monitor.py:probe():187] Finished publishing system info +2023-02-24 12:25:41,988 DEBUG SenderThread:10624 [sender.py:send():336] send: files +2023-02-24 12:25:41,988 INFO SenderThread:10624 [sender.py:_save_file():1321] saving file wandb-metadata.json with policy now +2023-02-24 12:25:41,996 DEBUG HandlerThread:10624 [handler.py:handle_request():144] handle_request: stop_status +2023-02-24 12:25:41,996 DEBUG SenderThread:10624 [sender.py:send_request():363] send_request: stop_status +2023-02-24 12:25:41,998 DEBUG HandlerThread:10624 [handler.py:handle_request():144] handle_request: partial_history +2023-02-24 12:25:42,155 DEBUG SenderThread:10624 [sender.py:send():336] send: telemetry +2023-02-24 12:25:42,155 DEBUG SenderThread:10624 [sender.py:send():336] send: history +2023-02-24 12:25:42,156 DEBUG SenderThread:10624 [sender.py:send_request():363] send_request: summary_record +2023-02-24 12:25:42,157 INFO SenderThread:10624 [sender.py:_save_file():1321] saving file wandb-summary.json with policy end +2023-02-24 12:25:42,544 INFO wandb-upload_0:10624 [upload_job.py:push():138] Uploaded file C:\Users\liamb\AppData\Local\Temp\tmpx0_ma21cwandb\es672i4v-wandb-metadata.json +2023-02-24 12:25:42,776 INFO Thread-17 :10624 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_122541-r5awcwvl\files\requirements.txt +2023-02-24 12:25:42,776 INFO Thread-17 :10624 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_122541-r5awcwvl\files\wandb-summary.json +2023-02-24 12:25:42,776 INFO Thread-17 :10624 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_122541-r5awcwvl\files\wandb-metadata.json +2023-02-24 12:25:47,209 DEBUG HandlerThread:10624 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 12:25:52,180 DEBUG HandlerThread:10624 [handler.py:handle_request():144] handle_request: log_artifact +2023-02-24 12:25:52,180 DEBUG SenderThread:10624 [sender.py:send_request():363] send_request: log_artifact +2023-02-24 12:25:52,527 DEBUG HandlerThread:10624 [handler.py:handle_request():144] handle_request: partial_history +2023-02-24 12:25:52,877 INFO Thread-17 :10624 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_122541-r5awcwvl\files\media\table\data_1_83bbf864290b80cf8624.table.json +2023-02-24 12:25:52,877 INFO Thread-17 :10624 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_122541-r5awcwvl\files\media\table +2023-02-24 12:25:52,878 INFO Thread-17 :10624 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_122541-r5awcwvl\files\media +2023-02-24 12:25:53,976 DEBUG HandlerThread:10624 [handler.py:handle_request():144] handle_request: poll_exit +2023-02-24 12:25:55,697 INFO wandb-upload_0:10624 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpgbvzuefw +2023-02-24 12:25:59,046 DEBUG HandlerThread:10624 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 12:26:04,111 DEBUG HandlerThread:10624 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 12:26:05,366 INFO wandb-upload_7:10624 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpro0eeng5 +2023-02-24 12:26:05,489 INFO wandb-upload_42:10624 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmp3zq19boc +2023-02-24 12:26:05,490 INFO wandb-upload_2:10624 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpk4g5655s +2023-02-24 12:26:05,501 INFO wandb-upload_5:10624 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmplcnjybx8 +2023-02-24 12:26:05,914 INFO wandb-upload_1:10624 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmp9gutobd8 +2023-02-24 12:26:05,968 INFO wandb-upload_28:10624 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpbkaeg0_9 +2023-02-24 12:26:06,016 INFO wandb-upload_6:10624 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpm0bnwv_z +2023-02-24 12:26:06,065 INFO wandb-upload_4:10624 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpr7lrety9 +2023-02-24 12:26:06,182 INFO wandb-upload_30:10624 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpfquzxan6 +2023-02-24 12:26:06,395 INFO wandb-upload_40:10624 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmptrkv61wz +2023-02-24 12:26:06,656 INFO wandb-upload_3:10624 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpez6furnz +2023-02-24 12:26:06,657 INFO wandb-upload_18:10624 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpp31_jcw7 +2023-02-24 12:26:06,660 INFO wandb-upload_36:10624 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpyobqk2a5 +2023-02-24 12:26:06,917 INFO wandb-upload_38:10624 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpabz6iuyy +2023-02-24 12:26:07,112 INFO wandb-upload_39:10624 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmptj641v26 +2023-02-24 12:26:07,113 INFO wandb-upload_22:10624 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpir5ivv2p +2023-02-24 12:26:07,113 INFO wandb-upload_10:10624 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmp33739db2 +2023-02-24 12:26:07,139 INFO wandb-upload_15:10624 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpw22gp7jp +2023-02-24 12:26:07,160 INFO wandb-upload_19:10624 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmp4111id4j +2023-02-24 12:26:07,321 INFO wandb-upload_35:10624 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpnansk5lr +2023-02-24 12:26:07,514 INFO wandb-upload_25:10624 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmp577g3lwo +2023-02-24 12:26:07,534 INFO wandb-upload_26:10624 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpwie_n9vt +2023-02-24 12:26:07,706 INFO wandb-upload_23:10624 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpx6od1rp6 +2023-02-24 12:26:07,825 INFO wandb-upload_41:10624 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpgltuj4_p +2023-02-24 12:26:08,101 INFO wandb-upload_12:10624 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmp5vgw6vz0 +2023-02-24 12:26:08,103 INFO wandb-upload_21:10624 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpo1w9afto +2023-02-24 12:26:08,116 INFO wandb-upload_29:10624 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmp_4b68qx1 +2023-02-24 12:26:08,156 INFO wandb-upload_9:10624 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmp2ogi8f72 +2023-02-24 12:26:08,208 INFO wandb-upload_32:10624 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpvxtxojmy +2023-02-24 12:26:08,209 INFO wandb-upload_33:10624 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmp1sb5tski +2023-02-24 12:26:08,230 INFO wandb-upload_45:10624 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpje5cmg83 +2023-02-24 12:26:08,293 INFO wandb-upload_31:10624 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpa7_dee8c +2023-02-24 12:26:08,336 INFO wandb-upload_37:10624 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpy43ulfxz +2023-02-24 12:26:08,346 INFO wandb-upload_20:10624 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpr2pbjs9_ +2023-02-24 12:26:08,584 INFO wandb-upload_34:10624 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpbf9uleqq +2023-02-24 12:26:08,805 INFO wandb-upload_24:10624 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmps4ywbii2 +2023-02-24 12:26:08,808 INFO wandb-upload_14:10624 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpjq9pn5y6 +2023-02-24 12:26:08,830 INFO wandb-upload_46:10624 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpgypu7xtf +2023-02-24 12:26:08,831 INFO wandb-upload_44:10624 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpzltf8p84 +2023-02-24 12:26:09,152 DEBUG HandlerThread:10624 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 12:26:09,276 INFO wandb-upload_17:10624 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpt50x959w +2023-02-24 12:26:09,542 INFO wandb-upload_27:10624 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmppfxw9t9_ +2023-02-24 12:26:09,711 INFO wandb-upload_43:10624 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpff_0y2k_ +2023-02-24 12:26:09,738 INFO wandb-upload_13:10624 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmp_h83q1r3 +2023-02-24 12:26:09,831 INFO wandb-upload_11:10624 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmp5ktaz2zh +2023-02-24 12:26:09,904 INFO wandb-upload_16:10624 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmp971inhi9 +2023-02-24 12:26:10,615 INFO wandb-upload_8:10624 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpjxoa8fay +2023-02-24 12:26:11,549 INFO SenderThread:10624 [sender.py:send_request_log_artifact():1381] logged artifact run-r5awcwvl-data - {'id': 'QXJ0aWZhY3Q6MzgwMzk2Nzgy', 'digest': '9803377c226c41131b87c6dcbe727e42', 'state': 'PENDING', 'aliases': [], 'artifactSequence': {'id': 'QXJ0aWZhY3RDb2xsZWN0aW9uOjU0NTkyNTE5', 'latestArtifact': None}, 'version': 'latest'} +2023-02-24 12:26:11,554 DEBUG HandlerThread:10624 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 12:26:11,730 DEBUG SenderThread:10624 [sender.py:send():336] send: files +2023-02-24 12:26:11,730 INFO SenderThread:10624 [sender.py:_save_file():1321] saving file media\table\data_1_83bbf864290b80cf8624.table.json with policy now +2023-02-24 12:26:11,731 DEBUG SenderThread:10624 [sender.py:send():336] send: history +2023-02-24 12:26:11,731 DEBUG SenderThread:10624 [sender.py:send_request():363] send_request: summary_record +2023-02-24 12:26:11,734 INFO SenderThread:10624 [sender.py:_save_file():1321] saving file wandb-summary.json with policy end +2023-02-24 12:26:11,738 DEBUG SenderThread:10624 [sender.py:send():336] send: exit +2023-02-24 12:26:11,738 INFO SenderThread:10624 [sender.py:send_exit():559] handling exit code: 1 +2023-02-24 12:26:11,738 INFO SenderThread:10624 [sender.py:send_exit():561] handling runtime: 11 +2023-02-24 12:26:11,741 INFO SenderThread:10624 [sender.py:_save_file():1321] saving file wandb-summary.json with policy end +2023-02-24 12:26:11,741 INFO SenderThread:10624 [sender.py:send_exit():567] send defer +2023-02-24 12:26:11,742 DEBUG SenderThread:10624 [sender.py:send_request():363] send_request: poll_exit +2023-02-24 12:26:11,742 DEBUG HandlerThread:10624 [handler.py:handle_request():144] handle_request: defer +2023-02-24 12:26:11,742 INFO HandlerThread:10624 [handler.py:handle_request_defer():170] handle defer: 0 +2023-02-24 12:26:11,743 DEBUG SenderThread:10624 [sender.py:send_request():363] send_request: defer +2023-02-24 12:26:11,743 INFO SenderThread:10624 [sender.py:send_request_defer():583] handle sender defer: 0 +2023-02-24 12:26:11,743 INFO SenderThread:10624 [sender.py:transition_state():587] send defer: 1 +2023-02-24 12:26:11,743 DEBUG HandlerThread:10624 [handler.py:handle_request():144] handle_request: defer +2023-02-24 12:26:11,743 INFO HandlerThread:10624 [handler.py:handle_request_defer():170] handle defer: 1 +2023-02-24 12:26:11,743 DEBUG SenderThread:10624 [sender.py:send_request():363] send_request: defer +2023-02-24 12:26:11,744 INFO SenderThread:10624 [sender.py:send_request_defer():583] handle sender defer: 1 +2023-02-24 12:26:11,744 INFO SenderThread:10624 [sender.py:transition_state():587] send defer: 2 +2023-02-24 12:26:11,744 DEBUG HandlerThread:10624 [handler.py:handle_request():144] handle_request: defer +2023-02-24 12:26:11,744 INFO HandlerThread:10624 [handler.py:handle_request_defer():170] handle defer: 2 +2023-02-24 12:26:11,744 INFO HandlerThread:10624 [system_monitor.py:finish():161] Stopping system monitor +2023-02-24 12:26:11,744 DEBUG SystemMonitor:10624 [system_monitor.py:_start():130] Starting system metrics aggregation loop +2023-02-24 12:26:11,745 DEBUG SystemMonitor:10624 [system_monitor.py:_start():137] Finished system metrics aggregation loop +2023-02-24 12:26:11,745 DEBUG SystemMonitor:10624 [system_monitor.py:_start():141] Publishing last batch of metrics +2023-02-24 12:26:11,746 INFO HandlerThread:10624 [interfaces.py:finish():175] Joined cpu +2023-02-24 12:26:11,746 INFO HandlerThread:10624 [interfaces.py:finish():175] Joined disk +2023-02-24 12:26:11,746 INFO HandlerThread:10624 [interfaces.py:finish():175] Joined memory +2023-02-24 12:26:11,746 INFO HandlerThread:10624 [interfaces.py:finish():175] Joined network +2023-02-24 12:26:11,746 DEBUG SenderThread:10624 [sender.py:send_request():363] send_request: defer +2023-02-24 12:26:11,746 INFO SenderThread:10624 [sender.py:send_request_defer():583] handle sender defer: 2 +2023-02-24 12:26:11,747 INFO SenderThread:10624 [sender.py:transition_state():587] send defer: 3 +2023-02-24 12:26:11,747 DEBUG SenderThread:10624 [sender.py:send():336] send: stats +2023-02-24 12:26:11,747 DEBUG HandlerThread:10624 [handler.py:handle_request():144] handle_request: defer +2023-02-24 12:26:11,747 INFO HandlerThread:10624 [handler.py:handle_request_defer():170] handle defer: 3 +2023-02-24 12:26:11,747 DEBUG SenderThread:10624 [sender.py:send_request():363] send_request: defer +2023-02-24 12:26:11,747 INFO SenderThread:10624 [sender.py:send_request_defer():583] handle sender defer: 3 +2023-02-24 12:26:11,747 INFO SenderThread:10624 [sender.py:transition_state():587] send defer: 4 +2023-02-24 12:26:11,748 DEBUG HandlerThread:10624 [handler.py:handle_request():144] handle_request: defer +2023-02-24 12:26:11,748 INFO HandlerThread:10624 [handler.py:handle_request_defer():170] handle defer: 4 +2023-02-24 12:26:11,748 DEBUG SenderThread:10624 [sender.py:send_request():363] send_request: defer +2023-02-24 12:26:11,748 INFO SenderThread:10624 [sender.py:send_request_defer():583] handle sender defer: 4 +2023-02-24 12:26:11,748 INFO SenderThread:10624 [sender.py:transition_state():587] send defer: 5 +2023-02-24 12:26:11,748 DEBUG HandlerThread:10624 [handler.py:handle_request():144] handle_request: defer +2023-02-24 12:26:11,748 INFO HandlerThread:10624 [handler.py:handle_request_defer():170] handle defer: 5 +2023-02-24 12:26:11,749 DEBUG SenderThread:10624 [sender.py:send():336] send: summary +2023-02-24 12:26:11,750 INFO SenderThread:10624 [sender.py:_save_file():1321] saving file wandb-summary.json with policy end +2023-02-24 12:26:11,750 DEBUG SenderThread:10624 [sender.py:send_request():363] send_request: defer +2023-02-24 12:26:11,751 INFO SenderThread:10624 [sender.py:send_request_defer():583] handle sender defer: 5 +2023-02-24 12:26:11,751 INFO SenderThread:10624 [sender.py:transition_state():587] send defer: 6 +2023-02-24 12:26:11,751 DEBUG HandlerThread:10624 [handler.py:handle_request():144] handle_request: defer +2023-02-24 12:26:11,751 INFO HandlerThread:10624 [handler.py:handle_request_defer():170] handle defer: 6 +2023-02-24 12:26:11,751 DEBUG SenderThread:10624 [sender.py:send_request():363] send_request: defer +2023-02-24 12:26:11,751 INFO SenderThread:10624 [sender.py:send_request_defer():583] handle sender defer: 6 +2023-02-24 12:26:11,751 INFO SenderThread:10624 [sender.py:transition_state():587] send defer: 7 +2023-02-24 12:26:11,751 DEBUG HandlerThread:10624 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 12:26:11,751 DEBUG HandlerThread:10624 [handler.py:handle_request():144] handle_request: defer +2023-02-24 12:26:11,752 INFO HandlerThread:10624 [handler.py:handle_request_defer():170] handle defer: 7 +2023-02-24 12:26:11,752 DEBUG SenderThread:10624 [sender.py:send_request():363] send_request: defer +2023-02-24 12:26:11,752 INFO SenderThread:10624 [sender.py:send_request_defer():583] handle sender defer: 7 +2023-02-24 12:26:12,172 INFO Thread-17 :10624 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_122541-r5awcwvl\files\config.yaml +2023-02-24 12:26:12,173 INFO Thread-17 :10624 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_122541-r5awcwvl\files\wandb-summary.json +2023-02-24 12:26:12,174 INFO Thread-17 :10624 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_122541-r5awcwvl\files\output.log +2023-02-24 12:26:12,238 INFO wandb-upload_0:10624 [upload_job.py:push():138] Uploaded file C:\Users\liamb\AppData\Local\Temp\tmpx0_ma21cwandb\tb0gxoit-media/table/data_1_83bbf864290b80cf8624.table.json +2023-02-24 12:26:14,184 DEBUG HandlerThread:10624 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 12:26:14,185 INFO Thread-17 :10624 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_122541-r5awcwvl\files\output.log +2023-02-24 12:26:15,759 INFO SenderThread:10624 [sender.py:transition_state():587] send defer: 8 +2023-02-24 12:26:15,760 DEBUG HandlerThread:10624 [handler.py:handle_request():144] handle_request: defer +2023-02-24 12:26:15,760 INFO HandlerThread:10624 [handler.py:handle_request_defer():170] handle defer: 8 +2023-02-24 12:26:15,760 DEBUG SenderThread:10624 [sender.py:send_request():363] send_request: defer +2023-02-24 12:26:15,760 INFO SenderThread:10624 [sender.py:send_request_defer():583] handle sender defer: 8 +2023-02-24 12:26:15,775 INFO SenderThread:10624 [sender.py:transition_state():587] send defer: 9 +2023-02-24 12:26:15,776 DEBUG HandlerThread:10624 [handler.py:handle_request():144] handle_request: defer +2023-02-24 12:26:15,776 DEBUG SenderThread:10624 [sender.py:send():336] send: artifact +2023-02-24 12:26:15,776 INFO HandlerThread:10624 [handler.py:handle_request_defer():170] handle defer: 9 +2023-02-24 12:26:16,210 INFO Thread-17 :10624 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_122541-r5awcwvl\files\output.log +2023-02-24 12:26:18,337 INFO wandb-upload_42:10624 [upload_job.py:push():93] Skipped uploading C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmp4yebe3jo +2023-02-24 12:26:18,616 INFO wandb-upload_2:10624 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpw48cjxq_ +2023-02-24 12:26:19,235 DEBUG HandlerThread:10624 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 12:26:20,291 INFO SenderThread:10624 [sender.py:send_artifact():1417] sent artifact job-https___git.soton.ac.uk_lhb1g20_graph4stackoverflow.git_embeddings_hetero_GAT.py - {'id': 'QXJ0aWZhY3Q6MzgwMzk2OTM0', 'digest': '8077f65decb82fd65dc9936bbf393b39', 'state': 'PENDING', 'aliases': [], 'artifactSequence': {'id': 'QXJ0aWZhY3RDb2xsZWN0aW9uOjU0NTg3MzU0', 'latestArtifact': {'id': 'QXJ0aWZhY3Q6MzgwMzgzODYx', 'versionIndex': 1}}, 'version': 'latest'} +2023-02-24 12:26:20,291 DEBUG SenderThread:10624 [sender.py:send_request():363] send_request: defer +2023-02-24 12:26:20,291 INFO SenderThread:10624 [sender.py:send_request_defer():583] handle sender defer: 9 +2023-02-24 12:26:20,292 INFO SenderThread:10624 [dir_watcher.py:finish():362] shutting down directory watcher +2023-02-24 12:26:20,292 DEBUG HandlerThread:10624 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 12:26:21,261 INFO SenderThread:10624 [dir_watcher.py:finish():392] scan: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_122541-r5awcwvl\files +2023-02-24 12:26:21,261 INFO SenderThread:10624 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_122541-r5awcwvl\files\config.yaml config.yaml +2023-02-24 12:26:21,262 INFO SenderThread:10624 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_122541-r5awcwvl\files\output.log output.log +2023-02-24 12:26:21,262 INFO SenderThread:10624 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_122541-r5awcwvl\files\requirements.txt requirements.txt +2023-02-24 12:26:21,269 INFO SenderThread:10624 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_122541-r5awcwvl\files\wandb-metadata.json wandb-metadata.json +2023-02-24 12:26:21,269 INFO SenderThread:10624 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_122541-r5awcwvl\files\wandb-summary.json wandb-summary.json +2023-02-24 12:26:21,276 INFO SenderThread:10624 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_122541-r5awcwvl\files\media\table\data_1_83bbf864290b80cf8624.table.json media\table\data_1_83bbf864290b80cf8624.table.json +2023-02-24 12:26:21,277 INFO SenderThread:10624 [sender.py:transition_state():587] send defer: 10 +2023-02-24 12:26:21,277 DEBUG HandlerThread:10624 [handler.py:handle_request():144] handle_request: defer +2023-02-24 12:26:21,277 INFO HandlerThread:10624 [handler.py:handle_request_defer():170] handle defer: 10 +2023-02-24 12:26:21,277 DEBUG SenderThread:10624 [sender.py:send_request():363] send_request: defer +2023-02-24 12:26:21,278 INFO SenderThread:10624 [sender.py:send_request_defer():583] handle sender defer: 10 +2023-02-24 12:26:21,278 INFO SenderThread:10624 [file_pusher.py:finish():162] shutting down file pusher +2023-02-24 12:26:21,771 INFO wandb-upload_3:10624 [upload_job.py:push():138] Uploaded file C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_122541-r5awcwvl\files\wandb-summary.json +2023-02-24 12:26:21,800 INFO wandb-upload_30:10624 [upload_job.py:push():138] Uploaded file C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_122541-r5awcwvl\files\requirements.txt +2023-02-24 12:26:21,801 INFO wandb-upload_1:10624 [upload_job.py:push():138] Uploaded file C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_122541-r5awcwvl\files\config.yaml +2023-02-24 12:26:21,846 INFO wandb-upload_6:10624 [upload_job.py:push():138] Uploaded file C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_122541-r5awcwvl\files\output.log +2023-02-24 12:26:22,055 INFO Thread-16 :10624 [sender.py:transition_state():587] send defer: 11 +2023-02-24 12:26:22,055 DEBUG HandlerThread:10624 [handler.py:handle_request():144] handle_request: defer +2023-02-24 12:26:22,055 INFO HandlerThread:10624 [handler.py:handle_request_defer():170] handle defer: 11 +2023-02-24 12:26:22,056 DEBUG SenderThread:10624 [sender.py:send_request():363] send_request: defer +2023-02-24 12:26:22,056 INFO SenderThread:10624 [sender.py:send_request_defer():583] handle sender defer: 11 +2023-02-24 12:26:22,056 INFO SenderThread:10624 [file_pusher.py:join():167] waiting for file pusher +2023-02-24 12:26:22,056 INFO SenderThread:10624 [sender.py:transition_state():587] send defer: 12 +2023-02-24 12:26:22,056 DEBUG HandlerThread:10624 [handler.py:handle_request():144] handle_request: defer +2023-02-24 12:26:22,056 INFO HandlerThread:10624 [handler.py:handle_request_defer():170] handle defer: 12 +2023-02-24 12:26:22,057 DEBUG SenderThread:10624 [sender.py:send_request():363] send_request: defer +2023-02-24 12:26:22,057 INFO SenderThread:10624 [sender.py:send_request_defer():583] handle sender defer: 12 +2023-02-24 12:26:22,198 INFO SenderThread:10624 [sender.py:transition_state():587] send defer: 13 +2023-02-24 12:26:22,199 DEBUG HandlerThread:10624 [handler.py:handle_request():144] handle_request: defer +2023-02-24 12:26:22,199 INFO HandlerThread:10624 [handler.py:handle_request_defer():170] handle defer: 13 +2023-02-24 12:26:22,199 DEBUG SenderThread:10624 [sender.py:send_request():363] send_request: defer +2023-02-24 12:26:22,199 INFO SenderThread:10624 [sender.py:send_request_defer():583] handle sender defer: 13 +2023-02-24 12:26:22,199 INFO SenderThread:10624 [sender.py:transition_state():587] send defer: 14 +2023-02-24 12:26:22,200 DEBUG HandlerThread:10624 [handler.py:handle_request():144] handle_request: defer +2023-02-24 12:26:22,200 INFO HandlerThread:10624 [handler.py:handle_request_defer():170] handle defer: 14 +2023-02-24 12:26:22,200 DEBUG SenderThread:10624 [sender.py:send():336] send: final +2023-02-24 12:26:22,200 DEBUG SenderThread:10624 [sender.py:send():336] send: footer +2023-02-24 12:26:22,200 DEBUG SenderThread:10624 [sender.py:send_request():363] send_request: defer +2023-02-24 12:26:22,200 INFO SenderThread:10624 [sender.py:send_request_defer():583] handle sender defer: 14 +2023-02-24 12:26:22,201 DEBUG HandlerThread:10624 [handler.py:handle_request():144] handle_request: poll_exit +2023-02-24 12:26:22,201 DEBUG HandlerThread:10624 [handler.py:handle_request():144] handle_request: server_info +2023-02-24 12:26:22,201 DEBUG HandlerThread:10624 [handler.py:handle_request():144] handle_request: get_summary +2023-02-24 12:26:22,201 DEBUG HandlerThread:10624 [handler.py:handle_request():144] handle_request: sampled_history +2023-02-24 12:26:22,203 DEBUG SenderThread:10624 [sender.py:send_request():363] send_request: poll_exit +2023-02-24 12:26:22,203 DEBUG SenderThread:10624 [sender.py:send_request():363] send_request: server_info +2023-02-24 12:26:22,366 INFO MainThread:10624 [wandb_run.py:_footer_history_summary_info():3442] rendering history +2023-02-24 12:26:22,367 INFO MainThread:10624 [wandb_run.py:_footer_history_summary_info():3474] rendering summary +2023-02-24 12:26:22,367 INFO MainThread:10624 [wandb_run.py:_footer_sync_info():3398] logging synced files +2023-02-24 12:26:22,367 DEBUG HandlerThread:10624 [handler.py:handle_request():144] handle_request: shutdown +2023-02-24 12:26:22,367 INFO HandlerThread:10624 [handler.py:finish():841] shutting down handler +2023-02-24 12:26:23,209 INFO WriterThread:10624 [datastore.py:close():299] close: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_122541-r5awcwvl\run-r5awcwvl.wandb +2023-02-24 12:26:23,379 INFO SenderThread:10624 [sender.py:finish():1493] shutting down sender +2023-02-24 12:26:23,379 INFO SenderThread:10624 [file_pusher.py:finish():162] shutting down file pusher +2023-02-24 12:26:23,379 INFO SenderThread:10624 [file_pusher.py:join():167] waiting for file pusher diff --git a/embeddings/wandb/run-20230224_122541-r5awcwvl/logs/debug.log b/embeddings/wandb/run-20230224_122541-r5awcwvl/logs/debug.log new file mode 100644 index 0000000000000000000000000000000000000000..c9ea0a0523c25a3b3b5b762647aac5bce899ddb2 --- /dev/null +++ b/embeddings/wandb/run-20230224_122541-r5awcwvl/logs/debug.log @@ -0,0 +1,25 @@ +2023-02-24 12:25:41,329 INFO MainThread:9720 [wandb_setup.py:_flush():68] Configure stats pid to 9720 +2023-02-24 12:25:41,330 INFO MainThread:9720 [wandb_setup.py:_flush():68] Loading settings from C:\Users\liamb\.config\wandb\settings +2023-02-24 12:25:41,330 INFO MainThread:9720 [wandb_setup.py:_flush():68] Loading settings from C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\settings +2023-02-24 12:25:41,330 INFO MainThread:9720 [wandb_setup.py:_flush():68] Loading settings from environment variables: {'_require_service': 'True'} +2023-02-24 12:25:41,330 INFO MainThread:9720 [wandb_setup.py:_flush():68] Inferring run settings from compute environment: {'program_relpath': 'embeddings\\hetero_GAT.py', 'program': 'C:\\Users\\liamb\\Documents\\graph4stackoverflow\\embeddings\\hetero_GAT.py'} +2023-02-24 12:25:41,331 INFO MainThread:9720 [wandb_init.py:_log_setup():492] Logging user logs to C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_122541-r5awcwvl\logs\debug.log +2023-02-24 12:25:41,331 INFO MainThread:9720 [wandb_init.py:_log_setup():493] Logging internal logs to C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_122541-r5awcwvl\logs\debug-internal.log +2023-02-24 12:25:41,331 INFO MainThread:9720 [wandb_init.py:init():532] calling init triggers +2023-02-24 12:25:41,331 INFO MainThread:9720 [wandb_init.py:init():538] wandb.init called with sweep_config: {} +config: {} +2023-02-24 12:25:41,331 INFO MainThread:9720 [wandb_init.py:init():588] starting backend +2023-02-24 12:25:41,331 INFO MainThread:9720 [wandb_init.py:init():592] setting up manager +2023-02-24 12:25:41,334 INFO MainThread:9720 [backend.py:_multiprocessing_setup():106] multiprocessing start_methods=spawn, using: spawn +2023-02-24 12:25:41,339 INFO MainThread:9720 [wandb_init.py:init():599] backend started and connected +2023-02-24 12:25:41,342 INFO MainThread:9720 [wandb_init.py:init():687] updated telemetry +2023-02-24 12:25:41,391 INFO MainThread:9720 [wandb_init.py:init():727] communicating run to backend with 60.0 second timeout +2023-02-24 12:25:41,765 INFO MainThread:9720 [wandb_run.py:_on_init():2134] communicating current version +2023-02-24 12:25:41,833 INFO MainThread:9720 [wandb_run.py:_on_init():2143] got version response +2023-02-24 12:25:41,833 INFO MainThread:9720 [wandb_init.py:init():775] starting run threads in backend +2023-02-24 12:25:41,996 INFO MainThread:9720 [wandb_run.py:_console_start():2114] atexit reg +2023-02-24 12:25:41,996 INFO MainThread:9720 [wandb_run.py:_redirect():1969] redirect: SettingsConsole.WRAP_RAW +2023-02-24 12:25:41,996 INFO MainThread:9720 [wandb_run.py:_redirect():2034] Wrapping output streams. +2023-02-24 12:25:41,997 INFO MainThread:9720 [wandb_run.py:_redirect():2059] Redirects installed. +2023-02-24 12:25:41,997 INFO MainThread:9720 [wandb_init.py:init():817] run started, returning control to user process +2023-02-24 12:26:23,481 WARNING MsgRouterThr:9720 [router.py:message_loop():77] message_loop has been closed diff --git a/embeddings/wandb/run-20230224_122541-r5awcwvl/run-r5awcwvl.wandb b/embeddings/wandb/run-20230224_122541-r5awcwvl/run-r5awcwvl.wandb new file mode 100644 index 0000000000000000000000000000000000000000..c5c2a6a2921758b42efa1904feab42dbd10c6142 Binary files /dev/null and b/embeddings/wandb/run-20230224_122541-r5awcwvl/run-r5awcwvl.wandb differ diff --git a/embeddings/wandb/run-20230224_123451-o6eekle7/files/config.yaml b/embeddings/wandb/run-20230224_123451-o6eekle7/files/config.yaml new file mode 100644 index 0000000000000000000000000000000000000000..c5e0ff478af50798714a37a3b91e54a056e140d9 --- /dev/null +++ b/embeddings/wandb/run-20230224_123451-o6eekle7/files/config.yaml @@ -0,0 +1,40 @@ +wandb_version: 1 + +_wandb: + desc: null + value: + cli_version: 0.13.10 + framework: huggingface + huggingface_version: 4.24.0 + is_jupyter_run: false + is_kaggle_kernel: false + python_version: 3.8.1 + start_time: 1677242091.573574 + t: + 1: + - 1 + - 5 + - 11 + - 33 + - 49 + - 53 + - 55 + - 77 + 2: + - 1 + - 5 + - 11 + - 33 + - 49 + - 53 + - 55 + - 77 + 3: + - 13 + - 23 + 4: 3.8.1 + 5: 0.13.10 + 6: 4.24.0 + 8: + - 3 + - 5 diff --git a/embeddings/wandb/run-20230224_123451-o6eekle7/files/media/table/data_1_83bbf864290b80cf8624.table.json b/embeddings/wandb/run-20230224_123451-o6eekle7/files/media/table/data_1_83bbf864290b80cf8624.table.json new file mode 100644 index 0000000000000000000000000000000000000000..8bcfad55bae51e5e9981553433c33755fe1ea836 --- /dev/null +++ b/embeddings/wandb/run-20230224_123451-o6eekle7/files/media/table/data_1_83bbf864290b80cf8624.table.json @@ -0,0 +1 @@ +{"columns": ["Graph", "Number of Nodes", "Number of Edges", "Label"], "data": [["Html", 5, 8, 1], ["Html", 74, 118, 1], ["Html", 3, 4, 1], ["Html", 70, 120, 1], ["Html", 41, 86, 1], ["Html", 11, 14, 1], ["Html", 17, 22, 1], ["Html", 51, 94, 1], ["Html", 58, 90, 1], ["Html", 39, 74, 1], ["Html", 74, 118, 1], ["Html", 38, 68, 1], ["Html", 4, 6, 1], ["Html", 4, 6, 1], ["Html", 84, 130, 1], ["Html", 21, 36, 1], ["Html", 18, 30, 1], ["Html", 55, 84, 1], ["Html", 74, 142, 1], ["Html", 26, 38, 1], ["Html", 3, 4, 1], ["Html", 73, 120, 1], ["Html", 34, 50, 1], ["Html", 48, 86, 1], ["Html", 62, 106, 1], ["Html", 44, 82, 1], ["Html", 10, 16, 1], ["Html", 9, 12, 1], ["Html", 52, 88, 0], ["Html", 16, 28, 1], ["Html", 70, 120, 1], ["Html", 29, 40, 1], ["Html", 78, 110, 1], ["Html", 32, 42, 1], ["Html", 46, 66, 1], ["Html", 11, 18, 1], ["Html", 75, 132, 1], ["Html", 56, 92, 1], ["Html", 45, 92, 1], ["Html", 48, 106, 1], ["Html", 41, 86, 1], ["Html", 4, 6, 1], ["Html", 26, 46, 1], ["Html", 21, 32, 1], ["Html", 61, 96, 1], ["Html", 51, 80, 1]]} \ No newline at end of file diff --git a/embeddings/wandb/run-20230224_123451-o6eekle7/files/output.log b/embeddings/wandb/run-20230224_123451-o6eekle7/files/output.log new file mode 100644 index 0000000000000000000000000000000000000000..8b137891791fe96927ad78e64b0aad7bded08bdc --- /dev/null +++ b/embeddings/wandb/run-20230224_123451-o6eekle7/files/output.log @@ -0,0 +1 @@ + diff --git a/embeddings/wandb/run-20230224_123451-o6eekle7/files/requirements.txt b/embeddings/wandb/run-20230224_123451-o6eekle7/files/requirements.txt new file mode 100644 index 0000000000000000000000000000000000000000..d7de821539624662109e252a91c4907a963ad5fb --- /dev/null +++ b/embeddings/wandb/run-20230224_123451-o6eekle7/files/requirements.txt @@ -0,0 +1,170 @@ +absl-py==1.3.0 +anyio==3.6.2 +appdirs==1.4.4 +argon2-cffi-bindings==21.2.0 +argon2-cffi==21.3.0 +asttokens==2.1.0 +astunparse==1.6.3 +attrs==22.1.0 +backcall==0.2.0 +beautifulsoup4==4.11.1 +bleach==5.0.1 +blis==0.7.9 +bs4==0.0.1 +cachetools==5.2.0 +catalogue==2.0.8 +certifi==2022.9.24 +cffi==1.15.1 +charset-normalizer==2.1.1 +click==8.1.3 +colorama==0.4.6 +confection==0.0.3 +contourpy==1.0.6 +cycler==0.11.0 +cymem==2.0.7 +debugpy==1.6.3 +decorator==5.1.1 +defusedxml==0.7.1 +dgl==0.9.1 +docker-pycreds==0.4.0 +en-core-web-sm==3.4.1 +entrypoints==0.4 +executing==1.2.0 +fastjsonschema==2.16.2 +filelock==3.8.0 +fonttools==4.38.0 +gitdb==4.0.10 +gitpython==3.1.31 +google-auth-oauthlib==0.4.6 +google-auth==2.14.0 +graph4nlp==0.5.5 +grpcio==1.50.0 +huggingface-hub==0.10.1 +idna==3.4 +importlib-metadata==5.0.0 +importlib-resources==5.10.0 +ipykernel==6.16.2 +ipython-genutils==0.2.0 +ipython==8.6.0 +ipywidgets==8.0.2 +jedi==0.18.1 +jinja2==3.1.2 +joblib==1.2.0 +jsonschema==4.16.0 +jupyter-client==7.4.4 +jupyter-console==6.4.4 +jupyter-core==4.11.2 +jupyter-server==1.21.0 +jupyter==1.0.0 +jupyterlab-pygments==0.2.2 +jupyterlab-widgets==3.0.3 +kiwisolver==1.4.4 +langcodes==3.3.0 +littleutils==0.2.2 +lxml==4.9.1 +markdown==3.4.1 +markupsafe==2.1.1 +matplotlib-inline==0.1.6 +matplotlib==3.6.2 +mistune==2.0.4 +murmurhash==1.0.9 +nbclassic==0.4.7 +nbclient==0.7.0 +nbconvert==7.2.3 +nbformat==5.7.0 +nest-asyncio==1.5.6 +networkx==2.8.8 +nltk==3.7 +notebook-shim==0.2.0 +notebook==6.5.2 +numpy==1.23.5 +oauthlib==3.2.2 +ogb==1.3.5 +outdated==0.2.2 +packaging==21.3 +pandas==1.5.1 +pandocfilters==1.5.0 +parso==0.8.3 +pathtools==0.1.2 +pathy==0.6.2 +pickleshare==0.7.5 +pillow==9.3.0 +pip==21.3.1 +pkgutil-resolve-name==1.3.10 +plotly==5.13.0 +preshed==3.0.8 +prometheus-client==0.15.0 +prompt-toolkit==3.0.31 +protobuf==3.19.6 +psutil==5.9.3 +pure-eval==0.2.2 +pyasn1-modules==0.2.8 +pyasn1==0.4.8 +pycparser==2.21 +pydantic==1.10.2 +pygments==2.13.0 +pyparsing==3.0.9 +pyrsistent==0.18.1 +python-dateutil==2.8.2 +pythonds==1.2.1 +pytz==2022.5 +pywin32==304 +pywinpty==2.0.9 +pyyaml==6.0 +pyzmq==24.0.1 +qtconsole==5.3.2 +qtpy==2.2.1 +regex==2022.10.31 +requests-oauthlib==1.3.1 +requests==2.28.1 +rsa==4.9 +scikit-learn==1.1.3 +scipy==1.9.3 +send2trash==1.8.0 +sentry-sdk==1.15.0 +setproctitle==1.3.2 +setuptools==60.2.0 +six==1.16.0 +smart-open==5.2.1 +smmap==5.0.0 +sniffio==1.3.0 +soupsieve==2.3.2.post1 +spacy-legacy==3.0.10 +spacy-loggers==1.0.3 +spacy==3.4.2 +srsly==2.4.5 +stack-data==0.6.0 +stanfordcorenlp==3.9.1.1 +tenacity==8.2.1 +tensorboard-data-server==0.6.1 +tensorboard-plugin-wit==1.8.1 +tensorboard==2.10.1 +terminado==0.17.0 +thinc==8.1.5 +threadpoolctl==3.1.0 +tinycss2==1.2.1 +tokenizers==0.13.2 +torch-cluster==1.6.0+pt113cpu +torch-geometric==2.2.0 +torch-scatter==2.1.0+pt113cpu +torch-sparse==0.6.16+pt113cpu +torch-spline-conv==1.2.1+pt113cpu +torch==1.13.0 +torchsummary==1.5.1 +torchtext==0.14.0 +tornado==6.2 +tqdm==4.64.1 +traitlets==5.5.0 +transformers==4.24.0 +typer==0.4.2 +typing-extensions==4.4.0 +urllib3==1.26.12 +wandb==0.13.10 +wasabi==0.10.1 +wcwidth==0.2.5 +webencodings==0.5.1 +websocket-client==1.4.1 +werkzeug==2.2.2 +wheel==0.37.1 +widgetsnbextension==4.0.3 +zipp==3.10.0 \ No newline at end of file diff --git a/embeddings/wandb/run-20230224_123451-o6eekle7/files/wandb-metadata.json b/embeddings/wandb/run-20230224_123451-o6eekle7/files/wandb-metadata.json new file mode 100644 index 0000000000000000000000000000000000000000..6a2f30cdd0d3f770bf665602044c8f375d2856bb --- /dev/null +++ b/embeddings/wandb/run-20230224_123451-o6eekle7/files/wandb-metadata.json @@ -0,0 +1,42 @@ +{ + "os": "Windows-10-10.0.19041-SP0", + "python": "3.8.1", + "heartbeatAt": "2023-02-24T12:34:52.115855", + "startedAt": "2023-02-24T12:34:51.557575", + "docker": null, + "cuda": null, + "args": [], + "state": "running", + "program": "C:\\Users\\liamb\\Documents\\graph4stackoverflow\\embeddings\\hetero_GAT.py", + "codePath": "embeddings\\hetero_GAT.py", + "git": { + "remote": "https://git.soton.ac.uk/lhb1g20/graph4stackoverflow.git", + "commit": "ced992d661984f7b87d1a3e76768e4ff7af78245" + }, + "email": "liambyrneh@gmail.com", + "root": "C:/Users/liamb/Documents/graph4stackoverflow", + "host": "DESKTOP-P7BETFF", + "username": "liamb", + "executable": "C:\\Users\\liamb\\Documents\\graph4stackoverflow\\venv\\Scripts\\python.exe", + "cpu_count": 2, + "cpu_count_logical": 4, + "cpu_freq": { + "current": 3504.0, + "min": 0.0, + "max": 3504.0 + }, + "cpu_freq_per_core": [ + { + "current": 3504.0, + "min": 0.0, + "max": 3504.0 + } + ], + "disk": { + "total": 475.71581649780273, + "used": 352.6499214172363 + }, + "memory": { + "total": 31.89160919189453 + } +} diff --git a/embeddings/wandb/run-20230224_123451-o6eekle7/files/wandb-summary.json b/embeddings/wandb/run-20230224_123451-o6eekle7/files/wandb-summary.json new file mode 100644 index 0000000000000000000000000000000000000000..4343fb4ec1b41154b7b1882e5aa8e81506a1ba5f --- /dev/null +++ b/embeddings/wandb/run-20230224_123451-o6eekle7/files/wandb-summary.json @@ -0,0 +1 @@ +{"num_node_features": {"question": 1536, "answer": 1536, "comment": 768, "tag": 50, "module": 30}, "num_classes": 2, "_timestamp": 1677242101.6094127, "_runtime": 10.035838603973389, "_step": 1, "data": {"_type": "table-file", "sha256": "83bbf864290b80cf8624948cb39add689e6cf983395c372d7f2e0d6c0428060e", "size": 1043, "artifact_path": "wandb-client-artifact://863t73fpwrp6ykcukcc21bact85uja8ocyt4sr3o24sx87ffv8mu1a1okyic0d1ez36u0jdb0eqhi2vjqxnuhx1hen1vp6dh1apc61sl5wnxd46d12rq2f6m3g22448i:latest/data.table.json", "_latest_artifact_path": "wandb-client-artifact://863t73fpwrp6ykcukcc21bact85uja8ocyt4sr3o24sx87ffv8mu1a1okyic0d1ez36u0jdb0eqhi2vjqxnuhx1hen1vp6dh1apc61sl5wnxd46d12rq2f6m3g22448i:latest/data.table.json", "path": "media/table/data_1_83bbf864290b80cf8624.table.json", "ncols": 4, "nrows": 46}} \ No newline at end of file diff --git a/embeddings/wandb/run-20230224_123451-o6eekle7/logs/debug-internal.log b/embeddings/wandb/run-20230224_123451-o6eekle7/logs/debug-internal.log new file mode 100644 index 0000000000000000000000000000000000000000..e299ba7f8d0c6eee7cb5465ae10d44dcb5f1ac64 --- /dev/null +++ b/embeddings/wandb/run-20230224_123451-o6eekle7/logs/debug-internal.log @@ -0,0 +1,609 @@ +2023-02-24 12:34:51,573 INFO StreamThr :15572 [internal.py:wandb_internal():87] W&B internal server running at pid: 15572, started at: 2023-02-24 12:34:51.572575 +2023-02-24 12:34:51,575 DEBUG HandlerThread:15572 [handler.py:handle_request():144] handle_request: status +2023-02-24 12:34:51,576 INFO WriterThread:15572 [datastore.py:open_for_write():85] open: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_123451-o6eekle7\run-o6eekle7.wandb +2023-02-24 12:34:51,581 DEBUG SenderThread:15572 [sender.py:send():336] send: header +2023-02-24 12:34:51,639 DEBUG SenderThread:15572 [sender.py:send():336] send: run +2023-02-24 12:34:52,001 INFO SenderThread:15572 [dir_watcher.py:__init__():216] watching files in: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_123451-o6eekle7\files +2023-02-24 12:34:52,001 INFO SenderThread:15572 [sender.py:_start_run_threads():1067] run started: o6eekle7 with start time 1677242091.573574 +2023-02-24 12:34:52,002 DEBUG SenderThread:15572 [sender.py:send_request():363] send_request: summary_record +2023-02-24 12:34:52,002 INFO SenderThread:15572 [sender.py:_save_file():1321] saving file wandb-summary.json with policy end +2023-02-24 12:34:52,003 DEBUG HandlerThread:15572 [handler.py:handle_request():144] handle_request: check_version +2023-02-24 12:34:52,004 DEBUG SenderThread:15572 [sender.py:send_request():363] send_request: check_version +2023-02-24 12:34:52,093 DEBUG HandlerThread:15572 [handler.py:handle_request():144] handle_request: run_start +2023-02-24 12:34:52,111 DEBUG HandlerThread:15572 [system_info.py:__init__():31] System info init +2023-02-24 12:34:52,111 DEBUG HandlerThread:15572 [system_info.py:__init__():46] System info init done +2023-02-24 12:34:52,111 INFO HandlerThread:15572 [system_monitor.py:start():151] Starting system monitor +2023-02-24 12:34:52,112 INFO SystemMonitor:15572 [system_monitor.py:_start():116] Starting system asset monitoring threads +2023-02-24 12:34:52,112 INFO HandlerThread:15572 [system_monitor.py:probe():172] Collecting system info +2023-02-24 12:34:52,115 INFO SystemMonitor:15572 [interfaces.py:start():168] Started cpu +2023-02-24 12:34:52,115 DEBUG HandlerThread:15572 [system_info.py:probe():195] Probing system +2023-02-24 12:34:52,116 INFO SystemMonitor:15572 [interfaces.py:start():168] Started disk +2023-02-24 12:34:52,116 INFO SystemMonitor:15572 [interfaces.py:start():168] Started memory +2023-02-24 12:34:52,133 INFO SystemMonitor:15572 [interfaces.py:start():168] Started network +2023-02-24 12:34:52,134 DEBUG HandlerThread:15572 [system_info.py:_probe_git():180] Probing git +2023-02-24 12:34:52,239 DEBUG HandlerThread:15572 [system_info.py:_probe_git():188] Probing git done +2023-02-24 12:34:52,239 DEBUG HandlerThread:15572 [system_info.py:probe():241] Probing system done +2023-02-24 12:34:52,239 DEBUG HandlerThread:15572 [system_monitor.py:probe():181] {'os': 'Windows-10-10.0.19041-SP0', 'python': '3.8.1', 'heartbeatAt': '2023-02-24T12:34:52.115855', 'startedAt': '2023-02-24T12:34:51.557575', 'docker': None, 'cuda': None, 'args': (), 'state': 'running', 'program': 'C:\\Users\\liamb\\Documents\\graph4stackoverflow\\embeddings\\hetero_GAT.py', 'codePath': 'embeddings\\hetero_GAT.py', 'git': {'remote': 'https://git.soton.ac.uk/lhb1g20/graph4stackoverflow.git', 'commit': 'ced992d661984f7b87d1a3e76768e4ff7af78245'}, 'email': 'liambyrneh@gmail.com', 'root': 'C:/Users/liamb/Documents/graph4stackoverflow', 'host': 'DESKTOP-P7BETFF', 'username': 'liamb', 'executable': 'C:\\Users\\liamb\\Documents\\graph4stackoverflow\\venv\\Scripts\\python.exe', 'cpu_count': 2, 'cpu_count_logical': 4, 'cpu_freq': {'current': 3504.0, 'min': 0.0, 'max': 3504.0}, 'cpu_freq_per_core': [{'current': 3504.0, 'min': 0.0, 'max': 3504.0}], 'disk': {'total': 475.71581649780273, 'used': 352.6499214172363}, 'memory': {'total': 31.89160919189453}} +2023-02-24 12:34:52,240 INFO HandlerThread:15572 [system_monitor.py:probe():182] Finished collecting system info +2023-02-24 12:34:52,240 INFO HandlerThread:15572 [system_monitor.py:probe():185] Publishing system info +2023-02-24 12:34:52,240 DEBUG HandlerThread:15572 [system_info.py:_save_pip():51] Saving list of pip packages installed into the current environment +2023-02-24 12:34:52,242 DEBUG HandlerThread:15572 [system_info.py:_save_pip():67] Saving pip packages done +2023-02-24 12:34:52,244 INFO HandlerThread:15572 [system_monitor.py:probe():187] Finished publishing system info +2023-02-24 12:34:52,253 DEBUG SenderThread:15572 [sender.py:send():336] send: files +2023-02-24 12:34:52,254 INFO SenderThread:15572 [sender.py:_save_file():1321] saving file wandb-metadata.json with policy now +2023-02-24 12:34:52,264 DEBUG HandlerThread:15572 [handler.py:handle_request():144] handle_request: stop_status +2023-02-24 12:34:52,264 DEBUG SenderThread:15572 [sender.py:send_request():363] send_request: stop_status +2023-02-24 12:34:52,266 DEBUG HandlerThread:15572 [handler.py:handle_request():144] handle_request: partial_history +2023-02-24 12:34:52,436 DEBUG SenderThread:15572 [sender.py:send():336] send: telemetry +2023-02-24 12:34:52,439 DEBUG SenderThread:15572 [sender.py:send():336] send: history +2023-02-24 12:34:52,440 DEBUG SenderThread:15572 [sender.py:send_request():363] send_request: summary_record +2023-02-24 12:34:52,441 INFO SenderThread:15572 [sender.py:_save_file():1321] saving file wandb-summary.json with policy end +2023-02-24 12:34:52,838 INFO wandb-upload_0:15572 [upload_job.py:push():138] Uploaded file C:\Users\liamb\AppData\Local\Temp\tmp6t8dl2bjwandb\z2ez9vxs-wandb-metadata.json +2023-02-24 12:34:53,012 INFO Thread-17 :15572 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_123451-o6eekle7\files\requirements.txt +2023-02-24 12:34:53,012 INFO Thread-17 :15572 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_123451-o6eekle7\files\wandb-summary.json +2023-02-24 12:34:53,013 INFO Thread-17 :15572 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_123451-o6eekle7\files\wandb-metadata.json +2023-02-24 12:34:57,504 DEBUG HandlerThread:15572 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 12:35:01,287 DEBUG HandlerThread:15572 [handler.py:handle_request():144] handle_request: log_artifact +2023-02-24 12:35:01,288 DEBUG SenderThread:15572 [sender.py:send_request():363] send_request: log_artifact +2023-02-24 12:35:01,610 DEBUG HandlerThread:15572 [handler.py:handle_request():144] handle_request: partial_history +2023-02-24 12:35:02,126 INFO Thread-17 :15572 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_123451-o6eekle7\files\media\table\data_1_83bbf864290b80cf8624.table.json +2023-02-24 12:35:02,126 INFO Thread-17 :15572 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_123451-o6eekle7\files\media +2023-02-24 12:35:02,126 INFO Thread-17 :15572 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_123451-o6eekle7\files\media\table +2023-02-24 12:35:02,976 INFO wandb-upload_0:15572 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpq1rpnh32 +2023-02-24 12:35:07,281 DEBUG HandlerThread:15572 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 12:35:09,496 DEBUG HandlerThread:15572 [handler.py:handle_request():144] handle_request: log_artifact +2023-02-24 12:35:10,503 DEBUG HandlerThread:15572 [handler.py:handle_request():144] handle_request: poll_exit +2023-02-24 12:35:15,539 DEBUG HandlerThread:15572 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 12:35:20,598 DEBUG HandlerThread:15572 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 12:35:25,648 DEBUG HandlerThread:15572 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 12:35:28,776 INFO wandb-upload_4:15572 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpmadbep1i +2023-02-24 12:35:28,927 INFO wandb-upload_6:15572 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpuccnu6c2 +2023-02-24 12:35:28,973 INFO wandb-upload_2:15572 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmptk4db49p +2023-02-24 12:35:29,003 INFO wandb-upload_3:15572 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpsvzht581 +2023-02-24 12:35:29,106 INFO wandb-upload_5:15572 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmp_tgdbbpx +2023-02-24 12:35:29,107 INFO wandb-upload_1:15572 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmp4qu61go7 +2023-02-24 12:35:29,141 INFO wandb-upload_12:15572 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmps7y2pky3 +2023-02-24 12:35:29,163 INFO wandb-upload_14:15572 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmp45j0y_p5 +2023-02-24 12:35:29,386 INFO wandb-upload_25:15572 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmp44obdc_8 +2023-02-24 12:35:29,486 INFO wandb-upload_18:15572 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpguwejyjx +2023-02-24 12:35:29,499 INFO wandb-upload_9:15572 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpjvjoyu6_ +2023-02-24 12:35:29,545 INFO wandb-upload_26:15572 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpj0qkx07y +2023-02-24 12:35:29,574 INFO wandb-upload_21:15572 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpkc_uyc9b +2023-02-24 12:35:29,599 INFO wandb-upload_28:15572 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpmd4vntum +2023-02-24 12:35:29,639 INFO wandb-upload_40:15572 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmp4z0r3jwb +2023-02-24 12:35:29,650 INFO wandb-upload_19:15572 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmplho77rza +2023-02-24 12:35:29,756 INFO wandb-upload_29:15572 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpfhokowf7 +2023-02-24 12:35:29,759 INFO wandb-upload_17:15572 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpfd8xb_rw +2023-02-24 12:35:29,761 INFO wandb-upload_34:15572 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpq46hilah +2023-02-24 12:35:29,763 INFO wandb-upload_20:15572 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpx5zk__m0 +2023-02-24 12:35:29,763 INFO wandb-upload_30:15572 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpyzcavj4v +2023-02-24 12:35:29,765 INFO wandb-upload_41:15572 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmp4hwg86sz +2023-02-24 12:35:29,793 INFO wandb-upload_22:15572 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmp2_uvpqb_ +2023-02-24 12:35:29,812 INFO wandb-upload_8:15572 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpjnz8j50w +2023-02-24 12:35:29,816 INFO wandb-upload_33:15572 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmplxetyn53 +2023-02-24 12:35:29,838 INFO wandb-upload_13:15572 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpth6in6ik +2023-02-24 12:35:29,844 INFO wandb-upload_46:15572 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpeyy6fme3 +2023-02-24 12:35:29,849 INFO wandb-upload_44:15572 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpzmkd7zhs +2023-02-24 12:35:29,851 INFO wandb-upload_24:15572 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmp5wb9rpsb +2023-02-24 12:35:29,854 INFO wandb-upload_27:15572 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpobvgmn49 +2023-02-24 12:35:29,876 INFO wandb-upload_32:15572 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpoo9zaec8 +2023-02-24 12:35:29,912 INFO wandb-upload_42:15572 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpj14jkp8h +2023-02-24 12:35:29,912 INFO wandb-upload_45:15572 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmp7p82hvjz +2023-02-24 12:35:29,954 INFO wandb-upload_38:15572 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmp9rb3y3od +2023-02-24 12:35:29,965 INFO wandb-upload_31:15572 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmppaqwcire +2023-02-24 12:35:29,980 INFO wandb-upload_15:15572 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpwfusvsfn +2023-02-24 12:35:30,007 INFO wandb-upload_35:15572 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpx_z4g9xa +2023-02-24 12:35:30,008 INFO wandb-upload_11:15572 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpy00mg6l_ +2023-02-24 12:35:30,034 INFO wandb-upload_10:15572 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmp22sst0it +2023-02-24 12:35:30,034 INFO wandb-upload_23:15572 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpeijam4jn +2023-02-24 12:35:30,056 INFO wandb-upload_36:15572 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpfbspsg_0 +2023-02-24 12:35:30,067 INFO wandb-upload_16:15572 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpsnbz0uc3 +2023-02-24 12:35:30,093 INFO wandb-upload_43:15572 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpd48j9ovu +2023-02-24 12:35:30,113 INFO wandb-upload_37:15572 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpj6jdyd84 +2023-02-24 12:35:30,190 INFO wandb-upload_7:15572 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmp713q9bxt +2023-02-24 12:35:30,219 INFO wandb-upload_39:15572 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpf7czz8l2 +2023-02-24 12:35:30,695 DEBUG HandlerThread:15572 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 12:35:31,114 INFO SenderThread:15572 [sender.py:send_request_log_artifact():1381] logged artifact run-o6eekle7-data - {'id': 'QXJ0aWZhY3Q6MzgwNDAxMjcw', 'digest': '9015589079b584d63120c6750f48ad17', 'state': 'PENDING', 'aliases': [], 'artifactSequence': {'id': 'QXJ0aWZhY3RDb2xsZWN0aW9uOjU0NTkzMzA2', 'latestArtifact': None}, 'version': 'latest'} +2023-02-24 12:35:31,119 DEBUG HandlerThread:15572 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 12:35:31,309 DEBUG SenderThread:15572 [sender.py:send():336] send: files +2023-02-24 12:35:31,309 INFO SenderThread:15572 [sender.py:_save_file():1321] saving file media\table\data_1_83bbf864290b80cf8624.table.json with policy now +2023-02-24 12:35:31,310 DEBUG SenderThread:15572 [sender.py:send():336] send: history +2023-02-24 12:35:31,310 DEBUG SenderThread:15572 [sender.py:send_request():363] send_request: summary_record +2023-02-24 12:35:31,312 INFO SenderThread:15572 [sender.py:_save_file():1321] saving file wandb-summary.json with policy end +2023-02-24 12:35:31,314 DEBUG SenderThread:15572 [sender.py:send_request():363] send_request: log_artifact +2023-02-24 12:35:31,522 INFO Thread-17 :15572 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_123451-o6eekle7\files\config.yaml +2023-02-24 12:35:31,523 INFO Thread-17 :15572 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_123451-o6eekle7\files\wandb-summary.json +2023-02-24 12:35:31,523 INFO Thread-17 :15572 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_123451-o6eekle7\files\output.log +2023-02-24 12:35:31,922 INFO wandb-upload_0:15572 [upload_job.py:push():138] Uploaded file C:\Users\liamb\AppData\Local\Temp\tmp6t8dl2bjwandb\i6lmdb3o-media/table/data_1_83bbf864290b80cf8624.table.json +2023-02-24 12:35:32,946 INFO wandb-upload_3:15572 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpnf0f3qdy +2023-02-24 12:35:32,958 INFO wandb-upload_6:15572 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpvlb3t2fw +2023-02-24 12:35:33,039 INFO wandb-upload_5:15572 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpapleb2zj +2023-02-24 12:35:33,127 INFO wandb-upload_12:15572 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpxs31vn0_ +2023-02-24 12:35:33,135 INFO wandb-upload_42:15572 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpeb9u2xvd +2023-02-24 12:35:33,150 INFO wandb-upload_47:15572 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmp_awwobdf +2023-02-24 12:35:33,158 INFO wandb-upload_9:15572 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmp4sblghn0 +2023-02-24 12:35:33,181 INFO wandb-upload_1:15572 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpxyg2f2i8 +2023-02-24 12:35:33,216 INFO wandb-upload_26:15572 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmp4oq45l_5 +2023-02-24 12:35:33,222 INFO wandb-upload_50:15572 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmp82m3djia +2023-02-24 12:35:33,229 INFO wandb-upload_17:15572 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpvv2j7w2d +2023-02-24 12:35:33,230 INFO wandb-upload_38:15572 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpvgs6mdq5 +2023-02-24 12:35:33,234 INFO wandb-upload_14:15572 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpvkak6jzp +2023-02-24 12:35:33,247 INFO wandb-upload_16:15572 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpxx0cb06y +2023-02-24 12:35:33,248 INFO wandb-upload_51:15572 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpn_j7wq65 +2023-02-24 12:35:33,271 INFO wandb-upload_2:15572 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpuuyutj2m +2023-02-24 12:35:33,281 INFO wandb-upload_48:15572 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmp_jre653g +2023-02-24 12:35:33,303 INFO wandb-upload_19:15572 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpr0_l7new +2023-02-24 12:35:33,318 INFO wandb-upload_10:15572 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpj8in290_ +2023-02-24 12:35:33,336 INFO wandb-upload_8:15572 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpftwt1au2 +2023-02-24 12:35:33,339 INFO wandb-upload_27:15572 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpp88po67g +2023-02-24 12:35:33,345 INFO wandb-upload_36:15572 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpyxl8otzu +2023-02-24 12:35:33,346 INFO wandb-upload_49:15572 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpvjrl8haj +2023-02-24 12:35:33,360 INFO wandb-upload_15:15572 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmppc5swpmj +2023-02-24 12:35:33,380 INFO wandb-upload_34:15572 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmp3dfqcbwf +2023-02-24 12:35:33,397 INFO wandb-upload_22:15572 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpn1zhrffo +2023-02-24 12:35:33,418 INFO wandb-upload_0:15572 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpl9qdh7jm +2023-02-24 12:35:33,419 INFO wandb-upload_41:15572 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmp57x8qo62 +2023-02-24 12:35:33,421 INFO wandb-upload_11:15572 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpdsidjmyp +2023-02-24 12:35:33,437 INFO wandb-upload_44:15572 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpbi2omq5g +2023-02-24 12:35:33,464 INFO wandb-upload_21:15572 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpngfcy3q_ +2023-02-24 12:35:33,472 INFO wandb-upload_20:15572 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpn04o5jib +2023-02-24 12:35:33,472 INFO wandb-upload_46:15572 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpc0v8psjd +2023-02-24 12:35:33,497 INFO wandb-upload_23:15572 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpfp8qykcj +2023-02-24 12:35:33,497 INFO wandb-upload_28:15572 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpcjvtrajm +2023-02-24 12:35:33,498 INFO wandb-upload_33:15572 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpr4pkkrwx +2023-02-24 12:35:33,533 INFO wandb-upload_31:15572 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpdr1g3vd1 +2023-02-24 12:35:33,538 INFO wandb-upload_43:15572 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpma1xg3_u +2023-02-24 12:35:33,548 INFO wandb-upload_32:15572 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmp3hkb0ale +2023-02-24 12:35:33,549 INFO wandb-upload_45:15572 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpcr698_zu +2023-02-24 12:35:33,550 INFO Thread-17 :15572 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_123451-o6eekle7\files\output.log +2023-02-24 12:35:33,551 INFO wandb-upload_37:15572 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmp_6t80466 +2023-02-24 12:35:33,596 INFO wandb-upload_40:15572 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpix2gv4gz +2023-02-24 12:35:33,609 INFO wandb-upload_30:15572 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmp58wporxo +2023-02-24 12:35:33,621 INFO wandb-upload_18:15572 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpk5ksqd6f +2023-02-24 12:35:33,653 INFO wandb-upload_25:15572 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpwq3wcp8w +2023-02-24 12:35:33,665 INFO wandb-upload_24:15572 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpvlj9sr6h +2023-02-24 12:35:33,674 INFO wandb-upload_29:15572 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmp7y0u3fkl +2023-02-24 12:35:33,692 INFO wandb-upload_35:15572 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpt9qvfep5 +2023-02-24 12:35:33,790 INFO wandb-upload_13:15572 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmp9xic_9xa +2023-02-24 12:35:33,978 INFO wandb-upload_4:15572 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpx3x84trd +2023-02-24 12:35:35,775 DEBUG HandlerThread:15572 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 12:35:40,843 DEBUG HandlerThread:15572 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 12:35:41,577 INFO wandb-upload_39:15572 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpkxgl6643 +2023-02-24 12:35:45,906 DEBUG HandlerThread:15572 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 12:35:50,949 DEBUG HandlerThread:15572 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 12:35:52,149 DEBUG SystemMonitor:15572 [system_monitor.py:_start():130] Starting system metrics aggregation loop +2023-02-24 12:35:56,006 DEBUG HandlerThread:15572 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 12:36:01,082 DEBUG HandlerThread:15572 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 12:36:06,131 DEBUG HandlerThread:15572 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 12:36:08,567 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:36:08,568 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:36:08,568 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:36:08,571 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:36:08,983 INFO MainThread:15572 [internal.py:handle_exit():77] Internal process exited +2023-02-24 12:36:10,573 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:36:10,573 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:36:10,576 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:36:10,576 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:36:12,604 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:36:12,604 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:36:12,605 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:36:12,608 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:36:13,707 WARNING StreamThr :15572 [internal.py:is_dead():415] Internal process exiting, parent pid 9368 disappeared +2023-02-24 12:36:13,707 ERROR StreamThr :15572 [internal.py:wandb_internal():153] Internal process shutdown. +2023-02-24 12:36:14,247 INFO HandlerThread:15572 [handler.py:finish():841] shutting down handler +2023-02-24 12:36:14,435 INFO WriterThread:15572 [datastore.py:close():299] close: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_123451-o6eekle7\run-o6eekle7.wandb +2023-02-24 12:36:14,621 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:36:14,627 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:36:14,627 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:36:14,628 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:36:16,637 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:36:16,637 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:36:16,637 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:36:16,641 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:36:18,648 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:36:18,648 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:36:18,648 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:36:18,651 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:36:20,648 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:36:20,648 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:36:20,664 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:36:20,668 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:36:22,663 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:36:22,663 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:36:22,679 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:36:22,683 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:36:24,676 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:36:24,676 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:36:24,693 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:36:24,696 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:36:26,688 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:36:26,688 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:36:26,704 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:36:26,708 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:36:28,702 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:36:28,702 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:36:28,718 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:36:28,721 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:36:30,715 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:36:30,715 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:36:30,730 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:36:30,733 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:36:32,728 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:36:32,728 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:36:32,744 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:36:32,747 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:36:34,740 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:36:34,740 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:36:34,756 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:36:34,760 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:36:36,755 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:36:36,755 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:36:36,770 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:36:36,773 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:36:38,812 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:36:38,812 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:36:38,818 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:36:38,978 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:36:40,812 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:36:40,812 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:36:40,984 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:36:40,987 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:36:42,820 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:36:42,820 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:36:42,992 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:36:42,995 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:36:44,834 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:36:44,834 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:36:45,008 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:36:45,011 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:36:46,849 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:36:46,849 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:36:47,020 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:36:47,023 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:36:48,854 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:36:48,855 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:36:49,024 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:36:49,027 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:36:50,862 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:36:50,862 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:36:51,033 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:36:51,036 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:36:52,871 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:36:52,871 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:36:53,043 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:36:53,045 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:36:54,884 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:36:54,884 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:36:55,056 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:36:55,059 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:36:56,891 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:36:56,891 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:36:57,062 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:36:57,065 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:36:58,903 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:36:58,903 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:36:59,075 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:36:59,077 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:37:00,910 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:37:00,910 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:37:01,083 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:37:01,085 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:37:02,919 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:37:02,919 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:37:03,156 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:37:03,160 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:37:04,930 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:37:04,930 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:37:05,162 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:37:05,165 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:37:06,933 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:37:06,933 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:37:07,167 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:37:07,170 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:37:08,944 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:37:08,944 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:37:09,175 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:37:09,178 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:37:10,950 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:37:10,950 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:37:11,182 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:37:11,185 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:37:12,956 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:37:12,956 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:37:13,188 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:37:13,191 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:37:14,961 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:37:14,961 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:37:15,197 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:37:15,200 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:37:16,973 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:37:16,974 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:37:17,208 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:37:17,210 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:37:18,979 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:37:18,979 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:37:19,211 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:37:19,214 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:37:20,985 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:37:20,986 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:37:21,220 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:37:21,223 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:37:22,990 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:37:22,990 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:37:23,224 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:37:23,227 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:37:24,994 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:37:24,994 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:37:25,229 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:37:25,232 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:37:27,002 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:37:27,002 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:37:27,233 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:37:27,236 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:37:29,004 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:37:29,004 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:37:29,237 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:37:29,240 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:37:31,008 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:37:31,008 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:37:31,242 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:37:31,245 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:37:33,018 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:37:33,018 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:37:33,254 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:37:33,257 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:37:35,028 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:37:35,028 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:37:35,263 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:37:35,266 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:37:37,040 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:37:37,040 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:37:37,272 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:37:37,275 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:37:39,042 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:37:39,042 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:37:39,290 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:37:39,292 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:37:41,047 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:37:41,047 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:37:41,297 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:37:41,300 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:37:43,057 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:37:43,057 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:37:43,307 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:37:43,309 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:37:45,057 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:37:45,057 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:37:45,321 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:37:45,324 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:37:47,060 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:37:47,060 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:37:47,325 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:37:47,328 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:37:49,068 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:37:49,068 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:37:49,331 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:37:49,333 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:37:51,080 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:37:51,080 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:37:51,343 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:37:51,347 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:37:53,085 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:37:53,085 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:37:53,349 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:37:53,352 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:37:55,092 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:37:55,092 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:37:55,354 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:37:55,357 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:37:57,096 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:37:57,096 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:37:57,358 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:37:57,361 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:37:59,103 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:37:59,103 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:37:59,370 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:37:59,373 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:38:01,110 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:38:01,110 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:38:01,374 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:38:01,377 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:38:03,119 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:38:03,119 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:38:03,382 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:38:03,384 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:38:05,126 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:38:05,126 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:38:05,390 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:38:05,393 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:38:07,135 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:38:07,135 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:38:07,399 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:38:07,402 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:38:09,143 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:38:09,143 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:38:09,407 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:38:09,410 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:38:11,152 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:38:11,152 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:38:11,417 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:38:11,420 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:38:13,161 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:38:13,161 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:38:13,426 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:38:13,429 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:38:15,172 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:38:15,172 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:38:15,438 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:38:15,441 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:38:17,178 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:38:17,178 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:38:17,442 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:38:17,445 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:38:19,186 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:38:19,186 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:38:19,450 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:38:19,452 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:38:21,188 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:38:21,188 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:38:21,467 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:38:21,470 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:38:23,191 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:38:23,191 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:38:23,471 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:38:23,474 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:38:25,193 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:38:25,193 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:38:25,488 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:38:25,491 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:38:27,207 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:38:27,207 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:38:27,501 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:38:27,504 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:38:29,213 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:38:29,229 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:38:29,509 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:38:29,512 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:38:31,235 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:38:31,250 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:38:31,513 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:38:31,516 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:38:33,277 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:38:33,277 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:38:33,526 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:38:33,529 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:38:35,278 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:38:35,278 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:38:35,541 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:38:35,544 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:38:37,299 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:38:37,299 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:38:37,550 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:38:37,553 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:38:39,301 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:38:39,301 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:38:39,564 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:38:39,567 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:38:41,308 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:38:41,308 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:38:41,570 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:38:41,573 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:38:43,313 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:38:43,313 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:38:43,578 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:38:43,581 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:38:45,321 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:38:45,321 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:38:45,586 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:38:45,588 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:38:47,328 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:38:47,328 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:38:47,593 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:38:47,596 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:38:49,333 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:38:49,333 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:38:49,597 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:38:49,600 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:38:51,342 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:38:51,342 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:38:51,606 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:38:51,609 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:38:53,345 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:38:53,345 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:38:53,610 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:38:53,613 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:38:55,350 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:38:55,350 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:38:55,614 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:38:55,617 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:38:57,359 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:38:57,359 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:38:57,623 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:38:57,625 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:38:59,365 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:38:59,365 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:38:59,629 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:38:59,632 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:39:01,374 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:39:01,374 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:39:01,637 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:39:01,639 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:39:03,377 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:39:03,378 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:39:03,643 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:39:03,646 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:39:05,381 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:39:05,381 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:39:05,660 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:39:05,662 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:39:07,381 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:39:07,381 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:39:07,662 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:39:07,665 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:39:09,389 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:39:09,390 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:39:09,669 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:39:09,672 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:39:11,394 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:39:11,394 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:39:11,673 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:39:11,675 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:39:13,405 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:39:13,405 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:39:13,685 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:39:13,703 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:39:15,415 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:39:15,415 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:39:15,710 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:39:15,713 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:39:17,419 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:39:17,420 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:39:17,730 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:39:17,732 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:39:19,425 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:39:19,425 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:39:19,749 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:39:19,767 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:39:21,436 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:39:21,436 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:39:21,777 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:39:21,780 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:39:23,441 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:39:23,441 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:39:23,816 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:39:23,818 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:39:25,448 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:39:25,448 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:39:25,822 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:39:25,825 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:39:27,456 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:39:27,456 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:39:27,844 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:39:27,847 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:39:29,463 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:39:29,463 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:39:29,849 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:39:29,852 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:39:31,472 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:39:31,472 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:39:31,859 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:39:31,862 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:39:33,486 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:39:33,487 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:39:33,876 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:39:33,879 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:39:35,495 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:39:35,496 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:39:35,885 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:39:35,888 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:39:37,505 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:39:37,505 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:39:37,895 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:39:37,898 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:39:39,514 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:39:39,514 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:39:39,901 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:39:39,904 ERROR cpu :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:39:41,525 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:39:41,525 ERROR memory :15572 [interfaces.py:monitor():129] Failed to sample metric: process no longer exists (pid=9368) +2023-02-24 12:39:41,852 INFO wandb-upload_7:15572 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmph8buxmt_ diff --git a/embeddings/wandb/run-20230224_123451-o6eekle7/logs/debug.log b/embeddings/wandb/run-20230224_123451-o6eekle7/logs/debug.log new file mode 100644 index 0000000000000000000000000000000000000000..d8408ff9aba88b060e42737e69cb77139c5df90f --- /dev/null +++ b/embeddings/wandb/run-20230224_123451-o6eekle7/logs/debug.log @@ -0,0 +1,28 @@ +2023-02-24 12:34:51,561 INFO MainThread:9368 [wandb_setup.py:_flush():68] Configure stats pid to 9368 +2023-02-24 12:34:51,562 INFO MainThread:9368 [wandb_setup.py:_flush():68] Loading settings from C:\Users\liamb\.config\wandb\settings +2023-02-24 12:34:51,562 INFO MainThread:9368 [wandb_setup.py:_flush():68] Loading settings from C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\settings +2023-02-24 12:34:51,562 INFO MainThread:9368 [wandb_setup.py:_flush():68] Loading settings from environment variables: {'_require_service': 'True'} +2023-02-24 12:34:51,562 INFO MainThread:9368 [wandb_setup.py:_flush():68] Inferring run settings from compute environment: {'program_relpath': 'embeddings\\hetero_GAT.py', 'program': 'C:\\Users\\liamb\\Documents\\graph4stackoverflow\\embeddings\\hetero_GAT.py'} +2023-02-24 12:34:51,563 INFO MainThread:9368 [wandb_init.py:_log_setup():492] Logging user logs to C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_123451-o6eekle7\logs\debug.log +2023-02-24 12:34:51,563 INFO MainThread:9368 [wandb_init.py:_log_setup():493] Logging internal logs to C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_123451-o6eekle7\logs\debug-internal.log +2023-02-24 12:34:51,563 INFO MainThread:9368 [wandb_init.py:init():532] calling init triggers +2023-02-24 12:34:51,564 INFO MainThread:9368 [wandb_init.py:init():538] wandb.init called with sweep_config: {} +config: {} +2023-02-24 12:34:51,564 INFO MainThread:9368 [wandb_init.py:init():588] starting backend +2023-02-24 12:34:51,564 INFO MainThread:9368 [wandb_init.py:init():592] setting up manager +2023-02-24 12:34:51,566 INFO MainThread:9368 [backend.py:_multiprocessing_setup():106] multiprocessing start_methods=spawn, using: spawn +2023-02-24 12:34:51,572 INFO MainThread:9368 [wandb_init.py:init():599] backend started and connected +2023-02-24 12:34:51,574 INFO MainThread:9368 [wandb_init.py:init():687] updated telemetry +2023-02-24 12:34:51,638 INFO MainThread:9368 [wandb_init.py:init():727] communicating run to backend with 60.0 second timeout +2023-02-24 12:34:52,002 INFO MainThread:9368 [wandb_run.py:_on_init():2134] communicating current version +2023-02-24 12:34:52,086 INFO MainThread:9368 [wandb_run.py:_on_init():2143] got version response +2023-02-24 12:34:52,086 INFO MainThread:9368 [wandb_init.py:init():775] starting run threads in backend +2023-02-24 12:34:52,264 INFO MainThread:9368 [wandb_run.py:_console_start():2114] atexit reg +2023-02-24 12:34:52,264 INFO MainThread:9368 [wandb_run.py:_redirect():1969] redirect: SettingsConsole.WRAP_RAW +2023-02-24 12:34:52,264 INFO MainThread:9368 [wandb_run.py:_redirect():2034] Wrapping output streams. +2023-02-24 12:34:52,265 INFO MainThread:9368 [wandb_run.py:_redirect():2059] Redirects installed. +2023-02-24 12:34:52,265 INFO MainThread:9368 [wandb_init.py:init():817] run started, returning control to user process +2023-02-24 12:35:09,498 INFO MainThread:9368 [wandb_run.py:_finish():1854] finishing run g4nlp/heterogeneous-GAT-model/o6eekle7 +2023-02-24 12:35:09,498 INFO MainThread:9368 [wandb_run.py:_atexit_cleanup():2083] got exitcode: 0 +2023-02-24 12:35:09,499 INFO MainThread:9368 [wandb_run.py:_restore():2066] restore +2023-02-24 12:35:09,499 INFO MainThread:9368 [wandb_run.py:_restore():2072] restore done diff --git a/embeddings/wandb/run-20230224_123451-o6eekle7/run-o6eekle7.wandb b/embeddings/wandb/run-20230224_123451-o6eekle7/run-o6eekle7.wandb new file mode 100644 index 0000000000000000000000000000000000000000..642b0dd3fac36e3b6551633db757b7da1ddff639 Binary files /dev/null and b/embeddings/wandb/run-20230224_123451-o6eekle7/run-o6eekle7.wandb differ diff --git a/embeddings/wandb/run-20230224_123626-57neoiah/files/config.yaml b/embeddings/wandb/run-20230224_123626-57neoiah/files/config.yaml new file mode 100644 index 0000000000000000000000000000000000000000..cd4345e0d8878b73caeb489fbfd83facb7356622 --- /dev/null +++ b/embeddings/wandb/run-20230224_123626-57neoiah/files/config.yaml @@ -0,0 +1,40 @@ +wandb_version: 1 + +_wandb: + desc: null + value: + cli_version: 0.13.10 + framework: huggingface + huggingface_version: 4.24.0 + is_jupyter_run: false + is_kaggle_kernel: false + python_version: 3.8.1 + start_time: 1677242186.399291 + t: + 1: + - 1 + - 5 + - 11 + - 33 + - 49 + - 53 + - 55 + - 77 + 2: + - 1 + - 5 + - 11 + - 33 + - 49 + - 53 + - 55 + - 77 + 3: + - 13 + - 23 + 4: 3.8.1 + 5: 0.13.10 + 6: 4.24.0 + 8: + - 3 + - 5 diff --git a/embeddings/wandb/run-20230224_123626-57neoiah/files/media/table/data_1_83bbf864290b80cf8624.table.json b/embeddings/wandb/run-20230224_123626-57neoiah/files/media/table/data_1_83bbf864290b80cf8624.table.json new file mode 100644 index 0000000000000000000000000000000000000000..8bcfad55bae51e5e9981553433c33755fe1ea836 --- /dev/null +++ b/embeddings/wandb/run-20230224_123626-57neoiah/files/media/table/data_1_83bbf864290b80cf8624.table.json @@ -0,0 +1 @@ +{"columns": ["Graph", "Number of Nodes", "Number of Edges", "Label"], "data": [["Html", 5, 8, 1], ["Html", 74, 118, 1], ["Html", 3, 4, 1], ["Html", 70, 120, 1], ["Html", 41, 86, 1], ["Html", 11, 14, 1], ["Html", 17, 22, 1], ["Html", 51, 94, 1], ["Html", 58, 90, 1], ["Html", 39, 74, 1], ["Html", 74, 118, 1], ["Html", 38, 68, 1], ["Html", 4, 6, 1], ["Html", 4, 6, 1], ["Html", 84, 130, 1], ["Html", 21, 36, 1], ["Html", 18, 30, 1], ["Html", 55, 84, 1], ["Html", 74, 142, 1], ["Html", 26, 38, 1], ["Html", 3, 4, 1], ["Html", 73, 120, 1], ["Html", 34, 50, 1], ["Html", 48, 86, 1], ["Html", 62, 106, 1], ["Html", 44, 82, 1], ["Html", 10, 16, 1], ["Html", 9, 12, 1], ["Html", 52, 88, 0], ["Html", 16, 28, 1], ["Html", 70, 120, 1], ["Html", 29, 40, 1], ["Html", 78, 110, 1], ["Html", 32, 42, 1], ["Html", 46, 66, 1], ["Html", 11, 18, 1], ["Html", 75, 132, 1], ["Html", 56, 92, 1], ["Html", 45, 92, 1], ["Html", 48, 106, 1], ["Html", 41, 86, 1], ["Html", 4, 6, 1], ["Html", 26, 46, 1], ["Html", 21, 32, 1], ["Html", 61, 96, 1], ["Html", 51, 80, 1]]} \ No newline at end of file diff --git a/embeddings/wandb/run-20230224_123626-57neoiah/files/output.log b/embeddings/wandb/run-20230224_123626-57neoiah/files/output.log new file mode 100644 index 0000000000000000000000000000000000000000..4bce79c9ace7ef47c24d91bf6431f943a1a54bfd --- /dev/null +++ b/embeddings/wandb/run-20230224_123626-57neoiah/files/output.log @@ -0,0 +1,6 @@ +Traceback (most recent call last): + File "C:\Users\liamb\Documents\graph4stackoverflow\embeddings\hetero_GAT.py", line 159, in <module> + dataset_artifact.add_dir("dataset") + File "C:\Users\liamb\Documents\graph4stackoverflow\venv\lib\site-packages\wandb\sdk\wandb_artifacts.py", line 438, in add_dir + raise ValueError("Path is not a directory: %s" % local_path) +ValueError: Path is not a directory: dataset \ No newline at end of file diff --git a/embeddings/wandb/run-20230224_123626-57neoiah/files/requirements.txt b/embeddings/wandb/run-20230224_123626-57neoiah/files/requirements.txt new file mode 100644 index 0000000000000000000000000000000000000000..d7de821539624662109e252a91c4907a963ad5fb --- /dev/null +++ b/embeddings/wandb/run-20230224_123626-57neoiah/files/requirements.txt @@ -0,0 +1,170 @@ +absl-py==1.3.0 +anyio==3.6.2 +appdirs==1.4.4 +argon2-cffi-bindings==21.2.0 +argon2-cffi==21.3.0 +asttokens==2.1.0 +astunparse==1.6.3 +attrs==22.1.0 +backcall==0.2.0 +beautifulsoup4==4.11.1 +bleach==5.0.1 +blis==0.7.9 +bs4==0.0.1 +cachetools==5.2.0 +catalogue==2.0.8 +certifi==2022.9.24 +cffi==1.15.1 +charset-normalizer==2.1.1 +click==8.1.3 +colorama==0.4.6 +confection==0.0.3 +contourpy==1.0.6 +cycler==0.11.0 +cymem==2.0.7 +debugpy==1.6.3 +decorator==5.1.1 +defusedxml==0.7.1 +dgl==0.9.1 +docker-pycreds==0.4.0 +en-core-web-sm==3.4.1 +entrypoints==0.4 +executing==1.2.0 +fastjsonschema==2.16.2 +filelock==3.8.0 +fonttools==4.38.0 +gitdb==4.0.10 +gitpython==3.1.31 +google-auth-oauthlib==0.4.6 +google-auth==2.14.0 +graph4nlp==0.5.5 +grpcio==1.50.0 +huggingface-hub==0.10.1 +idna==3.4 +importlib-metadata==5.0.0 +importlib-resources==5.10.0 +ipykernel==6.16.2 +ipython-genutils==0.2.0 +ipython==8.6.0 +ipywidgets==8.0.2 +jedi==0.18.1 +jinja2==3.1.2 +joblib==1.2.0 +jsonschema==4.16.0 +jupyter-client==7.4.4 +jupyter-console==6.4.4 +jupyter-core==4.11.2 +jupyter-server==1.21.0 +jupyter==1.0.0 +jupyterlab-pygments==0.2.2 +jupyterlab-widgets==3.0.3 +kiwisolver==1.4.4 +langcodes==3.3.0 +littleutils==0.2.2 +lxml==4.9.1 +markdown==3.4.1 +markupsafe==2.1.1 +matplotlib-inline==0.1.6 +matplotlib==3.6.2 +mistune==2.0.4 +murmurhash==1.0.9 +nbclassic==0.4.7 +nbclient==0.7.0 +nbconvert==7.2.3 +nbformat==5.7.0 +nest-asyncio==1.5.6 +networkx==2.8.8 +nltk==3.7 +notebook-shim==0.2.0 +notebook==6.5.2 +numpy==1.23.5 +oauthlib==3.2.2 +ogb==1.3.5 +outdated==0.2.2 +packaging==21.3 +pandas==1.5.1 +pandocfilters==1.5.0 +parso==0.8.3 +pathtools==0.1.2 +pathy==0.6.2 +pickleshare==0.7.5 +pillow==9.3.0 +pip==21.3.1 +pkgutil-resolve-name==1.3.10 +plotly==5.13.0 +preshed==3.0.8 +prometheus-client==0.15.0 +prompt-toolkit==3.0.31 +protobuf==3.19.6 +psutil==5.9.3 +pure-eval==0.2.2 +pyasn1-modules==0.2.8 +pyasn1==0.4.8 +pycparser==2.21 +pydantic==1.10.2 +pygments==2.13.0 +pyparsing==3.0.9 +pyrsistent==0.18.1 +python-dateutil==2.8.2 +pythonds==1.2.1 +pytz==2022.5 +pywin32==304 +pywinpty==2.0.9 +pyyaml==6.0 +pyzmq==24.0.1 +qtconsole==5.3.2 +qtpy==2.2.1 +regex==2022.10.31 +requests-oauthlib==1.3.1 +requests==2.28.1 +rsa==4.9 +scikit-learn==1.1.3 +scipy==1.9.3 +send2trash==1.8.0 +sentry-sdk==1.15.0 +setproctitle==1.3.2 +setuptools==60.2.0 +six==1.16.0 +smart-open==5.2.1 +smmap==5.0.0 +sniffio==1.3.0 +soupsieve==2.3.2.post1 +spacy-legacy==3.0.10 +spacy-loggers==1.0.3 +spacy==3.4.2 +srsly==2.4.5 +stack-data==0.6.0 +stanfordcorenlp==3.9.1.1 +tenacity==8.2.1 +tensorboard-data-server==0.6.1 +tensorboard-plugin-wit==1.8.1 +tensorboard==2.10.1 +terminado==0.17.0 +thinc==8.1.5 +threadpoolctl==3.1.0 +tinycss2==1.2.1 +tokenizers==0.13.2 +torch-cluster==1.6.0+pt113cpu +torch-geometric==2.2.0 +torch-scatter==2.1.0+pt113cpu +torch-sparse==0.6.16+pt113cpu +torch-spline-conv==1.2.1+pt113cpu +torch==1.13.0 +torchsummary==1.5.1 +torchtext==0.14.0 +tornado==6.2 +tqdm==4.64.1 +traitlets==5.5.0 +transformers==4.24.0 +typer==0.4.2 +typing-extensions==4.4.0 +urllib3==1.26.12 +wandb==0.13.10 +wasabi==0.10.1 +wcwidth==0.2.5 +webencodings==0.5.1 +websocket-client==1.4.1 +werkzeug==2.2.2 +wheel==0.37.1 +widgetsnbextension==4.0.3 +zipp==3.10.0 \ No newline at end of file diff --git a/embeddings/wandb/run-20230224_123626-57neoiah/files/wandb-metadata.json b/embeddings/wandb/run-20230224_123626-57neoiah/files/wandb-metadata.json new file mode 100644 index 0000000000000000000000000000000000000000..b4560900a0b434dce6ddf4fa0620ec18c8bae76c --- /dev/null +++ b/embeddings/wandb/run-20230224_123626-57neoiah/files/wandb-metadata.json @@ -0,0 +1,42 @@ +{ + "os": "Windows-10-10.0.19041-SP0", + "python": "3.8.1", + "heartbeatAt": "2023-02-24T12:36:27.003307", + "startedAt": "2023-02-24T12:36:26.385293", + "docker": null, + "cuda": null, + "args": [], + "state": "running", + "program": "C:\\Users\\liamb\\Documents\\graph4stackoverflow\\embeddings\\hetero_GAT.py", + "codePath": "embeddings\\hetero_GAT.py", + "git": { + "remote": "https://git.soton.ac.uk/lhb1g20/graph4stackoverflow.git", + "commit": "ced992d661984f7b87d1a3e76768e4ff7af78245" + }, + "email": "liambyrneh@gmail.com", + "root": "C:/Users/liamb/Documents/graph4stackoverflow", + "host": "DESKTOP-P7BETFF", + "username": "liamb", + "executable": "C:\\Users\\liamb\\Documents\\graph4stackoverflow\\venv\\Scripts\\python.exe", + "cpu_count": 2, + "cpu_count_logical": 4, + "cpu_freq": { + "current": 3504.0, + "min": 0.0, + "max": 3504.0 + }, + "cpu_freq_per_core": [ + { + "current": 3504.0, + "min": 0.0, + "max": 3504.0 + } + ], + "disk": { + "total": 475.71581649780273, + "used": 353.6946105957031 + }, + "memory": { + "total": 31.89160919189453 + } +} diff --git a/embeddings/wandb/run-20230224_123626-57neoiah/files/wandb-summary.json b/embeddings/wandb/run-20230224_123626-57neoiah/files/wandb-summary.json new file mode 100644 index 0000000000000000000000000000000000000000..ccc20fe68355026ab20a784ee9bc0517000a1e06 --- /dev/null +++ b/embeddings/wandb/run-20230224_123626-57neoiah/files/wandb-summary.json @@ -0,0 +1 @@ +{"num_node_features": {"question": 1536, "answer": 1536, "comment": 768, "tag": 50, "module": 30}, "num_classes": 2, "_timestamp": 1677242197.1499362, "_runtime": 10.750645160675049, "_step": 1, "data": {"_type": "table-file", "sha256": "83bbf864290b80cf8624948cb39add689e6cf983395c372d7f2e0d6c0428060e", "size": 1043, "artifact_path": "wandb-client-artifact://9rgscyw9ndpwlef4nm421inq07u15fhsyeel02d56lvd9kwslgdtjfcb8ibsy1rgtmpyo65dtnbd3y3vy4fa3v7wu5vt24ph3oi1c3cawiw25drnmtxhzf85opgy4upk:latest/data.table.json", "_latest_artifact_path": "wandb-client-artifact://9rgscyw9ndpwlef4nm421inq07u15fhsyeel02d56lvd9kwslgdtjfcb8ibsy1rgtmpyo65dtnbd3y3vy4fa3v7wu5vt24ph3oi1c3cawiw25drnmtxhzf85opgy4upk:latest/data.table.json", "path": "media/table/data_1_83bbf864290b80cf8624.table.json", "ncols": 4, "nrows": 46}, "_wandb": {"runtime": 10}} \ No newline at end of file diff --git a/embeddings/wandb/run-20230224_123626-57neoiah/logs/debug-internal.log b/embeddings/wandb/run-20230224_123626-57neoiah/logs/debug-internal.log new file mode 100644 index 0000000000000000000000000000000000000000..861184f7caea88d1cbb3a83d61e02fe6125e80ed --- /dev/null +++ b/embeddings/wandb/run-20230224_123626-57neoiah/logs/debug-internal.log @@ -0,0 +1,240 @@ +2023-02-24 12:36:26,399 INFO StreamThr :12268 [internal.py:wandb_internal():87] W&B internal server running at pid: 12268, started at: 2023-02-24 12:36:26.398291 +2023-02-24 12:36:26,401 DEBUG HandlerThread:12268 [handler.py:handle_request():144] handle_request: status +2023-02-24 12:36:26,402 INFO WriterThread:12268 [datastore.py:open_for_write():85] open: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_123626-57neoiah\run-57neoiah.wandb +2023-02-24 12:36:26,407 DEBUG SenderThread:12268 [sender.py:send():336] send: header +2023-02-24 12:36:26,459 DEBUG SenderThread:12268 [sender.py:send():336] send: run +2023-02-24 12:36:26,894 INFO SenderThread:12268 [dir_watcher.py:__init__():216] watching files in: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_123626-57neoiah\files +2023-02-24 12:36:26,894 INFO SenderThread:12268 [sender.py:_start_run_threads():1067] run started: 57neoiah with start time 1677242186.399291 +2023-02-24 12:36:26,894 DEBUG SenderThread:12268 [sender.py:send_request():363] send_request: summary_record +2023-02-24 12:36:26,895 INFO SenderThread:12268 [sender.py:_save_file():1321] saving file wandb-summary.json with policy end +2023-02-24 12:36:26,895 DEBUG HandlerThread:12268 [handler.py:handle_request():144] handle_request: check_version +2023-02-24 12:36:26,895 DEBUG SenderThread:12268 [sender.py:send_request():363] send_request: check_version +2023-02-24 12:36:26,979 DEBUG HandlerThread:12268 [handler.py:handle_request():144] handle_request: run_start +2023-02-24 12:36:26,998 DEBUG HandlerThread:12268 [system_info.py:__init__():31] System info init +2023-02-24 12:36:26,998 DEBUG HandlerThread:12268 [system_info.py:__init__():46] System info init done +2023-02-24 12:36:26,998 INFO HandlerThread:12268 [system_monitor.py:start():151] Starting system monitor +2023-02-24 12:36:26,998 INFO SystemMonitor:12268 [system_monitor.py:_start():116] Starting system asset monitoring threads +2023-02-24 12:36:26,999 INFO HandlerThread:12268 [system_monitor.py:probe():172] Collecting system info +2023-02-24 12:36:27,002 INFO SystemMonitor:12268 [interfaces.py:start():168] Started cpu +2023-02-24 12:36:27,003 DEBUG HandlerThread:12268 [system_info.py:probe():195] Probing system +2023-02-24 12:36:27,003 INFO SystemMonitor:12268 [interfaces.py:start():168] Started disk +2023-02-24 12:36:27,004 INFO SystemMonitor:12268 [interfaces.py:start():168] Started memory +2023-02-24 12:36:27,020 INFO SystemMonitor:12268 [interfaces.py:start():168] Started network +2023-02-24 12:36:27,021 DEBUG HandlerThread:12268 [system_info.py:_probe_git():180] Probing git +2023-02-24 12:36:27,123 DEBUG HandlerThread:12268 [system_info.py:_probe_git():188] Probing git done +2023-02-24 12:36:27,123 DEBUG HandlerThread:12268 [system_info.py:probe():241] Probing system done +2023-02-24 12:36:27,123 DEBUG HandlerThread:12268 [system_monitor.py:probe():181] {'os': 'Windows-10-10.0.19041-SP0', 'python': '3.8.1', 'heartbeatAt': '2023-02-24T12:36:27.003307', 'startedAt': '2023-02-24T12:36:26.385293', 'docker': None, 'cuda': None, 'args': (), 'state': 'running', 'program': 'C:\\Users\\liamb\\Documents\\graph4stackoverflow\\embeddings\\hetero_GAT.py', 'codePath': 'embeddings\\hetero_GAT.py', 'git': {'remote': 'https://git.soton.ac.uk/lhb1g20/graph4stackoverflow.git', 'commit': 'ced992d661984f7b87d1a3e76768e4ff7af78245'}, 'email': 'liambyrneh@gmail.com', 'root': 'C:/Users/liamb/Documents/graph4stackoverflow', 'host': 'DESKTOP-P7BETFF', 'username': 'liamb', 'executable': 'C:\\Users\\liamb\\Documents\\graph4stackoverflow\\venv\\Scripts\\python.exe', 'cpu_count': 2, 'cpu_count_logical': 4, 'cpu_freq': {'current': 3504.0, 'min': 0.0, 'max': 3504.0}, 'cpu_freq_per_core': [{'current': 3504.0, 'min': 0.0, 'max': 3504.0}], 'disk': {'total': 475.71581649780273, 'used': 353.6946105957031}, 'memory': {'total': 31.89160919189453}} +2023-02-24 12:36:27,123 INFO HandlerThread:12268 [system_monitor.py:probe():182] Finished collecting system info +2023-02-24 12:36:27,124 INFO HandlerThread:12268 [system_monitor.py:probe():185] Publishing system info +2023-02-24 12:36:27,124 DEBUG HandlerThread:12268 [system_info.py:_save_pip():51] Saving list of pip packages installed into the current environment +2023-02-24 12:36:27,125 DEBUG HandlerThread:12268 [system_info.py:_save_pip():67] Saving pip packages done +2023-02-24 12:36:27,127 INFO HandlerThread:12268 [system_monitor.py:probe():187] Finished publishing system info +2023-02-24 12:36:27,138 DEBUG SenderThread:12268 [sender.py:send():336] send: files +2023-02-24 12:36:27,138 INFO SenderThread:12268 [sender.py:_save_file():1321] saving file wandb-metadata.json with policy now +2023-02-24 12:36:27,146 DEBUG HandlerThread:12268 [handler.py:handle_request():144] handle_request: stop_status +2023-02-24 12:36:27,146 DEBUG SenderThread:12268 [sender.py:send_request():363] send_request: stop_status +2023-02-24 12:36:27,149 DEBUG HandlerThread:12268 [handler.py:handle_request():144] handle_request: partial_history +2023-02-24 12:36:27,311 DEBUG SenderThread:12268 [sender.py:send():336] send: telemetry +2023-02-24 12:36:27,311 DEBUG SenderThread:12268 [sender.py:send():336] send: history +2023-02-24 12:36:27,311 DEBUG SenderThread:12268 [sender.py:send_request():363] send_request: summary_record +2023-02-24 12:36:27,312 INFO SenderThread:12268 [sender.py:_save_file():1321] saving file wandb-summary.json with policy end +2023-02-24 12:36:27,734 INFO wandb-upload_0:12268 [upload_job.py:push():138] Uploaded file C:\Users\liamb\AppData\Local\Temp\tmpotclp870wandb\phn3bl48-wandb-metadata.json +2023-02-24 12:36:27,918 INFO Thread-17 :12268 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_123626-57neoiah\files\wandb-metadata.json +2023-02-24 12:36:27,919 INFO Thread-17 :12268 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_123626-57neoiah\files\wandb-summary.json +2023-02-24 12:36:27,919 INFO Thread-17 :12268 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_123626-57neoiah\files\requirements.txt +2023-02-24 12:36:32,368 DEBUG HandlerThread:12268 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 12:36:36,821 DEBUG HandlerThread:12268 [handler.py:handle_request():144] handle_request: log_artifact +2023-02-24 12:36:36,821 DEBUG SenderThread:12268 [sender.py:send_request():363] send_request: log_artifact +2023-02-24 12:36:37,036 INFO Thread-17 :12268 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_123626-57neoiah\files\media\table\data_1_83bbf864290b80cf8624.table.json +2023-02-24 12:36:37,037 INFO Thread-17 :12268 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_123626-57neoiah\files\media +2023-02-24 12:36:37,037 INFO Thread-17 :12268 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_123626-57neoiah\files\media\table +2023-02-24 12:36:37,164 DEBUG HandlerThread:12268 [handler.py:handle_request():144] handle_request: partial_history +2023-02-24 12:36:38,170 DEBUG HandlerThread:12268 [handler.py:handle_request():144] handle_request: poll_exit +2023-02-24 12:36:38,799 INFO wandb-upload_0:12268 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmp1cbvc24d +2023-02-24 12:36:43,597 DEBUG HandlerThread:12268 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 12:36:48,651 DEBUG HandlerThread:12268 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 12:36:49,136 INFO wandb-upload_2:12268 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpquksjg3s +2023-02-24 12:36:49,165 INFO wandb-upload_4:12268 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpelt5b40_ +2023-02-24 12:36:49,306 INFO wandb-upload_5:12268 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpv6jg4pkm +2023-02-24 12:36:49,564 INFO wandb-upload_9:12268 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpj5lfb8j2 +2023-02-24 12:36:50,123 INFO wandb-upload_8:12268 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpm7j77z98 +2023-02-24 12:36:50,572 INFO wandb-upload_6:12268 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpwkcjhrn_ +2023-02-24 12:36:50,947 INFO wandb-upload_1:12268 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpcyp_6d5o +2023-02-24 12:36:51,291 INFO wandb-upload_3:12268 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmp7wew2goo +2023-02-24 12:36:51,864 INFO wandb-upload_38:12268 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpe_yaqe1_ +2023-02-24 12:36:52,494 INFO wandb-upload_13:12268 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmp57ejuqb8 +2023-02-24 12:36:52,703 INFO wandb-upload_11:12268 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmp5qe1l6s9 +2023-02-24 12:36:52,720 INFO wandb-upload_46:12268 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpqeyex9th +2023-02-24 12:36:52,855 INFO wandb-upload_41:12268 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmp3x5746s8 +2023-02-24 12:36:52,855 INFO wandb-upload_30:12268 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpga86w4yl +2023-02-24 12:36:52,890 INFO wandb-upload_43:12268 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmp0gkfwzx9 +2023-02-24 12:36:53,136 INFO wandb-upload_31:12268 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmp2mbkkmhc +2023-02-24 12:36:53,166 INFO wandb-upload_25:12268 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpdduww_7l +2023-02-24 12:36:53,458 INFO wandb-upload_23:12268 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpqi7qws5n +2023-02-24 12:36:53,714 DEBUG HandlerThread:12268 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 12:36:53,727 INFO wandb-upload_7:12268 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpyp2tw0kv +2023-02-24 12:36:53,759 INFO wandb-upload_40:12268 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpbgi3e7n7 +2023-02-24 12:36:53,792 INFO wandb-upload_35:12268 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmp03rag5dk +2023-02-24 12:36:53,803 INFO wandb-upload_39:12268 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmp8vw1y6lk +2023-02-24 12:36:53,848 INFO wandb-upload_42:12268 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmppdiisoz4 +2023-02-24 12:36:53,849 INFO wandb-upload_15:12268 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmp_ugz2no7 +2023-02-24 12:36:53,849 INFO wandb-upload_16:12268 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmppee8mqr6 +2023-02-24 12:36:53,868 INFO wandb-upload_12:12268 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpzed77svk +2023-02-24 12:36:53,915 INFO wandb-upload_22:12268 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmp200dlgs4 +2023-02-24 12:36:53,921 INFO wandb-upload_37:12268 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmp2y92wol4 +2023-02-24 12:36:53,927 INFO wandb-upload_14:12268 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpwht4tn2v +2023-02-24 12:36:53,930 INFO wandb-upload_21:12268 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmp2y3jc1ar +2023-02-24 12:36:53,932 INFO wandb-upload_28:12268 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmp73o9iy4_ +2023-02-24 12:36:53,935 INFO wandb-upload_10:12268 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpduyr60gi +2023-02-24 12:36:53,935 INFO wandb-upload_29:12268 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpavxyp9ot +2023-02-24 12:36:53,935 INFO wandb-upload_24:12268 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpca0mirlv +2023-02-24 12:36:53,946 INFO wandb-upload_18:12268 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmp24ntdzqn +2023-02-24 12:36:53,947 INFO wandb-upload_19:12268 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpscji2apr +2023-02-24 12:36:53,959 INFO wandb-upload_36:12268 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpvjl0h34a +2023-02-24 12:36:53,960 INFO wandb-upload_45:12268 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpbs59o8yu +2023-02-24 12:36:53,975 INFO wandb-upload_20:12268 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpe6mc1_zi +2023-02-24 12:36:54,011 INFO wandb-upload_44:12268 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpu3xt3wj_ +2023-02-24 12:36:54,014 INFO wandb-upload_26:12268 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpy7tanw80 +2023-02-24 12:36:54,024 INFO wandb-upload_27:12268 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmp1waabtf_ +2023-02-24 12:36:54,025 INFO wandb-upload_17:12268 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpwljka1_3 +2023-02-24 12:36:54,046 INFO wandb-upload_34:12268 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmprbgfzhnn +2023-02-24 12:36:54,086 INFO wandb-upload_32:12268 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpwbowb73a +2023-02-24 12:36:54,371 INFO wandb-upload_33:12268 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpvxqpnob7 +2023-02-24 12:36:55,414 INFO SenderThread:12268 [sender.py:send_request_log_artifact():1381] logged artifact run-57neoiah-data - {'id': 'QXJ0aWZhY3Q6MzgwNDAyMTk5', 'digest': '276807336a0d5710b9c19ab76dcb773f', 'state': 'PENDING', 'aliases': [], 'artifactSequence': {'id': 'QXJ0aWZhY3RDb2xsZWN0aW9uOjU0NTkzNDg3', 'latestArtifact': None}, 'version': 'latest'} +2023-02-24 12:36:55,415 DEBUG SenderThread:12268 [sender.py:send():336] send: files +2023-02-24 12:36:55,415 DEBUG HandlerThread:12268 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 12:36:55,415 INFO SenderThread:12268 [sender.py:_save_file():1321] saving file media\table\data_1_83bbf864290b80cf8624.table.json with policy now +2023-02-24 12:36:55,416 DEBUG SenderThread:12268 [sender.py:send():336] send: history +2023-02-24 12:36:55,417 DEBUG SenderThread:12268 [sender.py:send_request():363] send_request: summary_record +2023-02-24 12:36:55,418 INFO SenderThread:12268 [sender.py:_save_file():1321] saving file wandb-summary.json with policy end +2023-02-24 12:36:55,421 DEBUG SenderThread:12268 [sender.py:send():336] send: exit +2023-02-24 12:36:55,422 INFO SenderThread:12268 [sender.py:send_exit():559] handling exit code: 1 +2023-02-24 12:36:55,422 INFO SenderThread:12268 [sender.py:send_exit():561] handling runtime: 10 +2023-02-24 12:36:55,426 INFO SenderThread:12268 [sender.py:_save_file():1321] saving file wandb-summary.json with policy end +2023-02-24 12:36:55,426 INFO SenderThread:12268 [sender.py:send_exit():567] send defer +2023-02-24 12:36:55,426 DEBUG SenderThread:12268 [sender.py:send_request():363] send_request: poll_exit +2023-02-24 12:36:55,427 DEBUG HandlerThread:12268 [handler.py:handle_request():144] handle_request: defer +2023-02-24 12:36:55,427 INFO HandlerThread:12268 [handler.py:handle_request_defer():170] handle defer: 0 +2023-02-24 12:36:55,427 DEBUG SenderThread:12268 [sender.py:send_request():363] send_request: defer +2023-02-24 12:36:55,428 INFO SenderThread:12268 [sender.py:send_request_defer():583] handle sender defer: 0 +2023-02-24 12:36:55,428 INFO SenderThread:12268 [sender.py:transition_state():587] send defer: 1 +2023-02-24 12:36:55,428 DEBUG HandlerThread:12268 [handler.py:handle_request():144] handle_request: defer +2023-02-24 12:36:55,428 INFO HandlerThread:12268 [handler.py:handle_request_defer():170] handle defer: 1 +2023-02-24 12:36:55,428 DEBUG SenderThread:12268 [sender.py:send_request():363] send_request: defer +2023-02-24 12:36:55,428 INFO SenderThread:12268 [sender.py:send_request_defer():583] handle sender defer: 1 +2023-02-24 12:36:55,428 INFO SenderThread:12268 [sender.py:transition_state():587] send defer: 2 +2023-02-24 12:36:55,428 DEBUG HandlerThread:12268 [handler.py:handle_request():144] handle_request: defer +2023-02-24 12:36:55,429 INFO HandlerThread:12268 [handler.py:handle_request_defer():170] handle defer: 2 +2023-02-24 12:36:55,429 INFO HandlerThread:12268 [system_monitor.py:finish():161] Stopping system monitor +2023-02-24 12:36:55,429 DEBUG SystemMonitor:12268 [system_monitor.py:_start():130] Starting system metrics aggregation loop +2023-02-24 12:36:55,429 INFO HandlerThread:12268 [interfaces.py:finish():175] Joined cpu +2023-02-24 12:36:55,430 DEBUG SystemMonitor:12268 [system_monitor.py:_start():137] Finished system metrics aggregation loop +2023-02-24 12:36:55,430 INFO HandlerThread:12268 [interfaces.py:finish():175] Joined disk +2023-02-24 12:36:55,430 DEBUG SystemMonitor:12268 [system_monitor.py:_start():141] Publishing last batch of metrics +2023-02-24 12:36:55,430 INFO HandlerThread:12268 [interfaces.py:finish():175] Joined memory +2023-02-24 12:36:55,431 INFO HandlerThread:12268 [interfaces.py:finish():175] Joined network +2023-02-24 12:36:55,432 DEBUG SenderThread:12268 [sender.py:send_request():363] send_request: defer +2023-02-24 12:36:55,432 INFO SenderThread:12268 [sender.py:send_request_defer():583] handle sender defer: 2 +2023-02-24 12:36:55,432 INFO SenderThread:12268 [sender.py:transition_state():587] send defer: 3 +2023-02-24 12:36:55,432 DEBUG SenderThread:12268 [sender.py:send():336] send: stats +2023-02-24 12:36:55,432 DEBUG HandlerThread:12268 [handler.py:handle_request():144] handle_request: defer +2023-02-24 12:36:55,432 INFO HandlerThread:12268 [handler.py:handle_request_defer():170] handle defer: 3 +2023-02-24 12:36:55,433 DEBUG SenderThread:12268 [sender.py:send_request():363] send_request: defer +2023-02-24 12:36:55,433 INFO SenderThread:12268 [sender.py:send_request_defer():583] handle sender defer: 3 +2023-02-24 12:36:55,433 INFO SenderThread:12268 [sender.py:transition_state():587] send defer: 4 +2023-02-24 12:36:55,433 DEBUG HandlerThread:12268 [handler.py:handle_request():144] handle_request: defer +2023-02-24 12:36:55,433 INFO HandlerThread:12268 [handler.py:handle_request_defer():170] handle defer: 4 +2023-02-24 12:36:55,434 DEBUG SenderThread:12268 [sender.py:send_request():363] send_request: defer +2023-02-24 12:36:55,434 INFO SenderThread:12268 [sender.py:send_request_defer():583] handle sender defer: 4 +2023-02-24 12:36:55,434 INFO SenderThread:12268 [sender.py:transition_state():587] send defer: 5 +2023-02-24 12:36:55,434 DEBUG HandlerThread:12268 [handler.py:handle_request():144] handle_request: defer +2023-02-24 12:36:55,434 INFO HandlerThread:12268 [handler.py:handle_request_defer():170] handle defer: 5 +2023-02-24 12:36:55,435 DEBUG SenderThread:12268 [sender.py:send():336] send: summary +2023-02-24 12:36:55,436 INFO SenderThread:12268 [sender.py:_save_file():1321] saving file wandb-summary.json with policy end +2023-02-24 12:36:55,437 DEBUG SenderThread:12268 [sender.py:send_request():363] send_request: defer +2023-02-24 12:36:55,437 INFO SenderThread:12268 [sender.py:send_request_defer():583] handle sender defer: 5 +2023-02-24 12:36:55,437 INFO SenderThread:12268 [sender.py:transition_state():587] send defer: 6 +2023-02-24 12:36:55,437 DEBUG HandlerThread:12268 [handler.py:handle_request():144] handle_request: defer +2023-02-24 12:36:55,437 INFO HandlerThread:12268 [handler.py:handle_request_defer():170] handle defer: 6 +2023-02-24 12:36:55,437 DEBUG SenderThread:12268 [sender.py:send_request():363] send_request: defer +2023-02-24 12:36:55,437 INFO SenderThread:12268 [sender.py:send_request_defer():583] handle sender defer: 6 +2023-02-24 12:36:55,441 DEBUG HandlerThread:12268 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 12:36:55,634 INFO SenderThread:12268 [sender.py:transition_state():587] send defer: 7 +2023-02-24 12:36:55,634 DEBUG HandlerThread:12268 [handler.py:handle_request():144] handle_request: defer +2023-02-24 12:36:55,634 INFO HandlerThread:12268 [handler.py:handle_request_defer():170] handle defer: 7 +2023-02-24 12:36:55,634 DEBUG SenderThread:12268 [sender.py:send_request():363] send_request: defer +2023-02-24 12:36:55,634 INFO SenderThread:12268 [sender.py:send_request_defer():583] handle sender defer: 7 +2023-02-24 12:36:55,929 INFO wandb-upload_0:12268 [upload_job.py:push():138] Uploaded file C:\Users\liamb\AppData\Local\Temp\tmpotclp870wandb\3lnm91wn-media/table/data_1_83bbf864290b80cf8624.table.json +2023-02-24 12:36:56,331 INFO Thread-17 :12268 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_123626-57neoiah\files\config.yaml +2023-02-24 12:36:56,331 INFO Thread-17 :12268 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_123626-57neoiah\files\wandb-summary.json +2023-02-24 12:36:56,332 INFO Thread-17 :12268 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_123626-57neoiah\files\output.log +2023-02-24 12:36:57,438 INFO SenderThread:12268 [sender.py:transition_state():587] send defer: 8 +2023-02-24 12:36:57,439 DEBUG HandlerThread:12268 [handler.py:handle_request():144] handle_request: defer +2023-02-24 12:36:57,439 INFO HandlerThread:12268 [handler.py:handle_request_defer():170] handle defer: 8 +2023-02-24 12:36:57,440 DEBUG SenderThread:12268 [sender.py:send_request():363] send_request: defer +2023-02-24 12:36:57,440 INFO SenderThread:12268 [sender.py:send_request_defer():583] handle sender defer: 8 +2023-02-24 12:36:57,450 INFO SenderThread:12268 [sender.py:transition_state():587] send defer: 9 +2023-02-24 12:36:57,451 DEBUG HandlerThread:12268 [handler.py:handle_request():144] handle_request: defer +2023-02-24 12:36:57,451 DEBUG SenderThread:12268 [sender.py:send():336] send: artifact +2023-02-24 12:36:57,451 INFO HandlerThread:12268 [handler.py:handle_request_defer():170] handle defer: 9 +2023-02-24 12:36:58,282 INFO SenderThread:12268 [sender.py:send_artifact():1417] sent artifact job-https___git.soton.ac.uk_lhb1g20_graph4stackoverflow.git_embeddings_hetero_GAT.py - {'id': 'QXJ0aWZhY3Q6MzgwMzk2OTM0', 'digest': '8077f65decb82fd65dc9936bbf393b39', 'state': 'COMMITTED', 'aliases': [{'artifactCollectionName': 'job-https___git.soton.ac.uk_lhb1g20_graph4stackoverflow.git_embeddings_hetero_GAT.py', 'alias': 'latest'}, {'artifactCollectionName': 'job-https___git.soton.ac.uk_lhb1g20_graph4stackoverflow.git_embeddings_hetero_GAT.py', 'alias': 'v2'}], 'artifactSequence': {'id': 'QXJ0aWZhY3RDb2xsZWN0aW9uOjU0NTg3MzU0', 'latestArtifact': {'id': 'QXJ0aWZhY3Q6MzgwMzk2OTM0', 'versionIndex': 2}}, 'version': 'v2'} +2023-02-24 12:36:58,282 DEBUG SenderThread:12268 [sender.py:send_request():363] send_request: defer +2023-02-24 12:36:58,282 INFO SenderThread:12268 [sender.py:send_request_defer():583] handle sender defer: 9 +2023-02-24 12:36:58,282 INFO SenderThread:12268 [dir_watcher.py:finish():362] shutting down directory watcher +2023-02-24 12:36:58,345 INFO SenderThread:12268 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_123626-57neoiah\files\output.log +2023-02-24 12:36:58,345 INFO SenderThread:12268 [dir_watcher.py:finish():392] scan: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_123626-57neoiah\files +2023-02-24 12:36:58,345 INFO SenderThread:12268 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_123626-57neoiah\files\config.yaml config.yaml +2023-02-24 12:36:58,346 INFO SenderThread:12268 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_123626-57neoiah\files\output.log output.log +2023-02-24 12:36:58,348 INFO SenderThread:12268 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_123626-57neoiah\files\requirements.txt requirements.txt +2023-02-24 12:36:58,352 INFO SenderThread:12268 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_123626-57neoiah\files\wandb-metadata.json wandb-metadata.json +2023-02-24 12:36:58,353 INFO SenderThread:12268 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_123626-57neoiah\files\wandb-summary.json wandb-summary.json +2023-02-24 12:36:58,360 INFO SenderThread:12268 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_123626-57neoiah\files\media\table\data_1_83bbf864290b80cf8624.table.json media\table\data_1_83bbf864290b80cf8624.table.json +2023-02-24 12:36:58,360 INFO SenderThread:12268 [sender.py:transition_state():587] send defer: 10 +2023-02-24 12:36:58,360 DEBUG HandlerThread:12268 [handler.py:handle_request():144] handle_request: defer +2023-02-24 12:36:58,360 INFO HandlerThread:12268 [handler.py:handle_request_defer():170] handle defer: 10 +2023-02-24 12:36:58,361 DEBUG SenderThread:12268 [sender.py:send_request():363] send_request: defer +2023-02-24 12:36:58,361 INFO SenderThread:12268 [sender.py:send_request_defer():583] handle sender defer: 10 +2023-02-24 12:36:58,361 INFO SenderThread:12268 [file_pusher.py:finish():162] shutting down file pusher +2023-02-24 12:36:58,778 DEBUG HandlerThread:12268 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 12:36:58,887 INFO wandb-upload_4:12268 [upload_job.py:push():138] Uploaded file C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_123626-57neoiah\files\config.yaml +2023-02-24 12:36:58,914 INFO wandb-upload_6:12268 [upload_job.py:push():138] Uploaded file C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_123626-57neoiah\files\requirements.txt +2023-02-24 12:36:58,920 INFO wandb-upload_9:12268 [upload_job.py:push():138] Uploaded file C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_123626-57neoiah\files\output.log +2023-02-24 12:36:58,957 INFO wandb-upload_3:12268 [upload_job.py:push():138] Uploaded file C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_123626-57neoiah\files\wandb-summary.json +2023-02-24 12:36:59,169 INFO Thread-16 :12268 [sender.py:transition_state():587] send defer: 11 +2023-02-24 12:36:59,169 DEBUG HandlerThread:12268 [handler.py:handle_request():144] handle_request: defer +2023-02-24 12:36:59,170 INFO HandlerThread:12268 [handler.py:handle_request_defer():170] handle defer: 11 +2023-02-24 12:36:59,170 DEBUG SenderThread:12268 [sender.py:send_request():363] send_request: defer +2023-02-24 12:36:59,170 INFO SenderThread:12268 [sender.py:send_request_defer():583] handle sender defer: 11 +2023-02-24 12:36:59,170 INFO SenderThread:12268 [file_pusher.py:join():167] waiting for file pusher +2023-02-24 12:36:59,170 INFO SenderThread:12268 [sender.py:transition_state():587] send defer: 12 +2023-02-24 12:36:59,170 DEBUG HandlerThread:12268 [handler.py:handle_request():144] handle_request: defer +2023-02-24 12:36:59,171 INFO HandlerThread:12268 [handler.py:handle_request_defer():170] handle defer: 12 +2023-02-24 12:36:59,171 DEBUG SenderThread:12268 [sender.py:send_request():363] send_request: defer +2023-02-24 12:36:59,171 INFO SenderThread:12268 [sender.py:send_request_defer():583] handle sender defer: 12 +2023-02-24 12:36:59,313 INFO SenderThread:12268 [sender.py:transition_state():587] send defer: 13 +2023-02-24 12:36:59,313 DEBUG HandlerThread:12268 [handler.py:handle_request():144] handle_request: defer +2023-02-24 12:36:59,313 INFO HandlerThread:12268 [handler.py:handle_request_defer():170] handle defer: 13 +2023-02-24 12:36:59,313 DEBUG SenderThread:12268 [sender.py:send_request():363] send_request: defer +2023-02-24 12:36:59,313 INFO SenderThread:12268 [sender.py:send_request_defer():583] handle sender defer: 13 +2023-02-24 12:36:59,313 INFO SenderThread:12268 [sender.py:transition_state():587] send defer: 14 +2023-02-24 12:36:59,314 DEBUG HandlerThread:12268 [handler.py:handle_request():144] handle_request: defer +2023-02-24 12:36:59,314 INFO HandlerThread:12268 [handler.py:handle_request_defer():170] handle defer: 14 +2023-02-24 12:36:59,314 DEBUG SenderThread:12268 [sender.py:send():336] send: final +2023-02-24 12:36:59,314 DEBUG SenderThread:12268 [sender.py:send():336] send: footer +2023-02-24 12:36:59,315 DEBUG SenderThread:12268 [sender.py:send_request():363] send_request: defer +2023-02-24 12:36:59,315 INFO SenderThread:12268 [sender.py:send_request_defer():583] handle sender defer: 14 +2023-02-24 12:36:59,315 DEBUG HandlerThread:12268 [handler.py:handle_request():144] handle_request: poll_exit +2023-02-24 12:36:59,316 DEBUG HandlerThread:12268 [handler.py:handle_request():144] handle_request: server_info +2023-02-24 12:36:59,316 DEBUG HandlerThread:12268 [handler.py:handle_request():144] handle_request: get_summary +2023-02-24 12:36:59,316 DEBUG HandlerThread:12268 [handler.py:handle_request():144] handle_request: sampled_history +2023-02-24 12:36:59,317 DEBUG SenderThread:12268 [sender.py:send_request():363] send_request: poll_exit +2023-02-24 12:36:59,317 DEBUG SenderThread:12268 [sender.py:send_request():363] send_request: server_info +2023-02-24 12:36:59,485 INFO MainThread:12268 [wandb_run.py:_footer_history_summary_info():3442] rendering history +2023-02-24 12:36:59,486 INFO MainThread:12268 [wandb_run.py:_footer_history_summary_info():3474] rendering summary +2023-02-24 12:36:59,486 INFO MainThread:12268 [wandb_run.py:_footer_sync_info():3398] logging synced files +2023-02-24 12:36:59,486 DEBUG HandlerThread:12268 [handler.py:handle_request():144] handle_request: shutdown +2023-02-24 12:36:59,486 INFO HandlerThread:12268 [handler.py:finish():841] shutting down handler +2023-02-24 12:37:00,319 INFO WriterThread:12268 [datastore.py:close():299] close: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_123626-57neoiah\run-57neoiah.wandb +2023-02-24 12:37:00,490 INFO SenderThread:12268 [sender.py:finish():1493] shutting down sender +2023-02-24 12:37:00,490 INFO SenderThread:12268 [file_pusher.py:finish():162] shutting down file pusher +2023-02-24 12:37:00,490 INFO SenderThread:12268 [file_pusher.py:join():167] waiting for file pusher diff --git a/embeddings/wandb/run-20230224_123626-57neoiah/logs/debug.log b/embeddings/wandb/run-20230224_123626-57neoiah/logs/debug.log new file mode 100644 index 0000000000000000000000000000000000000000..5a432d177833bc7a30aef21e3022befbf2a84720 --- /dev/null +++ b/embeddings/wandb/run-20230224_123626-57neoiah/logs/debug.log @@ -0,0 +1,25 @@ +2023-02-24 12:36:26,389 INFO MainThread:3364 [wandb_setup.py:_flush():68] Configure stats pid to 3364 +2023-02-24 12:36:26,389 INFO MainThread:3364 [wandb_setup.py:_flush():68] Loading settings from C:\Users\liamb\.config\wandb\settings +2023-02-24 12:36:26,389 INFO MainThread:3364 [wandb_setup.py:_flush():68] Loading settings from C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\settings +2023-02-24 12:36:26,389 INFO MainThread:3364 [wandb_setup.py:_flush():68] Loading settings from environment variables: {'_require_service': 'True'} +2023-02-24 12:36:26,389 INFO MainThread:3364 [wandb_setup.py:_flush():68] Inferring run settings from compute environment: {'program_relpath': 'embeddings\\hetero_GAT.py', 'program': 'C:\\Users\\liamb\\Documents\\graph4stackoverflow\\embeddings\\hetero_GAT.py'} +2023-02-24 12:36:26,390 INFO MainThread:3364 [wandb_init.py:_log_setup():492] Logging user logs to C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_123626-57neoiah\logs\debug.log +2023-02-24 12:36:26,390 INFO MainThread:3364 [wandb_init.py:_log_setup():493] Logging internal logs to C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_123626-57neoiah\logs\debug-internal.log +2023-02-24 12:36:26,390 INFO MainThread:3364 [wandb_init.py:init():532] calling init triggers +2023-02-24 12:36:26,391 INFO MainThread:3364 [wandb_init.py:init():538] wandb.init called with sweep_config: {} +config: {} +2023-02-24 12:36:26,391 INFO MainThread:3364 [wandb_init.py:init():588] starting backend +2023-02-24 12:36:26,391 INFO MainThread:3364 [wandb_init.py:init():592] setting up manager +2023-02-24 12:36:26,393 INFO MainThread:3364 [backend.py:_multiprocessing_setup():106] multiprocessing start_methods=spawn, using: spawn +2023-02-24 12:36:26,398 INFO MainThread:3364 [wandb_init.py:init():599] backend started and connected +2023-02-24 12:36:26,400 INFO MainThread:3364 [wandb_init.py:init():687] updated telemetry +2023-02-24 12:36:26,458 INFO MainThread:3364 [wandb_init.py:init():727] communicating run to backend with 60.0 second timeout +2023-02-24 12:36:26,894 INFO MainThread:3364 [wandb_run.py:_on_init():2134] communicating current version +2023-02-24 12:36:26,971 INFO MainThread:3364 [wandb_run.py:_on_init():2143] got version response +2023-02-24 12:36:26,972 INFO MainThread:3364 [wandb_init.py:init():775] starting run threads in backend +2023-02-24 12:36:27,146 INFO MainThread:3364 [wandb_run.py:_console_start():2114] atexit reg +2023-02-24 12:36:27,146 INFO MainThread:3364 [wandb_run.py:_redirect():1969] redirect: SettingsConsole.WRAP_RAW +2023-02-24 12:36:27,147 INFO MainThread:3364 [wandb_run.py:_redirect():2034] Wrapping output streams. +2023-02-24 12:36:27,147 INFO MainThread:3364 [wandb_run.py:_redirect():2059] Redirects installed. +2023-02-24 12:36:27,148 INFO MainThread:3364 [wandb_init.py:init():817] run started, returning control to user process +2023-02-24 12:37:00,581 WARNING MsgRouterThr:3364 [router.py:message_loop():77] message_loop has been closed diff --git a/embeddings/wandb/run-20230224_123626-57neoiah/run-57neoiah.wandb b/embeddings/wandb/run-20230224_123626-57neoiah/run-57neoiah.wandb new file mode 100644 index 0000000000000000000000000000000000000000..53d8be59d2811d6bb9d2f9fef75805da4accce23 Binary files /dev/null and b/embeddings/wandb/run-20230224_123626-57neoiah/run-57neoiah.wandb differ diff --git a/embeddings/wandb/run-20230224_162029-vccd62aj/files/config.yaml b/embeddings/wandb/run-20230224_162029-vccd62aj/files/config.yaml new file mode 100644 index 0000000000000000000000000000000000000000..1a4cf545fb10071e02e9a99f55ff45f60e7299e8 --- /dev/null +++ b/embeddings/wandb/run-20230224_162029-vccd62aj/files/config.yaml @@ -0,0 +1,40 @@ +wandb_version: 1 + +_wandb: + desc: null + value: + cli_version: 0.13.10 + framework: huggingface + huggingface_version: 4.24.0 + is_jupyter_run: false + is_kaggle_kernel: false + python_version: 3.8.1 + start_time: 1677255630.003534 + t: + 1: + - 1 + - 5 + - 11 + - 33 + - 49 + - 53 + - 55 + - 77 + 2: + - 1 + - 5 + - 11 + - 33 + - 49 + - 53 + - 55 + - 77 + 3: + - 13 + - 23 + 4: 3.8.1 + 5: 0.13.10 + 6: 4.24.0 + 8: + - 3 + - 5 diff --git a/embeddings/wandb/run-20230224_162029-vccd62aj/files/media/table/data_1_c3cb11fdddd10bb92618.table.json b/embeddings/wandb/run-20230224_162029-vccd62aj/files/media/table/data_1_c3cb11fdddd10bb92618.table.json new file mode 100644 index 0000000000000000000000000000000000000000..4802c81e15b183b7389e61da73caca83d1c6c92f Binary files /dev/null and b/embeddings/wandb/run-20230224_162029-vccd62aj/files/media/table/data_1_c3cb11fdddd10bb92618.table.json differ diff --git a/embeddings/wandb/run-20230224_162029-vccd62aj/files/output.log b/embeddings/wandb/run-20230224_162029-vccd62aj/files/output.log new file mode 100644 index 0000000000000000000000000000000000000000..f1a2c6cf325ad58fef060615987c802e0eb862e3 --- /dev/null +++ b/embeddings/wandb/run-20230224_162029-vccd62aj/files/output.log @@ -0,0 +1,54 @@ +wandb: WARNING Serializing object of type str that is 7167192 bytes +wandb: WARNING Serializing object of type str that is 7193074 bytes +wandb: WARNING Serializing object of type str that is 7166332 bytes +wandb: WARNING Serializing object of type str that is 7193014 bytes +wandb: WARNING Serializing object of type str that is 7184570 bytes +wandb: WARNING Serializing object of type str that is 7168810 bytes +wandb: WARNING Serializing object of type str that is 7170722 bytes +wandb: WARNING Serializing object of type str that is 7186894 bytes +wandb: WARNING Serializing object of type str that is 7186296 bytes +wandb: WARNING Serializing object of type str that is 7182036 bytes +wandb: WARNING Serializing object of type str that is 7193014 bytes +wandb: WARNING Serializing object of type str that is 7180782 bytes +wandb: WARNING Serializing object of type str that is 7166880 bytes +wandb: WARNING Serializing object of type str that is 7166790 bytes +wandb: WARNING Serializing object of type str that is 7195332 bytes +wandb: WARNING Serializing object of type str that is 7173532 bytes +wandb: WARNING Serializing object of type str that is 7172372 bytes +wandb: WARNING Serializing object of type str that is 7185368 bytes +wandb: WARNING Serializing object of type str that is 7197418 bytes +wandb: WARNING Serializing object of type str that is 7174376 bytes +wandb: WARNING Serializing object of type str that is 7166324 bytes +wandb: WARNING Serializing object of type str that is 7192582 bytes +wandb: WARNING Serializing object of type str that is 7177106 bytes +wandb: WARNING Serializing object of type str that is 7185132 bytes +wandb: WARNING Serializing object of type str that is 7189810 bytes +wandb: WARNING Serializing object of type str that is 7183714 bytes +wandb: WARNING Serializing object of type str that is 7169090 bytes +wandb: WARNING Serializing object of type str that is 7168212 bytes +wandb: WARNING Serializing object of type str that is 7185824 bytes +wandb: WARNING Serializing object of type str that is 7171744 bytes +wandb: WARNING Serializing object of type str that is 7192858 bytes +wandb: WARNING Serializing object of type str that is 7175106 bytes +wandb: WARNING Serializing object of type str that is 7191694 bytes +wandb: WARNING Serializing object of type str that is 7175566 bytes +wandb: WARNING Serializing object of type str that is 7181202 bytes +wandb: WARNING Serializing object of type str that is 7169486 bytes +wandb: WARNING Serializing object of type str that is 7195820 bytes +wandb: WARNING Serializing object of type str that is 7186730 bytes +wandb: WARNING Serializing object of type str that is 7185806 bytes +wandb: WARNING Serializing object of type str that is 7188832 bytes +wandb: WARNING Serializing object of type str that is 7184894 bytes +wandb: WARNING Serializing object of type str that is 7166812 bytes +wandb: WARNING Serializing object of type str that is 7175956 bytes +wandb: WARNING Serializing object of type str that is 7172754 bytes +wandb: WARNING Serializing object of type str that is 7188010 bytes +wandb: WARNING Serializing object of type str that is 7184168 bytes +Traceback (most recent call last): + File "C:\Users\liamb\Documents\graph4stackoverflow\embeddings\hetero_GAT.py", line 180, in <module> + init_wandb(wandb_project_name, wandb_run_name, dataset) + File "C:\Users\liamb\Documents\graph4stackoverflow\embeddings\hetero_GAT.py", line 151, in init_wandb + dataset_artifact.add_dir("static-dataset/") + File "C:\Users\liamb\Documents\graph4stackoverflow\venv\lib\site-packages\wandb\sdk\wandb_artifacts.py", line 438, in add_dir + raise ValueError("Path is not a directory: %s" % local_path) +ValueError: Path is not a directory: static-dataset/ \ No newline at end of file diff --git a/embeddings/wandb/run-20230224_162029-vccd62aj/files/requirements.txt b/embeddings/wandb/run-20230224_162029-vccd62aj/files/requirements.txt new file mode 100644 index 0000000000000000000000000000000000000000..d7de821539624662109e252a91c4907a963ad5fb --- /dev/null +++ b/embeddings/wandb/run-20230224_162029-vccd62aj/files/requirements.txt @@ -0,0 +1,170 @@ +absl-py==1.3.0 +anyio==3.6.2 +appdirs==1.4.4 +argon2-cffi-bindings==21.2.0 +argon2-cffi==21.3.0 +asttokens==2.1.0 +astunparse==1.6.3 +attrs==22.1.0 +backcall==0.2.0 +beautifulsoup4==4.11.1 +bleach==5.0.1 +blis==0.7.9 +bs4==0.0.1 +cachetools==5.2.0 +catalogue==2.0.8 +certifi==2022.9.24 +cffi==1.15.1 +charset-normalizer==2.1.1 +click==8.1.3 +colorama==0.4.6 +confection==0.0.3 +contourpy==1.0.6 +cycler==0.11.0 +cymem==2.0.7 +debugpy==1.6.3 +decorator==5.1.1 +defusedxml==0.7.1 +dgl==0.9.1 +docker-pycreds==0.4.0 +en-core-web-sm==3.4.1 +entrypoints==0.4 +executing==1.2.0 +fastjsonschema==2.16.2 +filelock==3.8.0 +fonttools==4.38.0 +gitdb==4.0.10 +gitpython==3.1.31 +google-auth-oauthlib==0.4.6 +google-auth==2.14.0 +graph4nlp==0.5.5 +grpcio==1.50.0 +huggingface-hub==0.10.1 +idna==3.4 +importlib-metadata==5.0.0 +importlib-resources==5.10.0 +ipykernel==6.16.2 +ipython-genutils==0.2.0 +ipython==8.6.0 +ipywidgets==8.0.2 +jedi==0.18.1 +jinja2==3.1.2 +joblib==1.2.0 +jsonschema==4.16.0 +jupyter-client==7.4.4 +jupyter-console==6.4.4 +jupyter-core==4.11.2 +jupyter-server==1.21.0 +jupyter==1.0.0 +jupyterlab-pygments==0.2.2 +jupyterlab-widgets==3.0.3 +kiwisolver==1.4.4 +langcodes==3.3.0 +littleutils==0.2.2 +lxml==4.9.1 +markdown==3.4.1 +markupsafe==2.1.1 +matplotlib-inline==0.1.6 +matplotlib==3.6.2 +mistune==2.0.4 +murmurhash==1.0.9 +nbclassic==0.4.7 +nbclient==0.7.0 +nbconvert==7.2.3 +nbformat==5.7.0 +nest-asyncio==1.5.6 +networkx==2.8.8 +nltk==3.7 +notebook-shim==0.2.0 +notebook==6.5.2 +numpy==1.23.5 +oauthlib==3.2.2 +ogb==1.3.5 +outdated==0.2.2 +packaging==21.3 +pandas==1.5.1 +pandocfilters==1.5.0 +parso==0.8.3 +pathtools==0.1.2 +pathy==0.6.2 +pickleshare==0.7.5 +pillow==9.3.0 +pip==21.3.1 +pkgutil-resolve-name==1.3.10 +plotly==5.13.0 +preshed==3.0.8 +prometheus-client==0.15.0 +prompt-toolkit==3.0.31 +protobuf==3.19.6 +psutil==5.9.3 +pure-eval==0.2.2 +pyasn1-modules==0.2.8 +pyasn1==0.4.8 +pycparser==2.21 +pydantic==1.10.2 +pygments==2.13.0 +pyparsing==3.0.9 +pyrsistent==0.18.1 +python-dateutil==2.8.2 +pythonds==1.2.1 +pytz==2022.5 +pywin32==304 +pywinpty==2.0.9 +pyyaml==6.0 +pyzmq==24.0.1 +qtconsole==5.3.2 +qtpy==2.2.1 +regex==2022.10.31 +requests-oauthlib==1.3.1 +requests==2.28.1 +rsa==4.9 +scikit-learn==1.1.3 +scipy==1.9.3 +send2trash==1.8.0 +sentry-sdk==1.15.0 +setproctitle==1.3.2 +setuptools==60.2.0 +six==1.16.0 +smart-open==5.2.1 +smmap==5.0.0 +sniffio==1.3.0 +soupsieve==2.3.2.post1 +spacy-legacy==3.0.10 +spacy-loggers==1.0.3 +spacy==3.4.2 +srsly==2.4.5 +stack-data==0.6.0 +stanfordcorenlp==3.9.1.1 +tenacity==8.2.1 +tensorboard-data-server==0.6.1 +tensorboard-plugin-wit==1.8.1 +tensorboard==2.10.1 +terminado==0.17.0 +thinc==8.1.5 +threadpoolctl==3.1.0 +tinycss2==1.2.1 +tokenizers==0.13.2 +torch-cluster==1.6.0+pt113cpu +torch-geometric==2.2.0 +torch-scatter==2.1.0+pt113cpu +torch-sparse==0.6.16+pt113cpu +torch-spline-conv==1.2.1+pt113cpu +torch==1.13.0 +torchsummary==1.5.1 +torchtext==0.14.0 +tornado==6.2 +tqdm==4.64.1 +traitlets==5.5.0 +transformers==4.24.0 +typer==0.4.2 +typing-extensions==4.4.0 +urllib3==1.26.12 +wandb==0.13.10 +wasabi==0.10.1 +wcwidth==0.2.5 +webencodings==0.5.1 +websocket-client==1.4.1 +werkzeug==2.2.2 +wheel==0.37.1 +widgetsnbextension==4.0.3 +zipp==3.10.0 \ No newline at end of file diff --git a/embeddings/wandb/run-20230224_162029-vccd62aj/files/wandb-metadata.json b/embeddings/wandb/run-20230224_162029-vccd62aj/files/wandb-metadata.json new file mode 100644 index 0000000000000000000000000000000000000000..0bd5912f471321c5a7341d3aed9c4b901458198a --- /dev/null +++ b/embeddings/wandb/run-20230224_162029-vccd62aj/files/wandb-metadata.json @@ -0,0 +1,42 @@ +{ + "os": "Windows-10-10.0.19041-SP0", + "python": "3.8.1", + "heartbeatAt": "2023-02-24T16:20:30.514694", + "startedAt": "2023-02-24T16:20:29.989535", + "docker": null, + "cuda": null, + "args": [], + "state": "running", + "program": "C:\\Users\\liamb\\Documents\\graph4stackoverflow\\embeddings\\hetero_GAT.py", + "codePath": "embeddings\\hetero_GAT.py", + "git": { + "remote": "https://git.soton.ac.uk/lhb1g20/graph4stackoverflow.git", + "commit": "ced992d661984f7b87d1a3e76768e4ff7af78245" + }, + "email": "liambyrneh@gmail.com", + "root": "C:/Users/liamb/Documents/graph4stackoverflow", + "host": "DESKTOP-P7BETFF", + "username": "liamb", + "executable": "C:\\Users\\liamb\\Documents\\graph4stackoverflow\\venv\\Scripts\\python.exe", + "cpu_count": 2, + "cpu_count_logical": 4, + "cpu_freq": { + "current": 3504.0, + "min": 0.0, + "max": 3504.0 + }, + "cpu_freq_per_core": [ + { + "current": 3504.0, + "min": 0.0, + "max": 3504.0 + } + ], + "disk": { + "total": 475.71581649780273, + "used": 354.44274520874023 + }, + "memory": { + "total": 31.89160919189453 + } +} diff --git a/embeddings/wandb/run-20230224_162029-vccd62aj/files/wandb-summary.json b/embeddings/wandb/run-20230224_162029-vccd62aj/files/wandb-summary.json new file mode 100644 index 0000000000000000000000000000000000000000..34239708ccff9f41c67c7ed2f841bb15c4123c46 --- /dev/null +++ b/embeddings/wandb/run-20230224_162029-vccd62aj/files/wandb-summary.json @@ -0,0 +1 @@ +{"num_node_features": {"question": 1536, "answer": 1536, "comment": 768, "tag": 50, "module": 30}, "num_classes": 2, "_timestamp": 1677255644.4992826, "_runtime": 14.495748519897461, "_step": 1, "data": {"_type": "table-file", "sha256": "c3cb11fdddd10bb926187c1e0c577457c5848c76e7e6e36c65175a0b52b6a67c", "size": 168983021, "artifact_path": "wandb-client-artifact://jcpflidy4f2acr68iwevu1albzd7qp5vhsk53nldictwi72u920bs15akxysoh2f5kiomuutv8gmcx8qdkizl9g1ion9xyv6w8t4sy4s8q0wzvlkgwt450z4a61gqpc9:latest/data.table.json", "_latest_artifact_path": "wandb-client-artifact://jcpflidy4f2acr68iwevu1albzd7qp5vhsk53nldictwi72u920bs15akxysoh2f5kiomuutv8gmcx8qdkizl9g1ion9xyv6w8t4sy4s8q0wzvlkgwt450z4a61gqpc9:latest/data.table.json", "path": "media/table/data_1_c3cb11fdddd10bb92618.table.json", "ncols": 4, "nrows": 46}, "_wandb": {"runtime": 14}} \ No newline at end of file diff --git a/embeddings/wandb/run-20230224_162029-vccd62aj/logs/debug-internal.log b/embeddings/wandb/run-20230224_162029-vccd62aj/logs/debug-internal.log new file mode 100644 index 0000000000000000000000000000000000000000..037d811230d730725014e74a1b195c6c0bd32ef2 --- /dev/null +++ b/embeddings/wandb/run-20230224_162029-vccd62aj/logs/debug-internal.log @@ -0,0 +1,233 @@ +2023-02-24 16:20:30,002 INFO StreamThr :9776 [internal.py:wandb_internal():87] W&B internal server running at pid: 9776, started at: 2023-02-24 16:20:30.002535 +2023-02-24 16:20:30,004 DEBUG HandlerThread:9776 [handler.py:handle_request():144] handle_request: status +2023-02-24 16:20:30,006 INFO WriterThread:9776 [datastore.py:open_for_write():85] open: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_162029-vccd62aj\run-vccd62aj.wandb +2023-02-24 16:20:30,010 DEBUG SenderThread:9776 [sender.py:send():336] send: header +2023-02-24 16:20:30,058 DEBUG SenderThread:9776 [sender.py:send():336] send: run +2023-02-24 16:20:30,414 INFO SenderThread:9776 [dir_watcher.py:__init__():216] watching files in: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_162029-vccd62aj\files +2023-02-24 16:20:30,414 INFO SenderThread:9776 [sender.py:_start_run_threads():1067] run started: vccd62aj with start time 1677255630.003534 +2023-02-24 16:20:30,414 DEBUG SenderThread:9776 [sender.py:send_request():363] send_request: summary_record +2023-02-24 16:20:30,415 INFO SenderThread:9776 [sender.py:_save_file():1321] saving file wandb-summary.json with policy end +2023-02-24 16:20:30,416 DEBUG HandlerThread:9776 [handler.py:handle_request():144] handle_request: check_version +2023-02-24 16:20:30,416 DEBUG SenderThread:9776 [sender.py:send_request():363] send_request: check_version +2023-02-24 16:20:30,492 DEBUG HandlerThread:9776 [handler.py:handle_request():144] handle_request: run_start +2023-02-24 16:20:30,510 DEBUG HandlerThread:9776 [system_info.py:__init__():31] System info init +2023-02-24 16:20:30,510 DEBUG HandlerThread:9776 [system_info.py:__init__():46] System info init done +2023-02-24 16:20:30,510 INFO HandlerThread:9776 [system_monitor.py:start():151] Starting system monitor +2023-02-24 16:20:30,510 INFO SystemMonitor:9776 [system_monitor.py:_start():116] Starting system asset monitoring threads +2023-02-24 16:20:30,511 INFO HandlerThread:9776 [system_monitor.py:probe():172] Collecting system info +2023-02-24 16:20:30,513 INFO SystemMonitor:9776 [interfaces.py:start():168] Started cpu +2023-02-24 16:20:30,514 DEBUG HandlerThread:9776 [system_info.py:probe():195] Probing system +2023-02-24 16:20:30,514 INFO SystemMonitor:9776 [interfaces.py:start():168] Started disk +2023-02-24 16:20:30,515 INFO SystemMonitor:9776 [interfaces.py:start():168] Started memory +2023-02-24 16:20:30,524 INFO SystemMonitor:9776 [interfaces.py:start():168] Started network +2023-02-24 16:20:30,533 DEBUG HandlerThread:9776 [system_info.py:_probe_git():180] Probing git +2023-02-24 16:20:30,626 DEBUG HandlerThread:9776 [system_info.py:_probe_git():188] Probing git done +2023-02-24 16:20:30,626 DEBUG HandlerThread:9776 [system_info.py:probe():241] Probing system done +2023-02-24 16:20:30,626 DEBUG HandlerThread:9776 [system_monitor.py:probe():181] {'os': 'Windows-10-10.0.19041-SP0', 'python': '3.8.1', 'heartbeatAt': '2023-02-24T16:20:30.514694', 'startedAt': '2023-02-24T16:20:29.989535', 'docker': None, 'cuda': None, 'args': (), 'state': 'running', 'program': 'C:\\Users\\liamb\\Documents\\graph4stackoverflow\\embeddings\\hetero_GAT.py', 'codePath': 'embeddings\\hetero_GAT.py', 'git': {'remote': 'https://git.soton.ac.uk/lhb1g20/graph4stackoverflow.git', 'commit': 'ced992d661984f7b87d1a3e76768e4ff7af78245'}, 'email': 'liambyrneh@gmail.com', 'root': 'C:/Users/liamb/Documents/graph4stackoverflow', 'host': 'DESKTOP-P7BETFF', 'username': 'liamb', 'executable': 'C:\\Users\\liamb\\Documents\\graph4stackoverflow\\venv\\Scripts\\python.exe', 'cpu_count': 2, 'cpu_count_logical': 4, 'cpu_freq': {'current': 3504.0, 'min': 0.0, 'max': 3504.0}, 'cpu_freq_per_core': [{'current': 3504.0, 'min': 0.0, 'max': 3504.0}], 'disk': {'total': 475.71581649780273, 'used': 354.44274520874023}, 'memory': {'total': 31.89160919189453}} +2023-02-24 16:20:30,627 INFO HandlerThread:9776 [system_monitor.py:probe():182] Finished collecting system info +2023-02-24 16:20:30,627 INFO HandlerThread:9776 [system_monitor.py:probe():185] Publishing system info +2023-02-24 16:20:30,627 DEBUG HandlerThread:9776 [system_info.py:_save_pip():51] Saving list of pip packages installed into the current environment +2023-02-24 16:20:30,627 DEBUG HandlerThread:9776 [system_info.py:_save_pip():67] Saving pip packages done +2023-02-24 16:20:30,630 INFO HandlerThread:9776 [system_monitor.py:probe():187] Finished publishing system info +2023-02-24 16:20:30,641 DEBUG SenderThread:9776 [sender.py:send():336] send: files +2023-02-24 16:20:30,642 INFO SenderThread:9776 [sender.py:_save_file():1321] saving file wandb-metadata.json with policy now +2023-02-24 16:20:30,650 DEBUG HandlerThread:9776 [handler.py:handle_request():144] handle_request: stop_status +2023-02-24 16:20:30,650 DEBUG SenderThread:9776 [sender.py:send_request():363] send_request: stop_status +2023-02-24 16:20:30,653 DEBUG HandlerThread:9776 [handler.py:handle_request():144] handle_request: partial_history +2023-02-24 16:20:30,805 DEBUG SenderThread:9776 [sender.py:send():336] send: telemetry +2023-02-24 16:20:30,806 DEBUG SenderThread:9776 [sender.py:send():336] send: history +2023-02-24 16:20:30,806 DEBUG SenderThread:9776 [sender.py:send_request():363] send_request: summary_record +2023-02-24 16:20:30,807 INFO SenderThread:9776 [sender.py:_save_file():1321] saving file wandb-summary.json with policy end +2023-02-24 16:20:31,281 INFO wandb-upload_0:9776 [upload_job.py:push():138] Uploaded file C:\Users\liamb\AppData\Local\Temp\tmpp9fhlrg0wandb\dlzsklpk-wandb-metadata.json +2023-02-24 16:20:31,431 INFO Thread-17 :9776 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_162029-vccd62aj\files\requirements.txt +2023-02-24 16:20:31,431 INFO Thread-17 :9776 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_162029-vccd62aj\files\wandb-metadata.json +2023-02-24 16:20:31,431 INFO Thread-17 :9776 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_162029-vccd62aj\files\wandb-summary.json +2023-02-24 16:20:32,453 INFO Thread-17 :9776 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_162029-vccd62aj\files\output.log +2023-02-24 16:20:34,474 INFO Thread-17 :9776 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_162029-vccd62aj\files\output.log +2023-02-24 16:20:35,488 DEBUG HandlerThread:9776 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 16:20:39,053 DEBUG HandlerThread:9776 [handler.py:handle_request():144] handle_request: log_artifact +2023-02-24 16:20:39,053 DEBUG SenderThread:9776 [sender.py:send_request():363] send_request: log_artifact +2023-02-24 16:20:44,499 DEBUG HandlerThread:9776 [handler.py:handle_request():144] handle_request: partial_history +2023-02-24 16:20:44,592 INFO Thread-17 :9776 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_162029-vccd62aj\files\media\table\data_1_c3cb11fdddd10bb92618.table.json +2023-02-24 16:20:44,592 INFO Thread-17 :9776 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_162029-vccd62aj\files\media\table +2023-02-24 16:20:44,593 INFO Thread-17 :9776 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_162029-vccd62aj\files\media +2023-02-24 16:20:45,510 DEBUG HandlerThread:9776 [handler.py:handle_request():144] handle_request: poll_exit +2023-02-24 16:20:50,544 DEBUG HandlerThread:9776 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 16:20:55,608 DEBUG HandlerThread:9776 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 16:21:00,643 DEBUG HandlerThread:9776 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 16:21:05,714 DEBUG HandlerThread:9776 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 16:21:10,760 DEBUG HandlerThread:9776 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 16:21:15,797 DEBUG HandlerThread:9776 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 16:21:20,862 DEBUG HandlerThread:9776 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 16:21:25,922 DEBUG HandlerThread:9776 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 16:21:30,536 DEBUG SystemMonitor:9776 [system_monitor.py:_start():130] Starting system metrics aggregation loop +2023-02-24 16:21:30,958 DEBUG HandlerThread:9776 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 16:21:36,008 DEBUG HandlerThread:9776 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 16:21:41,060 DEBUG HandlerThread:9776 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 16:21:41,289 INFO wandb-upload_0:9776 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpzgmyocx5 +2023-02-24 16:21:43,004 INFO SenderThread:9776 [sender.py:send_request_log_artifact():1381] logged artifact run-vccd62aj-data - {'id': 'QXJ0aWZhY3Q6MzgwNTQ4OTA0', 'digest': 'e88bf598e75abc4df93d2db273aac03f', 'state': 'PENDING', 'aliases': [], 'artifactSequence': {'id': 'QXJ0aWZhY3RDb2xsZWN0aW9uOjU0NjIwNTE3', 'latestArtifact': None}, 'version': 'latest'} +2023-02-24 16:21:43,008 DEBUG HandlerThread:9776 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 16:21:43,189 DEBUG SenderThread:9776 [sender.py:send():336] send: files +2023-02-24 16:21:43,189 INFO SenderThread:9776 [sender.py:_save_file():1321] saving file media\table\data_1_c3cb11fdddd10bb92618.table.json with policy now +2023-02-24 16:21:43,190 DEBUG SenderThread:9776 [sender.py:send():336] send: history +2023-02-24 16:21:43,190 DEBUG SenderThread:9776 [sender.py:send_request():363] send_request: summary_record +2023-02-24 16:21:43,192 INFO SenderThread:9776 [sender.py:_save_file():1321] saving file wandb-summary.json with policy end +2023-02-24 16:21:43,193 DEBUG SenderThread:9776 [sender.py:send():336] send: exit +2023-02-24 16:21:43,193 INFO SenderThread:9776 [sender.py:send_exit():559] handling exit code: 1 +2023-02-24 16:21:43,194 INFO SenderThread:9776 [sender.py:send_exit():561] handling runtime: 14 +2023-02-24 16:21:43,194 INFO SenderThread:9776 [sender.py:_save_file():1321] saving file wandb-summary.json with policy end +2023-02-24 16:21:43,195 INFO SenderThread:9776 [sender.py:send_exit():567] send defer +2023-02-24 16:21:43,195 DEBUG SenderThread:9776 [sender.py:send_request():363] send_request: poll_exit +2023-02-24 16:21:43,195 DEBUG SenderThread:9776 [sender.py:send():336] send: stats +2023-02-24 16:21:43,196 DEBUG HandlerThread:9776 [handler.py:handle_request():144] handle_request: defer +2023-02-24 16:21:43,196 INFO HandlerThread:9776 [handler.py:handle_request_defer():170] handle defer: 0 +2023-02-24 16:21:43,196 DEBUG SenderThread:9776 [sender.py:send_request():363] send_request: defer +2023-02-24 16:21:43,197 INFO SenderThread:9776 [sender.py:send_request_defer():583] handle sender defer: 0 +2023-02-24 16:21:43,197 INFO SenderThread:9776 [sender.py:transition_state():587] send defer: 1 +2023-02-24 16:21:43,197 DEBUG HandlerThread:9776 [handler.py:handle_request():144] handle_request: defer +2023-02-24 16:21:43,197 INFO HandlerThread:9776 [handler.py:handle_request_defer():170] handle defer: 1 +2023-02-24 16:21:43,197 DEBUG SenderThread:9776 [sender.py:send_request():363] send_request: defer +2023-02-24 16:21:43,198 INFO SenderThread:9776 [sender.py:send_request_defer():583] handle sender defer: 1 +2023-02-24 16:21:43,198 INFO SenderThread:9776 [sender.py:transition_state():587] send defer: 2 +2023-02-24 16:21:43,198 DEBUG HandlerThread:9776 [handler.py:handle_request():144] handle_request: defer +2023-02-24 16:21:43,198 INFO HandlerThread:9776 [handler.py:handle_request_defer():170] handle defer: 2 +2023-02-24 16:21:43,198 INFO HandlerThread:9776 [system_monitor.py:finish():161] Stopping system monitor +2023-02-24 16:21:43,199 DEBUG SystemMonitor:9776 [system_monitor.py:_start():137] Finished system metrics aggregation loop +2023-02-24 16:21:43,199 INFO HandlerThread:9776 [interfaces.py:finish():175] Joined cpu +2023-02-24 16:21:43,199 DEBUG SystemMonitor:9776 [system_monitor.py:_start():141] Publishing last batch of metrics +2023-02-24 16:21:43,200 INFO HandlerThread:9776 [interfaces.py:finish():175] Joined disk +2023-02-24 16:21:43,200 INFO HandlerThread:9776 [interfaces.py:finish():175] Joined memory +2023-02-24 16:21:43,200 INFO HandlerThread:9776 [interfaces.py:finish():175] Joined network +2023-02-24 16:21:43,201 DEBUG SenderThread:9776 [sender.py:send_request():363] send_request: defer +2023-02-24 16:21:43,201 INFO SenderThread:9776 [sender.py:send_request_defer():583] handle sender defer: 2 +2023-02-24 16:21:43,201 INFO SenderThread:9776 [sender.py:transition_state():587] send defer: 3 +2023-02-24 16:21:43,201 DEBUG SenderThread:9776 [sender.py:send():336] send: stats +2023-02-24 16:21:43,202 DEBUG HandlerThread:9776 [handler.py:handle_request():144] handle_request: defer +2023-02-24 16:21:43,202 INFO HandlerThread:9776 [handler.py:handle_request_defer():170] handle defer: 3 +2023-02-24 16:21:43,202 DEBUG SenderThread:9776 [sender.py:send_request():363] send_request: defer +2023-02-24 16:21:43,202 INFO SenderThread:9776 [sender.py:send_request_defer():583] handle sender defer: 3 +2023-02-24 16:21:43,202 INFO SenderThread:9776 [sender.py:transition_state():587] send defer: 4 +2023-02-24 16:21:43,202 DEBUG HandlerThread:9776 [handler.py:handle_request():144] handle_request: defer +2023-02-24 16:21:43,203 INFO HandlerThread:9776 [handler.py:handle_request_defer():170] handle defer: 4 +2023-02-24 16:21:43,203 DEBUG SenderThread:9776 [sender.py:send_request():363] send_request: defer +2023-02-24 16:21:43,203 INFO SenderThread:9776 [sender.py:send_request_defer():583] handle sender defer: 4 +2023-02-24 16:21:43,203 INFO SenderThread:9776 [sender.py:transition_state():587] send defer: 5 +2023-02-24 16:21:43,203 DEBUG HandlerThread:9776 [handler.py:handle_request():144] handle_request: defer +2023-02-24 16:21:43,204 INFO HandlerThread:9776 [handler.py:handle_request_defer():170] handle defer: 5 +2023-02-24 16:21:43,204 DEBUG SenderThread:9776 [sender.py:send():336] send: summary +2023-02-24 16:21:43,205 INFO SenderThread:9776 [sender.py:_save_file():1321] saving file wandb-summary.json with policy end +2023-02-24 16:21:43,205 DEBUG SenderThread:9776 [sender.py:send_request():363] send_request: defer +2023-02-24 16:21:43,206 INFO SenderThread:9776 [sender.py:send_request_defer():583] handle sender defer: 5 +2023-02-24 16:21:43,206 INFO SenderThread:9776 [sender.py:transition_state():587] send defer: 6 +2023-02-24 16:21:43,206 DEBUG HandlerThread:9776 [handler.py:handle_request():144] handle_request: defer +2023-02-24 16:21:43,206 INFO HandlerThread:9776 [handler.py:handle_request_defer():170] handle defer: 6 +2023-02-24 16:21:43,206 DEBUG SenderThread:9776 [sender.py:send_request():363] send_request: defer +2023-02-24 16:21:43,207 INFO SenderThread:9776 [sender.py:send_request_defer():583] handle sender defer: 6 +2023-02-24 16:21:43,207 INFO SenderThread:9776 [sender.py:transition_state():587] send defer: 7 +2023-02-24 16:21:43,207 DEBUG HandlerThread:9776 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 16:21:43,207 DEBUG HandlerThread:9776 [handler.py:handle_request():144] handle_request: defer +2023-02-24 16:21:43,207 INFO HandlerThread:9776 [handler.py:handle_request_defer():170] handle defer: 7 +2023-02-24 16:21:43,208 DEBUG SenderThread:9776 [sender.py:send_request():363] send_request: defer +2023-02-24 16:21:43,208 INFO SenderThread:9776 [sender.py:send_request_defer():583] handle sender defer: 7 +2023-02-24 16:21:43,292 INFO Thread-17 :9776 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_162029-vccd62aj\files\config.yaml +2023-02-24 16:21:43,292 INFO Thread-17 :9776 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_162029-vccd62aj\files\wandb-summary.json +2023-02-24 16:21:44,824 INFO SenderThread:9776 [sender.py:transition_state():587] send defer: 8 +2023-02-24 16:21:44,824 DEBUG HandlerThread:9776 [handler.py:handle_request():144] handle_request: defer +2023-02-24 16:21:44,824 INFO HandlerThread:9776 [handler.py:handle_request_defer():170] handle defer: 8 +2023-02-24 16:21:44,825 DEBUG SenderThread:9776 [sender.py:send_request():363] send_request: defer +2023-02-24 16:21:44,825 INFO SenderThread:9776 [sender.py:send_request_defer():583] handle sender defer: 8 +2023-02-24 16:21:44,839 INFO SenderThread:9776 [sender.py:transition_state():587] send defer: 9 +2023-02-24 16:21:44,839 DEBUG HandlerThread:9776 [handler.py:handle_request():144] handle_request: defer +2023-02-24 16:21:44,839 DEBUG SenderThread:9776 [sender.py:send():336] send: artifact +2023-02-24 16:21:44,839 INFO HandlerThread:9776 [handler.py:handle_request_defer():170] handle defer: 9 +2023-02-24 16:21:45,322 INFO Thread-17 :9776 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_162029-vccd62aj\files\output.log +2023-02-24 16:21:45,663 INFO SenderThread:9776 [sender.py:send_artifact():1417] sent artifact job-https___git.soton.ac.uk_lhb1g20_graph4stackoverflow.git_embeddings_hetero_GAT.py - {'id': 'QXJ0aWZhY3Q6MzgwMzk2OTM0', 'digest': '8077f65decb82fd65dc9936bbf393b39', 'state': 'COMMITTED', 'aliases': [{'artifactCollectionName': 'job-https___git.soton.ac.uk_lhb1g20_graph4stackoverflow.git_embeddings_hetero_GAT.py', 'alias': 'latest'}, {'artifactCollectionName': 'job-https___git.soton.ac.uk_lhb1g20_graph4stackoverflow.git_embeddings_hetero_GAT.py', 'alias': 'v2'}], 'artifactSequence': {'id': 'QXJ0aWZhY3RDb2xsZWN0aW9uOjU0NTg3MzU0', 'latestArtifact': {'id': 'QXJ0aWZhY3Q6MzgwMzk2OTM0', 'versionIndex': 2}}, 'version': 'v2'} +2023-02-24 16:21:45,663 DEBUG SenderThread:9776 [sender.py:send_request():363] send_request: defer +2023-02-24 16:21:45,664 INFO SenderThread:9776 [sender.py:send_request_defer():583] handle sender defer: 9 +2023-02-24 16:21:45,664 INFO SenderThread:9776 [dir_watcher.py:finish():362] shutting down directory watcher +2023-02-24 16:21:46,132 DEBUG HandlerThread:9776 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 16:21:46,337 INFO SenderThread:9776 [dir_watcher.py:finish():392] scan: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_162029-vccd62aj\files +2023-02-24 16:21:46,337 INFO SenderThread:9776 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_162029-vccd62aj\files\config.yaml config.yaml +2023-02-24 16:21:46,338 INFO SenderThread:9776 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_162029-vccd62aj\files\output.log output.log +2023-02-24 16:21:46,339 INFO SenderThread:9776 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_162029-vccd62aj\files\requirements.txt requirements.txt +2023-02-24 16:21:46,345 INFO SenderThread:9776 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_162029-vccd62aj\files\wandb-metadata.json wandb-metadata.json +2023-02-24 16:21:46,345 INFO SenderThread:9776 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_162029-vccd62aj\files\wandb-summary.json wandb-summary.json +2023-02-24 16:21:46,357 INFO SenderThread:9776 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_162029-vccd62aj\files\media\table\data_1_c3cb11fdddd10bb92618.table.json media\table\data_1_c3cb11fdddd10bb92618.table.json +2023-02-24 16:21:46,357 INFO SenderThread:9776 [sender.py:transition_state():587] send defer: 10 +2023-02-24 16:21:46,358 DEBUG HandlerThread:9776 [handler.py:handle_request():144] handle_request: defer +2023-02-24 16:21:46,358 INFO HandlerThread:9776 [handler.py:handle_request_defer():170] handle defer: 10 +2023-02-24 16:21:46,359 DEBUG SenderThread:9776 [sender.py:send_request():363] send_request: defer +2023-02-24 16:21:46,359 INFO SenderThread:9776 [sender.py:send_request_defer():583] handle sender defer: 10 +2023-02-24 16:21:46,359 INFO SenderThread:9776 [file_pusher.py:finish():162] shutting down file pusher +2023-02-24 16:21:46,822 INFO wandb-upload_2:9776 [upload_job.py:push():138] Uploaded file C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_162029-vccd62aj\files\output.log +2023-02-24 16:21:46,877 INFO wandb-upload_1:9776 [upload_job.py:push():138] Uploaded file C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_162029-vccd62aj\files\config.yaml +2023-02-24 16:21:46,906 INFO wandb-upload_4:9776 [upload_job.py:push():138] Uploaded file C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_162029-vccd62aj\files\wandb-summary.json +2023-02-24 16:21:46,906 INFO wandb-upload_3:9776 [upload_job.py:push():138] Uploaded file C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_162029-vccd62aj\files\requirements.txt +2023-02-24 16:21:48,377 DEBUG HandlerThread:9776 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 16:21:51,170 DEBUG HandlerThread:9776 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 16:21:53,444 DEBUG HandlerThread:9776 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 16:21:56,230 DEBUG HandlerThread:9776 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 16:21:58,489 DEBUG HandlerThread:9776 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 16:22:01,291 DEBUG HandlerThread:9776 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 16:22:03,539 DEBUG HandlerThread:9776 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 16:22:06,319 DEBUG HandlerThread:9776 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 16:22:08,590 DEBUG HandlerThread:9776 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 16:22:11,382 DEBUG HandlerThread:9776 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 16:22:13,645 DEBUG HandlerThread:9776 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 16:22:16,452 DEBUG HandlerThread:9776 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 16:22:18,695 DEBUG HandlerThread:9776 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 16:22:21,516 DEBUG HandlerThread:9776 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 16:22:23,750 DEBUG HandlerThread:9776 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 16:22:26,554 DEBUG HandlerThread:9776 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 16:22:28,800 DEBUG HandlerThread:9776 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 16:22:31,612 DEBUG HandlerThread:9776 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 16:22:33,852 DEBUG HandlerThread:9776 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 16:22:36,667 DEBUG HandlerThread:9776 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 16:22:38,890 DEBUG HandlerThread:9776 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 16:22:41,719 DEBUG HandlerThread:9776 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 16:22:43,934 DEBUG HandlerThread:9776 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 16:22:46,767 DEBUG HandlerThread:9776 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 16:22:48,980 DEBUG HandlerThread:9776 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 16:22:51,828 DEBUG HandlerThread:9776 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 16:22:54,034 DEBUG HandlerThread:9776 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 16:22:56,880 DEBUG HandlerThread:9776 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 16:22:59,071 DEBUG HandlerThread:9776 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 16:23:00,376 INFO wandb-upload_0:9776 [upload_job.py:push():138] Uploaded file C:\Users\liamb\AppData\Local\Temp\tmpp9fhlrg0wandb\ds0ziaam-media/table/data_1_c3cb11fdddd10bb92618.table.json +2023-02-24 16:23:00,597 INFO Thread-16 :9776 [sender.py:transition_state():587] send defer: 11 +2023-02-24 16:23:00,597 DEBUG HandlerThread:9776 [handler.py:handle_request():144] handle_request: defer +2023-02-24 16:23:00,598 INFO HandlerThread:9776 [handler.py:handle_request_defer():170] handle defer: 11 +2023-02-24 16:23:00,598 DEBUG SenderThread:9776 [sender.py:send_request():363] send_request: defer +2023-02-24 16:23:00,598 INFO SenderThread:9776 [sender.py:send_request_defer():583] handle sender defer: 11 +2023-02-24 16:23:00,598 INFO SenderThread:9776 [file_pusher.py:join():167] waiting for file pusher +2023-02-24 16:23:00,598 INFO SenderThread:9776 [sender.py:transition_state():587] send defer: 12 +2023-02-24 16:23:00,598 DEBUG HandlerThread:9776 [handler.py:handle_request():144] handle_request: defer +2023-02-24 16:23:00,598 INFO HandlerThread:9776 [handler.py:handle_request_defer():170] handle defer: 12 +2023-02-24 16:23:00,599 DEBUG SenderThread:9776 [sender.py:send_request():363] send_request: defer +2023-02-24 16:23:00,599 INFO SenderThread:9776 [sender.py:send_request_defer():583] handle sender defer: 12 +2023-02-24 16:23:00,736 INFO SenderThread:9776 [sender.py:transition_state():587] send defer: 13 +2023-02-24 16:23:00,736 DEBUG HandlerThread:9776 [handler.py:handle_request():144] handle_request: defer +2023-02-24 16:23:00,736 INFO HandlerThread:9776 [handler.py:handle_request_defer():170] handle defer: 13 +2023-02-24 16:23:00,736 DEBUG SenderThread:9776 [sender.py:send_request():363] send_request: defer +2023-02-24 16:23:00,736 INFO SenderThread:9776 [sender.py:send_request_defer():583] handle sender defer: 13 +2023-02-24 16:23:00,736 INFO SenderThread:9776 [sender.py:transition_state():587] send defer: 14 +2023-02-24 16:23:00,737 DEBUG HandlerThread:9776 [handler.py:handle_request():144] handle_request: defer +2023-02-24 16:23:00,737 INFO HandlerThread:9776 [handler.py:handle_request_defer():170] handle defer: 14 +2023-02-24 16:23:00,737 DEBUG SenderThread:9776 [sender.py:send():336] send: final +2023-02-24 16:23:00,737 DEBUG SenderThread:9776 [sender.py:send():336] send: footer +2023-02-24 16:23:00,738 DEBUG SenderThread:9776 [sender.py:send_request():363] send_request: defer +2023-02-24 16:23:00,738 INFO SenderThread:9776 [sender.py:send_request_defer():583] handle sender defer: 14 +2023-02-24 16:23:00,739 DEBUG HandlerThread:9776 [handler.py:handle_request():144] handle_request: poll_exit +2023-02-24 16:23:00,739 DEBUG HandlerThread:9776 [handler.py:handle_request():144] handle_request: server_info +2023-02-24 16:23:00,739 DEBUG HandlerThread:9776 [handler.py:handle_request():144] handle_request: get_summary +2023-02-24 16:23:00,739 DEBUG HandlerThread:9776 [handler.py:handle_request():144] handle_request: sampled_history +2023-02-24 16:23:00,740 DEBUG SenderThread:9776 [sender.py:send_request():363] send_request: poll_exit +2023-02-24 16:23:00,740 DEBUG SenderThread:9776 [sender.py:send_request():363] send_request: server_info +2023-02-24 16:23:00,906 INFO MainThread:9776 [wandb_run.py:_footer_history_summary_info():3442] rendering history +2023-02-24 16:23:00,906 INFO MainThread:9776 [wandb_run.py:_footer_history_summary_info():3474] rendering summary +2023-02-24 16:23:00,907 INFO MainThread:9776 [wandb_run.py:_footer_sync_info():3398] logging synced files +2023-02-24 16:23:00,907 DEBUG HandlerThread:9776 [handler.py:handle_request():144] handle_request: shutdown +2023-02-24 16:23:00,907 INFO HandlerThread:9776 [handler.py:finish():841] shutting down handler +2023-02-24 16:23:01,754 INFO WriterThread:9776 [datastore.py:close():299] close: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_162029-vccd62aj\run-vccd62aj.wandb +2023-02-24 16:23:01,912 INFO SenderThread:9776 [sender.py:finish():1493] shutting down sender +2023-02-24 16:23:01,912 INFO SenderThread:9776 [file_pusher.py:finish():162] shutting down file pusher +2023-02-24 16:23:01,912 INFO SenderThread:9776 [file_pusher.py:join():167] waiting for file pusher diff --git a/embeddings/wandb/run-20230224_162029-vccd62aj/logs/debug.log b/embeddings/wandb/run-20230224_162029-vccd62aj/logs/debug.log new file mode 100644 index 0000000000000000000000000000000000000000..03c1503d12942f92c28fb9ab8de9d077dbac7145 --- /dev/null +++ b/embeddings/wandb/run-20230224_162029-vccd62aj/logs/debug.log @@ -0,0 +1,25 @@ +2023-02-24 16:20:29,993 INFO MainThread:10732 [wandb_setup.py:_flush():68] Configure stats pid to 10732 +2023-02-24 16:20:29,993 INFO MainThread:10732 [wandb_setup.py:_flush():68] Loading settings from C:\Users\liamb\.config\wandb\settings +2023-02-24 16:20:29,993 INFO MainThread:10732 [wandb_setup.py:_flush():68] Loading settings from C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\settings +2023-02-24 16:20:29,993 INFO MainThread:10732 [wandb_setup.py:_flush():68] Loading settings from environment variables: {'_require_service': 'True'} +2023-02-24 16:20:29,993 INFO MainThread:10732 [wandb_setup.py:_flush():68] Inferring run settings from compute environment: {'program_relpath': 'embeddings\\hetero_GAT.py', 'program': 'C:\\Users\\liamb\\Documents\\graph4stackoverflow\\embeddings\\hetero_GAT.py'} +2023-02-24 16:20:29,994 INFO MainThread:10732 [wandb_init.py:_log_setup():492] Logging user logs to C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_162029-vccd62aj\logs\debug.log +2023-02-24 16:20:29,994 INFO MainThread:10732 [wandb_init.py:_log_setup():493] Logging internal logs to C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_162029-vccd62aj\logs\debug-internal.log +2023-02-24 16:20:29,994 INFO MainThread:10732 [wandb_init.py:init():532] calling init triggers +2023-02-24 16:20:29,994 INFO MainThread:10732 [wandb_init.py:init():538] wandb.init called with sweep_config: {} +config: {} +2023-02-24 16:20:29,994 INFO MainThread:10732 [wandb_init.py:init():588] starting backend +2023-02-24 16:20:29,994 INFO MainThread:10732 [wandb_init.py:init():592] setting up manager +2023-02-24 16:20:29,998 INFO MainThread:10732 [backend.py:_multiprocessing_setup():106] multiprocessing start_methods=spawn, using: spawn +2023-02-24 16:20:30,002 INFO MainThread:10732 [wandb_init.py:init():599] backend started and connected +2023-02-24 16:20:30,005 INFO MainThread:10732 [wandb_init.py:init():687] updated telemetry +2023-02-24 16:20:30,057 INFO MainThread:10732 [wandb_init.py:init():727] communicating run to backend with 60.0 second timeout +2023-02-24 16:20:30,415 INFO MainThread:10732 [wandb_run.py:_on_init():2134] communicating current version +2023-02-24 16:20:30,484 INFO MainThread:10732 [wandb_run.py:_on_init():2143] got version response +2023-02-24 16:20:30,485 INFO MainThread:10732 [wandb_init.py:init():775] starting run threads in backend +2023-02-24 16:20:30,650 INFO MainThread:10732 [wandb_run.py:_console_start():2114] atexit reg +2023-02-24 16:20:30,650 INFO MainThread:10732 [wandb_run.py:_redirect():1969] redirect: SettingsConsole.WRAP_RAW +2023-02-24 16:20:30,651 INFO MainThread:10732 [wandb_run.py:_redirect():2034] Wrapping output streams. +2023-02-24 16:20:30,651 INFO MainThread:10732 [wandb_run.py:_redirect():2059] Redirects installed. +2023-02-24 16:20:30,652 INFO MainThread:10732 [wandb_init.py:init():817] run started, returning control to user process +2023-02-24 16:23:01,983 WARNING MsgRouterThr:10732 [router.py:message_loop():77] message_loop has been closed diff --git a/embeddings/wandb/run-20230224_162029-vccd62aj/run-vccd62aj.wandb b/embeddings/wandb/run-20230224_162029-vccd62aj/run-vccd62aj.wandb new file mode 100644 index 0000000000000000000000000000000000000000..6b95c984687a6c0da98087aad70d8168d8db161c Binary files /dev/null and b/embeddings/wandb/run-20230224_162029-vccd62aj/run-vccd62aj.wandb differ diff --git a/embeddings/wandb/run-20230224_163621-cq006t1g/files/config.yaml b/embeddings/wandb/run-20230224_163621-cq006t1g/files/config.yaml new file mode 100644 index 0000000000000000000000000000000000000000..83e12de7a213b43318617b148be2f3aa203b89d4 --- /dev/null +++ b/embeddings/wandb/run-20230224_163621-cq006t1g/files/config.yaml @@ -0,0 +1,41 @@ +wandb_version: 1 + +_wandb: + desc: null + value: + cli_version: 0.13.10 + framework: huggingface + huggingface_version: 4.24.0 + is_jupyter_run: false + is_kaggle_kernel: false + python_version: 3.8.1 + start_time: 1677256581.387735 + t: + 1: + - 1 + - 5 + - 11 + - 33 + - 49 + - 53 + - 55 + - 77 + 2: + - 1 + - 5 + - 11 + - 33 + - 49 + - 53 + - 55 + - 77 + 3: + - 2 + - 13 + - 23 + 4: 3.8.1 + 5: 0.13.10 + 6: 4.24.0 + 8: + - 3 + - 5 diff --git a/embeddings/wandb/run-20230224_163621-cq006t1g/files/media/table/data_1_cfb2fac0b416dfd45d67.table.json b/embeddings/wandb/run-20230224_163621-cq006t1g/files/media/table/data_1_cfb2fac0b416dfd45d67.table.json new file mode 100644 index 0000000000000000000000000000000000000000..4f1746805e2f6d63a6613dd731baf8832f2907d7 Binary files /dev/null and b/embeddings/wandb/run-20230224_163621-cq006t1g/files/media/table/data_1_cfb2fac0b416dfd45d67.table.json differ diff --git a/embeddings/wandb/run-20230224_163621-cq006t1g/files/output.log b/embeddings/wandb/run-20230224_163621-cq006t1g/files/output.log new file mode 100644 index 0000000000000000000000000000000000000000..f421b1cc2d4bcfc060e51b40b8e5f73fdb6a3c03 --- /dev/null +++ b/embeddings/wandb/run-20230224_163621-cq006t1g/files/output.log @@ -0,0 +1,47 @@ +wandb: WARNING Serializing object of type str that is 7167180 bytes +wandb: WARNING Serializing object of type str that is 7193040 bytes +wandb: WARNING Serializing object of type str that is 7166344 bytes +wandb: WARNING Serializing object of type str that is 7192918 bytes +wandb: WARNING Serializing object of type str that is 7184758 bytes +wandb: WARNING Serializing object of type str that is 7168736 bytes +wandb: WARNING Serializing object of type str that is 7170710 bytes +wandb: WARNING Serializing object of type str that is 7186420 bytes +wandb: WARNING Serializing object of type str that is 7186232 bytes +wandb: WARNING Serializing object of type str that is 7181940 bytes +wandb: WARNING Serializing object of type str that is 7192906 bytes +wandb: WARNING Serializing object of type str that is 7180782 bytes +wandb: WARNING Serializing object of type str that is 7166756 bytes +wandb: WARNING Serializing object of type str that is 7166762 bytes +wandb: WARNING Serializing object of type str that is 7195156 bytes +wandb: WARNING Serializing object of type str that is 7173652 bytes +wandb: WARNING Serializing object of type str that is 7172140 bytes +wandb: WARNING Serializing object of type str that is 7185064 bytes +wandb: WARNING Serializing object of type str that is 7197074 bytes +wandb: WARNING Serializing object of type str that is 7174424 bytes +wandb: WARNING Serializing object of type str that is 7166338 bytes +wandb: WARNING Serializing object of type str that is 7192476 bytes +wandb: WARNING Serializing object of type str that is 7177290 bytes +wandb: WARNING Serializing object of type str that is 7184958 bytes +wandb: WARNING Serializing object of type str that is 7189934 bytes +wandb: WARNING Serializing object of type str that is 7183814 bytes +wandb: WARNING Serializing object of type str that is 7169134 bytes +wandb: WARNING Serializing object of type str that is 7168180 bytes +wandb: WARNING Serializing object of type str that is 7185738 bytes +wandb: WARNING Serializing object of type str that is 7171688 bytes +wandb: WARNING Serializing object of type str that is 7192982 bytes +wandb: WARNING Serializing object of type str that is 7174994 bytes +wandb: WARNING Serializing object of type str that is 7191682 bytes +wandb: WARNING Serializing object of type str that is 7175542 bytes +wandb: WARNING Serializing object of type str that is 7181120 bytes +wandb: WARNING Serializing object of type str that is 7169476 bytes +wandb: WARNING Serializing object of type str that is 7195502 bytes +wandb: WARNING Serializing object of type str that is 7186868 bytes +wandb: WARNING Serializing object of type str that is 7185886 bytes +wandb: WARNING Serializing object of type str that is 7188908 bytes +wandb: WARNING Serializing object of type str that is 7184760 bytes +wandb: WARNING Serializing object of type str that is 7166782 bytes +wandb: WARNING Serializing object of type str that is 7176028 bytes +wandb: WARNING Serializing object of type str that is 7172986 bytes +wandb: WARNING Serializing object of type str that is 7187948 bytes +wandb: WARNING Serializing object of type str that is 7184040 bytes +wandb: Adding directory to artifact (.\..\data)... Done. 3.1s \ No newline at end of file diff --git a/embeddings/wandb/run-20230224_163621-cq006t1g/files/requirements.txt b/embeddings/wandb/run-20230224_163621-cq006t1g/files/requirements.txt new file mode 100644 index 0000000000000000000000000000000000000000..d7de821539624662109e252a91c4907a963ad5fb --- /dev/null +++ b/embeddings/wandb/run-20230224_163621-cq006t1g/files/requirements.txt @@ -0,0 +1,170 @@ +absl-py==1.3.0 +anyio==3.6.2 +appdirs==1.4.4 +argon2-cffi-bindings==21.2.0 +argon2-cffi==21.3.0 +asttokens==2.1.0 +astunparse==1.6.3 +attrs==22.1.0 +backcall==0.2.0 +beautifulsoup4==4.11.1 +bleach==5.0.1 +blis==0.7.9 +bs4==0.0.1 +cachetools==5.2.0 +catalogue==2.0.8 +certifi==2022.9.24 +cffi==1.15.1 +charset-normalizer==2.1.1 +click==8.1.3 +colorama==0.4.6 +confection==0.0.3 +contourpy==1.0.6 +cycler==0.11.0 +cymem==2.0.7 +debugpy==1.6.3 +decorator==5.1.1 +defusedxml==0.7.1 +dgl==0.9.1 +docker-pycreds==0.4.0 +en-core-web-sm==3.4.1 +entrypoints==0.4 +executing==1.2.0 +fastjsonschema==2.16.2 +filelock==3.8.0 +fonttools==4.38.0 +gitdb==4.0.10 +gitpython==3.1.31 +google-auth-oauthlib==0.4.6 +google-auth==2.14.0 +graph4nlp==0.5.5 +grpcio==1.50.0 +huggingface-hub==0.10.1 +idna==3.4 +importlib-metadata==5.0.0 +importlib-resources==5.10.0 +ipykernel==6.16.2 +ipython-genutils==0.2.0 +ipython==8.6.0 +ipywidgets==8.0.2 +jedi==0.18.1 +jinja2==3.1.2 +joblib==1.2.0 +jsonschema==4.16.0 +jupyter-client==7.4.4 +jupyter-console==6.4.4 +jupyter-core==4.11.2 +jupyter-server==1.21.0 +jupyter==1.0.0 +jupyterlab-pygments==0.2.2 +jupyterlab-widgets==3.0.3 +kiwisolver==1.4.4 +langcodes==3.3.0 +littleutils==0.2.2 +lxml==4.9.1 +markdown==3.4.1 +markupsafe==2.1.1 +matplotlib-inline==0.1.6 +matplotlib==3.6.2 +mistune==2.0.4 +murmurhash==1.0.9 +nbclassic==0.4.7 +nbclient==0.7.0 +nbconvert==7.2.3 +nbformat==5.7.0 +nest-asyncio==1.5.6 +networkx==2.8.8 +nltk==3.7 +notebook-shim==0.2.0 +notebook==6.5.2 +numpy==1.23.5 +oauthlib==3.2.2 +ogb==1.3.5 +outdated==0.2.2 +packaging==21.3 +pandas==1.5.1 +pandocfilters==1.5.0 +parso==0.8.3 +pathtools==0.1.2 +pathy==0.6.2 +pickleshare==0.7.5 +pillow==9.3.0 +pip==21.3.1 +pkgutil-resolve-name==1.3.10 +plotly==5.13.0 +preshed==3.0.8 +prometheus-client==0.15.0 +prompt-toolkit==3.0.31 +protobuf==3.19.6 +psutil==5.9.3 +pure-eval==0.2.2 +pyasn1-modules==0.2.8 +pyasn1==0.4.8 +pycparser==2.21 +pydantic==1.10.2 +pygments==2.13.0 +pyparsing==3.0.9 +pyrsistent==0.18.1 +python-dateutil==2.8.2 +pythonds==1.2.1 +pytz==2022.5 +pywin32==304 +pywinpty==2.0.9 +pyyaml==6.0 +pyzmq==24.0.1 +qtconsole==5.3.2 +qtpy==2.2.1 +regex==2022.10.31 +requests-oauthlib==1.3.1 +requests==2.28.1 +rsa==4.9 +scikit-learn==1.1.3 +scipy==1.9.3 +send2trash==1.8.0 +sentry-sdk==1.15.0 +setproctitle==1.3.2 +setuptools==60.2.0 +six==1.16.0 +smart-open==5.2.1 +smmap==5.0.0 +sniffio==1.3.0 +soupsieve==2.3.2.post1 +spacy-legacy==3.0.10 +spacy-loggers==1.0.3 +spacy==3.4.2 +srsly==2.4.5 +stack-data==0.6.0 +stanfordcorenlp==3.9.1.1 +tenacity==8.2.1 +tensorboard-data-server==0.6.1 +tensorboard-plugin-wit==1.8.1 +tensorboard==2.10.1 +terminado==0.17.0 +thinc==8.1.5 +threadpoolctl==3.1.0 +tinycss2==1.2.1 +tokenizers==0.13.2 +torch-cluster==1.6.0+pt113cpu +torch-geometric==2.2.0 +torch-scatter==2.1.0+pt113cpu +torch-sparse==0.6.16+pt113cpu +torch-spline-conv==1.2.1+pt113cpu +torch==1.13.0 +torchsummary==1.5.1 +torchtext==0.14.0 +tornado==6.2 +tqdm==4.64.1 +traitlets==5.5.0 +transformers==4.24.0 +typer==0.4.2 +typing-extensions==4.4.0 +urllib3==1.26.12 +wandb==0.13.10 +wasabi==0.10.1 +wcwidth==0.2.5 +webencodings==0.5.1 +websocket-client==1.4.1 +werkzeug==2.2.2 +wheel==0.37.1 +widgetsnbextension==4.0.3 +zipp==3.10.0 \ No newline at end of file diff --git a/embeddings/wandb/run-20230224_163621-cq006t1g/files/wandb-metadata.json b/embeddings/wandb/run-20230224_163621-cq006t1g/files/wandb-metadata.json new file mode 100644 index 0000000000000000000000000000000000000000..1ea60e28efd013a5a6dc47b2bf9469c6e36a6a88 --- /dev/null +++ b/embeddings/wandb/run-20230224_163621-cq006t1g/files/wandb-metadata.json @@ -0,0 +1,42 @@ +{ + "os": "Windows-10-10.0.19041-SP0", + "python": "3.8.1", + "heartbeatAt": "2023-02-24T16:36:21.941766", + "startedAt": "2023-02-24T16:36:21.373773", + "docker": null, + "cuda": null, + "args": [], + "state": "running", + "program": "C:\\Users\\liamb\\Documents\\graph4stackoverflow\\embeddings\\hetero_GAT.py", + "codePath": "embeddings\\hetero_GAT.py", + "git": { + "remote": "https://git.soton.ac.uk/lhb1g20/graph4stackoverflow.git", + "commit": "ced992d661984f7b87d1a3e76768e4ff7af78245" + }, + "email": "liambyrneh@gmail.com", + "root": "C:/Users/liamb/Documents/graph4stackoverflow", + "host": "DESKTOP-P7BETFF", + "username": "liamb", + "executable": "C:\\Users\\liamb\\Documents\\graph4stackoverflow\\venv\\Scripts\\python.exe", + "cpu_count": 2, + "cpu_count_logical": 4, + "cpu_freq": { + "current": 3504.0, + "min": 0.0, + "max": 3504.0 + }, + "cpu_freq_per_core": [ + { + "current": 3504.0, + "min": 0.0, + "max": 3504.0 + } + ], + "disk": { + "total": 475.71581649780273, + "used": 354.9479217529297 + }, + "memory": { + "total": 31.89160919189453 + } +} diff --git a/embeddings/wandb/run-20230224_163621-cq006t1g/files/wandb-summary.json b/embeddings/wandb/run-20230224_163621-cq006t1g/files/wandb-summary.json new file mode 100644 index 0000000000000000000000000000000000000000..70e1a1fd27d822c974e2457f592c16fd3e883a32 --- /dev/null +++ b/embeddings/wandb/run-20230224_163621-cq006t1g/files/wandb-summary.json @@ -0,0 +1 @@ +{"num_node_features": {"question": 1536, "answer": 1536, "comment": 768, "tag": 50, "module": 30}, "num_classes": 2, "_timestamp": 1677256596.095906, "_runtime": 14.708171129226685, "_step": 1, "data": {"_type": "table-file", "sha256": "cfb2fac0b416dfd45d67631cfd7479c3bd34c5cc336d0fa334085f46e026a5f0", "size": 168982027, "artifact_path": "wandb-client-artifact://n6idszh62xsljlmli4takciqj8jmnzh2u6mdl6swftgzc8p25qlirm52y03u35w2n33vw2ibrjv1cbd6drsbqwvy7q3zhujfpdaz04dyna2l6kmnqzex1uvj1i7zo34z:latest/data.table.json", "_latest_artifact_path": "wandb-client-artifact://n6idszh62xsljlmli4takciqj8jmnzh2u6mdl6swftgzc8p25qlirm52y03u35w2n33vw2ibrjv1cbd6drsbqwvy7q3zhujfpdaz04dyna2l6kmnqzex1uvj1i7zo34z:latest/data.table.json", "path": "media/table/data_1_cfb2fac0b416dfd45d67.table.json", "ncols": 4, "nrows": 46}, "_wandb": {"runtime": 17}} \ No newline at end of file diff --git a/embeddings/wandb/run-20230224_163621-cq006t1g/logs/debug-internal.log b/embeddings/wandb/run-20230224_163621-cq006t1g/logs/debug-internal.log new file mode 100644 index 0000000000000000000000000000000000000000..e2bb86e0788ff555d2c25c2b1074e606f389d06b --- /dev/null +++ b/embeddings/wandb/run-20230224_163621-cq006t1g/logs/debug-internal.log @@ -0,0 +1,319 @@ +2023-02-24 16:36:21,386 INFO StreamThr :1632 [internal.py:wandb_internal():87] W&B internal server running at pid: 1632, started at: 2023-02-24 16:36:21.385740 +2023-02-24 16:36:21,388 DEBUG HandlerThread:1632 [handler.py:handle_request():144] handle_request: status +2023-02-24 16:36:21,390 INFO WriterThread:1632 [datastore.py:open_for_write():85] open: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_163621-cq006t1g\run-cq006t1g.wandb +2023-02-24 16:36:21,393 DEBUG SenderThread:1632 [sender.py:send():336] send: header +2023-02-24 16:36:21,443 DEBUG SenderThread:1632 [sender.py:send():336] send: run +2023-02-24 16:36:21,848 INFO SenderThread:1632 [dir_watcher.py:__init__():216] watching files in: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_163621-cq006t1g\files +2023-02-24 16:36:21,848 INFO SenderThread:1632 [sender.py:_start_run_threads():1067] run started: cq006t1g with start time 1677256581.387735 +2023-02-24 16:36:21,848 DEBUG SenderThread:1632 [sender.py:send_request():363] send_request: summary_record +2023-02-24 16:36:21,848 DEBUG HandlerThread:1632 [handler.py:handle_request():144] handle_request: check_version +2023-02-24 16:36:21,849 INFO SenderThread:1632 [sender.py:_save_file():1321] saving file wandb-summary.json with policy end +2023-02-24 16:36:21,849 DEBUG SenderThread:1632 [sender.py:send_request():363] send_request: check_version +2023-02-24 16:36:21,923 DEBUG HandlerThread:1632 [handler.py:handle_request():144] handle_request: run_start +2023-02-24 16:36:21,940 DEBUG HandlerThread:1632 [system_info.py:__init__():31] System info init +2023-02-24 16:36:21,940 DEBUG HandlerThread:1632 [system_info.py:__init__():46] System info init done +2023-02-24 16:36:21,940 INFO HandlerThread:1632 [system_monitor.py:start():151] Starting system monitor +2023-02-24 16:36:21,941 INFO SystemMonitor:1632 [system_monitor.py:_start():116] Starting system asset monitoring threads +2023-02-24 16:36:21,941 INFO HandlerThread:1632 [system_monitor.py:probe():172] Collecting system info +2023-02-24 16:36:21,941 DEBUG HandlerThread:1632 [system_info.py:probe():195] Probing system +2023-02-24 16:36:21,944 INFO SystemMonitor:1632 [interfaces.py:start():168] Started cpu +2023-02-24 16:36:21,945 INFO SystemMonitor:1632 [interfaces.py:start():168] Started disk +2023-02-24 16:36:21,945 INFO SystemMonitor:1632 [interfaces.py:start():168] Started memory +2023-02-24 16:36:21,962 INFO SystemMonitor:1632 [interfaces.py:start():168] Started network +2023-02-24 16:36:21,963 DEBUG HandlerThread:1632 [system_info.py:_probe_git():180] Probing git +2023-02-24 16:36:22,057 DEBUG HandlerThread:1632 [system_info.py:_probe_git():188] Probing git done +2023-02-24 16:36:22,057 DEBUG HandlerThread:1632 [system_info.py:probe():241] Probing system done +2023-02-24 16:36:22,057 DEBUG HandlerThread:1632 [system_monitor.py:probe():181] {'os': 'Windows-10-10.0.19041-SP0', 'python': '3.8.1', 'heartbeatAt': '2023-02-24T16:36:21.941766', 'startedAt': '2023-02-24T16:36:21.373773', 'docker': None, 'cuda': None, 'args': (), 'state': 'running', 'program': 'C:\\Users\\liamb\\Documents\\graph4stackoverflow\\embeddings\\hetero_GAT.py', 'codePath': 'embeddings\\hetero_GAT.py', 'git': {'remote': 'https://git.soton.ac.uk/lhb1g20/graph4stackoverflow.git', 'commit': 'ced992d661984f7b87d1a3e76768e4ff7af78245'}, 'email': 'liambyrneh@gmail.com', 'root': 'C:/Users/liamb/Documents/graph4stackoverflow', 'host': 'DESKTOP-P7BETFF', 'username': 'liamb', 'executable': 'C:\\Users\\liamb\\Documents\\graph4stackoverflow\\venv\\Scripts\\python.exe', 'cpu_count': 2, 'cpu_count_logical': 4, 'cpu_freq': {'current': 3504.0, 'min': 0.0, 'max': 3504.0}, 'cpu_freq_per_core': [{'current': 3504.0, 'min': 0.0, 'max': 3504.0}], 'disk': {'total': 475.71581649780273, 'used': 354.9479217529297}, 'memory': {'total': 31.89160919189453}} +2023-02-24 16:36:22,057 INFO HandlerThread:1632 [system_monitor.py:probe():182] Finished collecting system info +2023-02-24 16:36:22,057 INFO HandlerThread:1632 [system_monitor.py:probe():185] Publishing system info +2023-02-24 16:36:22,057 DEBUG HandlerThread:1632 [system_info.py:_save_pip():51] Saving list of pip packages installed into the current environment +2023-02-24 16:36:22,058 DEBUG HandlerThread:1632 [system_info.py:_save_pip():67] Saving pip packages done +2023-02-24 16:36:22,059 INFO HandlerThread:1632 [system_monitor.py:probe():187] Finished publishing system info +2023-02-24 16:36:22,068 DEBUG SenderThread:1632 [sender.py:send():336] send: files +2023-02-24 16:36:22,068 INFO SenderThread:1632 [sender.py:_save_file():1321] saving file wandb-metadata.json with policy now +2023-02-24 16:36:22,076 DEBUG HandlerThread:1632 [handler.py:handle_request():144] handle_request: stop_status +2023-02-24 16:36:22,077 DEBUG SenderThread:1632 [sender.py:send_request():363] send_request: stop_status +2023-02-24 16:36:22,079 DEBUG HandlerThread:1632 [handler.py:handle_request():144] handle_request: partial_history +2023-02-24 16:36:22,236 DEBUG SenderThread:1632 [sender.py:send():336] send: telemetry +2023-02-24 16:36:22,237 DEBUG SenderThread:1632 [sender.py:send():336] send: history +2023-02-24 16:36:22,237 DEBUG SenderThread:1632 [sender.py:send_request():363] send_request: summary_record +2023-02-24 16:36:22,238 INFO SenderThread:1632 [sender.py:_save_file():1321] saving file wandb-summary.json with policy end +2023-02-24 16:36:22,660 INFO wandb-upload_0:1632 [upload_job.py:push():138] Uploaded file C:\Users\liamb\AppData\Local\Temp\tmp3i4_ckmhwandb\xru7c8ec-wandb-metadata.json +2023-02-24 16:36:22,863 INFO Thread-17 :1632 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_163621-cq006t1g\files\wandb-metadata.json +2023-02-24 16:36:22,864 INFO Thread-17 :1632 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_163621-cq006t1g\files\requirements.txt +2023-02-24 16:36:22,864 INFO Thread-17 :1632 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_163621-cq006t1g\files\wandb-summary.json +2023-02-24 16:36:23,877 INFO Thread-17 :1632 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_163621-cq006t1g\files\output.log +2023-02-24 16:36:25,891 INFO Thread-17 :1632 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_163621-cq006t1g\files\output.log +2023-02-24 16:36:26,749 DEBUG HandlerThread:1632 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 16:36:30,492 DEBUG HandlerThread:1632 [handler.py:handle_request():144] handle_request: log_artifact +2023-02-24 16:36:30,493 DEBUG SenderThread:1632 [sender.py:send_request():363] send_request: log_artifact +2023-02-24 16:36:35,998 INFO Thread-17 :1632 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_163621-cq006t1g\files\media\table\data_1_cfb2fac0b416dfd45d67.table.json +2023-02-24 16:36:35,998 INFO Thread-17 :1632 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_163621-cq006t1g\files\media +2023-02-24 16:36:35,999 INFO Thread-17 :1632 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_163621-cq006t1g\files\media\table +2023-02-24 16:36:36,096 DEBUG HandlerThread:1632 [handler.py:handle_request():144] handle_request: partial_history +2023-02-24 16:36:37,090 DEBUG HandlerThread:1632 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 16:36:37,091 DEBUG HandlerThread:1632 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 16:36:39,406 DEBUG HandlerThread:1632 [handler.py:handle_request():144] handle_request: log_artifact +2023-02-24 16:36:40,414 DEBUG HandlerThread:1632 [handler.py:handle_request():144] handle_request: poll_exit +2023-02-24 16:36:45,463 DEBUG HandlerThread:1632 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 16:36:50,516 DEBUG HandlerThread:1632 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 16:36:55,579 DEBUG HandlerThread:1632 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 16:37:00,642 DEBUG HandlerThread:1632 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 16:37:05,695 DEBUG HandlerThread:1632 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 16:37:10,748 DEBUG HandlerThread:1632 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 16:37:15,790 DEBUG HandlerThread:1632 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 16:37:20,848 DEBUG HandlerThread:1632 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 16:37:21,972 DEBUG SystemMonitor:1632 [system_monitor.py:_start():130] Starting system metrics aggregation loop +2023-02-24 16:37:25,919 DEBUG HandlerThread:1632 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 16:37:28,676 INFO wandb-upload_0:1632 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpga4869wz +2023-02-24 16:37:29,606 INFO SenderThread:1632 [sender.py:send_request_log_artifact():1381] logged artifact run-cq006t1g-data - {'id': 'QXJ0aWZhY3Q6MzgwNTYzNzg3', 'digest': '8bd595700cb0ca2c01ac794484418a09', 'state': 'PENDING', 'aliases': [], 'artifactSequence': {'id': 'QXJ0aWZhY3RDb2xsZWN0aW9uOjU0NjIzMDU5', 'latestArtifact': None}, 'version': 'latest'} +2023-02-24 16:37:29,611 DEBUG HandlerThread:1632 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 16:37:29,798 DEBUG SenderThread:1632 [sender.py:send():336] send: files +2023-02-24 16:37:29,798 INFO SenderThread:1632 [sender.py:_save_file():1321] saving file media\table\data_1_cfb2fac0b416dfd45d67.table.json with policy now +2023-02-24 16:37:29,798 DEBUG SenderThread:1632 [sender.py:send():336] send: history +2023-02-24 16:37:29,799 DEBUG SenderThread:1632 [sender.py:send_request():363] send_request: summary_record +2023-02-24 16:37:29,801 INFO SenderThread:1632 [sender.py:_save_file():1321] saving file wandb-summary.json with policy end +2023-02-24 16:37:29,801 DEBUG SenderThread:1632 [sender.py:send_request():363] send_request: log_artifact +2023-02-24 16:37:30,603 INFO Thread-17 :1632 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_163621-cq006t1g\files\wandb-summary.json +2023-02-24 16:37:30,604 INFO Thread-17 :1632 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_163621-cq006t1g\files\config.yaml +2023-02-24 16:37:30,977 DEBUG HandlerThread:1632 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 16:37:31,762 INFO wandb-upload_4:1632 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmp2zbrdy_o +2023-02-24 16:37:31,902 INFO wandb-upload_52:1632 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmp4td1n2h6 +2023-02-24 16:37:31,903 INFO wandb-upload_7:1632 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmp89gvaa2n +2023-02-24 16:37:31,943 INFO wandb-upload_20:1632 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpgtgqrnb7 +2023-02-24 16:37:31,947 INFO wandb-upload_3:1632 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmp9g4ppung +2023-02-24 16:37:31,985 INFO wandb-upload_10:1632 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmp0seg915u +2023-02-24 16:37:31,986 INFO wandb-upload_9:1632 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmp2rmc_uu7 +2023-02-24 16:37:32,024 INFO wandb-upload_12:1632 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpzssaggje +2023-02-24 16:37:32,027 INFO wandb-upload_16:1632 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpe8atr9pd +2023-02-24 16:37:32,030 INFO wandb-upload_8:1632 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmprcqdcpcw +2023-02-24 16:37:32,030 INFO wandb-upload_6:1632 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpfppm9e5f +2023-02-24 16:37:32,051 INFO wandb-upload_46:1632 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpqxxzs0yi +2023-02-24 16:37:32,059 INFO wandb-upload_2:1632 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpcjki6i7q +2023-02-24 16:37:32,079 INFO wandb-upload_48:1632 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpdz8m974x +2023-02-24 16:37:32,097 INFO wandb-upload_22:1632 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpkoiqh81x +2023-02-24 16:37:32,107 INFO wandb-upload_14:1632 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmphfssez3z +2023-02-24 16:37:32,120 INFO wandb-upload_18:1632 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpwag4jbqj +2023-02-24 16:37:32,140 INFO wandb-upload_44:1632 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmp25hq6bk9 +2023-02-24 16:37:32,143 INFO wandb-upload_38:1632 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpvlrv9n_t +2023-02-24 16:37:32,155 INFO wandb-upload_24:1632 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpc7h8nrb5 +2023-02-24 16:37:32,163 INFO wandb-upload_5:1632 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmppbk2jyi5 +2023-02-24 16:37:32,187 INFO wandb-upload_1:1632 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmp64p28q41 +2023-02-24 16:37:32,188 INFO wandb-upload_26:1632 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpnb1bxad_ +2023-02-24 16:37:32,196 INFO wandb-upload_43:1632 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpvjw5p5h3 +2023-02-24 16:37:32,202 INFO wandb-upload_11:1632 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpge9hqwlz +2023-02-24 16:37:32,213 INFO wandb-upload_28:1632 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmp0sff4x8o +2023-02-24 16:37:32,213 INFO wandb-upload_32:1632 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpwkn8w1xw +2023-02-24 16:37:32,214 INFO wandb-upload_42:1632 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpz1c9z_9j +2023-02-24 16:37:32,227 INFO wandb-upload_23:1632 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmp9si60xcs +2023-02-24 16:37:32,236 INFO wandb-upload_30:1632 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmp7w_jbeot +2023-02-24 16:37:32,255 INFO wandb-upload_19:1632 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpu8bfdxv9 +2023-02-24 16:37:32,255 INFO wandb-upload_15:1632 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpule1u6du +2023-02-24 16:37:32,256 INFO wandb-upload_35:1632 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpnm339b41 +2023-02-24 16:37:32,278 INFO wandb-upload_36:1632 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmphodwvep9 +2023-02-24 16:37:32,279 INFO wandb-upload_34:1632 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpwowbaa25 +2023-02-24 16:37:32,287 INFO wandb-upload_40:1632 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpuxctboyq +2023-02-24 16:37:32,307 INFO wandb-upload_27:1632 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmprcarr128 +2023-02-24 16:37:32,325 INFO wandb-upload_17:1632 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpcsy493vl +2023-02-24 16:37:32,344 INFO wandb-upload_13:1632 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpwq637lrd +2023-02-24 16:37:32,365 INFO wandb-upload_37:1632 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpzu8jjeep +2023-02-24 16:37:32,366 INFO wandb-upload_47:1632 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpv97xr9mh +2023-02-24 16:37:32,416 INFO wandb-upload_45:1632 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpes1qk0qj +2023-02-24 16:37:32,417 INFO wandb-upload_29:1632 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpkg1yhz9s +2023-02-24 16:37:32,440 INFO wandb-upload_39:1632 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpv0eixqsp +2023-02-24 16:37:32,492 INFO wandb-upload_31:1632 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpd47qiitj +2023-02-24 16:37:32,505 INFO wandb-upload_33:1632 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpsmzq6dpr +2023-02-24 16:37:32,529 INFO wandb-upload_41:1632 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpjfd1r9g0 +2023-02-24 16:37:32,546 INFO wandb-upload_25:1632 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpxj_kyx_9 +2023-02-24 16:37:32,566 INFO wandb-upload_21:1632 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmp8ymn1h8i +2023-02-24 16:37:32,652 INFO Thread-17 :1632 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_163621-cq006t1g\files\output.log +2023-02-24 16:37:32,750 INFO wandb-upload_51:1632 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpesol_azu +2023-02-24 16:37:36,034 DEBUG HandlerThread:1632 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 16:37:40,039 INFO wandb-upload_50:1632 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpdb4zh8sg +2023-02-24 16:37:41,093 DEBUG HandlerThread:1632 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 16:37:46,133 DEBUG HandlerThread:1632 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 16:37:51,195 DEBUG HandlerThread:1632 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 16:37:56,247 DEBUG HandlerThread:1632 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 16:38:01,312 DEBUG HandlerThread:1632 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 16:38:06,364 DEBUG HandlerThread:1632 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 16:38:11,427 DEBUG HandlerThread:1632 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 16:38:16,489 DEBUG HandlerThread:1632 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 16:38:21,534 DEBUG HandlerThread:1632 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 16:38:26,584 DEBUG HandlerThread:1632 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 16:38:31,632 DEBUG HandlerThread:1632 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 16:38:32,865 INFO wandb-upload_0:1632 [upload_job.py:push():138] Uploaded file C:\Users\liamb\AppData\Local\Temp\tmp3i4_ckmhwandb\iwszd2xo-media/table/data_1_cfb2fac0b416dfd45d67.table.json +2023-02-24 16:38:36,689 DEBUG HandlerThread:1632 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 16:38:41,742 DEBUG HandlerThread:1632 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 16:38:46,797 DEBUG HandlerThread:1632 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 16:38:51,861 DEBUG HandlerThread:1632 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 16:38:56,904 DEBUG HandlerThread:1632 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 16:39:01,944 DEBUG HandlerThread:1632 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 16:39:06,998 DEBUG HandlerThread:1632 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 16:39:12,043 DEBUG HandlerThread:1632 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 16:39:17,091 DEBUG HandlerThread:1632 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 16:39:22,162 DEBUG HandlerThread:1632 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 16:39:27,195 DEBUG HandlerThread:1632 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 16:39:32,253 DEBUG HandlerThread:1632 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 16:39:37,306 DEBUG HandlerThread:1632 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 16:39:42,364 DEBUG HandlerThread:1632 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 16:39:47,431 DEBUG HandlerThread:1632 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 16:39:52,548 DEBUG HandlerThread:1632 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 16:39:57,606 DEBUG HandlerThread:1632 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 16:40:02,649 DEBUG HandlerThread:1632 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 16:40:07,699 DEBUG HandlerThread:1632 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 16:40:12,757 DEBUG HandlerThread:1632 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 16:40:17,796 DEBUG HandlerThread:1632 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 16:40:22,866 DEBUG HandlerThread:1632 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 16:40:27,913 DEBUG HandlerThread:1632 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 16:40:32,966 DEBUG HandlerThread:1632 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 16:40:38,028 DEBUG HandlerThread:1632 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 16:40:43,091 DEBUG HandlerThread:1632 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 16:40:48,144 DEBUG HandlerThread:1632 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 16:40:53,203 DEBUG HandlerThread:1632 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 16:40:58,260 DEBUG HandlerThread:1632 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 16:41:03,321 DEBUG HandlerThread:1632 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 16:41:08,387 DEBUG HandlerThread:1632 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 16:41:13,449 DEBUG HandlerThread:1632 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 16:41:18,505 DEBUG HandlerThread:1632 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 16:41:23,568 DEBUG HandlerThread:1632 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 16:41:28,624 DEBUG HandlerThread:1632 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 16:41:33,679 DEBUG HandlerThread:1632 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 16:41:38,740 DEBUG HandlerThread:1632 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 16:41:43,793 DEBUG HandlerThread:1632 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 16:41:44,017 INFO wandb-upload_49:1632 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmp7mt7w2fo +2023-02-24 16:41:45,027 INFO SenderThread:1632 [sender.py:send_request_log_artifact():1381] logged artifact static-graphs - {'id': 'QXJ0aWZhY3Q6MzgwNTY0ODAy', 'digest': '64a712122c812b4423fcf560ca60f704', 'state': 'PENDING', 'aliases': [], 'artifactSequence': {'id': 'QXJ0aWZhY3RDb2xsZWN0aW9uOjU0NjIzMTU5', 'latestArtifact': None}, 'version': 'latest'} +2023-02-24 16:41:45,027 DEBUG SenderThread:1632 [sender.py:send():336] send: telemetry +2023-02-24 16:41:45,027 DEBUG HandlerThread:1632 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 16:41:45,028 DEBUG SenderThread:1632 [sender.py:send():336] send: exit +2023-02-24 16:41:45,028 INFO SenderThread:1632 [sender.py:send_exit():559] handling exit code: 0 +2023-02-24 16:41:45,028 INFO SenderThread:1632 [sender.py:send_exit():561] handling runtime: 17 +2023-02-24 16:41:45,030 INFO SenderThread:1632 [sender.py:_save_file():1321] saving file wandb-summary.json with policy end +2023-02-24 16:41:45,031 INFO SenderThread:1632 [sender.py:send_exit():567] send defer +2023-02-24 16:41:45,031 DEBUG SenderThread:1632 [sender.py:send_request():363] send_request: poll_exit +2023-02-24 16:41:45,031 DEBUG SenderThread:1632 [sender.py:send():336] send: stats +2023-02-24 16:41:45,031 DEBUG SenderThread:1632 [sender.py:send():336] send: stats +2023-02-24 16:41:45,032 DEBUG SenderThread:1632 [sender.py:send():336] send: stats +2023-02-24 16:41:45,032 DEBUG HandlerThread:1632 [handler.py:handle_request():144] handle_request: defer +2023-02-24 16:41:45,032 DEBUG SenderThread:1632 [sender.py:send():336] send: stats +2023-02-24 16:41:45,032 INFO HandlerThread:1632 [handler.py:handle_request_defer():170] handle defer: 0 +2023-02-24 16:41:45,033 DEBUG SenderThread:1632 [sender.py:send():336] send: stats +2023-02-24 16:41:45,033 DEBUG SenderThread:1632 [sender.py:send():336] send: stats +2023-02-24 16:41:45,033 DEBUG SenderThread:1632 [sender.py:send():336] send: stats +2023-02-24 16:41:45,034 DEBUG SenderThread:1632 [sender.py:send():336] send: stats +2023-02-24 16:41:45,034 DEBUG SenderThread:1632 [sender.py:send():336] send: stats +2023-02-24 16:41:45,034 DEBUG SenderThread:1632 [sender.py:send_request():363] send_request: defer +2023-02-24 16:41:45,034 INFO SenderThread:1632 [sender.py:send_request_defer():583] handle sender defer: 0 +2023-02-24 16:41:45,034 INFO SenderThread:1632 [sender.py:transition_state():587] send defer: 1 +2023-02-24 16:41:45,035 DEBUG HandlerThread:1632 [handler.py:handle_request():144] handle_request: defer +2023-02-24 16:41:45,035 INFO HandlerThread:1632 [handler.py:handle_request_defer():170] handle defer: 1 +2023-02-24 16:41:45,035 DEBUG SenderThread:1632 [sender.py:send_request():363] send_request: defer +2023-02-24 16:41:45,035 INFO SenderThread:1632 [sender.py:send_request_defer():583] handle sender defer: 1 +2023-02-24 16:41:45,035 INFO SenderThread:1632 [sender.py:transition_state():587] send defer: 2 +2023-02-24 16:41:45,035 DEBUG HandlerThread:1632 [handler.py:handle_request():144] handle_request: defer +2023-02-24 16:41:45,035 INFO HandlerThread:1632 [handler.py:handle_request_defer():170] handle defer: 2 +2023-02-24 16:41:45,035 INFO HandlerThread:1632 [system_monitor.py:finish():161] Stopping system monitor +2023-02-24 16:41:45,037 DEBUG SystemMonitor:1632 [system_monitor.py:_start():137] Finished system metrics aggregation loop +2023-02-24 16:41:45,037 INFO HandlerThread:1632 [interfaces.py:finish():175] Joined cpu +2023-02-24 16:41:45,037 DEBUG SystemMonitor:1632 [system_monitor.py:_start():141] Publishing last batch of metrics +2023-02-24 16:41:45,038 INFO HandlerThread:1632 [interfaces.py:finish():175] Joined disk +2023-02-24 16:41:45,038 INFO HandlerThread:1632 [interfaces.py:finish():175] Joined memory +2023-02-24 16:41:45,038 INFO HandlerThread:1632 [interfaces.py:finish():175] Joined network +2023-02-24 16:41:45,039 DEBUG SenderThread:1632 [sender.py:send_request():363] send_request: defer +2023-02-24 16:41:45,039 INFO SenderThread:1632 [sender.py:send_request_defer():583] handle sender defer: 2 +2023-02-24 16:41:45,039 INFO SenderThread:1632 [sender.py:transition_state():587] send defer: 3 +2023-02-24 16:41:45,039 DEBUG SenderThread:1632 [sender.py:send():336] send: stats +2023-02-24 16:41:45,039 DEBUG HandlerThread:1632 [handler.py:handle_request():144] handle_request: defer +2023-02-24 16:41:45,039 INFO HandlerThread:1632 [handler.py:handle_request_defer():170] handle defer: 3 +2023-02-24 16:41:45,040 DEBUG SenderThread:1632 [sender.py:send_request():363] send_request: defer +2023-02-24 16:41:45,040 INFO SenderThread:1632 [sender.py:send_request_defer():583] handle sender defer: 3 +2023-02-24 16:41:45,040 INFO SenderThread:1632 [sender.py:transition_state():587] send defer: 4 +2023-02-24 16:41:45,040 DEBUG HandlerThread:1632 [handler.py:handle_request():144] handle_request: defer +2023-02-24 16:41:45,040 INFO HandlerThread:1632 [handler.py:handle_request_defer():170] handle defer: 4 +2023-02-24 16:41:45,040 DEBUG SenderThread:1632 [sender.py:send_request():363] send_request: defer +2023-02-24 16:41:45,040 INFO SenderThread:1632 [sender.py:send_request_defer():583] handle sender defer: 4 +2023-02-24 16:41:45,040 INFO SenderThread:1632 [sender.py:transition_state():587] send defer: 5 +2023-02-24 16:41:45,040 DEBUG HandlerThread:1632 [handler.py:handle_request():144] handle_request: defer +2023-02-24 16:41:45,041 INFO HandlerThread:1632 [handler.py:handle_request_defer():170] handle defer: 5 +2023-02-24 16:41:45,041 DEBUG SenderThread:1632 [sender.py:send():336] send: summary +2023-02-24 16:41:45,042 INFO SenderThread:1632 [sender.py:_save_file():1321] saving file wandb-summary.json with policy end +2023-02-24 16:41:45,042 DEBUG SenderThread:1632 [sender.py:send_request():363] send_request: defer +2023-02-24 16:41:45,042 INFO SenderThread:1632 [sender.py:send_request_defer():583] handle sender defer: 5 +2023-02-24 16:41:45,042 INFO SenderThread:1632 [sender.py:transition_state():587] send defer: 6 +2023-02-24 16:41:45,042 DEBUG HandlerThread:1632 [handler.py:handle_request():144] handle_request: defer +2023-02-24 16:41:45,043 INFO HandlerThread:1632 [handler.py:handle_request_defer():170] handle defer: 6 +2023-02-24 16:41:45,043 DEBUG SenderThread:1632 [sender.py:send_request():363] send_request: defer +2023-02-24 16:41:45,043 INFO SenderThread:1632 [sender.py:send_request_defer():583] handle sender defer: 6 +2023-02-24 16:41:45,047 DEBUG HandlerThread:1632 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 16:41:45,267 INFO SenderThread:1632 [sender.py:transition_state():587] send defer: 7 +2023-02-24 16:41:45,267 DEBUG HandlerThread:1632 [handler.py:handle_request():144] handle_request: defer +2023-02-24 16:41:45,267 INFO HandlerThread:1632 [handler.py:handle_request_defer():170] handle defer: 7 +2023-02-24 16:41:45,268 DEBUG SenderThread:1632 [sender.py:send_request():363] send_request: defer +2023-02-24 16:41:45,268 INFO SenderThread:1632 [sender.py:send_request_defer():583] handle sender defer: 7 +2023-02-24 16:41:45,556 INFO SenderThread:1632 [sender.py:transition_state():587] send defer: 8 +2023-02-24 16:41:45,556 DEBUG HandlerThread:1632 [handler.py:handle_request():144] handle_request: defer +2023-02-24 16:41:45,556 INFO HandlerThread:1632 [handler.py:handle_request_defer():170] handle defer: 8 +2023-02-24 16:41:45,556 DEBUG SenderThread:1632 [sender.py:send_request():363] send_request: defer +2023-02-24 16:41:45,556 INFO SenderThread:1632 [sender.py:send_request_defer():583] handle sender defer: 8 +2023-02-24 16:41:45,566 INFO SenderThread:1632 [sender.py:transition_state():587] send defer: 9 +2023-02-24 16:41:45,567 DEBUG HandlerThread:1632 [handler.py:handle_request():144] handle_request: defer +2023-02-24 16:41:45,567 DEBUG SenderThread:1632 [sender.py:send():336] send: artifact +2023-02-24 16:41:45,567 INFO HandlerThread:1632 [handler.py:handle_request_defer():170] handle defer: 9 +2023-02-24 16:41:45,572 INFO Thread-17 :1632 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_163621-cq006t1g\files\wandb-summary.json +2023-02-24 16:41:45,572 INFO Thread-17 :1632 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_163621-cq006t1g\files\config.yaml +2023-02-24 16:41:45,573 INFO Thread-17 :1632 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_163621-cq006t1g\files\output.log +2023-02-24 16:41:46,293 INFO SenderThread:1632 [sender.py:send_artifact():1417] sent artifact job-https___git.soton.ac.uk_lhb1g20_graph4stackoverflow.git_embeddings_hetero_GAT.py - {'id': 'QXJ0aWZhY3Q6MzgwMzk2OTM0', 'digest': '8077f65decb82fd65dc9936bbf393b39', 'state': 'COMMITTED', 'aliases': [{'artifactCollectionName': 'job-https___git.soton.ac.uk_lhb1g20_graph4stackoverflow.git_embeddings_hetero_GAT.py', 'alias': 'latest'}, {'artifactCollectionName': 'job-https___git.soton.ac.uk_lhb1g20_graph4stackoverflow.git_embeddings_hetero_GAT.py', 'alias': 'v2'}], 'artifactSequence': {'id': 'QXJ0aWZhY3RDb2xsZWN0aW9uOjU0NTg3MzU0', 'latestArtifact': {'id': 'QXJ0aWZhY3Q6MzgwMzk2OTM0', 'versionIndex': 2}}, 'version': 'v2'} +2023-02-24 16:41:46,293 DEBUG SenderThread:1632 [sender.py:send_request():363] send_request: defer +2023-02-24 16:41:46,293 INFO SenderThread:1632 [sender.py:send_request_defer():583] handle sender defer: 9 +2023-02-24 16:41:46,293 INFO SenderThread:1632 [dir_watcher.py:finish():362] shutting down directory watcher +2023-02-24 16:41:46,575 INFO SenderThread:1632 [dir_watcher.py:finish():392] scan: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_163621-cq006t1g\files +2023-02-24 16:41:46,575 INFO SenderThread:1632 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_163621-cq006t1g\files\config.yaml config.yaml +2023-02-24 16:41:46,575 INFO SenderThread:1632 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_163621-cq006t1g\files\output.log output.log +2023-02-24 16:41:46,576 INFO SenderThread:1632 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_163621-cq006t1g\files\requirements.txt requirements.txt +2023-02-24 16:41:46,579 INFO SenderThread:1632 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_163621-cq006t1g\files\wandb-metadata.json wandb-metadata.json +2023-02-24 16:41:46,581 INFO SenderThread:1632 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_163621-cq006t1g\files\wandb-summary.json wandb-summary.json +2023-02-24 16:41:46,588 INFO SenderThread:1632 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_163621-cq006t1g\files\media\table\data_1_cfb2fac0b416dfd45d67.table.json media\table\data_1_cfb2fac0b416dfd45d67.table.json +2023-02-24 16:41:46,588 INFO SenderThread:1632 [sender.py:transition_state():587] send defer: 10 +2023-02-24 16:41:46,589 DEBUG HandlerThread:1632 [handler.py:handle_request():144] handle_request: defer +2023-02-24 16:41:46,589 INFO HandlerThread:1632 [handler.py:handle_request_defer():170] handle defer: 10 +2023-02-24 16:41:46,590 DEBUG SenderThread:1632 [sender.py:send_request():363] send_request: defer +2023-02-24 16:41:46,590 INFO SenderThread:1632 [sender.py:send_request_defer():583] handle sender defer: 10 +2023-02-24 16:41:46,590 INFO SenderThread:1632 [file_pusher.py:finish():162] shutting down file pusher +2023-02-24 16:41:47,092 INFO wandb-upload_7:1632 [upload_job.py:push():138] Uploaded file C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_163621-cq006t1g\files\output.log +2023-02-24 16:41:47,138 INFO wandb-upload_9:1632 [upload_job.py:push():138] Uploaded file C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_163621-cq006t1g\files\wandb-summary.json +2023-02-24 16:41:47,148 INFO wandb-upload_4:1632 [upload_job.py:push():138] Uploaded file C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_163621-cq006t1g\files\config.yaml +2023-02-24 16:41:47,171 INFO wandb-upload_3:1632 [upload_job.py:push():138] Uploaded file C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_163621-cq006t1g\files\requirements.txt +2023-02-24 16:41:47,380 INFO Thread-16 :1632 [sender.py:transition_state():587] send defer: 11 +2023-02-24 16:41:47,380 DEBUG HandlerThread:1632 [handler.py:handle_request():144] handle_request: defer +2023-02-24 16:41:47,381 INFO HandlerThread:1632 [handler.py:handle_request_defer():170] handle defer: 11 +2023-02-24 16:41:47,381 DEBUG SenderThread:1632 [sender.py:send_request():363] send_request: defer +2023-02-24 16:41:47,381 INFO SenderThread:1632 [sender.py:send_request_defer():583] handle sender defer: 11 +2023-02-24 16:41:47,381 INFO SenderThread:1632 [file_pusher.py:join():167] waiting for file pusher +2023-02-24 16:41:47,381 INFO SenderThread:1632 [sender.py:transition_state():587] send defer: 12 +2023-02-24 16:41:47,381 DEBUG HandlerThread:1632 [handler.py:handle_request():144] handle_request: defer +2023-02-24 16:41:47,381 INFO HandlerThread:1632 [handler.py:handle_request_defer():170] handle defer: 12 +2023-02-24 16:41:47,382 DEBUG SenderThread:1632 [sender.py:send_request():363] send_request: defer +2023-02-24 16:41:47,382 INFO SenderThread:1632 [sender.py:send_request_defer():583] handle sender defer: 12 +2023-02-24 16:41:47,833 INFO SenderThread:1632 [sender.py:transition_state():587] send defer: 13 +2023-02-24 16:41:47,834 DEBUG HandlerThread:1632 [handler.py:handle_request():144] handle_request: defer +2023-02-24 16:41:47,834 INFO HandlerThread:1632 [handler.py:handle_request_defer():170] handle defer: 13 +2023-02-24 16:41:47,834 DEBUG SenderThread:1632 [sender.py:send_request():363] send_request: defer +2023-02-24 16:41:47,834 INFO SenderThread:1632 [sender.py:send_request_defer():583] handle sender defer: 13 +2023-02-24 16:41:47,834 INFO SenderThread:1632 [sender.py:transition_state():587] send defer: 14 +2023-02-24 16:41:47,835 DEBUG HandlerThread:1632 [handler.py:handle_request():144] handle_request: defer +2023-02-24 16:41:47,835 INFO HandlerThread:1632 [handler.py:handle_request_defer():170] handle defer: 14 +2023-02-24 16:41:47,835 DEBUG SenderThread:1632 [sender.py:send():336] send: final +2023-02-24 16:41:47,835 DEBUG SenderThread:1632 [sender.py:send():336] send: footer +2023-02-24 16:41:47,835 DEBUG SenderThread:1632 [sender.py:send_request():363] send_request: defer +2023-02-24 16:41:47,835 INFO SenderThread:1632 [sender.py:send_request_defer():583] handle sender defer: 14 +2023-02-24 16:41:47,836 DEBUG HandlerThread:1632 [handler.py:handle_request():144] handle_request: poll_exit +2023-02-24 16:41:47,837 DEBUG HandlerThread:1632 [handler.py:handle_request():144] handle_request: server_info +2023-02-24 16:41:47,837 DEBUG HandlerThread:1632 [handler.py:handle_request():144] handle_request: get_summary +2023-02-24 16:41:47,837 DEBUG HandlerThread:1632 [handler.py:handle_request():144] handle_request: sampled_history +2023-02-24 16:41:47,838 DEBUG SenderThread:1632 [sender.py:send_request():363] send_request: poll_exit +2023-02-24 16:41:47,838 DEBUG SenderThread:1632 [sender.py:send_request():363] send_request: server_info +2023-02-24 16:41:47,986 DEBUG HandlerThread:1632 [handler.py:handle_request():144] handle_request: shutdown +2023-02-24 16:41:47,986 INFO HandlerThread:1632 [handler.py:finish():841] shutting down handler +2023-02-24 16:41:48,847 INFO WriterThread:1632 [datastore.py:close():299] close: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_163621-cq006t1g\run-cq006t1g.wandb +2023-02-24 16:41:48,987 INFO SenderThread:1632 [sender.py:finish():1493] shutting down sender +2023-02-24 16:41:48,987 INFO SenderThread:1632 [file_pusher.py:finish():162] shutting down file pusher +2023-02-24 16:41:48,987 INFO SenderThread:1632 [file_pusher.py:join():167] waiting for file pusher diff --git a/embeddings/wandb/run-20230224_163621-cq006t1g/logs/debug.log b/embeddings/wandb/run-20230224_163621-cq006t1g/logs/debug.log new file mode 100644 index 0000000000000000000000000000000000000000..884a5471be8b3a503d65d45ccfb5493e9a5d2f17 --- /dev/null +++ b/embeddings/wandb/run-20230224_163621-cq006t1g/logs/debug.log @@ -0,0 +1,31 @@ +2023-02-24 16:36:21,376 INFO MainThread:17260 [wandb_setup.py:_flush():68] Configure stats pid to 17260 +2023-02-24 16:36:21,376 INFO MainThread:17260 [wandb_setup.py:_flush():68] Loading settings from C:\Users\liamb\.config\wandb\settings +2023-02-24 16:36:21,376 INFO MainThread:17260 [wandb_setup.py:_flush():68] Loading settings from C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\settings +2023-02-24 16:36:21,376 INFO MainThread:17260 [wandb_setup.py:_flush():68] Loading settings from environment variables: {'_require_service': 'True'} +2023-02-24 16:36:21,376 INFO MainThread:17260 [wandb_setup.py:_flush():68] Inferring run settings from compute environment: {'program_relpath': 'embeddings\\hetero_GAT.py', 'program': 'C:\\Users\\liamb\\Documents\\graph4stackoverflow\\embeddings\\hetero_GAT.py'} +2023-02-24 16:36:21,377 INFO MainThread:17260 [wandb_init.py:_log_setup():492] Logging user logs to C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_163621-cq006t1g\logs\debug.log +2023-02-24 16:36:21,378 INFO MainThread:17260 [wandb_init.py:_log_setup():493] Logging internal logs to C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_163621-cq006t1g\logs\debug-internal.log +2023-02-24 16:36:21,378 INFO MainThread:17260 [wandb_init.py:init():532] calling init triggers +2023-02-24 16:36:21,378 INFO MainThread:17260 [wandb_init.py:init():538] wandb.init called with sweep_config: {} +config: {} +2023-02-24 16:36:21,378 INFO MainThread:17260 [wandb_init.py:init():588] starting backend +2023-02-24 16:36:21,378 INFO MainThread:17260 [wandb_init.py:init():592] setting up manager +2023-02-24 16:36:21,381 INFO MainThread:17260 [backend.py:_multiprocessing_setup():106] multiprocessing start_methods=spawn, using: spawn +2023-02-24 16:36:21,386 INFO MainThread:17260 [wandb_init.py:init():599] backend started and connected +2023-02-24 16:36:21,388 INFO MainThread:17260 [wandb_init.py:init():687] updated telemetry +2023-02-24 16:36:21,442 INFO MainThread:17260 [wandb_init.py:init():727] communicating run to backend with 60.0 second timeout +2023-02-24 16:36:21,848 INFO MainThread:17260 [wandb_run.py:_on_init():2134] communicating current version +2023-02-24 16:36:21,915 INFO MainThread:17260 [wandb_run.py:_on_init():2143] got version response +2023-02-24 16:36:21,915 INFO MainThread:17260 [wandb_init.py:init():775] starting run threads in backend +2023-02-24 16:36:22,077 INFO MainThread:17260 [wandb_run.py:_console_start():2114] atexit reg +2023-02-24 16:36:22,077 INFO MainThread:17260 [wandb_run.py:_redirect():1969] redirect: SettingsConsole.WRAP_RAW +2023-02-24 16:36:22,077 INFO MainThread:17260 [wandb_run.py:_redirect():2034] Wrapping output streams. +2023-02-24 16:36:22,078 INFO MainThread:17260 [wandb_run.py:_redirect():2059] Redirects installed. +2023-02-24 16:36:22,078 INFO MainThread:17260 [wandb_init.py:init():817] run started, returning control to user process +2023-02-24 16:36:39,409 INFO MainThread:17260 [wandb_run.py:_finish():1854] finishing run g4nlp/heterogeneous-GAT-model/cq006t1g +2023-02-24 16:36:39,409 INFO MainThread:17260 [wandb_run.py:_atexit_cleanup():2083] got exitcode: 0 +2023-02-24 16:36:39,409 INFO MainThread:17260 [wandb_run.py:_restore():2066] restore +2023-02-24 16:36:39,409 INFO MainThread:17260 [wandb_run.py:_restore():2072] restore done +2023-02-24 16:41:48,987 INFO MainThread:17260 [wandb_run.py:_footer_history_summary_info():3442] rendering history +2023-02-24 16:41:48,988 INFO MainThread:17260 [wandb_run.py:_footer_history_summary_info():3474] rendering summary +2023-02-24 16:41:48,994 INFO MainThread:17260 [wandb_run.py:_footer_sync_info():3398] logging synced files diff --git a/embeddings/wandb/run-20230224_163621-cq006t1g/run-cq006t1g.wandb b/embeddings/wandb/run-20230224_163621-cq006t1g/run-cq006t1g.wandb new file mode 100644 index 0000000000000000000000000000000000000000..004f9efc6d76cbb79d6a52cb4db60bfc7d3d03c8 Binary files /dev/null and b/embeddings/wandb/run-20230224_163621-cq006t1g/run-cq006t1g.wandb differ diff --git a/embeddings/wandb/run-20230224_164149-piz6xg4i/files/config.yaml b/embeddings/wandb/run-20230224_164149-piz6xg4i/files/config.yaml new file mode 100644 index 0000000000000000000000000000000000000000..e6354fa6d12359c10f96193164bfe7aa036966c8 --- /dev/null +++ b/embeddings/wandb/run-20230224_164149-piz6xg4i/files/config.yaml @@ -0,0 +1,39 @@ +wandb_version: 1 + +_wandb: + desc: null + value: + cli_version: 0.13.10 + framework: huggingface + huggingface_version: 4.24.0 + is_jupyter_run: false + is_kaggle_kernel: false + python_version: 3.8.1 + start_time: 1677256909.015496 + t: + 1: + - 1 + - 5 + - 11 + - 33 + - 49 + - 53 + - 55 + - 77 + 2: + - 1 + - 5 + - 11 + - 33 + - 49 + - 53 + - 55 + - 77 + 3: + - 23 + 4: 3.8.1 + 5: 0.13.10 + 6: 4.24.0 + 8: + - 3 + - 5 diff --git a/embeddings/wandb/run-20230224_164149-piz6xg4i/files/output.log b/embeddings/wandb/run-20230224_164149-piz6xg4i/files/output.log new file mode 100644 index 0000000000000000000000000000000000000000..e9fc6bc8e4301f0c3e78e6322f92e601b444b22f --- /dev/null +++ b/embeddings/wandb/run-20230224_164149-piz6xg4i/files/output.log @@ -0,0 +1,32 @@ +wandb: ERROR Project g4nlp/static-dataset does not contain artifact: "static-graphs" +Traceback (most recent call last): + File "C:\Users\liamb\Documents\graph4stackoverflow\venv\lib\site-packages\wandb\apis\normalize.py", line 26, in wrapper + return func(*args, **kwargs) + File "C:\Users\liamb\Documents\graph4stackoverflow\venv\lib\site-packages\wandb\apis\public.py", line 955, in artifact + artifact = Artifact(self.client, entity, project, artifact_name) + File "C:\Users\liamb\Documents\graph4stackoverflow\venv\lib\site-packages\wandb\apis\public.py", line 4368, in __init__ + self._load() + File "C:\Users\liamb\Documents\graph4stackoverflow\venv\lib\site-packages\wandb\apis\public.py", line 5097, in _load + raise ValueError( +ValueError: Project g4nlp/static-dataset does not contain artifact: "static-graphs" +During handling of the above exception, another exception occurred: +Traceback (most recent call last): + File "C:\Users\liamb\Documents\graph4stackoverflow\embeddings\hetero_GAT.py", line 181, in <module> + start_wandb_for_training(wandb_project_name) + File "C:\Users\liamb\Documents\graph4stackoverflow\embeddings\hetero_GAT.py", line 159, in start_wandb_for_training + wandb.use_artifact("static-dataset/static-graphs") + File "C:\Users\liamb\Documents\graph4stackoverflow\venv\lib\site-packages\wandb\sdk\wandb_run.py", line 334, in wrapper + return func(self, *args, **kwargs) + File "C:\Users\liamb\Documents\graph4stackoverflow\venv\lib\site-packages\wandb\sdk\wandb_run.py", line 2635, in use_artifact + artifact = public_api.artifact(type=type, name=name) + File "C:\Users\liamb\Documents\graph4stackoverflow\venv\lib\site-packages\wandb\apis\normalize.py", line 64, in wrapper + raise CommError(message, err).with_traceback(sys.exc_info()[2]) + File "C:\Users\liamb\Documents\graph4stackoverflow\venv\lib\site-packages\wandb\apis\normalize.py", line 26, in wrapper + return func(*args, **kwargs) + File "C:\Users\liamb\Documents\graph4stackoverflow\venv\lib\site-packages\wandb\apis\public.py", line 955, in artifact + artifact = Artifact(self.client, entity, project, artifact_name) + File "C:\Users\liamb\Documents\graph4stackoverflow\venv\lib\site-packages\wandb\apis\public.py", line 4368, in __init__ + self._load() + File "C:\Users\liamb\Documents\graph4stackoverflow\venv\lib\site-packages\wandb\apis\public.py", line 5097, in _load + raise ValueError( +wandb.errors.CommError: Project g4nlp/static-dataset does not contain artifact: "static-graphs" \ No newline at end of file diff --git a/embeddings/wandb/run-20230224_164149-piz6xg4i/files/requirements.txt b/embeddings/wandb/run-20230224_164149-piz6xg4i/files/requirements.txt new file mode 100644 index 0000000000000000000000000000000000000000..d7de821539624662109e252a91c4907a963ad5fb --- /dev/null +++ b/embeddings/wandb/run-20230224_164149-piz6xg4i/files/requirements.txt @@ -0,0 +1,170 @@ +absl-py==1.3.0 +anyio==3.6.2 +appdirs==1.4.4 +argon2-cffi-bindings==21.2.0 +argon2-cffi==21.3.0 +asttokens==2.1.0 +astunparse==1.6.3 +attrs==22.1.0 +backcall==0.2.0 +beautifulsoup4==4.11.1 +bleach==5.0.1 +blis==0.7.9 +bs4==0.0.1 +cachetools==5.2.0 +catalogue==2.0.8 +certifi==2022.9.24 +cffi==1.15.1 +charset-normalizer==2.1.1 +click==8.1.3 +colorama==0.4.6 +confection==0.0.3 +contourpy==1.0.6 +cycler==0.11.0 +cymem==2.0.7 +debugpy==1.6.3 +decorator==5.1.1 +defusedxml==0.7.1 +dgl==0.9.1 +docker-pycreds==0.4.0 +en-core-web-sm==3.4.1 +entrypoints==0.4 +executing==1.2.0 +fastjsonschema==2.16.2 +filelock==3.8.0 +fonttools==4.38.0 +gitdb==4.0.10 +gitpython==3.1.31 +google-auth-oauthlib==0.4.6 +google-auth==2.14.0 +graph4nlp==0.5.5 +grpcio==1.50.0 +huggingface-hub==0.10.1 +idna==3.4 +importlib-metadata==5.0.0 +importlib-resources==5.10.0 +ipykernel==6.16.2 +ipython-genutils==0.2.0 +ipython==8.6.0 +ipywidgets==8.0.2 +jedi==0.18.1 +jinja2==3.1.2 +joblib==1.2.0 +jsonschema==4.16.0 +jupyter-client==7.4.4 +jupyter-console==6.4.4 +jupyter-core==4.11.2 +jupyter-server==1.21.0 +jupyter==1.0.0 +jupyterlab-pygments==0.2.2 +jupyterlab-widgets==3.0.3 +kiwisolver==1.4.4 +langcodes==3.3.0 +littleutils==0.2.2 +lxml==4.9.1 +markdown==3.4.1 +markupsafe==2.1.1 +matplotlib-inline==0.1.6 +matplotlib==3.6.2 +mistune==2.0.4 +murmurhash==1.0.9 +nbclassic==0.4.7 +nbclient==0.7.0 +nbconvert==7.2.3 +nbformat==5.7.0 +nest-asyncio==1.5.6 +networkx==2.8.8 +nltk==3.7 +notebook-shim==0.2.0 +notebook==6.5.2 +numpy==1.23.5 +oauthlib==3.2.2 +ogb==1.3.5 +outdated==0.2.2 +packaging==21.3 +pandas==1.5.1 +pandocfilters==1.5.0 +parso==0.8.3 +pathtools==0.1.2 +pathy==0.6.2 +pickleshare==0.7.5 +pillow==9.3.0 +pip==21.3.1 +pkgutil-resolve-name==1.3.10 +plotly==5.13.0 +preshed==3.0.8 +prometheus-client==0.15.0 +prompt-toolkit==3.0.31 +protobuf==3.19.6 +psutil==5.9.3 +pure-eval==0.2.2 +pyasn1-modules==0.2.8 +pyasn1==0.4.8 +pycparser==2.21 +pydantic==1.10.2 +pygments==2.13.0 +pyparsing==3.0.9 +pyrsistent==0.18.1 +python-dateutil==2.8.2 +pythonds==1.2.1 +pytz==2022.5 +pywin32==304 +pywinpty==2.0.9 +pyyaml==6.0 +pyzmq==24.0.1 +qtconsole==5.3.2 +qtpy==2.2.1 +regex==2022.10.31 +requests-oauthlib==1.3.1 +requests==2.28.1 +rsa==4.9 +scikit-learn==1.1.3 +scipy==1.9.3 +send2trash==1.8.0 +sentry-sdk==1.15.0 +setproctitle==1.3.2 +setuptools==60.2.0 +six==1.16.0 +smart-open==5.2.1 +smmap==5.0.0 +sniffio==1.3.0 +soupsieve==2.3.2.post1 +spacy-legacy==3.0.10 +spacy-loggers==1.0.3 +spacy==3.4.2 +srsly==2.4.5 +stack-data==0.6.0 +stanfordcorenlp==3.9.1.1 +tenacity==8.2.1 +tensorboard-data-server==0.6.1 +tensorboard-plugin-wit==1.8.1 +tensorboard==2.10.1 +terminado==0.17.0 +thinc==8.1.5 +threadpoolctl==3.1.0 +tinycss2==1.2.1 +tokenizers==0.13.2 +torch-cluster==1.6.0+pt113cpu +torch-geometric==2.2.0 +torch-scatter==2.1.0+pt113cpu +torch-sparse==0.6.16+pt113cpu +torch-spline-conv==1.2.1+pt113cpu +torch==1.13.0 +torchsummary==1.5.1 +torchtext==0.14.0 +tornado==6.2 +tqdm==4.64.1 +traitlets==5.5.0 +transformers==4.24.0 +typer==0.4.2 +typing-extensions==4.4.0 +urllib3==1.26.12 +wandb==0.13.10 +wasabi==0.10.1 +wcwidth==0.2.5 +webencodings==0.5.1 +websocket-client==1.4.1 +werkzeug==2.2.2 +wheel==0.37.1 +widgetsnbextension==4.0.3 +zipp==3.10.0 \ No newline at end of file diff --git a/embeddings/wandb/run-20230224_164149-piz6xg4i/files/wandb-metadata.json b/embeddings/wandb/run-20230224_164149-piz6xg4i/files/wandb-metadata.json new file mode 100644 index 0000000000000000000000000000000000000000..80e224fad4df66ff101559bc60447b2f9326ce2c --- /dev/null +++ b/embeddings/wandb/run-20230224_164149-piz6xg4i/files/wandb-metadata.json @@ -0,0 +1,42 @@ +{ + "os": "Windows-10-10.0.19041-SP0", + "python": "3.8.1", + "heartbeatAt": "2023-02-24T16:41:50.462020", + "startedAt": "2023-02-24T16:41:49.004498", + "docker": null, + "cuda": null, + "args": [], + "state": "running", + "program": "C:\\Users\\liamb\\Documents\\graph4stackoverflow\\embeddings\\hetero_GAT.py", + "codePath": "embeddings\\hetero_GAT.py", + "git": { + "remote": "https://git.soton.ac.uk/lhb1g20/graph4stackoverflow.git", + "commit": "ced992d661984f7b87d1a3e76768e4ff7af78245" + }, + "email": "liambyrneh@gmail.com", + "root": "C:/Users/liamb/Documents/graph4stackoverflow", + "host": "DESKTOP-P7BETFF", + "username": "liamb", + "executable": "C:\\Users\\liamb\\Documents\\graph4stackoverflow\\venv\\Scripts\\python.exe", + "cpu_count": 2, + "cpu_count_logical": 4, + "cpu_freq": { + "current": 3504.0, + "min": 0.0, + "max": 3504.0 + }, + "cpu_freq_per_core": [ + { + "current": 3504.0, + "min": 0.0, + "max": 3504.0 + } + ], + "disk": { + "total": 475.71581649780273, + "used": 355.65296936035156 + }, + "memory": { + "total": 31.89160919189453 + } +} diff --git a/embeddings/wandb/run-20230224_164149-piz6xg4i/files/wandb-summary.json b/embeddings/wandb/run-20230224_164149-piz6xg4i/files/wandb-summary.json new file mode 100644 index 0000000000000000000000000000000000000000..fe9e22cf416d08fa3b43b9f0c278f2270e8d86cd --- /dev/null +++ b/embeddings/wandb/run-20230224_164149-piz6xg4i/files/wandb-summary.json @@ -0,0 +1 @@ +{"_wandb": {"runtime": 0}} \ No newline at end of file diff --git a/embeddings/wandb/run-20230224_164149-piz6xg4i/logs/debug-internal.log b/embeddings/wandb/run-20230224_164149-piz6xg4i/logs/debug-internal.log new file mode 100644 index 0000000000000000000000000000000000000000..3364e5fc2b309bd61691168d3fdb4a439b3d2095 --- /dev/null +++ b/embeddings/wandb/run-20230224_164149-piz6xg4i/logs/debug-internal.log @@ -0,0 +1,169 @@ +2023-02-24 16:41:50,004 INFO StreamThr :1632 [internal.py:wandb_internal():87] W&B internal server running at pid: 1632, started at: 2023-02-24 16:41:50.003429 +2023-02-24 16:41:50,006 DEBUG HandlerThread:1632 [handler.py:handle_request():144] handle_request: status +2023-02-24 16:41:50,007 INFO WriterThread:1632 [datastore.py:open_for_write():85] open: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_164149-piz6xg4i\run-piz6xg4i.wandb +2023-02-24 16:41:50,009 DEBUG SenderThread:1632 [sender.py:send():336] send: header +2023-02-24 16:41:50,009 DEBUG SenderThread:1632 [sender.py:send():336] send: run +2023-02-24 16:41:50,354 INFO SenderThread:1632 [dir_watcher.py:__init__():216] watching files in: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_164149-piz6xg4i\files +2023-02-24 16:41:50,354 INFO SenderThread:1632 [sender.py:_start_run_threads():1067] run started: piz6xg4i with start time 1677256909.015496 +2023-02-24 16:41:50,354 DEBUG SenderThread:1632 [sender.py:send_request():363] send_request: summary_record +2023-02-24 16:41:50,355 INFO SenderThread:1632 [sender.py:_save_file():1321] saving file wandb-summary.json with policy end +2023-02-24 16:41:50,358 DEBUG HandlerThread:1632 [handler.py:handle_request():144] handle_request: check_version +2023-02-24 16:41:50,358 DEBUG SenderThread:1632 [sender.py:send_request():363] send_request: check_version +2023-02-24 16:41:50,442 DEBUG HandlerThread:1632 [handler.py:handle_request():144] handle_request: run_start +2023-02-24 16:41:50,457 DEBUG HandlerThread:1632 [system_info.py:__init__():31] System info init +2023-02-24 16:41:50,457 DEBUG HandlerThread:1632 [system_info.py:__init__():46] System info init done +2023-02-24 16:41:50,458 INFO HandlerThread:1632 [system_monitor.py:start():151] Starting system monitor +2023-02-24 16:41:50,458 INFO SystemMonitor:1632 [system_monitor.py:_start():116] Starting system asset monitoring threads +2023-02-24 16:41:50,458 INFO HandlerThread:1632 [system_monitor.py:probe():172] Collecting system info +2023-02-24 16:41:50,461 INFO SystemMonitor:1632 [interfaces.py:start():168] Started cpu +2023-02-24 16:41:50,462 DEBUG HandlerThread:1632 [system_info.py:probe():195] Probing system +2023-02-24 16:41:50,462 INFO SystemMonitor:1632 [interfaces.py:start():168] Started disk +2023-02-24 16:41:50,463 INFO SystemMonitor:1632 [interfaces.py:start():168] Started memory +2023-02-24 16:41:50,478 INFO SystemMonitor:1632 [interfaces.py:start():168] Started network +2023-02-24 16:41:50,479 DEBUG HandlerThread:1632 [system_info.py:_probe_git():180] Probing git +2023-02-24 16:41:50,576 DEBUG HandlerThread:1632 [system_info.py:_probe_git():188] Probing git done +2023-02-24 16:41:50,576 DEBUG HandlerThread:1632 [system_info.py:probe():241] Probing system done +2023-02-24 16:41:50,576 DEBUG HandlerThread:1632 [system_monitor.py:probe():181] {'os': 'Windows-10-10.0.19041-SP0', 'python': '3.8.1', 'heartbeatAt': '2023-02-24T16:41:50.462020', 'startedAt': '2023-02-24T16:41:49.004498', 'docker': None, 'cuda': None, 'args': (), 'state': 'running', 'program': 'C:\\Users\\liamb\\Documents\\graph4stackoverflow\\embeddings\\hetero_GAT.py', 'codePath': 'embeddings\\hetero_GAT.py', 'git': {'remote': 'https://git.soton.ac.uk/lhb1g20/graph4stackoverflow.git', 'commit': 'ced992d661984f7b87d1a3e76768e4ff7af78245'}, 'email': 'liambyrneh@gmail.com', 'root': 'C:/Users/liamb/Documents/graph4stackoverflow', 'host': 'DESKTOP-P7BETFF', 'username': 'liamb', 'executable': 'C:\\Users\\liamb\\Documents\\graph4stackoverflow\\venv\\Scripts\\python.exe', 'cpu_count': 2, 'cpu_count_logical': 4, 'cpu_freq': {'current': 3504.0, 'min': 0.0, 'max': 3504.0}, 'cpu_freq_per_core': [{'current': 3504.0, 'min': 0.0, 'max': 3504.0}], 'disk': {'total': 475.71581649780273, 'used': 355.65296936035156}, 'memory': {'total': 31.89160919189453}} +2023-02-24 16:41:50,576 INFO HandlerThread:1632 [system_monitor.py:probe():182] Finished collecting system info +2023-02-24 16:41:50,576 INFO HandlerThread:1632 [system_monitor.py:probe():185] Publishing system info +2023-02-24 16:41:50,576 DEBUG HandlerThread:1632 [system_info.py:_save_pip():51] Saving list of pip packages installed into the current environment +2023-02-24 16:41:50,577 DEBUG HandlerThread:1632 [system_info.py:_save_pip():67] Saving pip packages done +2023-02-24 16:41:50,579 INFO HandlerThread:1632 [system_monitor.py:probe():187] Finished publishing system info +2023-02-24 16:41:50,580 DEBUG SenderThread:1632 [sender.py:send():336] send: files +2023-02-24 16:41:50,580 INFO SenderThread:1632 [sender.py:_save_file():1321] saving file wandb-metadata.json with policy now +2023-02-24 16:41:50,589 DEBUG HandlerThread:1632 [handler.py:handle_request():144] handle_request: stop_status +2023-02-24 16:41:50,589 DEBUG SenderThread:1632 [sender.py:send_request():363] send_request: stop_status +2023-02-24 16:41:50,748 DEBUG SenderThread:1632 [sender.py:send():336] send: telemetry +2023-02-24 16:41:50,801 DEBUG SenderThread:1632 [sender.py:send():336] send: exit +2023-02-24 16:41:50,802 INFO SenderThread:1632 [sender.py:send_exit():559] handling exit code: 1 +2023-02-24 16:41:50,802 INFO SenderThread:1632 [sender.py:send_exit():561] handling runtime: 0 +2023-02-24 16:41:50,802 INFO SenderThread:1632 [sender.py:_save_file():1321] saving file wandb-summary.json with policy end +2023-02-24 16:41:50,803 INFO SenderThread:1632 [sender.py:send_exit():567] send defer +2023-02-24 16:41:50,803 DEBUG HandlerThread:1632 [handler.py:handle_request():144] handle_request: defer +2023-02-24 16:41:50,804 INFO HandlerThread:1632 [handler.py:handle_request_defer():170] handle defer: 0 +2023-02-24 16:41:50,804 DEBUG SenderThread:1632 [sender.py:send_request():363] send_request: defer +2023-02-24 16:41:50,804 INFO SenderThread:1632 [sender.py:send_request_defer():583] handle sender defer: 0 +2023-02-24 16:41:50,804 INFO SenderThread:1632 [sender.py:transition_state():587] send defer: 1 +2023-02-24 16:41:50,805 DEBUG HandlerThread:1632 [handler.py:handle_request():144] handle_request: defer +2023-02-24 16:41:50,805 INFO HandlerThread:1632 [handler.py:handle_request_defer():170] handle defer: 1 +2023-02-24 16:41:50,805 DEBUG SenderThread:1632 [sender.py:send_request():363] send_request: defer +2023-02-24 16:41:50,805 INFO SenderThread:1632 [sender.py:send_request_defer():583] handle sender defer: 1 +2023-02-24 16:41:50,805 INFO SenderThread:1632 [sender.py:transition_state():587] send defer: 2 +2023-02-24 16:41:50,805 DEBUG HandlerThread:1632 [handler.py:handle_request():144] handle_request: defer +2023-02-24 16:41:50,805 INFO HandlerThread:1632 [handler.py:handle_request_defer():170] handle defer: 2 +2023-02-24 16:41:50,806 INFO HandlerThread:1632 [system_monitor.py:finish():161] Stopping system monitor +2023-02-24 16:41:50,806 DEBUG SystemMonitor:1632 [system_monitor.py:_start():130] Starting system metrics aggregation loop +2023-02-24 16:41:50,806 DEBUG SystemMonitor:1632 [system_monitor.py:_start():137] Finished system metrics aggregation loop +2023-02-24 16:41:50,806 DEBUG SystemMonitor:1632 [system_monitor.py:_start():141] Publishing last batch of metrics +2023-02-24 16:41:50,807 INFO HandlerThread:1632 [interfaces.py:finish():175] Joined cpu +2023-02-24 16:41:50,807 INFO HandlerThread:1632 [interfaces.py:finish():175] Joined disk +2023-02-24 16:41:50,807 INFO HandlerThread:1632 [interfaces.py:finish():175] Joined memory +2023-02-24 16:41:50,807 INFO HandlerThread:1632 [interfaces.py:finish():175] Joined network +2023-02-24 16:41:50,808 DEBUG SenderThread:1632 [sender.py:send_request():363] send_request: defer +2023-02-24 16:41:50,808 INFO SenderThread:1632 [sender.py:send_request_defer():583] handle sender defer: 2 +2023-02-24 16:41:50,808 INFO SenderThread:1632 [sender.py:transition_state():587] send defer: 3 +2023-02-24 16:41:50,808 DEBUG HandlerThread:1632 [handler.py:handle_request():144] handle_request: defer +2023-02-24 16:41:50,808 INFO HandlerThread:1632 [handler.py:handle_request_defer():170] handle defer: 3 +2023-02-24 16:41:50,808 DEBUG SenderThread:1632 [sender.py:send_request():363] send_request: defer +2023-02-24 16:41:50,808 INFO SenderThread:1632 [sender.py:send_request_defer():583] handle sender defer: 3 +2023-02-24 16:41:50,808 INFO SenderThread:1632 [sender.py:transition_state():587] send defer: 4 +2023-02-24 16:41:50,809 DEBUG HandlerThread:1632 [handler.py:handle_request():144] handle_request: defer +2023-02-24 16:41:50,809 INFO HandlerThread:1632 [handler.py:handle_request_defer():170] handle defer: 4 +2023-02-24 16:41:50,809 DEBUG SenderThread:1632 [sender.py:send_request():363] send_request: defer +2023-02-24 16:41:50,809 INFO SenderThread:1632 [sender.py:send_request_defer():583] handle sender defer: 4 +2023-02-24 16:41:50,809 INFO SenderThread:1632 [sender.py:transition_state():587] send defer: 5 +2023-02-24 16:41:50,809 DEBUG HandlerThread:1632 [handler.py:handle_request():144] handle_request: defer +2023-02-24 16:41:50,809 INFO HandlerThread:1632 [handler.py:handle_request_defer():170] handle defer: 5 +2023-02-24 16:41:50,810 DEBUG SenderThread:1632 [sender.py:send():336] send: summary +2023-02-24 16:41:50,810 INFO SenderThread:1632 [sender.py:_save_file():1321] saving file wandb-summary.json with policy end +2023-02-24 16:41:50,810 DEBUG SenderThread:1632 [sender.py:send_request():363] send_request: defer +2023-02-24 16:41:50,811 INFO SenderThread:1632 [sender.py:send_request_defer():583] handle sender defer: 5 +2023-02-24 16:41:50,811 INFO SenderThread:1632 [sender.py:transition_state():587] send defer: 6 +2023-02-24 16:41:50,811 DEBUG HandlerThread:1632 [handler.py:handle_request():144] handle_request: defer +2023-02-24 16:41:50,811 INFO HandlerThread:1632 [handler.py:handle_request_defer():170] handle defer: 6 +2023-02-24 16:41:50,811 DEBUG SenderThread:1632 [sender.py:send_request():363] send_request: defer +2023-02-24 16:41:50,811 INFO SenderThread:1632 [sender.py:send_request_defer():583] handle sender defer: 6 +2023-02-24 16:41:50,815 DEBUG HandlerThread:1632 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 16:41:51,016 INFO SenderThread:1632 [sender.py:transition_state():587] send defer: 7 +2023-02-24 16:41:51,016 DEBUG HandlerThread:1632 [handler.py:handle_request():144] handle_request: defer +2023-02-24 16:41:51,016 INFO HandlerThread:1632 [handler.py:handle_request_defer():170] handle defer: 7 +2023-02-24 16:41:51,017 DEBUG SenderThread:1632 [sender.py:send_request():363] send_request: defer +2023-02-24 16:41:51,017 INFO SenderThread:1632 [sender.py:send_request_defer():583] handle sender defer: 7 +2023-02-24 16:41:51,118 INFO wandb-upload_0:1632 [upload_job.py:push():138] Uploaded file C:\Users\liamb\AppData\Local\Temp\tmpm_qvevnmwandb\m5hac12f-wandb-metadata.json +2023-02-24 16:41:51,361 INFO Thread-33 :1632 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_164149-piz6xg4i\files\config.yaml +2023-02-24 16:41:51,362 INFO Thread-33 :1632 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_164149-piz6xg4i\files\requirements.txt +2023-02-24 16:41:51,362 INFO Thread-33 :1632 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_164149-piz6xg4i\files\output.log +2023-02-24 16:41:51,362 INFO Thread-33 :1632 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_164149-piz6xg4i\files\wandb-summary.json +2023-02-24 16:41:51,362 INFO Thread-33 :1632 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_164149-piz6xg4i\files\wandb-metadata.json +2023-02-24 16:41:51,814 DEBUG HandlerThread:1632 [handler.py:handle_request():144] handle_request: poll_exit +2023-02-24 16:41:52,803 INFO SenderThread:1632 [sender.py:transition_state():587] send defer: 8 +2023-02-24 16:41:52,803 DEBUG SenderThread:1632 [sender.py:send_request():363] send_request: poll_exit +2023-02-24 16:41:52,804 DEBUG HandlerThread:1632 [handler.py:handle_request():144] handle_request: defer +2023-02-24 16:41:52,804 INFO HandlerThread:1632 [handler.py:handle_request_defer():170] handle defer: 8 +2023-02-24 16:41:52,805 DEBUG SenderThread:1632 [sender.py:send_request():363] send_request: defer +2023-02-24 16:41:52,805 INFO SenderThread:1632 [sender.py:send_request_defer():583] handle sender defer: 8 +2023-02-24 16:41:52,819 INFO SenderThread:1632 [sender.py:transition_state():587] send defer: 9 +2023-02-24 16:41:52,819 DEBUG HandlerThread:1632 [handler.py:handle_request():144] handle_request: defer +2023-02-24 16:41:52,819 INFO HandlerThread:1632 [handler.py:handle_request_defer():170] handle defer: 9 +2023-02-24 16:41:52,820 DEBUG SenderThread:1632 [sender.py:send():336] send: artifact +2023-02-24 16:41:52,828 DEBUG HandlerThread:1632 [handler.py:handle_request():144] handle_request: poll_exit +2023-02-24 16:41:53,392 INFO Thread-33 :1632 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_164149-piz6xg4i\files\output.log +2023-02-24 16:41:53,829 INFO SenderThread:1632 [sender.py:send_artifact():1417] sent artifact job-https___git.soton.ac.uk_lhb1g20_graph4stackoverflow.git_embeddings_hetero_GAT.py - {'id': 'QXJ0aWZhY3Q6MzgwMzY3ODUz', 'digest': 'dbe34f6e8b990dacc5d7c5e1ab1d02a4', 'state': 'COMMITTED', 'aliases': [{'artifactCollectionName': 'job-https___git.soton.ac.uk_lhb1g20_graph4stackoverflow.git_embeddings_hetero_GAT.py', 'alias': 'latest'}, {'artifactCollectionName': 'job-https___git.soton.ac.uk_lhb1g20_graph4stackoverflow.git_embeddings_hetero_GAT.py', 'alias': 'v0'}], 'artifactSequence': {'id': 'QXJ0aWZhY3RDb2xsZWN0aW9uOjU0NTg3MzU0', 'latestArtifact': {'id': 'QXJ0aWZhY3Q6MzgwMzk2OTM0', 'versionIndex': 2}}, 'version': 'v0'} +2023-02-24 16:41:53,829 DEBUG SenderThread:1632 [sender.py:send_request():363] send_request: defer +2023-02-24 16:41:53,829 INFO SenderThread:1632 [sender.py:send_request_defer():583] handle sender defer: 9 +2023-02-24 16:41:53,829 INFO SenderThread:1632 [dir_watcher.py:finish():362] shutting down directory watcher +2023-02-24 16:41:54,408 INFO SenderThread:1632 [dir_watcher.py:finish():392] scan: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_164149-piz6xg4i\files +2023-02-24 16:41:54,408 INFO SenderThread:1632 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_164149-piz6xg4i\files\config.yaml config.yaml +2023-02-24 16:41:54,409 INFO SenderThread:1632 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_164149-piz6xg4i\files\output.log output.log +2023-02-24 16:41:54,412 INFO SenderThread:1632 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_164149-piz6xg4i\files\requirements.txt requirements.txt +2023-02-24 16:41:54,413 INFO SenderThread:1632 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_164149-piz6xg4i\files\wandb-metadata.json wandb-metadata.json +2023-02-24 16:41:54,413 INFO SenderThread:1632 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_164149-piz6xg4i\files\wandb-summary.json wandb-summary.json +2023-02-24 16:41:54,419 INFO SenderThread:1632 [sender.py:transition_state():587] send defer: 10 +2023-02-24 16:41:54,419 DEBUG SenderThread:1632 [sender.py:send_request():363] send_request: poll_exit +2023-02-24 16:41:54,419 DEBUG HandlerThread:1632 [handler.py:handle_request():144] handle_request: defer +2023-02-24 16:41:54,421 INFO HandlerThread:1632 [handler.py:handle_request_defer():170] handle defer: 10 +2023-02-24 16:41:54,424 DEBUG SenderThread:1632 [sender.py:send_request():363] send_request: defer +2023-02-24 16:41:54,424 INFO SenderThread:1632 [sender.py:send_request_defer():583] handle sender defer: 10 +2023-02-24 16:41:54,425 INFO SenderThread:1632 [file_pusher.py:finish():162] shutting down file pusher +2023-02-24 16:41:54,939 INFO wandb-upload_0:1632 [upload_job.py:push():138] Uploaded file C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_164149-piz6xg4i\files\config.yaml +2023-02-24 16:41:54,951 INFO wandb-upload_3:1632 [upload_job.py:push():138] Uploaded file C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_164149-piz6xg4i\files\wandb-summary.json +2023-02-24 16:41:54,954 INFO wandb-upload_2:1632 [upload_job.py:push():138] Uploaded file C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_164149-piz6xg4i\files\requirements.txt +2023-02-24 16:41:54,984 INFO wandb-upload_1:1632 [upload_job.py:push():138] Uploaded file C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_164149-piz6xg4i\files\output.log +2023-02-24 16:41:55,187 INFO Thread-32 :1632 [sender.py:transition_state():587] send defer: 11 +2023-02-24 16:41:55,187 DEBUG HandlerThread:1632 [handler.py:handle_request():144] handle_request: defer +2023-02-24 16:41:55,187 INFO HandlerThread:1632 [handler.py:handle_request_defer():170] handle defer: 11 +2023-02-24 16:41:55,188 DEBUG SenderThread:1632 [sender.py:send_request():363] send_request: defer +2023-02-24 16:41:55,188 INFO SenderThread:1632 [sender.py:send_request_defer():583] handle sender defer: 11 +2023-02-24 16:41:55,188 INFO SenderThread:1632 [file_pusher.py:join():167] waiting for file pusher +2023-02-24 16:41:55,188 INFO SenderThread:1632 [sender.py:transition_state():587] send defer: 12 +2023-02-24 16:41:55,188 DEBUG HandlerThread:1632 [handler.py:handle_request():144] handle_request: defer +2023-02-24 16:41:55,188 INFO HandlerThread:1632 [handler.py:handle_request_defer():170] handle defer: 12 +2023-02-24 16:41:55,189 DEBUG SenderThread:1632 [sender.py:send_request():363] send_request: defer +2023-02-24 16:41:55,189 INFO SenderThread:1632 [sender.py:send_request_defer():583] handle sender defer: 12 +2023-02-24 16:41:55,336 INFO SenderThread:1632 [sender.py:transition_state():587] send defer: 13 +2023-02-24 16:41:55,336 DEBUG HandlerThread:1632 [handler.py:handle_request():144] handle_request: defer +2023-02-24 16:41:55,336 INFO HandlerThread:1632 [handler.py:handle_request_defer():170] handle defer: 13 +2023-02-24 16:41:55,336 DEBUG SenderThread:1632 [sender.py:send_request():363] send_request: defer +2023-02-24 16:41:55,336 INFO SenderThread:1632 [sender.py:send_request_defer():583] handle sender defer: 13 +2023-02-24 16:41:55,337 INFO SenderThread:1632 [sender.py:transition_state():587] send defer: 14 +2023-02-24 16:41:55,337 DEBUG HandlerThread:1632 [handler.py:handle_request():144] handle_request: defer +2023-02-24 16:41:55,337 INFO HandlerThread:1632 [handler.py:handle_request_defer():170] handle defer: 14 +2023-02-24 16:41:55,337 DEBUG SenderThread:1632 [sender.py:send():336] send: final +2023-02-24 16:41:55,337 DEBUG SenderThread:1632 [sender.py:send():336] send: footer +2023-02-24 16:41:55,338 DEBUG SenderThread:1632 [sender.py:send_request():363] send_request: defer +2023-02-24 16:41:55,338 INFO SenderThread:1632 [sender.py:send_request_defer():583] handle sender defer: 14 +2023-02-24 16:41:55,338 DEBUG HandlerThread:1632 [handler.py:handle_request():144] handle_request: poll_exit +2023-02-24 16:41:55,338 DEBUG HandlerThread:1632 [handler.py:handle_request():144] handle_request: server_info +2023-02-24 16:41:55,339 DEBUG HandlerThread:1632 [handler.py:handle_request():144] handle_request: get_summary +2023-02-24 16:41:55,339 DEBUG HandlerThread:1632 [handler.py:handle_request():144] handle_request: sampled_history +2023-02-24 16:41:55,339 DEBUG SenderThread:1632 [sender.py:send_request():363] send_request: poll_exit +2023-02-24 16:41:55,339 DEBUG SenderThread:1632 [sender.py:send_request():363] send_request: server_info +2023-02-24 16:41:55,499 INFO MainThread:1632 [wandb_run.py:_footer_history_summary_info():3442] rendering history +2023-02-24 16:41:55,499 INFO MainThread:1632 [wandb_run.py:_footer_history_summary_info():3474] rendering summary +2023-02-24 16:41:55,499 INFO MainThread:1632 [wandb_run.py:_footer_sync_info():3398] logging synced files +2023-02-24 16:41:55,500 DEBUG HandlerThread:1632 [handler.py:handle_request():144] handle_request: shutdown +2023-02-24 16:41:55,500 INFO HandlerThread:1632 [handler.py:finish():841] shutting down handler +2023-02-24 16:41:56,341 INFO WriterThread:1632 [datastore.py:close():299] close: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_164149-piz6xg4i\run-piz6xg4i.wandb +2023-02-24 16:41:56,512 INFO SenderThread:1632 [sender.py:finish():1493] shutting down sender +2023-02-24 16:41:56,512 INFO SenderThread:1632 [file_pusher.py:finish():162] shutting down file pusher +2023-02-24 16:41:56,513 INFO SenderThread:1632 [file_pusher.py:join():167] waiting for file pusher diff --git a/embeddings/wandb/run-20230224_164149-piz6xg4i/logs/debug.log b/embeddings/wandb/run-20230224_164149-piz6xg4i/logs/debug.log new file mode 100644 index 0000000000000000000000000000000000000000..579d99b8712cc179ac906c202c963ea293bae003 --- /dev/null +++ b/embeddings/wandb/run-20230224_164149-piz6xg4i/logs/debug.log @@ -0,0 +1,25 @@ +2023-02-24 16:41:49,008 INFO MainThread:17260 [wandb_setup.py:_flush():68] Configure stats pid to 17260 +2023-02-24 16:41:49,008 INFO MainThread:17260 [wandb_setup.py:_flush():68] Loading settings from C:\Users\liamb\.config\wandb\settings +2023-02-24 16:41:49,008 INFO MainThread:17260 [wandb_setup.py:_flush():68] Loading settings from C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\settings +2023-02-24 16:41:49,008 INFO MainThread:17260 [wandb_setup.py:_flush():68] Loading settings from environment variables: {'_require_service': 'True'} +2023-02-24 16:41:49,008 INFO MainThread:17260 [wandb_setup.py:_flush():68] Inferring run settings from compute environment: {'program_relpath': 'embeddings\\hetero_GAT.py', 'program': 'C:\\Users\\liamb\\Documents\\graph4stackoverflow\\embeddings\\hetero_GAT.py'} +2023-02-24 16:41:49,009 INFO MainThread:17260 [wandb_init.py:_log_setup():492] Logging user logs to C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_164149-piz6xg4i\logs\debug.log +2023-02-24 16:41:49,009 INFO MainThread:17260 [wandb_init.py:_log_setup():493] Logging internal logs to C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_164149-piz6xg4i\logs\debug-internal.log +2023-02-24 16:41:49,009 INFO MainThread:17260 [wandb_init.py:init():532] calling init triggers +2023-02-24 16:41:49,009 INFO MainThread:17260 [wandb_init.py:init():538] wandb.init called with sweep_config: {} +config: {} +2023-02-24 16:41:49,009 INFO MainThread:17260 [wandb_init.py:init():588] starting backend +2023-02-24 16:41:49,009 INFO MainThread:17260 [wandb_init.py:init():592] setting up manager +2023-02-24 16:41:49,012 INFO MainThread:17260 [backend.py:_multiprocessing_setup():106] multiprocessing start_methods=spawn, using: spawn +2023-02-24 16:41:49,014 INFO MainThread:17260 [wandb_init.py:init():599] backend started and connected +2023-02-24 16:41:49,016 INFO MainThread:17260 [wandb_init.py:init():687] updated telemetry +2023-02-24 16:41:49,076 INFO MainThread:17260 [wandb_init.py:init():727] communicating run to backend with 60.0 second timeout +2023-02-24 16:41:50,357 INFO MainThread:17260 [wandb_run.py:_on_init():2134] communicating current version +2023-02-24 16:41:50,434 INFO MainThread:17260 [wandb_run.py:_on_init():2143] got version response +2023-02-24 16:41:50,435 INFO MainThread:17260 [wandb_init.py:init():775] starting run threads in backend +2023-02-24 16:41:50,589 INFO MainThread:17260 [wandb_run.py:_console_start():2114] atexit reg +2023-02-24 16:41:50,589 INFO MainThread:17260 [wandb_run.py:_redirect():1969] redirect: SettingsConsole.WRAP_RAW +2023-02-24 16:41:50,589 INFO MainThread:17260 [wandb_run.py:_redirect():2034] Wrapping output streams. +2023-02-24 16:41:50,589 INFO MainThread:17260 [wandb_run.py:_redirect():2059] Redirects installed. +2023-02-24 16:41:50,590 INFO MainThread:17260 [wandb_init.py:init():817] run started, returning control to user process +2023-02-24 16:41:56,581 WARNING MsgRouterThr:17260 [router.py:message_loop():77] message_loop has been closed diff --git a/embeddings/wandb/run-20230224_164149-piz6xg4i/run-piz6xg4i.wandb b/embeddings/wandb/run-20230224_164149-piz6xg4i/run-piz6xg4i.wandb new file mode 100644 index 0000000000000000000000000000000000000000..b2c5f272ae709df149214a931fe8316c9e7218a3 Binary files /dev/null and b/embeddings/wandb/run-20230224_164149-piz6xg4i/run-piz6xg4i.wandb differ diff --git a/embeddings/wandb/run-20230224_164532-4prg0lm3/files/config.yaml b/embeddings/wandb/run-20230224_164532-4prg0lm3/files/config.yaml new file mode 100644 index 0000000000000000000000000000000000000000..3d53700990d66f8a40fecf15cbf8230eb9357e1e --- /dev/null +++ b/embeddings/wandb/run-20230224_164532-4prg0lm3/files/config.yaml @@ -0,0 +1,41 @@ +wandb_version: 1 + +_wandb: + desc: null + value: + cli_version: 0.13.10 + framework: huggingface + huggingface_version: 4.24.0 + is_jupyter_run: false + is_kaggle_kernel: false + python_version: 3.8.1 + start_time: 1677257132.674723 + t: + 1: + - 1 + - 5 + - 11 + - 33 + - 49 + - 53 + - 55 + - 77 + 2: + - 1 + - 5 + - 11 + - 33 + - 49 + - 53 + - 55 + - 77 + 3: + - 2 + - 13 + - 23 + 4: 3.8.1 + 5: 0.13.10 + 6: 4.24.0 + 8: + - 3 + - 5 diff --git a/embeddings/wandb/run-20230224_164532-4prg0lm3/files/media/table/data_1_29ffdf69c605ad25c568.table.json b/embeddings/wandb/run-20230224_164532-4prg0lm3/files/media/table/data_1_29ffdf69c605ad25c568.table.json new file mode 100644 index 0000000000000000000000000000000000000000..dcdcdcb1281737ad84deaa6f596e57e98426a729 Binary files /dev/null and b/embeddings/wandb/run-20230224_164532-4prg0lm3/files/media/table/data_1_29ffdf69c605ad25c568.table.json differ diff --git a/embeddings/wandb/run-20230224_164532-4prg0lm3/files/output.log b/embeddings/wandb/run-20230224_164532-4prg0lm3/files/output.log new file mode 100644 index 0000000000000000000000000000000000000000..4a68024bfeaefc5c589d68d457535bbc6bd4b98b --- /dev/null +++ b/embeddings/wandb/run-20230224_164532-4prg0lm3/files/output.log @@ -0,0 +1,47 @@ +wandb: WARNING Serializing object of type str that is 7167210 bytes +wandb: WARNING Serializing object of type str that is 7193184 bytes +wandb: WARNING Serializing object of type str that is 7166316 bytes +wandb: WARNING Serializing object of type str that is 7192908 bytes +wandb: WARNING Serializing object of type str that is 7184352 bytes +wandb: WARNING Serializing object of type str that is 7168728 bytes +wandb: WARNING Serializing object of type str that is 7170702 bytes +wandb: WARNING Serializing object of type str that is 7186804 bytes +wandb: WARNING Serializing object of type str that is 7186182 bytes +wandb: WARNING Serializing object of type str that is 7181986 bytes +wandb: WARNING Serializing object of type str that is 7193224 bytes +wandb: WARNING Serializing object of type str that is 7180788 bytes +wandb: WARNING Serializing object of type str that is 7166748 bytes +wandb: WARNING Serializing object of type str that is 7166894 bytes +wandb: WARNING Serializing object of type str that is 7195328 bytes +wandb: WARNING Serializing object of type str that is 7173618 bytes +wandb: WARNING Serializing object of type str that is 7172138 bytes +wandb: WARNING Serializing object of type str that is 7185170 bytes +wandb: WARNING Serializing object of type str that is 7197364 bytes +wandb: WARNING Serializing object of type str that is 7174342 bytes +wandb: WARNING Serializing object of type str that is 7166328 bytes +wandb: WARNING Serializing object of type str that is 7192620 bytes +wandb: WARNING Serializing object of type str that is 7177292 bytes +wandb: WARNING Serializing object of type str that is 7184990 bytes +wandb: WARNING Serializing object of type str that is 7189766 bytes +wandb: WARNING Serializing object of type str that is 7184020 bytes +wandb: WARNING Serializing object of type str that is 7169006 bytes +wandb: WARNING Serializing object of type str that is 7168204 bytes +wandb: WARNING Serializing object of type str that is 7185538 bytes +wandb: WARNING Serializing object of type str that is 7171740 bytes +wandb: WARNING Serializing object of type str that is 7192984 bytes +wandb: WARNING Serializing object of type str that is 7174958 bytes +wandb: WARNING Serializing object of type str that is 7191714 bytes +wandb: WARNING Serializing object of type str that is 7175696 bytes +wandb: WARNING Serializing object of type str that is 7181152 bytes +wandb: WARNING Serializing object of type str that is 7169458 bytes +wandb: WARNING Serializing object of type str that is 7195588 bytes +wandb: WARNING Serializing object of type str that is 7186896 bytes +wandb: WARNING Serializing object of type str that is 7185682 bytes +wandb: WARNING Serializing object of type str that is 7189014 bytes +wandb: WARNING Serializing object of type str that is 7184504 bytes +wandb: WARNING Serializing object of type str that is 7166882 bytes +wandb: WARNING Serializing object of type str that is 7175922 bytes +wandb: WARNING Serializing object of type str that is 7172838 bytes +wandb: WARNING Serializing object of type str that is 7187896 bytes +wandb: WARNING Serializing object of type str that is 7183920 bytes +wandb: Adding directory to artifact (.\..\data)... Done. 1.7s \ No newline at end of file diff --git a/embeddings/wandb/run-20230224_164532-4prg0lm3/files/requirements.txt b/embeddings/wandb/run-20230224_164532-4prg0lm3/files/requirements.txt new file mode 100644 index 0000000000000000000000000000000000000000..d7de821539624662109e252a91c4907a963ad5fb --- /dev/null +++ b/embeddings/wandb/run-20230224_164532-4prg0lm3/files/requirements.txt @@ -0,0 +1,170 @@ +absl-py==1.3.0 +anyio==3.6.2 +appdirs==1.4.4 +argon2-cffi-bindings==21.2.0 +argon2-cffi==21.3.0 +asttokens==2.1.0 +astunparse==1.6.3 +attrs==22.1.0 +backcall==0.2.0 +beautifulsoup4==4.11.1 +bleach==5.0.1 +blis==0.7.9 +bs4==0.0.1 +cachetools==5.2.0 +catalogue==2.0.8 +certifi==2022.9.24 +cffi==1.15.1 +charset-normalizer==2.1.1 +click==8.1.3 +colorama==0.4.6 +confection==0.0.3 +contourpy==1.0.6 +cycler==0.11.0 +cymem==2.0.7 +debugpy==1.6.3 +decorator==5.1.1 +defusedxml==0.7.1 +dgl==0.9.1 +docker-pycreds==0.4.0 +en-core-web-sm==3.4.1 +entrypoints==0.4 +executing==1.2.0 +fastjsonschema==2.16.2 +filelock==3.8.0 +fonttools==4.38.0 +gitdb==4.0.10 +gitpython==3.1.31 +google-auth-oauthlib==0.4.6 +google-auth==2.14.0 +graph4nlp==0.5.5 +grpcio==1.50.0 +huggingface-hub==0.10.1 +idna==3.4 +importlib-metadata==5.0.0 +importlib-resources==5.10.0 +ipykernel==6.16.2 +ipython-genutils==0.2.0 +ipython==8.6.0 +ipywidgets==8.0.2 +jedi==0.18.1 +jinja2==3.1.2 +joblib==1.2.0 +jsonschema==4.16.0 +jupyter-client==7.4.4 +jupyter-console==6.4.4 +jupyter-core==4.11.2 +jupyter-server==1.21.0 +jupyter==1.0.0 +jupyterlab-pygments==0.2.2 +jupyterlab-widgets==3.0.3 +kiwisolver==1.4.4 +langcodes==3.3.0 +littleutils==0.2.2 +lxml==4.9.1 +markdown==3.4.1 +markupsafe==2.1.1 +matplotlib-inline==0.1.6 +matplotlib==3.6.2 +mistune==2.0.4 +murmurhash==1.0.9 +nbclassic==0.4.7 +nbclient==0.7.0 +nbconvert==7.2.3 +nbformat==5.7.0 +nest-asyncio==1.5.6 +networkx==2.8.8 +nltk==3.7 +notebook-shim==0.2.0 +notebook==6.5.2 +numpy==1.23.5 +oauthlib==3.2.2 +ogb==1.3.5 +outdated==0.2.2 +packaging==21.3 +pandas==1.5.1 +pandocfilters==1.5.0 +parso==0.8.3 +pathtools==0.1.2 +pathy==0.6.2 +pickleshare==0.7.5 +pillow==9.3.0 +pip==21.3.1 +pkgutil-resolve-name==1.3.10 +plotly==5.13.0 +preshed==3.0.8 +prometheus-client==0.15.0 +prompt-toolkit==3.0.31 +protobuf==3.19.6 +psutil==5.9.3 +pure-eval==0.2.2 +pyasn1-modules==0.2.8 +pyasn1==0.4.8 +pycparser==2.21 +pydantic==1.10.2 +pygments==2.13.0 +pyparsing==3.0.9 +pyrsistent==0.18.1 +python-dateutil==2.8.2 +pythonds==1.2.1 +pytz==2022.5 +pywin32==304 +pywinpty==2.0.9 +pyyaml==6.0 +pyzmq==24.0.1 +qtconsole==5.3.2 +qtpy==2.2.1 +regex==2022.10.31 +requests-oauthlib==1.3.1 +requests==2.28.1 +rsa==4.9 +scikit-learn==1.1.3 +scipy==1.9.3 +send2trash==1.8.0 +sentry-sdk==1.15.0 +setproctitle==1.3.2 +setuptools==60.2.0 +six==1.16.0 +smart-open==5.2.1 +smmap==5.0.0 +sniffio==1.3.0 +soupsieve==2.3.2.post1 +spacy-legacy==3.0.10 +spacy-loggers==1.0.3 +spacy==3.4.2 +srsly==2.4.5 +stack-data==0.6.0 +stanfordcorenlp==3.9.1.1 +tenacity==8.2.1 +tensorboard-data-server==0.6.1 +tensorboard-plugin-wit==1.8.1 +tensorboard==2.10.1 +terminado==0.17.0 +thinc==8.1.5 +threadpoolctl==3.1.0 +tinycss2==1.2.1 +tokenizers==0.13.2 +torch-cluster==1.6.0+pt113cpu +torch-geometric==2.2.0 +torch-scatter==2.1.0+pt113cpu +torch-sparse==0.6.16+pt113cpu +torch-spline-conv==1.2.1+pt113cpu +torch==1.13.0 +torchsummary==1.5.1 +torchtext==0.14.0 +tornado==6.2 +tqdm==4.64.1 +traitlets==5.5.0 +transformers==4.24.0 +typer==0.4.2 +typing-extensions==4.4.0 +urllib3==1.26.12 +wandb==0.13.10 +wasabi==0.10.1 +wcwidth==0.2.5 +webencodings==0.5.1 +websocket-client==1.4.1 +werkzeug==2.2.2 +wheel==0.37.1 +widgetsnbextension==4.0.3 +zipp==3.10.0 \ No newline at end of file diff --git a/embeddings/wandb/run-20230224_164532-4prg0lm3/files/wandb-metadata.json b/embeddings/wandb/run-20230224_164532-4prg0lm3/files/wandb-metadata.json new file mode 100644 index 0000000000000000000000000000000000000000..aa14445e4682da423613cf0cca0e74450810aa41 --- /dev/null +++ b/embeddings/wandb/run-20230224_164532-4prg0lm3/files/wandb-metadata.json @@ -0,0 +1,42 @@ +{ + "os": "Windows-10-10.0.19041-SP0", + "python": "3.8.1", + "heartbeatAt": "2023-02-24T16:45:33.228557", + "startedAt": "2023-02-24T16:45:32.661722", + "docker": null, + "cuda": null, + "args": [], + "state": "running", + "program": "C:\\Users\\liamb\\Documents\\graph4stackoverflow\\embeddings\\hetero_GAT.py", + "codePath": "embeddings\\hetero_GAT.py", + "git": { + "remote": "https://git.soton.ac.uk/lhb1g20/graph4stackoverflow.git", + "commit": "ced992d661984f7b87d1a3e76768e4ff7af78245" + }, + "email": "liambyrneh@gmail.com", + "root": "C:/Users/liamb/Documents/graph4stackoverflow", + "host": "DESKTOP-P7BETFF", + "username": "liamb", + "executable": "C:\\Users\\liamb\\Documents\\graph4stackoverflow\\venv\\Scripts\\python.exe", + "cpu_count": 2, + "cpu_count_logical": 4, + "cpu_freq": { + "current": 3504.0, + "min": 0.0, + "max": 3504.0 + }, + "cpu_freq_per_core": [ + { + "current": 3504.0, + "min": 0.0, + "max": 3504.0 + } + ], + "disk": { + "total": 475.71581649780273, + "used": 355.49903106689453 + }, + "memory": { + "total": 31.89160919189453 + } +} diff --git a/embeddings/wandb/run-20230224_164532-4prg0lm3/files/wandb-summary.json b/embeddings/wandb/run-20230224_164532-4prg0lm3/files/wandb-summary.json new file mode 100644 index 0000000000000000000000000000000000000000..8aecb7b32643b29f1575db98a4296eec3f1a7a20 --- /dev/null +++ b/embeddings/wandb/run-20230224_164532-4prg0lm3/files/wandb-summary.json @@ -0,0 +1 @@ +{"num_node_features": {"question": 1536, "answer": 1536, "comment": 768, "tag": 50, "module": 30}, "num_classes": 2, "_timestamp": 1677257147.1664267, "_runtime": 14.491703748703003, "_step": 1, "data": {"_type": "table-file", "sha256": "29ffdf69c605ad25c568e779e3c7a36885702bc4d890795e5df8e28aa2c47436", "size": 168982300, "artifact_path": "wandb-client-artifact://kiwdrfa9gak8ffqeftmhzcte6nzzwqikff46x8eox7vspzgbfaxis9qmht3s6285hr7r9cvyjbryvy2de47rxkn4erv377r18gt81prmpmiiio14u1zw4td5zyavaevm:latest/data.table.json", "_latest_artifact_path": "wandb-client-artifact://kiwdrfa9gak8ffqeftmhzcte6nzzwqikff46x8eox7vspzgbfaxis9qmht3s6285hr7r9cvyjbryvy2de47rxkn4erv377r18gt81prmpmiiio14u1zw4td5zyavaevm:latest/data.table.json", "path": "media/table/data_1_29ffdf69c605ad25c568.table.json", "ncols": 4, "nrows": 46}, "_wandb": {"runtime": 15}} \ No newline at end of file diff --git a/embeddings/wandb/run-20230224_164532-4prg0lm3/logs/debug-internal.log b/embeddings/wandb/run-20230224_164532-4prg0lm3/logs/debug-internal.log new file mode 100644 index 0000000000000000000000000000000000000000..f10319ae83790dfab7f5d3df65342ff0f279f1ca --- /dev/null +++ b/embeddings/wandb/run-20230224_164532-4prg0lm3/logs/debug-internal.log @@ -0,0 +1,227 @@ +2023-02-24 16:45:32,675 INFO StreamThr :9052 [internal.py:wandb_internal():87] W&B internal server running at pid: 9052, started at: 2023-02-24 16:45:32.674723 +2023-02-24 16:45:32,677 DEBUG HandlerThread:9052 [handler.py:handle_request():144] handle_request: status +2023-02-24 16:45:32,679 INFO WriterThread:9052 [datastore.py:open_for_write():85] open: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_164532-4prg0lm3\run-4prg0lm3.wandb +2023-02-24 16:45:32,683 DEBUG SenderThread:9052 [sender.py:send():336] send: header +2023-02-24 16:45:32,726 DEBUG SenderThread:9052 [sender.py:send():336] send: run +2023-02-24 16:45:33,136 INFO SenderThread:9052 [dir_watcher.py:__init__():216] watching files in: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_164532-4prg0lm3\files +2023-02-24 16:45:33,137 INFO SenderThread:9052 [sender.py:_start_run_threads():1067] run started: 4prg0lm3 with start time 1677257132.674723 +2023-02-24 16:45:33,137 DEBUG SenderThread:9052 [sender.py:send_request():363] send_request: summary_record +2023-02-24 16:45:33,137 DEBUG HandlerThread:9052 [handler.py:handle_request():144] handle_request: check_version +2023-02-24 16:45:33,138 INFO SenderThread:9052 [sender.py:_save_file():1321] saving file wandb-summary.json with policy end +2023-02-24 16:45:33,138 DEBUG SenderThread:9052 [sender.py:send_request():363] send_request: check_version +2023-02-24 16:45:33,206 DEBUG HandlerThread:9052 [handler.py:handle_request():144] handle_request: run_start +2023-02-24 16:45:33,224 DEBUG HandlerThread:9052 [system_info.py:__init__():31] System info init +2023-02-24 16:45:33,224 DEBUG HandlerThread:9052 [system_info.py:__init__():46] System info init done +2023-02-24 16:45:33,224 INFO HandlerThread:9052 [system_monitor.py:start():151] Starting system monitor +2023-02-24 16:45:33,225 INFO SystemMonitor:9052 [system_monitor.py:_start():116] Starting system asset monitoring threads +2023-02-24 16:45:33,225 INFO HandlerThread:9052 [system_monitor.py:probe():172] Collecting system info +2023-02-24 16:45:33,228 INFO SystemMonitor:9052 [interfaces.py:start():168] Started cpu +2023-02-24 16:45:33,228 DEBUG HandlerThread:9052 [system_info.py:probe():195] Probing system +2023-02-24 16:45:33,228 INFO SystemMonitor:9052 [interfaces.py:start():168] Started disk +2023-02-24 16:45:33,229 INFO SystemMonitor:9052 [interfaces.py:start():168] Started memory +2023-02-24 16:45:33,246 INFO SystemMonitor:9052 [interfaces.py:start():168] Started network +2023-02-24 16:45:33,247 DEBUG HandlerThread:9052 [system_info.py:_probe_git():180] Probing git +2023-02-24 16:45:33,343 DEBUG HandlerThread:9052 [system_info.py:_probe_git():188] Probing git done +2023-02-24 16:45:33,343 DEBUG HandlerThread:9052 [system_info.py:probe():241] Probing system done +2023-02-24 16:45:33,343 DEBUG HandlerThread:9052 [system_monitor.py:probe():181] {'os': 'Windows-10-10.0.19041-SP0', 'python': '3.8.1', 'heartbeatAt': '2023-02-24T16:45:33.228557', 'startedAt': '2023-02-24T16:45:32.661722', 'docker': None, 'cuda': None, 'args': (), 'state': 'running', 'program': 'C:\\Users\\liamb\\Documents\\graph4stackoverflow\\embeddings\\hetero_GAT.py', 'codePath': 'embeddings\\hetero_GAT.py', 'git': {'remote': 'https://git.soton.ac.uk/lhb1g20/graph4stackoverflow.git', 'commit': 'ced992d661984f7b87d1a3e76768e4ff7af78245'}, 'email': 'liambyrneh@gmail.com', 'root': 'C:/Users/liamb/Documents/graph4stackoverflow', 'host': 'DESKTOP-P7BETFF', 'username': 'liamb', 'executable': 'C:\\Users\\liamb\\Documents\\graph4stackoverflow\\venv\\Scripts\\python.exe', 'cpu_count': 2, 'cpu_count_logical': 4, 'cpu_freq': {'current': 3504.0, 'min': 0.0, 'max': 3504.0}, 'cpu_freq_per_core': [{'current': 3504.0, 'min': 0.0, 'max': 3504.0}], 'disk': {'total': 475.71581649780273, 'used': 355.49903106689453}, 'memory': {'total': 31.89160919189453}} +2023-02-24 16:45:33,343 INFO HandlerThread:9052 [system_monitor.py:probe():182] Finished collecting system info +2023-02-24 16:45:33,344 INFO HandlerThread:9052 [system_monitor.py:probe():185] Publishing system info +2023-02-24 16:45:33,344 DEBUG HandlerThread:9052 [system_info.py:_save_pip():51] Saving list of pip packages installed into the current environment +2023-02-24 16:45:33,345 DEBUG HandlerThread:9052 [system_info.py:_save_pip():67] Saving pip packages done +2023-02-24 16:45:33,346 INFO HandlerThread:9052 [system_monitor.py:probe():187] Finished publishing system info +2023-02-24 16:45:33,355 DEBUG SenderThread:9052 [sender.py:send():336] send: files +2023-02-24 16:45:33,355 INFO SenderThread:9052 [sender.py:_save_file():1321] saving file wandb-metadata.json with policy now +2023-02-24 16:45:33,362 DEBUG HandlerThread:9052 [handler.py:handle_request():144] handle_request: stop_status +2023-02-24 16:45:33,363 DEBUG SenderThread:9052 [sender.py:send_request():363] send_request: stop_status +2023-02-24 16:45:33,365 DEBUG HandlerThread:9052 [handler.py:handle_request():144] handle_request: partial_history +2023-02-24 16:45:33,563 DEBUG SenderThread:9052 [sender.py:send():336] send: telemetry +2023-02-24 16:45:33,563 DEBUG SenderThread:9052 [sender.py:send():336] send: history +2023-02-24 16:45:33,563 DEBUG SenderThread:9052 [sender.py:send_request():363] send_request: summary_record +2023-02-24 16:45:33,564 INFO SenderThread:9052 [sender.py:_save_file():1321] saving file wandb-summary.json with policy end +2023-02-24 16:45:33,934 INFO wandb-upload_0:9052 [upload_job.py:push():138] Uploaded file C:\Users\liamb\AppData\Local\Temp\tmpyily8wv6wandb\xozxdusd-wandb-metadata.json +2023-02-24 16:45:34,148 INFO Thread-17 :9052 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_164532-4prg0lm3\files\requirements.txt +2023-02-24 16:45:34,149 INFO Thread-17 :9052 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_164532-4prg0lm3\files\wandb-metadata.json +2023-02-24 16:45:34,149 INFO Thread-17 :9052 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_164532-4prg0lm3\files\wandb-summary.json +2023-02-24 16:45:35,159 INFO Thread-17 :9052 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_164532-4prg0lm3\files\output.log +2023-02-24 16:45:37,174 INFO Thread-17 :9052 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_164532-4prg0lm3\files\output.log +2023-02-24 16:45:38,079 DEBUG HandlerThread:9052 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 16:45:41,744 DEBUG HandlerThread:9052 [handler.py:handle_request():144] handle_request: log_artifact +2023-02-24 16:45:41,745 DEBUG SenderThread:9052 [sender.py:send_request():363] send_request: log_artifact +2023-02-24 16:45:47,166 DEBUG HandlerThread:9052 [handler.py:handle_request():144] handle_request: partial_history +2023-02-24 16:45:47,319 INFO Thread-17 :9052 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_164532-4prg0lm3\files\media\table\data_1_29ffdf69c605ad25c568.table.json +2023-02-24 16:45:47,320 INFO Thread-17 :9052 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_164532-4prg0lm3\files\media\table +2023-02-24 16:45:47,320 INFO Thread-17 :9052 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_164532-4prg0lm3\files\media +2023-02-24 16:45:48,361 DEBUG HandlerThread:9052 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 16:45:49,027 DEBUG HandlerThread:9052 [handler.py:handle_request():144] handle_request: log_artifact +2023-02-24 16:45:50,043 DEBUG HandlerThread:9052 [handler.py:handle_request():144] handle_request: poll_exit +2023-02-24 16:45:55,093 DEBUG HandlerThread:9052 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 16:46:00,156 DEBUG HandlerThread:9052 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 16:46:05,218 DEBUG HandlerThread:9052 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 16:46:10,249 DEBUG HandlerThread:9052 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 16:46:15,296 DEBUG HandlerThread:9052 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 16:46:20,348 DEBUG HandlerThread:9052 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 16:46:25,402 DEBUG HandlerThread:9052 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 16:46:30,455 DEBUG HandlerThread:9052 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 16:46:33,257 DEBUG SystemMonitor:9052 [system_monitor.py:_start():130] Starting system metrics aggregation loop +2023-02-24 16:46:34,041 INFO wandb-upload_0:9052 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpz0oqhef3 +2023-02-24 16:46:34,939 INFO SenderThread:9052 [sender.py:send_request_log_artifact():1381] logged artifact run-4prg0lm3-data - {'id': 'QXJ0aWZhY3Q6MzgwNTczMDU0', 'digest': '35b537a00d2e621c5d51fe57404c4cd2', 'state': 'PENDING', 'aliases': [], 'artifactSequence': {'id': 'QXJ0aWZhY3RDb2xsZWN0aW9uOjU0NjI0Mjk5', 'latestArtifact': None}, 'version': 'latest'} +2023-02-24 16:46:34,943 DEBUG HandlerThread:9052 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 16:46:35,126 DEBUG SenderThread:9052 [sender.py:send():336] send: files +2023-02-24 16:46:35,126 INFO SenderThread:9052 [sender.py:_save_file():1321] saving file media\table\data_1_29ffdf69c605ad25c568.table.json with policy now +2023-02-24 16:46:35,127 DEBUG SenderThread:9052 [sender.py:send():336] send: history +2023-02-24 16:46:35,127 DEBUG SenderThread:9052 [sender.py:send_request():363] send_request: summary_record +2023-02-24 16:46:35,129 INFO SenderThread:9052 [sender.py:_save_file():1321] saving file wandb-summary.json with policy end +2023-02-24 16:46:35,130 DEBUG SenderThread:9052 [sender.py:send_request():363] send_request: log_artifact +2023-02-24 16:46:35,514 DEBUG HandlerThread:9052 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 16:46:35,619 INFO SenderThread:9052 [sender.py:send_request_log_artifact():1381] logged artifact static-graphs - {'id': 'QXJ0aWZhY3Q6MzgwNTY0ODAy', 'digest': '64a712122c812b4423fcf560ca60f704', 'state': 'COMMITTED', 'aliases': [{'artifactCollectionName': 'static-graphs', 'alias': 'latest'}, {'artifactCollectionName': 'static-graphs', 'alias': 'v0'}], 'artifactSequence': {'id': 'QXJ0aWZhY3RDb2xsZWN0aW9uOjU0NjIzMTU5', 'latestArtifact': {'id': 'QXJ0aWZhY3Q6MzgwNTY0ODAy', 'versionIndex': 0}}, 'version': 'v0'} +2023-02-24 16:46:35,619 DEBUG SenderThread:9052 [sender.py:send():336] send: telemetry +2023-02-24 16:46:35,619 DEBUG SenderThread:9052 [sender.py:send():336] send: exit +2023-02-24 16:46:35,619 INFO SenderThread:9052 [sender.py:send_exit():559] handling exit code: 0 +2023-02-24 16:46:35,619 INFO SenderThread:9052 [sender.py:send_exit():561] handling runtime: 15 +2023-02-24 16:46:35,620 INFO SenderThread:9052 [sender.py:_save_file():1321] saving file wandb-summary.json with policy end +2023-02-24 16:46:35,621 INFO SenderThread:9052 [sender.py:send_exit():567] send defer +2023-02-24 16:46:35,621 DEBUG SenderThread:9052 [sender.py:send_request():363] send_request: poll_exit +2023-02-24 16:46:35,621 DEBUG SenderThread:9052 [sender.py:send():336] send: stats +2023-02-24 16:46:35,622 DEBUG HandlerThread:9052 [handler.py:handle_request():144] handle_request: defer +2023-02-24 16:46:35,622 INFO HandlerThread:9052 [handler.py:handle_request_defer():170] handle defer: 0 +2023-02-24 16:46:35,622 DEBUG SenderThread:9052 [sender.py:send_request():363] send_request: defer +2023-02-24 16:46:35,622 INFO SenderThread:9052 [sender.py:send_request_defer():583] handle sender defer: 0 +2023-02-24 16:46:35,622 INFO SenderThread:9052 [sender.py:transition_state():587] send defer: 1 +2023-02-24 16:46:35,622 DEBUG HandlerThread:9052 [handler.py:handle_request():144] handle_request: defer +2023-02-24 16:46:35,623 INFO HandlerThread:9052 [handler.py:handle_request_defer():170] handle defer: 1 +2023-02-24 16:46:35,623 DEBUG SenderThread:9052 [sender.py:send_request():363] send_request: defer +2023-02-24 16:46:35,623 INFO SenderThread:9052 [sender.py:send_request_defer():583] handle sender defer: 1 +2023-02-24 16:46:35,623 INFO SenderThread:9052 [sender.py:transition_state():587] send defer: 2 +2023-02-24 16:46:35,623 DEBUG HandlerThread:9052 [handler.py:handle_request():144] handle_request: defer +2023-02-24 16:46:35,623 INFO HandlerThread:9052 [handler.py:handle_request_defer():170] handle defer: 2 +2023-02-24 16:46:35,623 INFO HandlerThread:9052 [system_monitor.py:finish():161] Stopping system monitor +2023-02-24 16:46:35,624 DEBUG SystemMonitor:9052 [system_monitor.py:_start():137] Finished system metrics aggregation loop +2023-02-24 16:46:35,624 DEBUG SystemMonitor:9052 [system_monitor.py:_start():141] Publishing last batch of metrics +2023-02-24 16:46:35,624 INFO HandlerThread:9052 [interfaces.py:finish():175] Joined cpu +2023-02-24 16:46:35,625 INFO HandlerThread:9052 [interfaces.py:finish():175] Joined disk +2023-02-24 16:46:35,625 INFO HandlerThread:9052 [interfaces.py:finish():175] Joined memory +2023-02-24 16:46:35,625 INFO HandlerThread:9052 [interfaces.py:finish():175] Joined network +2023-02-24 16:46:35,625 DEBUG SenderThread:9052 [sender.py:send_request():363] send_request: defer +2023-02-24 16:46:35,625 INFO SenderThread:9052 [sender.py:send_request_defer():583] handle sender defer: 2 +2023-02-24 16:46:35,625 INFO SenderThread:9052 [sender.py:transition_state():587] send defer: 3 +2023-02-24 16:46:35,625 DEBUG SenderThread:9052 [sender.py:send():336] send: stats +2023-02-24 16:46:35,625 DEBUG HandlerThread:9052 [handler.py:handle_request():144] handle_request: defer +2023-02-24 16:46:35,626 INFO HandlerThread:9052 [handler.py:handle_request_defer():170] handle defer: 3 +2023-02-24 16:46:35,626 DEBUG SenderThread:9052 [sender.py:send_request():363] send_request: defer +2023-02-24 16:46:35,626 INFO SenderThread:9052 [sender.py:send_request_defer():583] handle sender defer: 3 +2023-02-24 16:46:35,626 INFO SenderThread:9052 [sender.py:transition_state():587] send defer: 4 +2023-02-24 16:46:35,626 DEBUG HandlerThread:9052 [handler.py:handle_request():144] handle_request: defer +2023-02-24 16:46:35,626 INFO HandlerThread:9052 [handler.py:handle_request_defer():170] handle defer: 4 +2023-02-24 16:46:35,627 DEBUG SenderThread:9052 [sender.py:send_request():363] send_request: defer +2023-02-24 16:46:35,627 INFO SenderThread:9052 [sender.py:send_request_defer():583] handle sender defer: 4 +2023-02-24 16:46:35,627 INFO SenderThread:9052 [sender.py:transition_state():587] send defer: 5 +2023-02-24 16:46:35,627 DEBUG HandlerThread:9052 [handler.py:handle_request():144] handle_request: defer +2023-02-24 16:46:35,627 INFO HandlerThread:9052 [handler.py:handle_request_defer():170] handle defer: 5 +2023-02-24 16:46:35,627 DEBUG SenderThread:9052 [sender.py:send():336] send: summary +2023-02-24 16:46:35,628 INFO SenderThread:9052 [sender.py:_save_file():1321] saving file wandb-summary.json with policy end +2023-02-24 16:46:35,628 DEBUG SenderThread:9052 [sender.py:send_request():363] send_request: defer +2023-02-24 16:46:35,628 INFO SenderThread:9052 [sender.py:send_request_defer():583] handle sender defer: 5 +2023-02-24 16:46:35,628 INFO SenderThread:9052 [sender.py:transition_state():587] send defer: 6 +2023-02-24 16:46:35,629 DEBUG HandlerThread:9052 [handler.py:handle_request():144] handle_request: defer +2023-02-24 16:46:35,629 INFO HandlerThread:9052 [handler.py:handle_request_defer():170] handle defer: 6 +2023-02-24 16:46:35,629 DEBUG SenderThread:9052 [sender.py:send_request():363] send_request: defer +2023-02-24 16:46:35,629 INFO SenderThread:9052 [sender.py:send_request_defer():583] handle sender defer: 6 +2023-02-24 16:46:35,636 DEBUG HandlerThread:9052 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 16:46:35,832 INFO SenderThread:9052 [sender.py:transition_state():587] send defer: 7 +2023-02-24 16:46:35,832 DEBUG HandlerThread:9052 [handler.py:handle_request():144] handle_request: defer +2023-02-24 16:46:35,832 INFO HandlerThread:9052 [handler.py:handle_request_defer():170] handle defer: 7 +2023-02-24 16:46:35,832 DEBUG SenderThread:9052 [sender.py:send_request():363] send_request: defer +2023-02-24 16:46:35,832 INFO SenderThread:9052 [sender.py:send_request_defer():583] handle sender defer: 7 +2023-02-24 16:46:35,889 INFO Thread-17 :9052 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_164532-4prg0lm3\files\wandb-summary.json +2023-02-24 16:46:35,889 INFO Thread-17 :9052 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_164532-4prg0lm3\files\config.yaml +2023-02-24 16:46:37,297 INFO SenderThread:9052 [sender.py:transition_state():587] send defer: 8 +2023-02-24 16:46:37,297 DEBUG HandlerThread:9052 [handler.py:handle_request():144] handle_request: defer +2023-02-24 16:46:37,297 INFO HandlerThread:9052 [handler.py:handle_request_defer():170] handle defer: 8 +2023-02-24 16:46:37,297 DEBUG SenderThread:9052 [sender.py:send_request():363] send_request: defer +2023-02-24 16:46:37,297 INFO SenderThread:9052 [sender.py:send_request_defer():583] handle sender defer: 8 +2023-02-24 16:46:37,309 INFO SenderThread:9052 [sender.py:transition_state():587] send defer: 9 +2023-02-24 16:46:37,309 DEBUG HandlerThread:9052 [handler.py:handle_request():144] handle_request: defer +2023-02-24 16:46:37,310 DEBUG SenderThread:9052 [sender.py:send():336] send: artifact +2023-02-24 16:46:37,310 INFO HandlerThread:9052 [handler.py:handle_request_defer():170] handle defer: 9 +2023-02-24 16:46:37,893 INFO Thread-17 :9052 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_164532-4prg0lm3\files\output.log +2023-02-24 16:46:38,157 INFO SenderThread:9052 [sender.py:send_artifact():1417] sent artifact job-https___git.soton.ac.uk_lhb1g20_graph4stackoverflow.git_embeddings_hetero_GAT.py - {'id': 'QXJ0aWZhY3Q6MzgwMzk2OTM0', 'digest': '8077f65decb82fd65dc9936bbf393b39', 'state': 'COMMITTED', 'aliases': [{'artifactCollectionName': 'job-https___git.soton.ac.uk_lhb1g20_graph4stackoverflow.git_embeddings_hetero_GAT.py', 'alias': 'latest'}, {'artifactCollectionName': 'job-https___git.soton.ac.uk_lhb1g20_graph4stackoverflow.git_embeddings_hetero_GAT.py', 'alias': 'v2'}], 'artifactSequence': {'id': 'QXJ0aWZhY3RDb2xsZWN0aW9uOjU0NTg3MzU0', 'latestArtifact': {'id': 'QXJ0aWZhY3Q6MzgwMzk2OTM0', 'versionIndex': 2}}, 'version': 'v2'} +2023-02-24 16:46:38,158 DEBUG SenderThread:9052 [sender.py:send_request():363] send_request: defer +2023-02-24 16:46:38,158 INFO SenderThread:9052 [sender.py:send_request_defer():583] handle sender defer: 9 +2023-02-24 16:46:38,158 INFO SenderThread:9052 [dir_watcher.py:finish():362] shutting down directory watcher +2023-02-24 16:46:38,910 INFO SenderThread:9052 [dir_watcher.py:finish():392] scan: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_164532-4prg0lm3\files +2023-02-24 16:46:38,910 INFO SenderThread:9052 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_164532-4prg0lm3\files\config.yaml config.yaml +2023-02-24 16:46:38,911 INFO SenderThread:9052 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_164532-4prg0lm3\files\output.log output.log +2023-02-24 16:46:38,915 INFO SenderThread:9052 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_164532-4prg0lm3\files\requirements.txt requirements.txt +2023-02-24 16:46:38,917 INFO SenderThread:9052 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_164532-4prg0lm3\files\wandb-metadata.json wandb-metadata.json +2023-02-24 16:46:38,917 INFO SenderThread:9052 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_164532-4prg0lm3\files\wandb-summary.json wandb-summary.json +2023-02-24 16:46:38,936 INFO SenderThread:9052 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_164532-4prg0lm3\files\media\table\data_1_29ffdf69c605ad25c568.table.json media\table\data_1_29ffdf69c605ad25c568.table.json +2023-02-24 16:46:38,936 INFO SenderThread:9052 [sender.py:transition_state():587] send defer: 10 +2023-02-24 16:46:38,937 DEBUG HandlerThread:9052 [handler.py:handle_request():144] handle_request: defer +2023-02-24 16:46:38,937 INFO HandlerThread:9052 [handler.py:handle_request_defer():170] handle defer: 10 +2023-02-24 16:46:38,939 DEBUG SenderThread:9052 [sender.py:send_request():363] send_request: defer +2023-02-24 16:46:38,939 INFO SenderThread:9052 [sender.py:send_request_defer():583] handle sender defer: 10 +2023-02-24 16:46:38,940 INFO SenderThread:9052 [file_pusher.py:finish():162] shutting down file pusher +2023-02-24 16:46:39,427 INFO wandb-upload_1:9052 [upload_job.py:push():138] Uploaded file C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_164532-4prg0lm3\files\config.yaml +2023-02-24 16:46:39,464 INFO wandb-upload_3:9052 [upload_job.py:push():138] Uploaded file C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_164532-4prg0lm3\files\requirements.txt +2023-02-24 16:46:39,478 INFO wandb-upload_2:9052 [upload_job.py:push():138] Uploaded file C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_164532-4prg0lm3\files\output.log +2023-02-24 16:46:39,595 INFO wandb-upload_4:9052 [upload_job.py:push():138] Uploaded file C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_164532-4prg0lm3\files\wandb-summary.json +2023-02-24 16:46:40,556 DEBUG HandlerThread:9052 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 16:46:40,960 DEBUG HandlerThread:9052 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 16:46:45,603 DEBUG HandlerThread:9052 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 16:46:46,008 DEBUG HandlerThread:9052 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 16:46:50,663 DEBUG HandlerThread:9052 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 16:46:51,067 DEBUG HandlerThread:9052 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 16:46:55,720 DEBUG HandlerThread:9052 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 16:46:56,122 DEBUG HandlerThread:9052 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 16:47:00,771 DEBUG HandlerThread:9052 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 16:47:01,177 DEBUG HandlerThread:9052 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 16:47:05,838 DEBUG HandlerThread:9052 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 16:47:06,227 DEBUG HandlerThread:9052 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 16:47:10,892 DEBUG HandlerThread:9052 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 16:47:11,282 DEBUG HandlerThread:9052 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 16:47:15,947 DEBUG HandlerThread:9052 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 16:47:16,336 DEBUG HandlerThread:9052 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 16:47:20,999 DEBUG HandlerThread:9052 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 16:47:21,386 DEBUG HandlerThread:9052 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 16:47:26,043 DEBUG HandlerThread:9052 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 16:47:26,449 DEBUG HandlerThread:9052 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 16:47:31,107 DEBUG HandlerThread:9052 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 16:47:31,497 DEBUG HandlerThread:9052 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 16:47:36,157 DEBUG HandlerThread:9052 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 16:47:36,518 DEBUG HandlerThread:9052 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 16:47:37,694 INFO wandb-upload_0:9052 [upload_job.py:push():138] Uploaded file C:\Users\liamb\AppData\Local\Temp\tmpyily8wv6wandb\u694d322-media/table/data_1_29ffdf69c605ad25c568.table.json +2023-02-24 16:47:37,922 INFO Thread-16 :9052 [sender.py:transition_state():587] send defer: 11 +2023-02-24 16:47:37,922 DEBUG HandlerThread:9052 [handler.py:handle_request():144] handle_request: defer +2023-02-24 16:47:37,922 INFO HandlerThread:9052 [handler.py:handle_request_defer():170] handle defer: 11 +2023-02-24 16:47:37,923 DEBUG SenderThread:9052 [sender.py:send_request():363] send_request: defer +2023-02-24 16:47:37,923 INFO SenderThread:9052 [sender.py:send_request_defer():583] handle sender defer: 11 +2023-02-24 16:47:37,923 INFO SenderThread:9052 [file_pusher.py:join():167] waiting for file pusher +2023-02-24 16:47:37,923 INFO SenderThread:9052 [sender.py:transition_state():587] send defer: 12 +2023-02-24 16:47:37,923 DEBUG HandlerThread:9052 [handler.py:handle_request():144] handle_request: defer +2023-02-24 16:47:37,923 INFO HandlerThread:9052 [handler.py:handle_request_defer():170] handle defer: 12 +2023-02-24 16:47:37,924 DEBUG SenderThread:9052 [sender.py:send_request():363] send_request: defer +2023-02-24 16:47:37,924 INFO SenderThread:9052 [sender.py:send_request_defer():583] handle sender defer: 12 +2023-02-24 16:47:38,078 INFO SenderThread:9052 [sender.py:transition_state():587] send defer: 13 +2023-02-24 16:47:38,079 DEBUG HandlerThread:9052 [handler.py:handle_request():144] handle_request: defer +2023-02-24 16:47:38,079 INFO HandlerThread:9052 [handler.py:handle_request_defer():170] handle defer: 13 +2023-02-24 16:47:38,079 DEBUG SenderThread:9052 [sender.py:send_request():363] send_request: defer +2023-02-24 16:47:38,079 INFO SenderThread:9052 [sender.py:send_request_defer():583] handle sender defer: 13 +2023-02-24 16:47:38,079 INFO SenderThread:9052 [sender.py:transition_state():587] send defer: 14 +2023-02-24 16:47:38,080 DEBUG HandlerThread:9052 [handler.py:handle_request():144] handle_request: defer +2023-02-24 16:47:38,080 DEBUG SenderThread:9052 [sender.py:send():336] send: final +2023-02-24 16:47:38,080 INFO HandlerThread:9052 [handler.py:handle_request_defer():170] handle defer: 14 +2023-02-24 16:47:38,080 DEBUG SenderThread:9052 [sender.py:send():336] send: footer +2023-02-24 16:47:38,080 DEBUG SenderThread:9052 [sender.py:send_request():363] send_request: defer +2023-02-24 16:47:38,080 INFO SenderThread:9052 [sender.py:send_request_defer():583] handle sender defer: 14 +2023-02-24 16:47:38,081 DEBUG HandlerThread:9052 [handler.py:handle_request():144] handle_request: poll_exit +2023-02-24 16:47:38,081 DEBUG HandlerThread:9052 [handler.py:handle_request():144] handle_request: server_info +2023-02-24 16:47:38,082 DEBUG HandlerThread:9052 [handler.py:handle_request():144] handle_request: get_summary +2023-02-24 16:47:38,082 DEBUG SenderThread:9052 [sender.py:send_request():363] send_request: poll_exit +2023-02-24 16:47:38,082 DEBUG HandlerThread:9052 [handler.py:handle_request():144] handle_request: sampled_history +2023-02-24 16:47:38,082 DEBUG SenderThread:9052 [sender.py:send_request():363] send_request: server_info +2023-02-24 16:47:38,260 DEBUG HandlerThread:9052 [handler.py:handle_request():144] handle_request: shutdown +2023-02-24 16:47:38,260 INFO HandlerThread:9052 [handler.py:finish():841] shutting down handler +2023-02-24 16:47:39,091 INFO WriterThread:9052 [datastore.py:close():299] close: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_164532-4prg0lm3\run-4prg0lm3.wandb +2023-02-24 16:47:39,262 INFO SenderThread:9052 [sender.py:finish():1493] shutting down sender +2023-02-24 16:47:39,262 INFO SenderThread:9052 [file_pusher.py:finish():162] shutting down file pusher +2023-02-24 16:47:39,262 INFO SenderThread:9052 [file_pusher.py:join():167] waiting for file pusher diff --git a/embeddings/wandb/run-20230224_164532-4prg0lm3/logs/debug.log b/embeddings/wandb/run-20230224_164532-4prg0lm3/logs/debug.log new file mode 100644 index 0000000000000000000000000000000000000000..55e155defa41313f031c0c59a391d0d7d4046599 --- /dev/null +++ b/embeddings/wandb/run-20230224_164532-4prg0lm3/logs/debug.log @@ -0,0 +1,31 @@ +2023-02-24 16:45:32,666 INFO MainThread:756 [wandb_setup.py:_flush():68] Configure stats pid to 756 +2023-02-24 16:45:32,666 INFO MainThread:756 [wandb_setup.py:_flush():68] Loading settings from C:\Users\liamb\.config\wandb\settings +2023-02-24 16:45:32,666 INFO MainThread:756 [wandb_setup.py:_flush():68] Loading settings from C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\settings +2023-02-24 16:45:32,666 INFO MainThread:756 [wandb_setup.py:_flush():68] Loading settings from environment variables: {'_require_service': 'True'} +2023-02-24 16:45:32,666 INFO MainThread:756 [wandb_setup.py:_flush():68] Inferring run settings from compute environment: {'program_relpath': 'embeddings\\hetero_GAT.py', 'program': 'C:\\Users\\liamb\\Documents\\graph4stackoverflow\\embeddings\\hetero_GAT.py'} +2023-02-24 16:45:32,667 INFO MainThread:756 [wandb_init.py:_log_setup():492] Logging user logs to C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_164532-4prg0lm3\logs\debug.log +2023-02-24 16:45:32,667 INFO MainThread:756 [wandb_init.py:_log_setup():493] Logging internal logs to C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_164532-4prg0lm3\logs\debug-internal.log +2023-02-24 16:45:32,667 INFO MainThread:756 [wandb_init.py:init():532] calling init triggers +2023-02-24 16:45:32,667 INFO MainThread:756 [wandb_init.py:init():538] wandb.init called with sweep_config: {} +config: {} +2023-02-24 16:45:32,667 INFO MainThread:756 [wandb_init.py:init():588] starting backend +2023-02-24 16:45:32,667 INFO MainThread:756 [wandb_init.py:init():592] setting up manager +2023-02-24 16:45:32,670 INFO MainThread:756 [backend.py:_multiprocessing_setup():106] multiprocessing start_methods=spawn, using: spawn +2023-02-24 16:45:32,674 INFO MainThread:756 [wandb_init.py:init():599] backend started and connected +2023-02-24 16:45:32,676 INFO MainThread:756 [wandb_init.py:init():687] updated telemetry +2023-02-24 16:45:32,725 INFO MainThread:756 [wandb_init.py:init():727] communicating run to backend with 60.0 second timeout +2023-02-24 16:45:33,136 INFO MainThread:756 [wandb_run.py:_on_init():2134] communicating current version +2023-02-24 16:45:33,199 INFO MainThread:756 [wandb_run.py:_on_init():2143] got version response +2023-02-24 16:45:33,199 INFO MainThread:756 [wandb_init.py:init():775] starting run threads in backend +2023-02-24 16:45:33,363 INFO MainThread:756 [wandb_run.py:_console_start():2114] atexit reg +2023-02-24 16:45:33,363 INFO MainThread:756 [wandb_run.py:_redirect():1969] redirect: SettingsConsole.WRAP_RAW +2023-02-24 16:45:33,363 INFO MainThread:756 [wandb_run.py:_redirect():2034] Wrapping output streams. +2023-02-24 16:45:33,363 INFO MainThread:756 [wandb_run.py:_redirect():2059] Redirects installed. +2023-02-24 16:45:33,364 INFO MainThread:756 [wandb_init.py:init():817] run started, returning control to user process +2023-02-24 16:45:49,029 INFO MainThread:756 [wandb_run.py:_finish():1854] finishing run g4nlp/heterogeneous-GAT-model/4prg0lm3 +2023-02-24 16:45:49,029 INFO MainThread:756 [wandb_run.py:_atexit_cleanup():2083] got exitcode: 0 +2023-02-24 16:45:49,029 INFO MainThread:756 [wandb_run.py:_restore():2066] restore +2023-02-24 16:45:49,030 INFO MainThread:756 [wandb_run.py:_restore():2072] restore done +2023-02-24 16:47:39,262 INFO MainThread:756 [wandb_run.py:_footer_history_summary_info():3442] rendering history +2023-02-24 16:47:39,263 INFO MainThread:756 [wandb_run.py:_footer_history_summary_info():3474] rendering summary +2023-02-24 16:47:39,269 INFO MainThread:756 [wandb_run.py:_footer_sync_info():3398] logging synced files diff --git a/embeddings/wandb/run-20230224_164532-4prg0lm3/run-4prg0lm3.wandb b/embeddings/wandb/run-20230224_164532-4prg0lm3/run-4prg0lm3.wandb new file mode 100644 index 0000000000000000000000000000000000000000..4b91ec466437e9d0f10e4fd2c09971dd686f9d35 Binary files /dev/null and b/embeddings/wandb/run-20230224_164532-4prg0lm3/run-4prg0lm3.wandb differ diff --git a/embeddings/wandb/run-20230224_164739-0prcbjc3/files/config.yaml b/embeddings/wandb/run-20230224_164739-0prcbjc3/files/config.yaml new file mode 100644 index 0000000000000000000000000000000000000000..7e32b681af886ce5b248b35dd8a1709888156f80 --- /dev/null +++ b/embeddings/wandb/run-20230224_164739-0prcbjc3/files/config.yaml @@ -0,0 +1,39 @@ +wandb_version: 1 + +_wandb: + desc: null + value: + cli_version: 0.13.10 + framework: huggingface + huggingface_version: 4.24.0 + is_jupyter_run: false + is_kaggle_kernel: false + python_version: 3.8.1 + start_time: 1677257259.294688 + t: + 1: + - 1 + - 5 + - 11 + - 33 + - 49 + - 53 + - 55 + - 77 + 2: + - 1 + - 5 + - 11 + - 33 + - 49 + - 53 + - 55 + - 77 + 3: + - 23 + 4: 3.8.1 + 5: 0.13.10 + 6: 4.24.0 + 8: + - 3 + - 5 diff --git a/embeddings/wandb/run-20230224_164739-0prcbjc3/files/output.log b/embeddings/wandb/run-20230224_164739-0prcbjc3/files/output.log new file mode 100644 index 0000000000000000000000000000000000000000..d461e9b49486270445a78711b77e4d830187c449 --- /dev/null +++ b/embeddings/wandb/run-20230224_164739-0prcbjc3/files/output.log @@ -0,0 +1,51 @@ +wandb: ERROR Attempted to fetch artifact without alias (e.g. "<artifact_name>:v3" or "<artifact_name>:latest") +Traceback (most recent call last): + File "C:\Users\liamb\Documents\graph4stackoverflow\venv\lib\site-packages\wandb\apis\public.py", line 5077, in _load + response = self.client.execute( + File "C:\Users\liamb\Documents\graph4stackoverflow\venv\lib\site-packages\wandb\sdk\lib\retry.py", line 212, in wrapped_fn + return retrier(*args, **kargs) + File "C:\Users\liamb\Documents\graph4stackoverflow\venv\lib\site-packages\wandb\sdk\lib\retry.py", line 131, in __call__ + result = self._call_fn(*args, **kwargs) + File "C:\Users\liamb\Documents\graph4stackoverflow\venv\lib\site-packages\wandb\apis\public.py", line 246, in execute + return self._client.execute(*args, **kwargs) + File "C:\Users\liamb\Documents\graph4stackoverflow\venv\lib\site-packages\wandb\vendor\gql-0.2.0\wandb_gql\client.py", line 52, in execute + result = self._get_result(document, *args, **kwargs) + File "C:\Users\liamb\Documents\graph4stackoverflow\venv\lib\site-packages\wandb\vendor\gql-0.2.0\wandb_gql\client.py", line 60, in _get_result + return self.transport.execute(document, *args, **kwargs) + File "C:\Users\liamb\Documents\graph4stackoverflow\venv\lib\site-packages\wandb\vendor\gql-0.2.0\wandb_gql\transport\requests.py", line 39, in execute + request.raise_for_status() + File "C:\Users\liamb\Documents\graph4stackoverflow\venv\lib\site-packages\requests\models.py", line 1021, in raise_for_status + raise HTTPError(http_error_msg, response=self) +requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://api.wandb.ai/graphql +During handling of the above exception, another exception occurred: +Traceback (most recent call last): + File "C:\Users\liamb\Documents\graph4stackoverflow\venv\lib\site-packages\wandb\apis\normalize.py", line 26, in wrapper + return func(*args, **kwargs) + File "C:\Users\liamb\Documents\graph4stackoverflow\venv\lib\site-packages\wandb\apis\public.py", line 955, in artifact + artifact = Artifact(self.client, entity, project, artifact_name) + File "C:\Users\liamb\Documents\graph4stackoverflow\venv\lib\site-packages\wandb\apis\public.py", line 4368, in __init__ + self._load() + File "C:\Users\liamb\Documents\graph4stackoverflow\venv\lib\site-packages\wandb\apis\public.py", line 5089, in _load + raise ValueError( +ValueError: Attempted to fetch artifact without alias (e.g. "<artifact_name>:v3" or "<artifact_name>:latest") +During handling of the above exception, another exception occurred: +Traceback (most recent call last): + File "C:\Users\liamb\Documents\graph4stackoverflow\embeddings\hetero_GAT.py", line 182, in <module> + start_wandb_for_training(wandb_project_name) + File "C:\Users\liamb\Documents\graph4stackoverflow\embeddings\hetero_GAT.py", line 160, in start_wandb_for_training + wandb.use_artifact("static-graphs") + File "C:\Users\liamb\Documents\graph4stackoverflow\venv\lib\site-packages\wandb\sdk\wandb_run.py", line 334, in wrapper + return func(self, *args, **kwargs) + File "C:\Users\liamb\Documents\graph4stackoverflow\venv\lib\site-packages\wandb\sdk\wandb_run.py", line 2635, in use_artifact + artifact = public_api.artifact(type=type, name=name) + File "C:\Users\liamb\Documents\graph4stackoverflow\venv\lib\site-packages\wandb\apis\normalize.py", line 64, in wrapper + raise CommError(message, err).with_traceback(sys.exc_info()[2]) + File "C:\Users\liamb\Documents\graph4stackoverflow\venv\lib\site-packages\wandb\apis\normalize.py", line 26, in wrapper + return func(*args, **kwargs) + File "C:\Users\liamb\Documents\graph4stackoverflow\venv\lib\site-packages\wandb\apis\public.py", line 955, in artifact + artifact = Artifact(self.client, entity, project, artifact_name) + File "C:\Users\liamb\Documents\graph4stackoverflow\venv\lib\site-packages\wandb\apis\public.py", line 4368, in __init__ + self._load() + File "C:\Users\liamb\Documents\graph4stackoverflow\venv\lib\site-packages\wandb\apis\public.py", line 5089, in _load + raise ValueError( +wandb.errors.CommError: Attempted to fetch artifact without alias (e.g. "<artifact_name>:v3" or "<artifact_name>:latest") \ No newline at end of file diff --git a/embeddings/wandb/run-20230224_164739-0prcbjc3/files/requirements.txt b/embeddings/wandb/run-20230224_164739-0prcbjc3/files/requirements.txt new file mode 100644 index 0000000000000000000000000000000000000000..d7de821539624662109e252a91c4907a963ad5fb --- /dev/null +++ b/embeddings/wandb/run-20230224_164739-0prcbjc3/files/requirements.txt @@ -0,0 +1,170 @@ +absl-py==1.3.0 +anyio==3.6.2 +appdirs==1.4.4 +argon2-cffi-bindings==21.2.0 +argon2-cffi==21.3.0 +asttokens==2.1.0 +astunparse==1.6.3 +attrs==22.1.0 +backcall==0.2.0 +beautifulsoup4==4.11.1 +bleach==5.0.1 +blis==0.7.9 +bs4==0.0.1 +cachetools==5.2.0 +catalogue==2.0.8 +certifi==2022.9.24 +cffi==1.15.1 +charset-normalizer==2.1.1 +click==8.1.3 +colorama==0.4.6 +confection==0.0.3 +contourpy==1.0.6 +cycler==0.11.0 +cymem==2.0.7 +debugpy==1.6.3 +decorator==5.1.1 +defusedxml==0.7.1 +dgl==0.9.1 +docker-pycreds==0.4.0 +en-core-web-sm==3.4.1 +entrypoints==0.4 +executing==1.2.0 +fastjsonschema==2.16.2 +filelock==3.8.0 +fonttools==4.38.0 +gitdb==4.0.10 +gitpython==3.1.31 +google-auth-oauthlib==0.4.6 +google-auth==2.14.0 +graph4nlp==0.5.5 +grpcio==1.50.0 +huggingface-hub==0.10.1 +idna==3.4 +importlib-metadata==5.0.0 +importlib-resources==5.10.0 +ipykernel==6.16.2 +ipython-genutils==0.2.0 +ipython==8.6.0 +ipywidgets==8.0.2 +jedi==0.18.1 +jinja2==3.1.2 +joblib==1.2.0 +jsonschema==4.16.0 +jupyter-client==7.4.4 +jupyter-console==6.4.4 +jupyter-core==4.11.2 +jupyter-server==1.21.0 +jupyter==1.0.0 +jupyterlab-pygments==0.2.2 +jupyterlab-widgets==3.0.3 +kiwisolver==1.4.4 +langcodes==3.3.0 +littleutils==0.2.2 +lxml==4.9.1 +markdown==3.4.1 +markupsafe==2.1.1 +matplotlib-inline==0.1.6 +matplotlib==3.6.2 +mistune==2.0.4 +murmurhash==1.0.9 +nbclassic==0.4.7 +nbclient==0.7.0 +nbconvert==7.2.3 +nbformat==5.7.0 +nest-asyncio==1.5.6 +networkx==2.8.8 +nltk==3.7 +notebook-shim==0.2.0 +notebook==6.5.2 +numpy==1.23.5 +oauthlib==3.2.2 +ogb==1.3.5 +outdated==0.2.2 +packaging==21.3 +pandas==1.5.1 +pandocfilters==1.5.0 +parso==0.8.3 +pathtools==0.1.2 +pathy==0.6.2 +pickleshare==0.7.5 +pillow==9.3.0 +pip==21.3.1 +pkgutil-resolve-name==1.3.10 +plotly==5.13.0 +preshed==3.0.8 +prometheus-client==0.15.0 +prompt-toolkit==3.0.31 +protobuf==3.19.6 +psutil==5.9.3 +pure-eval==0.2.2 +pyasn1-modules==0.2.8 +pyasn1==0.4.8 +pycparser==2.21 +pydantic==1.10.2 +pygments==2.13.0 +pyparsing==3.0.9 +pyrsistent==0.18.1 +python-dateutil==2.8.2 +pythonds==1.2.1 +pytz==2022.5 +pywin32==304 +pywinpty==2.0.9 +pyyaml==6.0 +pyzmq==24.0.1 +qtconsole==5.3.2 +qtpy==2.2.1 +regex==2022.10.31 +requests-oauthlib==1.3.1 +requests==2.28.1 +rsa==4.9 +scikit-learn==1.1.3 +scipy==1.9.3 +send2trash==1.8.0 +sentry-sdk==1.15.0 +setproctitle==1.3.2 +setuptools==60.2.0 +six==1.16.0 +smart-open==5.2.1 +smmap==5.0.0 +sniffio==1.3.0 +soupsieve==2.3.2.post1 +spacy-legacy==3.0.10 +spacy-loggers==1.0.3 +spacy==3.4.2 +srsly==2.4.5 +stack-data==0.6.0 +stanfordcorenlp==3.9.1.1 +tenacity==8.2.1 +tensorboard-data-server==0.6.1 +tensorboard-plugin-wit==1.8.1 +tensorboard==2.10.1 +terminado==0.17.0 +thinc==8.1.5 +threadpoolctl==3.1.0 +tinycss2==1.2.1 +tokenizers==0.13.2 +torch-cluster==1.6.0+pt113cpu +torch-geometric==2.2.0 +torch-scatter==2.1.0+pt113cpu +torch-sparse==0.6.16+pt113cpu +torch-spline-conv==1.2.1+pt113cpu +torch==1.13.0 +torchsummary==1.5.1 +torchtext==0.14.0 +tornado==6.2 +tqdm==4.64.1 +traitlets==5.5.0 +transformers==4.24.0 +typer==0.4.2 +typing-extensions==4.4.0 +urllib3==1.26.12 +wandb==0.13.10 +wasabi==0.10.1 +wcwidth==0.2.5 +webencodings==0.5.1 +websocket-client==1.4.1 +werkzeug==2.2.2 +wheel==0.37.1 +widgetsnbextension==4.0.3 +zipp==3.10.0 \ No newline at end of file diff --git a/embeddings/wandb/run-20230224_164739-0prcbjc3/files/wandb-metadata.json b/embeddings/wandb/run-20230224_164739-0prcbjc3/files/wandb-metadata.json new file mode 100644 index 0000000000000000000000000000000000000000..10f2fb422862bca20132c42ec9b34510a4191d73 --- /dev/null +++ b/embeddings/wandb/run-20230224_164739-0prcbjc3/files/wandb-metadata.json @@ -0,0 +1,42 @@ +{ + "os": "Windows-10-10.0.19041-SP0", + "python": "3.8.1", + "heartbeatAt": "2023-02-24T16:47:40.783585", + "startedAt": "2023-02-24T16:47:39.280688", + "docker": null, + "cuda": null, + "args": [], + "state": "running", + "program": "C:\\Users\\liamb\\Documents\\graph4stackoverflow\\embeddings\\hetero_GAT.py", + "codePath": "embeddings\\hetero_GAT.py", + "git": { + "remote": "https://git.soton.ac.uk/lhb1g20/graph4stackoverflow.git", + "commit": "ced992d661984f7b87d1a3e76768e4ff7af78245" + }, + "email": "liambyrneh@gmail.com", + "root": "C:/Users/liamb/Documents/graph4stackoverflow", + "host": "DESKTOP-P7BETFF", + "username": "liamb", + "executable": "C:\\Users\\liamb\\Documents\\graph4stackoverflow\\venv\\Scripts\\python.exe", + "cpu_count": 2, + "cpu_count_logical": 4, + "cpu_freq": { + "current": 3504.0, + "min": 0.0, + "max": 3504.0 + }, + "cpu_freq_per_core": [ + { + "current": 3504.0, + "min": 0.0, + "max": 3504.0 + } + ], + "disk": { + "total": 475.71581649780273, + "used": 356.12910079956055 + }, + "memory": { + "total": 31.89160919189453 + } +} diff --git a/embeddings/wandb/run-20230224_164739-0prcbjc3/files/wandb-summary.json b/embeddings/wandb/run-20230224_164739-0prcbjc3/files/wandb-summary.json new file mode 100644 index 0000000000000000000000000000000000000000..fe9e22cf416d08fa3b43b9f0c278f2270e8d86cd --- /dev/null +++ b/embeddings/wandb/run-20230224_164739-0prcbjc3/files/wandb-summary.json @@ -0,0 +1 @@ +{"_wandb": {"runtime": 0}} \ No newline at end of file diff --git a/embeddings/wandb/run-20230224_164739-0prcbjc3/logs/debug-internal.log b/embeddings/wandb/run-20230224_164739-0prcbjc3/logs/debug-internal.log new file mode 100644 index 0000000000000000000000000000000000000000..f0ece91a4440c80b89b7297f41d8b67b92661bd1 --- /dev/null +++ b/embeddings/wandb/run-20230224_164739-0prcbjc3/logs/debug-internal.log @@ -0,0 +1,170 @@ +2023-02-24 16:47:40,274 INFO StreamThr :9052 [internal.py:wandb_internal():87] W&B internal server running at pid: 9052, started at: 2023-02-24 16:47:40.273584 +2023-02-24 16:47:40,276 DEBUG HandlerThread:9052 [handler.py:handle_request():144] handle_request: status +2023-02-24 16:47:40,277 INFO WriterThread:9052 [datastore.py:open_for_write():85] open: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_164739-0prcbjc3\run-0prcbjc3.wandb +2023-02-24 16:47:40,280 DEBUG SenderThread:9052 [sender.py:send():336] send: header +2023-02-24 16:47:40,280 DEBUG SenderThread:9052 [sender.py:send():336] send: run +2023-02-24 16:47:40,676 INFO SenderThread:9052 [dir_watcher.py:__init__():216] watching files in: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_164739-0prcbjc3\files +2023-02-24 16:47:40,677 INFO SenderThread:9052 [sender.py:_start_run_threads():1067] run started: 0prcbjc3 with start time 1677257259.294688 +2023-02-24 16:47:40,677 DEBUG SenderThread:9052 [sender.py:send_request():363] send_request: summary_record +2023-02-24 16:47:40,677 INFO SenderThread:9052 [sender.py:_save_file():1321] saving file wandb-summary.json with policy end +2023-02-24 16:47:40,683 DEBUG HandlerThread:9052 [handler.py:handle_request():144] handle_request: check_version +2023-02-24 16:47:40,683 DEBUG SenderThread:9052 [sender.py:send_request():363] send_request: check_version +2023-02-24 16:47:40,759 DEBUG HandlerThread:9052 [handler.py:handle_request():144] handle_request: run_start +2023-02-24 16:47:40,781 DEBUG HandlerThread:9052 [system_info.py:__init__():31] System info init +2023-02-24 16:47:40,781 DEBUG HandlerThread:9052 [system_info.py:__init__():46] System info init done +2023-02-24 16:47:40,781 INFO HandlerThread:9052 [system_monitor.py:start():151] Starting system monitor +2023-02-24 16:47:40,782 INFO SystemMonitor:9052 [system_monitor.py:_start():116] Starting system asset monitoring threads +2023-02-24 16:47:40,782 INFO HandlerThread:9052 [system_monitor.py:probe():172] Collecting system info +2023-02-24 16:47:40,783 DEBUG HandlerThread:9052 [system_info.py:probe():195] Probing system +2023-02-24 16:47:40,789 INFO SystemMonitor:9052 [interfaces.py:start():168] Started cpu +2023-02-24 16:47:40,789 INFO SystemMonitor:9052 [interfaces.py:start():168] Started disk +2023-02-24 16:47:40,790 INFO SystemMonitor:9052 [interfaces.py:start():168] Started memory +2023-02-24 16:47:40,791 INFO SystemMonitor:9052 [interfaces.py:start():168] Started network +2023-02-24 16:47:40,809 DEBUG HandlerThread:9052 [system_info.py:_probe_git():180] Probing git +2023-02-24 16:47:40,946 DEBUG HandlerThread:9052 [system_info.py:_probe_git():188] Probing git done +2023-02-24 16:47:40,946 DEBUG HandlerThread:9052 [system_info.py:probe():241] Probing system done +2023-02-24 16:47:40,946 DEBUG HandlerThread:9052 [system_monitor.py:probe():181] {'os': 'Windows-10-10.0.19041-SP0', 'python': '3.8.1', 'heartbeatAt': '2023-02-24T16:47:40.783585', 'startedAt': '2023-02-24T16:47:39.280688', 'docker': None, 'cuda': None, 'args': (), 'state': 'running', 'program': 'C:\\Users\\liamb\\Documents\\graph4stackoverflow\\embeddings\\hetero_GAT.py', 'codePath': 'embeddings\\hetero_GAT.py', 'git': {'remote': 'https://git.soton.ac.uk/lhb1g20/graph4stackoverflow.git', 'commit': 'ced992d661984f7b87d1a3e76768e4ff7af78245'}, 'email': 'liambyrneh@gmail.com', 'root': 'C:/Users/liamb/Documents/graph4stackoverflow', 'host': 'DESKTOP-P7BETFF', 'username': 'liamb', 'executable': 'C:\\Users\\liamb\\Documents\\graph4stackoverflow\\venv\\Scripts\\python.exe', 'cpu_count': 2, 'cpu_count_logical': 4, 'cpu_freq': {'current': 3504.0, 'min': 0.0, 'max': 3504.0}, 'cpu_freq_per_core': [{'current': 3504.0, 'min': 0.0, 'max': 3504.0}], 'disk': {'total': 475.71581649780273, 'used': 356.12910079956055}, 'memory': {'total': 31.89160919189453}} +2023-02-24 16:47:40,946 INFO HandlerThread:9052 [system_monitor.py:probe():182] Finished collecting system info +2023-02-24 16:47:40,946 INFO HandlerThread:9052 [system_monitor.py:probe():185] Publishing system info +2023-02-24 16:47:40,946 DEBUG HandlerThread:9052 [system_info.py:_save_pip():51] Saving list of pip packages installed into the current environment +2023-02-24 16:47:40,948 DEBUG HandlerThread:9052 [system_info.py:_save_pip():67] Saving pip packages done +2023-02-24 16:47:40,950 INFO HandlerThread:9052 [system_monitor.py:probe():187] Finished publishing system info +2023-02-24 16:47:40,950 DEBUG SenderThread:9052 [sender.py:send():336] send: files +2023-02-24 16:47:40,951 INFO SenderThread:9052 [sender.py:_save_file():1321] saving file wandb-metadata.json with policy now +2023-02-24 16:47:40,961 DEBUG HandlerThread:9052 [handler.py:handle_request():144] handle_request: stop_status +2023-02-24 16:47:40,962 DEBUG SenderThread:9052 [sender.py:send_request():363] send_request: stop_status +2023-02-24 16:47:41,122 DEBUG SenderThread:9052 [sender.py:send():336] send: telemetry +2023-02-24 16:47:41,176 DEBUG SenderThread:9052 [sender.py:send():336] send: exit +2023-02-24 16:47:41,176 INFO SenderThread:9052 [sender.py:send_exit():559] handling exit code: 1 +2023-02-24 16:47:41,176 INFO SenderThread:9052 [sender.py:send_exit():561] handling runtime: 0 +2023-02-24 16:47:41,177 INFO SenderThread:9052 [sender.py:_save_file():1321] saving file wandb-summary.json with policy end +2023-02-24 16:47:41,177 INFO SenderThread:9052 [sender.py:send_exit():567] send defer +2023-02-24 16:47:41,178 DEBUG HandlerThread:9052 [handler.py:handle_request():144] handle_request: defer +2023-02-24 16:47:41,178 INFO HandlerThread:9052 [handler.py:handle_request_defer():170] handle defer: 0 +2023-02-24 16:47:41,178 DEBUG SenderThread:9052 [sender.py:send_request():363] send_request: defer +2023-02-24 16:47:41,178 INFO SenderThread:9052 [sender.py:send_request_defer():583] handle sender defer: 0 +2023-02-24 16:47:41,178 INFO SenderThread:9052 [sender.py:transition_state():587] send defer: 1 +2023-02-24 16:47:41,178 DEBUG HandlerThread:9052 [handler.py:handle_request():144] handle_request: defer +2023-02-24 16:47:41,178 INFO HandlerThread:9052 [handler.py:handle_request_defer():170] handle defer: 1 +2023-02-24 16:47:41,179 DEBUG SenderThread:9052 [sender.py:send_request():363] send_request: defer +2023-02-24 16:47:41,179 INFO SenderThread:9052 [sender.py:send_request_defer():583] handle sender defer: 1 +2023-02-24 16:47:41,179 INFO SenderThread:9052 [sender.py:transition_state():587] send defer: 2 +2023-02-24 16:47:41,179 DEBUG HandlerThread:9052 [handler.py:handle_request():144] handle_request: defer +2023-02-24 16:47:41,179 INFO HandlerThread:9052 [handler.py:handle_request_defer():170] handle defer: 2 +2023-02-24 16:47:41,179 INFO HandlerThread:9052 [system_monitor.py:finish():161] Stopping system monitor +2023-02-24 16:47:41,180 DEBUG SystemMonitor:9052 [system_monitor.py:_start():130] Starting system metrics aggregation loop +2023-02-24 16:47:41,180 DEBUG SystemMonitor:9052 [system_monitor.py:_start():137] Finished system metrics aggregation loop +2023-02-24 16:47:41,180 DEBUG SystemMonitor:9052 [system_monitor.py:_start():141] Publishing last batch of metrics +2023-02-24 16:47:41,180 INFO HandlerThread:9052 [interfaces.py:finish():175] Joined cpu +2023-02-24 16:47:41,181 INFO HandlerThread:9052 [interfaces.py:finish():175] Joined disk +2023-02-24 16:47:41,181 INFO HandlerThread:9052 [interfaces.py:finish():175] Joined memory +2023-02-24 16:47:41,181 INFO HandlerThread:9052 [interfaces.py:finish():175] Joined network +2023-02-24 16:47:41,182 DEBUG SenderThread:9052 [sender.py:send_request():363] send_request: defer +2023-02-24 16:47:41,182 INFO SenderThread:9052 [sender.py:send_request_defer():583] handle sender defer: 2 +2023-02-24 16:47:41,182 INFO SenderThread:9052 [sender.py:transition_state():587] send defer: 3 +2023-02-24 16:47:41,182 DEBUG SenderThread:9052 [sender.py:send():336] send: stats +2023-02-24 16:47:41,182 DEBUG HandlerThread:9052 [handler.py:handle_request():144] handle_request: defer +2023-02-24 16:47:41,182 INFO HandlerThread:9052 [handler.py:handle_request_defer():170] handle defer: 3 +2023-02-24 16:47:41,183 DEBUG SenderThread:9052 [sender.py:send_request():363] send_request: defer +2023-02-24 16:47:41,183 INFO SenderThread:9052 [sender.py:send_request_defer():583] handle sender defer: 3 +2023-02-24 16:47:41,183 INFO SenderThread:9052 [sender.py:transition_state():587] send defer: 4 +2023-02-24 16:47:41,183 DEBUG HandlerThread:9052 [handler.py:handle_request():144] handle_request: defer +2023-02-24 16:47:41,183 INFO HandlerThread:9052 [handler.py:handle_request_defer():170] handle defer: 4 +2023-02-24 16:47:41,183 DEBUG SenderThread:9052 [sender.py:send_request():363] send_request: defer +2023-02-24 16:47:41,184 INFO SenderThread:9052 [sender.py:send_request_defer():583] handle sender defer: 4 +2023-02-24 16:47:41,184 INFO SenderThread:9052 [sender.py:transition_state():587] send defer: 5 +2023-02-24 16:47:41,184 DEBUG HandlerThread:9052 [handler.py:handle_request():144] handle_request: defer +2023-02-24 16:47:41,184 INFO HandlerThread:9052 [handler.py:handle_request_defer():170] handle defer: 5 +2023-02-24 16:47:41,184 DEBUG SenderThread:9052 [sender.py:send():336] send: summary +2023-02-24 16:47:41,185 INFO SenderThread:9052 [sender.py:_save_file():1321] saving file wandb-summary.json with policy end +2023-02-24 16:47:41,185 DEBUG SenderThread:9052 [sender.py:send_request():363] send_request: defer +2023-02-24 16:47:41,185 INFO SenderThread:9052 [sender.py:send_request_defer():583] handle sender defer: 5 +2023-02-24 16:47:41,185 INFO SenderThread:9052 [sender.py:transition_state():587] send defer: 6 +2023-02-24 16:47:41,186 DEBUG HandlerThread:9052 [handler.py:handle_request():144] handle_request: defer +2023-02-24 16:47:41,186 INFO HandlerThread:9052 [handler.py:handle_request_defer():170] handle defer: 6 +2023-02-24 16:47:41,186 DEBUG SenderThread:9052 [sender.py:send_request():363] send_request: defer +2023-02-24 16:47:41,187 INFO SenderThread:9052 [sender.py:send_request_defer():583] handle sender defer: 6 +2023-02-24 16:47:41,194 DEBUG HandlerThread:9052 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 16:47:41,365 INFO SenderThread:9052 [sender.py:transition_state():587] send defer: 7 +2023-02-24 16:47:41,365 DEBUG HandlerThread:9052 [handler.py:handle_request():144] handle_request: defer +2023-02-24 16:47:41,365 INFO HandlerThread:9052 [handler.py:handle_request_defer():170] handle defer: 7 +2023-02-24 16:47:41,366 DEBUG SenderThread:9052 [sender.py:send_request():363] send_request: defer +2023-02-24 16:47:41,366 INFO SenderThread:9052 [sender.py:send_request_defer():583] handle sender defer: 7 +2023-02-24 16:47:41,505 INFO wandb-upload_0:9052 [upload_job.py:push():138] Uploaded file C:\Users\liamb\AppData\Local\Temp\tmp9pv1rl8mwandb\9qfex5ed-wandb-metadata.json +2023-02-24 16:47:41,689 INFO Thread-32 :9052 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_164739-0prcbjc3\files\config.yaml +2023-02-24 16:47:41,690 INFO Thread-32 :9052 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_164739-0prcbjc3\files\wandb-metadata.json +2023-02-24 16:47:41,690 INFO Thread-32 :9052 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_164739-0prcbjc3\files\output.log +2023-02-24 16:47:41,691 INFO Thread-32 :9052 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_164739-0prcbjc3\files\wandb-summary.json +2023-02-24 16:47:41,691 INFO Thread-32 :9052 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_164739-0prcbjc3\files\requirements.txt +2023-02-24 16:47:42,185 DEBUG HandlerThread:9052 [handler.py:handle_request():144] handle_request: poll_exit +2023-02-24 16:47:43,178 INFO SenderThread:9052 [sender.py:transition_state():587] send defer: 8 +2023-02-24 16:47:43,178 DEBUG SenderThread:9052 [sender.py:send_request():363] send_request: poll_exit +2023-02-24 16:47:43,178 DEBUG HandlerThread:9052 [handler.py:handle_request():144] handle_request: defer +2023-02-24 16:47:43,178 INFO HandlerThread:9052 [handler.py:handle_request_defer():170] handle defer: 8 +2023-02-24 16:47:43,179 DEBUG SenderThread:9052 [sender.py:send_request():363] send_request: defer +2023-02-24 16:47:43,179 INFO SenderThread:9052 [sender.py:send_request_defer():583] handle sender defer: 8 +2023-02-24 16:47:43,189 INFO SenderThread:9052 [sender.py:transition_state():587] send defer: 9 +2023-02-24 16:47:43,189 DEBUG HandlerThread:9052 [handler.py:handle_request():144] handle_request: defer +2023-02-24 16:47:43,189 DEBUG SenderThread:9052 [sender.py:send():336] send: artifact +2023-02-24 16:47:43,189 INFO HandlerThread:9052 [handler.py:handle_request_defer():170] handle defer: 9 +2023-02-24 16:47:43,199 DEBUG HandlerThread:9052 [handler.py:handle_request():144] handle_request: poll_exit +2023-02-24 16:47:43,702 INFO Thread-32 :9052 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_164739-0prcbjc3\files\output.log +2023-02-24 16:47:44,141 INFO SenderThread:9052 [sender.py:send_artifact():1417] sent artifact job-https___git.soton.ac.uk_lhb1g20_graph4stackoverflow.git_embeddings_hetero_GAT.py - {'id': 'QXJ0aWZhY3Q6MzgwMzY3ODUz', 'digest': 'dbe34f6e8b990dacc5d7c5e1ab1d02a4', 'state': 'COMMITTED', 'aliases': [{'artifactCollectionName': 'job-https___git.soton.ac.uk_lhb1g20_graph4stackoverflow.git_embeddings_hetero_GAT.py', 'alias': 'latest'}, {'artifactCollectionName': 'job-https___git.soton.ac.uk_lhb1g20_graph4stackoverflow.git_embeddings_hetero_GAT.py', 'alias': 'v0'}], 'artifactSequence': {'id': 'QXJ0aWZhY3RDb2xsZWN0aW9uOjU0NTg3MzU0', 'latestArtifact': {'id': 'QXJ0aWZhY3Q6MzgwMzk2OTM0', 'versionIndex': 2}}, 'version': 'v0'} +2023-02-24 16:47:44,141 DEBUG SenderThread:9052 [sender.py:send_request():363] send_request: defer +2023-02-24 16:47:44,141 INFO SenderThread:9052 [sender.py:send_request_defer():583] handle sender defer: 9 +2023-02-24 16:47:44,141 INFO SenderThread:9052 [dir_watcher.py:finish():362] shutting down directory watcher +2023-02-24 16:47:44,710 INFO SenderThread:9052 [dir_watcher.py:finish():392] scan: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_164739-0prcbjc3\files +2023-02-24 16:47:44,710 INFO SenderThread:9052 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_164739-0prcbjc3\files\config.yaml config.yaml +2023-02-24 16:47:44,710 INFO SenderThread:9052 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_164739-0prcbjc3\files\output.log output.log +2023-02-24 16:47:44,713 INFO SenderThread:9052 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_164739-0prcbjc3\files\requirements.txt requirements.txt +2023-02-24 16:47:44,714 INFO SenderThread:9052 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_164739-0prcbjc3\files\wandb-metadata.json wandb-metadata.json +2023-02-24 16:47:44,714 INFO SenderThread:9052 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_164739-0prcbjc3\files\wandb-summary.json wandb-summary.json +2023-02-24 16:47:44,718 INFO SenderThread:9052 [sender.py:transition_state():587] send defer: 10 +2023-02-24 16:47:44,722 DEBUG SenderThread:9052 [sender.py:send_request():363] send_request: poll_exit +2023-02-24 16:47:44,723 DEBUG HandlerThread:9052 [handler.py:handle_request():144] handle_request: defer +2023-02-24 16:47:44,723 INFO HandlerThread:9052 [handler.py:handle_request_defer():170] handle defer: 10 +2023-02-24 16:47:44,727 DEBUG SenderThread:9052 [sender.py:send_request():363] send_request: defer +2023-02-24 16:47:44,727 INFO SenderThread:9052 [sender.py:send_request_defer():583] handle sender defer: 10 +2023-02-24 16:47:44,727 INFO SenderThread:9052 [file_pusher.py:finish():162] shutting down file pusher +2023-02-24 16:47:45,235 INFO wandb-upload_1:9052 [upload_job.py:push():138] Uploaded file C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_164739-0prcbjc3\files\output.log +2023-02-24 16:47:45,263 INFO wandb-upload_2:9052 [upload_job.py:push():138] Uploaded file C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_164739-0prcbjc3\files\requirements.txt +2023-02-24 16:47:45,271 INFO wandb-upload_3:9052 [upload_job.py:push():138] Uploaded file C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_164739-0prcbjc3\files\wandb-summary.json +2023-02-24 16:47:45,346 INFO wandb-upload_0:9052 [upload_job.py:push():138] Uploaded file C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_164739-0prcbjc3\files\config.yaml +2023-02-24 16:47:45,549 INFO Thread-31 :9052 [sender.py:transition_state():587] send defer: 11 +2023-02-24 16:47:45,549 DEBUG HandlerThread:9052 [handler.py:handle_request():144] handle_request: defer +2023-02-24 16:47:45,549 INFO HandlerThread:9052 [handler.py:handle_request_defer():170] handle defer: 11 +2023-02-24 16:47:45,550 DEBUG SenderThread:9052 [sender.py:send_request():363] send_request: defer +2023-02-24 16:47:45,550 INFO SenderThread:9052 [sender.py:send_request_defer():583] handle sender defer: 11 +2023-02-24 16:47:45,550 INFO SenderThread:9052 [file_pusher.py:join():167] waiting for file pusher +2023-02-24 16:47:45,550 INFO SenderThread:9052 [sender.py:transition_state():587] send defer: 12 +2023-02-24 16:47:45,550 DEBUG HandlerThread:9052 [handler.py:handle_request():144] handle_request: defer +2023-02-24 16:47:45,550 INFO HandlerThread:9052 [handler.py:handle_request_defer():170] handle defer: 12 +2023-02-24 16:47:45,551 DEBUG SenderThread:9052 [sender.py:send_request():363] send_request: defer +2023-02-24 16:47:45,551 INFO SenderThread:9052 [sender.py:send_request_defer():583] handle sender defer: 12 +2023-02-24 16:47:45,684 INFO SenderThread:9052 [sender.py:transition_state():587] send defer: 13 +2023-02-24 16:47:45,684 DEBUG HandlerThread:9052 [handler.py:handle_request():144] handle_request: defer +2023-02-24 16:47:45,684 INFO HandlerThread:9052 [handler.py:handle_request_defer():170] handle defer: 13 +2023-02-24 16:47:45,685 DEBUG SenderThread:9052 [sender.py:send_request():363] send_request: defer +2023-02-24 16:47:45,685 INFO SenderThread:9052 [sender.py:send_request_defer():583] handle sender defer: 13 +2023-02-24 16:47:45,685 INFO SenderThread:9052 [sender.py:transition_state():587] send defer: 14 +2023-02-24 16:47:45,685 DEBUG HandlerThread:9052 [handler.py:handle_request():144] handle_request: defer +2023-02-24 16:47:45,685 INFO HandlerThread:9052 [handler.py:handle_request_defer():170] handle defer: 14 +2023-02-24 16:47:45,686 DEBUG SenderThread:9052 [sender.py:send():336] send: final +2023-02-24 16:47:45,686 DEBUG SenderThread:9052 [sender.py:send():336] send: footer +2023-02-24 16:47:45,686 DEBUG SenderThread:9052 [sender.py:send_request():363] send_request: defer +2023-02-24 16:47:45,686 INFO SenderThread:9052 [sender.py:send_request_defer():583] handle sender defer: 14 +2023-02-24 16:47:45,687 DEBUG HandlerThread:9052 [handler.py:handle_request():144] handle_request: poll_exit +2023-02-24 16:47:45,687 DEBUG HandlerThread:9052 [handler.py:handle_request():144] handle_request: server_info +2023-02-24 16:47:45,687 DEBUG HandlerThread:9052 [handler.py:handle_request():144] handle_request: get_summary +2023-02-24 16:47:45,687 DEBUG SenderThread:9052 [sender.py:send_request():363] send_request: poll_exit +2023-02-24 16:47:45,688 DEBUG HandlerThread:9052 [handler.py:handle_request():144] handle_request: sampled_history +2023-02-24 16:47:45,688 DEBUG SenderThread:9052 [sender.py:send_request():363] send_request: server_info +2023-02-24 16:47:45,856 INFO MainThread:9052 [wandb_run.py:_footer_history_summary_info():3442] rendering history +2023-02-24 16:47:45,856 INFO MainThread:9052 [wandb_run.py:_footer_history_summary_info():3474] rendering summary +2023-02-24 16:47:45,856 INFO MainThread:9052 [wandb_run.py:_footer_sync_info():3398] logging synced files +2023-02-24 16:47:45,857 DEBUG HandlerThread:9052 [handler.py:handle_request():144] handle_request: shutdown +2023-02-24 16:47:45,857 INFO HandlerThread:9052 [handler.py:finish():841] shutting down handler +2023-02-24 16:47:46,703 INFO WriterThread:9052 [datastore.py:close():299] close: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_164739-0prcbjc3\run-0prcbjc3.wandb +2023-02-24 16:47:46,859 INFO SenderThread:9052 [sender.py:finish():1493] shutting down sender +2023-02-24 16:47:46,859 INFO SenderThread:9052 [file_pusher.py:finish():162] shutting down file pusher +2023-02-24 16:47:46,859 INFO SenderThread:9052 [file_pusher.py:join():167] waiting for file pusher diff --git a/embeddings/wandb/run-20230224_164739-0prcbjc3/logs/debug.log b/embeddings/wandb/run-20230224_164739-0prcbjc3/logs/debug.log new file mode 100644 index 0000000000000000000000000000000000000000..114e34e0fe0c3fe8396fcd84e6456d52c166630a --- /dev/null +++ b/embeddings/wandb/run-20230224_164739-0prcbjc3/logs/debug.log @@ -0,0 +1,25 @@ +2023-02-24 16:47:39,283 INFO MainThread:756 [wandb_setup.py:_flush():68] Configure stats pid to 756 +2023-02-24 16:47:39,284 INFO MainThread:756 [wandb_setup.py:_flush():68] Loading settings from C:\Users\liamb\.config\wandb\settings +2023-02-24 16:47:39,284 INFO MainThread:756 [wandb_setup.py:_flush():68] Loading settings from C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\settings +2023-02-24 16:47:39,284 INFO MainThread:756 [wandb_setup.py:_flush():68] Loading settings from environment variables: {'_require_service': 'True'} +2023-02-24 16:47:39,284 INFO MainThread:756 [wandb_setup.py:_flush():68] Inferring run settings from compute environment: {'program_relpath': 'embeddings\\hetero_GAT.py', 'program': 'C:\\Users\\liamb\\Documents\\graph4stackoverflow\\embeddings\\hetero_GAT.py'} +2023-02-24 16:47:39,284 INFO MainThread:756 [wandb_init.py:_log_setup():492] Logging user logs to C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_164739-0prcbjc3\logs\debug.log +2023-02-24 16:47:39,285 INFO MainThread:756 [wandb_init.py:_log_setup():493] Logging internal logs to C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_164739-0prcbjc3\logs\debug-internal.log +2023-02-24 16:47:39,285 INFO MainThread:756 [wandb_init.py:init():532] calling init triggers +2023-02-24 16:47:39,285 INFO MainThread:756 [wandb_init.py:init():538] wandb.init called with sweep_config: {} +config: {} +2023-02-24 16:47:39,285 INFO MainThread:756 [wandb_init.py:init():588] starting backend +2023-02-24 16:47:39,285 INFO MainThread:756 [wandb_init.py:init():592] setting up manager +2023-02-24 16:47:39,290 INFO MainThread:756 [backend.py:_multiprocessing_setup():106] multiprocessing start_methods=spawn, using: spawn +2023-02-24 16:47:39,294 INFO MainThread:756 [wandb_init.py:init():599] backend started and connected +2023-02-24 16:47:39,295 INFO MainThread:756 [wandb_init.py:init():687] updated telemetry +2023-02-24 16:47:39,358 INFO MainThread:756 [wandb_init.py:init():727] communicating run to backend with 60.0 second timeout +2023-02-24 16:47:40,682 INFO MainThread:756 [wandb_run.py:_on_init():2134] communicating current version +2023-02-24 16:47:40,750 INFO MainThread:756 [wandb_run.py:_on_init():2143] got version response +2023-02-24 16:47:40,750 INFO MainThread:756 [wandb_init.py:init():775] starting run threads in backend +2023-02-24 16:47:40,962 INFO MainThread:756 [wandb_run.py:_console_start():2114] atexit reg +2023-02-24 16:47:40,962 INFO MainThread:756 [wandb_run.py:_redirect():1969] redirect: SettingsConsole.WRAP_RAW +2023-02-24 16:47:40,962 INFO MainThread:756 [wandb_run.py:_redirect():2034] Wrapping output streams. +2023-02-24 16:47:40,962 INFO MainThread:756 [wandb_run.py:_redirect():2059] Redirects installed. +2023-02-24 16:47:40,963 INFO MainThread:756 [wandb_init.py:init():817] run started, returning control to user process +2023-02-24 16:47:46,931 WARNING MsgRouterThr:756 [router.py:message_loop():77] message_loop has been closed diff --git a/embeddings/wandb/run-20230224_164739-0prcbjc3/run-0prcbjc3.wandb b/embeddings/wandb/run-20230224_164739-0prcbjc3/run-0prcbjc3.wandb new file mode 100644 index 0000000000000000000000000000000000000000..f185fa667a8d4a26903aaf611f22070f64e68333 Binary files /dev/null and b/embeddings/wandb/run-20230224_164739-0prcbjc3/run-0prcbjc3.wandb differ diff --git a/embeddings/wandb/run-20230224_164912-n80nxlmy/files/config.yaml b/embeddings/wandb/run-20230224_164912-n80nxlmy/files/config.yaml new file mode 100644 index 0000000000000000000000000000000000000000..2f4ab914ff3ddac11a1eb8abbd544a024012a04b --- /dev/null +++ b/embeddings/wandb/run-20230224_164912-n80nxlmy/files/config.yaml @@ -0,0 +1,41 @@ +wandb_version: 1 + +_wandb: + desc: null + value: + cli_version: 0.13.10 + framework: huggingface + huggingface_version: 4.24.0 + is_jupyter_run: false + is_kaggle_kernel: false + python_version: 3.8.1 + start_time: 1677257352.898465 + t: + 1: + - 1 + - 5 + - 11 + - 33 + - 49 + - 53 + - 55 + - 77 + 2: + - 1 + - 5 + - 11 + - 33 + - 49 + - 53 + - 55 + - 77 + 3: + - 2 + - 13 + - 23 + 4: 3.8.1 + 5: 0.13.10 + 6: 4.24.0 + 8: + - 3 + - 5 diff --git a/embeddings/wandb/run-20230224_164912-n80nxlmy/files/media/table/data_1_c6f93943b18e073269a2.table.json b/embeddings/wandb/run-20230224_164912-n80nxlmy/files/media/table/data_1_c6f93943b18e073269a2.table.json new file mode 100644 index 0000000000000000000000000000000000000000..5bc091eb61cb3aa24bd80dcc0682bdcfc12ef834 Binary files /dev/null and b/embeddings/wandb/run-20230224_164912-n80nxlmy/files/media/table/data_1_c6f93943b18e073269a2.table.json differ diff --git a/embeddings/wandb/run-20230224_164912-n80nxlmy/files/output.log b/embeddings/wandb/run-20230224_164912-n80nxlmy/files/output.log new file mode 100644 index 0000000000000000000000000000000000000000..2c0bec1fde13ffd416d7853357171fe7255264af --- /dev/null +++ b/embeddings/wandb/run-20230224_164912-n80nxlmy/files/output.log @@ -0,0 +1,47 @@ +wandb: WARNING Serializing object of type str that is 7167154 bytes +wandb: WARNING Serializing object of type str that is 7192958 bytes +wandb: WARNING Serializing object of type str that is 7166304 bytes +wandb: WARNING Serializing object of type str that is 7192782 bytes +wandb: WARNING Serializing object of type str that is 7184318 bytes +wandb: WARNING Serializing object of type str that is 7168778 bytes +wandb: WARNING Serializing object of type str that is 7170696 bytes +wandb: WARNING Serializing object of type str that is 7186904 bytes +wandb: WARNING Serializing object of type str that is 7186150 bytes +wandb: WARNING Serializing object of type str that is 7181932 bytes +wandb: WARNING Serializing object of type str that is 7193002 bytes +wandb: WARNING Serializing object of type str that is 7180792 bytes +wandb: WARNING Serializing object of type str that is 7166798 bytes +wandb: WARNING Serializing object of type str that is 7166908 bytes +wandb: WARNING Serializing object of type str that is 7195138 bytes +wandb: WARNING Serializing object of type str that is 7173490 bytes +wandb: WARNING Serializing object of type str that is 7172296 bytes +wandb: WARNING Serializing object of type str that is 7185018 bytes +wandb: WARNING Serializing object of type str that is 7197198 bytes +wandb: WARNING Serializing object of type str that is 7174494 bytes +wandb: WARNING Serializing object of type str that is 7166324 bytes +wandb: WARNING Serializing object of type str that is 7192438 bytes +wandb: WARNING Serializing object of type str that is 7177302 bytes +wandb: WARNING Serializing object of type str that is 7184966 bytes +wandb: WARNING Serializing object of type str that is 7189898 bytes +wandb: WARNING Serializing object of type str that is 7183756 bytes +wandb: WARNING Serializing object of type str that is 7169084 bytes +wandb: WARNING Serializing object of type str that is 7168140 bytes +wandb: WARNING Serializing object of type str that is 7185624 bytes +wandb: WARNING Serializing object of type str that is 7171732 bytes +wandb: WARNING Serializing object of type str that is 7192902 bytes +wandb: WARNING Serializing object of type str that is 7175028 bytes +wandb: WARNING Serializing object of type str that is 7191890 bytes +wandb: WARNING Serializing object of type str that is 7175536 bytes +wandb: WARNING Serializing object of type str that is 7181190 bytes +wandb: WARNING Serializing object of type str that is 7169496 bytes +wandb: WARNING Serializing object of type str that is 7195596 bytes +wandb: WARNING Serializing object of type str that is 7186764 bytes +wandb: WARNING Serializing object of type str that is 7185678 bytes +wandb: WARNING Serializing object of type str that is 7189154 bytes +wandb: WARNING Serializing object of type str that is 7184582 bytes +wandb: WARNING Serializing object of type str that is 7166804 bytes +wandb: WARNING Serializing object of type str that is 7175934 bytes +wandb: WARNING Serializing object of type str that is 7172834 bytes +wandb: WARNING Serializing object of type str that is 7187712 bytes +wandb: WARNING Serializing object of type str that is 7183950 bytes +wandb: Adding directory to artifact (.\..\data)... Done. 1.7s \ No newline at end of file diff --git a/embeddings/wandb/run-20230224_164912-n80nxlmy/files/requirements.txt b/embeddings/wandb/run-20230224_164912-n80nxlmy/files/requirements.txt new file mode 100644 index 0000000000000000000000000000000000000000..d7de821539624662109e252a91c4907a963ad5fb --- /dev/null +++ b/embeddings/wandb/run-20230224_164912-n80nxlmy/files/requirements.txt @@ -0,0 +1,170 @@ +absl-py==1.3.0 +anyio==3.6.2 +appdirs==1.4.4 +argon2-cffi-bindings==21.2.0 +argon2-cffi==21.3.0 +asttokens==2.1.0 +astunparse==1.6.3 +attrs==22.1.0 +backcall==0.2.0 +beautifulsoup4==4.11.1 +bleach==5.0.1 +blis==0.7.9 +bs4==0.0.1 +cachetools==5.2.0 +catalogue==2.0.8 +certifi==2022.9.24 +cffi==1.15.1 +charset-normalizer==2.1.1 +click==8.1.3 +colorama==0.4.6 +confection==0.0.3 +contourpy==1.0.6 +cycler==0.11.0 +cymem==2.0.7 +debugpy==1.6.3 +decorator==5.1.1 +defusedxml==0.7.1 +dgl==0.9.1 +docker-pycreds==0.4.0 +en-core-web-sm==3.4.1 +entrypoints==0.4 +executing==1.2.0 +fastjsonschema==2.16.2 +filelock==3.8.0 +fonttools==4.38.0 +gitdb==4.0.10 +gitpython==3.1.31 +google-auth-oauthlib==0.4.6 +google-auth==2.14.0 +graph4nlp==0.5.5 +grpcio==1.50.0 +huggingface-hub==0.10.1 +idna==3.4 +importlib-metadata==5.0.0 +importlib-resources==5.10.0 +ipykernel==6.16.2 +ipython-genutils==0.2.0 +ipython==8.6.0 +ipywidgets==8.0.2 +jedi==0.18.1 +jinja2==3.1.2 +joblib==1.2.0 +jsonschema==4.16.0 +jupyter-client==7.4.4 +jupyter-console==6.4.4 +jupyter-core==4.11.2 +jupyter-server==1.21.0 +jupyter==1.0.0 +jupyterlab-pygments==0.2.2 +jupyterlab-widgets==3.0.3 +kiwisolver==1.4.4 +langcodes==3.3.0 +littleutils==0.2.2 +lxml==4.9.1 +markdown==3.4.1 +markupsafe==2.1.1 +matplotlib-inline==0.1.6 +matplotlib==3.6.2 +mistune==2.0.4 +murmurhash==1.0.9 +nbclassic==0.4.7 +nbclient==0.7.0 +nbconvert==7.2.3 +nbformat==5.7.0 +nest-asyncio==1.5.6 +networkx==2.8.8 +nltk==3.7 +notebook-shim==0.2.0 +notebook==6.5.2 +numpy==1.23.5 +oauthlib==3.2.2 +ogb==1.3.5 +outdated==0.2.2 +packaging==21.3 +pandas==1.5.1 +pandocfilters==1.5.0 +parso==0.8.3 +pathtools==0.1.2 +pathy==0.6.2 +pickleshare==0.7.5 +pillow==9.3.0 +pip==21.3.1 +pkgutil-resolve-name==1.3.10 +plotly==5.13.0 +preshed==3.0.8 +prometheus-client==0.15.0 +prompt-toolkit==3.0.31 +protobuf==3.19.6 +psutil==5.9.3 +pure-eval==0.2.2 +pyasn1-modules==0.2.8 +pyasn1==0.4.8 +pycparser==2.21 +pydantic==1.10.2 +pygments==2.13.0 +pyparsing==3.0.9 +pyrsistent==0.18.1 +python-dateutil==2.8.2 +pythonds==1.2.1 +pytz==2022.5 +pywin32==304 +pywinpty==2.0.9 +pyyaml==6.0 +pyzmq==24.0.1 +qtconsole==5.3.2 +qtpy==2.2.1 +regex==2022.10.31 +requests-oauthlib==1.3.1 +requests==2.28.1 +rsa==4.9 +scikit-learn==1.1.3 +scipy==1.9.3 +send2trash==1.8.0 +sentry-sdk==1.15.0 +setproctitle==1.3.2 +setuptools==60.2.0 +six==1.16.0 +smart-open==5.2.1 +smmap==5.0.0 +sniffio==1.3.0 +soupsieve==2.3.2.post1 +spacy-legacy==3.0.10 +spacy-loggers==1.0.3 +spacy==3.4.2 +srsly==2.4.5 +stack-data==0.6.0 +stanfordcorenlp==3.9.1.1 +tenacity==8.2.1 +tensorboard-data-server==0.6.1 +tensorboard-plugin-wit==1.8.1 +tensorboard==2.10.1 +terminado==0.17.0 +thinc==8.1.5 +threadpoolctl==3.1.0 +tinycss2==1.2.1 +tokenizers==0.13.2 +torch-cluster==1.6.0+pt113cpu +torch-geometric==2.2.0 +torch-scatter==2.1.0+pt113cpu +torch-sparse==0.6.16+pt113cpu +torch-spline-conv==1.2.1+pt113cpu +torch==1.13.0 +torchsummary==1.5.1 +torchtext==0.14.0 +tornado==6.2 +tqdm==4.64.1 +traitlets==5.5.0 +transformers==4.24.0 +typer==0.4.2 +typing-extensions==4.4.0 +urllib3==1.26.12 +wandb==0.13.10 +wasabi==0.10.1 +wcwidth==0.2.5 +webencodings==0.5.1 +websocket-client==1.4.1 +werkzeug==2.2.2 +wheel==0.37.1 +widgetsnbextension==4.0.3 +zipp==3.10.0 \ No newline at end of file diff --git a/embeddings/wandb/run-20230224_164912-n80nxlmy/files/wandb-metadata.json b/embeddings/wandb/run-20230224_164912-n80nxlmy/files/wandb-metadata.json new file mode 100644 index 0000000000000000000000000000000000000000..f201c25f6d0b665e22224fc15c4551e6a2f1a4aa --- /dev/null +++ b/embeddings/wandb/run-20230224_164912-n80nxlmy/files/wandb-metadata.json @@ -0,0 +1,42 @@ +{ + "os": "Windows-10-10.0.19041-SP0", + "python": "3.8.1", + "heartbeatAt": "2023-02-24T16:49:13.425547", + "startedAt": "2023-02-24T16:49:12.884466", + "docker": null, + "cuda": null, + "args": [], + "state": "running", + "program": "C:\\Users\\liamb\\Documents\\graph4stackoverflow\\embeddings\\hetero_GAT.py", + "codePath": "embeddings\\hetero_GAT.py", + "git": { + "remote": "https://git.soton.ac.uk/lhb1g20/graph4stackoverflow.git", + "commit": "ced992d661984f7b87d1a3e76768e4ff7af78245" + }, + "email": "liambyrneh@gmail.com", + "root": "C:/Users/liamb/Documents/graph4stackoverflow", + "host": "DESKTOP-P7BETFF", + "username": "liamb", + "executable": "C:\\Users\\liamb\\Documents\\graph4stackoverflow\\venv\\Scripts\\python.exe", + "cpu_count": 2, + "cpu_count_logical": 4, + "cpu_freq": { + "current": 3504.0, + "min": 0.0, + "max": 3504.0 + }, + "cpu_freq_per_core": [ + { + "current": 3504.0, + "min": 0.0, + "max": 3504.0 + } + ], + "disk": { + "total": 475.71581649780273, + "used": 355.97283935546875 + }, + "memory": { + "total": 31.89160919189453 + } +} diff --git a/embeddings/wandb/run-20230224_164912-n80nxlmy/files/wandb-summary.json b/embeddings/wandb/run-20230224_164912-n80nxlmy/files/wandb-summary.json new file mode 100644 index 0000000000000000000000000000000000000000..02b32adb2d280442b77ef25253bbad10a7804a50 --- /dev/null +++ b/embeddings/wandb/run-20230224_164912-n80nxlmy/files/wandb-summary.json @@ -0,0 +1 @@ +{"num_node_features": {"question": 1536, "answer": 1536, "comment": 768, "tag": 50, "module": 30}, "num_classes": 2, "_timestamp": 1677257367.3117383, "_runtime": 14.413273334503174, "_step": 1, "data": {"_type": "table-file", "sha256": "c6f93943b18e073269a2d1d6628dcff11004c50c31997b85db1c38eb4d3ee705", "size": 168981715, "artifact_path": "wandb-client-artifact://hv6lz548u75ee8heqp2ydqp1se95hy6zvi90gh0ruta1wkubqll9d5zfgw3wa1ivpxy7xposf3m8cu8d3gk78bap3xksmydvpg062g8pqcdwxqv4yjt2pule4k9zjh1r:latest/data.table.json", "_latest_artifact_path": "wandb-client-artifact://hv6lz548u75ee8heqp2ydqp1se95hy6zvi90gh0ruta1wkubqll9d5zfgw3wa1ivpxy7xposf3m8cu8d3gk78bap3xksmydvpg062g8pqcdwxqv4yjt2pule4k9zjh1r:latest/data.table.json", "path": "media/table/data_1_c6f93943b18e073269a2.table.json", "ncols": 4, "nrows": 46}, "_wandb": {"runtime": 15}} \ No newline at end of file diff --git a/embeddings/wandb/run-20230224_164912-n80nxlmy/logs/debug-internal.log b/embeddings/wandb/run-20230224_164912-n80nxlmy/logs/debug-internal.log new file mode 100644 index 0000000000000000000000000000000000000000..d4f4ba74eacebbfb9c9013266595abf721c9fa64 --- /dev/null +++ b/embeddings/wandb/run-20230224_164912-n80nxlmy/logs/debug-internal.log @@ -0,0 +1,226 @@ +2023-02-24 16:49:12,899 INFO StreamThr :12764 [internal.py:wandb_internal():87] W&B internal server running at pid: 12764, started at: 2023-02-24 16:49:12.898465 +2023-02-24 16:49:12,901 DEBUG HandlerThread:12764 [handler.py:handle_request():144] handle_request: status +2023-02-24 16:49:12,902 INFO WriterThread:12764 [datastore.py:open_for_write():85] open: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_164912-n80nxlmy\run-n80nxlmy.wandb +2023-02-24 16:49:12,906 DEBUG SenderThread:12764 [sender.py:send():336] send: header +2023-02-24 16:49:12,952 DEBUG SenderThread:12764 [sender.py:send():336] send: run +2023-02-24 16:49:13,327 INFO SenderThread:12764 [dir_watcher.py:__init__():216] watching files in: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_164912-n80nxlmy\files +2023-02-24 16:49:13,327 INFO SenderThread:12764 [sender.py:_start_run_threads():1067] run started: n80nxlmy with start time 1677257352.898465 +2023-02-24 16:49:13,328 DEBUG SenderThread:12764 [sender.py:send_request():363] send_request: summary_record +2023-02-24 16:49:13,328 DEBUG HandlerThread:12764 [handler.py:handle_request():144] handle_request: check_version +2023-02-24 16:49:13,329 INFO SenderThread:12764 [sender.py:_save_file():1321] saving file wandb-summary.json with policy end +2023-02-24 16:49:13,329 DEBUG SenderThread:12764 [sender.py:send_request():363] send_request: check_version +2023-02-24 16:49:13,404 DEBUG HandlerThread:12764 [handler.py:handle_request():144] handle_request: run_start +2023-02-24 16:49:13,421 DEBUG HandlerThread:12764 [system_info.py:__init__():31] System info init +2023-02-24 16:49:13,421 DEBUG HandlerThread:12764 [system_info.py:__init__():46] System info init done +2023-02-24 16:49:13,421 INFO HandlerThread:12764 [system_monitor.py:start():151] Starting system monitor +2023-02-24 16:49:13,422 INFO SystemMonitor:12764 [system_monitor.py:_start():116] Starting system asset monitoring threads +2023-02-24 16:49:13,422 INFO HandlerThread:12764 [system_monitor.py:probe():172] Collecting system info +2023-02-24 16:49:13,425 INFO SystemMonitor:12764 [interfaces.py:start():168] Started cpu +2023-02-24 16:49:13,425 DEBUG HandlerThread:12764 [system_info.py:probe():195] Probing system +2023-02-24 16:49:13,426 INFO SystemMonitor:12764 [interfaces.py:start():168] Started disk +2023-02-24 16:49:13,426 INFO SystemMonitor:12764 [interfaces.py:start():168] Started memory +2023-02-24 16:49:13,443 INFO SystemMonitor:12764 [interfaces.py:start():168] Started network +2023-02-24 16:49:13,444 DEBUG HandlerThread:12764 [system_info.py:_probe_git():180] Probing git +2023-02-24 16:49:13,539 DEBUG HandlerThread:12764 [system_info.py:_probe_git():188] Probing git done +2023-02-24 16:49:13,539 DEBUG HandlerThread:12764 [system_info.py:probe():241] Probing system done +2023-02-24 16:49:13,539 DEBUG HandlerThread:12764 [system_monitor.py:probe():181] {'os': 'Windows-10-10.0.19041-SP0', 'python': '3.8.1', 'heartbeatAt': '2023-02-24T16:49:13.425547', 'startedAt': '2023-02-24T16:49:12.884466', 'docker': None, 'cuda': None, 'args': (), 'state': 'running', 'program': 'C:\\Users\\liamb\\Documents\\graph4stackoverflow\\embeddings\\hetero_GAT.py', 'codePath': 'embeddings\\hetero_GAT.py', 'git': {'remote': 'https://git.soton.ac.uk/lhb1g20/graph4stackoverflow.git', 'commit': 'ced992d661984f7b87d1a3e76768e4ff7af78245'}, 'email': 'liambyrneh@gmail.com', 'root': 'C:/Users/liamb/Documents/graph4stackoverflow', 'host': 'DESKTOP-P7BETFF', 'username': 'liamb', 'executable': 'C:\\Users\\liamb\\Documents\\graph4stackoverflow\\venv\\Scripts\\python.exe', 'cpu_count': 2, 'cpu_count_logical': 4, 'cpu_freq': {'current': 3504.0, 'min': 0.0, 'max': 3504.0}, 'cpu_freq_per_core': [{'current': 3504.0, 'min': 0.0, 'max': 3504.0}], 'disk': {'total': 475.71581649780273, 'used': 355.97283935546875}, 'memory': {'total': 31.89160919189453}} +2023-02-24 16:49:13,539 INFO HandlerThread:12764 [system_monitor.py:probe():182] Finished collecting system info +2023-02-24 16:49:13,539 INFO HandlerThread:12764 [system_monitor.py:probe():185] Publishing system info +2023-02-24 16:49:13,539 DEBUG HandlerThread:12764 [system_info.py:_save_pip():51] Saving list of pip packages installed into the current environment +2023-02-24 16:49:13,540 DEBUG HandlerThread:12764 [system_info.py:_save_pip():67] Saving pip packages done +2023-02-24 16:49:13,542 INFO HandlerThread:12764 [system_monitor.py:probe():187] Finished publishing system info +2023-02-24 16:49:13,550 DEBUG SenderThread:12764 [sender.py:send():336] send: files +2023-02-24 16:49:13,550 INFO SenderThread:12764 [sender.py:_save_file():1321] saving file wandb-metadata.json with policy now +2023-02-24 16:49:13,558 DEBUG HandlerThread:12764 [handler.py:handle_request():144] handle_request: stop_status +2023-02-24 16:49:13,559 DEBUG SenderThread:12764 [sender.py:send_request():363] send_request: stop_status +2023-02-24 16:49:13,561 DEBUG HandlerThread:12764 [handler.py:handle_request():144] handle_request: partial_history +2023-02-24 16:49:13,735 DEBUG SenderThread:12764 [sender.py:send():336] send: telemetry +2023-02-24 16:49:13,736 DEBUG SenderThread:12764 [sender.py:send():336] send: history +2023-02-24 16:49:13,736 DEBUG SenderThread:12764 [sender.py:send_request():363] send_request: summary_record +2023-02-24 16:49:13,737 INFO SenderThread:12764 [sender.py:_save_file():1321] saving file wandb-summary.json with policy end +2023-02-24 16:49:14,077 INFO wandb-upload_0:12764 [upload_job.py:push():138] Uploaded file C:\Users\liamb\AppData\Local\Temp\tmpxztu_fn4wandb\2tbnhk8w-wandb-metadata.json +2023-02-24 16:49:14,333 INFO Thread-17 :12764 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_164912-n80nxlmy\files\requirements.txt +2023-02-24 16:49:14,333 INFO Thread-17 :12764 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_164912-n80nxlmy\files\wandb-metadata.json +2023-02-24 16:49:14,333 INFO Thread-17 :12764 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_164912-n80nxlmy\files\wandb-summary.json +2023-02-24 16:49:15,331 INFO Thread-17 :12764 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_164912-n80nxlmy\files\output.log +2023-02-24 16:49:17,362 INFO Thread-17 :12764 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_164912-n80nxlmy\files\output.log +2023-02-24 16:49:18,283 DEBUG HandlerThread:12764 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 16:49:21,877 DEBUG HandlerThread:12764 [handler.py:handle_request():144] handle_request: log_artifact +2023-02-24 16:49:21,877 DEBUG SenderThread:12764 [sender.py:send_request():363] send_request: log_artifact +2023-02-24 16:49:27,312 DEBUG HandlerThread:12764 [handler.py:handle_request():144] handle_request: partial_history +2023-02-24 16:49:27,463 INFO Thread-17 :12764 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_164912-n80nxlmy\files\media\table\data_1_c6f93943b18e073269a2.table.json +2023-02-24 16:49:27,463 INFO Thread-17 :12764 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_164912-n80nxlmy\files\media\table +2023-02-24 16:49:27,464 INFO Thread-17 :12764 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_164912-n80nxlmy\files\media +2023-02-24 16:49:28,570 DEBUG HandlerThread:12764 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 16:49:28,570 DEBUG HandlerThread:12764 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 16:49:29,186 DEBUG HandlerThread:12764 [handler.py:handle_request():144] handle_request: log_artifact +2023-02-24 16:49:30,192 DEBUG HandlerThread:12764 [handler.py:handle_request():144] handle_request: poll_exit +2023-02-24 16:49:35,241 DEBUG HandlerThread:12764 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 16:49:40,291 DEBUG HandlerThread:12764 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 16:49:45,352 DEBUG HandlerThread:12764 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 16:49:50,398 DEBUG HandlerThread:12764 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 16:49:55,463 DEBUG HandlerThread:12764 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 16:50:00,516 DEBUG HandlerThread:12764 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 16:50:05,570 DEBUG HandlerThread:12764 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 16:50:10,618 DEBUG HandlerThread:12764 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 16:50:13,453 DEBUG SystemMonitor:12764 [system_monitor.py:_start():130] Starting system metrics aggregation loop +2023-02-24 16:50:15,667 DEBUG HandlerThread:12764 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 16:50:18,325 INFO wandb-upload_0:12764 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmphw_n1v6u +2023-02-24 16:50:19,203 INFO SenderThread:12764 [sender.py:send_request_log_artifact():1381] logged artifact run-n80nxlmy-data - {'id': 'QXJ0aWZhY3Q6MzgwNTc3MDk2', 'digest': 'd052815eda20fa078df10db758f45868', 'state': 'PENDING', 'aliases': [], 'artifactSequence': {'id': 'QXJ0aWZhY3RDb2xsZWN0aW9uOjU0NjI1MDc3', 'latestArtifact': None}, 'version': 'latest'} +2023-02-24 16:50:19,209 DEBUG HandlerThread:12764 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 16:50:19,394 DEBUG SenderThread:12764 [sender.py:send():336] send: files +2023-02-24 16:50:19,394 INFO SenderThread:12764 [sender.py:_save_file():1321] saving file media\table\data_1_c6f93943b18e073269a2.table.json with policy now +2023-02-24 16:50:19,395 DEBUG SenderThread:12764 [sender.py:send():336] send: history +2023-02-24 16:50:19,395 DEBUG SenderThread:12764 [sender.py:send_request():363] send_request: summary_record +2023-02-24 16:50:19,397 INFO SenderThread:12764 [sender.py:_save_file():1321] saving file wandb-summary.json with policy end +2023-02-24 16:50:19,398 DEBUG SenderThread:12764 [sender.py:send_request():363] send_request: log_artifact +2023-02-24 16:50:19,854 INFO SenderThread:12764 [sender.py:send_request_log_artifact():1381] logged artifact static-graphs - {'id': 'QXJ0aWZhY3Q6MzgwNTY0ODAy', 'digest': '64a712122c812b4423fcf560ca60f704', 'state': 'COMMITTED', 'aliases': [{'artifactCollectionName': 'static-graphs', 'alias': 'latest'}, {'artifactCollectionName': 'static-graphs', 'alias': 'v0'}], 'artifactSequence': {'id': 'QXJ0aWZhY3RDb2xsZWN0aW9uOjU0NjIzMTU5', 'latestArtifact': {'id': 'QXJ0aWZhY3Q6MzgwNTY0ODAy', 'versionIndex': 0}}, 'version': 'v0'} +2023-02-24 16:50:19,854 DEBUG SenderThread:12764 [sender.py:send():336] send: telemetry +2023-02-24 16:50:19,854 DEBUG SenderThread:12764 [sender.py:send():336] send: exit +2023-02-24 16:50:19,854 INFO SenderThread:12764 [sender.py:send_exit():559] handling exit code: 0 +2023-02-24 16:50:19,854 INFO SenderThread:12764 [sender.py:send_exit():561] handling runtime: 15 +2023-02-24 16:50:19,855 INFO SenderThread:12764 [sender.py:_save_file():1321] saving file wandb-summary.json with policy end +2023-02-24 16:50:19,855 INFO SenderThread:12764 [sender.py:send_exit():567] send defer +2023-02-24 16:50:19,855 DEBUG SenderThread:12764 [sender.py:send_request():363] send_request: poll_exit +2023-02-24 16:50:19,855 DEBUG HandlerThread:12764 [handler.py:handle_request():144] handle_request: defer +2023-02-24 16:50:19,856 DEBUG SenderThread:12764 [sender.py:send():336] send: stats +2023-02-24 16:50:19,856 INFO HandlerThread:12764 [handler.py:handle_request_defer():170] handle defer: 0 +2023-02-24 16:50:19,857 DEBUG SenderThread:12764 [sender.py:send_request():363] send_request: defer +2023-02-24 16:50:19,857 INFO SenderThread:12764 [sender.py:send_request_defer():583] handle sender defer: 0 +2023-02-24 16:50:19,857 INFO SenderThread:12764 [sender.py:transition_state():587] send defer: 1 +2023-02-24 16:50:19,857 DEBUG HandlerThread:12764 [handler.py:handle_request():144] handle_request: defer +2023-02-24 16:50:19,857 INFO HandlerThread:12764 [handler.py:handle_request_defer():170] handle defer: 1 +2023-02-24 16:50:19,857 DEBUG SenderThread:12764 [sender.py:send_request():363] send_request: defer +2023-02-24 16:50:19,857 INFO SenderThread:12764 [sender.py:send_request_defer():583] handle sender defer: 1 +2023-02-24 16:50:19,857 INFO SenderThread:12764 [sender.py:transition_state():587] send defer: 2 +2023-02-24 16:50:19,858 DEBUG HandlerThread:12764 [handler.py:handle_request():144] handle_request: defer +2023-02-24 16:50:19,858 INFO HandlerThread:12764 [handler.py:handle_request_defer():170] handle defer: 2 +2023-02-24 16:50:19,858 INFO HandlerThread:12764 [system_monitor.py:finish():161] Stopping system monitor +2023-02-24 16:50:19,859 DEBUG SystemMonitor:12764 [system_monitor.py:_start():137] Finished system metrics aggregation loop +2023-02-24 16:50:19,859 DEBUG SystemMonitor:12764 [system_monitor.py:_start():141] Publishing last batch of metrics +2023-02-24 16:50:19,859 INFO HandlerThread:12764 [interfaces.py:finish():175] Joined cpu +2023-02-24 16:50:19,859 INFO HandlerThread:12764 [interfaces.py:finish():175] Joined disk +2023-02-24 16:50:19,859 INFO HandlerThread:12764 [interfaces.py:finish():175] Joined memory +2023-02-24 16:50:19,859 INFO HandlerThread:12764 [interfaces.py:finish():175] Joined network +2023-02-24 16:50:19,860 DEBUG SenderThread:12764 [sender.py:send_request():363] send_request: defer +2023-02-24 16:50:19,860 INFO SenderThread:12764 [sender.py:send_request_defer():583] handle sender defer: 2 +2023-02-24 16:50:19,860 INFO SenderThread:12764 [sender.py:transition_state():587] send defer: 3 +2023-02-24 16:50:19,860 DEBUG SenderThread:12764 [sender.py:send():336] send: stats +2023-02-24 16:50:19,860 DEBUG HandlerThread:12764 [handler.py:handle_request():144] handle_request: defer +2023-02-24 16:50:19,861 INFO HandlerThread:12764 [handler.py:handle_request_defer():170] handle defer: 3 +2023-02-24 16:50:19,861 DEBUG SenderThread:12764 [sender.py:send_request():363] send_request: defer +2023-02-24 16:50:19,861 INFO SenderThread:12764 [sender.py:send_request_defer():583] handle sender defer: 3 +2023-02-24 16:50:19,861 INFO SenderThread:12764 [sender.py:transition_state():587] send defer: 4 +2023-02-24 16:50:19,861 DEBUG HandlerThread:12764 [handler.py:handle_request():144] handle_request: defer +2023-02-24 16:50:19,861 INFO HandlerThread:12764 [handler.py:handle_request_defer():170] handle defer: 4 +2023-02-24 16:50:19,861 DEBUG SenderThread:12764 [sender.py:send_request():363] send_request: defer +2023-02-24 16:50:19,861 INFO SenderThread:12764 [sender.py:send_request_defer():583] handle sender defer: 4 +2023-02-24 16:50:19,862 INFO SenderThread:12764 [sender.py:transition_state():587] send defer: 5 +2023-02-24 16:50:19,862 DEBUG HandlerThread:12764 [handler.py:handle_request():144] handle_request: defer +2023-02-24 16:50:19,862 INFO HandlerThread:12764 [handler.py:handle_request_defer():170] handle defer: 5 +2023-02-24 16:50:19,862 DEBUG SenderThread:12764 [sender.py:send():336] send: summary +2023-02-24 16:50:19,863 INFO SenderThread:12764 [sender.py:_save_file():1321] saving file wandb-summary.json with policy end +2023-02-24 16:50:19,863 DEBUG SenderThread:12764 [sender.py:send_request():363] send_request: defer +2023-02-24 16:50:19,863 INFO SenderThread:12764 [sender.py:send_request_defer():583] handle sender defer: 5 +2023-02-24 16:50:19,864 INFO SenderThread:12764 [sender.py:transition_state():587] send defer: 6 +2023-02-24 16:50:19,864 DEBUG HandlerThread:12764 [handler.py:handle_request():144] handle_request: defer +2023-02-24 16:50:19,864 INFO HandlerThread:12764 [handler.py:handle_request_defer():170] handle defer: 6 +2023-02-24 16:50:19,864 DEBUG SenderThread:12764 [sender.py:send_request():363] send_request: defer +2023-02-24 16:50:19,864 INFO SenderThread:12764 [sender.py:send_request_defer():583] handle sender defer: 6 +2023-02-24 16:50:19,867 DEBUG HandlerThread:12764 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 16:50:20,112 INFO Thread-17 :12764 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_164912-n80nxlmy\files\wandb-summary.json +2023-02-24 16:50:20,112 INFO Thread-17 :12764 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_164912-n80nxlmy\files\config.yaml +2023-02-24 16:50:20,142 INFO SenderThread:12764 [sender.py:transition_state():587] send defer: 7 +2023-02-24 16:50:20,143 DEBUG HandlerThread:12764 [handler.py:handle_request():144] handle_request: defer +2023-02-24 16:50:20,143 INFO HandlerThread:12764 [handler.py:handle_request_defer():170] handle defer: 7 +2023-02-24 16:50:20,143 DEBUG SenderThread:12764 [sender.py:send_request():363] send_request: defer +2023-02-24 16:50:20,143 INFO SenderThread:12764 [sender.py:send_request_defer():583] handle sender defer: 7 +2023-02-24 16:50:20,719 DEBUG HandlerThread:12764 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 16:50:21,126 INFO Thread-17 :12764 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_164912-n80nxlmy\files\config.yaml +2023-02-24 16:50:21,593 INFO SenderThread:12764 [sender.py:transition_state():587] send defer: 8 +2023-02-24 16:50:21,593 DEBUG HandlerThread:12764 [handler.py:handle_request():144] handle_request: defer +2023-02-24 16:50:21,593 INFO HandlerThread:12764 [handler.py:handle_request_defer():170] handle defer: 8 +2023-02-24 16:50:21,593 DEBUG SenderThread:12764 [sender.py:send_request():363] send_request: defer +2023-02-24 16:50:21,594 INFO SenderThread:12764 [sender.py:send_request_defer():583] handle sender defer: 8 +2023-02-24 16:50:21,602 INFO SenderThread:12764 [sender.py:transition_state():587] send defer: 9 +2023-02-24 16:50:21,603 DEBUG SenderThread:12764 [sender.py:send():336] send: artifact +2023-02-24 16:50:21,605 DEBUG HandlerThread:12764 [handler.py:handle_request():144] handle_request: defer +2023-02-24 16:50:21,605 INFO HandlerThread:12764 [handler.py:handle_request_defer():170] handle defer: 9 +2023-02-24 16:50:22,140 INFO Thread-17 :12764 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_164912-n80nxlmy\files\output.log +2023-02-24 16:50:22,373 INFO SenderThread:12764 [sender.py:send_artifact():1417] sent artifact job-https___git.soton.ac.uk_lhb1g20_graph4stackoverflow.git_embeddings_hetero_GAT.py - {'id': 'QXJ0aWZhY3Q6MzgwMzk2OTM0', 'digest': '8077f65decb82fd65dc9936bbf393b39', 'state': 'COMMITTED', 'aliases': [{'artifactCollectionName': 'job-https___git.soton.ac.uk_lhb1g20_graph4stackoverflow.git_embeddings_hetero_GAT.py', 'alias': 'latest'}, {'artifactCollectionName': 'job-https___git.soton.ac.uk_lhb1g20_graph4stackoverflow.git_embeddings_hetero_GAT.py', 'alias': 'v2'}], 'artifactSequence': {'id': 'QXJ0aWZhY3RDb2xsZWN0aW9uOjU0NTg3MzU0', 'latestArtifact': {'id': 'QXJ0aWZhY3Q6MzgwMzk2OTM0', 'versionIndex': 2}}, 'version': 'v2'} +2023-02-24 16:50:22,373 DEBUG SenderThread:12764 [sender.py:send_request():363] send_request: defer +2023-02-24 16:50:22,373 INFO SenderThread:12764 [sender.py:send_request_defer():583] handle sender defer: 9 +2023-02-24 16:50:22,373 INFO SenderThread:12764 [dir_watcher.py:finish():362] shutting down directory watcher +2023-02-24 16:50:23,143 INFO SenderThread:12764 [dir_watcher.py:finish():392] scan: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_164912-n80nxlmy\files +2023-02-24 16:50:23,144 INFO SenderThread:12764 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_164912-n80nxlmy\files\config.yaml config.yaml +2023-02-24 16:50:23,144 INFO SenderThread:12764 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_164912-n80nxlmy\files\output.log output.log +2023-02-24 16:50:23,147 INFO SenderThread:12764 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_164912-n80nxlmy\files\requirements.txt requirements.txt +2023-02-24 16:50:23,153 INFO SenderThread:12764 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_164912-n80nxlmy\files\wandb-metadata.json wandb-metadata.json +2023-02-24 16:50:23,153 INFO SenderThread:12764 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_164912-n80nxlmy\files\wandb-summary.json wandb-summary.json +2023-02-24 16:50:23,162 INFO SenderThread:12764 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_164912-n80nxlmy\files\media\table\data_1_c6f93943b18e073269a2.table.json media\table\data_1_c6f93943b18e073269a2.table.json +2023-02-24 16:50:23,163 INFO SenderThread:12764 [sender.py:transition_state():587] send defer: 10 +2023-02-24 16:50:23,163 DEBUG HandlerThread:12764 [handler.py:handle_request():144] handle_request: defer +2023-02-24 16:50:23,163 INFO HandlerThread:12764 [handler.py:handle_request_defer():170] handle defer: 10 +2023-02-24 16:50:23,164 DEBUG SenderThread:12764 [sender.py:send_request():363] send_request: defer +2023-02-24 16:50:23,164 INFO SenderThread:12764 [sender.py:send_request_defer():583] handle sender defer: 10 +2023-02-24 16:50:23,164 INFO SenderThread:12764 [file_pusher.py:finish():162] shutting down file pusher +2023-02-24 16:50:23,681 INFO wandb-upload_1:12764 [upload_job.py:push():138] Uploaded file C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_164912-n80nxlmy\files\config.yaml +2023-02-24 16:50:23,715 INFO wandb-upload_4:12764 [upload_job.py:push():138] Uploaded file C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_164912-n80nxlmy\files\wandb-summary.json +2023-02-24 16:50:23,730 INFO wandb-upload_3:12764 [upload_job.py:push():138] Uploaded file C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_164912-n80nxlmy\files\requirements.txt +2023-02-24 16:50:23,885 INFO wandb-upload_2:12764 [upload_job.py:push():138] Uploaded file C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_164912-n80nxlmy\files\output.log +2023-02-24 16:50:25,183 DEBUG HandlerThread:12764 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 16:50:25,774 DEBUG HandlerThread:12764 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 16:50:30,231 DEBUG HandlerThread:12764 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 16:50:30,835 DEBUG HandlerThread:12764 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 16:50:35,283 DEBUG HandlerThread:12764 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 16:50:35,892 DEBUG HandlerThread:12764 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 16:50:40,322 DEBUG HandlerThread:12764 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 16:50:40,945 DEBUG HandlerThread:12764 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 16:50:45,376 DEBUG HandlerThread:12764 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 16:50:45,996 DEBUG HandlerThread:12764 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 16:50:50,433 DEBUG HandlerThread:12764 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 16:50:51,054 DEBUG HandlerThread:12764 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 16:50:55,489 DEBUG HandlerThread:12764 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 16:50:56,112 DEBUG HandlerThread:12764 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 16:51:00,542 DEBUG HandlerThread:12764 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 16:51:01,152 DEBUG HandlerThread:12764 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 16:51:05,594 DEBUG HandlerThread:12764 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 16:51:06,218 DEBUG HandlerThread:12764 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 16:51:10,648 DEBUG HandlerThread:12764 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 16:51:11,270 DEBUG HandlerThread:12764 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 16:51:14,371 INFO wandb-upload_0:12764 [upload_job.py:push():138] Uploaded file C:\Users\liamb\AppData\Local\Temp\tmpxztu_fn4wandb\7oeproiy-media/table/data_1_c6f93943b18e073269a2.table.json +2023-02-24 16:51:14,589 INFO Thread-16 :12764 [sender.py:transition_state():587] send defer: 11 +2023-02-24 16:51:14,589 DEBUG HandlerThread:12764 [handler.py:handle_request():144] handle_request: defer +2023-02-24 16:51:14,589 INFO HandlerThread:12764 [handler.py:handle_request_defer():170] handle defer: 11 +2023-02-24 16:51:14,590 DEBUG SenderThread:12764 [sender.py:send_request():363] send_request: defer +2023-02-24 16:51:14,590 INFO SenderThread:12764 [sender.py:send_request_defer():583] handle sender defer: 11 +2023-02-24 16:51:14,590 INFO SenderThread:12764 [file_pusher.py:join():167] waiting for file pusher +2023-02-24 16:51:14,590 INFO SenderThread:12764 [sender.py:transition_state():587] send defer: 12 +2023-02-24 16:51:14,590 DEBUG HandlerThread:12764 [handler.py:handle_request():144] handle_request: defer +2023-02-24 16:51:14,591 INFO HandlerThread:12764 [handler.py:handle_request_defer():170] handle defer: 12 +2023-02-24 16:51:14,591 DEBUG SenderThread:12764 [sender.py:send_request():363] send_request: defer +2023-02-24 16:51:14,591 INFO SenderThread:12764 [sender.py:send_request_defer():583] handle sender defer: 12 +2023-02-24 16:51:14,744 INFO SenderThread:12764 [sender.py:transition_state():587] send defer: 13 +2023-02-24 16:51:14,744 DEBUG HandlerThread:12764 [handler.py:handle_request():144] handle_request: defer +2023-02-24 16:51:14,744 INFO HandlerThread:12764 [handler.py:handle_request_defer():170] handle defer: 13 +2023-02-24 16:51:14,744 DEBUG SenderThread:12764 [sender.py:send_request():363] send_request: defer +2023-02-24 16:51:14,744 INFO SenderThread:12764 [sender.py:send_request_defer():583] handle sender defer: 13 +2023-02-24 16:51:14,745 INFO SenderThread:12764 [sender.py:transition_state():587] send defer: 14 +2023-02-24 16:51:14,745 DEBUG HandlerThread:12764 [handler.py:handle_request():144] handle_request: defer +2023-02-24 16:51:14,745 INFO HandlerThread:12764 [handler.py:handle_request_defer():170] handle defer: 14 +2023-02-24 16:51:14,745 DEBUG SenderThread:12764 [sender.py:send():336] send: final +2023-02-24 16:51:14,746 DEBUG SenderThread:12764 [sender.py:send():336] send: footer +2023-02-24 16:51:14,746 DEBUG SenderThread:12764 [sender.py:send_request():363] send_request: defer +2023-02-24 16:51:14,746 INFO SenderThread:12764 [sender.py:send_request_defer():583] handle sender defer: 14 +2023-02-24 16:51:14,747 DEBUG HandlerThread:12764 [handler.py:handle_request():144] handle_request: poll_exit +2023-02-24 16:51:14,747 DEBUG SenderThread:12764 [sender.py:send_request():363] send_request: poll_exit +2023-02-24 16:51:14,748 DEBUG HandlerThread:12764 [handler.py:handle_request():144] handle_request: server_info +2023-02-24 16:51:14,748 DEBUG HandlerThread:12764 [handler.py:handle_request():144] handle_request: get_summary +2023-02-24 16:51:14,748 DEBUG HandlerThread:12764 [handler.py:handle_request():144] handle_request: sampled_history +2023-02-24 16:51:14,749 DEBUG SenderThread:12764 [sender.py:send_request():363] send_request: server_info +2023-02-24 16:51:14,907 DEBUG HandlerThread:12764 [handler.py:handle_request():144] handle_request: shutdown +2023-02-24 16:51:14,908 INFO HandlerThread:12764 [handler.py:finish():841] shutting down handler +2023-02-24 16:51:15,758 INFO WriterThread:12764 [datastore.py:close():299] close: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_164912-n80nxlmy\run-n80nxlmy.wandb +2023-02-24 16:51:15,914 INFO SenderThread:12764 [sender.py:finish():1493] shutting down sender +2023-02-24 16:51:15,914 INFO SenderThread:12764 [file_pusher.py:finish():162] shutting down file pusher +2023-02-24 16:51:15,915 INFO SenderThread:12764 [file_pusher.py:join():167] waiting for file pusher diff --git a/embeddings/wandb/run-20230224_164912-n80nxlmy/logs/debug.log b/embeddings/wandb/run-20230224_164912-n80nxlmy/logs/debug.log new file mode 100644 index 0000000000000000000000000000000000000000..fdcb45d8b04954c6fd64f3b7036593417d4736ac --- /dev/null +++ b/embeddings/wandb/run-20230224_164912-n80nxlmy/logs/debug.log @@ -0,0 +1,31 @@ +2023-02-24 16:49:12,888 INFO MainThread:1692 [wandb_setup.py:_flush():68] Configure stats pid to 1692 +2023-02-24 16:49:12,888 INFO MainThread:1692 [wandb_setup.py:_flush():68] Loading settings from C:\Users\liamb\.config\wandb\settings +2023-02-24 16:49:12,888 INFO MainThread:1692 [wandb_setup.py:_flush():68] Loading settings from C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\settings +2023-02-24 16:49:12,888 INFO MainThread:1692 [wandb_setup.py:_flush():68] Loading settings from environment variables: {'_require_service': 'True'} +2023-02-24 16:49:12,889 INFO MainThread:1692 [wandb_setup.py:_flush():68] Inferring run settings from compute environment: {'program_relpath': 'embeddings\\hetero_GAT.py', 'program': 'C:\\Users\\liamb\\Documents\\graph4stackoverflow\\embeddings\\hetero_GAT.py'} +2023-02-24 16:49:12,890 INFO MainThread:1692 [wandb_init.py:_log_setup():492] Logging user logs to C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_164912-n80nxlmy\logs\debug.log +2023-02-24 16:49:12,890 INFO MainThread:1692 [wandb_init.py:_log_setup():493] Logging internal logs to C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_164912-n80nxlmy\logs\debug-internal.log +2023-02-24 16:49:12,890 INFO MainThread:1692 [wandb_init.py:init():532] calling init triggers +2023-02-24 16:49:12,890 INFO MainThread:1692 [wandb_init.py:init():538] wandb.init called with sweep_config: {} +config: {} +2023-02-24 16:49:12,890 INFO MainThread:1692 [wandb_init.py:init():588] starting backend +2023-02-24 16:49:12,890 INFO MainThread:1692 [wandb_init.py:init():592] setting up manager +2023-02-24 16:49:12,894 INFO MainThread:1692 [backend.py:_multiprocessing_setup():106] multiprocessing start_methods=spawn, using: spawn +2023-02-24 16:49:12,898 INFO MainThread:1692 [wandb_init.py:init():599] backend started and connected +2023-02-24 16:49:12,900 INFO MainThread:1692 [wandb_init.py:init():687] updated telemetry +2023-02-24 16:49:12,951 INFO MainThread:1692 [wandb_init.py:init():727] communicating run to backend with 60.0 second timeout +2023-02-24 16:49:13,327 INFO MainThread:1692 [wandb_run.py:_on_init():2134] communicating current version +2023-02-24 16:49:13,396 INFO MainThread:1692 [wandb_run.py:_on_init():2143] got version response +2023-02-24 16:49:13,396 INFO MainThread:1692 [wandb_init.py:init():775] starting run threads in backend +2023-02-24 16:49:13,559 INFO MainThread:1692 [wandb_run.py:_console_start():2114] atexit reg +2023-02-24 16:49:13,559 INFO MainThread:1692 [wandb_run.py:_redirect():1969] redirect: SettingsConsole.WRAP_RAW +2023-02-24 16:49:13,559 INFO MainThread:1692 [wandb_run.py:_redirect():2034] Wrapping output streams. +2023-02-24 16:49:13,559 INFO MainThread:1692 [wandb_run.py:_redirect():2059] Redirects installed. +2023-02-24 16:49:13,560 INFO MainThread:1692 [wandb_init.py:init():817] run started, returning control to user process +2023-02-24 16:49:29,188 INFO MainThread:1692 [wandb_run.py:_finish():1854] finishing run g4nlp/heterogeneous-GAT-model/n80nxlmy +2023-02-24 16:49:29,188 INFO MainThread:1692 [wandb_run.py:_atexit_cleanup():2083] got exitcode: 0 +2023-02-24 16:49:29,189 INFO MainThread:1692 [wandb_run.py:_restore():2066] restore +2023-02-24 16:49:29,189 INFO MainThread:1692 [wandb_run.py:_restore():2072] restore done +2023-02-24 16:51:15,914 INFO MainThread:1692 [wandb_run.py:_footer_history_summary_info():3442] rendering history +2023-02-24 16:51:15,915 INFO MainThread:1692 [wandb_run.py:_footer_history_summary_info():3474] rendering summary +2023-02-24 16:51:15,920 INFO MainThread:1692 [wandb_run.py:_footer_sync_info():3398] logging synced files diff --git a/embeddings/wandb/run-20230224_164912-n80nxlmy/run-n80nxlmy.wandb b/embeddings/wandb/run-20230224_164912-n80nxlmy/run-n80nxlmy.wandb new file mode 100644 index 0000000000000000000000000000000000000000..91476dab018684e212629c0ec328fbab50d75cfa Binary files /dev/null and b/embeddings/wandb/run-20230224_164912-n80nxlmy/run-n80nxlmy.wandb differ diff --git a/embeddings/wandb/run-20230224_165115-qg3l5jjk/files/config.yaml b/embeddings/wandb/run-20230224_165115-qg3l5jjk/files/config.yaml new file mode 100644 index 0000000000000000000000000000000000000000..f387a3a8afc3bc94c5bc790d8d685c3b7189635e --- /dev/null +++ b/embeddings/wandb/run-20230224_165115-qg3l5jjk/files/config.yaml @@ -0,0 +1,39 @@ +wandb_version: 1 + +_wandb: + desc: null + value: + cli_version: 0.13.10 + framework: huggingface + huggingface_version: 4.24.0 + is_jupyter_run: false + is_kaggle_kernel: false + python_version: 3.8.1 + start_time: 1677257475.939229 + t: + 1: + - 1 + - 5 + - 11 + - 33 + - 49 + - 53 + - 55 + - 77 + 2: + - 1 + - 5 + - 11 + - 33 + - 49 + - 53 + - 55 + - 77 + 3: + - 23 + 4: 3.8.1 + 5: 0.13.10 + 6: 4.24.0 + 8: + - 3 + - 5 diff --git a/embeddings/wandb/run-20230224_165115-qg3l5jjk/files/output.log b/embeddings/wandb/run-20230224_165115-qg3l5jjk/files/output.log new file mode 100644 index 0000000000000000000000000000000000000000..e8f5bf96a072eb93755657d17ba9549eaeff3e62 --- /dev/null +++ b/embeddings/wandb/run-20230224_165115-qg3l5jjk/files/output.log @@ -0,0 +1,101 @@ +BatchedHeteroDataBatch( + question_emb=[16, 1536], + answer_emb=[16, 1536], + label=[16, 1], + [1mquestion[22m={ + x=[73, 1536], + batch=[73], + ptr=[17] + }, + [1manswer[22m={ + x=[110, 1536], + batch=[110], + ptr=[17] + }, + [1mcomment[22m={ + x=[105, 768], + batch=[105], + ptr=[17] + }, + [1mtag[22m={ + x=[455, 50], + batch=[455], + ptr=[17] + }, + [1mmodule[22m={ + x=[20, 30], + batch=[20], + ptr=[17] + }, + [1m(tag, describes, question)[22m={ edge_index=[2, 155] }, + [1m(tag, describes, answer)[22m={ edge_index=[2, 234] }, + [1m(tag, describes, comment)[22m={ edge_index=[2, 229] }, + [1m(module, imported_in, question)[22m={ edge_index=[2, 1] }, + [1m(module, imported_in, answer)[22m={ edge_index=[2, 26] }, + [1m(question, rev_describes, tag)[22m={ edge_index=[2, 155] }, + [1m(answer, rev_describes, tag)[22m={ edge_index=[2, 234] }, + [1m(comment, rev_describes, tag)[22m={ edge_index=[2, 229] }, + [1m(question, rev_imported_in, module)[22m={ edge_index=[2, 1] }, + [1m(answer, rev_imported_in, module)[22m={ edge_index=[2, 26] } +) +DATA IN torch.Size([16, 1536]) torch.Size([16, 1536]) +IN torch.Size([16, 3072]) +B4 LINEAR torch.Size([16, 3392]) +BatchedHeteroDataBatch( + question_emb=[12, 1536], + answer_emb=[12, 1536], + label=[12, 1], + [1mquestion[22m={ + x=[33, 1536], + batch=[33], + ptr=[13] + }, + [1manswer[22m={ + x=[84, 1536], + batch=[84], + ptr=[13] + }, + [1mcomment[22m={ + x=[70, 768], + batch=[70], + ptr=[13] + }, + [1mtag[22m={ + x=[255, 50], + batch=[255], + ptr=[13] + }, + [1mmodule[22m={ + x=[13, 30], + batch=[13], + ptr=[13] + }, + [1m(tag, describes, question)[22m={ edge_index=[2, 73] }, + [1m(tag, describes, answer)[22m={ edge_index=[2, 172] }, + [1m(tag, describes, comment)[22m={ edge_index=[2, 133] }, + [1m(module, imported_in, question)[22m={ edge_index=[2, 0] }, + [1m(module, imported_in, answer)[22m={ edge_index=[2, 16] }, + [1m(question, rev_describes, tag)[22m={ edge_index=[2, 73] }, + [1m(answer, rev_describes, tag)[22m={ edge_index=[2, 172] }, + [1m(comment, rev_describes, tag)[22m={ edge_index=[2, 133] }, + [1m(question, rev_imported_in, module)[22m={ edge_index=[2, 0] }, + [1m(answer, rev_imported_in, module)[22m={ edge_index=[2, 16] } +) +DATA IN torch.Size([12, 1536]) torch.Size([12, 1536]) +IN torch.Size([12, 3072]) +B4 LINEAR torch.Size([12, 3392]) +IN torch.Size([16, 3072]) +B4 LINEAR torch.Size([16, 3392]) +INFO:heterogeneous-GAT-model:[1] Loss: 0.00034426033496856687 +Traceback (most recent call last): + File "C:\Users\liamb\Documents\graph4stackoverflow\embeddings\hetero_GAT.py", line 204, in <module> + train_acc, train_f1, train_loss, train_table = test(train_loader) + File "C:\Users\liamb\Documents\graph4stackoverflow\embeddings\hetero_GAT.py", line 112, in test + loss = criterion(out, data.label) # Compute the loss. + File "C:\Users\liamb\Documents\graph4stackoverflow\venv\lib\site-packages\torch\nn\modules\module.py", line 1190, in _call_impl + return forward_call(*input, **kwargs) + File "C:\Users\liamb\Documents\graph4stackoverflow\venv\lib\site-packages\torch\nn\modules\loss.py", line 1174, in forward + return F.cross_entropy(input, target, weight=self.weight, + File "C:\Users\liamb\Documents\graph4stackoverflow\venv\lib\site-packages\torch\nn\functional.py", line 3026, in cross_entropy + return torch._C._nn.cross_entropy_loss(input, target, weight, _Reduction.get_enum(reduction), ignore_index, label_smoothing) +RuntimeError: 0D or 1D target tensor expected, multi-target not supported \ No newline at end of file diff --git a/embeddings/wandb/run-20230224_165115-qg3l5jjk/files/requirements.txt b/embeddings/wandb/run-20230224_165115-qg3l5jjk/files/requirements.txt new file mode 100644 index 0000000000000000000000000000000000000000..d7de821539624662109e252a91c4907a963ad5fb --- /dev/null +++ b/embeddings/wandb/run-20230224_165115-qg3l5jjk/files/requirements.txt @@ -0,0 +1,170 @@ +absl-py==1.3.0 +anyio==3.6.2 +appdirs==1.4.4 +argon2-cffi-bindings==21.2.0 +argon2-cffi==21.3.0 +asttokens==2.1.0 +astunparse==1.6.3 +attrs==22.1.0 +backcall==0.2.0 +beautifulsoup4==4.11.1 +bleach==5.0.1 +blis==0.7.9 +bs4==0.0.1 +cachetools==5.2.0 +catalogue==2.0.8 +certifi==2022.9.24 +cffi==1.15.1 +charset-normalizer==2.1.1 +click==8.1.3 +colorama==0.4.6 +confection==0.0.3 +contourpy==1.0.6 +cycler==0.11.0 +cymem==2.0.7 +debugpy==1.6.3 +decorator==5.1.1 +defusedxml==0.7.1 +dgl==0.9.1 +docker-pycreds==0.4.0 +en-core-web-sm==3.4.1 +entrypoints==0.4 +executing==1.2.0 +fastjsonschema==2.16.2 +filelock==3.8.0 +fonttools==4.38.0 +gitdb==4.0.10 +gitpython==3.1.31 +google-auth-oauthlib==0.4.6 +google-auth==2.14.0 +graph4nlp==0.5.5 +grpcio==1.50.0 +huggingface-hub==0.10.1 +idna==3.4 +importlib-metadata==5.0.0 +importlib-resources==5.10.0 +ipykernel==6.16.2 +ipython-genutils==0.2.0 +ipython==8.6.0 +ipywidgets==8.0.2 +jedi==0.18.1 +jinja2==3.1.2 +joblib==1.2.0 +jsonschema==4.16.0 +jupyter-client==7.4.4 +jupyter-console==6.4.4 +jupyter-core==4.11.2 +jupyter-server==1.21.0 +jupyter==1.0.0 +jupyterlab-pygments==0.2.2 +jupyterlab-widgets==3.0.3 +kiwisolver==1.4.4 +langcodes==3.3.0 +littleutils==0.2.2 +lxml==4.9.1 +markdown==3.4.1 +markupsafe==2.1.1 +matplotlib-inline==0.1.6 +matplotlib==3.6.2 +mistune==2.0.4 +murmurhash==1.0.9 +nbclassic==0.4.7 +nbclient==0.7.0 +nbconvert==7.2.3 +nbformat==5.7.0 +nest-asyncio==1.5.6 +networkx==2.8.8 +nltk==3.7 +notebook-shim==0.2.0 +notebook==6.5.2 +numpy==1.23.5 +oauthlib==3.2.2 +ogb==1.3.5 +outdated==0.2.2 +packaging==21.3 +pandas==1.5.1 +pandocfilters==1.5.0 +parso==0.8.3 +pathtools==0.1.2 +pathy==0.6.2 +pickleshare==0.7.5 +pillow==9.3.0 +pip==21.3.1 +pkgutil-resolve-name==1.3.10 +plotly==5.13.0 +preshed==3.0.8 +prometheus-client==0.15.0 +prompt-toolkit==3.0.31 +protobuf==3.19.6 +psutil==5.9.3 +pure-eval==0.2.2 +pyasn1-modules==0.2.8 +pyasn1==0.4.8 +pycparser==2.21 +pydantic==1.10.2 +pygments==2.13.0 +pyparsing==3.0.9 +pyrsistent==0.18.1 +python-dateutil==2.8.2 +pythonds==1.2.1 +pytz==2022.5 +pywin32==304 +pywinpty==2.0.9 +pyyaml==6.0 +pyzmq==24.0.1 +qtconsole==5.3.2 +qtpy==2.2.1 +regex==2022.10.31 +requests-oauthlib==1.3.1 +requests==2.28.1 +rsa==4.9 +scikit-learn==1.1.3 +scipy==1.9.3 +send2trash==1.8.0 +sentry-sdk==1.15.0 +setproctitle==1.3.2 +setuptools==60.2.0 +six==1.16.0 +smart-open==5.2.1 +smmap==5.0.0 +sniffio==1.3.0 +soupsieve==2.3.2.post1 +spacy-legacy==3.0.10 +spacy-loggers==1.0.3 +spacy==3.4.2 +srsly==2.4.5 +stack-data==0.6.0 +stanfordcorenlp==3.9.1.1 +tenacity==8.2.1 +tensorboard-data-server==0.6.1 +tensorboard-plugin-wit==1.8.1 +tensorboard==2.10.1 +terminado==0.17.0 +thinc==8.1.5 +threadpoolctl==3.1.0 +tinycss2==1.2.1 +tokenizers==0.13.2 +torch-cluster==1.6.0+pt113cpu +torch-geometric==2.2.0 +torch-scatter==2.1.0+pt113cpu +torch-sparse==0.6.16+pt113cpu +torch-spline-conv==1.2.1+pt113cpu +torch==1.13.0 +torchsummary==1.5.1 +torchtext==0.14.0 +tornado==6.2 +tqdm==4.64.1 +traitlets==5.5.0 +transformers==4.24.0 +typer==0.4.2 +typing-extensions==4.4.0 +urllib3==1.26.12 +wandb==0.13.10 +wasabi==0.10.1 +wcwidth==0.2.5 +webencodings==0.5.1 +websocket-client==1.4.1 +werkzeug==2.2.2 +wheel==0.37.1 +widgetsnbextension==4.0.3 +zipp==3.10.0 \ No newline at end of file diff --git a/embeddings/wandb/run-20230224_165115-qg3l5jjk/files/wandb-metadata.json b/embeddings/wandb/run-20230224_165115-qg3l5jjk/files/wandb-metadata.json new file mode 100644 index 0000000000000000000000000000000000000000..bc936c88e10aff3ab009c8436a044a84c73aa517 --- /dev/null +++ b/embeddings/wandb/run-20230224_165115-qg3l5jjk/files/wandb-metadata.json @@ -0,0 +1,42 @@ +{ + "os": "Windows-10-10.0.19041-SP0", + "python": "3.8.1", + "heartbeatAt": "2023-02-24T16:51:17.379313", + "startedAt": "2023-02-24T16:51:15.928236", + "docker": null, + "cuda": null, + "args": [], + "state": "running", + "program": "C:\\Users\\liamb\\Documents\\graph4stackoverflow\\embeddings\\hetero_GAT.py", + "codePath": "embeddings\\hetero_GAT.py", + "git": { + "remote": "https://git.soton.ac.uk/lhb1g20/graph4stackoverflow.git", + "commit": "ced992d661984f7b87d1a3e76768e4ff7af78245" + }, + "email": "liambyrneh@gmail.com", + "root": "C:/Users/liamb/Documents/graph4stackoverflow", + "host": "DESKTOP-P7BETFF", + "username": "liamb", + "executable": "C:\\Users\\liamb\\Documents\\graph4stackoverflow\\venv\\Scripts\\python.exe", + "cpu_count": 2, + "cpu_count_logical": 4, + "cpu_freq": { + "current": 3504.0, + "min": 0.0, + "max": 3504.0 + }, + "cpu_freq_per_core": [ + { + "current": 3504.0, + "min": 0.0, + "max": 3504.0 + } + ], + "disk": { + "total": 475.71581649780273, + "used": 356.60274505615234 + }, + "memory": { + "total": 31.89160919189453 + } +} diff --git a/embeddings/wandb/run-20230224_165115-qg3l5jjk/files/wandb-summary.json b/embeddings/wandb/run-20230224_165115-qg3l5jjk/files/wandb-summary.json new file mode 100644 index 0000000000000000000000000000000000000000..971d47939227bae0ec95239d24debe3d22478dc7 --- /dev/null +++ b/embeddings/wandb/run-20230224_165115-qg3l5jjk/files/wandb-summary.json @@ -0,0 +1 @@ +{"_wandb": {"runtime": 1}} \ No newline at end of file diff --git a/embeddings/wandb/run-20230224_165115-qg3l5jjk/logs/debug-internal.log b/embeddings/wandb/run-20230224_165115-qg3l5jjk/logs/debug-internal.log new file mode 100644 index 0000000000000000000000000000000000000000..9f0e41aed1e63f617570e204cfe88139bfb94df4 --- /dev/null +++ b/embeddings/wandb/run-20230224_165115-qg3l5jjk/logs/debug-internal.log @@ -0,0 +1,173 @@ +2023-02-24 16:51:16,926 INFO StreamThr :12764 [internal.py:wandb_internal():87] W&B internal server running at pid: 12764, started at: 2023-02-24 16:51:16.925258 +2023-02-24 16:51:16,927 DEBUG HandlerThread:12764 [handler.py:handle_request():144] handle_request: status +2023-02-24 16:51:16,929 INFO WriterThread:12764 [datastore.py:open_for_write():85] open: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_165115-qg3l5jjk\run-qg3l5jjk.wandb +2023-02-24 16:51:16,930 DEBUG SenderThread:12764 [sender.py:send():336] send: header +2023-02-24 16:51:16,931 DEBUG SenderThread:12764 [sender.py:send():336] send: run +2023-02-24 16:51:17,279 INFO SenderThread:12764 [dir_watcher.py:__init__():216] watching files in: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_165115-qg3l5jjk\files +2023-02-24 16:51:17,279 INFO SenderThread:12764 [sender.py:_start_run_threads():1067] run started: qg3l5jjk with start time 1677257475.939229 +2023-02-24 16:51:17,279 DEBUG SenderThread:12764 [sender.py:send_request():363] send_request: summary_record +2023-02-24 16:51:17,280 INFO SenderThread:12764 [sender.py:_save_file():1321] saving file wandb-summary.json with policy end +2023-02-24 16:51:17,283 DEBUG HandlerThread:12764 [handler.py:handle_request():144] handle_request: check_version +2023-02-24 16:51:17,284 DEBUG SenderThread:12764 [sender.py:send_request():363] send_request: check_version +2023-02-24 16:51:17,354 DEBUG HandlerThread:12764 [handler.py:handle_request():144] handle_request: run_start +2023-02-24 16:51:17,374 DEBUG HandlerThread:12764 [system_info.py:__init__():31] System info init +2023-02-24 16:51:17,375 DEBUG HandlerThread:12764 [system_info.py:__init__():46] System info init done +2023-02-24 16:51:17,375 INFO HandlerThread:12764 [system_monitor.py:start():151] Starting system monitor +2023-02-24 16:51:17,375 INFO SystemMonitor:12764 [system_monitor.py:_start():116] Starting system asset monitoring threads +2023-02-24 16:51:17,375 INFO HandlerThread:12764 [system_monitor.py:probe():172] Collecting system info +2023-02-24 16:51:17,378 INFO SystemMonitor:12764 [interfaces.py:start():168] Started cpu +2023-02-24 16:51:17,379 DEBUG HandlerThread:12764 [system_info.py:probe():195] Probing system +2023-02-24 16:51:17,379 INFO SystemMonitor:12764 [interfaces.py:start():168] Started disk +2023-02-24 16:51:17,379 INFO SystemMonitor:12764 [interfaces.py:start():168] Started memory +2023-02-24 16:51:17,395 INFO SystemMonitor:12764 [interfaces.py:start():168] Started network +2023-02-24 16:51:17,396 DEBUG HandlerThread:12764 [system_info.py:_probe_git():180] Probing git +2023-02-24 16:51:17,489 DEBUG HandlerThread:12764 [system_info.py:_probe_git():188] Probing git done +2023-02-24 16:51:17,489 DEBUG HandlerThread:12764 [system_info.py:probe():241] Probing system done +2023-02-24 16:51:17,489 DEBUG HandlerThread:12764 [system_monitor.py:probe():181] {'os': 'Windows-10-10.0.19041-SP0', 'python': '3.8.1', 'heartbeatAt': '2023-02-24T16:51:17.379313', 'startedAt': '2023-02-24T16:51:15.928236', 'docker': None, 'cuda': None, 'args': (), 'state': 'running', 'program': 'C:\\Users\\liamb\\Documents\\graph4stackoverflow\\embeddings\\hetero_GAT.py', 'codePath': 'embeddings\\hetero_GAT.py', 'git': {'remote': 'https://git.soton.ac.uk/lhb1g20/graph4stackoverflow.git', 'commit': 'ced992d661984f7b87d1a3e76768e4ff7af78245'}, 'email': 'liambyrneh@gmail.com', 'root': 'C:/Users/liamb/Documents/graph4stackoverflow', 'host': 'DESKTOP-P7BETFF', 'username': 'liamb', 'executable': 'C:\\Users\\liamb\\Documents\\graph4stackoverflow\\venv\\Scripts\\python.exe', 'cpu_count': 2, 'cpu_count_logical': 4, 'cpu_freq': {'current': 3504.0, 'min': 0.0, 'max': 3504.0}, 'cpu_freq_per_core': [{'current': 3504.0, 'min': 0.0, 'max': 3504.0}], 'disk': {'total': 475.71581649780273, 'used': 356.60274505615234}, 'memory': {'total': 31.89160919189453}} +2023-02-24 16:51:17,490 INFO HandlerThread:12764 [system_monitor.py:probe():182] Finished collecting system info +2023-02-24 16:51:17,490 INFO HandlerThread:12764 [system_monitor.py:probe():185] Publishing system info +2023-02-24 16:51:17,490 DEBUG HandlerThread:12764 [system_info.py:_save_pip():51] Saving list of pip packages installed into the current environment +2023-02-24 16:51:17,491 DEBUG HandlerThread:12764 [system_info.py:_save_pip():67] Saving pip packages done +2023-02-24 16:51:17,492 INFO HandlerThread:12764 [system_monitor.py:probe():187] Finished publishing system info +2023-02-24 16:51:17,493 DEBUG SenderThread:12764 [sender.py:send():336] send: files +2023-02-24 16:51:17,493 INFO SenderThread:12764 [sender.py:_save_file():1321] saving file wandb-metadata.json with policy now +2023-02-24 16:51:17,501 DEBUG HandlerThread:12764 [handler.py:handle_request():144] handle_request: stop_status +2023-02-24 16:51:17,502 DEBUG SenderThread:12764 [sender.py:send_request():363] send_request: stop_status +2023-02-24 16:51:17,653 DEBUG SenderThread:12764 [sender.py:send():336] send: telemetry +2023-02-24 16:51:18,029 DEBUG SenderThread:12764 [sender.py:send():336] send: use_artifact +2023-02-24 16:51:18,086 INFO wandb-upload_0:12764 [upload_job.py:push():138] Uploaded file C:\Users\liamb\AppData\Local\Temp\tmpgck2d792wandb\66r8xkyj-wandb-metadata.json +2023-02-24 16:51:18,283 INFO Thread-32 :12764 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_165115-qg3l5jjk\files\requirements.txt +2023-02-24 16:51:18,284 INFO Thread-32 :12764 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_165115-qg3l5jjk\files\output.log +2023-02-24 16:51:18,284 INFO Thread-32 :12764 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_165115-qg3l5jjk\files\wandb-metadata.json +2023-02-24 16:51:18,284 INFO Thread-32 :12764 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_165115-qg3l5jjk\files\wandb-summary.json +2023-02-24 16:51:19,176 DEBUG SenderThread:12764 [sender.py:send():336] send: exit +2023-02-24 16:51:19,176 INFO SenderThread:12764 [sender.py:send_exit():559] handling exit code: 1 +2023-02-24 16:51:19,176 INFO SenderThread:12764 [sender.py:send_exit():561] handling runtime: 1 +2023-02-24 16:51:19,176 INFO SenderThread:12764 [sender.py:_save_file():1321] saving file wandb-summary.json with policy end +2023-02-24 16:51:19,177 INFO SenderThread:12764 [sender.py:send_exit():567] send defer +2023-02-24 16:51:19,177 DEBUG HandlerThread:12764 [handler.py:handle_request():144] handle_request: defer +2023-02-24 16:51:19,177 INFO HandlerThread:12764 [handler.py:handle_request_defer():170] handle defer: 0 +2023-02-24 16:51:19,177 DEBUG SenderThread:12764 [sender.py:send_request():363] send_request: defer +2023-02-24 16:51:19,177 INFO SenderThread:12764 [sender.py:send_request_defer():583] handle sender defer: 0 +2023-02-24 16:51:19,177 INFO SenderThread:12764 [sender.py:transition_state():587] send defer: 1 +2023-02-24 16:51:19,178 DEBUG HandlerThread:12764 [handler.py:handle_request():144] handle_request: defer +2023-02-24 16:51:19,178 INFO HandlerThread:12764 [handler.py:handle_request_defer():170] handle defer: 1 +2023-02-24 16:51:19,178 DEBUG SenderThread:12764 [sender.py:send_request():363] send_request: defer +2023-02-24 16:51:19,178 INFO SenderThread:12764 [sender.py:send_request_defer():583] handle sender defer: 1 +2023-02-24 16:51:19,178 INFO SenderThread:12764 [sender.py:transition_state():587] send defer: 2 +2023-02-24 16:51:19,178 DEBUG HandlerThread:12764 [handler.py:handle_request():144] handle_request: defer +2023-02-24 16:51:19,179 INFO HandlerThread:12764 [handler.py:handle_request_defer():170] handle defer: 2 +2023-02-24 16:51:19,179 INFO HandlerThread:12764 [system_monitor.py:finish():161] Stopping system monitor +2023-02-24 16:51:19,179 DEBUG SystemMonitor:12764 [system_monitor.py:_start():130] Starting system metrics aggregation loop +2023-02-24 16:51:19,179 DEBUG SystemMonitor:12764 [system_monitor.py:_start():137] Finished system metrics aggregation loop +2023-02-24 16:51:19,180 DEBUG SystemMonitor:12764 [system_monitor.py:_start():141] Publishing last batch of metrics +2023-02-24 16:51:19,180 INFO HandlerThread:12764 [interfaces.py:finish():175] Joined cpu +2023-02-24 16:51:19,180 INFO HandlerThread:12764 [interfaces.py:finish():175] Joined disk +2023-02-24 16:51:19,180 INFO HandlerThread:12764 [interfaces.py:finish():175] Joined memory +2023-02-24 16:51:19,180 INFO HandlerThread:12764 [interfaces.py:finish():175] Joined network +2023-02-24 16:51:19,181 DEBUG SenderThread:12764 [sender.py:send_request():363] send_request: defer +2023-02-24 16:51:19,181 INFO SenderThread:12764 [sender.py:send_request_defer():583] handle sender defer: 2 +2023-02-24 16:51:19,181 INFO SenderThread:12764 [sender.py:transition_state():587] send defer: 3 +2023-02-24 16:51:19,181 DEBUG SenderThread:12764 [sender.py:send():336] send: stats +2023-02-24 16:51:19,181 DEBUG HandlerThread:12764 [handler.py:handle_request():144] handle_request: defer +2023-02-24 16:51:19,182 INFO HandlerThread:12764 [handler.py:handle_request_defer():170] handle defer: 3 +2023-02-24 16:51:19,182 DEBUG SenderThread:12764 [sender.py:send_request():363] send_request: defer +2023-02-24 16:51:19,182 INFO SenderThread:12764 [sender.py:send_request_defer():583] handle sender defer: 3 +2023-02-24 16:51:19,182 INFO SenderThread:12764 [sender.py:transition_state():587] send defer: 4 +2023-02-24 16:51:19,182 DEBUG HandlerThread:12764 [handler.py:handle_request():144] handle_request: defer +2023-02-24 16:51:19,182 INFO HandlerThread:12764 [handler.py:handle_request_defer():170] handle defer: 4 +2023-02-24 16:51:19,183 DEBUG SenderThread:12764 [sender.py:send_request():363] send_request: defer +2023-02-24 16:51:19,183 INFO SenderThread:12764 [sender.py:send_request_defer():583] handle sender defer: 4 +2023-02-24 16:51:19,183 INFO SenderThread:12764 [sender.py:transition_state():587] send defer: 5 +2023-02-24 16:51:19,183 DEBUG HandlerThread:12764 [handler.py:handle_request():144] handle_request: defer +2023-02-24 16:51:19,183 INFO HandlerThread:12764 [handler.py:handle_request_defer():170] handle defer: 5 +2023-02-24 16:51:19,183 DEBUG SenderThread:12764 [sender.py:send():336] send: summary +2023-02-24 16:51:19,184 INFO SenderThread:12764 [sender.py:_save_file():1321] saving file wandb-summary.json with policy end +2023-02-24 16:51:19,184 DEBUG SenderThread:12764 [sender.py:send_request():363] send_request: defer +2023-02-24 16:51:19,184 INFO SenderThread:12764 [sender.py:send_request_defer():583] handle sender defer: 5 +2023-02-24 16:51:19,184 INFO SenderThread:12764 [sender.py:transition_state():587] send defer: 6 +2023-02-24 16:51:19,185 DEBUG HandlerThread:12764 [handler.py:handle_request():144] handle_request: defer +2023-02-24 16:51:19,185 INFO HandlerThread:12764 [handler.py:handle_request_defer():170] handle defer: 6 +2023-02-24 16:51:19,185 DEBUG SenderThread:12764 [sender.py:send_request():363] send_request: defer +2023-02-24 16:51:19,185 INFO SenderThread:12764 [sender.py:send_request_defer():583] handle sender defer: 6 +2023-02-24 16:51:19,190 DEBUG HandlerThread:12764 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 16:51:19,285 INFO Thread-32 :12764 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_165115-qg3l5jjk\files\wandb-summary.json +2023-02-24 16:51:19,386 INFO SenderThread:12764 [sender.py:transition_state():587] send defer: 7 +2023-02-24 16:51:19,387 DEBUG HandlerThread:12764 [handler.py:handle_request():144] handle_request: defer +2023-02-24 16:51:19,387 INFO HandlerThread:12764 [handler.py:handle_request_defer():170] handle defer: 7 +2023-02-24 16:51:19,388 DEBUG SenderThread:12764 [sender.py:send_request():363] send_request: defer +2023-02-24 16:51:19,388 INFO SenderThread:12764 [sender.py:send_request_defer():583] handle sender defer: 7 +2023-02-24 16:51:20,189 DEBUG HandlerThread:12764 [handler.py:handle_request():144] handle_request: poll_exit +2023-02-24 16:51:20,298 INFO Thread-32 :12764 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_165115-qg3l5jjk\files\output.log +2023-02-24 16:51:20,298 INFO Thread-32 :12764 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_165115-qg3l5jjk\files\config.yaml +2023-02-24 16:51:20,408 INFO SenderThread:12764 [sender.py:transition_state():587] send defer: 8 +2023-02-24 16:51:20,408 DEBUG SenderThread:12764 [sender.py:send_request():363] send_request: poll_exit +2023-02-24 16:51:20,408 DEBUG HandlerThread:12764 [handler.py:handle_request():144] handle_request: defer +2023-02-24 16:51:20,408 INFO HandlerThread:12764 [handler.py:handle_request_defer():170] handle defer: 8 +2023-02-24 16:51:20,409 DEBUG SenderThread:12764 [sender.py:send_request():363] send_request: defer +2023-02-24 16:51:20,409 INFO SenderThread:12764 [sender.py:send_request_defer():583] handle sender defer: 8 +2023-02-24 16:51:20,419 INFO SenderThread:12764 [sender.py:transition_state():587] send defer: 9 +2023-02-24 16:51:20,419 DEBUG HandlerThread:12764 [handler.py:handle_request():144] handle_request: defer +2023-02-24 16:51:20,419 DEBUG SenderThread:12764 [sender.py:send():336] send: artifact +2023-02-24 16:51:20,419 INFO HandlerThread:12764 [handler.py:handle_request_defer():170] handle defer: 9 +2023-02-24 16:51:21,202 DEBUG HandlerThread:12764 [handler.py:handle_request():144] handle_request: poll_exit +2023-02-24 16:51:21,312 INFO Thread-32 :12764 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_165115-qg3l5jjk\files\output.log +2023-02-24 16:51:21,607 INFO SenderThread:12764 [sender.py:send_artifact():1417] sent artifact job-https___git.soton.ac.uk_lhb1g20_graph4stackoverflow.git_embeddings_hetero_GAT.py - {'id': 'QXJ0aWZhY3Q6MzgwMzY3ODUz', 'digest': 'dbe34f6e8b990dacc5d7c5e1ab1d02a4', 'state': 'COMMITTED', 'aliases': [{'artifactCollectionName': 'job-https___git.soton.ac.uk_lhb1g20_graph4stackoverflow.git_embeddings_hetero_GAT.py', 'alias': 'latest'}, {'artifactCollectionName': 'job-https___git.soton.ac.uk_lhb1g20_graph4stackoverflow.git_embeddings_hetero_GAT.py', 'alias': 'v0'}], 'artifactSequence': {'id': 'QXJ0aWZhY3RDb2xsZWN0aW9uOjU0NTg3MzU0', 'latestArtifact': {'id': 'QXJ0aWZhY3Q6MzgwMzk2OTM0', 'versionIndex': 2}}, 'version': 'v0'} +2023-02-24 16:51:21,607 DEBUG SenderThread:12764 [sender.py:send_request():363] send_request: defer +2023-02-24 16:51:21,607 INFO SenderThread:12764 [sender.py:send_request_defer():583] handle sender defer: 9 +2023-02-24 16:51:21,607 INFO SenderThread:12764 [dir_watcher.py:finish():362] shutting down directory watcher +2023-02-24 16:51:22,315 INFO SenderThread:12764 [dir_watcher.py:finish():392] scan: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_165115-qg3l5jjk\files +2023-02-24 16:51:22,315 INFO SenderThread:12764 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_165115-qg3l5jjk\files\config.yaml config.yaml +2023-02-24 16:51:22,316 INFO SenderThread:12764 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_165115-qg3l5jjk\files\output.log output.log +2023-02-24 16:51:22,318 INFO SenderThread:12764 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_165115-qg3l5jjk\files\requirements.txt requirements.txt +2023-02-24 16:51:22,323 INFO SenderThread:12764 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_165115-qg3l5jjk\files\wandb-metadata.json wandb-metadata.json +2023-02-24 16:51:22,323 INFO SenderThread:12764 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_165115-qg3l5jjk\files\wandb-summary.json wandb-summary.json +2023-02-24 16:51:22,327 INFO SenderThread:12764 [sender.py:transition_state():587] send defer: 10 +2023-02-24 16:51:22,327 DEBUG SenderThread:12764 [sender.py:send_request():363] send_request: poll_exit +2023-02-24 16:51:22,327 DEBUG HandlerThread:12764 [handler.py:handle_request():144] handle_request: defer +2023-02-24 16:51:22,328 INFO HandlerThread:12764 [handler.py:handle_request_defer():170] handle defer: 10 +2023-02-24 16:51:22,331 DEBUG SenderThread:12764 [sender.py:send_request():363] send_request: defer +2023-02-24 16:51:22,331 INFO SenderThread:12764 [sender.py:send_request_defer():583] handle sender defer: 10 +2023-02-24 16:51:22,331 INFO SenderThread:12764 [file_pusher.py:finish():162] shutting down file pusher +2023-02-24 16:51:22,811 INFO wandb-upload_1:12764 [upload_job.py:push():138] Uploaded file C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_165115-qg3l5jjk\files\output.log +2023-02-24 16:51:22,919 INFO wandb-upload_3:12764 [upload_job.py:push():138] Uploaded file C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_165115-qg3l5jjk\files\wandb-summary.json +2023-02-24 16:51:22,920 INFO wandb-upload_0:12764 [upload_job.py:push():138] Uploaded file C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_165115-qg3l5jjk\files\config.yaml +2023-02-24 16:51:22,981 INFO wandb-upload_2:12764 [upload_job.py:push():138] Uploaded file C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_165115-qg3l5jjk\files\requirements.txt +2023-02-24 16:51:23,187 INFO Thread-31 :12764 [sender.py:transition_state():587] send defer: 11 +2023-02-24 16:51:23,187 DEBUG HandlerThread:12764 [handler.py:handle_request():144] handle_request: defer +2023-02-24 16:51:23,187 INFO HandlerThread:12764 [handler.py:handle_request_defer():170] handle defer: 11 +2023-02-24 16:51:23,188 DEBUG SenderThread:12764 [sender.py:send_request():363] send_request: defer +2023-02-24 16:51:23,188 INFO SenderThread:12764 [sender.py:send_request_defer():583] handle sender defer: 11 +2023-02-24 16:51:23,188 INFO SenderThread:12764 [file_pusher.py:join():167] waiting for file pusher +2023-02-24 16:51:23,188 INFO SenderThread:12764 [sender.py:transition_state():587] send defer: 12 +2023-02-24 16:51:23,188 DEBUG HandlerThread:12764 [handler.py:handle_request():144] handle_request: defer +2023-02-24 16:51:23,188 INFO HandlerThread:12764 [handler.py:handle_request_defer():170] handle defer: 12 +2023-02-24 16:51:23,189 DEBUG SenderThread:12764 [sender.py:send_request():363] send_request: defer +2023-02-24 16:51:23,189 INFO SenderThread:12764 [sender.py:send_request_defer():583] handle sender defer: 12 +2023-02-24 16:51:23,332 INFO SenderThread:12764 [sender.py:transition_state():587] send defer: 13 +2023-02-24 16:51:23,332 DEBUG HandlerThread:12764 [handler.py:handle_request():144] handle_request: defer +2023-02-24 16:51:23,332 INFO HandlerThread:12764 [handler.py:handle_request_defer():170] handle defer: 13 +2023-02-24 16:51:23,332 DEBUG SenderThread:12764 [sender.py:send_request():363] send_request: defer +2023-02-24 16:51:23,332 INFO SenderThread:12764 [sender.py:send_request_defer():583] handle sender defer: 13 +2023-02-24 16:51:23,332 INFO SenderThread:12764 [sender.py:transition_state():587] send defer: 14 +2023-02-24 16:51:23,333 DEBUG HandlerThread:12764 [handler.py:handle_request():144] handle_request: defer +2023-02-24 16:51:23,333 INFO HandlerThread:12764 [handler.py:handle_request_defer():170] handle defer: 14 +2023-02-24 16:51:23,333 DEBUG SenderThread:12764 [sender.py:send():336] send: final +2023-02-24 16:51:23,333 DEBUG SenderThread:12764 [sender.py:send():336] send: footer +2023-02-24 16:51:23,334 DEBUG SenderThread:12764 [sender.py:send_request():363] send_request: defer +2023-02-24 16:51:23,334 INFO SenderThread:12764 [sender.py:send_request_defer():583] handle sender defer: 14 +2023-02-24 16:51:23,335 DEBUG HandlerThread:12764 [handler.py:handle_request():144] handle_request: poll_exit +2023-02-24 16:51:23,335 DEBUG HandlerThread:12764 [handler.py:handle_request():144] handle_request: server_info +2023-02-24 16:51:23,335 DEBUG HandlerThread:12764 [handler.py:handle_request():144] handle_request: get_summary +2023-02-24 16:51:23,335 DEBUG HandlerThread:12764 [handler.py:handle_request():144] handle_request: sampled_history +2023-02-24 16:51:23,335 DEBUG SenderThread:12764 [sender.py:send_request():363] send_request: poll_exit +2023-02-24 16:51:23,336 DEBUG SenderThread:12764 [sender.py:send_request():363] send_request: server_info +2023-02-24 16:51:23,494 INFO MainThread:12764 [wandb_run.py:_footer_history_summary_info():3442] rendering history +2023-02-24 16:51:23,494 INFO MainThread:12764 [wandb_run.py:_footer_history_summary_info():3474] rendering summary +2023-02-24 16:51:23,494 INFO MainThread:12764 [wandb_run.py:_footer_sync_info():3398] logging synced files +2023-02-24 16:51:23,495 DEBUG HandlerThread:12764 [handler.py:handle_request():144] handle_request: shutdown +2023-02-24 16:51:23,495 INFO HandlerThread:12764 [handler.py:finish():841] shutting down handler +2023-02-24 16:51:24,342 INFO WriterThread:12764 [datastore.py:close():299] close: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_165115-qg3l5jjk\run-qg3l5jjk.wandb +2023-02-24 16:51:24,498 INFO SenderThread:12764 [sender.py:finish():1493] shutting down sender +2023-02-24 16:51:24,498 INFO SenderThread:12764 [file_pusher.py:finish():162] shutting down file pusher +2023-02-24 16:51:24,498 INFO SenderThread:12764 [file_pusher.py:join():167] waiting for file pusher diff --git a/embeddings/wandb/run-20230224_165115-qg3l5jjk/logs/debug.log b/embeddings/wandb/run-20230224_165115-qg3l5jjk/logs/debug.log new file mode 100644 index 0000000000000000000000000000000000000000..d1f9828960444c4dc1acafd230f2e00d453bcd3d --- /dev/null +++ b/embeddings/wandb/run-20230224_165115-qg3l5jjk/logs/debug.log @@ -0,0 +1,25 @@ +2023-02-24 16:51:15,932 INFO MainThread:1692 [wandb_setup.py:_flush():68] Configure stats pid to 1692 +2023-02-24 16:51:15,932 INFO MainThread:1692 [wandb_setup.py:_flush():68] Loading settings from C:\Users\liamb\.config\wandb\settings +2023-02-24 16:51:15,932 INFO MainThread:1692 [wandb_setup.py:_flush():68] Loading settings from C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\settings +2023-02-24 16:51:15,932 INFO MainThread:1692 [wandb_setup.py:_flush():68] Loading settings from environment variables: {'_require_service': 'True'} +2023-02-24 16:51:15,933 INFO MainThread:1692 [wandb_setup.py:_flush():68] Inferring run settings from compute environment: {'program_relpath': 'embeddings\\hetero_GAT.py', 'program': 'C:\\Users\\liamb\\Documents\\graph4stackoverflow\\embeddings\\hetero_GAT.py'} +2023-02-24 16:51:15,933 INFO MainThread:1692 [wandb_init.py:_log_setup():492] Logging user logs to C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_165115-qg3l5jjk\logs\debug.log +2023-02-24 16:51:15,934 INFO MainThread:1692 [wandb_init.py:_log_setup():493] Logging internal logs to C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_165115-qg3l5jjk\logs\debug-internal.log +2023-02-24 16:51:15,934 INFO MainThread:1692 [wandb_init.py:init():532] calling init triggers +2023-02-24 16:51:15,934 INFO MainThread:1692 [wandb_init.py:init():538] wandb.init called with sweep_config: {} +config: {} +2023-02-24 16:51:15,934 INFO MainThread:1692 [wandb_init.py:init():588] starting backend +2023-02-24 16:51:15,934 INFO MainThread:1692 [wandb_init.py:init():592] setting up manager +2023-02-24 16:51:15,937 INFO MainThread:1692 [backend.py:_multiprocessing_setup():106] multiprocessing start_methods=spawn, using: spawn +2023-02-24 16:51:15,939 INFO MainThread:1692 [wandb_init.py:init():599] backend started and connected +2023-02-24 16:51:15,940 INFO MainThread:1692 [wandb_init.py:init():687] updated telemetry +2023-02-24 16:51:15,997 INFO MainThread:1692 [wandb_init.py:init():727] communicating run to backend with 60.0 second timeout +2023-02-24 16:51:17,283 INFO MainThread:1692 [wandb_run.py:_on_init():2134] communicating current version +2023-02-24 16:51:17,346 INFO MainThread:1692 [wandb_run.py:_on_init():2143] got version response +2023-02-24 16:51:17,346 INFO MainThread:1692 [wandb_init.py:init():775] starting run threads in backend +2023-02-24 16:51:17,502 INFO MainThread:1692 [wandb_run.py:_console_start():2114] atexit reg +2023-02-24 16:51:17,502 INFO MainThread:1692 [wandb_run.py:_redirect():1969] redirect: SettingsConsole.WRAP_RAW +2023-02-24 16:51:17,502 INFO MainThread:1692 [wandb_run.py:_redirect():2034] Wrapping output streams. +2023-02-24 16:51:17,502 INFO MainThread:1692 [wandb_run.py:_redirect():2059] Redirects installed. +2023-02-24 16:51:17,503 INFO MainThread:1692 [wandb_init.py:init():817] run started, returning control to user process +2023-02-24 16:51:24,567 WARNING MsgRouterThr:1692 [router.py:message_loop():77] message_loop has been closed diff --git a/embeddings/wandb/run-20230224_165115-qg3l5jjk/run-qg3l5jjk.wandb b/embeddings/wandb/run-20230224_165115-qg3l5jjk/run-qg3l5jjk.wandb new file mode 100644 index 0000000000000000000000000000000000000000..c7c6ba523c89b7623c24bc406cb64517cf3cff3f Binary files /dev/null and b/embeddings/wandb/run-20230224_165115-qg3l5jjk/run-qg3l5jjk.wandb differ diff --git a/embeddings/wandb/run-20230224_172836-ct30ziya/files/config.yaml b/embeddings/wandb/run-20230224_172836-ct30ziya/files/config.yaml new file mode 100644 index 0000000000000000000000000000000000000000..0ad0323e8177eb388f4d8e37c02ac5c5a6ff12b3 --- /dev/null +++ b/embeddings/wandb/run-20230224_172836-ct30ziya/files/config.yaml @@ -0,0 +1,41 @@ +wandb_version: 1 + +_wandb: + desc: null + value: + cli_version: 0.13.10 + framework: huggingface + huggingface_version: 4.24.0 + is_jupyter_run: false + is_kaggle_kernel: false + python_version: 3.8.1 + start_time: 1677259716.5706 + t: + 1: + - 1 + - 5 + - 11 + - 33 + - 49 + - 53 + - 55 + - 77 + 2: + - 1 + - 5 + - 11 + - 33 + - 49 + - 53 + - 55 + - 77 + 3: + - 2 + - 13 + - 23 + 4: 3.8.1 + 5: 0.13.10 + 6: 4.24.0 + 8: + - 3 + - 5 diff --git a/embeddings/wandb/run-20230224_172836-ct30ziya/files/media/table/data_1_c824f28347eb76ab18a3.table.json b/embeddings/wandb/run-20230224_172836-ct30ziya/files/media/table/data_1_c824f28347eb76ab18a3.table.json new file mode 100644 index 0000000000000000000000000000000000000000..1571cab1eea0c3e22644460838216083361d6dff Binary files /dev/null and b/embeddings/wandb/run-20230224_172836-ct30ziya/files/media/table/data_1_c824f28347eb76ab18a3.table.json differ diff --git a/embeddings/wandb/run-20230224_172836-ct30ziya/files/output.log b/embeddings/wandb/run-20230224_172836-ct30ziya/files/output.log new file mode 100644 index 0000000000000000000000000000000000000000..028940023f75d1e2ee4809162292f4d7ba96b2d5 --- /dev/null +++ b/embeddings/wandb/run-20230224_172836-ct30ziya/files/output.log @@ -0,0 +1,47 @@ +wandb: WARNING Serializing object of type str that is 7167182 bytes +wandb: WARNING Serializing object of type str that is 7193130 bytes +wandb: WARNING Serializing object of type str that is 7166322 bytes +wandb: WARNING Serializing object of type str that is 7192794 bytes +wandb: WARNING Serializing object of type str that is 7184752 bytes +wandb: WARNING Serializing object of type str that is 7168764 bytes +wandb: WARNING Serializing object of type str that is 7170706 bytes +wandb: WARNING Serializing object of type str that is 7186792 bytes +wandb: WARNING Serializing object of type str that is 7186128 bytes +wandb: WARNING Serializing object of type str that is 7181962 bytes +wandb: WARNING Serializing object of type str that is 7193106 bytes +wandb: WARNING Serializing object of type str that is 7180746 bytes +wandb: WARNING Serializing object of type str that is 7166742 bytes +wandb: WARNING Serializing object of type str that is 7166810 bytes +wandb: WARNING Serializing object of type str that is 7195236 bytes +wandb: WARNING Serializing object of type str that is 7173484 bytes +wandb: WARNING Serializing object of type str that is 7172210 bytes +wandb: WARNING Serializing object of type str that is 7185004 bytes +wandb: WARNING Serializing object of type str that is 7197296 bytes +wandb: WARNING Serializing object of type str that is 7174316 bytes +wandb: WARNING Serializing object of type str that is 7166316 bytes +wandb: WARNING Serializing object of type str that is 7192550 bytes +wandb: WARNING Serializing object of type str that is 7177286 bytes +wandb: WARNING Serializing object of type str that is 7184884 bytes +wandb: WARNING Serializing object of type str that is 7189864 bytes +wandb: WARNING Serializing object of type str that is 7183646 bytes +wandb: WARNING Serializing object of type str that is 7169010 bytes +wandb: WARNING Serializing object of type str that is 7168230 bytes +wandb: WARNING Serializing object of type str that is 7185598 bytes +wandb: WARNING Serializing object of type str that is 7171782 bytes +wandb: WARNING Serializing object of type str that is 7192846 bytes +wandb: WARNING Serializing object of type str that is 7175110 bytes +wandb: WARNING Serializing object of type str that is 7191916 bytes +wandb: WARNING Serializing object of type str that is 7175616 bytes +wandb: WARNING Serializing object of type str that is 7181008 bytes +wandb: WARNING Serializing object of type str that is 7169510 bytes +wandb: WARNING Serializing object of type str that is 7195602 bytes +wandb: WARNING Serializing object of type str that is 7186816 bytes +wandb: WARNING Serializing object of type str that is 7186030 bytes +wandb: WARNING Serializing object of type str that is 7189306 bytes +wandb: WARNING Serializing object of type str that is 7184856 bytes +wandb: WARNING Serializing object of type str that is 7166804 bytes +wandb: WARNING Serializing object of type str that is 7175704 bytes +wandb: WARNING Serializing object of type str that is 7172890 bytes +wandb: WARNING Serializing object of type str that is 7187782 bytes +wandb: WARNING Serializing object of type str that is 7184198 bytes +wandb: Adding directory to artifact (.\..\data)... Done. 1.7s \ No newline at end of file diff --git a/embeddings/wandb/run-20230224_172836-ct30ziya/files/requirements.txt b/embeddings/wandb/run-20230224_172836-ct30ziya/files/requirements.txt new file mode 100644 index 0000000000000000000000000000000000000000..d7de821539624662109e252a91c4907a963ad5fb --- /dev/null +++ b/embeddings/wandb/run-20230224_172836-ct30ziya/files/requirements.txt @@ -0,0 +1,170 @@ +absl-py==1.3.0 +anyio==3.6.2 +appdirs==1.4.4 +argon2-cffi-bindings==21.2.0 +argon2-cffi==21.3.0 +asttokens==2.1.0 +astunparse==1.6.3 +attrs==22.1.0 +backcall==0.2.0 +beautifulsoup4==4.11.1 +bleach==5.0.1 +blis==0.7.9 +bs4==0.0.1 +cachetools==5.2.0 +catalogue==2.0.8 +certifi==2022.9.24 +cffi==1.15.1 +charset-normalizer==2.1.1 +click==8.1.3 +colorama==0.4.6 +confection==0.0.3 +contourpy==1.0.6 +cycler==0.11.0 +cymem==2.0.7 +debugpy==1.6.3 +decorator==5.1.1 +defusedxml==0.7.1 +dgl==0.9.1 +docker-pycreds==0.4.0 +en-core-web-sm==3.4.1 +entrypoints==0.4 +executing==1.2.0 +fastjsonschema==2.16.2 +filelock==3.8.0 +fonttools==4.38.0 +gitdb==4.0.10 +gitpython==3.1.31 +google-auth-oauthlib==0.4.6 +google-auth==2.14.0 +graph4nlp==0.5.5 +grpcio==1.50.0 +huggingface-hub==0.10.1 +idna==3.4 +importlib-metadata==5.0.0 +importlib-resources==5.10.0 +ipykernel==6.16.2 +ipython-genutils==0.2.0 +ipython==8.6.0 +ipywidgets==8.0.2 +jedi==0.18.1 +jinja2==3.1.2 +joblib==1.2.0 +jsonschema==4.16.0 +jupyter-client==7.4.4 +jupyter-console==6.4.4 +jupyter-core==4.11.2 +jupyter-server==1.21.0 +jupyter==1.0.0 +jupyterlab-pygments==0.2.2 +jupyterlab-widgets==3.0.3 +kiwisolver==1.4.4 +langcodes==3.3.0 +littleutils==0.2.2 +lxml==4.9.1 +markdown==3.4.1 +markupsafe==2.1.1 +matplotlib-inline==0.1.6 +matplotlib==3.6.2 +mistune==2.0.4 +murmurhash==1.0.9 +nbclassic==0.4.7 +nbclient==0.7.0 +nbconvert==7.2.3 +nbformat==5.7.0 +nest-asyncio==1.5.6 +networkx==2.8.8 +nltk==3.7 +notebook-shim==0.2.0 +notebook==6.5.2 +numpy==1.23.5 +oauthlib==3.2.2 +ogb==1.3.5 +outdated==0.2.2 +packaging==21.3 +pandas==1.5.1 +pandocfilters==1.5.0 +parso==0.8.3 +pathtools==0.1.2 +pathy==0.6.2 +pickleshare==0.7.5 +pillow==9.3.0 +pip==21.3.1 +pkgutil-resolve-name==1.3.10 +plotly==5.13.0 +preshed==3.0.8 +prometheus-client==0.15.0 +prompt-toolkit==3.0.31 +protobuf==3.19.6 +psutil==5.9.3 +pure-eval==0.2.2 +pyasn1-modules==0.2.8 +pyasn1==0.4.8 +pycparser==2.21 +pydantic==1.10.2 +pygments==2.13.0 +pyparsing==3.0.9 +pyrsistent==0.18.1 +python-dateutil==2.8.2 +pythonds==1.2.1 +pytz==2022.5 +pywin32==304 +pywinpty==2.0.9 +pyyaml==6.0 +pyzmq==24.0.1 +qtconsole==5.3.2 +qtpy==2.2.1 +regex==2022.10.31 +requests-oauthlib==1.3.1 +requests==2.28.1 +rsa==4.9 +scikit-learn==1.1.3 +scipy==1.9.3 +send2trash==1.8.0 +sentry-sdk==1.15.0 +setproctitle==1.3.2 +setuptools==60.2.0 +six==1.16.0 +smart-open==5.2.1 +smmap==5.0.0 +sniffio==1.3.0 +soupsieve==2.3.2.post1 +spacy-legacy==3.0.10 +spacy-loggers==1.0.3 +spacy==3.4.2 +srsly==2.4.5 +stack-data==0.6.0 +stanfordcorenlp==3.9.1.1 +tenacity==8.2.1 +tensorboard-data-server==0.6.1 +tensorboard-plugin-wit==1.8.1 +tensorboard==2.10.1 +terminado==0.17.0 +thinc==8.1.5 +threadpoolctl==3.1.0 +tinycss2==1.2.1 +tokenizers==0.13.2 +torch-cluster==1.6.0+pt113cpu +torch-geometric==2.2.0 +torch-scatter==2.1.0+pt113cpu +torch-sparse==0.6.16+pt113cpu +torch-spline-conv==1.2.1+pt113cpu +torch==1.13.0 +torchsummary==1.5.1 +torchtext==0.14.0 +tornado==6.2 +tqdm==4.64.1 +traitlets==5.5.0 +transformers==4.24.0 +typer==0.4.2 +typing-extensions==4.4.0 +urllib3==1.26.12 +wandb==0.13.10 +wasabi==0.10.1 +wcwidth==0.2.5 +webencodings==0.5.1 +websocket-client==1.4.1 +werkzeug==2.2.2 +wheel==0.37.1 +widgetsnbextension==4.0.3 +zipp==3.10.0 \ No newline at end of file diff --git a/embeddings/wandb/run-20230224_172836-ct30ziya/files/wandb-metadata.json b/embeddings/wandb/run-20230224_172836-ct30ziya/files/wandb-metadata.json new file mode 100644 index 0000000000000000000000000000000000000000..763286670b037ae29ce6080b578e8b856a68e16f --- /dev/null +++ b/embeddings/wandb/run-20230224_172836-ct30ziya/files/wandb-metadata.json @@ -0,0 +1,42 @@ +{ + "os": "Windows-10-10.0.19041-SP0", + "python": "3.8.1", + "heartbeatAt": "2023-02-24T17:28:37.277774", + "startedAt": "2023-02-24T17:28:36.558596", + "docker": null, + "cuda": null, + "args": [], + "state": "running", + "program": "C:\\Users\\liamb\\Documents\\graph4stackoverflow\\embeddings\\hetero_GAT.py", + "codePath": "embeddings\\hetero_GAT.py", + "git": { + "remote": "https://git.soton.ac.uk/lhb1g20/graph4stackoverflow.git", + "commit": "ced992d661984f7b87d1a3e76768e4ff7af78245" + }, + "email": "liambyrneh@gmail.com", + "root": "C:/Users/liamb/Documents/graph4stackoverflow", + "host": "DESKTOP-P7BETFF", + "username": "liamb", + "executable": "C:\\Users\\liamb\\Documents\\graph4stackoverflow\\venv\\Scripts\\python.exe", + "cpu_count": 2, + "cpu_count_logical": 4, + "cpu_freq": { + "current": 3504.0, + "min": 0.0, + "max": 3504.0 + }, + "cpu_freq_per_core": [ + { + "current": 3504.0, + "min": 0.0, + "max": 3504.0 + } + ], + "disk": { + "total": 475.71581649780273, + "used": 356.45372009277344 + }, + "memory": { + "total": 31.89160919189453 + } +} diff --git a/embeddings/wandb/run-20230224_172836-ct30ziya/files/wandb-summary.json b/embeddings/wandb/run-20230224_172836-ct30ziya/files/wandb-summary.json new file mode 100644 index 0000000000000000000000000000000000000000..fc37f4b96ed6e305ae7aa89d335b10bd63dfdb67 --- /dev/null +++ b/embeddings/wandb/run-20230224_172836-ct30ziya/files/wandb-summary.json @@ -0,0 +1 @@ +{"num_node_features": {"question": 1536, "answer": 1536, "comment": 768, "tag": 50, "module": 30}, "num_classes": 2, "_timestamp": 1677259731.1669502, "_runtime": 14.596350193023682, "_step": 1, "data": {"_type": "table-file", "sha256": "c824f28347eb76ab18a30043974ef7027cd5613b60f8cd01ca93c020c188dee3", "size": 168982324, "artifact_path": "wandb-client-artifact://qvm4zp4z6zfx0it2qzxikk6646lwlmklt2kbn2o2watmntrqhqz62shck4mf76zxgayb04jjdm8w2ki1llfcy7s51ahte7ssk7jbqohmwabklecdmp7iay8jha5vwzw9:latest/data.table.json", "_latest_artifact_path": "wandb-client-artifact://qvm4zp4z6zfx0it2qzxikk6646lwlmklt2kbn2o2watmntrqhqz62shck4mf76zxgayb04jjdm8w2ki1llfcy7s51ahte7ssk7jbqohmwabklecdmp7iay8jha5vwzw9:latest/data.table.json", "path": "media/table/data_1_c824f28347eb76ab18a3.table.json", "ncols": 4, "nrows": 46}, "_wandb": {"runtime": 15}} \ No newline at end of file diff --git a/embeddings/wandb/run-20230224_172836-ct30ziya/logs/debug-internal.log b/embeddings/wandb/run-20230224_172836-ct30ziya/logs/debug-internal.log new file mode 100644 index 0000000000000000000000000000000000000000..e595fbba4c37f2dcaab840cf072941a47a83e438 --- /dev/null +++ b/embeddings/wandb/run-20230224_172836-ct30ziya/logs/debug-internal.log @@ -0,0 +1,248 @@ +2023-02-24 17:28:36,571 INFO StreamThr :15480 [internal.py:wandb_internal():87] W&B internal server running at pid: 15480, started at: 2023-02-24 17:28:36.570600 +2023-02-24 17:28:36,573 DEBUG HandlerThread:15480 [handler.py:handle_request():144] handle_request: status +2023-02-24 17:28:36,574 INFO WriterThread:15480 [datastore.py:open_for_write():85] open: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_172836-ct30ziya\run-ct30ziya.wandb +2023-02-24 17:28:36,578 DEBUG SenderThread:15480 [sender.py:send():336] send: header +2023-02-24 17:28:36,625 DEBUG SenderThread:15480 [sender.py:send():336] send: run +2023-02-24 17:28:37,150 INFO SenderThread:15480 [dir_watcher.py:__init__():216] watching files in: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_172836-ct30ziya\files +2023-02-24 17:28:37,151 INFO SenderThread:15480 [sender.py:_start_run_threads():1067] run started: ct30ziya with start time 1677259716.5706 +2023-02-24 17:28:37,151 DEBUG SenderThread:15480 [sender.py:send_request():363] send_request: summary_record +2023-02-24 17:28:37,151 DEBUG HandlerThread:15480 [handler.py:handle_request():144] handle_request: check_version +2023-02-24 17:28:37,152 INFO SenderThread:15480 [sender.py:_save_file():1321] saving file wandb-summary.json with policy end +2023-02-24 17:28:37,152 DEBUG SenderThread:15480 [sender.py:send_request():363] send_request: check_version +2023-02-24 17:28:37,255 DEBUG HandlerThread:15480 [handler.py:handle_request():144] handle_request: run_start +2023-02-24 17:28:37,273 DEBUG HandlerThread:15480 [system_info.py:__init__():31] System info init +2023-02-24 17:28:37,273 DEBUG HandlerThread:15480 [system_info.py:__init__():46] System info init done +2023-02-24 17:28:37,273 INFO HandlerThread:15480 [system_monitor.py:start():151] Starting system monitor +2023-02-24 17:28:37,274 INFO SystemMonitor:15480 [system_monitor.py:_start():116] Starting system asset monitoring threads +2023-02-24 17:28:37,274 INFO HandlerThread:15480 [system_monitor.py:probe():172] Collecting system info +2023-02-24 17:28:37,274 INFO SystemMonitor:15480 [interfaces.py:start():168] Started cpu +2023-02-24 17:28:37,277 DEBUG HandlerThread:15480 [system_info.py:probe():195] Probing system +2023-02-24 17:28:37,278 INFO SystemMonitor:15480 [interfaces.py:start():168] Started disk +2023-02-24 17:28:37,278 INFO SystemMonitor:15480 [interfaces.py:start():168] Started memory +2023-02-24 17:28:37,296 INFO SystemMonitor:15480 [interfaces.py:start():168] Started network +2023-02-24 17:28:37,297 DEBUG HandlerThread:15480 [system_info.py:_probe_git():180] Probing git +2023-02-24 17:28:37,397 DEBUG HandlerThread:15480 [system_info.py:_probe_git():188] Probing git done +2023-02-24 17:28:37,397 DEBUG HandlerThread:15480 [system_info.py:probe():241] Probing system done +2023-02-24 17:28:37,397 DEBUG HandlerThread:15480 [system_monitor.py:probe():181] {'os': 'Windows-10-10.0.19041-SP0', 'python': '3.8.1', 'heartbeatAt': '2023-02-24T17:28:37.277774', 'startedAt': '2023-02-24T17:28:36.558596', 'docker': None, 'cuda': None, 'args': (), 'state': 'running', 'program': 'C:\\Users\\liamb\\Documents\\graph4stackoverflow\\embeddings\\hetero_GAT.py', 'codePath': 'embeddings\\hetero_GAT.py', 'git': {'remote': 'https://git.soton.ac.uk/lhb1g20/graph4stackoverflow.git', 'commit': 'ced992d661984f7b87d1a3e76768e4ff7af78245'}, 'email': 'liambyrneh@gmail.com', 'root': 'C:/Users/liamb/Documents/graph4stackoverflow', 'host': 'DESKTOP-P7BETFF', 'username': 'liamb', 'executable': 'C:\\Users\\liamb\\Documents\\graph4stackoverflow\\venv\\Scripts\\python.exe', 'cpu_count': 2, 'cpu_count_logical': 4, 'cpu_freq': {'current': 3504.0, 'min': 0.0, 'max': 3504.0}, 'cpu_freq_per_core': [{'current': 3504.0, 'min': 0.0, 'max': 3504.0}], 'disk': {'total': 475.71581649780273, 'used': 356.45372009277344}, 'memory': {'total': 31.89160919189453}} +2023-02-24 17:28:37,397 INFO HandlerThread:15480 [system_monitor.py:probe():182] Finished collecting system info +2023-02-24 17:28:37,397 INFO HandlerThread:15480 [system_monitor.py:probe():185] Publishing system info +2023-02-24 17:28:37,397 DEBUG HandlerThread:15480 [system_info.py:_save_pip():51] Saving list of pip packages installed into the current environment +2023-02-24 17:28:37,398 DEBUG HandlerThread:15480 [system_info.py:_save_pip():67] Saving pip packages done +2023-02-24 17:28:37,400 INFO HandlerThread:15480 [system_monitor.py:probe():187] Finished publishing system info +2023-02-24 17:28:37,410 DEBUG SenderThread:15480 [sender.py:send():336] send: files +2023-02-24 17:28:37,410 INFO SenderThread:15480 [sender.py:_save_file():1321] saving file wandb-metadata.json with policy now +2023-02-24 17:28:37,417 DEBUG HandlerThread:15480 [handler.py:handle_request():144] handle_request: stop_status +2023-02-24 17:28:37,418 DEBUG SenderThread:15480 [sender.py:send_request():363] send_request: stop_status +2023-02-24 17:28:37,420 DEBUG HandlerThread:15480 [handler.py:handle_request():144] handle_request: partial_history +2023-02-24 17:28:37,763 DEBUG SenderThread:15480 [sender.py:send():336] send: telemetry +2023-02-24 17:28:37,764 DEBUG SenderThread:15480 [sender.py:send():336] send: history +2023-02-24 17:28:37,764 DEBUG SenderThread:15480 [sender.py:send_request():363] send_request: summary_record +2023-02-24 17:28:37,765 INFO SenderThread:15480 [sender.py:_save_file():1321] saving file wandb-summary.json with policy end +2023-02-24 17:28:37,954 INFO wandb-upload_0:15480 [upload_job.py:push():138] Uploaded file C:\Users\liamb\AppData\Local\Temp\tmpjsxbyw98wandb\5oem9qxp-wandb-metadata.json +2023-02-24 17:28:38,168 INFO Thread-17 :15480 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_172836-ct30ziya\files\wandb-metadata.json +2023-02-24 17:28:38,168 INFO Thread-17 :15480 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_172836-ct30ziya\files\requirements.txt +2023-02-24 17:28:38,168 INFO Thread-17 :15480 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_172836-ct30ziya\files\wandb-summary.json +2023-02-24 17:28:39,166 INFO Thread-17 :15480 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_172836-ct30ziya\files\output.log +2023-02-24 17:28:41,182 INFO Thread-17 :15480 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_172836-ct30ziya\files\output.log +2023-02-24 17:28:42,182 DEBUG HandlerThread:15480 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 17:28:45,738 DEBUG HandlerThread:15480 [handler.py:handle_request():144] handle_request: log_artifact +2023-02-24 17:28:45,738 DEBUG SenderThread:15480 [sender.py:send_request():363] send_request: log_artifact +2023-02-24 17:28:51,166 DEBUG HandlerThread:15480 [handler.py:handle_request():144] handle_request: partial_history +2023-02-24 17:28:51,296 INFO Thread-17 :15480 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_172836-ct30ziya\files\media\table\data_1_c824f28347eb76ab18a3.table.json +2023-02-24 17:28:51,296 INFO Thread-17 :15480 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_172836-ct30ziya\files\media\table +2023-02-24 17:28:51,296 INFO Thread-17 :15480 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_172836-ct30ziya\files\media +2023-02-24 17:28:52,421 DEBUG HandlerThread:15480 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 17:28:52,421 DEBUG HandlerThread:15480 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 17:28:53,061 DEBUG HandlerThread:15480 [handler.py:handle_request():144] handle_request: log_artifact +2023-02-24 17:28:54,074 DEBUG HandlerThread:15480 [handler.py:handle_request():144] handle_request: poll_exit +2023-02-24 17:28:59,113 DEBUG HandlerThread:15480 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 17:29:04,191 DEBUG HandlerThread:15480 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 17:29:09,339 DEBUG HandlerThread:15480 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 17:29:14,367 DEBUG HandlerThread:15480 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 17:29:19,409 DEBUG HandlerThread:15480 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 17:29:24,465 DEBUG HandlerThread:15480 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 17:29:29,516 DEBUG HandlerThread:15480 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 17:29:34,586 DEBUG HandlerThread:15480 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 17:29:37,298 DEBUG SystemMonitor:15480 [system_monitor.py:_start():130] Starting system metrics aggregation loop +2023-02-24 17:29:39,631 DEBUG HandlerThread:15480 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 17:29:44,681 DEBUG HandlerThread:15480 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 17:29:49,734 DEBUG HandlerThread:15480 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 17:29:54,802 DEBUG HandlerThread:15480 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 17:29:59,831 DEBUG HandlerThread:15480 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 17:30:04,876 DEBUG HandlerThread:15480 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 17:30:09,919 DEBUG HandlerThread:15480 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 17:30:14,969 DEBUG HandlerThread:15480 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 17:30:20,026 DEBUG HandlerThread:15480 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 17:30:25,095 DEBUG HandlerThread:15480 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 17:30:30,152 DEBUG HandlerThread:15480 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 17:30:35,209 DEBUG HandlerThread:15480 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 17:30:40,265 DEBUG HandlerThread:15480 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 17:30:41,888 INFO wandb-upload_0:15480 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpdnbp15da +2023-02-24 17:30:42,767 INFO SenderThread:15480 [sender.py:send_request_log_artifact():1381] logged artifact run-ct30ziya-data - {'id': 'QXJ0aWZhY3Q6MzgwNjA4NDQ5', 'digest': 'cd1847f7b0a04e8a88606c355475d973', 'state': 'PENDING', 'aliases': [], 'artifactSequence': {'id': 'QXJ0aWZhY3RDb2xsZWN0aW9uOjU0NjMwODkz', 'latestArtifact': None}, 'version': 'latest'} +2023-02-24 17:30:42,771 DEBUG HandlerThread:15480 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 17:30:42,958 DEBUG SenderThread:15480 [sender.py:send():336] send: files +2023-02-24 17:30:42,958 INFO SenderThread:15480 [sender.py:_save_file():1321] saving file media\table\data_1_c824f28347eb76ab18a3.table.json with policy now +2023-02-24 17:30:42,959 DEBUG SenderThread:15480 [sender.py:send():336] send: history +2023-02-24 17:30:42,959 DEBUG SenderThread:15480 [sender.py:send_request():363] send_request: summary_record +2023-02-24 17:30:42,961 INFO SenderThread:15480 [sender.py:_save_file():1321] saving file wandb-summary.json with policy end +2023-02-24 17:30:42,962 DEBUG SenderThread:15480 [sender.py:send_request():363] send_request: log_artifact +2023-02-24 17:30:43,441 INFO SenderThread:15480 [sender.py:send_request_log_artifact():1381] logged artifact static-graphs - {'id': 'QXJ0aWZhY3Q6MzgwNTY0ODAy', 'digest': '64a712122c812b4423fcf560ca60f704', 'state': 'COMMITTED', 'aliases': [{'artifactCollectionName': 'static-graphs', 'alias': 'latest'}, {'artifactCollectionName': 'static-graphs', 'alias': 'v0'}], 'artifactSequence': {'id': 'QXJ0aWZhY3RDb2xsZWN0aW9uOjU0NjIzMTU5', 'latestArtifact': {'id': 'QXJ0aWZhY3Q6MzgwNTY0ODAy', 'versionIndex': 0}}, 'version': 'v0'} +2023-02-24 17:30:43,441 DEBUG SenderThread:15480 [sender.py:send():336] send: telemetry +2023-02-24 17:30:43,442 DEBUG SenderThread:15480 [sender.py:send():336] send: exit +2023-02-24 17:30:43,442 INFO SenderThread:15480 [sender.py:send_exit():559] handling exit code: 0 +2023-02-24 17:30:43,442 INFO SenderThread:15480 [sender.py:send_exit():561] handling runtime: 15 +2023-02-24 17:30:43,443 INFO SenderThread:15480 [sender.py:_save_file():1321] saving file wandb-summary.json with policy end +2023-02-24 17:30:43,443 INFO SenderThread:15480 [sender.py:send_exit():567] send defer +2023-02-24 17:30:43,443 DEBUG SenderThread:15480 [sender.py:send_request():363] send_request: poll_exit +2023-02-24 17:30:43,443 DEBUG HandlerThread:15480 [handler.py:handle_request():144] handle_request: defer +2023-02-24 17:30:43,443 DEBUG SenderThread:15480 [sender.py:send():336] send: stats +2023-02-24 17:30:43,444 INFO HandlerThread:15480 [handler.py:handle_request_defer():170] handle defer: 0 +2023-02-24 17:30:43,444 DEBUG SenderThread:15480 [sender.py:send():336] send: stats +2023-02-24 17:30:43,445 DEBUG SenderThread:15480 [sender.py:send():336] send: stats +2023-02-24 17:30:43,445 DEBUG SenderThread:15480 [sender.py:send_request():363] send_request: defer +2023-02-24 17:30:43,445 INFO SenderThread:15480 [sender.py:send_request_defer():583] handle sender defer: 0 +2023-02-24 17:30:43,445 INFO SenderThread:15480 [sender.py:transition_state():587] send defer: 1 +2023-02-24 17:30:43,445 DEBUG HandlerThread:15480 [handler.py:handle_request():144] handle_request: defer +2023-02-24 17:30:43,445 INFO HandlerThread:15480 [handler.py:handle_request_defer():170] handle defer: 1 +2023-02-24 17:30:43,446 DEBUG SenderThread:15480 [sender.py:send_request():363] send_request: defer +2023-02-24 17:30:43,446 INFO SenderThread:15480 [sender.py:send_request_defer():583] handle sender defer: 1 +2023-02-24 17:30:43,446 INFO SenderThread:15480 [sender.py:transition_state():587] send defer: 2 +2023-02-24 17:30:43,446 DEBUG HandlerThread:15480 [handler.py:handle_request():144] handle_request: defer +2023-02-24 17:30:43,446 INFO HandlerThread:15480 [handler.py:handle_request_defer():170] handle defer: 2 +2023-02-24 17:30:43,446 INFO HandlerThread:15480 [system_monitor.py:finish():161] Stopping system monitor +2023-02-24 17:30:43,447 DEBUG SystemMonitor:15480 [system_monitor.py:_start():137] Finished system metrics aggregation loop +2023-02-24 17:30:43,447 INFO HandlerThread:15480 [interfaces.py:finish():175] Joined cpu +2023-02-24 17:30:43,447 DEBUG SystemMonitor:15480 [system_monitor.py:_start():141] Publishing last batch of metrics +2023-02-24 17:30:43,447 INFO HandlerThread:15480 [interfaces.py:finish():175] Joined disk +2023-02-24 17:30:43,448 INFO HandlerThread:15480 [interfaces.py:finish():175] Joined memory +2023-02-24 17:30:43,448 INFO HandlerThread:15480 [interfaces.py:finish():175] Joined network +2023-02-24 17:30:43,448 DEBUG SenderThread:15480 [sender.py:send_request():363] send_request: defer +2023-02-24 17:30:43,448 INFO SenderThread:15480 [sender.py:send_request_defer():583] handle sender defer: 2 +2023-02-24 17:30:43,448 INFO SenderThread:15480 [sender.py:transition_state():587] send defer: 3 +2023-02-24 17:30:43,448 DEBUG SenderThread:15480 [sender.py:send():336] send: stats +2023-02-24 17:30:43,449 DEBUG HandlerThread:15480 [handler.py:handle_request():144] handle_request: defer +2023-02-24 17:30:43,449 INFO HandlerThread:15480 [handler.py:handle_request_defer():170] handle defer: 3 +2023-02-24 17:30:43,449 DEBUG SenderThread:15480 [sender.py:send_request():363] send_request: defer +2023-02-24 17:30:43,449 INFO SenderThread:15480 [sender.py:send_request_defer():583] handle sender defer: 3 +2023-02-24 17:30:43,449 INFO SenderThread:15480 [sender.py:transition_state():587] send defer: 4 +2023-02-24 17:30:43,449 DEBUG HandlerThread:15480 [handler.py:handle_request():144] handle_request: defer +2023-02-24 17:30:43,449 INFO HandlerThread:15480 [handler.py:handle_request_defer():170] handle defer: 4 +2023-02-24 17:30:43,450 DEBUG SenderThread:15480 [sender.py:send_request():363] send_request: defer +2023-02-24 17:30:43,450 INFO SenderThread:15480 [sender.py:send_request_defer():583] handle sender defer: 4 +2023-02-24 17:30:43,450 INFO SenderThread:15480 [sender.py:transition_state():587] send defer: 5 +2023-02-24 17:30:43,450 DEBUG HandlerThread:15480 [handler.py:handle_request():144] handle_request: defer +2023-02-24 17:30:43,450 INFO HandlerThread:15480 [handler.py:handle_request_defer():170] handle defer: 5 +2023-02-24 17:30:43,451 DEBUG SenderThread:15480 [sender.py:send():336] send: summary +2023-02-24 17:30:43,451 INFO SenderThread:15480 [sender.py:_save_file():1321] saving file wandb-summary.json with policy end +2023-02-24 17:30:43,451 DEBUG SenderThread:15480 [sender.py:send_request():363] send_request: defer +2023-02-24 17:30:43,452 INFO SenderThread:15480 [sender.py:send_request_defer():583] handle sender defer: 5 +2023-02-24 17:30:43,452 INFO SenderThread:15480 [sender.py:transition_state():587] send defer: 6 +2023-02-24 17:30:43,452 DEBUG HandlerThread:15480 [handler.py:handle_request():144] handle_request: defer +2023-02-24 17:30:43,452 INFO HandlerThread:15480 [handler.py:handle_request_defer():170] handle defer: 6 +2023-02-24 17:30:43,452 DEBUG SenderThread:15480 [sender.py:send_request():363] send_request: defer +2023-02-24 17:30:43,452 INFO SenderThread:15480 [sender.py:send_request_defer():583] handle sender defer: 6 +2023-02-24 17:30:43,456 DEBUG HandlerThread:15480 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 17:30:43,668 INFO SenderThread:15480 [sender.py:transition_state():587] send defer: 7 +2023-02-24 17:30:43,668 DEBUG HandlerThread:15480 [handler.py:handle_request():144] handle_request: defer +2023-02-24 17:30:43,668 INFO HandlerThread:15480 [handler.py:handle_request_defer():170] handle defer: 7 +2023-02-24 17:30:43,668 DEBUG SenderThread:15480 [sender.py:send_request():363] send_request: defer +2023-02-24 17:30:43,668 INFO SenderThread:15480 [sender.py:send_request_defer():583] handle sender defer: 7 +2023-02-24 17:30:43,677 INFO Thread-17 :15480 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_172836-ct30ziya\files\config.yaml +2023-02-24 17:30:43,677 INFO Thread-17 :15480 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_172836-ct30ziya\files\wandb-summary.json +2023-02-24 17:30:43,802 INFO SenderThread:15480 [sender.py:transition_state():587] send defer: 8 +2023-02-24 17:30:43,802 DEBUG HandlerThread:15480 [handler.py:handle_request():144] handle_request: defer +2023-02-24 17:30:43,802 INFO HandlerThread:15480 [handler.py:handle_request_defer():170] handle defer: 8 +2023-02-24 17:30:43,802 DEBUG SenderThread:15480 [sender.py:send_request():363] send_request: defer +2023-02-24 17:30:43,802 INFO SenderThread:15480 [sender.py:send_request_defer():583] handle sender defer: 8 +2023-02-24 17:30:43,811 INFO SenderThread:15480 [sender.py:transition_state():587] send defer: 9 +2023-02-24 17:30:43,811 DEBUG HandlerThread:15480 [handler.py:handle_request():144] handle_request: defer +2023-02-24 17:30:43,811 DEBUG SenderThread:15480 [sender.py:send():336] send: artifact +2023-02-24 17:30:43,811 INFO HandlerThread:15480 [handler.py:handle_request_defer():170] handle defer: 9 +2023-02-24 17:30:44,691 INFO Thread-17 :15480 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_172836-ct30ziya\files\output.log +2023-02-24 17:30:44,815 INFO SenderThread:15480 [sender.py:send_artifact():1417] sent artifact job-https___git.soton.ac.uk_lhb1g20_graph4stackoverflow.git_embeddings_hetero_GAT.py - {'id': 'QXJ0aWZhY3Q6MzgwMzk2OTM0', 'digest': '8077f65decb82fd65dc9936bbf393b39', 'state': 'COMMITTED', 'aliases': [{'artifactCollectionName': 'job-https___git.soton.ac.uk_lhb1g20_graph4stackoverflow.git_embeddings_hetero_GAT.py', 'alias': 'latest'}, {'artifactCollectionName': 'job-https___git.soton.ac.uk_lhb1g20_graph4stackoverflow.git_embeddings_hetero_GAT.py', 'alias': 'v2'}], 'artifactSequence': {'id': 'QXJ0aWZhY3RDb2xsZWN0aW9uOjU0NTg3MzU0', 'latestArtifact': {'id': 'QXJ0aWZhY3Q6MzgwMzk2OTM0', 'versionIndex': 2}}, 'version': 'v2'} +2023-02-24 17:30:44,815 DEBUG SenderThread:15480 [sender.py:send_request():363] send_request: defer +2023-02-24 17:30:44,815 INFO SenderThread:15480 [sender.py:send_request_defer():583] handle sender defer: 9 +2023-02-24 17:30:44,815 INFO SenderThread:15480 [dir_watcher.py:finish():362] shutting down directory watcher +2023-02-24 17:30:45,301 DEBUG HandlerThread:15480 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 17:30:45,693 INFO SenderThread:15480 [dir_watcher.py:finish():392] scan: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_172836-ct30ziya\files +2023-02-24 17:30:45,693 INFO SenderThread:15480 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_172836-ct30ziya\files\config.yaml config.yaml +2023-02-24 17:30:45,693 INFO SenderThread:15480 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_172836-ct30ziya\files\output.log output.log +2023-02-24 17:30:45,696 INFO SenderThread:15480 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_172836-ct30ziya\files\requirements.txt requirements.txt +2023-02-24 17:30:45,701 INFO SenderThread:15480 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_172836-ct30ziya\files\wandb-metadata.json wandb-metadata.json +2023-02-24 17:30:45,702 INFO SenderThread:15480 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_172836-ct30ziya\files\wandb-summary.json wandb-summary.json +2023-02-24 17:30:45,710 INFO SenderThread:15480 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_172836-ct30ziya\files\media\table\data_1_c824f28347eb76ab18a3.table.json media\table\data_1_c824f28347eb76ab18a3.table.json +2023-02-24 17:30:45,711 INFO SenderThread:15480 [sender.py:transition_state():587] send defer: 10 +2023-02-24 17:30:45,711 DEBUG HandlerThread:15480 [handler.py:handle_request():144] handle_request: defer +2023-02-24 17:30:45,711 INFO HandlerThread:15480 [handler.py:handle_request_defer():170] handle defer: 10 +2023-02-24 17:30:45,711 DEBUG SenderThread:15480 [sender.py:send_request():363] send_request: defer +2023-02-24 17:30:45,711 INFO SenderThread:15480 [sender.py:send_request_defer():583] handle sender defer: 10 +2023-02-24 17:30:45,711 INFO SenderThread:15480 [file_pusher.py:finish():162] shutting down file pusher +2023-02-24 17:30:46,201 INFO wandb-upload_2:15480 [upload_job.py:push():138] Uploaded file C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_172836-ct30ziya\files\output.log +2023-02-24 17:30:46,251 INFO wandb-upload_3:15480 [upload_job.py:push():138] Uploaded file C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_172836-ct30ziya\files\requirements.txt +2023-02-24 17:30:46,253 INFO wandb-upload_1:15480 [upload_job.py:push():138] Uploaded file C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_172836-ct30ziya\files\config.yaml +2023-02-24 17:30:46,688 INFO wandb-upload_4:15480 [upload_job.py:push():138] Uploaded file C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_172836-ct30ziya\files\wandb-summary.json +2023-02-24 17:30:48,743 DEBUG HandlerThread:15480 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 17:30:50,344 DEBUG HandlerThread:15480 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 17:30:53,796 DEBUG HandlerThread:15480 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 17:30:55,395 DEBUG HandlerThread:15480 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 17:30:58,844 DEBUG HandlerThread:15480 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 17:31:00,446 DEBUG HandlerThread:15480 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 17:31:03,899 DEBUG HandlerThread:15480 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 17:31:05,494 DEBUG HandlerThread:15480 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 17:31:08,924 DEBUG HandlerThread:15480 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 17:31:10,540 DEBUG HandlerThread:15480 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 17:31:13,976 DEBUG HandlerThread:15480 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 17:31:15,592 DEBUG HandlerThread:15480 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 17:31:19,030 DEBUG HandlerThread:15480 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 17:31:20,632 DEBUG HandlerThread:15480 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 17:31:24,079 DEBUG HandlerThread:15480 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 17:31:25,685 DEBUG HandlerThread:15480 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 17:31:29,137 DEBUG HandlerThread:15480 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 17:31:30,741 DEBUG HandlerThread:15480 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 17:31:34,190 DEBUG HandlerThread:15480 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 17:31:35,791 DEBUG HandlerThread:15480 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 17:31:39,228 DEBUG HandlerThread:15480 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 17:31:40,828 DEBUG HandlerThread:15480 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 17:31:44,285 DEBUG HandlerThread:15480 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 17:31:45,887 DEBUG HandlerThread:15480 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 17:31:49,333 DEBUG HandlerThread:15480 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 17:31:50,937 DEBUG HandlerThread:15480 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 17:31:54,387 DEBUG HandlerThread:15480 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 17:31:55,987 DEBUG HandlerThread:15480 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 17:31:59,249 INFO wandb-upload_0:15480 [upload_job.py:push():138] Uploaded file C:\Users\liamb\AppData\Local\Temp\tmpjsxbyw98wandb\8836sjrw-media/table/data_1_c824f28347eb76ab18a3.table.json +2023-02-24 17:31:59,430 DEBUG HandlerThread:15480 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 17:31:59,477 INFO Thread-16 :15480 [sender.py:transition_state():587] send defer: 11 +2023-02-24 17:31:59,477 DEBUG HandlerThread:15480 [handler.py:handle_request():144] handle_request: defer +2023-02-24 17:31:59,477 INFO HandlerThread:15480 [handler.py:handle_request_defer():170] handle defer: 11 +2023-02-24 17:31:59,478 DEBUG SenderThread:15480 [sender.py:send_request():363] send_request: defer +2023-02-24 17:31:59,478 INFO SenderThread:15480 [sender.py:send_request_defer():583] handle sender defer: 11 +2023-02-24 17:31:59,478 INFO SenderThread:15480 [file_pusher.py:join():167] waiting for file pusher +2023-02-24 17:31:59,478 INFO SenderThread:15480 [sender.py:transition_state():587] send defer: 12 +2023-02-24 17:31:59,478 DEBUG HandlerThread:15480 [handler.py:handle_request():144] handle_request: defer +2023-02-24 17:31:59,478 INFO HandlerThread:15480 [handler.py:handle_request_defer():170] handle defer: 12 +2023-02-24 17:31:59,479 DEBUG SenderThread:15480 [sender.py:send_request():363] send_request: defer +2023-02-24 17:31:59,479 INFO SenderThread:15480 [sender.py:send_request_defer():583] handle sender defer: 12 +2023-02-24 17:31:59,633 INFO SenderThread:15480 [sender.py:transition_state():587] send defer: 13 +2023-02-24 17:31:59,633 DEBUG HandlerThread:15480 [handler.py:handle_request():144] handle_request: defer +2023-02-24 17:31:59,633 INFO HandlerThread:15480 [handler.py:handle_request_defer():170] handle defer: 13 +2023-02-24 17:31:59,634 DEBUG SenderThread:15480 [sender.py:send_request():363] send_request: defer +2023-02-24 17:31:59,634 INFO SenderThread:15480 [sender.py:send_request_defer():583] handle sender defer: 13 +2023-02-24 17:31:59,634 INFO SenderThread:15480 [sender.py:transition_state():587] send defer: 14 +2023-02-24 17:31:59,634 DEBUG HandlerThread:15480 [handler.py:handle_request():144] handle_request: defer +2023-02-24 17:31:59,634 INFO HandlerThread:15480 [handler.py:handle_request_defer():170] handle defer: 14 +2023-02-24 17:31:59,635 DEBUG SenderThread:15480 [sender.py:send():336] send: final +2023-02-24 17:31:59,635 DEBUG SenderThread:15480 [sender.py:send():336] send: footer +2023-02-24 17:31:59,635 DEBUG SenderThread:15480 [sender.py:send_request():363] send_request: defer +2023-02-24 17:31:59,635 INFO SenderThread:15480 [sender.py:send_request_defer():583] handle sender defer: 14 +2023-02-24 17:31:59,636 DEBUG HandlerThread:15480 [handler.py:handle_request():144] handle_request: poll_exit +2023-02-24 17:31:59,636 DEBUG HandlerThread:15480 [handler.py:handle_request():144] handle_request: server_info +2023-02-24 17:31:59,636 DEBUG HandlerThread:15480 [handler.py:handle_request():144] handle_request: get_summary +2023-02-24 17:31:59,637 DEBUG HandlerThread:15480 [handler.py:handle_request():144] handle_request: sampled_history +2023-02-24 17:31:59,637 DEBUG SenderThread:15480 [sender.py:send_request():363] send_request: poll_exit +2023-02-24 17:31:59,638 DEBUG SenderThread:15480 [sender.py:send_request():363] send_request: server_info +2023-02-24 17:31:59,801 DEBUG HandlerThread:15480 [handler.py:handle_request():144] handle_request: shutdown +2023-02-24 17:31:59,801 INFO HandlerThread:15480 [handler.py:finish():841] shutting down handler +2023-02-24 17:32:00,643 INFO WriterThread:15480 [datastore.py:close():299] close: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_172836-ct30ziya\run-ct30ziya.wandb +2023-02-24 17:32:00,800 INFO SenderThread:15480 [sender.py:finish():1493] shutting down sender +2023-02-24 17:32:00,800 INFO SenderThread:15480 [file_pusher.py:finish():162] shutting down file pusher +2023-02-24 17:32:00,800 INFO SenderThread:15480 [file_pusher.py:join():167] waiting for file pusher diff --git a/embeddings/wandb/run-20230224_172836-ct30ziya/logs/debug.log b/embeddings/wandb/run-20230224_172836-ct30ziya/logs/debug.log new file mode 100644 index 0000000000000000000000000000000000000000..bc7e5856bfa44848db9820a072ac3bbfeb3b01c7 --- /dev/null +++ b/embeddings/wandb/run-20230224_172836-ct30ziya/logs/debug.log @@ -0,0 +1,31 @@ +2023-02-24 17:28:36,561 INFO MainThread:5948 [wandb_setup.py:_flush():68] Configure stats pid to 5948 +2023-02-24 17:28:36,561 INFO MainThread:5948 [wandb_setup.py:_flush():68] Loading settings from C:\Users\liamb\.config\wandb\settings +2023-02-24 17:28:36,561 INFO MainThread:5948 [wandb_setup.py:_flush():68] Loading settings from C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\settings +2023-02-24 17:28:36,561 INFO MainThread:5948 [wandb_setup.py:_flush():68] Loading settings from environment variables: {'_require_service': 'True'} +2023-02-24 17:28:36,561 INFO MainThread:5948 [wandb_setup.py:_flush():68] Inferring run settings from compute environment: {'program_relpath': 'embeddings\\hetero_GAT.py', 'program': 'C:\\Users\\liamb\\Documents\\graph4stackoverflow\\embeddings\\hetero_GAT.py'} +2023-02-24 17:28:36,562 INFO MainThread:5948 [wandb_init.py:_log_setup():492] Logging user logs to C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_172836-ct30ziya\logs\debug.log +2023-02-24 17:28:36,562 INFO MainThread:5948 [wandb_init.py:_log_setup():493] Logging internal logs to C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_172836-ct30ziya\logs\debug-internal.log +2023-02-24 17:28:36,562 INFO MainThread:5948 [wandb_init.py:init():532] calling init triggers +2023-02-24 17:28:36,562 INFO MainThread:5948 [wandb_init.py:init():538] wandb.init called with sweep_config: {} +config: {} +2023-02-24 17:28:36,562 INFO MainThread:5948 [wandb_init.py:init():588] starting backend +2023-02-24 17:28:36,562 INFO MainThread:5948 [wandb_init.py:init():592] setting up manager +2023-02-24 17:28:36,565 INFO MainThread:5948 [backend.py:_multiprocessing_setup():106] multiprocessing start_methods=spawn, using: spawn +2023-02-24 17:28:36,570 INFO MainThread:5948 [wandb_init.py:init():599] backend started and connected +2023-02-24 17:28:36,573 INFO MainThread:5948 [wandb_init.py:init():687] updated telemetry +2023-02-24 17:28:36,624 INFO MainThread:5948 [wandb_init.py:init():727] communicating run to backend with 60.0 second timeout +2023-02-24 17:28:37,150 INFO MainThread:5948 [wandb_run.py:_on_init():2134] communicating current version +2023-02-24 17:28:37,247 INFO MainThread:5948 [wandb_run.py:_on_init():2143] got version response +2023-02-24 17:28:37,247 INFO MainThread:5948 [wandb_init.py:init():775] starting run threads in backend +2023-02-24 17:28:37,418 INFO MainThread:5948 [wandb_run.py:_console_start():2114] atexit reg +2023-02-24 17:28:37,418 INFO MainThread:5948 [wandb_run.py:_redirect():1969] redirect: SettingsConsole.WRAP_RAW +2023-02-24 17:28:37,418 INFO MainThread:5948 [wandb_run.py:_redirect():2034] Wrapping output streams. +2023-02-24 17:28:37,418 INFO MainThread:5948 [wandb_run.py:_redirect():2059] Redirects installed. +2023-02-24 17:28:37,419 INFO MainThread:5948 [wandb_init.py:init():817] run started, returning control to user process +2023-02-24 17:28:53,063 INFO MainThread:5948 [wandb_run.py:_finish():1854] finishing run g4nlp/heterogeneous-GAT-model/ct30ziya +2023-02-24 17:28:53,064 INFO MainThread:5948 [wandb_run.py:_atexit_cleanup():2083] got exitcode: 0 +2023-02-24 17:28:53,064 INFO MainThread:5948 [wandb_run.py:_restore():2066] restore +2023-02-24 17:28:53,064 INFO MainThread:5948 [wandb_run.py:_restore():2072] restore done +2023-02-24 17:32:00,816 INFO MainThread:5948 [wandb_run.py:_footer_history_summary_info():3442] rendering history +2023-02-24 17:32:00,816 INFO MainThread:5948 [wandb_run.py:_footer_history_summary_info():3474] rendering summary +2023-02-24 17:32:00,821 INFO MainThread:5948 [wandb_run.py:_footer_sync_info():3398] logging synced files diff --git a/embeddings/wandb/run-20230224_172836-ct30ziya/run-ct30ziya.wandb b/embeddings/wandb/run-20230224_172836-ct30ziya/run-ct30ziya.wandb new file mode 100644 index 0000000000000000000000000000000000000000..cc28458b1ac6d315f57896b02e76a2ec67a9eb1d Binary files /dev/null and b/embeddings/wandb/run-20230224_172836-ct30ziya/run-ct30ziya.wandb differ diff --git a/embeddings/wandb/run-20230224_173200-3ofoabdq/files/config.yaml b/embeddings/wandb/run-20230224_173200-3ofoabdq/files/config.yaml new file mode 100644 index 0000000000000000000000000000000000000000..434656bafd036f11bfcbe51bc57d711f53c2d67f --- /dev/null +++ b/embeddings/wandb/run-20230224_173200-3ofoabdq/files/config.yaml @@ -0,0 +1,39 @@ +wandb_version: 1 + +_wandb: + desc: null + value: + cli_version: 0.13.10 + framework: huggingface + huggingface_version: 4.24.0 + is_jupyter_run: false + is_kaggle_kernel: false + python_version: 3.8.1 + start_time: 1677259920.838449 + t: + 1: + - 1 + - 5 + - 11 + - 33 + - 49 + - 53 + - 55 + - 77 + 2: + - 1 + - 5 + - 11 + - 33 + - 49 + - 53 + - 55 + - 77 + 3: + - 23 + 4: 3.8.1 + 5: 0.13.10 + 6: 4.24.0 + 8: + - 3 + - 5 diff --git a/embeddings/wandb/run-20230224_173200-3ofoabdq/files/output.log b/embeddings/wandb/run-20230224_173200-3ofoabdq/files/output.log new file mode 100644 index 0000000000000000000000000000000000000000..e2c7926391ffa14ffbafed98e84b8fcca76a6baa --- /dev/null +++ b/embeddings/wandb/run-20230224_173200-3ofoabdq/files/output.log @@ -0,0 +1,11 @@ +OUT torch.Size([16, 2]) torch.Size([16]) tensor([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]) +OUT torch.Size([12, 2]) torch.Size([12]) tensor([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]) +INFO:heterogeneous-GAT-model:[1] Loss: 0.0003421618938446045 +Traceback (most recent call last): + File "C:\Users\liamb\Documents\graph4stackoverflow\embeddings\hetero_GAT.py", line 207, in <module> + train_acc, train_f1, train_loss, train_table = test(train_loader) + File "C:\Users\liamb\Documents\graph4stackoverflow\embeddings\hetero_GAT.py", line 121, in test + table.add_data(wandb.Html(create_graph_vis(data.graph).to_html(full_html=False)), data.label.item(), pred.item()) + File "C:\Users\liamb\Documents\graph4stackoverflow\venv\lib\site-packages\torch_geometric\data\hetero_data.py", line 138, in __getattr__ + raise AttributeError(f"'{self.__class__.__name__}' has no " +AttributeError: 'BatchedHeteroDataBatch' has no attribute 'graph' \ No newline at end of file diff --git a/embeddings/wandb/run-20230224_173200-3ofoabdq/files/requirements.txt b/embeddings/wandb/run-20230224_173200-3ofoabdq/files/requirements.txt new file mode 100644 index 0000000000000000000000000000000000000000..d7de821539624662109e252a91c4907a963ad5fb --- /dev/null +++ b/embeddings/wandb/run-20230224_173200-3ofoabdq/files/requirements.txt @@ -0,0 +1,170 @@ +absl-py==1.3.0 +anyio==3.6.2 +appdirs==1.4.4 +argon2-cffi-bindings==21.2.0 +argon2-cffi==21.3.0 +asttokens==2.1.0 +astunparse==1.6.3 +attrs==22.1.0 +backcall==0.2.0 +beautifulsoup4==4.11.1 +bleach==5.0.1 +blis==0.7.9 +bs4==0.0.1 +cachetools==5.2.0 +catalogue==2.0.8 +certifi==2022.9.24 +cffi==1.15.1 +charset-normalizer==2.1.1 +click==8.1.3 +colorama==0.4.6 +confection==0.0.3 +contourpy==1.0.6 +cycler==0.11.0 +cymem==2.0.7 +debugpy==1.6.3 +decorator==5.1.1 +defusedxml==0.7.1 +dgl==0.9.1 +docker-pycreds==0.4.0 +en-core-web-sm==3.4.1 +entrypoints==0.4 +executing==1.2.0 +fastjsonschema==2.16.2 +filelock==3.8.0 +fonttools==4.38.0 +gitdb==4.0.10 +gitpython==3.1.31 +google-auth-oauthlib==0.4.6 +google-auth==2.14.0 +graph4nlp==0.5.5 +grpcio==1.50.0 +huggingface-hub==0.10.1 +idna==3.4 +importlib-metadata==5.0.0 +importlib-resources==5.10.0 +ipykernel==6.16.2 +ipython-genutils==0.2.0 +ipython==8.6.0 +ipywidgets==8.0.2 +jedi==0.18.1 +jinja2==3.1.2 +joblib==1.2.0 +jsonschema==4.16.0 +jupyter-client==7.4.4 +jupyter-console==6.4.4 +jupyter-core==4.11.2 +jupyter-server==1.21.0 +jupyter==1.0.0 +jupyterlab-pygments==0.2.2 +jupyterlab-widgets==3.0.3 +kiwisolver==1.4.4 +langcodes==3.3.0 +littleutils==0.2.2 +lxml==4.9.1 +markdown==3.4.1 +markupsafe==2.1.1 +matplotlib-inline==0.1.6 +matplotlib==3.6.2 +mistune==2.0.4 +murmurhash==1.0.9 +nbclassic==0.4.7 +nbclient==0.7.0 +nbconvert==7.2.3 +nbformat==5.7.0 +nest-asyncio==1.5.6 +networkx==2.8.8 +nltk==3.7 +notebook-shim==0.2.0 +notebook==6.5.2 +numpy==1.23.5 +oauthlib==3.2.2 +ogb==1.3.5 +outdated==0.2.2 +packaging==21.3 +pandas==1.5.1 +pandocfilters==1.5.0 +parso==0.8.3 +pathtools==0.1.2 +pathy==0.6.2 +pickleshare==0.7.5 +pillow==9.3.0 +pip==21.3.1 +pkgutil-resolve-name==1.3.10 +plotly==5.13.0 +preshed==3.0.8 +prometheus-client==0.15.0 +prompt-toolkit==3.0.31 +protobuf==3.19.6 +psutil==5.9.3 +pure-eval==0.2.2 +pyasn1-modules==0.2.8 +pyasn1==0.4.8 +pycparser==2.21 +pydantic==1.10.2 +pygments==2.13.0 +pyparsing==3.0.9 +pyrsistent==0.18.1 +python-dateutil==2.8.2 +pythonds==1.2.1 +pytz==2022.5 +pywin32==304 +pywinpty==2.0.9 +pyyaml==6.0 +pyzmq==24.0.1 +qtconsole==5.3.2 +qtpy==2.2.1 +regex==2022.10.31 +requests-oauthlib==1.3.1 +requests==2.28.1 +rsa==4.9 +scikit-learn==1.1.3 +scipy==1.9.3 +send2trash==1.8.0 +sentry-sdk==1.15.0 +setproctitle==1.3.2 +setuptools==60.2.0 +six==1.16.0 +smart-open==5.2.1 +smmap==5.0.0 +sniffio==1.3.0 +soupsieve==2.3.2.post1 +spacy-legacy==3.0.10 +spacy-loggers==1.0.3 +spacy==3.4.2 +srsly==2.4.5 +stack-data==0.6.0 +stanfordcorenlp==3.9.1.1 +tenacity==8.2.1 +tensorboard-data-server==0.6.1 +tensorboard-plugin-wit==1.8.1 +tensorboard==2.10.1 +terminado==0.17.0 +thinc==8.1.5 +threadpoolctl==3.1.0 +tinycss2==1.2.1 +tokenizers==0.13.2 +torch-cluster==1.6.0+pt113cpu +torch-geometric==2.2.0 +torch-scatter==2.1.0+pt113cpu +torch-sparse==0.6.16+pt113cpu +torch-spline-conv==1.2.1+pt113cpu +torch==1.13.0 +torchsummary==1.5.1 +torchtext==0.14.0 +tornado==6.2 +tqdm==4.64.1 +traitlets==5.5.0 +transformers==4.24.0 +typer==0.4.2 +typing-extensions==4.4.0 +urllib3==1.26.12 +wandb==0.13.10 +wasabi==0.10.1 +wcwidth==0.2.5 +webencodings==0.5.1 +websocket-client==1.4.1 +werkzeug==2.2.2 +wheel==0.37.1 +widgetsnbextension==4.0.3 +zipp==3.10.0 \ No newline at end of file diff --git a/embeddings/wandb/run-20230224_173200-3ofoabdq/files/wandb-metadata.json b/embeddings/wandb/run-20230224_173200-3ofoabdq/files/wandb-metadata.json new file mode 100644 index 0000000000000000000000000000000000000000..89f86c992b176a1c02c0c6a53526d4ad785e51dc --- /dev/null +++ b/embeddings/wandb/run-20230224_173200-3ofoabdq/files/wandb-metadata.json @@ -0,0 +1,42 @@ +{ + "os": "Windows-10-10.0.19041-SP0", + "python": "3.8.1", + "heartbeatAt": "2023-02-24T17:32:02.531012", + "startedAt": "2023-02-24T17:32:00.828449", + "docker": null, + "cuda": null, + "args": [], + "state": "running", + "program": "C:\\Users\\liamb\\Documents\\graph4stackoverflow\\embeddings\\hetero_GAT.py", + "codePath": "embeddings\\hetero_GAT.py", + "git": { + "remote": "https://git.soton.ac.uk/lhb1g20/graph4stackoverflow.git", + "commit": "ced992d661984f7b87d1a3e76768e4ff7af78245" + }, + "email": "liambyrneh@gmail.com", + "root": "C:/Users/liamb/Documents/graph4stackoverflow", + "host": "DESKTOP-P7BETFF", + "username": "liamb", + "executable": "C:\\Users\\liamb\\Documents\\graph4stackoverflow\\venv\\Scripts\\python.exe", + "cpu_count": 2, + "cpu_count_logical": 4, + "cpu_freq": { + "current": 3504.0, + "min": 0.0, + "max": 3504.0 + }, + "cpu_freq_per_core": [ + { + "current": 3504.0, + "min": 0.0, + "max": 3504.0 + } + ], + "disk": { + "total": 475.71581649780273, + "used": 356.96102142333984 + }, + "memory": { + "total": 31.89160919189453 + } +} diff --git a/embeddings/wandb/run-20230224_173200-3ofoabdq/files/wandb-summary.json b/embeddings/wandb/run-20230224_173200-3ofoabdq/files/wandb-summary.json new file mode 100644 index 0000000000000000000000000000000000000000..971d47939227bae0ec95239d24debe3d22478dc7 --- /dev/null +++ b/embeddings/wandb/run-20230224_173200-3ofoabdq/files/wandb-summary.json @@ -0,0 +1 @@ +{"_wandb": {"runtime": 1}} \ No newline at end of file diff --git a/embeddings/wandb/run-20230224_173200-3ofoabdq/logs/debug-internal.log b/embeddings/wandb/run-20230224_173200-3ofoabdq/logs/debug-internal.log new file mode 100644 index 0000000000000000000000000000000000000000..e82b36b45e3ff1c3276c2d98e0426449765d76fb --- /dev/null +++ b/embeddings/wandb/run-20230224_173200-3ofoabdq/logs/debug-internal.log @@ -0,0 +1,172 @@ +2023-02-24 17:32:01,848 INFO StreamThr :15480 [internal.py:wandb_internal():87] W&B internal server running at pid: 15480, started at: 2023-02-24 17:32:01.847372 +2023-02-24 17:32:01,850 DEBUG HandlerThread:15480 [handler.py:handle_request():144] handle_request: status +2023-02-24 17:32:01,851 INFO WriterThread:15480 [datastore.py:open_for_write():85] open: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_173200-3ofoabdq\run-3ofoabdq.wandb +2023-02-24 17:32:01,853 DEBUG SenderThread:15480 [sender.py:send():336] send: header +2023-02-24 17:32:01,853 DEBUG SenderThread:15480 [sender.py:send():336] send: run +2023-02-24 17:32:02,334 INFO SenderThread:15480 [dir_watcher.py:__init__():216] watching files in: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_173200-3ofoabdq\files +2023-02-24 17:32:02,334 INFO SenderThread:15480 [sender.py:_start_run_threads():1067] run started: 3ofoabdq with start time 1677259920.838449 +2023-02-24 17:32:02,334 DEBUG SenderThread:15480 [sender.py:send_request():363] send_request: summary_record +2023-02-24 17:32:02,335 INFO SenderThread:15480 [sender.py:_save_file():1321] saving file wandb-summary.json with policy end +2023-02-24 17:32:02,339 DEBUG HandlerThread:15480 [handler.py:handle_request():144] handle_request: check_version +2023-02-24 17:32:02,340 DEBUG SenderThread:15480 [sender.py:send_request():363] send_request: check_version +2023-02-24 17:32:02,511 DEBUG HandlerThread:15480 [handler.py:handle_request():144] handle_request: run_start +2023-02-24 17:32:02,526 DEBUG HandlerThread:15480 [system_info.py:__init__():31] System info init +2023-02-24 17:32:02,526 DEBUG HandlerThread:15480 [system_info.py:__init__():46] System info init done +2023-02-24 17:32:02,526 INFO HandlerThread:15480 [system_monitor.py:start():151] Starting system monitor +2023-02-24 17:32:02,527 INFO SystemMonitor:15480 [system_monitor.py:_start():116] Starting system asset monitoring threads +2023-02-24 17:32:02,527 INFO HandlerThread:15480 [system_monitor.py:probe():172] Collecting system info +2023-02-24 17:32:02,531 INFO SystemMonitor:15480 [interfaces.py:start():168] Started cpu +2023-02-24 17:32:02,531 DEBUG HandlerThread:15480 [system_info.py:probe():195] Probing system +2023-02-24 17:32:02,531 INFO SystemMonitor:15480 [interfaces.py:start():168] Started disk +2023-02-24 17:32:02,531 INFO SystemMonitor:15480 [interfaces.py:start():168] Started memory +2023-02-24 17:32:02,546 INFO SystemMonitor:15480 [interfaces.py:start():168] Started network +2023-02-24 17:32:02,547 DEBUG HandlerThread:15480 [system_info.py:_probe_git():180] Probing git +2023-02-24 17:32:02,640 DEBUG HandlerThread:15480 [system_info.py:_probe_git():188] Probing git done +2023-02-24 17:32:02,640 DEBUG HandlerThread:15480 [system_info.py:probe():241] Probing system done +2023-02-24 17:32:02,640 DEBUG HandlerThread:15480 [system_monitor.py:probe():181] {'os': 'Windows-10-10.0.19041-SP0', 'python': '3.8.1', 'heartbeatAt': '2023-02-24T17:32:02.531012', 'startedAt': '2023-02-24T17:32:00.828449', 'docker': None, 'cuda': None, 'args': (), 'state': 'running', 'program': 'C:\\Users\\liamb\\Documents\\graph4stackoverflow\\embeddings\\hetero_GAT.py', 'codePath': 'embeddings\\hetero_GAT.py', 'git': {'remote': 'https://git.soton.ac.uk/lhb1g20/graph4stackoverflow.git', 'commit': 'ced992d661984f7b87d1a3e76768e4ff7af78245'}, 'email': 'liambyrneh@gmail.com', 'root': 'C:/Users/liamb/Documents/graph4stackoverflow', 'host': 'DESKTOP-P7BETFF', 'username': 'liamb', 'executable': 'C:\\Users\\liamb\\Documents\\graph4stackoverflow\\venv\\Scripts\\python.exe', 'cpu_count': 2, 'cpu_count_logical': 4, 'cpu_freq': {'current': 3504.0, 'min': 0.0, 'max': 3504.0}, 'cpu_freq_per_core': [{'current': 3504.0, 'min': 0.0, 'max': 3504.0}], 'disk': {'total': 475.71581649780273, 'used': 356.96102142333984}, 'memory': {'total': 31.89160919189453}} +2023-02-24 17:32:02,640 INFO HandlerThread:15480 [system_monitor.py:probe():182] Finished collecting system info +2023-02-24 17:32:02,640 INFO HandlerThread:15480 [system_monitor.py:probe():185] Publishing system info +2023-02-24 17:32:02,641 DEBUG HandlerThread:15480 [system_info.py:_save_pip():51] Saving list of pip packages installed into the current environment +2023-02-24 17:32:02,641 DEBUG HandlerThread:15480 [system_info.py:_save_pip():67] Saving pip packages done +2023-02-24 17:32:02,644 INFO HandlerThread:15480 [system_monitor.py:probe():187] Finished publishing system info +2023-02-24 17:32:02,645 DEBUG SenderThread:15480 [sender.py:send():336] send: files +2023-02-24 17:32:02,645 INFO SenderThread:15480 [sender.py:_save_file():1321] saving file wandb-metadata.json with policy now +2023-02-24 17:32:02,652 DEBUG HandlerThread:15480 [handler.py:handle_request():144] handle_request: stop_status +2023-02-24 17:32:02,653 DEBUG SenderThread:15480 [sender.py:send_request():363] send_request: stop_status +2023-02-24 17:32:02,837 DEBUG SenderThread:15480 [sender.py:send():336] send: telemetry +2023-02-24 17:32:03,272 INFO wandb-upload_0:15480 [upload_job.py:push():138] Uploaded file C:\Users\liamb\AppData\Local\Temp\tmpem8e_y6ywandb\tm33tf0h-wandb-metadata.json +2023-02-24 17:32:03,318 DEBUG SenderThread:15480 [sender.py:send():336] send: use_artifact +2023-02-24 17:32:03,336 INFO Thread-32 :15480 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_173200-3ofoabdq\files\requirements.txt +2023-02-24 17:32:03,337 INFO Thread-32 :15480 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_173200-3ofoabdq\files\wandb-summary.json +2023-02-24 17:32:03,337 INFO Thread-32 :15480 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_173200-3ofoabdq\files\wandb-metadata.json +2023-02-24 17:32:03,695 DEBUG SenderThread:15480 [sender.py:send():336] send: exit +2023-02-24 17:32:03,695 INFO SenderThread:15480 [sender.py:send_exit():559] handling exit code: 1 +2023-02-24 17:32:03,695 INFO SenderThread:15480 [sender.py:send_exit():561] handling runtime: 1 +2023-02-24 17:32:03,696 INFO SenderThread:15480 [sender.py:_save_file():1321] saving file wandb-summary.json with policy end +2023-02-24 17:32:03,696 INFO SenderThread:15480 [sender.py:send_exit():567] send defer +2023-02-24 17:32:03,696 DEBUG HandlerThread:15480 [handler.py:handle_request():144] handle_request: defer +2023-02-24 17:32:03,697 INFO HandlerThread:15480 [handler.py:handle_request_defer():170] handle defer: 0 +2023-02-24 17:32:03,697 DEBUG SenderThread:15480 [sender.py:send_request():363] send_request: defer +2023-02-24 17:32:03,697 INFO SenderThread:15480 [sender.py:send_request_defer():583] handle sender defer: 0 +2023-02-24 17:32:03,697 INFO SenderThread:15480 [sender.py:transition_state():587] send defer: 1 +2023-02-24 17:32:03,697 DEBUG HandlerThread:15480 [handler.py:handle_request():144] handle_request: defer +2023-02-24 17:32:03,697 INFO HandlerThread:15480 [handler.py:handle_request_defer():170] handle defer: 1 +2023-02-24 17:32:03,697 DEBUG SenderThread:15480 [sender.py:send_request():363] send_request: defer +2023-02-24 17:32:03,697 INFO SenderThread:15480 [sender.py:send_request_defer():583] handle sender defer: 1 +2023-02-24 17:32:03,697 INFO SenderThread:15480 [sender.py:transition_state():587] send defer: 2 +2023-02-24 17:32:03,698 DEBUG HandlerThread:15480 [handler.py:handle_request():144] handle_request: defer +2023-02-24 17:32:03,698 INFO HandlerThread:15480 [handler.py:handle_request_defer():170] handle defer: 2 +2023-02-24 17:32:03,698 INFO HandlerThread:15480 [system_monitor.py:finish():161] Stopping system monitor +2023-02-24 17:32:03,698 DEBUG SystemMonitor:15480 [system_monitor.py:_start():130] Starting system metrics aggregation loop +2023-02-24 17:32:03,698 DEBUG SystemMonitor:15480 [system_monitor.py:_start():137] Finished system metrics aggregation loop +2023-02-24 17:32:03,699 DEBUG SystemMonitor:15480 [system_monitor.py:_start():141] Publishing last batch of metrics +2023-02-24 17:32:03,699 INFO HandlerThread:15480 [interfaces.py:finish():175] Joined cpu +2023-02-24 17:32:03,699 INFO HandlerThread:15480 [interfaces.py:finish():175] Joined disk +2023-02-24 17:32:03,699 INFO HandlerThread:15480 [interfaces.py:finish():175] Joined memory +2023-02-24 17:32:03,699 INFO HandlerThread:15480 [interfaces.py:finish():175] Joined network +2023-02-24 17:32:03,700 DEBUG SenderThread:15480 [sender.py:send_request():363] send_request: defer +2023-02-24 17:32:03,700 INFO SenderThread:15480 [sender.py:send_request_defer():583] handle sender defer: 2 +2023-02-24 17:32:03,700 INFO SenderThread:15480 [sender.py:transition_state():587] send defer: 3 +2023-02-24 17:32:03,700 DEBUG SenderThread:15480 [sender.py:send():336] send: stats +2023-02-24 17:32:03,700 DEBUG HandlerThread:15480 [handler.py:handle_request():144] handle_request: defer +2023-02-24 17:32:03,700 INFO HandlerThread:15480 [handler.py:handle_request_defer():170] handle defer: 3 +2023-02-24 17:32:03,701 DEBUG SenderThread:15480 [sender.py:send_request():363] send_request: defer +2023-02-24 17:32:03,701 INFO SenderThread:15480 [sender.py:send_request_defer():583] handle sender defer: 3 +2023-02-24 17:32:03,701 INFO SenderThread:15480 [sender.py:transition_state():587] send defer: 4 +2023-02-24 17:32:03,701 DEBUG HandlerThread:15480 [handler.py:handle_request():144] handle_request: defer +2023-02-24 17:32:03,701 INFO HandlerThread:15480 [handler.py:handle_request_defer():170] handle defer: 4 +2023-02-24 17:32:03,701 DEBUG SenderThread:15480 [sender.py:send_request():363] send_request: defer +2023-02-24 17:32:03,701 INFO SenderThread:15480 [sender.py:send_request_defer():583] handle sender defer: 4 +2023-02-24 17:32:03,701 INFO SenderThread:15480 [sender.py:transition_state():587] send defer: 5 +2023-02-24 17:32:03,701 DEBUG HandlerThread:15480 [handler.py:handle_request():144] handle_request: defer +2023-02-24 17:32:03,702 INFO HandlerThread:15480 [handler.py:handle_request_defer():170] handle defer: 5 +2023-02-24 17:32:03,702 DEBUG SenderThread:15480 [sender.py:send():336] send: summary +2023-02-24 17:32:03,702 INFO SenderThread:15480 [sender.py:_save_file():1321] saving file wandb-summary.json with policy end +2023-02-24 17:32:03,703 DEBUG SenderThread:15480 [sender.py:send_request():363] send_request: defer +2023-02-24 17:32:03,703 INFO SenderThread:15480 [sender.py:send_request_defer():583] handle sender defer: 5 +2023-02-24 17:32:03,703 INFO SenderThread:15480 [sender.py:transition_state():587] send defer: 6 +2023-02-24 17:32:03,703 DEBUG HandlerThread:15480 [handler.py:handle_request():144] handle_request: defer +2023-02-24 17:32:03,704 INFO HandlerThread:15480 [handler.py:handle_request_defer():170] handle defer: 6 +2023-02-24 17:32:03,704 DEBUG SenderThread:15480 [sender.py:send_request():363] send_request: defer +2023-02-24 17:32:03,704 INFO SenderThread:15480 [sender.py:send_request_defer():583] handle sender defer: 6 +2023-02-24 17:32:03,707 DEBUG HandlerThread:15480 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 17:32:03,932 INFO SenderThread:15480 [sender.py:transition_state():587] send defer: 7 +2023-02-24 17:32:03,933 DEBUG HandlerThread:15480 [handler.py:handle_request():144] handle_request: defer +2023-02-24 17:32:03,933 INFO HandlerThread:15480 [handler.py:handle_request_defer():170] handle defer: 7 +2023-02-24 17:32:03,933 DEBUG SenderThread:15480 [sender.py:send_request():363] send_request: defer +2023-02-24 17:32:03,933 INFO SenderThread:15480 [sender.py:send_request_defer():583] handle sender defer: 7 +2023-02-24 17:32:04,351 INFO Thread-32 :15480 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_173200-3ofoabdq\files\config.yaml +2023-02-24 17:32:04,351 INFO Thread-32 :15480 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_173200-3ofoabdq\files\wandb-summary.json +2023-02-24 17:32:04,351 INFO Thread-32 :15480 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_173200-3ofoabdq\files\output.log +2023-02-24 17:32:04,708 DEBUG HandlerThread:15480 [handler.py:handle_request():144] handle_request: poll_exit +2023-02-24 17:32:05,555 INFO SenderThread:15480 [sender.py:transition_state():587] send defer: 8 +2023-02-24 17:32:05,556 DEBUG SenderThread:15480 [sender.py:send_request():363] send_request: poll_exit +2023-02-24 17:32:05,556 DEBUG HandlerThread:15480 [handler.py:handle_request():144] handle_request: defer +2023-02-24 17:32:05,556 INFO HandlerThread:15480 [handler.py:handle_request_defer():170] handle defer: 8 +2023-02-24 17:32:05,556 DEBUG SenderThread:15480 [sender.py:send_request():363] send_request: defer +2023-02-24 17:32:05,557 INFO SenderThread:15480 [sender.py:send_request_defer():583] handle sender defer: 8 +2023-02-24 17:32:05,569 INFO SenderThread:15480 [sender.py:transition_state():587] send defer: 9 +2023-02-24 17:32:05,570 DEBUG HandlerThread:15480 [handler.py:handle_request():144] handle_request: defer +2023-02-24 17:32:05,570 DEBUG SenderThread:15480 [sender.py:send():336] send: artifact +2023-02-24 17:32:05,570 INFO HandlerThread:15480 [handler.py:handle_request_defer():170] handle defer: 9 +2023-02-24 17:32:05,723 DEBUG HandlerThread:15480 [handler.py:handle_request():144] handle_request: poll_exit +2023-02-24 17:32:06,376 INFO Thread-32 :15480 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_173200-3ofoabdq\files\output.log +2023-02-24 17:32:06,570 INFO SenderThread:15480 [sender.py:send_artifact():1417] sent artifact job-https___git.soton.ac.uk_lhb1g20_graph4stackoverflow.git_embeddings_hetero_GAT.py - {'id': 'QXJ0aWZhY3Q6MzgwMzY3ODUz', 'digest': 'dbe34f6e8b990dacc5d7c5e1ab1d02a4', 'state': 'COMMITTED', 'aliases': [{'artifactCollectionName': 'job-https___git.soton.ac.uk_lhb1g20_graph4stackoverflow.git_embeddings_hetero_GAT.py', 'alias': 'latest'}, {'artifactCollectionName': 'job-https___git.soton.ac.uk_lhb1g20_graph4stackoverflow.git_embeddings_hetero_GAT.py', 'alias': 'v0'}], 'artifactSequence': {'id': 'QXJ0aWZhY3RDb2xsZWN0aW9uOjU0NTg3MzU0', 'latestArtifact': {'id': 'QXJ0aWZhY3Q6MzgwMzk2OTM0', 'versionIndex': 2}}, 'version': 'v0'} +2023-02-24 17:32:06,570 DEBUG SenderThread:15480 [sender.py:send_request():363] send_request: defer +2023-02-24 17:32:06,570 INFO SenderThread:15480 [sender.py:send_request_defer():583] handle sender defer: 9 +2023-02-24 17:32:06,570 INFO SenderThread:15480 [dir_watcher.py:finish():362] shutting down directory watcher +2023-02-24 17:32:07,387 INFO SenderThread:15480 [dir_watcher.py:finish():392] scan: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_173200-3ofoabdq\files +2023-02-24 17:32:07,387 INFO SenderThread:15480 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_173200-3ofoabdq\files\config.yaml config.yaml +2023-02-24 17:32:07,388 INFO SenderThread:15480 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_173200-3ofoabdq\files\output.log output.log +2023-02-24 17:32:07,391 INFO SenderThread:15480 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_173200-3ofoabdq\files\requirements.txt requirements.txt +2023-02-24 17:32:07,395 INFO SenderThread:15480 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_173200-3ofoabdq\files\wandb-metadata.json wandb-metadata.json +2023-02-24 17:32:07,397 INFO SenderThread:15480 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_173200-3ofoabdq\files\wandb-summary.json wandb-summary.json +2023-02-24 17:32:07,401 INFO SenderThread:15480 [sender.py:transition_state():587] send defer: 10 +2023-02-24 17:32:07,401 DEBUG SenderThread:15480 [sender.py:send_request():363] send_request: poll_exit +2023-02-24 17:32:07,403 DEBUG HandlerThread:15480 [handler.py:handle_request():144] handle_request: defer +2023-02-24 17:32:07,408 INFO HandlerThread:15480 [handler.py:handle_request_defer():170] handle defer: 10 +2023-02-24 17:32:07,409 DEBUG SenderThread:15480 [sender.py:send_request():363] send_request: defer +2023-02-24 17:32:07,410 INFO SenderThread:15480 [sender.py:send_request_defer():583] handle sender defer: 10 +2023-02-24 17:32:07,410 INFO SenderThread:15480 [file_pusher.py:finish():162] shutting down file pusher +2023-02-24 17:32:07,883 INFO wandb-upload_0:15480 [upload_job.py:push():138] Uploaded file C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_173200-3ofoabdq\files\config.yaml +2023-02-24 17:32:08,001 INFO wandb-upload_2:15480 [upload_job.py:push():138] Uploaded file C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_173200-3ofoabdq\files\requirements.txt +2023-02-24 17:32:08,032 INFO wandb-upload_3:15480 [upload_job.py:push():138] Uploaded file C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_173200-3ofoabdq\files\wandb-summary.json +2023-02-24 17:32:08,045 INFO wandb-upload_1:15480 [upload_job.py:push():138] Uploaded file C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_173200-3ofoabdq\files\output.log +2023-02-24 17:32:08,253 INFO Thread-31 :15480 [sender.py:transition_state():587] send defer: 11 +2023-02-24 17:32:08,253 DEBUG HandlerThread:15480 [handler.py:handle_request():144] handle_request: defer +2023-02-24 17:32:08,254 INFO HandlerThread:15480 [handler.py:handle_request_defer():170] handle defer: 11 +2023-02-24 17:32:08,254 DEBUG SenderThread:15480 [sender.py:send_request():363] send_request: defer +2023-02-24 17:32:08,254 INFO SenderThread:15480 [sender.py:send_request_defer():583] handle sender defer: 11 +2023-02-24 17:32:08,254 INFO SenderThread:15480 [file_pusher.py:join():167] waiting for file pusher +2023-02-24 17:32:08,255 INFO SenderThread:15480 [sender.py:transition_state():587] send defer: 12 +2023-02-24 17:32:08,255 DEBUG HandlerThread:15480 [handler.py:handle_request():144] handle_request: defer +2023-02-24 17:32:08,255 INFO HandlerThread:15480 [handler.py:handle_request_defer():170] handle defer: 12 +2023-02-24 17:32:08,255 DEBUG SenderThread:15480 [sender.py:send_request():363] send_request: defer +2023-02-24 17:32:08,255 INFO SenderThread:15480 [sender.py:send_request_defer():583] handle sender defer: 12 +2023-02-24 17:32:08,393 INFO SenderThread:15480 [sender.py:transition_state():587] send defer: 13 +2023-02-24 17:32:08,394 DEBUG HandlerThread:15480 [handler.py:handle_request():144] handle_request: defer +2023-02-24 17:32:08,394 INFO HandlerThread:15480 [handler.py:handle_request_defer():170] handle defer: 13 +2023-02-24 17:32:08,394 DEBUG SenderThread:15480 [sender.py:send_request():363] send_request: defer +2023-02-24 17:32:08,394 INFO SenderThread:15480 [sender.py:send_request_defer():583] handle sender defer: 13 +2023-02-24 17:32:08,394 INFO SenderThread:15480 [sender.py:transition_state():587] send defer: 14 +2023-02-24 17:32:08,394 DEBUG HandlerThread:15480 [handler.py:handle_request():144] handle_request: defer +2023-02-24 17:32:08,395 INFO HandlerThread:15480 [handler.py:handle_request_defer():170] handle defer: 14 +2023-02-24 17:32:08,396 DEBUG SenderThread:15480 [sender.py:send():336] send: final +2023-02-24 17:32:08,396 DEBUG SenderThread:15480 [sender.py:send():336] send: footer +2023-02-24 17:32:08,396 DEBUG SenderThread:15480 [sender.py:send_request():363] send_request: defer +2023-02-24 17:32:08,396 INFO SenderThread:15480 [sender.py:send_request_defer():583] handle sender defer: 14 +2023-02-24 17:32:08,397 DEBUG HandlerThread:15480 [handler.py:handle_request():144] handle_request: poll_exit +2023-02-24 17:32:08,397 DEBUG HandlerThread:15480 [handler.py:handle_request():144] handle_request: server_info +2023-02-24 17:32:08,397 DEBUG HandlerThread:15480 [handler.py:handle_request():144] handle_request: get_summary +2023-02-24 17:32:08,397 DEBUG HandlerThread:15480 [handler.py:handle_request():144] handle_request: sampled_history +2023-02-24 17:32:08,398 DEBUG SenderThread:15480 [sender.py:send_request():363] send_request: poll_exit +2023-02-24 17:32:08,398 DEBUG SenderThread:15480 [sender.py:send_request():363] send_request: server_info +2023-02-24 17:32:08,583 INFO MainThread:15480 [wandb_run.py:_footer_history_summary_info():3442] rendering history +2023-02-24 17:32:08,583 INFO MainThread:15480 [wandb_run.py:_footer_history_summary_info():3474] rendering summary +2023-02-24 17:32:08,583 INFO MainThread:15480 [wandb_run.py:_footer_sync_info():3398] logging synced files +2023-02-24 17:32:08,583 DEBUG HandlerThread:15480 [handler.py:handle_request():144] handle_request: shutdown +2023-02-24 17:32:08,583 INFO HandlerThread:15480 [handler.py:finish():841] shutting down handler +2023-02-24 17:32:09,405 INFO WriterThread:15480 [datastore.py:close():299] close: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_173200-3ofoabdq\run-3ofoabdq.wandb +2023-02-24 17:32:09,592 INFO SenderThread:15480 [sender.py:finish():1493] shutting down sender +2023-02-24 17:32:09,592 INFO SenderThread:15480 [file_pusher.py:finish():162] shutting down file pusher +2023-02-24 17:32:09,592 INFO SenderThread:15480 [file_pusher.py:join():167] waiting for file pusher diff --git a/embeddings/wandb/run-20230224_173200-3ofoabdq/logs/debug.log b/embeddings/wandb/run-20230224_173200-3ofoabdq/logs/debug.log new file mode 100644 index 0000000000000000000000000000000000000000..87bae23b35af6b1607390538fe48d80dd19b1627 --- /dev/null +++ b/embeddings/wandb/run-20230224_173200-3ofoabdq/logs/debug.log @@ -0,0 +1,25 @@ +2023-02-24 17:32:00,831 INFO MainThread:5948 [wandb_setup.py:_flush():68] Configure stats pid to 5948 +2023-02-24 17:32:00,831 INFO MainThread:5948 [wandb_setup.py:_flush():68] Loading settings from C:\Users\liamb\.config\wandb\settings +2023-02-24 17:32:00,831 INFO MainThread:5948 [wandb_setup.py:_flush():68] Loading settings from C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\settings +2023-02-24 17:32:00,831 INFO MainThread:5948 [wandb_setup.py:_flush():68] Loading settings from environment variables: {'_require_service': 'True'} +2023-02-24 17:32:00,831 INFO MainThread:5948 [wandb_setup.py:_flush():68] Inferring run settings from compute environment: {'program_relpath': 'embeddings\\hetero_GAT.py', 'program': 'C:\\Users\\liamb\\Documents\\graph4stackoverflow\\embeddings\\hetero_GAT.py'} +2023-02-24 17:32:00,832 INFO MainThread:5948 [wandb_init.py:_log_setup():492] Logging user logs to C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_173200-3ofoabdq\logs\debug.log +2023-02-24 17:32:00,832 INFO MainThread:5948 [wandb_init.py:_log_setup():493] Logging internal logs to C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_173200-3ofoabdq\logs\debug-internal.log +2023-02-24 17:32:00,832 INFO MainThread:5948 [wandb_init.py:init():532] calling init triggers +2023-02-24 17:32:00,832 INFO MainThread:5948 [wandb_init.py:init():538] wandb.init called with sweep_config: {} +config: {} +2023-02-24 17:32:00,832 INFO MainThread:5948 [wandb_init.py:init():588] starting backend +2023-02-24 17:32:00,832 INFO MainThread:5948 [wandb_init.py:init():592] setting up manager +2023-02-24 17:32:00,835 INFO MainThread:5948 [backend.py:_multiprocessing_setup():106] multiprocessing start_methods=spawn, using: spawn +2023-02-24 17:32:00,837 INFO MainThread:5948 [wandb_init.py:init():599] backend started and connected +2023-02-24 17:32:00,840 INFO MainThread:5948 [wandb_init.py:init():687] updated telemetry +2023-02-24 17:32:00,899 INFO MainThread:5948 [wandb_init.py:init():727] communicating run to backend with 60.0 second timeout +2023-02-24 17:32:02,338 INFO MainThread:5948 [wandb_run.py:_on_init():2134] communicating current version +2023-02-24 17:32:02,504 INFO MainThread:5948 [wandb_run.py:_on_init():2143] got version response +2023-02-24 17:32:02,504 INFO MainThread:5948 [wandb_init.py:init():775] starting run threads in backend +2023-02-24 17:32:02,653 INFO MainThread:5948 [wandb_run.py:_console_start():2114] atexit reg +2023-02-24 17:32:02,653 INFO MainThread:5948 [wandb_run.py:_redirect():1969] redirect: SettingsConsole.WRAP_RAW +2023-02-24 17:32:02,653 INFO MainThread:5948 [wandb_run.py:_redirect():2034] Wrapping output streams. +2023-02-24 17:32:02,653 INFO MainThread:5948 [wandb_run.py:_redirect():2059] Redirects installed. +2023-02-24 17:32:02,654 INFO MainThread:5948 [wandb_init.py:init():817] run started, returning control to user process +2023-02-24 17:32:09,673 WARNING MsgRouterThr:5948 [router.py:message_loop():77] message_loop has been closed diff --git a/embeddings/wandb/run-20230224_173200-3ofoabdq/run-3ofoabdq.wandb b/embeddings/wandb/run-20230224_173200-3ofoabdq/run-3ofoabdq.wandb new file mode 100644 index 0000000000000000000000000000000000000000..7cb6a825bdd72f8e32f9aebf75afdf412ef288cb Binary files /dev/null and b/embeddings/wandb/run-20230224_173200-3ofoabdq/run-3ofoabdq.wandb differ diff --git a/embeddings/wandb/run-20230224_173309-b1hp9ady/files/config.yaml b/embeddings/wandb/run-20230224_173309-b1hp9ady/files/config.yaml new file mode 100644 index 0000000000000000000000000000000000000000..839e51f1673a48a4ccdbfcb8c58e061feb2a53d7 --- /dev/null +++ b/embeddings/wandb/run-20230224_173309-b1hp9ady/files/config.yaml @@ -0,0 +1,41 @@ +wandb_version: 1 + +_wandb: + desc: null + value: + cli_version: 0.13.10 + framework: huggingface + huggingface_version: 4.24.0 + is_jupyter_run: false + is_kaggle_kernel: false + python_version: 3.8.1 + start_time: 1677259989.672138 + t: + 1: + - 1 + - 5 + - 11 + - 33 + - 49 + - 53 + - 55 + - 77 + 2: + - 1 + - 5 + - 11 + - 33 + - 49 + - 53 + - 55 + - 77 + 3: + - 2 + - 13 + - 23 + 4: 3.8.1 + 5: 0.13.10 + 6: 4.24.0 + 8: + - 3 + - 5 diff --git a/embeddings/wandb/run-20230224_173309-b1hp9ady/files/media/table/data_1_be2b7661523f5213a694.table.json b/embeddings/wandb/run-20230224_173309-b1hp9ady/files/media/table/data_1_be2b7661523f5213a694.table.json new file mode 100644 index 0000000000000000000000000000000000000000..4c5b433c679592a36ab0b72e6f19f82fe33e308f Binary files /dev/null and b/embeddings/wandb/run-20230224_173309-b1hp9ady/files/media/table/data_1_be2b7661523f5213a694.table.json differ diff --git a/embeddings/wandb/run-20230224_173309-b1hp9ady/files/output.log b/embeddings/wandb/run-20230224_173309-b1hp9ady/files/output.log new file mode 100644 index 0000000000000000000000000000000000000000..3e008fc624cf5203620c9bbe0dea67a999b9b597 --- /dev/null +++ b/embeddings/wandb/run-20230224_173309-b1hp9ady/files/output.log @@ -0,0 +1,47 @@ +wandb: WARNING Serializing object of type str that is 7167176 bytes +wandb: WARNING Serializing object of type str that is 7193010 bytes +wandb: WARNING Serializing object of type str that is 7166428 bytes +wandb: WARNING Serializing object of type str that is 7192960 bytes +wandb: WARNING Serializing object of type str that is 7184498 bytes +wandb: WARNING Serializing object of type str that is 7168728 bytes +wandb: WARNING Serializing object of type str that is 7170654 bytes +wandb: WARNING Serializing object of type str that is 7186626 bytes +wandb: WARNING Serializing object of type str that is 7186024 bytes +wandb: WARNING Serializing object of type str that is 7182134 bytes +wandb: WARNING Serializing object of type str that is 7192958 bytes +wandb: WARNING Serializing object of type str that is 7180820 bytes +wandb: WARNING Serializing object of type str that is 7166802 bytes +wandb: WARNING Serializing object of type str that is 7166784 bytes +wandb: WARNING Serializing object of type str that is 7195422 bytes +wandb: WARNING Serializing object of type str that is 7173758 bytes +wandb: WARNING Serializing object of type str that is 7172258 bytes +wandb: WARNING Serializing object of type str that is 7185052 bytes +wandb: WARNING Serializing object of type str that is 7197532 bytes +wandb: WARNING Serializing object of type str that is 7174450 bytes +wandb: WARNING Serializing object of type str that is 7166340 bytes +wandb: WARNING Serializing object of type str that is 7192430 bytes +wandb: WARNING Serializing object of type str that is 7177216 bytes +wandb: WARNING Serializing object of type str that is 7184938 bytes +wandb: WARNING Serializing object of type str that is 7189554 bytes +wandb: WARNING Serializing object of type str that is 7183892 bytes +wandb: WARNING Serializing object of type str that is 7169112 bytes +wandb: WARNING Serializing object of type str that is 7168264 bytes +wandb: WARNING Serializing object of type str that is 7185666 bytes +wandb: WARNING Serializing object of type str that is 7171724 bytes +wandb: WARNING Serializing object of type str that is 7193012 bytes +wandb: WARNING Serializing object of type str that is 7174976 bytes +wandb: WARNING Serializing object of type str that is 7191632 bytes +wandb: WARNING Serializing object of type str that is 7175584 bytes +wandb: WARNING Serializing object of type str that is 7181066 bytes +wandb: WARNING Serializing object of type str that is 7169478 bytes +wandb: WARNING Serializing object of type str that is 7195648 bytes +wandb: WARNING Serializing object of type str that is 7186908 bytes +wandb: WARNING Serializing object of type str that is 7185848 bytes +wandb: WARNING Serializing object of type str that is 7188752 bytes +wandb: WARNING Serializing object of type str that is 7184766 bytes +wandb: WARNING Serializing object of type str that is 7166824 bytes +wandb: WARNING Serializing object of type str that is 7175804 bytes +wandb: WARNING Serializing object of type str that is 7172860 bytes +wandb: WARNING Serializing object of type str that is 7187938 bytes +wandb: WARNING Serializing object of type str that is 7183974 bytes +wandb: Adding directory to artifact (.\..\data)... Done. 1.9s \ No newline at end of file diff --git a/embeddings/wandb/run-20230224_173309-b1hp9ady/files/requirements.txt b/embeddings/wandb/run-20230224_173309-b1hp9ady/files/requirements.txt new file mode 100644 index 0000000000000000000000000000000000000000..d7de821539624662109e252a91c4907a963ad5fb --- /dev/null +++ b/embeddings/wandb/run-20230224_173309-b1hp9ady/files/requirements.txt @@ -0,0 +1,170 @@ +absl-py==1.3.0 +anyio==3.6.2 +appdirs==1.4.4 +argon2-cffi-bindings==21.2.0 +argon2-cffi==21.3.0 +asttokens==2.1.0 +astunparse==1.6.3 +attrs==22.1.0 +backcall==0.2.0 +beautifulsoup4==4.11.1 +bleach==5.0.1 +blis==0.7.9 +bs4==0.0.1 +cachetools==5.2.0 +catalogue==2.0.8 +certifi==2022.9.24 +cffi==1.15.1 +charset-normalizer==2.1.1 +click==8.1.3 +colorama==0.4.6 +confection==0.0.3 +contourpy==1.0.6 +cycler==0.11.0 +cymem==2.0.7 +debugpy==1.6.3 +decorator==5.1.1 +defusedxml==0.7.1 +dgl==0.9.1 +docker-pycreds==0.4.0 +en-core-web-sm==3.4.1 +entrypoints==0.4 +executing==1.2.0 +fastjsonschema==2.16.2 +filelock==3.8.0 +fonttools==4.38.0 +gitdb==4.0.10 +gitpython==3.1.31 +google-auth-oauthlib==0.4.6 +google-auth==2.14.0 +graph4nlp==0.5.5 +grpcio==1.50.0 +huggingface-hub==0.10.1 +idna==3.4 +importlib-metadata==5.0.0 +importlib-resources==5.10.0 +ipykernel==6.16.2 +ipython-genutils==0.2.0 +ipython==8.6.0 +ipywidgets==8.0.2 +jedi==0.18.1 +jinja2==3.1.2 +joblib==1.2.0 +jsonschema==4.16.0 +jupyter-client==7.4.4 +jupyter-console==6.4.4 +jupyter-core==4.11.2 +jupyter-server==1.21.0 +jupyter==1.0.0 +jupyterlab-pygments==0.2.2 +jupyterlab-widgets==3.0.3 +kiwisolver==1.4.4 +langcodes==3.3.0 +littleutils==0.2.2 +lxml==4.9.1 +markdown==3.4.1 +markupsafe==2.1.1 +matplotlib-inline==0.1.6 +matplotlib==3.6.2 +mistune==2.0.4 +murmurhash==1.0.9 +nbclassic==0.4.7 +nbclient==0.7.0 +nbconvert==7.2.3 +nbformat==5.7.0 +nest-asyncio==1.5.6 +networkx==2.8.8 +nltk==3.7 +notebook-shim==0.2.0 +notebook==6.5.2 +numpy==1.23.5 +oauthlib==3.2.2 +ogb==1.3.5 +outdated==0.2.2 +packaging==21.3 +pandas==1.5.1 +pandocfilters==1.5.0 +parso==0.8.3 +pathtools==0.1.2 +pathy==0.6.2 +pickleshare==0.7.5 +pillow==9.3.0 +pip==21.3.1 +pkgutil-resolve-name==1.3.10 +plotly==5.13.0 +preshed==3.0.8 +prometheus-client==0.15.0 +prompt-toolkit==3.0.31 +protobuf==3.19.6 +psutil==5.9.3 +pure-eval==0.2.2 +pyasn1-modules==0.2.8 +pyasn1==0.4.8 +pycparser==2.21 +pydantic==1.10.2 +pygments==2.13.0 +pyparsing==3.0.9 +pyrsistent==0.18.1 +python-dateutil==2.8.2 +pythonds==1.2.1 +pytz==2022.5 +pywin32==304 +pywinpty==2.0.9 +pyyaml==6.0 +pyzmq==24.0.1 +qtconsole==5.3.2 +qtpy==2.2.1 +regex==2022.10.31 +requests-oauthlib==1.3.1 +requests==2.28.1 +rsa==4.9 +scikit-learn==1.1.3 +scipy==1.9.3 +send2trash==1.8.0 +sentry-sdk==1.15.0 +setproctitle==1.3.2 +setuptools==60.2.0 +six==1.16.0 +smart-open==5.2.1 +smmap==5.0.0 +sniffio==1.3.0 +soupsieve==2.3.2.post1 +spacy-legacy==3.0.10 +spacy-loggers==1.0.3 +spacy==3.4.2 +srsly==2.4.5 +stack-data==0.6.0 +stanfordcorenlp==3.9.1.1 +tenacity==8.2.1 +tensorboard-data-server==0.6.1 +tensorboard-plugin-wit==1.8.1 +tensorboard==2.10.1 +terminado==0.17.0 +thinc==8.1.5 +threadpoolctl==3.1.0 +tinycss2==1.2.1 +tokenizers==0.13.2 +torch-cluster==1.6.0+pt113cpu +torch-geometric==2.2.0 +torch-scatter==2.1.0+pt113cpu +torch-sparse==0.6.16+pt113cpu +torch-spline-conv==1.2.1+pt113cpu +torch==1.13.0 +torchsummary==1.5.1 +torchtext==0.14.0 +tornado==6.2 +tqdm==4.64.1 +traitlets==5.5.0 +transformers==4.24.0 +typer==0.4.2 +typing-extensions==4.4.0 +urllib3==1.26.12 +wandb==0.13.10 +wasabi==0.10.1 +wcwidth==0.2.5 +webencodings==0.5.1 +websocket-client==1.4.1 +werkzeug==2.2.2 +wheel==0.37.1 +widgetsnbextension==4.0.3 +zipp==3.10.0 \ No newline at end of file diff --git a/embeddings/wandb/run-20230224_173309-b1hp9ady/files/wandb-metadata.json b/embeddings/wandb/run-20230224_173309-b1hp9ady/files/wandb-metadata.json new file mode 100644 index 0000000000000000000000000000000000000000..1b8288820f987d9dfd7765a1b5eda93a2810e451 --- /dev/null +++ b/embeddings/wandb/run-20230224_173309-b1hp9ady/files/wandb-metadata.json @@ -0,0 +1,42 @@ +{ + "os": "Windows-10-10.0.19041-SP0", + "python": "3.8.1", + "heartbeatAt": "2023-02-24T17:33:10.203282", + "startedAt": "2023-02-24T17:33:09.659172", + "docker": null, + "cuda": null, + "args": [], + "state": "running", + "program": "C:\\Users\\liamb\\Documents\\graph4stackoverflow\\embeddings\\hetero_GAT.py", + "codePath": "embeddings\\hetero_GAT.py", + "git": { + "remote": "https://git.soton.ac.uk/lhb1g20/graph4stackoverflow.git", + "commit": "ced992d661984f7b87d1a3e76768e4ff7af78245" + }, + "email": "liambyrneh@gmail.com", + "root": "C:/Users/liamb/Documents/graph4stackoverflow", + "host": "DESKTOP-P7BETFF", + "username": "liamb", + "executable": "C:\\Users\\liamb\\Documents\\graph4stackoverflow\\venv\\Scripts\\python.exe", + "cpu_count": 2, + "cpu_count_logical": 4, + "cpu_freq": { + "current": 3504.0, + "min": 0.0, + "max": 3504.0 + }, + "cpu_freq_per_core": [ + { + "current": 3504.0, + "min": 0.0, + "max": 3504.0 + } + ], + "disk": { + "total": 475.71581649780273, + "used": 356.8035125732422 + }, + "memory": { + "total": 31.89160919189453 + } +} diff --git a/embeddings/wandb/run-20230224_173309-b1hp9ady/files/wandb-summary.json b/embeddings/wandb/run-20230224_173309-b1hp9ady/files/wandb-summary.json new file mode 100644 index 0000000000000000000000000000000000000000..dff80e82f530c01de6a8bc6999910a028f92328c --- /dev/null +++ b/embeddings/wandb/run-20230224_173309-b1hp9ady/files/wandb-summary.json @@ -0,0 +1 @@ +{"num_node_features": {"question": 1536, "answer": 1536, "comment": 768, "tag": 50, "module": 30}, "num_classes": 2, "_timestamp": 1677260004.7470796, "_runtime": 15.074941635131836, "_step": 1, "data": {"_type": "table-file", "sha256": "be2b7661523f5213a69463b36a40a363d0c7acb45a8e4d68e9f869ca8da2475e", "size": 168982143, "artifact_path": "wandb-client-artifact://1pbywywmnhm8tp64uqo4bkyfos5rsno238s0jijwndnz2thr9dpvj7ygpawvh6p26c54meq2lk8ovc69appuq8jlgsz8fi2g13odayrmdq3q2vqo4y54068tgtsi3k7u:latest/data.table.json", "_latest_artifact_path": "wandb-client-artifact://1pbywywmnhm8tp64uqo4bkyfos5rsno238s0jijwndnz2thr9dpvj7ygpawvh6p26c54meq2lk8ovc69appuq8jlgsz8fi2g13odayrmdq3q2vqo4y54068tgtsi3k7u:latest/data.table.json", "path": "media/table/data_1_be2b7661523f5213a694.table.json", "ncols": 4, "nrows": 46}, "_wandb": {"runtime": 16}} \ No newline at end of file diff --git a/embeddings/wandb/run-20230224_173309-b1hp9ady/logs/debug-internal.log b/embeddings/wandb/run-20230224_173309-b1hp9ady/logs/debug-internal.log new file mode 100644 index 0000000000000000000000000000000000000000..ba35d2b52198b6cc4700e3fabafe7b8c1ec3d1ad --- /dev/null +++ b/embeddings/wandb/run-20230224_173309-b1hp9ady/logs/debug-internal.log @@ -0,0 +1,244 @@ +2023-02-24 17:33:09,673 INFO StreamThr :1712 [internal.py:wandb_internal():87] W&B internal server running at pid: 1712, started at: 2023-02-24 17:33:09.672138 +2023-02-24 17:33:09,675 DEBUG HandlerThread:1712 [handler.py:handle_request():144] handle_request: status +2023-02-24 17:33:09,676 INFO WriterThread:1712 [datastore.py:open_for_write():85] open: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_173309-b1hp9ady\run-b1hp9ady.wandb +2023-02-24 17:33:09,680 DEBUG SenderThread:1712 [sender.py:send():336] send: header +2023-02-24 17:33:09,724 DEBUG SenderThread:1712 [sender.py:send():336] send: run +2023-02-24 17:33:10,104 INFO SenderThread:1712 [dir_watcher.py:__init__():216] watching files in: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_173309-b1hp9ady\files +2023-02-24 17:33:10,104 INFO SenderThread:1712 [sender.py:_start_run_threads():1067] run started: b1hp9ady with start time 1677259989.672138 +2023-02-24 17:33:10,104 DEBUG SenderThread:1712 [sender.py:send_request():363] send_request: summary_record +2023-02-24 17:33:10,104 DEBUG HandlerThread:1712 [handler.py:handle_request():144] handle_request: check_version +2023-02-24 17:33:10,105 INFO SenderThread:1712 [sender.py:_save_file():1321] saving file wandb-summary.json with policy end +2023-02-24 17:33:10,106 DEBUG SenderThread:1712 [sender.py:send_request():363] send_request: check_version +2023-02-24 17:33:10,180 DEBUG HandlerThread:1712 [handler.py:handle_request():144] handle_request: run_start +2023-02-24 17:33:10,199 DEBUG HandlerThread:1712 [system_info.py:__init__():31] System info init +2023-02-24 17:33:10,199 DEBUG HandlerThread:1712 [system_info.py:__init__():46] System info init done +2023-02-24 17:33:10,199 INFO HandlerThread:1712 [system_monitor.py:start():151] Starting system monitor +2023-02-24 17:33:10,200 INFO SystemMonitor:1712 [system_monitor.py:_start():116] Starting system asset monitoring threads +2023-02-24 17:33:10,200 INFO HandlerThread:1712 [system_monitor.py:probe():172] Collecting system info +2023-02-24 17:33:10,203 INFO SystemMonitor:1712 [interfaces.py:start():168] Started cpu +2023-02-24 17:33:10,203 DEBUG HandlerThread:1712 [system_info.py:probe():195] Probing system +2023-02-24 17:33:10,203 INFO SystemMonitor:1712 [interfaces.py:start():168] Started disk +2023-02-24 17:33:10,204 INFO SystemMonitor:1712 [interfaces.py:start():168] Started memory +2023-02-24 17:33:10,204 INFO SystemMonitor:1712 [interfaces.py:start():168] Started network +2023-02-24 17:33:10,221 DEBUG HandlerThread:1712 [system_info.py:_probe_git():180] Probing git +2023-02-24 17:33:10,313 DEBUG HandlerThread:1712 [system_info.py:_probe_git():188] Probing git done +2023-02-24 17:33:10,313 DEBUG HandlerThread:1712 [system_info.py:probe():241] Probing system done +2023-02-24 17:33:10,313 DEBUG HandlerThread:1712 [system_monitor.py:probe():181] {'os': 'Windows-10-10.0.19041-SP0', 'python': '3.8.1', 'heartbeatAt': '2023-02-24T17:33:10.203282', 'startedAt': '2023-02-24T17:33:09.659172', 'docker': None, 'cuda': None, 'args': (), 'state': 'running', 'program': 'C:\\Users\\liamb\\Documents\\graph4stackoverflow\\embeddings\\hetero_GAT.py', 'codePath': 'embeddings\\hetero_GAT.py', 'git': {'remote': 'https://git.soton.ac.uk/lhb1g20/graph4stackoverflow.git', 'commit': 'ced992d661984f7b87d1a3e76768e4ff7af78245'}, 'email': 'liambyrneh@gmail.com', 'root': 'C:/Users/liamb/Documents/graph4stackoverflow', 'host': 'DESKTOP-P7BETFF', 'username': 'liamb', 'executable': 'C:\\Users\\liamb\\Documents\\graph4stackoverflow\\venv\\Scripts\\python.exe', 'cpu_count': 2, 'cpu_count_logical': 4, 'cpu_freq': {'current': 3504.0, 'min': 0.0, 'max': 3504.0}, 'cpu_freq_per_core': [{'current': 3504.0, 'min': 0.0, 'max': 3504.0}], 'disk': {'total': 475.71581649780273, 'used': 356.8035125732422}, 'memory': {'total': 31.89160919189453}} +2023-02-24 17:33:10,313 INFO HandlerThread:1712 [system_monitor.py:probe():182] Finished collecting system info +2023-02-24 17:33:10,313 INFO HandlerThread:1712 [system_monitor.py:probe():185] Publishing system info +2023-02-24 17:33:10,313 DEBUG HandlerThread:1712 [system_info.py:_save_pip():51] Saving list of pip packages installed into the current environment +2023-02-24 17:33:10,314 DEBUG HandlerThread:1712 [system_info.py:_save_pip():67] Saving pip packages done +2023-02-24 17:33:10,316 INFO HandlerThread:1712 [system_monitor.py:probe():187] Finished publishing system info +2023-02-24 17:33:10,324 DEBUG SenderThread:1712 [sender.py:send():336] send: files +2023-02-24 17:33:10,325 INFO SenderThread:1712 [sender.py:_save_file():1321] saving file wandb-metadata.json with policy now +2023-02-24 17:33:10,333 DEBUG HandlerThread:1712 [handler.py:handle_request():144] handle_request: stop_status +2023-02-24 17:33:10,334 DEBUG SenderThread:1712 [sender.py:send_request():363] send_request: stop_status +2023-02-24 17:33:10,336 DEBUG HandlerThread:1712 [handler.py:handle_request():144] handle_request: partial_history +2023-02-24 17:33:10,555 DEBUG SenderThread:1712 [sender.py:send():336] send: telemetry +2023-02-24 17:33:10,556 DEBUG SenderThread:1712 [sender.py:send():336] send: history +2023-02-24 17:33:10,556 DEBUG SenderThread:1712 [sender.py:send_request():363] send_request: summary_record +2023-02-24 17:33:10,557 INFO SenderThread:1712 [sender.py:_save_file():1321] saving file wandb-summary.json with policy end +2023-02-24 17:33:10,884 INFO wandb-upload_0:1712 [upload_job.py:push():138] Uploaded file C:\Users\liamb\AppData\Local\Temp\tmp3yw2l1uewandb\6cjte3b2-wandb-metadata.json +2023-02-24 17:33:11,106 INFO Thread-17 :1712 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_173309-b1hp9ady\files\requirements.txt +2023-02-24 17:33:11,106 INFO Thread-17 :1712 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_173309-b1hp9ady\files\wandb-metadata.json +2023-02-24 17:33:11,106 INFO Thread-17 :1712 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_173309-b1hp9ady\files\wandb-summary.json +2023-02-24 17:33:12,118 INFO Thread-17 :1712 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_173309-b1hp9ady\files\output.log +2023-02-24 17:33:14,120 INFO Thread-17 :1712 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_173309-b1hp9ady\files\output.log +2023-02-24 17:33:14,980 DEBUG HandlerThread:1712 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 17:33:18,683 DEBUG HandlerThread:1712 [handler.py:handle_request():144] handle_request: log_artifact +2023-02-24 17:33:18,684 DEBUG SenderThread:1712 [sender.py:send_request():363] send_request: log_artifact +2023-02-24 17:33:24,748 DEBUG HandlerThread:1712 [handler.py:handle_request():144] handle_request: partial_history +2023-02-24 17:33:25,226 INFO Thread-17 :1712 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_173309-b1hp9ady\files\media\table\data_1_be2b7661523f5213a694.table.json +2023-02-24 17:33:25,226 INFO Thread-17 :1712 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_173309-b1hp9ady\files\media +2023-02-24 17:33:25,227 INFO Thread-17 :1712 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_173309-b1hp9ady\files\media\table +2023-02-24 17:33:25,351 DEBUG HandlerThread:1712 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 17:33:25,352 DEBUG HandlerThread:1712 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 17:33:26,798 DEBUG HandlerThread:1712 [handler.py:handle_request():144] handle_request: log_artifact +2023-02-24 17:33:27,815 DEBUG HandlerThread:1712 [handler.py:handle_request():144] handle_request: poll_exit +2023-02-24 17:33:32,879 DEBUG HandlerThread:1712 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 17:33:37,931 DEBUG HandlerThread:1712 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 17:33:42,984 DEBUG HandlerThread:1712 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 17:33:48,049 DEBUG HandlerThread:1712 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 17:33:53,098 DEBUG HandlerThread:1712 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 17:33:58,147 DEBUG HandlerThread:1712 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 17:34:03,198 DEBUG HandlerThread:1712 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 17:34:08,239 DEBUG HandlerThread:1712 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 17:34:10,223 DEBUG SystemMonitor:1712 [system_monitor.py:_start():130] Starting system metrics aggregation loop +2023-02-24 17:34:13,287 DEBUG HandlerThread:1712 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 17:34:18,345 DEBUG HandlerThread:1712 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 17:34:23,397 DEBUG HandlerThread:1712 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 17:34:28,445 DEBUG HandlerThread:1712 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 17:34:33,495 DEBUG HandlerThread:1712 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 17:34:38,544 DEBUG HandlerThread:1712 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 17:34:43,597 DEBUG HandlerThread:1712 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 17:34:48,648 DEBUG HandlerThread:1712 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 17:34:53,699 DEBUG HandlerThread:1712 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 17:34:58,747 DEBUG HandlerThread:1712 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 17:35:01,097 INFO wandb-upload_0:1712 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpj9dhdem4 +2023-02-24 17:35:02,061 INFO SenderThread:1712 [sender.py:send_request_log_artifact():1381] logged artifact run-b1hp9ady-data - {'id': 'QXJ0aWZhY3Q6MzgwNjExOTg5', 'digest': '9cd5e4561f72b8d96c9739dff408e93d', 'state': 'PENDING', 'aliases': [], 'artifactSequence': {'id': 'QXJ0aWZhY3RDb2xsZWN0aW9uOjU0NjMxNDU3', 'latestArtifact': None}, 'version': 'latest'} +2023-02-24 17:35:02,065 DEBUG HandlerThread:1712 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 17:35:02,259 DEBUG SenderThread:1712 [sender.py:send():336] send: files +2023-02-24 17:35:02,259 INFO SenderThread:1712 [sender.py:_save_file():1321] saving file media\table\data_1_be2b7661523f5213a694.table.json with policy now +2023-02-24 17:35:02,260 DEBUG SenderThread:1712 [sender.py:send():336] send: history +2023-02-24 17:35:02,260 DEBUG SenderThread:1712 [sender.py:send_request():363] send_request: summary_record +2023-02-24 17:35:02,262 INFO SenderThread:1712 [sender.py:_save_file():1321] saving file wandb-summary.json with policy end +2023-02-24 17:35:02,263 DEBUG SenderThread:1712 [sender.py:send_request():363] send_request: log_artifact +2023-02-24 17:35:02,677 INFO SenderThread:1712 [sender.py:send_request_log_artifact():1381] logged artifact static-graphs - {'id': 'QXJ0aWZhY3Q6MzgwNTY0ODAy', 'digest': '64a712122c812b4423fcf560ca60f704', 'state': 'COMMITTED', 'aliases': [{'artifactCollectionName': 'static-graphs', 'alias': 'latest'}, {'artifactCollectionName': 'static-graphs', 'alias': 'v0'}], 'artifactSequence': {'id': 'QXJ0aWZhY3RDb2xsZWN0aW9uOjU0NjIzMTU5', 'latestArtifact': {'id': 'QXJ0aWZhY3Q6MzgwNTY0ODAy', 'versionIndex': 0}}, 'version': 'v0'} +2023-02-24 17:35:02,677 DEBUG SenderThread:1712 [sender.py:send():336] send: telemetry +2023-02-24 17:35:02,677 DEBUG SenderThread:1712 [sender.py:send():336] send: exit +2023-02-24 17:35:02,677 INFO SenderThread:1712 [sender.py:send_exit():559] handling exit code: 0 +2023-02-24 17:35:02,677 INFO SenderThread:1712 [sender.py:send_exit():561] handling runtime: 16 +2023-02-24 17:35:02,678 INFO SenderThread:1712 [sender.py:_save_file():1321] saving file wandb-summary.json with policy end +2023-02-24 17:35:02,678 INFO SenderThread:1712 [sender.py:send_exit():567] send defer +2023-02-24 17:35:02,679 DEBUG SenderThread:1712 [sender.py:send_request():363] send_request: poll_exit +2023-02-24 17:35:02,679 DEBUG HandlerThread:1712 [handler.py:handle_request():144] handle_request: defer +2023-02-24 17:35:02,679 DEBUG SenderThread:1712 [sender.py:send():336] send: stats +2023-02-24 17:35:02,679 INFO HandlerThread:1712 [handler.py:handle_request_defer():170] handle defer: 0 +2023-02-24 17:35:02,680 DEBUG SenderThread:1712 [sender.py:send():336] send: stats +2023-02-24 17:35:02,680 DEBUG SenderThread:1712 [sender.py:send_request():363] send_request: defer +2023-02-24 17:35:02,681 INFO SenderThread:1712 [sender.py:send_request_defer():583] handle sender defer: 0 +2023-02-24 17:35:02,681 INFO SenderThread:1712 [sender.py:transition_state():587] send defer: 1 +2023-02-24 17:35:02,681 DEBUG HandlerThread:1712 [handler.py:handle_request():144] handle_request: defer +2023-02-24 17:35:02,681 INFO HandlerThread:1712 [handler.py:handle_request_defer():170] handle defer: 1 +2023-02-24 17:35:02,681 DEBUG SenderThread:1712 [sender.py:send_request():363] send_request: defer +2023-02-24 17:35:02,681 INFO SenderThread:1712 [sender.py:send_request_defer():583] handle sender defer: 1 +2023-02-24 17:35:02,681 INFO SenderThread:1712 [sender.py:transition_state():587] send defer: 2 +2023-02-24 17:35:02,681 DEBUG HandlerThread:1712 [handler.py:handle_request():144] handle_request: defer +2023-02-24 17:35:02,681 INFO HandlerThread:1712 [handler.py:handle_request_defer():170] handle defer: 2 +2023-02-24 17:35:02,681 INFO HandlerThread:1712 [system_monitor.py:finish():161] Stopping system monitor +2023-02-24 17:35:02,682 DEBUG SystemMonitor:1712 [system_monitor.py:_start():137] Finished system metrics aggregation loop +2023-02-24 17:35:02,683 DEBUG SystemMonitor:1712 [system_monitor.py:_start():141] Publishing last batch of metrics +2023-02-24 17:35:02,683 INFO HandlerThread:1712 [interfaces.py:finish():175] Joined cpu +2023-02-24 17:35:02,683 INFO HandlerThread:1712 [interfaces.py:finish():175] Joined disk +2023-02-24 17:35:02,683 INFO HandlerThread:1712 [interfaces.py:finish():175] Joined memory +2023-02-24 17:35:02,683 INFO HandlerThread:1712 [interfaces.py:finish():175] Joined network +2023-02-24 17:35:02,684 DEBUG SenderThread:1712 [sender.py:send_request():363] send_request: defer +2023-02-24 17:35:02,684 INFO SenderThread:1712 [sender.py:send_request_defer():583] handle sender defer: 2 +2023-02-24 17:35:02,684 INFO SenderThread:1712 [sender.py:transition_state():587] send defer: 3 +2023-02-24 17:35:02,684 DEBUG SenderThread:1712 [sender.py:send():336] send: stats +2023-02-24 17:35:02,684 DEBUG HandlerThread:1712 [handler.py:handle_request():144] handle_request: defer +2023-02-24 17:35:02,684 INFO HandlerThread:1712 [handler.py:handle_request_defer():170] handle defer: 3 +2023-02-24 17:35:02,685 DEBUG SenderThread:1712 [sender.py:send_request():363] send_request: defer +2023-02-24 17:35:02,685 INFO SenderThread:1712 [sender.py:send_request_defer():583] handle sender defer: 3 +2023-02-24 17:35:02,685 INFO SenderThread:1712 [sender.py:transition_state():587] send defer: 4 +2023-02-24 17:35:02,685 DEBUG HandlerThread:1712 [handler.py:handle_request():144] handle_request: defer +2023-02-24 17:35:02,685 INFO HandlerThread:1712 [handler.py:handle_request_defer():170] handle defer: 4 +2023-02-24 17:35:02,685 DEBUG SenderThread:1712 [sender.py:send_request():363] send_request: defer +2023-02-24 17:35:02,685 INFO SenderThread:1712 [sender.py:send_request_defer():583] handle sender defer: 4 +2023-02-24 17:35:02,685 INFO SenderThread:1712 [sender.py:transition_state():587] send defer: 5 +2023-02-24 17:35:02,685 DEBUG HandlerThread:1712 [handler.py:handle_request():144] handle_request: defer +2023-02-24 17:35:02,685 INFO HandlerThread:1712 [handler.py:handle_request_defer():170] handle defer: 5 +2023-02-24 17:35:02,686 DEBUG SenderThread:1712 [sender.py:send():336] send: summary +2023-02-24 17:35:02,687 INFO SenderThread:1712 [sender.py:_save_file():1321] saving file wandb-summary.json with policy end +2023-02-24 17:35:02,687 DEBUG SenderThread:1712 [sender.py:send_request():363] send_request: defer +2023-02-24 17:35:02,687 INFO SenderThread:1712 [sender.py:send_request_defer():583] handle sender defer: 5 +2023-02-24 17:35:02,687 INFO SenderThread:1712 [sender.py:transition_state():587] send defer: 6 +2023-02-24 17:35:02,687 DEBUG HandlerThread:1712 [handler.py:handle_request():144] handle_request: defer +2023-02-24 17:35:02,687 INFO HandlerThread:1712 [handler.py:handle_request_defer():170] handle defer: 6 +2023-02-24 17:35:02,687 DEBUG SenderThread:1712 [sender.py:send_request():363] send_request: defer +2023-02-24 17:35:02,688 INFO SenderThread:1712 [sender.py:send_request_defer():583] handle sender defer: 6 +2023-02-24 17:35:02,691 DEBUG HandlerThread:1712 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 17:35:02,875 INFO SenderThread:1712 [sender.py:transition_state():587] send defer: 7 +2023-02-24 17:35:02,875 DEBUG HandlerThread:1712 [handler.py:handle_request():144] handle_request: defer +2023-02-24 17:35:02,876 INFO HandlerThread:1712 [handler.py:handle_request_defer():170] handle defer: 7 +2023-02-24 17:35:02,876 DEBUG SenderThread:1712 [sender.py:send_request():363] send_request: defer +2023-02-24 17:35:02,876 INFO SenderThread:1712 [sender.py:send_request_defer():583] handle sender defer: 7 +2023-02-24 17:35:03,225 INFO Thread-17 :1712 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_173309-b1hp9ady\files\config.yaml +2023-02-24 17:35:03,225 INFO Thread-17 :1712 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_173309-b1hp9ady\files\wandb-summary.json +2023-02-24 17:35:03,801 DEBUG HandlerThread:1712 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 17:35:04,381 INFO SenderThread:1712 [sender.py:transition_state():587] send defer: 8 +2023-02-24 17:35:04,381 DEBUG HandlerThread:1712 [handler.py:handle_request():144] handle_request: defer +2023-02-24 17:35:04,381 INFO HandlerThread:1712 [handler.py:handle_request_defer():170] handle defer: 8 +2023-02-24 17:35:04,381 DEBUG SenderThread:1712 [sender.py:send_request():363] send_request: defer +2023-02-24 17:35:04,381 INFO SenderThread:1712 [sender.py:send_request_defer():583] handle sender defer: 8 +2023-02-24 17:35:04,389 INFO SenderThread:1712 [sender.py:transition_state():587] send defer: 9 +2023-02-24 17:35:04,390 DEBUG HandlerThread:1712 [handler.py:handle_request():144] handle_request: defer +2023-02-24 17:35:04,390 DEBUG SenderThread:1712 [sender.py:send():336] send: artifact +2023-02-24 17:35:04,390 INFO HandlerThread:1712 [handler.py:handle_request_defer():170] handle defer: 9 +2023-02-24 17:35:05,099 INFO SenderThread:1712 [sender.py:send_artifact():1417] sent artifact job-https___git.soton.ac.uk_lhb1g20_graph4stackoverflow.git_embeddings_hetero_GAT.py - {'id': 'QXJ0aWZhY3Q6MzgwMzk2OTM0', 'digest': '8077f65decb82fd65dc9936bbf393b39', 'state': 'COMMITTED', 'aliases': [{'artifactCollectionName': 'job-https___git.soton.ac.uk_lhb1g20_graph4stackoverflow.git_embeddings_hetero_GAT.py', 'alias': 'latest'}, {'artifactCollectionName': 'job-https___git.soton.ac.uk_lhb1g20_graph4stackoverflow.git_embeddings_hetero_GAT.py', 'alias': 'v2'}], 'artifactSequence': {'id': 'QXJ0aWZhY3RDb2xsZWN0aW9uOjU0NTg3MzU0', 'latestArtifact': {'id': 'QXJ0aWZhY3Q6MzgwMzk2OTM0', 'versionIndex': 2}}, 'version': 'v2'} +2023-02-24 17:35:05,099 DEBUG SenderThread:1712 [sender.py:send_request():363] send_request: defer +2023-02-24 17:35:05,099 INFO SenderThread:1712 [sender.py:send_request_defer():583] handle sender defer: 9 +2023-02-24 17:35:05,099 INFO SenderThread:1712 [dir_watcher.py:finish():362] shutting down directory watcher +2023-02-24 17:35:05,250 INFO SenderThread:1712 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_173309-b1hp9ady\files\output.log +2023-02-24 17:35:05,251 INFO SenderThread:1712 [dir_watcher.py:finish():392] scan: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_173309-b1hp9ady\files +2023-02-24 17:35:05,251 INFO SenderThread:1712 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_173309-b1hp9ady\files\config.yaml config.yaml +2023-02-24 17:35:05,251 INFO SenderThread:1712 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_173309-b1hp9ady\files\output.log output.log +2023-02-24 17:35:05,255 INFO SenderThread:1712 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_173309-b1hp9ady\files\requirements.txt requirements.txt +2023-02-24 17:35:05,256 INFO SenderThread:1712 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_173309-b1hp9ady\files\wandb-metadata.json wandb-metadata.json +2023-02-24 17:35:05,260 INFO SenderThread:1712 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_173309-b1hp9ady\files\wandb-summary.json wandb-summary.json +2023-02-24 17:35:05,268 INFO SenderThread:1712 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_173309-b1hp9ady\files\media\table\data_1_be2b7661523f5213a694.table.json media\table\data_1_be2b7661523f5213a694.table.json +2023-02-24 17:35:05,268 INFO SenderThread:1712 [sender.py:transition_state():587] send defer: 10 +2023-02-24 17:35:05,273 DEBUG HandlerThread:1712 [handler.py:handle_request():144] handle_request: defer +2023-02-24 17:35:05,274 INFO HandlerThread:1712 [handler.py:handle_request_defer():170] handle defer: 10 +2023-02-24 17:35:05,274 DEBUG SenderThread:1712 [sender.py:send_request():363] send_request: defer +2023-02-24 17:35:05,275 INFO SenderThread:1712 [sender.py:send_request_defer():583] handle sender defer: 10 +2023-02-24 17:35:05,275 INFO SenderThread:1712 [file_pusher.py:finish():162] shutting down file pusher +2023-02-24 17:35:05,774 INFO wandb-upload_3:1712 [upload_job.py:push():138] Uploaded file C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_173309-b1hp9ady\files\requirements.txt +2023-02-24 17:35:05,825 INFO wandb-upload_2:1712 [upload_job.py:push():138] Uploaded file C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_173309-b1hp9ady\files\output.log +2023-02-24 17:35:05,847 INFO wandb-upload_4:1712 [upload_job.py:push():138] Uploaded file C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_173309-b1hp9ady\files\wandb-summary.json +2023-02-24 17:35:05,859 INFO wandb-upload_1:1712 [upload_job.py:push():138] Uploaded file C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_173309-b1hp9ady\files\config.yaml +2023-02-24 17:35:08,853 DEBUG HandlerThread:1712 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 17:35:12,347 DEBUG HandlerThread:1712 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 17:35:13,901 DEBUG HandlerThread:1712 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 17:35:17,393 DEBUG HandlerThread:1712 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 17:35:18,949 DEBUG HandlerThread:1712 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 17:35:22,453 DEBUG HandlerThread:1712 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 17:35:23,994 DEBUG HandlerThread:1712 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 17:35:27,493 DEBUG HandlerThread:1712 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 17:35:29,048 DEBUG HandlerThread:1712 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 17:35:32,550 DEBUG HandlerThread:1712 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 17:35:34,108 DEBUG HandlerThread:1712 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 17:35:37,604 DEBUG HandlerThread:1712 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 17:35:39,159 DEBUG HandlerThread:1712 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 17:35:42,656 DEBUG HandlerThread:1712 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 17:35:44,208 DEBUG HandlerThread:1712 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 17:35:47,710 DEBUG HandlerThread:1712 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 17:35:49,259 DEBUG HandlerThread:1712 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 17:35:52,763 DEBUG HandlerThread:1712 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 17:35:54,319 DEBUG HandlerThread:1712 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 17:35:57,818 DEBUG HandlerThread:1712 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 17:35:59,374 DEBUG HandlerThread:1712 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 17:36:02,868 DEBUG HandlerThread:1712 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 17:36:04,423 DEBUG HandlerThread:1712 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 17:36:07,911 DEBUG HandlerThread:1712 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 17:36:09,485 DEBUG HandlerThread:1712 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 17:36:12,965 DEBUG HandlerThread:1712 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 17:36:14,537 DEBUG HandlerThread:1712 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 17:36:18,019 DEBUG HandlerThread:1712 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 17:36:19,588 DEBUG HandlerThread:1712 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 17:36:20,299 INFO wandb-upload_0:1712 [upload_job.py:push():138] Uploaded file C:\Users\liamb\AppData\Local\Temp\tmp3yw2l1uewandb\2rde7avd-media/table/data_1_be2b7661523f5213a694.table.json +2023-02-24 17:36:20,526 INFO Thread-16 :1712 [sender.py:transition_state():587] send defer: 11 +2023-02-24 17:36:20,526 DEBUG HandlerThread:1712 [handler.py:handle_request():144] handle_request: defer +2023-02-24 17:36:20,526 INFO HandlerThread:1712 [handler.py:handle_request_defer():170] handle defer: 11 +2023-02-24 17:36:20,527 DEBUG SenderThread:1712 [sender.py:send_request():363] send_request: defer +2023-02-24 17:36:20,527 INFO SenderThread:1712 [sender.py:send_request_defer():583] handle sender defer: 11 +2023-02-24 17:36:20,527 INFO SenderThread:1712 [file_pusher.py:join():167] waiting for file pusher +2023-02-24 17:36:20,527 INFO SenderThread:1712 [sender.py:transition_state():587] send defer: 12 +2023-02-24 17:36:20,527 DEBUG HandlerThread:1712 [handler.py:handle_request():144] handle_request: defer +2023-02-24 17:36:20,528 INFO HandlerThread:1712 [handler.py:handle_request_defer():170] handle defer: 12 +2023-02-24 17:36:20,528 DEBUG SenderThread:1712 [sender.py:send_request():363] send_request: defer +2023-02-24 17:36:20,528 INFO SenderThread:1712 [sender.py:send_request_defer():583] handle sender defer: 12 +2023-02-24 17:36:20,684 INFO SenderThread:1712 [sender.py:transition_state():587] send defer: 13 +2023-02-24 17:36:20,684 DEBUG HandlerThread:1712 [handler.py:handle_request():144] handle_request: defer +2023-02-24 17:36:20,684 INFO HandlerThread:1712 [handler.py:handle_request_defer():170] handle defer: 13 +2023-02-24 17:36:20,685 DEBUG SenderThread:1712 [sender.py:send_request():363] send_request: defer +2023-02-24 17:36:20,685 INFO SenderThread:1712 [sender.py:send_request_defer():583] handle sender defer: 13 +2023-02-24 17:36:20,685 INFO SenderThread:1712 [sender.py:transition_state():587] send defer: 14 +2023-02-24 17:36:20,685 DEBUG HandlerThread:1712 [handler.py:handle_request():144] handle_request: defer +2023-02-24 17:36:20,685 INFO HandlerThread:1712 [handler.py:handle_request_defer():170] handle defer: 14 +2023-02-24 17:36:20,686 DEBUG SenderThread:1712 [sender.py:send():336] send: final +2023-02-24 17:36:20,686 DEBUG SenderThread:1712 [sender.py:send():336] send: footer +2023-02-24 17:36:20,686 DEBUG SenderThread:1712 [sender.py:send_request():363] send_request: defer +2023-02-24 17:36:20,686 INFO SenderThread:1712 [sender.py:send_request_defer():583] handle sender defer: 14 +2023-02-24 17:36:20,687 DEBUG HandlerThread:1712 [handler.py:handle_request():144] handle_request: poll_exit +2023-02-24 17:36:20,687 DEBUG HandlerThread:1712 [handler.py:handle_request():144] handle_request: server_info +2023-02-24 17:36:20,687 DEBUG HandlerThread:1712 [handler.py:handle_request():144] handle_request: get_summary +2023-02-24 17:36:20,688 DEBUG HandlerThread:1712 [handler.py:handle_request():144] handle_request: sampled_history +2023-02-24 17:36:20,688 DEBUG SenderThread:1712 [sender.py:send_request():363] send_request: poll_exit +2023-02-24 17:36:20,688 DEBUG SenderThread:1712 [sender.py:send_request():363] send_request: server_info +2023-02-24 17:36:20,879 DEBUG HandlerThread:1712 [handler.py:handle_request():144] handle_request: shutdown +2023-02-24 17:36:20,879 INFO HandlerThread:1712 [handler.py:finish():841] shutting down handler +2023-02-24 17:36:21,692 INFO WriterThread:1712 [datastore.py:close():299] close: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_173309-b1hp9ady\run-b1hp9ady.wandb +2023-02-24 17:36:21,880 INFO SenderThread:1712 [sender.py:finish():1493] shutting down sender +2023-02-24 17:36:21,880 INFO SenderThread:1712 [file_pusher.py:finish():162] shutting down file pusher +2023-02-24 17:36:21,881 INFO SenderThread:1712 [file_pusher.py:join():167] waiting for file pusher diff --git a/embeddings/wandb/run-20230224_173309-b1hp9ady/logs/debug.log b/embeddings/wandb/run-20230224_173309-b1hp9ady/logs/debug.log new file mode 100644 index 0000000000000000000000000000000000000000..625f34f39a41717dc47afb38b24a537386cd0f6b --- /dev/null +++ b/embeddings/wandb/run-20230224_173309-b1hp9ady/logs/debug.log @@ -0,0 +1,31 @@ +2023-02-24 17:33:09,662 INFO MainThread:3400 [wandb_setup.py:_flush():68] Configure stats pid to 3400 +2023-02-24 17:33:09,662 INFO MainThread:3400 [wandb_setup.py:_flush():68] Loading settings from C:\Users\liamb\.config\wandb\settings +2023-02-24 17:33:09,663 INFO MainThread:3400 [wandb_setup.py:_flush():68] Loading settings from C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\settings +2023-02-24 17:33:09,663 INFO MainThread:3400 [wandb_setup.py:_flush():68] Loading settings from environment variables: {'_require_service': 'True'} +2023-02-24 17:33:09,663 INFO MainThread:3400 [wandb_setup.py:_flush():68] Inferring run settings from compute environment: {'program_relpath': 'embeddings\\hetero_GAT.py', 'program': 'C:\\Users\\liamb\\Documents\\graph4stackoverflow\\embeddings\\hetero_GAT.py'} +2023-02-24 17:33:09,664 INFO MainThread:3400 [wandb_init.py:_log_setup():492] Logging user logs to C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_173309-b1hp9ady\logs\debug.log +2023-02-24 17:33:09,665 INFO MainThread:3400 [wandb_init.py:_log_setup():493] Logging internal logs to C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_173309-b1hp9ady\logs\debug-internal.log +2023-02-24 17:33:09,665 INFO MainThread:3400 [wandb_init.py:init():532] calling init triggers +2023-02-24 17:33:09,665 INFO MainThread:3400 [wandb_init.py:init():538] wandb.init called with sweep_config: {} +config: {} +2023-02-24 17:33:09,665 INFO MainThread:3400 [wandb_init.py:init():588] starting backend +2023-02-24 17:33:09,665 INFO MainThread:3400 [wandb_init.py:init():592] setting up manager +2023-02-24 17:33:09,668 INFO MainThread:3400 [backend.py:_multiprocessing_setup():106] multiprocessing start_methods=spawn, using: spawn +2023-02-24 17:33:09,672 INFO MainThread:3400 [wandb_init.py:init():599] backend started and connected +2023-02-24 17:33:09,674 INFO MainThread:3400 [wandb_init.py:init():687] updated telemetry +2023-02-24 17:33:09,723 INFO MainThread:3400 [wandb_init.py:init():727] communicating run to backend with 60.0 second timeout +2023-02-24 17:33:10,103 INFO MainThread:3400 [wandb_run.py:_on_init():2134] communicating current version +2023-02-24 17:33:10,173 INFO MainThread:3400 [wandb_run.py:_on_init():2143] got version response +2023-02-24 17:33:10,173 INFO MainThread:3400 [wandb_init.py:init():775] starting run threads in backend +2023-02-24 17:33:10,334 INFO MainThread:3400 [wandb_run.py:_console_start():2114] atexit reg +2023-02-24 17:33:10,334 INFO MainThread:3400 [wandb_run.py:_redirect():1969] redirect: SettingsConsole.WRAP_RAW +2023-02-24 17:33:10,334 INFO MainThread:3400 [wandb_run.py:_redirect():2034] Wrapping output streams. +2023-02-24 17:33:10,334 INFO MainThread:3400 [wandb_run.py:_redirect():2059] Redirects installed. +2023-02-24 17:33:10,335 INFO MainThread:3400 [wandb_init.py:init():817] run started, returning control to user process +2023-02-24 17:33:26,801 INFO MainThread:3400 [wandb_run.py:_finish():1854] finishing run g4nlp/heterogeneous-GAT-model/b1hp9ady +2023-02-24 17:33:26,801 INFO MainThread:3400 [wandb_run.py:_atexit_cleanup():2083] got exitcode: 0 +2023-02-24 17:33:26,802 INFO MainThread:3400 [wandb_run.py:_restore():2066] restore +2023-02-24 17:33:26,802 INFO MainThread:3400 [wandb_run.py:_restore():2072] restore done +2023-02-24 17:36:21,880 INFO MainThread:3400 [wandb_run.py:_footer_history_summary_info():3442] rendering history +2023-02-24 17:36:21,881 INFO MainThread:3400 [wandb_run.py:_footer_history_summary_info():3474] rendering summary +2023-02-24 17:36:21,887 INFO MainThread:3400 [wandb_run.py:_footer_sync_info():3398] logging synced files diff --git a/embeddings/wandb/run-20230224_173309-b1hp9ady/run-b1hp9ady.wandb b/embeddings/wandb/run-20230224_173309-b1hp9ady/run-b1hp9ady.wandb new file mode 100644 index 0000000000000000000000000000000000000000..973bf03470ba641087b4f42a1260e38823b38bd8 Binary files /dev/null and b/embeddings/wandb/run-20230224_173309-b1hp9ady/run-b1hp9ady.wandb differ diff --git a/embeddings/wandb/run-20230224_173621-37xg7qqy/files/config.yaml b/embeddings/wandb/run-20230224_173621-37xg7qqy/files/config.yaml new file mode 100644 index 0000000000000000000000000000000000000000..d2c53488b14d39f4a9a48bd0cf98e9824817704b --- /dev/null +++ b/embeddings/wandb/run-20230224_173621-37xg7qqy/files/config.yaml @@ -0,0 +1,39 @@ +wandb_version: 1 + +_wandb: + desc: null + value: + cli_version: 0.13.10 + framework: huggingface + huggingface_version: 4.24.0 + is_jupyter_run: false + is_kaggle_kernel: false + python_version: 3.8.1 + start_time: 1677260181.906517 + t: + 1: + - 1 + - 5 + - 11 + - 33 + - 49 + - 53 + - 55 + - 77 + 2: + - 1 + - 5 + - 11 + - 33 + - 49 + - 53 + - 55 + - 77 + 3: + - 23 + 4: 3.8.1 + 5: 0.13.10 + 6: 4.24.0 + 8: + - 3 + - 5 diff --git a/embeddings/wandb/run-20230224_173621-37xg7qqy/files/output.log b/embeddings/wandb/run-20230224_173621-37xg7qqy/files/output.log new file mode 100644 index 0000000000000000000000000000000000000000..224b265df48d52c294c13da45b1c9376efeb9b21 --- /dev/null +++ b/embeddings/wandb/run-20230224_173621-37xg7qqy/files/output.log @@ -0,0 +1,12 @@ + +INFO:heterogeneous-GAT-model:[1] Loss: 0.00034855717420578005 +Traceback (most recent call last): + File "C:\Users\liamb\Documents\graph4stackoverflow\embeddings\hetero_GAT.py", line 206, in <module> + train_acc, train_f1, train_loss, train_table = test(train_loader) + File "C:\Users\liamb\Documents\graph4stackoverflow\embeddings\hetero_GAT.py", line 120, in test + table.add_data(wandb.Html(create_graph_vis(data).to_html(full_html=False)), data.label.item(), pred.item()) + File "C:\Users\liamb\Documents\graph4stackoverflow\venv\lib\site-packages\wandb\sdk\data_types\html.py", line 55, in __init__ + out.write(self.html) + File "C:\Users\liamb\AppData\Local\Programs\Python\Python38\lib\encodings\cp1252.py", line 19, in encode + return codecs.charmap_encode(input,self.errors,encoding_table)[0] +UnicodeEncodeError: 'charmap' codec can't encode character '\u25c4' in position 276441: character maps to <undefined> \ No newline at end of file diff --git a/embeddings/wandb/run-20230224_173621-37xg7qqy/files/requirements.txt b/embeddings/wandb/run-20230224_173621-37xg7qqy/files/requirements.txt new file mode 100644 index 0000000000000000000000000000000000000000..d7de821539624662109e252a91c4907a963ad5fb --- /dev/null +++ b/embeddings/wandb/run-20230224_173621-37xg7qqy/files/requirements.txt @@ -0,0 +1,170 @@ +absl-py==1.3.0 +anyio==3.6.2 +appdirs==1.4.4 +argon2-cffi-bindings==21.2.0 +argon2-cffi==21.3.0 +asttokens==2.1.0 +astunparse==1.6.3 +attrs==22.1.0 +backcall==0.2.0 +beautifulsoup4==4.11.1 +bleach==5.0.1 +blis==0.7.9 +bs4==0.0.1 +cachetools==5.2.0 +catalogue==2.0.8 +certifi==2022.9.24 +cffi==1.15.1 +charset-normalizer==2.1.1 +click==8.1.3 +colorama==0.4.6 +confection==0.0.3 +contourpy==1.0.6 +cycler==0.11.0 +cymem==2.0.7 +debugpy==1.6.3 +decorator==5.1.1 +defusedxml==0.7.1 +dgl==0.9.1 +docker-pycreds==0.4.0 +en-core-web-sm==3.4.1 +entrypoints==0.4 +executing==1.2.0 +fastjsonschema==2.16.2 +filelock==3.8.0 +fonttools==4.38.0 +gitdb==4.0.10 +gitpython==3.1.31 +google-auth-oauthlib==0.4.6 +google-auth==2.14.0 +graph4nlp==0.5.5 +grpcio==1.50.0 +huggingface-hub==0.10.1 +idna==3.4 +importlib-metadata==5.0.0 +importlib-resources==5.10.0 +ipykernel==6.16.2 +ipython-genutils==0.2.0 +ipython==8.6.0 +ipywidgets==8.0.2 +jedi==0.18.1 +jinja2==3.1.2 +joblib==1.2.0 +jsonschema==4.16.0 +jupyter-client==7.4.4 +jupyter-console==6.4.4 +jupyter-core==4.11.2 +jupyter-server==1.21.0 +jupyter==1.0.0 +jupyterlab-pygments==0.2.2 +jupyterlab-widgets==3.0.3 +kiwisolver==1.4.4 +langcodes==3.3.0 +littleutils==0.2.2 +lxml==4.9.1 +markdown==3.4.1 +markupsafe==2.1.1 +matplotlib-inline==0.1.6 +matplotlib==3.6.2 +mistune==2.0.4 +murmurhash==1.0.9 +nbclassic==0.4.7 +nbclient==0.7.0 +nbconvert==7.2.3 +nbformat==5.7.0 +nest-asyncio==1.5.6 +networkx==2.8.8 +nltk==3.7 +notebook-shim==0.2.0 +notebook==6.5.2 +numpy==1.23.5 +oauthlib==3.2.2 +ogb==1.3.5 +outdated==0.2.2 +packaging==21.3 +pandas==1.5.1 +pandocfilters==1.5.0 +parso==0.8.3 +pathtools==0.1.2 +pathy==0.6.2 +pickleshare==0.7.5 +pillow==9.3.0 +pip==21.3.1 +pkgutil-resolve-name==1.3.10 +plotly==5.13.0 +preshed==3.0.8 +prometheus-client==0.15.0 +prompt-toolkit==3.0.31 +protobuf==3.19.6 +psutil==5.9.3 +pure-eval==0.2.2 +pyasn1-modules==0.2.8 +pyasn1==0.4.8 +pycparser==2.21 +pydantic==1.10.2 +pygments==2.13.0 +pyparsing==3.0.9 +pyrsistent==0.18.1 +python-dateutil==2.8.2 +pythonds==1.2.1 +pytz==2022.5 +pywin32==304 +pywinpty==2.0.9 +pyyaml==6.0 +pyzmq==24.0.1 +qtconsole==5.3.2 +qtpy==2.2.1 +regex==2022.10.31 +requests-oauthlib==1.3.1 +requests==2.28.1 +rsa==4.9 +scikit-learn==1.1.3 +scipy==1.9.3 +send2trash==1.8.0 +sentry-sdk==1.15.0 +setproctitle==1.3.2 +setuptools==60.2.0 +six==1.16.0 +smart-open==5.2.1 +smmap==5.0.0 +sniffio==1.3.0 +soupsieve==2.3.2.post1 +spacy-legacy==3.0.10 +spacy-loggers==1.0.3 +spacy==3.4.2 +srsly==2.4.5 +stack-data==0.6.0 +stanfordcorenlp==3.9.1.1 +tenacity==8.2.1 +tensorboard-data-server==0.6.1 +tensorboard-plugin-wit==1.8.1 +tensorboard==2.10.1 +terminado==0.17.0 +thinc==8.1.5 +threadpoolctl==3.1.0 +tinycss2==1.2.1 +tokenizers==0.13.2 +torch-cluster==1.6.0+pt113cpu +torch-geometric==2.2.0 +torch-scatter==2.1.0+pt113cpu +torch-sparse==0.6.16+pt113cpu +torch-spline-conv==1.2.1+pt113cpu +torch==1.13.0 +torchsummary==1.5.1 +torchtext==0.14.0 +tornado==6.2 +tqdm==4.64.1 +traitlets==5.5.0 +transformers==4.24.0 +typer==0.4.2 +typing-extensions==4.4.0 +urllib3==1.26.12 +wandb==0.13.10 +wasabi==0.10.1 +wcwidth==0.2.5 +webencodings==0.5.1 +websocket-client==1.4.1 +werkzeug==2.2.2 +wheel==0.37.1 +widgetsnbextension==4.0.3 +zipp==3.10.0 \ No newline at end of file diff --git a/embeddings/wandb/run-20230224_173621-37xg7qqy/files/wandb-metadata.json b/embeddings/wandb/run-20230224_173621-37xg7qqy/files/wandb-metadata.json new file mode 100644 index 0000000000000000000000000000000000000000..72dfdbf97b151edf218c5efa658efd42bd7ff9f4 --- /dev/null +++ b/embeddings/wandb/run-20230224_173621-37xg7qqy/files/wandb-metadata.json @@ -0,0 +1,42 @@ +{ + "os": "Windows-10-10.0.19041-SP0", + "python": "3.8.1", + "heartbeatAt": "2023-02-24T17:36:23.375895", + "startedAt": "2023-02-24T17:36:21.895518", + "docker": null, + "cuda": null, + "args": [], + "state": "running", + "program": "C:\\Users\\liamb\\Documents\\graph4stackoverflow\\embeddings\\hetero_GAT.py", + "codePath": "embeddings\\hetero_GAT.py", + "git": { + "remote": "https://git.soton.ac.uk/lhb1g20/graph4stackoverflow.git", + "commit": "ced992d661984f7b87d1a3e76768e4ff7af78245" + }, + "email": "liambyrneh@gmail.com", + "root": "C:/Users/liamb/Documents/graph4stackoverflow", + "host": "DESKTOP-P7BETFF", + "username": "liamb", + "executable": "C:\\Users\\liamb\\Documents\\graph4stackoverflow\\venv\\Scripts\\python.exe", + "cpu_count": 2, + "cpu_count_logical": 4, + "cpu_freq": { + "current": 3504.0, + "min": 0.0, + "max": 3504.0 + }, + "cpu_freq_per_core": [ + { + "current": 3504.0, + "min": 0.0, + "max": 3504.0 + } + ], + "disk": { + "total": 475.71581649780273, + "used": 357.4333038330078 + }, + "memory": { + "total": 31.89160919189453 + } +} diff --git a/embeddings/wandb/run-20230224_173621-37xg7qqy/files/wandb-summary.json b/embeddings/wandb/run-20230224_173621-37xg7qqy/files/wandb-summary.json new file mode 100644 index 0000000000000000000000000000000000000000..4ac1ba993956be52f459e677e193218ff2cddc76 --- /dev/null +++ b/embeddings/wandb/run-20230224_173621-37xg7qqy/files/wandb-summary.json @@ -0,0 +1 @@ +{"_wandb": {"runtime": 3}} \ No newline at end of file diff --git a/embeddings/wandb/run-20230224_173621-37xg7qqy/logs/debug-internal.log b/embeddings/wandb/run-20230224_173621-37xg7qqy/logs/debug-internal.log new file mode 100644 index 0000000000000000000000000000000000000000..4b6f53c337084a3ed75ead3784441de485b2d740 --- /dev/null +++ b/embeddings/wandb/run-20230224_173621-37xg7qqy/logs/debug-internal.log @@ -0,0 +1,173 @@ +2023-02-24 17:36:22,891 INFO StreamThr :1712 [internal.py:wandb_internal():87] W&B internal server running at pid: 1712, started at: 2023-02-24 17:36:22.891530 +2023-02-24 17:36:22,893 DEBUG HandlerThread:1712 [handler.py:handle_request():144] handle_request: status +2023-02-24 17:36:22,895 INFO WriterThread:1712 [datastore.py:open_for_write():85] open: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_173621-37xg7qqy\run-37xg7qqy.wandb +2023-02-24 17:36:22,897 DEBUG SenderThread:1712 [sender.py:send():336] send: header +2023-02-24 17:36:22,897 DEBUG SenderThread:1712 [sender.py:send():336] send: run +2023-02-24 17:36:23,274 INFO SenderThread:1712 [dir_watcher.py:__init__():216] watching files in: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_173621-37xg7qqy\files +2023-02-24 17:36:23,274 INFO SenderThread:1712 [sender.py:_start_run_threads():1067] run started: 37xg7qqy with start time 1677260181.906517 +2023-02-24 17:36:23,274 DEBUG SenderThread:1712 [sender.py:send_request():363] send_request: summary_record +2023-02-24 17:36:23,275 INFO SenderThread:1712 [sender.py:_save_file():1321] saving file wandb-summary.json with policy end +2023-02-24 17:36:23,278 DEBUG HandlerThread:1712 [handler.py:handle_request():144] handle_request: check_version +2023-02-24 17:36:23,279 DEBUG SenderThread:1712 [sender.py:send_request():363] send_request: check_version +2023-02-24 17:36:23,356 DEBUG HandlerThread:1712 [handler.py:handle_request():144] handle_request: run_start +2023-02-24 17:36:23,371 DEBUG HandlerThread:1712 [system_info.py:__init__():31] System info init +2023-02-24 17:36:23,371 DEBUG HandlerThread:1712 [system_info.py:__init__():46] System info init done +2023-02-24 17:36:23,371 INFO HandlerThread:1712 [system_monitor.py:start():151] Starting system monitor +2023-02-24 17:36:23,371 INFO SystemMonitor:1712 [system_monitor.py:_start():116] Starting system asset monitoring threads +2023-02-24 17:36:23,372 INFO HandlerThread:1712 [system_monitor.py:probe():172] Collecting system info +2023-02-24 17:36:23,375 INFO SystemMonitor:1712 [interfaces.py:start():168] Started cpu +2023-02-24 17:36:23,375 DEBUG HandlerThread:1712 [system_info.py:probe():195] Probing system +2023-02-24 17:36:23,375 INFO SystemMonitor:1712 [interfaces.py:start():168] Started disk +2023-02-24 17:36:23,376 INFO SystemMonitor:1712 [interfaces.py:start():168] Started memory +2023-02-24 17:36:23,377 INFO SystemMonitor:1712 [interfaces.py:start():168] Started network +2023-02-24 17:36:23,392 DEBUG HandlerThread:1712 [system_info.py:_probe_git():180] Probing git +2023-02-24 17:36:23,484 DEBUG HandlerThread:1712 [system_info.py:_probe_git():188] Probing git done +2023-02-24 17:36:23,485 DEBUG HandlerThread:1712 [system_info.py:probe():241] Probing system done +2023-02-24 17:36:23,485 DEBUG HandlerThread:1712 [system_monitor.py:probe():181] {'os': 'Windows-10-10.0.19041-SP0', 'python': '3.8.1', 'heartbeatAt': '2023-02-24T17:36:23.375895', 'startedAt': '2023-02-24T17:36:21.895518', 'docker': None, 'cuda': None, 'args': (), 'state': 'running', 'program': 'C:\\Users\\liamb\\Documents\\graph4stackoverflow\\embeddings\\hetero_GAT.py', 'codePath': 'embeddings\\hetero_GAT.py', 'git': {'remote': 'https://git.soton.ac.uk/lhb1g20/graph4stackoverflow.git', 'commit': 'ced992d661984f7b87d1a3e76768e4ff7af78245'}, 'email': 'liambyrneh@gmail.com', 'root': 'C:/Users/liamb/Documents/graph4stackoverflow', 'host': 'DESKTOP-P7BETFF', 'username': 'liamb', 'executable': 'C:\\Users\\liamb\\Documents\\graph4stackoverflow\\venv\\Scripts\\python.exe', 'cpu_count': 2, 'cpu_count_logical': 4, 'cpu_freq': {'current': 3504.0, 'min': 0.0, 'max': 3504.0}, 'cpu_freq_per_core': [{'current': 3504.0, 'min': 0.0, 'max': 3504.0}], 'disk': {'total': 475.71581649780273, 'used': 357.4333038330078}, 'memory': {'total': 31.89160919189453}} +2023-02-24 17:36:23,485 INFO HandlerThread:1712 [system_monitor.py:probe():182] Finished collecting system info +2023-02-24 17:36:23,485 INFO HandlerThread:1712 [system_monitor.py:probe():185] Publishing system info +2023-02-24 17:36:23,485 DEBUG HandlerThread:1712 [system_info.py:_save_pip():51] Saving list of pip packages installed into the current environment +2023-02-24 17:36:23,486 DEBUG HandlerThread:1712 [system_info.py:_save_pip():67] Saving pip packages done +2023-02-24 17:36:23,488 INFO HandlerThread:1712 [system_monitor.py:probe():187] Finished publishing system info +2023-02-24 17:36:23,489 DEBUG SenderThread:1712 [sender.py:send():336] send: files +2023-02-24 17:36:23,489 INFO SenderThread:1712 [sender.py:_save_file():1321] saving file wandb-metadata.json with policy now +2023-02-24 17:36:23,497 DEBUG HandlerThread:1712 [handler.py:handle_request():144] handle_request: stop_status +2023-02-24 17:36:23,497 DEBUG SenderThread:1712 [sender.py:send_request():363] send_request: stop_status +2023-02-24 17:36:23,665 DEBUG SenderThread:1712 [sender.py:send():336] send: telemetry +2023-02-24 17:36:24,060 INFO wandb-upload_0:1712 [upload_job.py:push():138] Uploaded file C:\Users\liamb\AppData\Local\Temp\tmp_jp1zcuiwandb\b39hy6hi-wandb-metadata.json +2023-02-24 17:36:24,277 INFO Thread-32 :1712 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_173621-37xg7qqy\files\wandb-metadata.json +2023-02-24 17:36:24,278 INFO Thread-32 :1712 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_173621-37xg7qqy\files\requirements.txt +2023-02-24 17:36:24,278 INFO Thread-32 :1712 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_173621-37xg7qqy\files\wandb-summary.json +2023-02-24 17:36:24,412 DEBUG SenderThread:1712 [sender.py:send():336] send: use_artifact +2023-02-24 17:36:25,289 INFO Thread-32 :1712 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_173621-37xg7qqy\files\output.log +2023-02-24 17:36:27,127 DEBUG SenderThread:1712 [sender.py:send():336] send: exit +2023-02-24 17:36:27,127 INFO SenderThread:1712 [sender.py:send_exit():559] handling exit code: 1 +2023-02-24 17:36:27,127 INFO SenderThread:1712 [sender.py:send_exit():561] handling runtime: 3 +2023-02-24 17:36:27,127 INFO SenderThread:1712 [sender.py:_save_file():1321] saving file wandb-summary.json with policy end +2023-02-24 17:36:27,128 INFO SenderThread:1712 [sender.py:send_exit():567] send defer +2023-02-24 17:36:27,128 DEBUG HandlerThread:1712 [handler.py:handle_request():144] handle_request: defer +2023-02-24 17:36:27,128 INFO HandlerThread:1712 [handler.py:handle_request_defer():170] handle defer: 0 +2023-02-24 17:36:27,128 DEBUG SenderThread:1712 [sender.py:send_request():363] send_request: defer +2023-02-24 17:36:27,128 INFO SenderThread:1712 [sender.py:send_request_defer():583] handle sender defer: 0 +2023-02-24 17:36:27,128 INFO SenderThread:1712 [sender.py:transition_state():587] send defer: 1 +2023-02-24 17:36:27,129 DEBUG HandlerThread:1712 [handler.py:handle_request():144] handle_request: defer +2023-02-24 17:36:27,129 INFO HandlerThread:1712 [handler.py:handle_request_defer():170] handle defer: 1 +2023-02-24 17:36:27,129 DEBUG SenderThread:1712 [sender.py:send_request():363] send_request: defer +2023-02-24 17:36:27,129 INFO SenderThread:1712 [sender.py:send_request_defer():583] handle sender defer: 1 +2023-02-24 17:36:27,129 INFO SenderThread:1712 [sender.py:transition_state():587] send defer: 2 +2023-02-24 17:36:27,129 DEBUG HandlerThread:1712 [handler.py:handle_request():144] handle_request: defer +2023-02-24 17:36:27,129 INFO HandlerThread:1712 [handler.py:handle_request_defer():170] handle defer: 2 +2023-02-24 17:36:27,129 INFO HandlerThread:1712 [system_monitor.py:finish():161] Stopping system monitor +2023-02-24 17:36:27,130 DEBUG SystemMonitor:1712 [system_monitor.py:_start():130] Starting system metrics aggregation loop +2023-02-24 17:36:27,130 INFO HandlerThread:1712 [interfaces.py:finish():175] Joined cpu +2023-02-24 17:36:27,130 DEBUG SystemMonitor:1712 [system_monitor.py:_start():137] Finished system metrics aggregation loop +2023-02-24 17:36:27,131 DEBUG SystemMonitor:1712 [system_monitor.py:_start():141] Publishing last batch of metrics +2023-02-24 17:36:27,131 INFO HandlerThread:1712 [interfaces.py:finish():175] Joined disk +2023-02-24 17:36:27,131 INFO HandlerThread:1712 [interfaces.py:finish():175] Joined memory +2023-02-24 17:36:27,132 INFO HandlerThread:1712 [interfaces.py:finish():175] Joined network +2023-02-24 17:36:27,132 DEBUG SenderThread:1712 [sender.py:send_request():363] send_request: defer +2023-02-24 17:36:27,132 INFO SenderThread:1712 [sender.py:send_request_defer():583] handle sender defer: 2 +2023-02-24 17:36:27,132 INFO SenderThread:1712 [sender.py:transition_state():587] send defer: 3 +2023-02-24 17:36:27,132 DEBUG SenderThread:1712 [sender.py:send():336] send: stats +2023-02-24 17:36:27,133 DEBUG HandlerThread:1712 [handler.py:handle_request():144] handle_request: defer +2023-02-24 17:36:27,133 INFO HandlerThread:1712 [handler.py:handle_request_defer():170] handle defer: 3 +2023-02-24 17:36:27,133 DEBUG SenderThread:1712 [sender.py:send_request():363] send_request: defer +2023-02-24 17:36:27,133 INFO SenderThread:1712 [sender.py:send_request_defer():583] handle sender defer: 3 +2023-02-24 17:36:27,133 INFO SenderThread:1712 [sender.py:transition_state():587] send defer: 4 +2023-02-24 17:36:27,133 DEBUG HandlerThread:1712 [handler.py:handle_request():144] handle_request: defer +2023-02-24 17:36:27,133 INFO HandlerThread:1712 [handler.py:handle_request_defer():170] handle defer: 4 +2023-02-24 17:36:27,134 DEBUG SenderThread:1712 [sender.py:send_request():363] send_request: defer +2023-02-24 17:36:27,134 INFO SenderThread:1712 [sender.py:send_request_defer():583] handle sender defer: 4 +2023-02-24 17:36:27,134 INFO SenderThread:1712 [sender.py:transition_state():587] send defer: 5 +2023-02-24 17:36:27,134 DEBUG HandlerThread:1712 [handler.py:handle_request():144] handle_request: defer +2023-02-24 17:36:27,134 INFO HandlerThread:1712 [handler.py:handle_request_defer():170] handle defer: 5 +2023-02-24 17:36:27,134 DEBUG SenderThread:1712 [sender.py:send():336] send: summary +2023-02-24 17:36:27,135 INFO SenderThread:1712 [sender.py:_save_file():1321] saving file wandb-summary.json with policy end +2023-02-24 17:36:27,135 DEBUG SenderThread:1712 [sender.py:send_request():363] send_request: defer +2023-02-24 17:36:27,135 INFO SenderThread:1712 [sender.py:send_request_defer():583] handle sender defer: 5 +2023-02-24 17:36:27,135 INFO SenderThread:1712 [sender.py:transition_state():587] send defer: 6 +2023-02-24 17:36:27,136 DEBUG HandlerThread:1712 [handler.py:handle_request():144] handle_request: defer +2023-02-24 17:36:27,136 INFO HandlerThread:1712 [handler.py:handle_request_defer():170] handle defer: 6 +2023-02-24 17:36:27,136 DEBUG SenderThread:1712 [sender.py:send_request():363] send_request: defer +2023-02-24 17:36:27,136 INFO SenderThread:1712 [sender.py:send_request_defer():583] handle sender defer: 6 +2023-02-24 17:36:27,140 DEBUG HandlerThread:1712 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 17:36:27,319 INFO Thread-32 :1712 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_173621-37xg7qqy\files\output.log +2023-02-24 17:36:27,319 INFO Thread-32 :1712 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_173621-37xg7qqy\files\wandb-summary.json +2023-02-24 17:36:27,342 INFO SenderThread:1712 [sender.py:transition_state():587] send defer: 7 +2023-02-24 17:36:27,343 DEBUG HandlerThread:1712 [handler.py:handle_request():144] handle_request: defer +2023-02-24 17:36:27,343 INFO HandlerThread:1712 [handler.py:handle_request_defer():170] handle defer: 7 +2023-02-24 17:36:27,343 DEBUG SenderThread:1712 [sender.py:send_request():363] send_request: defer +2023-02-24 17:36:27,343 INFO SenderThread:1712 [sender.py:send_request_defer():583] handle sender defer: 7 +2023-02-24 17:36:28,140 DEBUG HandlerThread:1712 [handler.py:handle_request():144] handle_request: poll_exit +2023-02-24 17:36:28,328 INFO Thread-32 :1712 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_173621-37xg7qqy\files\config.yaml +2023-02-24 17:36:28,626 INFO SenderThread:1712 [sender.py:transition_state():587] send defer: 8 +2023-02-24 17:36:28,626 DEBUG SenderThread:1712 [sender.py:send_request():363] send_request: poll_exit +2023-02-24 17:36:28,627 DEBUG HandlerThread:1712 [handler.py:handle_request():144] handle_request: defer +2023-02-24 17:36:28,627 INFO HandlerThread:1712 [handler.py:handle_request_defer():170] handle defer: 8 +2023-02-24 17:36:28,628 DEBUG SenderThread:1712 [sender.py:send_request():363] send_request: defer +2023-02-24 17:36:28,628 INFO SenderThread:1712 [sender.py:send_request_defer():583] handle sender defer: 8 +2023-02-24 17:36:28,636 INFO SenderThread:1712 [sender.py:transition_state():587] send defer: 9 +2023-02-24 17:36:28,637 DEBUG HandlerThread:1712 [handler.py:handle_request():144] handle_request: defer +2023-02-24 17:36:28,637 DEBUG SenderThread:1712 [sender.py:send():336] send: artifact +2023-02-24 17:36:28,637 INFO HandlerThread:1712 [handler.py:handle_request_defer():170] handle defer: 9 +2023-02-24 17:36:29,151 DEBUG HandlerThread:1712 [handler.py:handle_request():144] handle_request: poll_exit +2023-02-24 17:36:29,340 INFO Thread-32 :1712 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_173621-37xg7qqy\files\output.log +2023-02-24 17:36:29,796 INFO SenderThread:1712 [sender.py:send_artifact():1417] sent artifact job-https___git.soton.ac.uk_lhb1g20_graph4stackoverflow.git_embeddings_hetero_GAT.py - {'id': 'QXJ0aWZhY3Q6MzgwMzY3ODUz', 'digest': 'dbe34f6e8b990dacc5d7c5e1ab1d02a4', 'state': 'COMMITTED', 'aliases': [{'artifactCollectionName': 'job-https___git.soton.ac.uk_lhb1g20_graph4stackoverflow.git_embeddings_hetero_GAT.py', 'alias': 'latest'}, {'artifactCollectionName': 'job-https___git.soton.ac.uk_lhb1g20_graph4stackoverflow.git_embeddings_hetero_GAT.py', 'alias': 'v0'}], 'artifactSequence': {'id': 'QXJ0aWZhY3RDb2xsZWN0aW9uOjU0NTg3MzU0', 'latestArtifact': {'id': 'QXJ0aWZhY3Q6MzgwMzk2OTM0', 'versionIndex': 2}}, 'version': 'v0'} +2023-02-24 17:36:29,796 DEBUG SenderThread:1712 [sender.py:send_request():363] send_request: defer +2023-02-24 17:36:29,796 INFO SenderThread:1712 [sender.py:send_request_defer():583] handle sender defer: 9 +2023-02-24 17:36:29,796 INFO SenderThread:1712 [dir_watcher.py:finish():362] shutting down directory watcher +2023-02-24 17:36:30,348 INFO SenderThread:1712 [dir_watcher.py:finish():392] scan: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_173621-37xg7qqy\files +2023-02-24 17:36:30,348 INFO SenderThread:1712 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_173621-37xg7qqy\files\config.yaml config.yaml +2023-02-24 17:36:30,349 INFO SenderThread:1712 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_173621-37xg7qqy\files\output.log output.log +2023-02-24 17:36:30,351 INFO SenderThread:1712 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_173621-37xg7qqy\files\requirements.txt requirements.txt +2023-02-24 17:36:30,355 INFO SenderThread:1712 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_173621-37xg7qqy\files\wandb-metadata.json wandb-metadata.json +2023-02-24 17:36:30,355 INFO SenderThread:1712 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_173621-37xg7qqy\files\wandb-summary.json wandb-summary.json +2023-02-24 17:36:30,359 INFO SenderThread:1712 [sender.py:transition_state():587] send defer: 10 +2023-02-24 17:36:30,359 DEBUG SenderThread:1712 [sender.py:send_request():363] send_request: poll_exit +2023-02-24 17:36:30,359 DEBUG HandlerThread:1712 [handler.py:handle_request():144] handle_request: defer +2023-02-24 17:36:30,359 INFO HandlerThread:1712 [handler.py:handle_request_defer():170] handle defer: 10 +2023-02-24 17:36:30,360 DEBUG SenderThread:1712 [sender.py:send_request():363] send_request: defer +2023-02-24 17:36:30,360 INFO SenderThread:1712 [sender.py:send_request_defer():583] handle sender defer: 10 +2023-02-24 17:36:30,360 INFO SenderThread:1712 [file_pusher.py:finish():162] shutting down file pusher +2023-02-24 17:36:30,851 INFO wandb-upload_1:1712 [upload_job.py:push():138] Uploaded file C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_173621-37xg7qqy\files\output.log +2023-02-24 17:36:30,946 INFO wandb-upload_3:1712 [upload_job.py:push():138] Uploaded file C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_173621-37xg7qqy\files\wandb-summary.json +2023-02-24 17:36:30,955 INFO wandb-upload_0:1712 [upload_job.py:push():138] Uploaded file C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_173621-37xg7qqy\files\config.yaml +2023-02-24 17:36:31,166 INFO wandb-upload_2:1712 [upload_job.py:push():138] Uploaded file C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_173621-37xg7qqy\files\requirements.txt +2023-02-24 17:36:31,374 INFO Thread-31 :1712 [sender.py:transition_state():587] send defer: 11 +2023-02-24 17:36:31,375 DEBUG HandlerThread:1712 [handler.py:handle_request():144] handle_request: defer +2023-02-24 17:36:31,375 INFO HandlerThread:1712 [handler.py:handle_request_defer():170] handle defer: 11 +2023-02-24 17:36:31,375 DEBUG SenderThread:1712 [sender.py:send_request():363] send_request: defer +2023-02-24 17:36:31,375 INFO SenderThread:1712 [sender.py:send_request_defer():583] handle sender defer: 11 +2023-02-24 17:36:31,375 INFO SenderThread:1712 [file_pusher.py:join():167] waiting for file pusher +2023-02-24 17:36:31,375 INFO SenderThread:1712 [sender.py:transition_state():587] send defer: 12 +2023-02-24 17:36:31,375 DEBUG HandlerThread:1712 [handler.py:handle_request():144] handle_request: defer +2023-02-24 17:36:31,375 INFO HandlerThread:1712 [handler.py:handle_request_defer():170] handle defer: 12 +2023-02-24 17:36:31,376 DEBUG SenderThread:1712 [sender.py:send_request():363] send_request: defer +2023-02-24 17:36:31,376 INFO SenderThread:1712 [sender.py:send_request_defer():583] handle sender defer: 12 +2023-02-24 17:36:31,568 INFO SenderThread:1712 [sender.py:transition_state():587] send defer: 13 +2023-02-24 17:36:31,568 DEBUG HandlerThread:1712 [handler.py:handle_request():144] handle_request: defer +2023-02-24 17:36:31,568 INFO HandlerThread:1712 [handler.py:handle_request_defer():170] handle defer: 13 +2023-02-24 17:36:31,569 DEBUG SenderThread:1712 [sender.py:send_request():363] send_request: defer +2023-02-24 17:36:31,569 INFO SenderThread:1712 [sender.py:send_request_defer():583] handle sender defer: 13 +2023-02-24 17:36:31,569 INFO SenderThread:1712 [sender.py:transition_state():587] send defer: 14 +2023-02-24 17:36:31,570 DEBUG HandlerThread:1712 [handler.py:handle_request():144] handle_request: defer +2023-02-24 17:36:31,570 INFO HandlerThread:1712 [handler.py:handle_request_defer():170] handle defer: 14 +2023-02-24 17:36:31,570 DEBUG SenderThread:1712 [sender.py:send():336] send: final +2023-02-24 17:36:31,570 DEBUG SenderThread:1712 [sender.py:send():336] send: footer +2023-02-24 17:36:31,570 DEBUG SenderThread:1712 [sender.py:send_request():363] send_request: defer +2023-02-24 17:36:31,570 INFO SenderThread:1712 [sender.py:send_request_defer():583] handle sender defer: 14 +2023-02-24 17:36:31,571 DEBUG HandlerThread:1712 [handler.py:handle_request():144] handle_request: poll_exit +2023-02-24 17:36:31,571 DEBUG HandlerThread:1712 [handler.py:handle_request():144] handle_request: server_info +2023-02-24 17:36:31,571 DEBUG HandlerThread:1712 [handler.py:handle_request():144] handle_request: get_summary +2023-02-24 17:36:31,571 DEBUG HandlerThread:1712 [handler.py:handle_request():144] handle_request: sampled_history +2023-02-24 17:36:31,572 DEBUG SenderThread:1712 [sender.py:send_request():363] send_request: poll_exit +2023-02-24 17:36:31,572 DEBUG SenderThread:1712 [sender.py:send_request():363] send_request: server_info +2023-02-24 17:36:31,750 INFO MainThread:1712 [wandb_run.py:_footer_history_summary_info():3442] rendering history +2023-02-24 17:36:31,750 INFO MainThread:1712 [wandb_run.py:_footer_history_summary_info():3474] rendering summary +2023-02-24 17:36:31,750 INFO MainThread:1712 [wandb_run.py:_footer_sync_info():3398] logging synced files +2023-02-24 17:36:31,750 DEBUG HandlerThread:1712 [handler.py:handle_request():144] handle_request: shutdown +2023-02-24 17:36:31,750 INFO HandlerThread:1712 [handler.py:finish():841] shutting down handler +2023-02-24 17:36:32,585 INFO WriterThread:1712 [datastore.py:close():299] close: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_173621-37xg7qqy\run-37xg7qqy.wandb +2023-02-24 17:36:32,755 INFO SenderThread:1712 [sender.py:finish():1493] shutting down sender +2023-02-24 17:36:32,755 INFO SenderThread:1712 [file_pusher.py:finish():162] shutting down file pusher +2023-02-24 17:36:32,755 INFO SenderThread:1712 [file_pusher.py:join():167] waiting for file pusher diff --git a/embeddings/wandb/run-20230224_173621-37xg7qqy/logs/debug.log b/embeddings/wandb/run-20230224_173621-37xg7qqy/logs/debug.log new file mode 100644 index 0000000000000000000000000000000000000000..dabd3bf12ac3cd4aeb9b059fac2faaa0e6db7927 --- /dev/null +++ b/embeddings/wandb/run-20230224_173621-37xg7qqy/logs/debug.log @@ -0,0 +1,25 @@ +2023-02-24 17:36:21,899 INFO MainThread:3400 [wandb_setup.py:_flush():68] Configure stats pid to 3400 +2023-02-24 17:36:21,900 INFO MainThread:3400 [wandb_setup.py:_flush():68] Loading settings from C:\Users\liamb\.config\wandb\settings +2023-02-24 17:36:21,900 INFO MainThread:3400 [wandb_setup.py:_flush():68] Loading settings from C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\settings +2023-02-24 17:36:21,900 INFO MainThread:3400 [wandb_setup.py:_flush():68] Loading settings from environment variables: {'_require_service': 'True'} +2023-02-24 17:36:21,900 INFO MainThread:3400 [wandb_setup.py:_flush():68] Inferring run settings from compute environment: {'program_relpath': 'embeddings\\hetero_GAT.py', 'program': 'C:\\Users\\liamb\\Documents\\graph4stackoverflow\\embeddings\\hetero_GAT.py'} +2023-02-24 17:36:21,901 INFO MainThread:3400 [wandb_init.py:_log_setup():492] Logging user logs to C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_173621-37xg7qqy\logs\debug.log +2023-02-24 17:36:21,901 INFO MainThread:3400 [wandb_init.py:_log_setup():493] Logging internal logs to C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_173621-37xg7qqy\logs\debug-internal.log +2023-02-24 17:36:21,901 INFO MainThread:3400 [wandb_init.py:init():532] calling init triggers +2023-02-24 17:36:21,901 INFO MainThread:3400 [wandb_init.py:init():538] wandb.init called with sweep_config: {} +config: {} +2023-02-24 17:36:21,901 INFO MainThread:3400 [wandb_init.py:init():588] starting backend +2023-02-24 17:36:21,901 INFO MainThread:3400 [wandb_init.py:init():592] setting up manager +2023-02-24 17:36:21,904 INFO MainThread:3400 [backend.py:_multiprocessing_setup():106] multiprocessing start_methods=spawn, using: spawn +2023-02-24 17:36:21,906 INFO MainThread:3400 [wandb_init.py:init():599] backend started and connected +2023-02-24 17:36:21,908 INFO MainThread:3400 [wandb_init.py:init():687] updated telemetry +2023-02-24 17:36:21,968 INFO MainThread:3400 [wandb_init.py:init():727] communicating run to backend with 60.0 second timeout +2023-02-24 17:36:23,278 INFO MainThread:3400 [wandb_run.py:_on_init():2134] communicating current version +2023-02-24 17:36:23,349 INFO MainThread:3400 [wandb_run.py:_on_init():2143] got version response +2023-02-24 17:36:23,349 INFO MainThread:3400 [wandb_init.py:init():775] starting run threads in backend +2023-02-24 17:36:23,498 INFO MainThread:3400 [wandb_run.py:_console_start():2114] atexit reg +2023-02-24 17:36:23,498 INFO MainThread:3400 [wandb_run.py:_redirect():1969] redirect: SettingsConsole.WRAP_RAW +2023-02-24 17:36:23,498 INFO MainThread:3400 [wandb_run.py:_redirect():2034] Wrapping output streams. +2023-02-24 17:36:23,498 INFO MainThread:3400 [wandb_run.py:_redirect():2059] Redirects installed. +2023-02-24 17:36:23,498 INFO MainThread:3400 [wandb_init.py:init():817] run started, returning control to user process +2023-02-24 17:36:32,821 WARNING MsgRouterThr:3400 [router.py:message_loop():77] message_loop has been closed diff --git a/embeddings/wandb/run-20230224_173621-37xg7qqy/run-37xg7qqy.wandb b/embeddings/wandb/run-20230224_173621-37xg7qqy/run-37xg7qqy.wandb new file mode 100644 index 0000000000000000000000000000000000000000..5619d04adabe2597a1ab560056fc7315f895b435 Binary files /dev/null and b/embeddings/wandb/run-20230224_173621-37xg7qqy/run-37xg7qqy.wandb differ diff --git a/embeddings/wandb/run-20230224_174005-yuy5rmce/files/config.yaml b/embeddings/wandb/run-20230224_174005-yuy5rmce/files/config.yaml new file mode 100644 index 0000000000000000000000000000000000000000..6f3040112ce07e04518659e769963458aff9dc2f --- /dev/null +++ b/embeddings/wandb/run-20230224_174005-yuy5rmce/files/config.yaml @@ -0,0 +1,41 @@ +wandb_version: 1 + +_wandb: + desc: null + value: + cli_version: 0.13.10 + framework: huggingface + huggingface_version: 4.24.0 + is_jupyter_run: false + is_kaggle_kernel: false + python_version: 3.8.1 + start_time: 1677260405.585859 + t: + 1: + - 1 + - 5 + - 11 + - 33 + - 49 + - 53 + - 55 + - 77 + 2: + - 1 + - 5 + - 11 + - 33 + - 49 + - 53 + - 55 + - 77 + 3: + - 2 + - 13 + - 23 + 4: 3.8.1 + 5: 0.13.10 + 6: 4.24.0 + 8: + - 3 + - 5 diff --git a/embeddings/wandb/run-20230224_174005-yuy5rmce/files/media/table/data_1_bd46f8c867852194ff48.table.json b/embeddings/wandb/run-20230224_174005-yuy5rmce/files/media/table/data_1_bd46f8c867852194ff48.table.json new file mode 100644 index 0000000000000000000000000000000000000000..5b6f32181a5a82093754c1266ff3a8bedac02f0e Binary files /dev/null and b/embeddings/wandb/run-20230224_174005-yuy5rmce/files/media/table/data_1_bd46f8c867852194ff48.table.json differ diff --git a/embeddings/wandb/run-20230224_174005-yuy5rmce/files/output.log b/embeddings/wandb/run-20230224_174005-yuy5rmce/files/output.log new file mode 100644 index 0000000000000000000000000000000000000000..8131c8b8db35fc387a6e26d7e09e1ca583c2d1c9 --- /dev/null +++ b/embeddings/wandb/run-20230224_174005-yuy5rmce/files/output.log @@ -0,0 +1,47 @@ +wandb: WARNING Serializing object of type str that is 7167166 bytes +wandb: WARNING Serializing object of type str that is 7193162 bytes +wandb: WARNING Serializing object of type str that is 7166348 bytes +wandb: WARNING Serializing object of type str that is 7192890 bytes +wandb: WARNING Serializing object of type str that is 7184436 bytes +wandb: WARNING Serializing object of type str that is 7168708 bytes +wandb: WARNING Serializing object of type str that is 7170742 bytes +wandb: WARNING Serializing object of type str that is 7186768 bytes +wandb: WARNING Serializing object of type str that is 7186192 bytes +wandb: WARNING Serializing object of type str that is 7181972 bytes +wandb: WARNING Serializing object of type str that is 7192940 bytes +wandb: WARNING Serializing object of type str that is 7180818 bytes +wandb: WARNING Serializing object of type str that is 7166792 bytes +wandb: WARNING Serializing object of type str that is 7166798 bytes +wandb: WARNING Serializing object of type str that is 7195110 bytes +wandb: WARNING Serializing object of type str that is 7173508 bytes +wandb: WARNING Serializing object of type str that is 7172084 bytes +wandb: WARNING Serializing object of type str that is 7185084 bytes +wandb: WARNING Serializing object of type str that is 7197186 bytes +wandb: WARNING Serializing object of type str that is 7174280 bytes +wandb: WARNING Serializing object of type str that is 7166402 bytes +wandb: WARNING Serializing object of type str that is 7192432 bytes +wandb: WARNING Serializing object of type str that is 7177400 bytes +wandb: WARNING Serializing object of type str that is 7184834 bytes +wandb: WARNING Serializing object of type str that is 7189718 bytes +wandb: WARNING Serializing object of type str that is 7183828 bytes +wandb: WARNING Serializing object of type str that is 7169028 bytes +wandb: WARNING Serializing object of type str that is 7168198 bytes +wandb: WARNING Serializing object of type str that is 7185644 bytes +wandb: WARNING Serializing object of type str that is 7171770 bytes +wandb: WARNING Serializing object of type str that is 7192916 bytes +wandb: WARNING Serializing object of type str that is 7175026 bytes +wandb: WARNING Serializing object of type str that is 7191994 bytes +wandb: WARNING Serializing object of type str that is 7175628 bytes +wandb: WARNING Serializing object of type str that is 7181206 bytes +wandb: WARNING Serializing object of type str that is 7169494 bytes +wandb: WARNING Serializing object of type str that is 7195530 bytes +wandb: WARNING Serializing object of type str that is 7187058 bytes +wandb: WARNING Serializing object of type str that is 7185746 bytes +wandb: WARNING Serializing object of type str that is 7189144 bytes +wandb: WARNING Serializing object of type str that is 7184440 bytes +wandb: WARNING Serializing object of type str that is 7166790 bytes +wandb: WARNING Serializing object of type str that is 7175882 bytes +wandb: WARNING Serializing object of type str that is 7172828 bytes +wandb: WARNING Serializing object of type str that is 7187934 bytes +wandb: WARNING Serializing object of type str that is 7184042 bytes +wandb: Adding directory to artifact (.\..\data)... Done. 1.9s \ No newline at end of file diff --git a/embeddings/wandb/run-20230224_174005-yuy5rmce/files/requirements.txt b/embeddings/wandb/run-20230224_174005-yuy5rmce/files/requirements.txt new file mode 100644 index 0000000000000000000000000000000000000000..d7de821539624662109e252a91c4907a963ad5fb --- /dev/null +++ b/embeddings/wandb/run-20230224_174005-yuy5rmce/files/requirements.txt @@ -0,0 +1,170 @@ +absl-py==1.3.0 +anyio==3.6.2 +appdirs==1.4.4 +argon2-cffi-bindings==21.2.0 +argon2-cffi==21.3.0 +asttokens==2.1.0 +astunparse==1.6.3 +attrs==22.1.0 +backcall==0.2.0 +beautifulsoup4==4.11.1 +bleach==5.0.1 +blis==0.7.9 +bs4==0.0.1 +cachetools==5.2.0 +catalogue==2.0.8 +certifi==2022.9.24 +cffi==1.15.1 +charset-normalizer==2.1.1 +click==8.1.3 +colorama==0.4.6 +confection==0.0.3 +contourpy==1.0.6 +cycler==0.11.0 +cymem==2.0.7 +debugpy==1.6.3 +decorator==5.1.1 +defusedxml==0.7.1 +dgl==0.9.1 +docker-pycreds==0.4.0 +en-core-web-sm==3.4.1 +entrypoints==0.4 +executing==1.2.0 +fastjsonschema==2.16.2 +filelock==3.8.0 +fonttools==4.38.0 +gitdb==4.0.10 +gitpython==3.1.31 +google-auth-oauthlib==0.4.6 +google-auth==2.14.0 +graph4nlp==0.5.5 +grpcio==1.50.0 +huggingface-hub==0.10.1 +idna==3.4 +importlib-metadata==5.0.0 +importlib-resources==5.10.0 +ipykernel==6.16.2 +ipython-genutils==0.2.0 +ipython==8.6.0 +ipywidgets==8.0.2 +jedi==0.18.1 +jinja2==3.1.2 +joblib==1.2.0 +jsonschema==4.16.0 +jupyter-client==7.4.4 +jupyter-console==6.4.4 +jupyter-core==4.11.2 +jupyter-server==1.21.0 +jupyter==1.0.0 +jupyterlab-pygments==0.2.2 +jupyterlab-widgets==3.0.3 +kiwisolver==1.4.4 +langcodes==3.3.0 +littleutils==0.2.2 +lxml==4.9.1 +markdown==3.4.1 +markupsafe==2.1.1 +matplotlib-inline==0.1.6 +matplotlib==3.6.2 +mistune==2.0.4 +murmurhash==1.0.9 +nbclassic==0.4.7 +nbclient==0.7.0 +nbconvert==7.2.3 +nbformat==5.7.0 +nest-asyncio==1.5.6 +networkx==2.8.8 +nltk==3.7 +notebook-shim==0.2.0 +notebook==6.5.2 +numpy==1.23.5 +oauthlib==3.2.2 +ogb==1.3.5 +outdated==0.2.2 +packaging==21.3 +pandas==1.5.1 +pandocfilters==1.5.0 +parso==0.8.3 +pathtools==0.1.2 +pathy==0.6.2 +pickleshare==0.7.5 +pillow==9.3.0 +pip==21.3.1 +pkgutil-resolve-name==1.3.10 +plotly==5.13.0 +preshed==3.0.8 +prometheus-client==0.15.0 +prompt-toolkit==3.0.31 +protobuf==3.19.6 +psutil==5.9.3 +pure-eval==0.2.2 +pyasn1-modules==0.2.8 +pyasn1==0.4.8 +pycparser==2.21 +pydantic==1.10.2 +pygments==2.13.0 +pyparsing==3.0.9 +pyrsistent==0.18.1 +python-dateutil==2.8.2 +pythonds==1.2.1 +pytz==2022.5 +pywin32==304 +pywinpty==2.0.9 +pyyaml==6.0 +pyzmq==24.0.1 +qtconsole==5.3.2 +qtpy==2.2.1 +regex==2022.10.31 +requests-oauthlib==1.3.1 +requests==2.28.1 +rsa==4.9 +scikit-learn==1.1.3 +scipy==1.9.3 +send2trash==1.8.0 +sentry-sdk==1.15.0 +setproctitle==1.3.2 +setuptools==60.2.0 +six==1.16.0 +smart-open==5.2.1 +smmap==5.0.0 +sniffio==1.3.0 +soupsieve==2.3.2.post1 +spacy-legacy==3.0.10 +spacy-loggers==1.0.3 +spacy==3.4.2 +srsly==2.4.5 +stack-data==0.6.0 +stanfordcorenlp==3.9.1.1 +tenacity==8.2.1 +tensorboard-data-server==0.6.1 +tensorboard-plugin-wit==1.8.1 +tensorboard==2.10.1 +terminado==0.17.0 +thinc==8.1.5 +threadpoolctl==3.1.0 +tinycss2==1.2.1 +tokenizers==0.13.2 +torch-cluster==1.6.0+pt113cpu +torch-geometric==2.2.0 +torch-scatter==2.1.0+pt113cpu +torch-sparse==0.6.16+pt113cpu +torch-spline-conv==1.2.1+pt113cpu +torch==1.13.0 +torchsummary==1.5.1 +torchtext==0.14.0 +tornado==6.2 +tqdm==4.64.1 +traitlets==5.5.0 +transformers==4.24.0 +typer==0.4.2 +typing-extensions==4.4.0 +urllib3==1.26.12 +wandb==0.13.10 +wasabi==0.10.1 +wcwidth==0.2.5 +webencodings==0.5.1 +websocket-client==1.4.1 +werkzeug==2.2.2 +wheel==0.37.1 +widgetsnbextension==4.0.3 +zipp==3.10.0 \ No newline at end of file diff --git a/embeddings/wandb/run-20230224_174005-yuy5rmce/files/wandb-metadata.json b/embeddings/wandb/run-20230224_174005-yuy5rmce/files/wandb-metadata.json new file mode 100644 index 0000000000000000000000000000000000000000..2c349edbe02345f30f2bda9f84b0850f0581372d --- /dev/null +++ b/embeddings/wandb/run-20230224_174005-yuy5rmce/files/wandb-metadata.json @@ -0,0 +1,42 @@ +{ + "os": "Windows-10-10.0.19041-SP0", + "python": "3.8.1", + "heartbeatAt": "2023-02-24T17:40:07.291001", + "startedAt": "2023-02-24T17:40:05.571860", + "docker": null, + "cuda": null, + "args": [], + "state": "running", + "program": "C:\\Users\\liamb\\Documents\\graph4stackoverflow\\embeddings\\hetero_GAT.py", + "codePath": "embeddings\\hetero_GAT.py", + "git": { + "remote": "https://git.soton.ac.uk/lhb1g20/graph4stackoverflow.git", + "commit": "ced992d661984f7b87d1a3e76768e4ff7af78245" + }, + "email": "liambyrneh@gmail.com", + "root": "C:/Users/liamb/Documents/graph4stackoverflow", + "host": "DESKTOP-P7BETFF", + "username": "liamb", + "executable": "C:\\Users\\liamb\\Documents\\graph4stackoverflow\\venv\\Scripts\\python.exe", + "cpu_count": 2, + "cpu_count_logical": 4, + "cpu_freq": { + "current": 3504.0, + "min": 0.0, + "max": 3504.0 + }, + "cpu_freq_per_core": [ + { + "current": 3504.0, + "min": 0.0, + "max": 3504.0 + } + ], + "disk": { + "total": 475.71581649780273, + "used": 357.31800842285156 + }, + "memory": { + "total": 31.89160919189453 + } +} diff --git a/embeddings/wandb/run-20230224_174005-yuy5rmce/files/wandb-summary.json b/embeddings/wandb/run-20230224_174005-yuy5rmce/files/wandb-summary.json new file mode 100644 index 0000000000000000000000000000000000000000..c52628af49206635e6b7d28131c42d637603d68f --- /dev/null +++ b/embeddings/wandb/run-20230224_174005-yuy5rmce/files/wandb-summary.json @@ -0,0 +1 @@ +{"num_node_features": {"question": 1536, "answer": 1536, "comment": 768, "tag": 50, "module": 30}, "num_classes": 2, "_timestamp": 1677260424.5856166, "_runtime": 18.999757528305054, "_step": 1, "data": {"_type": "table-file", "sha256": "bd46f8c867852194ff48d33cc88300db5531679767c840983c0a2ea35e2039bb", "size": 168981951, "artifact_path": "wandb-client-artifact://4nakilaxnbfhec0sr6p5q2mo15l2pb8cqx1uf44zjsi6ehlz4jr84sv0chd7m2i1kt6ncxobds6cgdntevezg058cmbbtqkeq2gyy96tx99n6aqbzxz6xt6e408s16vp:latest/data.table.json", "_latest_artifact_path": "wandb-client-artifact://4nakilaxnbfhec0sr6p5q2mo15l2pb8cqx1uf44zjsi6ehlz4jr84sv0chd7m2i1kt6ncxobds6cgdntevezg058cmbbtqkeq2gyy96tx99n6aqbzxz6xt6e408s16vp:latest/data.table.json", "path": "media/table/data_1_bd46f8c867852194ff48.table.json", "ncols": 4, "nrows": 46}, "_wandb": {"runtime": 19}} \ No newline at end of file diff --git a/embeddings/wandb/run-20230224_174005-yuy5rmce/logs/debug-internal.log b/embeddings/wandb/run-20230224_174005-yuy5rmce/logs/debug-internal.log new file mode 100644 index 0000000000000000000000000000000000000000..9dc259f391a4c197751db13c1a47b3fcb81a0861 --- /dev/null +++ b/embeddings/wandb/run-20230224_174005-yuy5rmce/logs/debug-internal.log @@ -0,0 +1,271 @@ +2023-02-24 17:40:05,587 INFO StreamThr :1724 [internal.py:wandb_internal():87] W&B internal server running at pid: 1724, started at: 2023-02-24 17:40:05.585859 +2023-02-24 17:40:05,590 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: status +2023-02-24 17:40:05,591 INFO WriterThread:1724 [datastore.py:open_for_write():85] open: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_174005-yuy5rmce\run-yuy5rmce.wandb +2023-02-24 17:40:05,595 DEBUG SenderThread:1724 [sender.py:send():336] send: header +2023-02-24 17:40:05,647 DEBUG SenderThread:1724 [sender.py:send():336] send: run +2023-02-24 17:40:07,032 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: check_version +2023-02-24 17:40:07,104 INFO SenderThread:1724 [dir_watcher.py:__init__():216] watching files in: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_174005-yuy5rmce\files +2023-02-24 17:40:07,105 INFO SenderThread:1724 [sender.py:_start_run_threads():1067] run started: yuy5rmce with start time 1677260405.585859 +2023-02-24 17:40:07,105 DEBUG SenderThread:1724 [sender.py:send_request():363] send_request: summary_record +2023-02-24 17:40:07,105 INFO SenderThread:1724 [sender.py:_save_file():1321] saving file wandb-summary.json with policy end +2023-02-24 17:40:07,106 DEBUG SenderThread:1724 [sender.py:send_request():363] send_request: check_version +2023-02-24 17:40:07,260 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: run_start +2023-02-24 17:40:07,283 DEBUG HandlerThread:1724 [system_info.py:__init__():31] System info init +2023-02-24 17:40:07,284 DEBUG HandlerThread:1724 [system_info.py:__init__():46] System info init done +2023-02-24 17:40:07,284 INFO HandlerThread:1724 [system_monitor.py:start():151] Starting system monitor +2023-02-24 17:40:07,284 INFO SystemMonitor:1724 [system_monitor.py:_start():116] Starting system asset monitoring threads +2023-02-24 17:40:07,284 INFO HandlerThread:1724 [system_monitor.py:probe():172] Collecting system info +2023-02-24 17:40:07,290 INFO SystemMonitor:1724 [interfaces.py:start():168] Started cpu +2023-02-24 17:40:07,291 DEBUG HandlerThread:1724 [system_info.py:probe():195] Probing system +2023-02-24 17:40:07,291 INFO SystemMonitor:1724 [interfaces.py:start():168] Started disk +2023-02-24 17:40:07,292 INFO SystemMonitor:1724 [interfaces.py:start():168] Started memory +2023-02-24 17:40:07,314 INFO SystemMonitor:1724 [interfaces.py:start():168] Started network +2023-02-24 17:40:07,315 DEBUG HandlerThread:1724 [system_info.py:_probe_git():180] Probing git +2023-02-24 17:40:07,513 DEBUG HandlerThread:1724 [system_info.py:_probe_git():188] Probing git done +2023-02-24 17:40:07,513 DEBUG HandlerThread:1724 [system_info.py:probe():241] Probing system done +2023-02-24 17:40:07,513 DEBUG HandlerThread:1724 [system_monitor.py:probe():181] {'os': 'Windows-10-10.0.19041-SP0', 'python': '3.8.1', 'heartbeatAt': '2023-02-24T17:40:07.291001', 'startedAt': '2023-02-24T17:40:05.571860', 'docker': None, 'cuda': None, 'args': (), 'state': 'running', 'program': 'C:\\Users\\liamb\\Documents\\graph4stackoverflow\\embeddings\\hetero_GAT.py', 'codePath': 'embeddings\\hetero_GAT.py', 'git': {'remote': 'https://git.soton.ac.uk/lhb1g20/graph4stackoverflow.git', 'commit': 'ced992d661984f7b87d1a3e76768e4ff7af78245'}, 'email': 'liambyrneh@gmail.com', 'root': 'C:/Users/liamb/Documents/graph4stackoverflow', 'host': 'DESKTOP-P7BETFF', 'username': 'liamb', 'executable': 'C:\\Users\\liamb\\Documents\\graph4stackoverflow\\venv\\Scripts\\python.exe', 'cpu_count': 2, 'cpu_count_logical': 4, 'cpu_freq': {'current': 3504.0, 'min': 0.0, 'max': 3504.0}, 'cpu_freq_per_core': [{'current': 3504.0, 'min': 0.0, 'max': 3504.0}], 'disk': {'total': 475.71581649780273, 'used': 357.31800842285156}, 'memory': {'total': 31.89160919189453}} +2023-02-24 17:40:07,513 INFO HandlerThread:1724 [system_monitor.py:probe():182] Finished collecting system info +2023-02-24 17:40:07,514 INFO HandlerThread:1724 [system_monitor.py:probe():185] Publishing system info +2023-02-24 17:40:07,514 DEBUG HandlerThread:1724 [system_info.py:_save_pip():51] Saving list of pip packages installed into the current environment +2023-02-24 17:40:07,514 DEBUG HandlerThread:1724 [system_info.py:_save_pip():67] Saving pip packages done +2023-02-24 17:40:07,518 INFO HandlerThread:1724 [system_monitor.py:probe():187] Finished publishing system info +2023-02-24 17:40:07,534 DEBUG SenderThread:1724 [sender.py:send():336] send: files +2023-02-24 17:40:07,534 INFO SenderThread:1724 [sender.py:_save_file():1321] saving file wandb-metadata.json with policy now +2023-02-24 17:40:07,548 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: stop_status +2023-02-24 17:40:07,548 DEBUG SenderThread:1724 [sender.py:send_request():363] send_request: stop_status +2023-02-24 17:40:07,552 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: partial_history +2023-02-24 17:40:07,933 DEBUG SenderThread:1724 [sender.py:send():336] send: telemetry +2023-02-24 17:40:07,933 DEBUG SenderThread:1724 [sender.py:send():336] send: history +2023-02-24 17:40:07,933 DEBUG SenderThread:1724 [sender.py:send_request():363] send_request: summary_record +2023-02-24 17:40:07,933 INFO SenderThread:1724 [sender.py:_save_file():1321] saving file wandb-summary.json with policy end +2023-02-24 17:40:08,115 INFO Thread-17 :1724 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_174005-yuy5rmce\files\wandb-summary.json +2023-02-24 17:40:08,115 INFO Thread-17 :1724 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_174005-yuy5rmce\files\wandb-metadata.json +2023-02-24 17:40:08,115 INFO Thread-17 :1724 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_174005-yuy5rmce\files\requirements.txt +2023-02-24 17:40:08,762 INFO wandb-upload_0:1724 [upload_job.py:push():138] Uploaded file C:\Users\liamb\AppData\Local\Temp\tmp4_8t_18cwandb\t11fbe7h-wandb-metadata.json +2023-02-24 17:40:10,113 INFO Thread-17 :1724 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_174005-yuy5rmce\files\output.log +2023-02-24 17:40:10,719 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 17:40:12,126 INFO Thread-17 :1724 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_174005-yuy5rmce\files\output.log +2023-02-24 17:40:15,739 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 17:40:17,929 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: log_artifact +2023-02-24 17:40:17,930 DEBUG SenderThread:1724 [sender.py:send_request():363] send_request: log_artifact +2023-02-24 17:40:22,544 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 17:40:22,544 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 17:40:24,231 INFO Thread-17 :1724 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_174005-yuy5rmce\files\media\table\data_1_bd46f8c867852194ff48.table.json +2023-02-24 17:40:24,231 INFO Thread-17 :1724 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_174005-yuy5rmce\files\media\table +2023-02-24 17:40:24,231 INFO Thread-17 :1724 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_174005-yuy5rmce\files\media +2023-02-24 17:40:24,586 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: partial_history +2023-02-24 17:40:26,618 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: log_artifact +2023-02-24 17:40:27,626 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: poll_exit +2023-02-24 17:40:32,675 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 17:40:37,724 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 17:40:42,767 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 17:40:47,827 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 17:40:52,880 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 17:40:57,944 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 17:41:03,004 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 17:41:07,329 DEBUG SystemMonitor:1724 [system_monitor.py:_start():130] Starting system metrics aggregation loop +2023-02-24 17:41:08,063 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 17:41:13,109 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 17:41:18,177 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 17:41:23,220 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 17:41:28,267 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 17:41:33,323 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 17:41:38,368 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 17:41:43,434 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 17:41:48,485 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 17:41:53,544 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 17:41:58,606 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 17:42:03,664 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 17:42:08,724 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 17:42:11,972 INFO wandb-upload_0:1724 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpu0l_ev3w +2023-02-24 17:42:13,717 INFO SenderThread:1724 [sender.py:send_request_log_artifact():1381] logged artifact run-yuy5rmce-data - {'id': 'QXJ0aWZhY3Q6MzgwNjE2MjIw', 'digest': '6bdd4c6181b1d76e5a6a7b61580da18c', 'state': 'PENDING', 'aliases': [], 'artifactSequence': {'id': 'QXJ0aWZhY3RDb2xsZWN0aW9uOjU0NjMxODkx', 'latestArtifact': None}, 'version': 'latest'} +2023-02-24 17:42:13,722 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 17:42:13,782 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 17:42:14,989 DEBUG SenderThread:1724 [sender.py:send():336] send: files +2023-02-24 17:42:14,990 INFO SenderThread:1724 [sender.py:_save_file():1321] saving file media\table\data_1_bd46f8c867852194ff48.table.json with policy now +2023-02-24 17:42:14,990 DEBUG SenderThread:1724 [sender.py:send():336] send: history +2023-02-24 17:42:14,990 DEBUG SenderThread:1724 [sender.py:send_request():363] send_request: summary_record +2023-02-24 17:42:14,993 INFO SenderThread:1724 [sender.py:_save_file():1321] saving file wandb-summary.json with policy end +2023-02-24 17:42:14,993 DEBUG SenderThread:1724 [sender.py:send_request():363] send_request: log_artifact +2023-02-24 17:42:15,524 INFO Thread-17 :1724 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_174005-yuy5rmce\files\wandb-summary.json +2023-02-24 17:42:15,524 INFO Thread-17 :1724 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_174005-yuy5rmce\files\config.yaml +2023-02-24 17:42:16,036 INFO SenderThread:1724 [sender.py:send_request_log_artifact():1381] logged artifact static-graphs - {'id': 'QXJ0aWZhY3Q6MzgwNTY0ODAy', 'digest': '64a712122c812b4423fcf560ca60f704', 'state': 'COMMITTED', 'aliases': [{'artifactCollectionName': 'static-graphs', 'alias': 'latest'}, {'artifactCollectionName': 'static-graphs', 'alias': 'v0'}], 'artifactSequence': {'id': 'QXJ0aWZhY3RDb2xsZWN0aW9uOjU0NjIzMTU5', 'latestArtifact': {'id': 'QXJ0aWZhY3Q6MzgwNTY0ODAy', 'versionIndex': 0}}, 'version': 'v0'} +2023-02-24 17:42:16,036 DEBUG SenderThread:1724 [sender.py:send():336] send: telemetry +2023-02-24 17:42:16,036 DEBUG SenderThread:1724 [sender.py:send():336] send: exit +2023-02-24 17:42:16,036 INFO SenderThread:1724 [sender.py:send_exit():559] handling exit code: 0 +2023-02-24 17:42:16,036 INFO SenderThread:1724 [sender.py:send_exit():561] handling runtime: 19 +2023-02-24 17:42:16,037 INFO SenderThread:1724 [sender.py:_save_file():1321] saving file wandb-summary.json with policy end +2023-02-24 17:42:16,038 INFO SenderThread:1724 [sender.py:send_exit():567] send defer +2023-02-24 17:42:16,038 DEBUG SenderThread:1724 [sender.py:send_request():363] send_request: poll_exit +2023-02-24 17:42:16,039 DEBUG SenderThread:1724 [sender.py:send():336] send: stats +2023-02-24 17:42:16,039 DEBUG SenderThread:1724 [sender.py:send():336] send: stats +2023-02-24 17:42:16,039 DEBUG SenderThread:1724 [sender.py:send():336] send: stats +2023-02-24 17:42:16,040 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: defer +2023-02-24 17:42:16,040 INFO HandlerThread:1724 [handler.py:handle_request_defer():170] handle defer: 0 +2023-02-24 17:42:16,040 DEBUG SenderThread:1724 [sender.py:send_request():363] send_request: defer +2023-02-24 17:42:16,040 INFO SenderThread:1724 [sender.py:send_request_defer():583] handle sender defer: 0 +2023-02-24 17:42:16,040 INFO SenderThread:1724 [sender.py:transition_state():587] send defer: 1 +2023-02-24 17:42:16,041 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: defer +2023-02-24 17:42:16,041 INFO HandlerThread:1724 [handler.py:handle_request_defer():170] handle defer: 1 +2023-02-24 17:42:16,041 DEBUG SenderThread:1724 [sender.py:send_request():363] send_request: defer +2023-02-24 17:42:16,041 INFO SenderThread:1724 [sender.py:send_request_defer():583] handle sender defer: 1 +2023-02-24 17:42:16,041 INFO SenderThread:1724 [sender.py:transition_state():587] send defer: 2 +2023-02-24 17:42:16,041 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: defer +2023-02-24 17:42:16,041 INFO HandlerThread:1724 [handler.py:handle_request_defer():170] handle defer: 2 +2023-02-24 17:42:16,041 INFO HandlerThread:1724 [system_monitor.py:finish():161] Stopping system monitor +2023-02-24 17:42:16,042 DEBUG SystemMonitor:1724 [system_monitor.py:_start():137] Finished system metrics aggregation loop +2023-02-24 17:42:16,042 DEBUG SystemMonitor:1724 [system_monitor.py:_start():141] Publishing last batch of metrics +2023-02-24 17:42:16,043 INFO HandlerThread:1724 [interfaces.py:finish():175] Joined cpu +2023-02-24 17:42:16,043 INFO HandlerThread:1724 [interfaces.py:finish():175] Joined disk +2023-02-24 17:42:16,043 INFO HandlerThread:1724 [interfaces.py:finish():175] Joined memory +2023-02-24 17:42:16,043 INFO HandlerThread:1724 [interfaces.py:finish():175] Joined network +2023-02-24 17:42:16,043 DEBUG SenderThread:1724 [sender.py:send_request():363] send_request: defer +2023-02-24 17:42:16,043 INFO SenderThread:1724 [sender.py:send_request_defer():583] handle sender defer: 2 +2023-02-24 17:42:16,044 INFO SenderThread:1724 [sender.py:transition_state():587] send defer: 3 +2023-02-24 17:42:16,044 DEBUG SenderThread:1724 [sender.py:send():336] send: stats +2023-02-24 17:42:16,044 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: defer +2023-02-24 17:42:16,044 INFO HandlerThread:1724 [handler.py:handle_request_defer():170] handle defer: 3 +2023-02-24 17:42:16,044 DEBUG SenderThread:1724 [sender.py:send_request():363] send_request: defer +2023-02-24 17:42:16,044 INFO SenderThread:1724 [sender.py:send_request_defer():583] handle sender defer: 3 +2023-02-24 17:42:16,044 INFO SenderThread:1724 [sender.py:transition_state():587] send defer: 4 +2023-02-24 17:42:16,045 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: defer +2023-02-24 17:42:16,045 INFO HandlerThread:1724 [handler.py:handle_request_defer():170] handle defer: 4 +2023-02-24 17:42:16,045 DEBUG SenderThread:1724 [sender.py:send_request():363] send_request: defer +2023-02-24 17:42:16,045 INFO SenderThread:1724 [sender.py:send_request_defer():583] handle sender defer: 4 +2023-02-24 17:42:16,045 INFO SenderThread:1724 [sender.py:transition_state():587] send defer: 5 +2023-02-24 17:42:16,045 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: defer +2023-02-24 17:42:16,045 INFO HandlerThread:1724 [handler.py:handle_request_defer():170] handle defer: 5 +2023-02-24 17:42:16,046 DEBUG SenderThread:1724 [sender.py:send():336] send: summary +2023-02-24 17:42:16,046 INFO SenderThread:1724 [sender.py:_save_file():1321] saving file wandb-summary.json with policy end +2023-02-24 17:42:16,047 DEBUG SenderThread:1724 [sender.py:send_request():363] send_request: defer +2023-02-24 17:42:16,047 INFO SenderThread:1724 [sender.py:send_request_defer():583] handle sender defer: 5 +2023-02-24 17:42:16,047 INFO SenderThread:1724 [sender.py:transition_state():587] send defer: 6 +2023-02-24 17:42:16,047 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: defer +2023-02-24 17:42:16,047 INFO HandlerThread:1724 [handler.py:handle_request_defer():170] handle defer: 6 +2023-02-24 17:42:16,047 DEBUG SenderThread:1724 [sender.py:send_request():363] send_request: defer +2023-02-24 17:42:16,047 INFO SenderThread:1724 [sender.py:send_request_defer():583] handle sender defer: 6 +2023-02-24 17:42:16,051 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 17:42:16,247 INFO SenderThread:1724 [sender.py:transition_state():587] send defer: 7 +2023-02-24 17:42:16,247 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: defer +2023-02-24 17:42:16,247 INFO HandlerThread:1724 [handler.py:handle_request_defer():170] handle defer: 7 +2023-02-24 17:42:16,247 DEBUG SenderThread:1724 [sender.py:send_request():363] send_request: defer +2023-02-24 17:42:16,248 INFO SenderThread:1724 [sender.py:send_request_defer():583] handle sender defer: 7 +2023-02-24 17:42:16,494 INFO SenderThread:1724 [sender.py:transition_state():587] send defer: 8 +2023-02-24 17:42:16,494 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: defer +2023-02-24 17:42:16,494 INFO HandlerThread:1724 [handler.py:handle_request_defer():170] handle defer: 8 +2023-02-24 17:42:16,494 DEBUG SenderThread:1724 [sender.py:send_request():363] send_request: defer +2023-02-24 17:42:16,494 INFO SenderThread:1724 [sender.py:send_request_defer():583] handle sender defer: 8 +2023-02-24 17:42:16,503 INFO SenderThread:1724 [sender.py:transition_state():587] send defer: 9 +2023-02-24 17:42:16,504 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: defer +2023-02-24 17:42:16,504 INFO HandlerThread:1724 [handler.py:handle_request_defer():170] handle defer: 9 +2023-02-24 17:42:16,504 DEBUG SenderThread:1724 [sender.py:send():336] send: artifact +2023-02-24 17:42:16,526 INFO Thread-17 :1724 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_174005-yuy5rmce\files\wandb-summary.json +2023-02-24 17:42:16,526 INFO Thread-17 :1724 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_174005-yuy5rmce\files\config.yaml +2023-02-24 17:42:16,527 INFO Thread-17 :1724 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_174005-yuy5rmce\files\output.log +2023-02-24 17:42:17,260 INFO SenderThread:1724 [sender.py:send_artifact():1417] sent artifact job-https___git.soton.ac.uk_lhb1g20_graph4stackoverflow.git_embeddings_hetero_GAT.py - {'id': 'QXJ0aWZhY3Q6MzgwMzk2OTM0', 'digest': '8077f65decb82fd65dc9936bbf393b39', 'state': 'COMMITTED', 'aliases': [{'artifactCollectionName': 'job-https___git.soton.ac.uk_lhb1g20_graph4stackoverflow.git_embeddings_hetero_GAT.py', 'alias': 'latest'}, {'artifactCollectionName': 'job-https___git.soton.ac.uk_lhb1g20_graph4stackoverflow.git_embeddings_hetero_GAT.py', 'alias': 'v2'}], 'artifactSequence': {'id': 'QXJ0aWZhY3RDb2xsZWN0aW9uOjU0NTg3MzU0', 'latestArtifact': {'id': 'QXJ0aWZhY3Q6MzgwMzk2OTM0', 'versionIndex': 2}}, 'version': 'v2'} +2023-02-24 17:42:17,260 DEBUG SenderThread:1724 [sender.py:send_request():363] send_request: defer +2023-02-24 17:42:17,261 INFO SenderThread:1724 [sender.py:send_request_defer():583] handle sender defer: 9 +2023-02-24 17:42:17,261 INFO SenderThread:1724 [dir_watcher.py:finish():362] shutting down directory watcher +2023-02-24 17:42:17,540 INFO SenderThread:1724 [dir_watcher.py:finish():392] scan: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_174005-yuy5rmce\files +2023-02-24 17:42:17,540 INFO SenderThread:1724 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_174005-yuy5rmce\files\config.yaml config.yaml +2023-02-24 17:42:17,541 INFO SenderThread:1724 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_174005-yuy5rmce\files\output.log output.log +2023-02-24 17:42:17,541 INFO SenderThread:1724 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_174005-yuy5rmce\files\requirements.txt requirements.txt +2023-02-24 17:42:17,546 INFO SenderThread:1724 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_174005-yuy5rmce\files\wandb-metadata.json wandb-metadata.json +2023-02-24 17:42:17,547 INFO SenderThread:1724 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_174005-yuy5rmce\files\wandb-summary.json wandb-summary.json +2023-02-24 17:42:17,557 INFO SenderThread:1724 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_174005-yuy5rmce\files\media\table\data_1_bd46f8c867852194ff48.table.json media\table\data_1_bd46f8c867852194ff48.table.json +2023-02-24 17:42:17,557 INFO SenderThread:1724 [sender.py:transition_state():587] send defer: 10 +2023-02-24 17:42:17,558 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: defer +2023-02-24 17:42:17,558 INFO HandlerThread:1724 [handler.py:handle_request_defer():170] handle defer: 10 +2023-02-24 17:42:17,558 DEBUG SenderThread:1724 [sender.py:send_request():363] send_request: defer +2023-02-24 17:42:17,558 INFO SenderThread:1724 [sender.py:send_request_defer():583] handle sender defer: 10 +2023-02-24 17:42:17,558 INFO SenderThread:1724 [file_pusher.py:finish():162] shutting down file pusher +2023-02-24 17:42:18,051 INFO wandb-upload_1:1724 [upload_job.py:push():138] Uploaded file C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_174005-yuy5rmce\files\config.yaml +2023-02-24 17:42:18,098 INFO wandb-upload_3:1724 [upload_job.py:push():138] Uploaded file C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_174005-yuy5rmce\files\requirements.txt +2023-02-24 17:42:18,099 INFO wandb-upload_4:1724 [upload_job.py:push():138] Uploaded file C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_174005-yuy5rmce\files\wandb-summary.json +2023-02-24 17:42:18,365 INFO wandb-upload_2:1724 [upload_job.py:push():138] Uploaded file C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_174005-yuy5rmce\files\output.log +2023-02-24 17:42:18,820 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 17:42:23,873 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 17:42:25,649 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 17:42:28,919 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 17:42:30,688 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 17:42:33,975 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 17:42:35,752 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 17:42:39,034 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 17:42:40,807 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 17:42:44,083 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 17:42:45,857 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 17:42:49,142 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 17:42:50,915 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 17:42:54,183 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 17:42:55,974 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 17:42:59,248 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 17:43:01,033 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 17:43:04,296 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 17:43:06,089 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 17:43:09,361 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 17:43:11,153 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 17:43:14,411 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 17:43:16,201 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 17:43:19,456 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 17:43:21,243 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 17:43:24,513 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 17:43:26,304 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 17:43:29,565 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 17:43:31,356 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 17:43:34,607 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 17:43:36,403 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 17:43:39,653 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 17:43:41,459 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 17:43:44,697 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 17:43:46,496 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 17:43:49,744 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 17:43:51,549 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 17:43:54,806 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 17:43:56,613 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 17:43:59,855 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 17:44:01,658 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 17:44:04,907 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 17:44:06,707 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 17:44:09,954 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 17:44:11,751 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 17:44:15,007 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 17:44:16,814 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 17:44:20,065 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 17:44:21,865 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 17:44:25,114 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: keepalive +2023-02-24 17:44:26,173 INFO wandb-upload_0:1724 [upload_job.py:push():138] Uploaded file C:\Users\liamb\AppData\Local\Temp\tmp4_8t_18cwandb\p4y5mglj-media/table/data_1_bd46f8c867852194ff48.table.json +2023-02-24 17:44:26,391 INFO Thread-16 :1724 [sender.py:transition_state():587] send defer: 11 +2023-02-24 17:44:26,391 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: defer +2023-02-24 17:44:26,391 INFO HandlerThread:1724 [handler.py:handle_request_defer():170] handle defer: 11 +2023-02-24 17:44:26,391 DEBUG SenderThread:1724 [sender.py:send_request():363] send_request: defer +2023-02-24 17:44:26,391 INFO SenderThread:1724 [sender.py:send_request_defer():583] handle sender defer: 11 +2023-02-24 17:44:26,391 INFO SenderThread:1724 [file_pusher.py:join():167] waiting for file pusher +2023-02-24 17:44:26,391 INFO SenderThread:1724 [sender.py:transition_state():587] send defer: 12 +2023-02-24 17:44:26,391 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: defer +2023-02-24 17:44:26,392 INFO HandlerThread:1724 [handler.py:handle_request_defer():170] handle defer: 12 +2023-02-24 17:44:26,392 DEBUG SenderThread:1724 [sender.py:send_request():363] send_request: defer +2023-02-24 17:44:26,392 INFO SenderThread:1724 [sender.py:send_request_defer():583] handle sender defer: 12 +2023-02-24 17:44:26,541 INFO SenderThread:1724 [sender.py:transition_state():587] send defer: 13 +2023-02-24 17:44:26,541 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: defer +2023-02-24 17:44:26,541 INFO HandlerThread:1724 [handler.py:handle_request_defer():170] handle defer: 13 +2023-02-24 17:44:26,541 DEBUG SenderThread:1724 [sender.py:send_request():363] send_request: defer +2023-02-24 17:44:26,541 INFO SenderThread:1724 [sender.py:send_request_defer():583] handle sender defer: 13 +2023-02-24 17:44:26,542 INFO SenderThread:1724 [sender.py:transition_state():587] send defer: 14 +2023-02-24 17:44:26,542 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: defer +2023-02-24 17:44:26,542 INFO HandlerThread:1724 [handler.py:handle_request_defer():170] handle defer: 14 +2023-02-24 17:44:26,542 DEBUG SenderThread:1724 [sender.py:send():336] send: final +2023-02-24 17:44:26,543 DEBUG SenderThread:1724 [sender.py:send():336] send: footer +2023-02-24 17:44:26,543 DEBUG SenderThread:1724 [sender.py:send_request():363] send_request: defer +2023-02-24 17:44:26,543 INFO SenderThread:1724 [sender.py:send_request_defer():583] handle sender defer: 14 +2023-02-24 17:44:26,544 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: poll_exit +2023-02-24 17:44:26,544 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: server_info +2023-02-24 17:44:26,544 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: get_summary +2023-02-24 17:44:26,545 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: sampled_history +2023-02-24 17:44:26,545 DEBUG SenderThread:1724 [sender.py:send_request():363] send_request: poll_exit +2023-02-24 17:44:26,546 DEBUG SenderThread:1724 [sender.py:send_request():363] send_request: server_info +2023-02-24 17:44:26,744 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: shutdown +2023-02-24 17:44:26,744 INFO HandlerThread:1724 [handler.py:finish():841] shutting down handler +2023-02-24 17:44:27,555 INFO WriterThread:1724 [datastore.py:close():299] close: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_174005-yuy5rmce\run-yuy5rmce.wandb +2023-02-24 17:44:27,744 INFO SenderThread:1724 [sender.py:finish():1493] shutting down sender +2023-02-24 17:44:27,744 INFO SenderThread:1724 [file_pusher.py:finish():162] shutting down file pusher +2023-02-24 17:44:27,744 INFO SenderThread:1724 [file_pusher.py:join():167] waiting for file pusher diff --git a/embeddings/wandb/run-20230224_174005-yuy5rmce/logs/debug.log b/embeddings/wandb/run-20230224_174005-yuy5rmce/logs/debug.log new file mode 100644 index 0000000000000000000000000000000000000000..7901783fcfce3a6ec4146be332a3e349fd603fe7 --- /dev/null +++ b/embeddings/wandb/run-20230224_174005-yuy5rmce/logs/debug.log @@ -0,0 +1,31 @@ +2023-02-24 17:40:05,574 INFO MainThread:15696 [wandb_setup.py:_flush():68] Configure stats pid to 15696 +2023-02-24 17:40:05,574 INFO MainThread:15696 [wandb_setup.py:_flush():68] Loading settings from C:\Users\liamb\.config\wandb\settings +2023-02-24 17:40:05,574 INFO MainThread:15696 [wandb_setup.py:_flush():68] Loading settings from C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\settings +2023-02-24 17:40:05,574 INFO MainThread:15696 [wandb_setup.py:_flush():68] Loading settings from environment variables: {'_require_service': 'True'} +2023-02-24 17:40:05,574 INFO MainThread:15696 [wandb_setup.py:_flush():68] Inferring run settings from compute environment: {'program_relpath': 'embeddings\\hetero_GAT.py', 'program': 'C:\\Users\\liamb\\Documents\\graph4stackoverflow\\embeddings\\hetero_GAT.py'} +2023-02-24 17:40:05,576 INFO MainThread:15696 [wandb_init.py:_log_setup():492] Logging user logs to C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_174005-yuy5rmce\logs\debug.log +2023-02-24 17:40:05,576 INFO MainThread:15696 [wandb_init.py:_log_setup():493] Logging internal logs to C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_174005-yuy5rmce\logs\debug-internal.log +2023-02-24 17:40:05,576 INFO MainThread:15696 [wandb_init.py:init():532] calling init triggers +2023-02-24 17:40:05,577 INFO MainThread:15696 [wandb_init.py:init():538] wandb.init called with sweep_config: {} +config: {} +2023-02-24 17:40:05,577 INFO MainThread:15696 [wandb_init.py:init():588] starting backend +2023-02-24 17:40:05,577 INFO MainThread:15696 [wandb_init.py:init():592] setting up manager +2023-02-24 17:40:05,581 INFO MainThread:15696 [backend.py:_multiprocessing_setup():106] multiprocessing start_methods=spawn, using: spawn +2023-02-24 17:40:05,585 INFO MainThread:15696 [wandb_init.py:init():599] backend started and connected +2023-02-24 17:40:05,589 INFO MainThread:15696 [wandb_init.py:init():687] updated telemetry +2023-02-24 17:40:05,646 INFO MainThread:15696 [wandb_init.py:init():727] communicating run to backend with 60.0 second timeout +2023-02-24 17:40:07,031 INFO MainThread:15696 [wandb_run.py:_on_init():2134] communicating current version +2023-02-24 17:40:07,249 INFO MainThread:15696 [wandb_run.py:_on_init():2143] got version response +2023-02-24 17:40:07,249 INFO MainThread:15696 [wandb_init.py:init():775] starting run threads in backend +2023-02-24 17:40:07,548 INFO MainThread:15696 [wandb_run.py:_console_start():2114] atexit reg +2023-02-24 17:40:07,548 INFO MainThread:15696 [wandb_run.py:_redirect():1969] redirect: SettingsConsole.WRAP_RAW +2023-02-24 17:40:07,549 INFO MainThread:15696 [wandb_run.py:_redirect():2034] Wrapping output streams. +2023-02-24 17:40:07,549 INFO MainThread:15696 [wandb_run.py:_redirect():2059] Redirects installed. +2023-02-24 17:40:07,550 INFO MainThread:15696 [wandb_init.py:init():817] run started, returning control to user process +2023-02-24 17:40:26,623 INFO MainThread:15696 [wandb_run.py:_finish():1854] finishing run g4nlp/heterogeneous-GAT-model/yuy5rmce +2023-02-24 17:40:26,623 INFO MainThread:15696 [wandb_run.py:_atexit_cleanup():2083] got exitcode: 0 +2023-02-24 17:40:26,624 INFO MainThread:15696 [wandb_run.py:_restore():2066] restore +2023-02-24 17:40:26,625 INFO MainThread:15696 [wandb_run.py:_restore():2072] restore done +2023-02-24 17:44:27,760 INFO MainThread:15696 [wandb_run.py:_footer_history_summary_info():3442] rendering history +2023-02-24 17:44:27,760 INFO MainThread:15696 [wandb_run.py:_footer_history_summary_info():3474] rendering summary +2023-02-24 17:44:27,764 INFO MainThread:15696 [wandb_run.py:_footer_sync_info():3398] logging synced files diff --git a/embeddings/wandb/run-20230224_174005-yuy5rmce/run-yuy5rmce.wandb b/embeddings/wandb/run-20230224_174005-yuy5rmce/run-yuy5rmce.wandb new file mode 100644 index 0000000000000000000000000000000000000000..40175e9210135a173bebbadd810b6b56ea6b9930 Binary files /dev/null and b/embeddings/wandb/run-20230224_174005-yuy5rmce/run-yuy5rmce.wandb differ diff --git a/embeddings/wandb/run-20230224_174427-7auiigtt/files/config.yaml b/embeddings/wandb/run-20230224_174427-7auiigtt/files/config.yaml new file mode 100644 index 0000000000000000000000000000000000000000..41d7b9922d91c57aff47f5fccd5ad5b790f8deb3 --- /dev/null +++ b/embeddings/wandb/run-20230224_174427-7auiigtt/files/config.yaml @@ -0,0 +1,39 @@ +wandb_version: 1 + +_wandb: + desc: null + value: + cli_version: 0.13.10 + framework: huggingface + huggingface_version: 4.24.0 + is_jupyter_run: false + is_kaggle_kernel: false + python_version: 3.8.1 + start_time: 1677260667.783779 + t: + 1: + - 1 + - 5 + - 11 + - 33 + - 49 + - 53 + - 55 + - 77 + 2: + - 1 + - 5 + - 11 + - 33 + - 49 + - 53 + - 55 + - 77 + 3: + - 23 + 4: 3.8.1 + 5: 0.13.10 + 6: 4.24.0 + 8: + - 3 + - 5 diff --git a/embeddings/wandb/run-20230224_174427-7auiigtt/files/output.log b/embeddings/wandb/run-20230224_174427-7auiigtt/files/output.log new file mode 100644 index 0000000000000000000000000000000000000000..d9f6cef524166d0d42cb13377fa8092731bd98b6 --- /dev/null +++ b/embeddings/wandb/run-20230224_174427-7auiigtt/files/output.log @@ -0,0 +1,8 @@ + +INFO:heterogeneous-GAT-model:[1] Loss: 0.000350596010684967 +Traceback (most recent call last): + File "C:\Users\liamb\Documents\graph4stackoverflow\embeddings\hetero_GAT.py", line 206, in <module> + train_acc, train_f1, train_loss, train_table = test(train_loader) + File "C:\Users\liamb\Documents\graph4stackoverflow\embeddings\hetero_GAT.py", line 120, in test + table.add_data(wandb.Html(create_graph_vis(data).to_html(full_html=False)), data.label.item(), pred.item()) +ValueError: only one element tensors can be converted to Python scalars \ No newline at end of file diff --git a/embeddings/wandb/run-20230224_174427-7auiigtt/files/requirements.txt b/embeddings/wandb/run-20230224_174427-7auiigtt/files/requirements.txt new file mode 100644 index 0000000000000000000000000000000000000000..d7de821539624662109e252a91c4907a963ad5fb --- /dev/null +++ b/embeddings/wandb/run-20230224_174427-7auiigtt/files/requirements.txt @@ -0,0 +1,170 @@ +absl-py==1.3.0 +anyio==3.6.2 +appdirs==1.4.4 +argon2-cffi-bindings==21.2.0 +argon2-cffi==21.3.0 +asttokens==2.1.0 +astunparse==1.6.3 +attrs==22.1.0 +backcall==0.2.0 +beautifulsoup4==4.11.1 +bleach==5.0.1 +blis==0.7.9 +bs4==0.0.1 +cachetools==5.2.0 +catalogue==2.0.8 +certifi==2022.9.24 +cffi==1.15.1 +charset-normalizer==2.1.1 +click==8.1.3 +colorama==0.4.6 +confection==0.0.3 +contourpy==1.0.6 +cycler==0.11.0 +cymem==2.0.7 +debugpy==1.6.3 +decorator==5.1.1 +defusedxml==0.7.1 +dgl==0.9.1 +docker-pycreds==0.4.0 +en-core-web-sm==3.4.1 +entrypoints==0.4 +executing==1.2.0 +fastjsonschema==2.16.2 +filelock==3.8.0 +fonttools==4.38.0 +gitdb==4.0.10 +gitpython==3.1.31 +google-auth-oauthlib==0.4.6 +google-auth==2.14.0 +graph4nlp==0.5.5 +grpcio==1.50.0 +huggingface-hub==0.10.1 +idna==3.4 +importlib-metadata==5.0.0 +importlib-resources==5.10.0 +ipykernel==6.16.2 +ipython-genutils==0.2.0 +ipython==8.6.0 +ipywidgets==8.0.2 +jedi==0.18.1 +jinja2==3.1.2 +joblib==1.2.0 +jsonschema==4.16.0 +jupyter-client==7.4.4 +jupyter-console==6.4.4 +jupyter-core==4.11.2 +jupyter-server==1.21.0 +jupyter==1.0.0 +jupyterlab-pygments==0.2.2 +jupyterlab-widgets==3.0.3 +kiwisolver==1.4.4 +langcodes==3.3.0 +littleutils==0.2.2 +lxml==4.9.1 +markdown==3.4.1 +markupsafe==2.1.1 +matplotlib-inline==0.1.6 +matplotlib==3.6.2 +mistune==2.0.4 +murmurhash==1.0.9 +nbclassic==0.4.7 +nbclient==0.7.0 +nbconvert==7.2.3 +nbformat==5.7.0 +nest-asyncio==1.5.6 +networkx==2.8.8 +nltk==3.7 +notebook-shim==0.2.0 +notebook==6.5.2 +numpy==1.23.5 +oauthlib==3.2.2 +ogb==1.3.5 +outdated==0.2.2 +packaging==21.3 +pandas==1.5.1 +pandocfilters==1.5.0 +parso==0.8.3 +pathtools==0.1.2 +pathy==0.6.2 +pickleshare==0.7.5 +pillow==9.3.0 +pip==21.3.1 +pkgutil-resolve-name==1.3.10 +plotly==5.13.0 +preshed==3.0.8 +prometheus-client==0.15.0 +prompt-toolkit==3.0.31 +protobuf==3.19.6 +psutil==5.9.3 +pure-eval==0.2.2 +pyasn1-modules==0.2.8 +pyasn1==0.4.8 +pycparser==2.21 +pydantic==1.10.2 +pygments==2.13.0 +pyparsing==3.0.9 +pyrsistent==0.18.1 +python-dateutil==2.8.2 +pythonds==1.2.1 +pytz==2022.5 +pywin32==304 +pywinpty==2.0.9 +pyyaml==6.0 +pyzmq==24.0.1 +qtconsole==5.3.2 +qtpy==2.2.1 +regex==2022.10.31 +requests-oauthlib==1.3.1 +requests==2.28.1 +rsa==4.9 +scikit-learn==1.1.3 +scipy==1.9.3 +send2trash==1.8.0 +sentry-sdk==1.15.0 +setproctitle==1.3.2 +setuptools==60.2.0 +six==1.16.0 +smart-open==5.2.1 +smmap==5.0.0 +sniffio==1.3.0 +soupsieve==2.3.2.post1 +spacy-legacy==3.0.10 +spacy-loggers==1.0.3 +spacy==3.4.2 +srsly==2.4.5 +stack-data==0.6.0 +stanfordcorenlp==3.9.1.1 +tenacity==8.2.1 +tensorboard-data-server==0.6.1 +tensorboard-plugin-wit==1.8.1 +tensorboard==2.10.1 +terminado==0.17.0 +thinc==8.1.5 +threadpoolctl==3.1.0 +tinycss2==1.2.1 +tokenizers==0.13.2 +torch-cluster==1.6.0+pt113cpu +torch-geometric==2.2.0 +torch-scatter==2.1.0+pt113cpu +torch-sparse==0.6.16+pt113cpu +torch-spline-conv==1.2.1+pt113cpu +torch==1.13.0 +torchsummary==1.5.1 +torchtext==0.14.0 +tornado==6.2 +tqdm==4.64.1 +traitlets==5.5.0 +transformers==4.24.0 +typer==0.4.2 +typing-extensions==4.4.0 +urllib3==1.26.12 +wandb==0.13.10 +wasabi==0.10.1 +wcwidth==0.2.5 +webencodings==0.5.1 +websocket-client==1.4.1 +werkzeug==2.2.2 +wheel==0.37.1 +widgetsnbextension==4.0.3 +zipp==3.10.0 \ No newline at end of file diff --git a/embeddings/wandb/run-20230224_174427-7auiigtt/files/wandb-metadata.json b/embeddings/wandb/run-20230224_174427-7auiigtt/files/wandb-metadata.json new file mode 100644 index 0000000000000000000000000000000000000000..2639a10dc33f44cd956a3a4819051b7d3df55fa7 --- /dev/null +++ b/embeddings/wandb/run-20230224_174427-7auiigtt/files/wandb-metadata.json @@ -0,0 +1,42 @@ +{ + "os": "Windows-10-10.0.19041-SP0", + "python": "3.8.1", + "heartbeatAt": "2023-02-24T17:44:30.121879", + "startedAt": "2023-02-24T17:44:27.772784", + "docker": null, + "cuda": null, + "args": [], + "state": "running", + "program": "C:\\Users\\liamb\\Documents\\graph4stackoverflow\\embeddings\\hetero_GAT.py", + "codePath": "embeddings\\hetero_GAT.py", + "git": { + "remote": "https://git.soton.ac.uk/lhb1g20/graph4stackoverflow.git", + "commit": "ced992d661984f7b87d1a3e76768e4ff7af78245" + }, + "email": "liambyrneh@gmail.com", + "root": "C:/Users/liamb/Documents/graph4stackoverflow", + "host": "DESKTOP-P7BETFF", + "username": "liamb", + "executable": "C:\\Users\\liamb\\Documents\\graph4stackoverflow\\venv\\Scripts\\python.exe", + "cpu_count": 2, + "cpu_count_logical": 4, + "cpu_freq": { + "current": 3504.0, + "min": 0.0, + "max": 3504.0 + }, + "cpu_freq_per_core": [ + { + "current": 3504.0, + "min": 0.0, + "max": 3504.0 + } + ], + "disk": { + "total": 475.71581649780273, + "used": 357.90655517578125 + }, + "memory": { + "total": 31.89160919189453 + } +} diff --git a/embeddings/wandb/run-20230224_174427-7auiigtt/files/wandb-summary.json b/embeddings/wandb/run-20230224_174427-7auiigtt/files/wandb-summary.json new file mode 100644 index 0000000000000000000000000000000000000000..13ed209ce59c23ca7857cb54916c6cd691e4764e --- /dev/null +++ b/embeddings/wandb/run-20230224_174427-7auiigtt/files/wandb-summary.json @@ -0,0 +1 @@ +{"_wandb": {"runtime": 7}} \ No newline at end of file diff --git a/embeddings/wandb/run-20230224_174427-7auiigtt/logs/debug-internal.log b/embeddings/wandb/run-20230224_174427-7auiigtt/logs/debug-internal.log new file mode 100644 index 0000000000000000000000000000000000000000..833d06750a22707c4e0ac491cae37aa8d8dc814a --- /dev/null +++ b/embeddings/wandb/run-20230224_174427-7auiigtt/logs/debug-internal.log @@ -0,0 +1,172 @@ +2023-02-24 17:44:28,758 INFO StreamThr :1724 [internal.py:wandb_internal():87] W&B internal server running at pid: 1724, started at: 2023-02-24 17:44:28.758254 +2023-02-24 17:44:28,760 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: status +2023-02-24 17:44:28,762 INFO WriterThread:1724 [datastore.py:open_for_write():85] open: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_174427-7auiigtt\run-7auiigtt.wandb +2023-02-24 17:44:28,763 DEBUG SenderThread:1724 [sender.py:send():336] send: header +2023-02-24 17:44:28,764 DEBUG SenderThread:1724 [sender.py:send():336] send: run +2023-02-24 17:44:29,498 INFO SenderThread:1724 [dir_watcher.py:__init__():216] watching files in: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_174427-7auiigtt\files +2023-02-24 17:44:29,498 INFO SenderThread:1724 [sender.py:_start_run_threads():1067] run started: 7auiigtt with start time 1677260667.783779 +2023-02-24 17:44:29,498 DEBUG SenderThread:1724 [sender.py:send_request():363] send_request: summary_record +2023-02-24 17:44:29,499 INFO SenderThread:1724 [sender.py:_save_file():1321] saving file wandb-summary.json with policy end +2023-02-24 17:44:29,503 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: check_version +2023-02-24 17:44:29,503 DEBUG SenderThread:1724 [sender.py:send_request():363] send_request: check_version +2023-02-24 17:44:30,101 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: run_start +2023-02-24 17:44:30,116 DEBUG HandlerThread:1724 [system_info.py:__init__():31] System info init +2023-02-24 17:44:30,117 DEBUG HandlerThread:1724 [system_info.py:__init__():46] System info init done +2023-02-24 17:44:30,117 INFO HandlerThread:1724 [system_monitor.py:start():151] Starting system monitor +2023-02-24 17:44:30,117 INFO SystemMonitor:1724 [system_monitor.py:_start():116] Starting system asset monitoring threads +2023-02-24 17:44:30,118 INFO HandlerThread:1724 [system_monitor.py:probe():172] Collecting system info +2023-02-24 17:44:30,121 DEBUG HandlerThread:1724 [system_info.py:probe():195] Probing system +2023-02-24 17:44:30,121 INFO SystemMonitor:1724 [interfaces.py:start():168] Started cpu +2023-02-24 17:44:30,122 INFO SystemMonitor:1724 [interfaces.py:start():168] Started disk +2023-02-24 17:44:30,122 INFO SystemMonitor:1724 [interfaces.py:start():168] Started memory +2023-02-24 17:44:30,138 INFO SystemMonitor:1724 [interfaces.py:start():168] Started network +2023-02-24 17:44:30,139 DEBUG HandlerThread:1724 [system_info.py:_probe_git():180] Probing git +2023-02-24 17:44:30,233 DEBUG HandlerThread:1724 [system_info.py:_probe_git():188] Probing git done +2023-02-24 17:44:30,233 DEBUG HandlerThread:1724 [system_info.py:probe():241] Probing system done +2023-02-24 17:44:30,233 DEBUG HandlerThread:1724 [system_monitor.py:probe():181] {'os': 'Windows-10-10.0.19041-SP0', 'python': '3.8.1', 'heartbeatAt': '2023-02-24T17:44:30.121879', 'startedAt': '2023-02-24T17:44:27.772784', 'docker': None, 'cuda': None, 'args': (), 'state': 'running', 'program': 'C:\\Users\\liamb\\Documents\\graph4stackoverflow\\embeddings\\hetero_GAT.py', 'codePath': 'embeddings\\hetero_GAT.py', 'git': {'remote': 'https://git.soton.ac.uk/lhb1g20/graph4stackoverflow.git', 'commit': 'ced992d661984f7b87d1a3e76768e4ff7af78245'}, 'email': 'liambyrneh@gmail.com', 'root': 'C:/Users/liamb/Documents/graph4stackoverflow', 'host': 'DESKTOP-P7BETFF', 'username': 'liamb', 'executable': 'C:\\Users\\liamb\\Documents\\graph4stackoverflow\\venv\\Scripts\\python.exe', 'cpu_count': 2, 'cpu_count_logical': 4, 'cpu_freq': {'current': 3504.0, 'min': 0.0, 'max': 3504.0}, 'cpu_freq_per_core': [{'current': 3504.0, 'min': 0.0, 'max': 3504.0}], 'disk': {'total': 475.71581649780273, 'used': 357.90655517578125}, 'memory': {'total': 31.89160919189453}} +2023-02-24 17:44:30,233 INFO HandlerThread:1724 [system_monitor.py:probe():182] Finished collecting system info +2023-02-24 17:44:30,233 INFO HandlerThread:1724 [system_monitor.py:probe():185] Publishing system info +2023-02-24 17:44:30,233 DEBUG HandlerThread:1724 [system_info.py:_save_pip():51] Saving list of pip packages installed into the current environment +2023-02-24 17:44:30,234 DEBUG HandlerThread:1724 [system_info.py:_save_pip():67] Saving pip packages done +2023-02-24 17:44:30,237 INFO HandlerThread:1724 [system_monitor.py:probe():187] Finished publishing system info +2023-02-24 17:44:30,237 DEBUG SenderThread:1724 [sender.py:send():336] send: files +2023-02-24 17:44:30,237 INFO SenderThread:1724 [sender.py:_save_file():1321] saving file wandb-metadata.json with policy now +2023-02-24 17:44:30,245 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: stop_status +2023-02-24 17:44:30,246 DEBUG SenderThread:1724 [sender.py:send_request():363] send_request: stop_status +2023-02-24 17:44:30,501 INFO Thread-32 :1724 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_174427-7auiigtt\files\wandb-metadata.json +2023-02-24 17:44:30,501 INFO Thread-32 :1724 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_174427-7auiigtt\files\wandb-summary.json +2023-02-24 17:44:30,501 INFO Thread-32 :1724 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_174427-7auiigtt\files\requirements.txt +2023-02-24 17:44:33,660 DEBUG SenderThread:1724 [sender.py:send():336] send: telemetry +2023-02-24 17:44:34,366 DEBUG SenderThread:1724 [sender.py:send():336] send: use_artifact +2023-02-24 17:44:34,366 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 17:44:34,450 INFO wandb-upload_0:1724 [upload_job.py:push():138] Uploaded file C:\Users\liamb\AppData\Local\Temp\tmpwdiipg49wandb\tmttc9rn-wandb-metadata.json +2023-02-24 17:44:35,542 INFO Thread-32 :1724 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_174427-7auiigtt\files\output.log +2023-02-24 17:44:37,557 INFO Thread-32 :1724 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_174427-7auiigtt\files\output.log +2023-02-24 17:44:37,997 DEBUG SenderThread:1724 [sender.py:send():336] send: exit +2023-02-24 17:44:37,997 INFO SenderThread:1724 [sender.py:send_exit():559] handling exit code: 1 +2023-02-24 17:44:37,997 INFO SenderThread:1724 [sender.py:send_exit():561] handling runtime: 7 +2023-02-24 17:44:37,998 INFO SenderThread:1724 [sender.py:_save_file():1321] saving file wandb-summary.json with policy end +2023-02-24 17:44:37,998 INFO SenderThread:1724 [sender.py:send_exit():567] send defer +2023-02-24 17:44:37,999 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: defer +2023-02-24 17:44:37,999 INFO HandlerThread:1724 [handler.py:handle_request_defer():170] handle defer: 0 +2023-02-24 17:44:37,999 DEBUG SenderThread:1724 [sender.py:send_request():363] send_request: defer +2023-02-24 17:44:37,999 INFO SenderThread:1724 [sender.py:send_request_defer():583] handle sender defer: 0 +2023-02-24 17:44:37,999 INFO SenderThread:1724 [sender.py:transition_state():587] send defer: 1 +2023-02-24 17:44:37,999 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: defer +2023-02-24 17:44:37,999 INFO HandlerThread:1724 [handler.py:handle_request_defer():170] handle defer: 1 +2023-02-24 17:44:38,000 DEBUG SenderThread:1724 [sender.py:send_request():363] send_request: defer +2023-02-24 17:44:38,000 INFO SenderThread:1724 [sender.py:send_request_defer():583] handle sender defer: 1 +2023-02-24 17:44:38,000 INFO SenderThread:1724 [sender.py:transition_state():587] send defer: 2 +2023-02-24 17:44:38,000 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: defer +2023-02-24 17:44:38,000 INFO HandlerThread:1724 [handler.py:handle_request_defer():170] handle defer: 2 +2023-02-24 17:44:38,000 INFO HandlerThread:1724 [system_monitor.py:finish():161] Stopping system monitor +2023-02-24 17:44:38,001 DEBUG SystemMonitor:1724 [system_monitor.py:_start():130] Starting system metrics aggregation loop +2023-02-24 17:44:38,001 DEBUG SystemMonitor:1724 [system_monitor.py:_start():137] Finished system metrics aggregation loop +2023-02-24 17:44:38,001 DEBUG SystemMonitor:1724 [system_monitor.py:_start():141] Publishing last batch of metrics +2023-02-24 17:44:38,002 INFO HandlerThread:1724 [interfaces.py:finish():175] Joined cpu +2023-02-24 17:44:38,002 INFO HandlerThread:1724 [interfaces.py:finish():175] Joined disk +2023-02-24 17:44:38,002 INFO HandlerThread:1724 [interfaces.py:finish():175] Joined memory +2023-02-24 17:44:38,002 INFO HandlerThread:1724 [interfaces.py:finish():175] Joined network +2023-02-24 17:44:38,002 DEBUG SenderThread:1724 [sender.py:send_request():363] send_request: defer +2023-02-24 17:44:38,002 INFO SenderThread:1724 [sender.py:send_request_defer():583] handle sender defer: 2 +2023-02-24 17:44:38,003 INFO SenderThread:1724 [sender.py:transition_state():587] send defer: 3 +2023-02-24 17:44:38,003 DEBUG SenderThread:1724 [sender.py:send():336] send: stats +2023-02-24 17:44:38,003 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: defer +2023-02-24 17:44:38,003 INFO HandlerThread:1724 [handler.py:handle_request_defer():170] handle defer: 3 +2023-02-24 17:44:38,003 DEBUG SenderThread:1724 [sender.py:send_request():363] send_request: defer +2023-02-24 17:44:38,004 INFO SenderThread:1724 [sender.py:send_request_defer():583] handle sender defer: 3 +2023-02-24 17:44:38,004 INFO SenderThread:1724 [sender.py:transition_state():587] send defer: 4 +2023-02-24 17:44:38,004 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: defer +2023-02-24 17:44:38,004 INFO HandlerThread:1724 [handler.py:handle_request_defer():170] handle defer: 4 +2023-02-24 17:44:38,004 DEBUG SenderThread:1724 [sender.py:send_request():363] send_request: defer +2023-02-24 17:44:38,004 INFO SenderThread:1724 [sender.py:send_request_defer():583] handle sender defer: 4 +2023-02-24 17:44:38,004 INFO SenderThread:1724 [sender.py:transition_state():587] send defer: 5 +2023-02-24 17:44:38,004 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: defer +2023-02-24 17:44:38,004 INFO HandlerThread:1724 [handler.py:handle_request_defer():170] handle defer: 5 +2023-02-24 17:44:38,005 DEBUG SenderThread:1724 [sender.py:send():336] send: summary +2023-02-24 17:44:38,005 INFO SenderThread:1724 [sender.py:_save_file():1321] saving file wandb-summary.json with policy end +2023-02-24 17:44:38,006 DEBUG SenderThread:1724 [sender.py:send_request():363] send_request: defer +2023-02-24 17:44:38,006 INFO SenderThread:1724 [sender.py:send_request_defer():583] handle sender defer: 5 +2023-02-24 17:44:38,006 INFO SenderThread:1724 [sender.py:transition_state():587] send defer: 6 +2023-02-24 17:44:38,006 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: defer +2023-02-24 17:44:38,006 INFO HandlerThread:1724 [handler.py:handle_request_defer():170] handle defer: 6 +2023-02-24 17:44:38,006 DEBUG SenderThread:1724 [sender.py:send_request():363] send_request: defer +2023-02-24 17:44:38,006 INFO SenderThread:1724 [sender.py:send_request_defer():583] handle sender defer: 6 +2023-02-24 17:44:38,010 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 17:44:38,284 INFO SenderThread:1724 [sender.py:transition_state():587] send defer: 7 +2023-02-24 17:44:38,284 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: defer +2023-02-24 17:44:38,284 INFO HandlerThread:1724 [handler.py:handle_request_defer():170] handle defer: 7 +2023-02-24 17:44:38,285 DEBUG SenderThread:1724 [sender.py:send_request():363] send_request: defer +2023-02-24 17:44:38,285 INFO SenderThread:1724 [sender.py:send_request_defer():583] handle sender defer: 7 +2023-02-24 17:44:38,570 INFO Thread-32 :1724 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_174427-7auiigtt\files\config.yaml +2023-02-24 17:44:38,570 INFO Thread-32 :1724 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_174427-7auiigtt\files\wandb-summary.json +2023-02-24 17:44:38,648 INFO SenderThread:1724 [sender.py:transition_state():587] send defer: 8 +2023-02-24 17:44:38,649 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: defer +2023-02-24 17:44:38,649 INFO HandlerThread:1724 [handler.py:handle_request_defer():170] handle defer: 8 +2023-02-24 17:44:38,650 DEBUG SenderThread:1724 [sender.py:send_request():363] send_request: defer +2023-02-24 17:44:38,650 INFO SenderThread:1724 [sender.py:send_request_defer():583] handle sender defer: 8 +2023-02-24 17:44:38,659 INFO SenderThread:1724 [sender.py:transition_state():587] send defer: 9 +2023-02-24 17:44:38,659 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: defer +2023-02-24 17:44:38,660 DEBUG SenderThread:1724 [sender.py:send():336] send: artifact +2023-02-24 17:44:38,660 INFO HandlerThread:1724 [handler.py:handle_request_defer():170] handle defer: 9 +2023-02-24 17:44:39,003 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: poll_exit +2023-02-24 17:44:39,577 INFO Thread-32 :1724 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_174427-7auiigtt\files\output.log +2023-02-24 17:44:39,769 INFO SenderThread:1724 [sender.py:send_artifact():1417] sent artifact job-https___git.soton.ac.uk_lhb1g20_graph4stackoverflow.git_embeddings_hetero_GAT.py - {'id': 'QXJ0aWZhY3Q6MzgwMzY3ODUz', 'digest': 'dbe34f6e8b990dacc5d7c5e1ab1d02a4', 'state': 'COMMITTED', 'aliases': [{'artifactCollectionName': 'job-https___git.soton.ac.uk_lhb1g20_graph4stackoverflow.git_embeddings_hetero_GAT.py', 'alias': 'latest'}, {'artifactCollectionName': 'job-https___git.soton.ac.uk_lhb1g20_graph4stackoverflow.git_embeddings_hetero_GAT.py', 'alias': 'v0'}], 'artifactSequence': {'id': 'QXJ0aWZhY3RDb2xsZWN0aW9uOjU0NTg3MzU0', 'latestArtifact': {'id': 'QXJ0aWZhY3Q6MzgwMzk2OTM0', 'versionIndex': 2}}, 'version': 'v0'} +2023-02-24 17:44:39,769 DEBUG SenderThread:1724 [sender.py:send_request():363] send_request: defer +2023-02-24 17:44:39,770 INFO SenderThread:1724 [sender.py:send_request_defer():583] handle sender defer: 9 +2023-02-24 17:44:39,770 INFO SenderThread:1724 [dir_watcher.py:finish():362] shutting down directory watcher +2023-02-24 17:44:40,583 INFO SenderThread:1724 [dir_watcher.py:finish():392] scan: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_174427-7auiigtt\files +2023-02-24 17:44:40,584 INFO SenderThread:1724 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_174427-7auiigtt\files\config.yaml config.yaml +2023-02-24 17:44:40,584 INFO SenderThread:1724 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_174427-7auiigtt\files\output.log output.log +2023-02-24 17:44:40,587 INFO SenderThread:1724 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_174427-7auiigtt\files\requirements.txt requirements.txt +2023-02-24 17:44:40,588 INFO SenderThread:1724 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_174427-7auiigtt\files\wandb-metadata.json wandb-metadata.json +2023-02-24 17:44:40,588 INFO SenderThread:1724 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_174427-7auiigtt\files\wandb-summary.json wandb-summary.json +2023-02-24 17:44:40,591 INFO SenderThread:1724 [sender.py:transition_state():587] send defer: 10 +2023-02-24 17:44:40,594 DEBUG SenderThread:1724 [sender.py:send_request():363] send_request: poll_exit +2023-02-24 17:44:40,595 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: defer +2023-02-24 17:44:40,595 INFO HandlerThread:1724 [handler.py:handle_request_defer():170] handle defer: 10 +2023-02-24 17:44:40,596 DEBUG SenderThread:1724 [sender.py:send_request():363] send_request: defer +2023-02-24 17:44:40,598 INFO SenderThread:1724 [sender.py:send_request_defer():583] handle sender defer: 10 +2023-02-24 17:44:40,598 INFO SenderThread:1724 [file_pusher.py:finish():162] shutting down file pusher +2023-02-24 17:44:41,916 INFO wandb-upload_0:1724 [upload_job.py:push():138] Uploaded file C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_174427-7auiigtt\files\config.yaml +2023-02-24 17:44:42,195 INFO wandb-upload_1:1724 [upload_job.py:push():138] Uploaded file C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_174427-7auiigtt\files\output.log +2023-02-24 17:44:42,217 INFO wandb-upload_2:1724 [upload_job.py:push():138] Uploaded file C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_174427-7auiigtt\files\requirements.txt +2023-02-24 17:44:42,226 INFO wandb-upload_3:1724 [upload_job.py:push():138] Uploaded file C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_174427-7auiigtt\files\wandb-summary.json +2023-02-24 17:44:42,436 INFO Thread-31 :1724 [sender.py:transition_state():587] send defer: 11 +2023-02-24 17:44:42,436 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: defer +2023-02-24 17:44:42,436 INFO HandlerThread:1724 [handler.py:handle_request_defer():170] handle defer: 11 +2023-02-24 17:44:42,436 DEBUG SenderThread:1724 [sender.py:send_request():363] send_request: defer +2023-02-24 17:44:42,437 INFO SenderThread:1724 [sender.py:send_request_defer():583] handle sender defer: 11 +2023-02-24 17:44:42,437 INFO SenderThread:1724 [file_pusher.py:join():167] waiting for file pusher +2023-02-24 17:44:42,437 INFO SenderThread:1724 [sender.py:transition_state():587] send defer: 12 +2023-02-24 17:44:42,437 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: defer +2023-02-24 17:44:42,437 INFO HandlerThread:1724 [handler.py:handle_request_defer():170] handle defer: 12 +2023-02-24 17:44:42,437 DEBUG SenderThread:1724 [sender.py:send_request():363] send_request: defer +2023-02-24 17:44:42,437 INFO SenderThread:1724 [sender.py:send_request_defer():583] handle sender defer: 12 +2023-02-24 17:44:42,584 INFO SenderThread:1724 [sender.py:transition_state():587] send defer: 13 +2023-02-24 17:44:42,585 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: defer +2023-02-24 17:44:42,585 INFO HandlerThread:1724 [handler.py:handle_request_defer():170] handle defer: 13 +2023-02-24 17:44:42,585 DEBUG SenderThread:1724 [sender.py:send_request():363] send_request: defer +2023-02-24 17:44:42,585 INFO SenderThread:1724 [sender.py:send_request_defer():583] handle sender defer: 13 +2023-02-24 17:44:42,585 INFO SenderThread:1724 [sender.py:transition_state():587] send defer: 14 +2023-02-24 17:44:42,585 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: defer +2023-02-24 17:44:42,586 DEBUG SenderThread:1724 [sender.py:send():336] send: final +2023-02-24 17:44:42,586 INFO HandlerThread:1724 [handler.py:handle_request_defer():170] handle defer: 14 +2023-02-24 17:44:42,586 DEBUG SenderThread:1724 [sender.py:send():336] send: footer +2023-02-24 17:44:42,586 DEBUG SenderThread:1724 [sender.py:send_request():363] send_request: defer +2023-02-24 17:44:42,586 INFO SenderThread:1724 [sender.py:send_request_defer():583] handle sender defer: 14 +2023-02-24 17:44:42,587 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: poll_exit +2023-02-24 17:44:42,587 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: server_info +2023-02-24 17:44:42,587 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: get_summary +2023-02-24 17:44:42,587 DEBUG SenderThread:1724 [sender.py:send_request():363] send_request: poll_exit +2023-02-24 17:44:42,587 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: sampled_history +2023-02-24 17:44:42,587 DEBUG SenderThread:1724 [sender.py:send_request():363] send_request: server_info +2023-02-24 17:44:42,790 INFO MainThread:1724 [wandb_run.py:_footer_history_summary_info():3442] rendering history +2023-02-24 17:44:42,790 INFO MainThread:1724 [wandb_run.py:_footer_history_summary_info():3474] rendering summary +2023-02-24 17:44:42,790 INFO MainThread:1724 [wandb_run.py:_footer_sync_info():3398] logging synced files +2023-02-24 17:44:42,791 DEBUG HandlerThread:1724 [handler.py:handle_request():144] handle_request: shutdown +2023-02-24 17:44:42,791 INFO HandlerThread:1724 [handler.py:finish():841] shutting down handler +2023-02-24 17:44:43,589 INFO WriterThread:1724 [datastore.py:close():299] close: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_174427-7auiigtt\run-7auiigtt.wandb +2023-02-24 17:44:43,791 INFO SenderThread:1724 [sender.py:finish():1493] shutting down sender +2023-02-24 17:44:43,791 INFO SenderThread:1724 [file_pusher.py:finish():162] shutting down file pusher +2023-02-24 17:44:43,792 INFO SenderThread:1724 [file_pusher.py:join():167] waiting for file pusher diff --git a/embeddings/wandb/run-20230224_174427-7auiigtt/logs/debug.log b/embeddings/wandb/run-20230224_174427-7auiigtt/logs/debug.log new file mode 100644 index 0000000000000000000000000000000000000000..e9b99d33e725b0c4222c3e0ba0a3968c26817a43 --- /dev/null +++ b/embeddings/wandb/run-20230224_174427-7auiigtt/logs/debug.log @@ -0,0 +1,25 @@ +2023-02-24 17:44:27,775 INFO MainThread:15696 [wandb_setup.py:_flush():68] Configure stats pid to 15696 +2023-02-24 17:44:27,775 INFO MainThread:15696 [wandb_setup.py:_flush():68] Loading settings from C:\Users\liamb\.config\wandb\settings +2023-02-24 17:44:27,775 INFO MainThread:15696 [wandb_setup.py:_flush():68] Loading settings from C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\settings +2023-02-24 17:44:27,776 INFO MainThread:15696 [wandb_setup.py:_flush():68] Loading settings from environment variables: {'_require_service': 'True'} +2023-02-24 17:44:27,776 INFO MainThread:15696 [wandb_setup.py:_flush():68] Inferring run settings from compute environment: {'program_relpath': 'embeddings\\hetero_GAT.py', 'program': 'C:\\Users\\liamb\\Documents\\graph4stackoverflow\\embeddings\\hetero_GAT.py'} +2023-02-24 17:44:27,776 INFO MainThread:15696 [wandb_init.py:_log_setup():492] Logging user logs to C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_174427-7auiigtt\logs\debug.log +2023-02-24 17:44:27,777 INFO MainThread:15696 [wandb_init.py:_log_setup():493] Logging internal logs to C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_174427-7auiigtt\logs\debug-internal.log +2023-02-24 17:44:27,777 INFO MainThread:15696 [wandb_init.py:init():532] calling init triggers +2023-02-24 17:44:27,777 INFO MainThread:15696 [wandb_init.py:init():538] wandb.init called with sweep_config: {} +config: {} +2023-02-24 17:44:27,777 INFO MainThread:15696 [wandb_init.py:init():588] starting backend +2023-02-24 17:44:27,777 INFO MainThread:15696 [wandb_init.py:init():592] setting up manager +2023-02-24 17:44:27,781 INFO MainThread:15696 [backend.py:_multiprocessing_setup():106] multiprocessing start_methods=spawn, using: spawn +2023-02-24 17:44:27,783 INFO MainThread:15696 [wandb_init.py:init():599] backend started and connected +2023-02-24 17:44:27,784 INFO MainThread:15696 [wandb_init.py:init():687] updated telemetry +2023-02-24 17:44:27,839 INFO MainThread:15696 [wandb_init.py:init():727] communicating run to backend with 60.0 second timeout +2023-02-24 17:44:29,502 INFO MainThread:15696 [wandb_run.py:_on_init():2134] communicating current version +2023-02-24 17:44:30,094 INFO MainThread:15696 [wandb_run.py:_on_init():2143] got version response +2023-02-24 17:44:30,094 INFO MainThread:15696 [wandb_init.py:init():775] starting run threads in backend +2023-02-24 17:44:30,245 INFO MainThread:15696 [wandb_run.py:_console_start():2114] atexit reg +2023-02-24 17:44:30,246 INFO MainThread:15696 [wandb_run.py:_redirect():1969] redirect: SettingsConsole.WRAP_RAW +2023-02-24 17:44:30,246 INFO MainThread:15696 [wandb_run.py:_redirect():2034] Wrapping output streams. +2023-02-24 17:44:30,246 INFO MainThread:15696 [wandb_run.py:_redirect():2059] Redirects installed. +2023-02-24 17:44:30,246 INFO MainThread:15696 [wandb_init.py:init():817] run started, returning control to user process +2023-02-24 17:44:43,857 WARNING MsgRouterThr:15696 [router.py:message_loop():77] message_loop has been closed diff --git a/embeddings/wandb/run-20230224_174427-7auiigtt/run-7auiigtt.wandb b/embeddings/wandb/run-20230224_174427-7auiigtt/run-7auiigtt.wandb new file mode 100644 index 0000000000000000000000000000000000000000..e744bf8673b5e4e5ac7ca207cf5d2823b5d9e72d Binary files /dev/null and b/embeddings/wandb/run-20230224_174427-7auiigtt/run-7auiigtt.wandb differ diff --git a/embeddings/wandb/run-20230224_174636-zytz60yc/files/config.yaml b/embeddings/wandb/run-20230224_174636-zytz60yc/files/config.yaml new file mode 100644 index 0000000000000000000000000000000000000000..ba65299d89b5722155dac3c87dea8d72e2c9973d --- /dev/null +++ b/embeddings/wandb/run-20230224_174636-zytz60yc/files/config.yaml @@ -0,0 +1,39 @@ +wandb_version: 1 + +_wandb: + desc: null + value: + cli_version: 0.13.10 + framework: huggingface + huggingface_version: 4.24.0 + is_jupyter_run: false + is_kaggle_kernel: false + python_version: 3.8.1 + start_time: 1677260796.575913 + t: + 1: + - 1 + - 5 + - 11 + - 33 + - 49 + - 53 + - 55 + - 77 + 2: + - 1 + - 5 + - 11 + - 33 + - 49 + - 53 + - 55 + - 77 + 3: + - 23 + 4: 3.8.1 + 5: 0.13.10 + 6: 4.24.0 + 8: + - 3 + - 5 diff --git a/embeddings/wandb/run-20230224_174636-zytz60yc/files/output.log b/embeddings/wandb/run-20230224_174636-zytz60yc/files/output.log new file mode 100644 index 0000000000000000000000000000000000000000..1509d9b4a769d1e76bb041cb0ff6cb9036d659da --- /dev/null +++ b/embeddings/wandb/run-20230224_174636-zytz60yc/files/output.log @@ -0,0 +1,8 @@ + +INFO:heterogeneous-GAT-model:[1] Loss: 0.0003576532006263733 +Traceback (most recent call last): + File "C:\Users\liamb\Documents\graph4stackoverflow\embeddings\hetero_GAT.py", line 208, in <module> + train_acc, train_f1, train_loss, train_table = test(train_loader) + File "C:\Users\liamb\Documents\graph4stackoverflow\embeddings\hetero_GAT.py", line 120, in test + table.add_data(wandb.Html(create_graph_vis(data).to_html(full_html=False)), data.label.item(), pred.item()) +ValueError: only one element tensors can be converted to Python scalars \ No newline at end of file diff --git a/embeddings/wandb/run-20230224_174636-zytz60yc/files/requirements.txt b/embeddings/wandb/run-20230224_174636-zytz60yc/files/requirements.txt new file mode 100644 index 0000000000000000000000000000000000000000..d7de821539624662109e252a91c4907a963ad5fb --- /dev/null +++ b/embeddings/wandb/run-20230224_174636-zytz60yc/files/requirements.txt @@ -0,0 +1,170 @@ +absl-py==1.3.0 +anyio==3.6.2 +appdirs==1.4.4 +argon2-cffi-bindings==21.2.0 +argon2-cffi==21.3.0 +asttokens==2.1.0 +astunparse==1.6.3 +attrs==22.1.0 +backcall==0.2.0 +beautifulsoup4==4.11.1 +bleach==5.0.1 +blis==0.7.9 +bs4==0.0.1 +cachetools==5.2.0 +catalogue==2.0.8 +certifi==2022.9.24 +cffi==1.15.1 +charset-normalizer==2.1.1 +click==8.1.3 +colorama==0.4.6 +confection==0.0.3 +contourpy==1.0.6 +cycler==0.11.0 +cymem==2.0.7 +debugpy==1.6.3 +decorator==5.1.1 +defusedxml==0.7.1 +dgl==0.9.1 +docker-pycreds==0.4.0 +en-core-web-sm==3.4.1 +entrypoints==0.4 +executing==1.2.0 +fastjsonschema==2.16.2 +filelock==3.8.0 +fonttools==4.38.0 +gitdb==4.0.10 +gitpython==3.1.31 +google-auth-oauthlib==0.4.6 +google-auth==2.14.0 +graph4nlp==0.5.5 +grpcio==1.50.0 +huggingface-hub==0.10.1 +idna==3.4 +importlib-metadata==5.0.0 +importlib-resources==5.10.0 +ipykernel==6.16.2 +ipython-genutils==0.2.0 +ipython==8.6.0 +ipywidgets==8.0.2 +jedi==0.18.1 +jinja2==3.1.2 +joblib==1.2.0 +jsonschema==4.16.0 +jupyter-client==7.4.4 +jupyter-console==6.4.4 +jupyter-core==4.11.2 +jupyter-server==1.21.0 +jupyter==1.0.0 +jupyterlab-pygments==0.2.2 +jupyterlab-widgets==3.0.3 +kiwisolver==1.4.4 +langcodes==3.3.0 +littleutils==0.2.2 +lxml==4.9.1 +markdown==3.4.1 +markupsafe==2.1.1 +matplotlib-inline==0.1.6 +matplotlib==3.6.2 +mistune==2.0.4 +murmurhash==1.0.9 +nbclassic==0.4.7 +nbclient==0.7.0 +nbconvert==7.2.3 +nbformat==5.7.0 +nest-asyncio==1.5.6 +networkx==2.8.8 +nltk==3.7 +notebook-shim==0.2.0 +notebook==6.5.2 +numpy==1.23.5 +oauthlib==3.2.2 +ogb==1.3.5 +outdated==0.2.2 +packaging==21.3 +pandas==1.5.1 +pandocfilters==1.5.0 +parso==0.8.3 +pathtools==0.1.2 +pathy==0.6.2 +pickleshare==0.7.5 +pillow==9.3.0 +pip==21.3.1 +pkgutil-resolve-name==1.3.10 +plotly==5.13.0 +preshed==3.0.8 +prometheus-client==0.15.0 +prompt-toolkit==3.0.31 +protobuf==3.19.6 +psutil==5.9.3 +pure-eval==0.2.2 +pyasn1-modules==0.2.8 +pyasn1==0.4.8 +pycparser==2.21 +pydantic==1.10.2 +pygments==2.13.0 +pyparsing==3.0.9 +pyrsistent==0.18.1 +python-dateutil==2.8.2 +pythonds==1.2.1 +pytz==2022.5 +pywin32==304 +pywinpty==2.0.9 +pyyaml==6.0 +pyzmq==24.0.1 +qtconsole==5.3.2 +qtpy==2.2.1 +regex==2022.10.31 +requests-oauthlib==1.3.1 +requests==2.28.1 +rsa==4.9 +scikit-learn==1.1.3 +scipy==1.9.3 +send2trash==1.8.0 +sentry-sdk==1.15.0 +setproctitle==1.3.2 +setuptools==60.2.0 +six==1.16.0 +smart-open==5.2.1 +smmap==5.0.0 +sniffio==1.3.0 +soupsieve==2.3.2.post1 +spacy-legacy==3.0.10 +spacy-loggers==1.0.3 +spacy==3.4.2 +srsly==2.4.5 +stack-data==0.6.0 +stanfordcorenlp==3.9.1.1 +tenacity==8.2.1 +tensorboard-data-server==0.6.1 +tensorboard-plugin-wit==1.8.1 +tensorboard==2.10.1 +terminado==0.17.0 +thinc==8.1.5 +threadpoolctl==3.1.0 +tinycss2==1.2.1 +tokenizers==0.13.2 +torch-cluster==1.6.0+pt113cpu +torch-geometric==2.2.0 +torch-scatter==2.1.0+pt113cpu +torch-sparse==0.6.16+pt113cpu +torch-spline-conv==1.2.1+pt113cpu +torch==1.13.0 +torchsummary==1.5.1 +torchtext==0.14.0 +tornado==6.2 +tqdm==4.64.1 +traitlets==5.5.0 +transformers==4.24.0 +typer==0.4.2 +typing-extensions==4.4.0 +urllib3==1.26.12 +wandb==0.13.10 +wasabi==0.10.1 +wcwidth==0.2.5 +webencodings==0.5.1 +websocket-client==1.4.1 +werkzeug==2.2.2 +wheel==0.37.1 +widgetsnbextension==4.0.3 +zipp==3.10.0 \ No newline at end of file diff --git a/embeddings/wandb/run-20230224_174636-zytz60yc/files/wandb-metadata.json b/embeddings/wandb/run-20230224_174636-zytz60yc/files/wandb-metadata.json new file mode 100644 index 0000000000000000000000000000000000000000..9481a57dd21904668f833cd547cdcb8e234ed8dd --- /dev/null +++ b/embeddings/wandb/run-20230224_174636-zytz60yc/files/wandb-metadata.json @@ -0,0 +1,42 @@ +{ + "os": "Windows-10-10.0.19041-SP0", + "python": "3.8.1", + "heartbeatAt": "2023-02-24T17:46:37.285832", + "startedAt": "2023-02-24T17:46:36.563914", + "docker": null, + "cuda": null, + "args": [], + "state": "running", + "program": "C:\\Users\\liamb\\Documents\\graph4stackoverflow\\embeddings\\hetero_GAT.py", + "codePath": "embeddings\\hetero_GAT.py", + "git": { + "remote": "https://git.soton.ac.uk/lhb1g20/graph4stackoverflow.git", + "commit": "ced992d661984f7b87d1a3e76768e4ff7af78245" + }, + "email": "liambyrneh@gmail.com", + "root": "C:/Users/liamb/Documents/graph4stackoverflow", + "host": "DESKTOP-P7BETFF", + "username": "liamb", + "executable": "C:\\Users\\liamb\\Documents\\graph4stackoverflow\\venv\\Scripts\\python.exe", + "cpu_count": 2, + "cpu_count_logical": 4, + "cpu_freq": { + "current": 3504.0, + "min": 0.0, + "max": 3504.0 + }, + "cpu_freq_per_core": [ + { + "current": 3504.0, + "min": 0.0, + "max": 3504.0 + } + ], + "disk": { + "total": 475.71581649780273, + "used": 357.7491455078125 + }, + "memory": { + "total": 31.89160919189453 + } +} diff --git a/embeddings/wandb/run-20230224_174636-zytz60yc/files/wandb-summary.json b/embeddings/wandb/run-20230224_174636-zytz60yc/files/wandb-summary.json new file mode 100644 index 0000000000000000000000000000000000000000..4ac1ba993956be52f459e677e193218ff2cddc76 --- /dev/null +++ b/embeddings/wandb/run-20230224_174636-zytz60yc/files/wandb-summary.json @@ -0,0 +1 @@ +{"_wandb": {"runtime": 3}} \ No newline at end of file diff --git a/embeddings/wandb/run-20230224_174636-zytz60yc/logs/debug-internal.log b/embeddings/wandb/run-20230224_174636-zytz60yc/logs/debug-internal.log new file mode 100644 index 0000000000000000000000000000000000000000..57c26fd4ca3d3d03a151940b1df5d5b1bccc437c --- /dev/null +++ b/embeddings/wandb/run-20230224_174636-zytz60yc/logs/debug-internal.log @@ -0,0 +1,177 @@ +2023-02-24 17:46:36,576 INFO StreamThr :4808 [internal.py:wandb_internal():87] W&B internal server running at pid: 4808, started at: 2023-02-24 17:46:36.575913 +2023-02-24 17:46:36,577 DEBUG HandlerThread:4808 [handler.py:handle_request():144] handle_request: status +2023-02-24 17:46:36,579 INFO WriterThread:4808 [datastore.py:open_for_write():85] open: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_174636-zytz60yc\run-zytz60yc.wandb +2023-02-24 17:46:36,582 DEBUG SenderThread:4808 [sender.py:send():336] send: header +2023-02-24 17:46:36,627 DEBUG SenderThread:4808 [sender.py:send():336] send: run +2023-02-24 17:46:37,052 INFO SenderThread:4808 [dir_watcher.py:__init__():216] watching files in: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_174636-zytz60yc\files +2023-02-24 17:46:37,053 INFO SenderThread:4808 [sender.py:_start_run_threads():1067] run started: zytz60yc with start time 1677260796.575913 +2023-02-24 17:46:37,053 DEBUG SenderThread:4808 [sender.py:send_request():363] send_request: summary_record +2023-02-24 17:46:37,053 DEBUG HandlerThread:4808 [handler.py:handle_request():144] handle_request: check_version +2023-02-24 17:46:37,054 INFO SenderThread:4808 [sender.py:_save_file():1321] saving file wandb-summary.json with policy end +2023-02-24 17:46:37,054 DEBUG SenderThread:4808 [sender.py:send_request():363] send_request: check_version +2023-02-24 17:46:37,264 DEBUG HandlerThread:4808 [handler.py:handle_request():144] handle_request: run_start +2023-02-24 17:46:37,281 DEBUG HandlerThread:4808 [system_info.py:__init__():31] System info init +2023-02-24 17:46:37,281 DEBUG HandlerThread:4808 [system_info.py:__init__():46] System info init done +2023-02-24 17:46:37,281 INFO HandlerThread:4808 [system_monitor.py:start():151] Starting system monitor +2023-02-24 17:46:37,281 INFO SystemMonitor:4808 [system_monitor.py:_start():116] Starting system asset monitoring threads +2023-02-24 17:46:37,282 INFO HandlerThread:4808 [system_monitor.py:probe():172] Collecting system info +2023-02-24 17:46:37,284 INFO SystemMonitor:4808 [interfaces.py:start():168] Started cpu +2023-02-24 17:46:37,285 DEBUG HandlerThread:4808 [system_info.py:probe():195] Probing system +2023-02-24 17:46:37,285 INFO SystemMonitor:4808 [interfaces.py:start():168] Started disk +2023-02-24 17:46:37,286 INFO SystemMonitor:4808 [interfaces.py:start():168] Started memory +2023-02-24 17:46:37,302 INFO SystemMonitor:4808 [interfaces.py:start():168] Started network +2023-02-24 17:46:37,303 DEBUG HandlerThread:4808 [system_info.py:_probe_git():180] Probing git +2023-02-24 17:46:37,396 DEBUG HandlerThread:4808 [system_info.py:_probe_git():188] Probing git done +2023-02-24 17:46:37,396 DEBUG HandlerThread:4808 [system_info.py:probe():241] Probing system done +2023-02-24 17:46:37,396 DEBUG HandlerThread:4808 [system_monitor.py:probe():181] {'os': 'Windows-10-10.0.19041-SP0', 'python': '3.8.1', 'heartbeatAt': '2023-02-24T17:46:37.285832', 'startedAt': '2023-02-24T17:46:36.563914', 'docker': None, 'cuda': None, 'args': (), 'state': 'running', 'program': 'C:\\Users\\liamb\\Documents\\graph4stackoverflow\\embeddings\\hetero_GAT.py', 'codePath': 'embeddings\\hetero_GAT.py', 'git': {'remote': 'https://git.soton.ac.uk/lhb1g20/graph4stackoverflow.git', 'commit': 'ced992d661984f7b87d1a3e76768e4ff7af78245'}, 'email': 'liambyrneh@gmail.com', 'root': 'C:/Users/liamb/Documents/graph4stackoverflow', 'host': 'DESKTOP-P7BETFF', 'username': 'liamb', 'executable': 'C:\\Users\\liamb\\Documents\\graph4stackoverflow\\venv\\Scripts\\python.exe', 'cpu_count': 2, 'cpu_count_logical': 4, 'cpu_freq': {'current': 3504.0, 'min': 0.0, 'max': 3504.0}, 'cpu_freq_per_core': [{'current': 3504.0, 'min': 0.0, 'max': 3504.0}], 'disk': {'total': 475.71581649780273, 'used': 357.7491455078125}, 'memory': {'total': 31.89160919189453}} +2023-02-24 17:46:37,396 INFO HandlerThread:4808 [system_monitor.py:probe():182] Finished collecting system info +2023-02-24 17:46:37,396 INFO HandlerThread:4808 [system_monitor.py:probe():185] Publishing system info +2023-02-24 17:46:37,396 DEBUG HandlerThread:4808 [system_info.py:_save_pip():51] Saving list of pip packages installed into the current environment +2023-02-24 17:46:37,397 DEBUG HandlerThread:4808 [system_info.py:_save_pip():67] Saving pip packages done +2023-02-24 17:46:37,399 INFO HandlerThread:4808 [system_monitor.py:probe():187] Finished publishing system info +2023-02-24 17:46:37,407 DEBUG SenderThread:4808 [sender.py:send():336] send: files +2023-02-24 17:46:37,408 INFO SenderThread:4808 [sender.py:_save_file():1321] saving file wandb-metadata.json with policy now +2023-02-24 17:46:37,415 DEBUG HandlerThread:4808 [handler.py:handle_request():144] handle_request: stop_status +2023-02-24 17:46:37,415 DEBUG SenderThread:4808 [sender.py:send_request():363] send_request: stop_status +2023-02-24 17:46:37,581 DEBUG SenderThread:4808 [sender.py:send():336] send: telemetry +2023-02-24 17:46:37,922 DEBUG SenderThread:4808 [sender.py:send():336] send: use_artifact +2023-02-24 17:46:38,036 INFO wandb-upload_0:4808 [upload_job.py:push():138] Uploaded file C:\Users\liamb\AppData\Local\Temp\tmph4kbiobowandb\4k889lvt-wandb-metadata.json +2023-02-24 17:46:38,069 INFO Thread-17 :4808 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_174636-zytz60yc\files\requirements.txt +2023-02-24 17:46:38,070 INFO Thread-17 :4808 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_174636-zytz60yc\files\wandb-summary.json +2023-02-24 17:46:38,070 INFO Thread-17 :4808 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_174636-zytz60yc\files\wandb-metadata.json +2023-02-24 17:46:39,069 INFO Thread-17 :4808 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_174636-zytz60yc\files\output.log +2023-02-24 17:46:40,628 DEBUG SenderThread:4808 [sender.py:send():336] send: exit +2023-02-24 17:46:40,628 INFO SenderThread:4808 [sender.py:send_exit():559] handling exit code: 1 +2023-02-24 17:46:40,628 INFO SenderThread:4808 [sender.py:send_exit():561] handling runtime: 3 +2023-02-24 17:46:40,629 INFO SenderThread:4808 [sender.py:_save_file():1321] saving file wandb-summary.json with policy end +2023-02-24 17:46:40,629 INFO SenderThread:4808 [sender.py:send_exit():567] send defer +2023-02-24 17:46:40,629 DEBUG HandlerThread:4808 [handler.py:handle_request():144] handle_request: defer +2023-02-24 17:46:40,629 INFO HandlerThread:4808 [handler.py:handle_request_defer():170] handle defer: 0 +2023-02-24 17:46:40,630 DEBUG SenderThread:4808 [sender.py:send_request():363] send_request: defer +2023-02-24 17:46:40,630 INFO SenderThread:4808 [sender.py:send_request_defer():583] handle sender defer: 0 +2023-02-24 17:46:40,630 INFO SenderThread:4808 [sender.py:transition_state():587] send defer: 1 +2023-02-24 17:46:40,630 DEBUG HandlerThread:4808 [handler.py:handle_request():144] handle_request: defer +2023-02-24 17:46:40,630 INFO HandlerThread:4808 [handler.py:handle_request_defer():170] handle defer: 1 +2023-02-24 17:46:40,630 DEBUG SenderThread:4808 [sender.py:send_request():363] send_request: defer +2023-02-24 17:46:40,630 INFO SenderThread:4808 [sender.py:send_request_defer():583] handle sender defer: 1 +2023-02-24 17:46:40,631 INFO SenderThread:4808 [sender.py:transition_state():587] send defer: 2 +2023-02-24 17:46:40,631 DEBUG HandlerThread:4808 [handler.py:handle_request():144] handle_request: defer +2023-02-24 17:46:40,631 INFO HandlerThread:4808 [handler.py:handle_request_defer():170] handle defer: 2 +2023-02-24 17:46:40,631 INFO HandlerThread:4808 [system_monitor.py:finish():161] Stopping system monitor +2023-02-24 17:46:40,632 DEBUG SystemMonitor:4808 [system_monitor.py:_start():130] Starting system metrics aggregation loop +2023-02-24 17:46:40,632 INFO HandlerThread:4808 [interfaces.py:finish():175] Joined cpu +2023-02-24 17:46:40,632 DEBUG SystemMonitor:4808 [system_monitor.py:_start():137] Finished system metrics aggregation loop +2023-02-24 17:46:40,633 INFO HandlerThread:4808 [interfaces.py:finish():175] Joined disk +2023-02-24 17:46:40,633 DEBUG SystemMonitor:4808 [system_monitor.py:_start():141] Publishing last batch of metrics +2023-02-24 17:46:40,633 INFO HandlerThread:4808 [interfaces.py:finish():175] Joined memory +2023-02-24 17:46:40,633 INFO HandlerThread:4808 [interfaces.py:finish():175] Joined network +2023-02-24 17:46:40,634 DEBUG SenderThread:4808 [sender.py:send_request():363] send_request: defer +2023-02-24 17:46:40,634 INFO SenderThread:4808 [sender.py:send_request_defer():583] handle sender defer: 2 +2023-02-24 17:46:40,634 INFO SenderThread:4808 [sender.py:transition_state():587] send defer: 3 +2023-02-24 17:46:40,634 DEBUG SenderThread:4808 [sender.py:send():336] send: stats +2023-02-24 17:46:40,634 DEBUG HandlerThread:4808 [handler.py:handle_request():144] handle_request: defer +2023-02-24 17:46:40,634 INFO HandlerThread:4808 [handler.py:handle_request_defer():170] handle defer: 3 +2023-02-24 17:46:40,635 DEBUG SenderThread:4808 [sender.py:send_request():363] send_request: defer +2023-02-24 17:46:40,635 INFO SenderThread:4808 [sender.py:send_request_defer():583] handle sender defer: 3 +2023-02-24 17:46:40,635 INFO SenderThread:4808 [sender.py:transition_state():587] send defer: 4 +2023-02-24 17:46:40,635 DEBUG HandlerThread:4808 [handler.py:handle_request():144] handle_request: defer +2023-02-24 17:46:40,635 INFO HandlerThread:4808 [handler.py:handle_request_defer():170] handle defer: 4 +2023-02-24 17:46:40,635 DEBUG SenderThread:4808 [sender.py:send_request():363] send_request: defer +2023-02-24 17:46:40,635 INFO SenderThread:4808 [sender.py:send_request_defer():583] handle sender defer: 4 +2023-02-24 17:46:40,635 INFO SenderThread:4808 [sender.py:transition_state():587] send defer: 5 +2023-02-24 17:46:40,636 DEBUG HandlerThread:4808 [handler.py:handle_request():144] handle_request: defer +2023-02-24 17:46:40,636 INFO HandlerThread:4808 [handler.py:handle_request_defer():170] handle defer: 5 +2023-02-24 17:46:40,636 DEBUG SenderThread:4808 [sender.py:send():336] send: summary +2023-02-24 17:46:40,637 INFO SenderThread:4808 [sender.py:_save_file():1321] saving file wandb-summary.json with policy end +2023-02-24 17:46:40,637 DEBUG SenderThread:4808 [sender.py:send_request():363] send_request: defer +2023-02-24 17:46:40,637 INFO SenderThread:4808 [sender.py:send_request_defer():583] handle sender defer: 5 +2023-02-24 17:46:40,637 INFO SenderThread:4808 [sender.py:transition_state():587] send defer: 6 +2023-02-24 17:46:40,637 DEBUG HandlerThread:4808 [handler.py:handle_request():144] handle_request: defer +2023-02-24 17:46:40,637 INFO HandlerThread:4808 [handler.py:handle_request_defer():170] handle defer: 6 +2023-02-24 17:46:40,638 DEBUG SenderThread:4808 [sender.py:send_request():363] send_request: defer +2023-02-24 17:46:40,638 INFO SenderThread:4808 [sender.py:send_request_defer():583] handle sender defer: 6 +2023-02-24 17:46:40,641 DEBUG HandlerThread:4808 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 17:46:40,853 INFO SenderThread:4808 [sender.py:transition_state():587] send defer: 7 +2023-02-24 17:46:40,854 DEBUG HandlerThread:4808 [handler.py:handle_request():144] handle_request: defer +2023-02-24 17:46:40,854 INFO HandlerThread:4808 [handler.py:handle_request_defer():170] handle defer: 7 +2023-02-24 17:46:40,854 DEBUG SenderThread:4808 [sender.py:send_request():363] send_request: defer +2023-02-24 17:46:40,854 INFO SenderThread:4808 [sender.py:send_request_defer():583] handle sender defer: 7 +2023-02-24 17:46:41,098 INFO Thread-17 :4808 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_174636-zytz60yc\files\wandb-summary.json +2023-02-24 17:46:41,098 INFO Thread-17 :4808 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_174636-zytz60yc\files\output.log +2023-02-24 17:46:41,099 INFO Thread-17 :4808 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_174636-zytz60yc\files\config.yaml +2023-02-24 17:46:41,639 DEBUG HandlerThread:4808 [handler.py:handle_request():144] handle_request: poll_exit +2023-02-24 17:46:42,124 INFO SenderThread:4808 [sender.py:transition_state():587] send defer: 8 +2023-02-24 17:46:42,124 DEBUG SenderThread:4808 [sender.py:send_request():363] send_request: poll_exit +2023-02-24 17:46:42,124 DEBUG HandlerThread:4808 [handler.py:handle_request():144] handle_request: defer +2023-02-24 17:46:42,125 INFO HandlerThread:4808 [handler.py:handle_request_defer():170] handle defer: 8 +2023-02-24 17:46:42,125 DEBUG SenderThread:4808 [sender.py:send_request():363] send_request: defer +2023-02-24 17:46:42,125 INFO SenderThread:4808 [sender.py:send_request_defer():583] handle sender defer: 8 +2023-02-24 17:46:42,139 INFO SenderThread:4808 [sender.py:transition_state():587] send defer: 9 +2023-02-24 17:46:42,140 DEBUG HandlerThread:4808 [handler.py:handle_request():144] handle_request: defer +2023-02-24 17:46:42,140 DEBUG SenderThread:4808 [sender.py:send():336] send: artifact +2023-02-24 17:46:42,140 INFO HandlerThread:4808 [handler.py:handle_request_defer():170] handle defer: 9 +2023-02-24 17:46:42,651 DEBUG HandlerThread:4808 [handler.py:handle_request():144] handle_request: poll_exit +2023-02-24 17:46:42,978 INFO SenderThread:4808 [sender.py:send_artifact():1417] sent artifact job-https___git.soton.ac.uk_lhb1g20_graph4stackoverflow.git_embeddings_hetero_GAT.py - {'id': 'QXJ0aWZhY3Q6MzgwMzY3ODUz', 'digest': 'dbe34f6e8b990dacc5d7c5e1ab1d02a4', 'state': 'COMMITTED', 'aliases': [{'artifactCollectionName': 'job-https___git.soton.ac.uk_lhb1g20_graph4stackoverflow.git_embeddings_hetero_GAT.py', 'alias': 'latest'}, {'artifactCollectionName': 'job-https___git.soton.ac.uk_lhb1g20_graph4stackoverflow.git_embeddings_hetero_GAT.py', 'alias': 'v0'}], 'artifactSequence': {'id': 'QXJ0aWZhY3RDb2xsZWN0aW9uOjU0NTg3MzU0', 'latestArtifact': {'id': 'QXJ0aWZhY3Q6MzgwMzk2OTM0', 'versionIndex': 2}}, 'version': 'v0'} +2023-02-24 17:46:42,978 DEBUG SenderThread:4808 [sender.py:send_request():363] send_request: defer +2023-02-24 17:46:42,978 INFO SenderThread:4808 [sender.py:send_request_defer():583] handle sender defer: 9 +2023-02-24 17:46:42,978 INFO SenderThread:4808 [dir_watcher.py:finish():362] shutting down directory watcher +2023-02-24 17:46:43,117 INFO SenderThread:4808 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_174636-zytz60yc\files\output.log +2023-02-24 17:46:43,118 INFO SenderThread:4808 [dir_watcher.py:finish():392] scan: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_174636-zytz60yc\files +2023-02-24 17:46:43,118 INFO SenderThread:4808 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_174636-zytz60yc\files\config.yaml config.yaml +2023-02-24 17:46:43,118 INFO SenderThread:4808 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_174636-zytz60yc\files\output.log output.log +2023-02-24 17:46:43,121 INFO SenderThread:4808 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_174636-zytz60yc\files\requirements.txt requirements.txt +2023-02-24 17:46:43,124 INFO SenderThread:4808 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_174636-zytz60yc\files\wandb-metadata.json wandb-metadata.json +2023-02-24 17:46:43,125 INFO SenderThread:4808 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_174636-zytz60yc\files\wandb-summary.json wandb-summary.json +2023-02-24 17:46:43,128 INFO SenderThread:4808 [sender.py:transition_state():587] send defer: 10 +2023-02-24 17:46:43,128 DEBUG SenderThread:4808 [sender.py:send_request():363] send_request: poll_exit +2023-02-24 17:46:43,129 DEBUG HandlerThread:4808 [handler.py:handle_request():144] handle_request: defer +2023-02-24 17:46:43,129 INFO HandlerThread:4808 [handler.py:handle_request_defer():170] handle defer: 10 +2023-02-24 17:46:43,133 DEBUG SenderThread:4808 [sender.py:send_request():363] send_request: defer +2023-02-24 17:46:43,133 INFO SenderThread:4808 [sender.py:send_request_defer():583] handle sender defer: 10 +2023-02-24 17:46:43,133 INFO SenderThread:4808 [file_pusher.py:finish():162] shutting down file pusher +2023-02-24 17:46:43,645 INFO wandb-upload_3:4808 [upload_job.py:push():138] Uploaded file C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_174636-zytz60yc\files\wandb-summary.json +2023-02-24 17:46:43,663 DEBUG HandlerThread:4808 [handler.py:handle_request():144] handle_request: poll_exit +2023-02-24 17:46:43,664 DEBUG SenderThread:4808 [sender.py:send_request():363] send_request: poll_exit +2023-02-24 17:46:43,724 INFO wandb-upload_0:4808 [upload_job.py:push():138] Uploaded file C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_174636-zytz60yc\files\config.yaml +2023-02-24 17:46:43,749 INFO wandb-upload_2:4808 [upload_job.py:push():138] Uploaded file C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_174636-zytz60yc\files\requirements.txt +2023-02-24 17:46:43,762 INFO wandb-upload_1:4808 [upload_job.py:push():138] Uploaded file C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_174636-zytz60yc\files\output.log +2023-02-24 17:46:43,974 INFO Thread-16 :4808 [sender.py:transition_state():587] send defer: 11 +2023-02-24 17:46:43,974 DEBUG HandlerThread:4808 [handler.py:handle_request():144] handle_request: defer +2023-02-24 17:46:43,974 INFO HandlerThread:4808 [handler.py:handle_request_defer():170] handle defer: 11 +2023-02-24 17:46:43,974 DEBUG SenderThread:4808 [sender.py:send_request():363] send_request: defer +2023-02-24 17:46:43,974 INFO SenderThread:4808 [sender.py:send_request_defer():583] handle sender defer: 11 +2023-02-24 17:46:43,974 INFO SenderThread:4808 [file_pusher.py:join():167] waiting for file pusher +2023-02-24 17:46:43,974 INFO SenderThread:4808 [sender.py:transition_state():587] send defer: 12 +2023-02-24 17:46:43,974 DEBUG HandlerThread:4808 [handler.py:handle_request():144] handle_request: defer +2023-02-24 17:46:43,974 INFO HandlerThread:4808 [handler.py:handle_request_defer():170] handle defer: 12 +2023-02-24 17:46:43,975 DEBUG SenderThread:4808 [sender.py:send_request():363] send_request: defer +2023-02-24 17:46:43,975 INFO SenderThread:4808 [sender.py:send_request_defer():583] handle sender defer: 12 +2023-02-24 17:46:44,127 INFO SenderThread:4808 [sender.py:transition_state():587] send defer: 13 +2023-02-24 17:46:44,127 DEBUG HandlerThread:4808 [handler.py:handle_request():144] handle_request: defer +2023-02-24 17:46:44,127 INFO HandlerThread:4808 [handler.py:handle_request_defer():170] handle defer: 13 +2023-02-24 17:46:44,128 DEBUG SenderThread:4808 [sender.py:send_request():363] send_request: defer +2023-02-24 17:46:44,128 INFO SenderThread:4808 [sender.py:send_request_defer():583] handle sender defer: 13 +2023-02-24 17:46:44,128 INFO SenderThread:4808 [sender.py:transition_state():587] send defer: 14 +2023-02-24 17:46:44,128 DEBUG HandlerThread:4808 [handler.py:handle_request():144] handle_request: defer +2023-02-24 17:46:44,128 INFO HandlerThread:4808 [handler.py:handle_request_defer():170] handle defer: 14 +2023-02-24 17:46:44,129 DEBUG SenderThread:4808 [sender.py:send():336] send: final +2023-02-24 17:46:44,129 DEBUG SenderThread:4808 [sender.py:send():336] send: footer +2023-02-24 17:46:44,129 DEBUG SenderThread:4808 [sender.py:send_request():363] send_request: defer +2023-02-24 17:46:44,129 INFO SenderThread:4808 [sender.py:send_request_defer():583] handle sender defer: 14 +2023-02-24 17:46:44,130 DEBUG HandlerThread:4808 [handler.py:handle_request():144] handle_request: poll_exit +2023-02-24 17:46:44,130 DEBUG HandlerThread:4808 [handler.py:handle_request():144] handle_request: poll_exit +2023-02-24 17:46:44,130 DEBUG HandlerThread:4808 [handler.py:handle_request():144] handle_request: server_info +2023-02-24 17:46:44,130 DEBUG HandlerThread:4808 [handler.py:handle_request():144] handle_request: get_summary +2023-02-24 17:46:44,130 DEBUG HandlerThread:4808 [handler.py:handle_request():144] handle_request: sampled_history +2023-02-24 17:46:44,131 DEBUG SenderThread:4808 [sender.py:send_request():363] send_request: poll_exit +2023-02-24 17:46:44,131 DEBUG SenderThread:4808 [sender.py:send_request():363] send_request: poll_exit +2023-02-24 17:46:44,131 DEBUG SenderThread:4808 [sender.py:send_request():363] send_request: server_info +2023-02-24 17:46:44,292 INFO MainThread:4808 [wandb_run.py:_footer_history_summary_info():3442] rendering history +2023-02-24 17:46:44,292 INFO MainThread:4808 [wandb_run.py:_footer_history_summary_info():3474] rendering summary +2023-02-24 17:46:44,293 INFO MainThread:4808 [wandb_run.py:_footer_sync_info():3398] logging synced files +2023-02-24 17:46:44,293 DEBUG HandlerThread:4808 [handler.py:handle_request():144] handle_request: shutdown +2023-02-24 17:46:44,293 INFO HandlerThread:4808 [handler.py:finish():841] shutting down handler +2023-02-24 17:46:45,140 INFO WriterThread:4808 [datastore.py:close():299] close: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_174636-zytz60yc\run-zytz60yc.wandb +2023-02-24 17:46:45,297 INFO SenderThread:4808 [sender.py:finish():1493] shutting down sender +2023-02-24 17:46:45,297 INFO SenderThread:4808 [file_pusher.py:finish():162] shutting down file pusher +2023-02-24 17:46:45,298 INFO SenderThread:4808 [file_pusher.py:join():167] waiting for file pusher diff --git a/embeddings/wandb/run-20230224_174636-zytz60yc/logs/debug.log b/embeddings/wandb/run-20230224_174636-zytz60yc/logs/debug.log new file mode 100644 index 0000000000000000000000000000000000000000..158b654c1710be7b52be8df4091f6c79b99e4f2f --- /dev/null +++ b/embeddings/wandb/run-20230224_174636-zytz60yc/logs/debug.log @@ -0,0 +1,25 @@ +2023-02-24 17:46:36,566 INFO MainThread:2956 [wandb_setup.py:_flush():68] Configure stats pid to 2956 +2023-02-24 17:46:36,566 INFO MainThread:2956 [wandb_setup.py:_flush():68] Loading settings from C:\Users\liamb\.config\wandb\settings +2023-02-24 17:46:36,566 INFO MainThread:2956 [wandb_setup.py:_flush():68] Loading settings from C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\settings +2023-02-24 17:46:36,566 INFO MainThread:2956 [wandb_setup.py:_flush():68] Loading settings from environment variables: {'_require_service': 'True'} +2023-02-24 17:46:36,567 INFO MainThread:2956 [wandb_setup.py:_flush():68] Inferring run settings from compute environment: {'program_relpath': 'embeddings\\hetero_GAT.py', 'program': 'C:\\Users\\liamb\\Documents\\graph4stackoverflow\\embeddings\\hetero_GAT.py'} +2023-02-24 17:46:36,567 INFO MainThread:2956 [wandb_init.py:_log_setup():492] Logging user logs to C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_174636-zytz60yc\logs\debug.log +2023-02-24 17:46:36,568 INFO MainThread:2956 [wandb_init.py:_log_setup():493] Logging internal logs to C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_174636-zytz60yc\logs\debug-internal.log +2023-02-24 17:46:36,568 INFO MainThread:2956 [wandb_init.py:init():532] calling init triggers +2023-02-24 17:46:36,568 INFO MainThread:2956 [wandb_init.py:init():538] wandb.init called with sweep_config: {} +config: {} +2023-02-24 17:46:36,568 INFO MainThread:2956 [wandb_init.py:init():588] starting backend +2023-02-24 17:46:36,568 INFO MainThread:2956 [wandb_init.py:init():592] setting up manager +2023-02-24 17:46:36,571 INFO MainThread:2956 [backend.py:_multiprocessing_setup():106] multiprocessing start_methods=spawn, using: spawn +2023-02-24 17:46:36,575 INFO MainThread:2956 [wandb_init.py:init():599] backend started and connected +2023-02-24 17:46:36,577 INFO MainThread:2956 [wandb_init.py:init():687] updated telemetry +2023-02-24 17:46:36,626 INFO MainThread:2956 [wandb_init.py:init():727] communicating run to backend with 60.0 second timeout +2023-02-24 17:46:37,052 INFO MainThread:2956 [wandb_run.py:_on_init():2134] communicating current version +2023-02-24 17:46:37,257 INFO MainThread:2956 [wandb_run.py:_on_init():2143] got version response +2023-02-24 17:46:37,257 INFO MainThread:2956 [wandb_init.py:init():775] starting run threads in backend +2023-02-24 17:46:37,415 INFO MainThread:2956 [wandb_run.py:_console_start():2114] atexit reg +2023-02-24 17:46:37,416 INFO MainThread:2956 [wandb_run.py:_redirect():1969] redirect: SettingsConsole.WRAP_RAW +2023-02-24 17:46:37,416 INFO MainThread:2956 [wandb_run.py:_redirect():2034] Wrapping output streams. +2023-02-24 17:46:37,416 INFO MainThread:2956 [wandb_run.py:_redirect():2059] Redirects installed. +2023-02-24 17:46:37,416 INFO MainThread:2956 [wandb_init.py:init():817] run started, returning control to user process +2023-02-24 17:46:45,364 WARNING MsgRouterThr:2956 [router.py:message_loop():77] message_loop has been closed diff --git a/embeddings/wandb/run-20230224_174636-zytz60yc/run-zytz60yc.wandb b/embeddings/wandb/run-20230224_174636-zytz60yc/run-zytz60yc.wandb new file mode 100644 index 0000000000000000000000000000000000000000..2dbe29a03e8e736996275ba125872f31cd097df2 Binary files /dev/null and b/embeddings/wandb/run-20230224_174636-zytz60yc/run-zytz60yc.wandb differ diff --git a/embeddings/wandb/run-20230224_175459-p4h8fzyu/files/config.yaml b/embeddings/wandb/run-20230224_175459-p4h8fzyu/files/config.yaml new file mode 100644 index 0000000000000000000000000000000000000000..108c3f92ba6125a068f0f34303e84b80ec56c12d --- /dev/null +++ b/embeddings/wandb/run-20230224_175459-p4h8fzyu/files/config.yaml @@ -0,0 +1,39 @@ +wandb_version: 1 + +_wandb: + desc: null + value: + cli_version: 0.13.10 + framework: huggingface + huggingface_version: 4.24.0 + is_jupyter_run: false + is_kaggle_kernel: false + python_version: 3.8.1 + start_time: 1677261299.268617 + t: + 1: + - 1 + - 5 + - 11 + - 33 + - 49 + - 53 + - 55 + - 77 + 2: + - 1 + - 5 + - 11 + - 33 + - 49 + - 53 + - 55 + - 77 + 3: + - 23 + 4: 3.8.1 + 5: 0.13.10 + 6: 4.24.0 + 8: + - 3 + - 5 diff --git a/embeddings/wandb/run-20230224_175459-p4h8fzyu/files/output.log b/embeddings/wandb/run-20230224_175459-p4h8fzyu/files/output.log new file mode 100644 index 0000000000000000000000000000000000000000..a69390906c5707b3c0abd13cae1e03b8c9fdbdc5 --- /dev/null +++ b/embeddings/wandb/run-20230224_175459-p4h8fzyu/files/output.log @@ -0,0 +1,24 @@ + +INFO:heterogeneous-GAT-model:[1] Loss: 0.0003524474799633026 +PRED tensor([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]) tensor([[1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1]]) +Traceback (most recent call last): + File "C:\Users\liamb\Documents\graph4stackoverflow\embeddings\hetero_GAT.py", line 209, in <module> + train_acc, train_f1, train_loss, train_table = test(train_loader) + File "C:\Users\liamb\Documents\graph4stackoverflow\embeddings\hetero_GAT.py", line 121, in test + table.add_data(wandb.Html(plotly.io.to_html(create_graph_vis(data))), data.label.item(), pred.item()) +ValueError: only one element tensors can be converted to Python scalars \ No newline at end of file diff --git a/embeddings/wandb/run-20230224_175459-p4h8fzyu/files/requirements.txt b/embeddings/wandb/run-20230224_175459-p4h8fzyu/files/requirements.txt new file mode 100644 index 0000000000000000000000000000000000000000..d7de821539624662109e252a91c4907a963ad5fb --- /dev/null +++ b/embeddings/wandb/run-20230224_175459-p4h8fzyu/files/requirements.txt @@ -0,0 +1,170 @@ +absl-py==1.3.0 +anyio==3.6.2 +appdirs==1.4.4 +argon2-cffi-bindings==21.2.0 +argon2-cffi==21.3.0 +asttokens==2.1.0 +astunparse==1.6.3 +attrs==22.1.0 +backcall==0.2.0 +beautifulsoup4==4.11.1 +bleach==5.0.1 +blis==0.7.9 +bs4==0.0.1 +cachetools==5.2.0 +catalogue==2.0.8 +certifi==2022.9.24 +cffi==1.15.1 +charset-normalizer==2.1.1 +click==8.1.3 +colorama==0.4.6 +confection==0.0.3 +contourpy==1.0.6 +cycler==0.11.0 +cymem==2.0.7 +debugpy==1.6.3 +decorator==5.1.1 +defusedxml==0.7.1 +dgl==0.9.1 +docker-pycreds==0.4.0 +en-core-web-sm==3.4.1 +entrypoints==0.4 +executing==1.2.0 +fastjsonschema==2.16.2 +filelock==3.8.0 +fonttools==4.38.0 +gitdb==4.0.10 +gitpython==3.1.31 +google-auth-oauthlib==0.4.6 +google-auth==2.14.0 +graph4nlp==0.5.5 +grpcio==1.50.0 +huggingface-hub==0.10.1 +idna==3.4 +importlib-metadata==5.0.0 +importlib-resources==5.10.0 +ipykernel==6.16.2 +ipython-genutils==0.2.0 +ipython==8.6.0 +ipywidgets==8.0.2 +jedi==0.18.1 +jinja2==3.1.2 +joblib==1.2.0 +jsonschema==4.16.0 +jupyter-client==7.4.4 +jupyter-console==6.4.4 +jupyter-core==4.11.2 +jupyter-server==1.21.0 +jupyter==1.0.0 +jupyterlab-pygments==0.2.2 +jupyterlab-widgets==3.0.3 +kiwisolver==1.4.4 +langcodes==3.3.0 +littleutils==0.2.2 +lxml==4.9.1 +markdown==3.4.1 +markupsafe==2.1.1 +matplotlib-inline==0.1.6 +matplotlib==3.6.2 +mistune==2.0.4 +murmurhash==1.0.9 +nbclassic==0.4.7 +nbclient==0.7.0 +nbconvert==7.2.3 +nbformat==5.7.0 +nest-asyncio==1.5.6 +networkx==2.8.8 +nltk==3.7 +notebook-shim==0.2.0 +notebook==6.5.2 +numpy==1.23.5 +oauthlib==3.2.2 +ogb==1.3.5 +outdated==0.2.2 +packaging==21.3 +pandas==1.5.1 +pandocfilters==1.5.0 +parso==0.8.3 +pathtools==0.1.2 +pathy==0.6.2 +pickleshare==0.7.5 +pillow==9.3.0 +pip==21.3.1 +pkgutil-resolve-name==1.3.10 +plotly==5.13.0 +preshed==3.0.8 +prometheus-client==0.15.0 +prompt-toolkit==3.0.31 +protobuf==3.19.6 +psutil==5.9.3 +pure-eval==0.2.2 +pyasn1-modules==0.2.8 +pyasn1==0.4.8 +pycparser==2.21 +pydantic==1.10.2 +pygments==2.13.0 +pyparsing==3.0.9 +pyrsistent==0.18.1 +python-dateutil==2.8.2 +pythonds==1.2.1 +pytz==2022.5 +pywin32==304 +pywinpty==2.0.9 +pyyaml==6.0 +pyzmq==24.0.1 +qtconsole==5.3.2 +qtpy==2.2.1 +regex==2022.10.31 +requests-oauthlib==1.3.1 +requests==2.28.1 +rsa==4.9 +scikit-learn==1.1.3 +scipy==1.9.3 +send2trash==1.8.0 +sentry-sdk==1.15.0 +setproctitle==1.3.2 +setuptools==60.2.0 +six==1.16.0 +smart-open==5.2.1 +smmap==5.0.0 +sniffio==1.3.0 +soupsieve==2.3.2.post1 +spacy-legacy==3.0.10 +spacy-loggers==1.0.3 +spacy==3.4.2 +srsly==2.4.5 +stack-data==0.6.0 +stanfordcorenlp==3.9.1.1 +tenacity==8.2.1 +tensorboard-data-server==0.6.1 +tensorboard-plugin-wit==1.8.1 +tensorboard==2.10.1 +terminado==0.17.0 +thinc==8.1.5 +threadpoolctl==3.1.0 +tinycss2==1.2.1 +tokenizers==0.13.2 +torch-cluster==1.6.0+pt113cpu +torch-geometric==2.2.0 +torch-scatter==2.1.0+pt113cpu +torch-sparse==0.6.16+pt113cpu +torch-spline-conv==1.2.1+pt113cpu +torch==1.13.0 +torchsummary==1.5.1 +torchtext==0.14.0 +tornado==6.2 +tqdm==4.64.1 +traitlets==5.5.0 +transformers==4.24.0 +typer==0.4.2 +typing-extensions==4.4.0 +urllib3==1.26.12 +wandb==0.13.10 +wasabi==0.10.1 +wcwidth==0.2.5 +webencodings==0.5.1 +websocket-client==1.4.1 +werkzeug==2.2.2 +wheel==0.37.1 +widgetsnbextension==4.0.3 +zipp==3.10.0 \ No newline at end of file diff --git a/embeddings/wandb/run-20230224_175459-p4h8fzyu/files/wandb-metadata.json b/embeddings/wandb/run-20230224_175459-p4h8fzyu/files/wandb-metadata.json new file mode 100644 index 0000000000000000000000000000000000000000..5f2fec5dbe3cded574cd4340441b274d2ffca8fc --- /dev/null +++ b/embeddings/wandb/run-20230224_175459-p4h8fzyu/files/wandb-metadata.json @@ -0,0 +1,42 @@ +{ + "os": "Windows-10-10.0.19041-SP0", + "python": "3.8.1", + "heartbeatAt": "2023-02-24T17:54:59.781346", + "startedAt": "2023-02-24T17:54:59.256617", + "docker": null, + "cuda": null, + "args": [], + "state": "running", + "program": "C:\\Users\\liamb\\Documents\\graph4stackoverflow\\embeddings\\hetero_GAT.py", + "codePath": "embeddings\\hetero_GAT.py", + "git": { + "remote": "https://git.soton.ac.uk/lhb1g20/graph4stackoverflow.git", + "commit": "ced992d661984f7b87d1a3e76768e4ff7af78245" + }, + "email": "liambyrneh@gmail.com", + "root": "C:/Users/liamb/Documents/graph4stackoverflow", + "host": "DESKTOP-P7BETFF", + "username": "liamb", + "executable": "C:\\Users\\liamb\\Documents\\graph4stackoverflow\\venv\\Scripts\\python.exe", + "cpu_count": 2, + "cpu_count_logical": 4, + "cpu_freq": { + "current": 3504.0, + "min": 0.0, + "max": 3504.0 + }, + "cpu_freq_per_core": [ + { + "current": 3504.0, + "min": 0.0, + "max": 3504.0 + } + ], + "disk": { + "total": 475.71581649780273, + "used": 357.75207138061523 + }, + "memory": { + "total": 31.89160919189453 + } +} diff --git a/embeddings/wandb/run-20230224_175459-p4h8fzyu/files/wandb-summary.json b/embeddings/wandb/run-20230224_175459-p4h8fzyu/files/wandb-summary.json new file mode 100644 index 0000000000000000000000000000000000000000..4ac1ba993956be52f459e677e193218ff2cddc76 --- /dev/null +++ b/embeddings/wandb/run-20230224_175459-p4h8fzyu/files/wandb-summary.json @@ -0,0 +1 @@ +{"_wandb": {"runtime": 3}} \ No newline at end of file diff --git a/embeddings/wandb/run-20230224_175459-p4h8fzyu/logs/debug-internal.log b/embeddings/wandb/run-20230224_175459-p4h8fzyu/logs/debug-internal.log new file mode 100644 index 0000000000000000000000000000000000000000..3e2b871cdf5137c369ad84e9c4828dda03d781fa --- /dev/null +++ b/embeddings/wandb/run-20230224_175459-p4h8fzyu/logs/debug-internal.log @@ -0,0 +1,174 @@ +2023-02-24 17:54:59,269 INFO StreamThr :8756 [internal.py:wandb_internal():87] W&B internal server running at pid: 8756, started at: 2023-02-24 17:54:59.268617 +2023-02-24 17:54:59,271 DEBUG HandlerThread:8756 [handler.py:handle_request():144] handle_request: status +2023-02-24 17:54:59,272 INFO WriterThread:8756 [datastore.py:open_for_write():85] open: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_175459-p4h8fzyu\run-p4h8fzyu.wandb +2023-02-24 17:54:59,276 DEBUG SenderThread:8756 [sender.py:send():336] send: header +2023-02-24 17:54:59,322 DEBUG SenderThread:8756 [sender.py:send():336] send: run +2023-02-24 17:54:59,686 INFO SenderThread:8756 [dir_watcher.py:__init__():216] watching files in: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_175459-p4h8fzyu\files +2023-02-24 17:54:59,687 INFO SenderThread:8756 [sender.py:_start_run_threads():1067] run started: p4h8fzyu with start time 1677261299.268617 +2023-02-24 17:54:59,687 DEBUG SenderThread:8756 [sender.py:send_request():363] send_request: summary_record +2023-02-24 17:54:59,687 DEBUG HandlerThread:8756 [handler.py:handle_request():144] handle_request: check_version +2023-02-24 17:54:59,688 INFO SenderThread:8756 [sender.py:_save_file():1321] saving file wandb-summary.json with policy end +2023-02-24 17:54:59,688 DEBUG SenderThread:8756 [sender.py:send_request():363] send_request: check_version +2023-02-24 17:54:59,759 DEBUG HandlerThread:8756 [handler.py:handle_request():144] handle_request: run_start +2023-02-24 17:54:59,777 DEBUG HandlerThread:8756 [system_info.py:__init__():31] System info init +2023-02-24 17:54:59,777 DEBUG HandlerThread:8756 [system_info.py:__init__():46] System info init done +2023-02-24 17:54:59,777 INFO HandlerThread:8756 [system_monitor.py:start():151] Starting system monitor +2023-02-24 17:54:59,778 INFO SystemMonitor:8756 [system_monitor.py:_start():116] Starting system asset monitoring threads +2023-02-24 17:54:59,778 INFO HandlerThread:8756 [system_monitor.py:probe():172] Collecting system info +2023-02-24 17:54:59,781 INFO SystemMonitor:8756 [interfaces.py:start():168] Started cpu +2023-02-24 17:54:59,781 DEBUG HandlerThread:8756 [system_info.py:probe():195] Probing system +2023-02-24 17:54:59,781 INFO SystemMonitor:8756 [interfaces.py:start():168] Started disk +2023-02-24 17:54:59,782 INFO SystemMonitor:8756 [interfaces.py:start():168] Started memory +2023-02-24 17:54:59,798 INFO SystemMonitor:8756 [interfaces.py:start():168] Started network +2023-02-24 17:54:59,800 DEBUG HandlerThread:8756 [system_info.py:_probe_git():180] Probing git +2023-02-24 17:54:59,893 DEBUG HandlerThread:8756 [system_info.py:_probe_git():188] Probing git done +2023-02-24 17:54:59,893 DEBUG HandlerThread:8756 [system_info.py:probe():241] Probing system done +2023-02-24 17:54:59,893 DEBUG HandlerThread:8756 [system_monitor.py:probe():181] {'os': 'Windows-10-10.0.19041-SP0', 'python': '3.8.1', 'heartbeatAt': '2023-02-24T17:54:59.781346', 'startedAt': '2023-02-24T17:54:59.256617', 'docker': None, 'cuda': None, 'args': (), 'state': 'running', 'program': 'C:\\Users\\liamb\\Documents\\graph4stackoverflow\\embeddings\\hetero_GAT.py', 'codePath': 'embeddings\\hetero_GAT.py', 'git': {'remote': 'https://git.soton.ac.uk/lhb1g20/graph4stackoverflow.git', 'commit': 'ced992d661984f7b87d1a3e76768e4ff7af78245'}, 'email': 'liambyrneh@gmail.com', 'root': 'C:/Users/liamb/Documents/graph4stackoverflow', 'host': 'DESKTOP-P7BETFF', 'username': 'liamb', 'executable': 'C:\\Users\\liamb\\Documents\\graph4stackoverflow\\venv\\Scripts\\python.exe', 'cpu_count': 2, 'cpu_count_logical': 4, 'cpu_freq': {'current': 3504.0, 'min': 0.0, 'max': 3504.0}, 'cpu_freq_per_core': [{'current': 3504.0, 'min': 0.0, 'max': 3504.0}], 'disk': {'total': 475.71581649780273, 'used': 357.75207138061523}, 'memory': {'total': 31.89160919189453}} +2023-02-24 17:54:59,893 INFO HandlerThread:8756 [system_monitor.py:probe():182] Finished collecting system info +2023-02-24 17:54:59,893 INFO HandlerThread:8756 [system_monitor.py:probe():185] Publishing system info +2023-02-24 17:54:59,894 DEBUG HandlerThread:8756 [system_info.py:_save_pip():51] Saving list of pip packages installed into the current environment +2023-02-24 17:54:59,895 DEBUG HandlerThread:8756 [system_info.py:_save_pip():67] Saving pip packages done +2023-02-24 17:54:59,897 INFO HandlerThread:8756 [system_monitor.py:probe():187] Finished publishing system info +2023-02-24 17:54:59,906 DEBUG SenderThread:8756 [sender.py:send():336] send: files +2023-02-24 17:54:59,906 INFO SenderThread:8756 [sender.py:_save_file():1321] saving file wandb-metadata.json with policy now +2023-02-24 17:54:59,914 DEBUG HandlerThread:8756 [handler.py:handle_request():144] handle_request: stop_status +2023-02-24 17:54:59,915 DEBUG SenderThread:8756 [sender.py:send_request():363] send_request: stop_status +2023-02-24 17:55:00,075 DEBUG SenderThread:8756 [sender.py:send():336] send: telemetry +2023-02-24 17:55:00,452 INFO wandb-upload_0:8756 [upload_job.py:push():138] Uploaded file C:\Users\liamb\AppData\Local\Temp\tmpnww_a46vwandb\fmwupw8q-wandb-metadata.json +2023-02-24 17:55:00,537 DEBUG SenderThread:8756 [sender.py:send():336] send: use_artifact +2023-02-24 17:55:00,702 INFO Thread-17 :8756 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_175459-p4h8fzyu\files\wandb-summary.json +2023-02-24 17:55:00,703 INFO Thread-17 :8756 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_175459-p4h8fzyu\files\requirements.txt +2023-02-24 17:55:00,703 INFO Thread-17 :8756 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_175459-p4h8fzyu\files\wandb-metadata.json +2023-02-24 17:55:01,715 INFO Thread-17 :8756 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_175459-p4h8fzyu\files\output.log +2023-02-24 17:55:03,469 DEBUG SenderThread:8756 [sender.py:send():336] send: exit +2023-02-24 17:55:03,469 INFO SenderThread:8756 [sender.py:send_exit():559] handling exit code: 1 +2023-02-24 17:55:03,469 INFO SenderThread:8756 [sender.py:send_exit():561] handling runtime: 3 +2023-02-24 17:55:03,469 INFO SenderThread:8756 [sender.py:_save_file():1321] saving file wandb-summary.json with policy end +2023-02-24 17:55:03,470 INFO SenderThread:8756 [sender.py:send_exit():567] send defer +2023-02-24 17:55:03,470 DEBUG HandlerThread:8756 [handler.py:handle_request():144] handle_request: defer +2023-02-24 17:55:03,470 INFO HandlerThread:8756 [handler.py:handle_request_defer():170] handle defer: 0 +2023-02-24 17:55:03,470 DEBUG SenderThread:8756 [sender.py:send_request():363] send_request: defer +2023-02-24 17:55:03,470 INFO SenderThread:8756 [sender.py:send_request_defer():583] handle sender defer: 0 +2023-02-24 17:55:03,470 INFO SenderThread:8756 [sender.py:transition_state():587] send defer: 1 +2023-02-24 17:55:03,471 DEBUG HandlerThread:8756 [handler.py:handle_request():144] handle_request: defer +2023-02-24 17:55:03,471 INFO HandlerThread:8756 [handler.py:handle_request_defer():170] handle defer: 1 +2023-02-24 17:55:03,471 DEBUG SenderThread:8756 [sender.py:send_request():363] send_request: defer +2023-02-24 17:55:03,471 INFO SenderThread:8756 [sender.py:send_request_defer():583] handle sender defer: 1 +2023-02-24 17:55:03,471 INFO SenderThread:8756 [sender.py:transition_state():587] send defer: 2 +2023-02-24 17:55:03,471 DEBUG HandlerThread:8756 [handler.py:handle_request():144] handle_request: defer +2023-02-24 17:55:03,471 INFO HandlerThread:8756 [handler.py:handle_request_defer():170] handle defer: 2 +2023-02-24 17:55:03,471 INFO HandlerThread:8756 [system_monitor.py:finish():161] Stopping system monitor +2023-02-24 17:55:03,472 DEBUG SystemMonitor:8756 [system_monitor.py:_start():130] Starting system metrics aggregation loop +2023-02-24 17:55:03,473 INFO HandlerThread:8756 [interfaces.py:finish():175] Joined cpu +2023-02-24 17:55:03,473 DEBUG SystemMonitor:8756 [system_monitor.py:_start():137] Finished system metrics aggregation loop +2023-02-24 17:55:03,473 INFO HandlerThread:8756 [interfaces.py:finish():175] Joined disk +2023-02-24 17:55:03,473 DEBUG SystemMonitor:8756 [system_monitor.py:_start():141] Publishing last batch of metrics +2023-02-24 17:55:03,473 INFO HandlerThread:8756 [interfaces.py:finish():175] Joined memory +2023-02-24 17:55:03,474 INFO HandlerThread:8756 [interfaces.py:finish():175] Joined network +2023-02-24 17:55:03,474 DEBUG SenderThread:8756 [sender.py:send_request():363] send_request: defer +2023-02-24 17:55:03,474 INFO SenderThread:8756 [sender.py:send_request_defer():583] handle sender defer: 2 +2023-02-24 17:55:03,474 INFO SenderThread:8756 [sender.py:transition_state():587] send defer: 3 +2023-02-24 17:55:03,475 DEBUG SenderThread:8756 [sender.py:send():336] send: stats +2023-02-24 17:55:03,475 DEBUG HandlerThread:8756 [handler.py:handle_request():144] handle_request: defer +2023-02-24 17:55:03,475 INFO HandlerThread:8756 [handler.py:handle_request_defer():170] handle defer: 3 +2023-02-24 17:55:03,475 DEBUG SenderThread:8756 [sender.py:send_request():363] send_request: defer +2023-02-24 17:55:03,475 INFO SenderThread:8756 [sender.py:send_request_defer():583] handle sender defer: 3 +2023-02-24 17:55:03,475 INFO SenderThread:8756 [sender.py:transition_state():587] send defer: 4 +2023-02-24 17:55:03,476 DEBUG HandlerThread:8756 [handler.py:handle_request():144] handle_request: defer +2023-02-24 17:55:03,476 INFO HandlerThread:8756 [handler.py:handle_request_defer():170] handle defer: 4 +2023-02-24 17:55:03,476 DEBUG SenderThread:8756 [sender.py:send_request():363] send_request: defer +2023-02-24 17:55:03,476 INFO SenderThread:8756 [sender.py:send_request_defer():583] handle sender defer: 4 +2023-02-24 17:55:03,476 INFO SenderThread:8756 [sender.py:transition_state():587] send defer: 5 +2023-02-24 17:55:03,476 DEBUG HandlerThread:8756 [handler.py:handle_request():144] handle_request: defer +2023-02-24 17:55:03,476 INFO HandlerThread:8756 [handler.py:handle_request_defer():170] handle defer: 5 +2023-02-24 17:55:03,477 DEBUG SenderThread:8756 [sender.py:send():336] send: summary +2023-02-24 17:55:03,477 INFO SenderThread:8756 [sender.py:_save_file():1321] saving file wandb-summary.json with policy end +2023-02-24 17:55:03,477 DEBUG SenderThread:8756 [sender.py:send_request():363] send_request: defer +2023-02-24 17:55:03,477 INFO SenderThread:8756 [sender.py:send_request_defer():583] handle sender defer: 5 +2023-02-24 17:55:03,477 INFO SenderThread:8756 [sender.py:transition_state():587] send defer: 6 +2023-02-24 17:55:03,478 DEBUG HandlerThread:8756 [handler.py:handle_request():144] handle_request: defer +2023-02-24 17:55:03,478 INFO HandlerThread:8756 [handler.py:handle_request_defer():170] handle defer: 6 +2023-02-24 17:55:03,478 DEBUG SenderThread:8756 [sender.py:send_request():363] send_request: defer +2023-02-24 17:55:03,478 INFO SenderThread:8756 [sender.py:send_request_defer():583] handle sender defer: 6 +2023-02-24 17:55:03,482 DEBUG HandlerThread:8756 [handler.py:handle_request():144] handle_request: status_report +2023-02-24 17:55:03,658 INFO SenderThread:8756 [sender.py:transition_state():587] send defer: 7 +2023-02-24 17:55:03,659 DEBUG HandlerThread:8756 [handler.py:handle_request():144] handle_request: defer +2023-02-24 17:55:03,659 INFO HandlerThread:8756 [handler.py:handle_request_defer():170] handle defer: 7 +2023-02-24 17:55:03,659 DEBUG SenderThread:8756 [sender.py:send_request():363] send_request: defer +2023-02-24 17:55:03,659 INFO SenderThread:8756 [sender.py:send_request_defer():583] handle sender defer: 7 +2023-02-24 17:55:03,728 INFO Thread-17 :8756 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_175459-p4h8fzyu\files\output.log +2023-02-24 17:55:03,729 INFO Thread-17 :8756 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_175459-p4h8fzyu\files\config.yaml +2023-02-24 17:55:03,729 INFO Thread-17 :8756 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_175459-p4h8fzyu\files\wandb-summary.json +2023-02-24 17:55:04,471 DEBUG HandlerThread:8756 [handler.py:handle_request():144] handle_request: poll_exit +2023-02-24 17:55:04,738 INFO Thread-17 :8756 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_175459-p4h8fzyu\files\output.log +2023-02-24 17:55:05,001 INFO SenderThread:8756 [sender.py:transition_state():587] send defer: 8 +2023-02-24 17:55:05,002 DEBUG SenderThread:8756 [sender.py:send_request():363] send_request: poll_exit +2023-02-24 17:55:05,002 DEBUG HandlerThread:8756 [handler.py:handle_request():144] handle_request: defer +2023-02-24 17:55:05,002 INFO HandlerThread:8756 [handler.py:handle_request_defer():170] handle defer: 8 +2023-02-24 17:55:05,003 DEBUG SenderThread:8756 [sender.py:send_request():363] send_request: defer +2023-02-24 17:55:05,003 INFO SenderThread:8756 [sender.py:send_request_defer():583] handle sender defer: 8 +2023-02-24 17:55:05,016 INFO SenderThread:8756 [sender.py:transition_state():587] send defer: 9 +2023-02-24 17:55:05,017 DEBUG HandlerThread:8756 [handler.py:handle_request():144] handle_request: defer +2023-02-24 17:55:05,017 INFO HandlerThread:8756 [handler.py:handle_request_defer():170] handle defer: 9 +2023-02-24 17:55:05,017 DEBUG SenderThread:8756 [sender.py:send():336] send: artifact +2023-02-24 17:55:05,483 DEBUG HandlerThread:8756 [handler.py:handle_request():144] handle_request: poll_exit +2023-02-24 17:55:05,750 INFO Thread-17 :8756 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_175459-p4h8fzyu\files\output.log +2023-02-24 17:55:06,079 INFO SenderThread:8756 [sender.py:send_artifact():1417] sent artifact job-https___git.soton.ac.uk_lhb1g20_graph4stackoverflow.git_embeddings_hetero_GAT.py - {'id': 'QXJ0aWZhY3Q6MzgwMzY3ODUz', 'digest': 'dbe34f6e8b990dacc5d7c5e1ab1d02a4', 'state': 'COMMITTED', 'aliases': [{'artifactCollectionName': 'job-https___git.soton.ac.uk_lhb1g20_graph4stackoverflow.git_embeddings_hetero_GAT.py', 'alias': 'latest'}, {'artifactCollectionName': 'job-https___git.soton.ac.uk_lhb1g20_graph4stackoverflow.git_embeddings_hetero_GAT.py', 'alias': 'v0'}], 'artifactSequence': {'id': 'QXJ0aWZhY3RDb2xsZWN0aW9uOjU0NTg3MzU0', 'latestArtifact': {'id': 'QXJ0aWZhY3Q6MzgwMzk2OTM0', 'versionIndex': 2}}, 'version': 'v0'} +2023-02-24 17:55:06,079 DEBUG SenderThread:8756 [sender.py:send_request():363] send_request: defer +2023-02-24 17:55:06,079 INFO SenderThread:8756 [sender.py:send_request_defer():583] handle sender defer: 9 +2023-02-24 17:55:06,079 INFO SenderThread:8756 [dir_watcher.py:finish():362] shutting down directory watcher +2023-02-24 17:55:06,760 INFO SenderThread:8756 [dir_watcher.py:finish():392] scan: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_175459-p4h8fzyu\files +2023-02-24 17:55:06,761 INFO SenderThread:8756 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_175459-p4h8fzyu\files\config.yaml config.yaml +2023-02-24 17:55:06,761 INFO SenderThread:8756 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_175459-p4h8fzyu\files\output.log output.log +2023-02-24 17:55:06,764 INFO SenderThread:8756 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_175459-p4h8fzyu\files\requirements.txt requirements.txt +2023-02-24 17:55:06,767 INFO SenderThread:8756 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_175459-p4h8fzyu\files\wandb-metadata.json wandb-metadata.json +2023-02-24 17:55:06,768 INFO SenderThread:8756 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_175459-p4h8fzyu\files\wandb-summary.json wandb-summary.json +2023-02-24 17:55:06,771 INFO SenderThread:8756 [sender.py:transition_state():587] send defer: 10 +2023-02-24 17:55:06,771 DEBUG SenderThread:8756 [sender.py:send_request():363] send_request: poll_exit +2023-02-24 17:55:06,772 DEBUG HandlerThread:8756 [handler.py:handle_request():144] handle_request: defer +2023-02-24 17:55:06,772 INFO HandlerThread:8756 [handler.py:handle_request_defer():170] handle defer: 10 +2023-02-24 17:55:06,775 DEBUG SenderThread:8756 [sender.py:send_request():363] send_request: defer +2023-02-24 17:55:06,777 INFO SenderThread:8756 [sender.py:send_request_defer():583] handle sender defer: 10 +2023-02-24 17:55:06,777 INFO SenderThread:8756 [file_pusher.py:finish():162] shutting down file pusher +2023-02-24 17:55:07,274 INFO wandb-upload_0:8756 [upload_job.py:push():138] Uploaded file C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_175459-p4h8fzyu\files\config.yaml +2023-02-24 17:55:07,320 INFO wandb-upload_2:8756 [upload_job.py:push():138] Uploaded file C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_175459-p4h8fzyu\files\requirements.txt +2023-02-24 17:55:07,362 INFO wandb-upload_1:8756 [upload_job.py:push():138] Uploaded file C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_175459-p4h8fzyu\files\output.log +2023-02-24 17:55:07,435 INFO wandb-upload_3:8756 [upload_job.py:push():138] Uploaded file C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_175459-p4h8fzyu\files\wandb-summary.json +2023-02-24 17:55:07,646 INFO Thread-16 :8756 [sender.py:transition_state():587] send defer: 11 +2023-02-24 17:55:07,646 DEBUG HandlerThread:8756 [handler.py:handle_request():144] handle_request: defer +2023-02-24 17:55:07,646 INFO HandlerThread:8756 [handler.py:handle_request_defer():170] handle defer: 11 +2023-02-24 17:55:07,646 DEBUG SenderThread:8756 [sender.py:send_request():363] send_request: defer +2023-02-24 17:55:07,646 INFO SenderThread:8756 [sender.py:send_request_defer():583] handle sender defer: 11 +2023-02-24 17:55:07,646 INFO SenderThread:8756 [file_pusher.py:join():167] waiting for file pusher +2023-02-24 17:55:07,646 INFO SenderThread:8756 [sender.py:transition_state():587] send defer: 12 +2023-02-24 17:55:07,646 DEBUG HandlerThread:8756 [handler.py:handle_request():144] handle_request: defer +2023-02-24 17:55:07,646 INFO HandlerThread:8756 [handler.py:handle_request_defer():170] handle defer: 12 +2023-02-24 17:55:07,647 DEBUG SenderThread:8756 [sender.py:send_request():363] send_request: defer +2023-02-24 17:55:07,647 INFO SenderThread:8756 [sender.py:send_request_defer():583] handle sender defer: 12 +2023-02-24 17:55:07,780 INFO SenderThread:8756 [sender.py:transition_state():587] send defer: 13 +2023-02-24 17:55:07,780 DEBUG HandlerThread:8756 [handler.py:handle_request():144] handle_request: defer +2023-02-24 17:55:07,780 INFO HandlerThread:8756 [handler.py:handle_request_defer():170] handle defer: 13 +2023-02-24 17:55:07,781 DEBUG SenderThread:8756 [sender.py:send_request():363] send_request: defer +2023-02-24 17:55:07,781 INFO SenderThread:8756 [sender.py:send_request_defer():583] handle sender defer: 13 +2023-02-24 17:55:07,781 INFO SenderThread:8756 [sender.py:transition_state():587] send defer: 14 +2023-02-24 17:55:07,781 DEBUG HandlerThread:8756 [handler.py:handle_request():144] handle_request: defer +2023-02-24 17:55:07,781 INFO HandlerThread:8756 [handler.py:handle_request_defer():170] handle defer: 14 +2023-02-24 17:55:07,782 DEBUG SenderThread:8756 [sender.py:send():336] send: final +2023-02-24 17:55:07,782 DEBUG SenderThread:8756 [sender.py:send():336] send: footer +2023-02-24 17:55:07,782 DEBUG SenderThread:8756 [sender.py:send_request():363] send_request: defer +2023-02-24 17:55:07,782 INFO SenderThread:8756 [sender.py:send_request_defer():583] handle sender defer: 14 +2023-02-24 17:55:07,783 DEBUG HandlerThread:8756 [handler.py:handle_request():144] handle_request: poll_exit +2023-02-24 17:55:07,783 DEBUG HandlerThread:8756 [handler.py:handle_request():144] handle_request: server_info +2023-02-24 17:55:07,783 DEBUG HandlerThread:8756 [handler.py:handle_request():144] handle_request: get_summary +2023-02-24 17:55:07,783 DEBUG HandlerThread:8756 [handler.py:handle_request():144] handle_request: sampled_history +2023-02-24 17:55:07,784 DEBUG SenderThread:8756 [sender.py:send_request():363] send_request: poll_exit +2023-02-24 17:55:07,784 DEBUG SenderThread:8756 [sender.py:send_request():363] send_request: server_info +2023-02-24 17:55:07,963 INFO MainThread:8756 [wandb_run.py:_footer_history_summary_info():3442] rendering history +2023-02-24 17:55:07,963 INFO MainThread:8756 [wandb_run.py:_footer_history_summary_info():3474] rendering summary +2023-02-24 17:55:07,963 INFO MainThread:8756 [wandb_run.py:_footer_sync_info():3398] logging synced files +2023-02-24 17:55:07,964 DEBUG HandlerThread:8756 [handler.py:handle_request():144] handle_request: shutdown +2023-02-24 17:55:07,964 INFO HandlerThread:8756 [handler.py:finish():841] shutting down handler +2023-02-24 17:55:08,795 INFO WriterThread:8756 [datastore.py:close():299] close: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_175459-p4h8fzyu\run-p4h8fzyu.wandb +2023-02-24 17:55:08,966 INFO SenderThread:8756 [sender.py:finish():1493] shutting down sender +2023-02-24 17:55:08,966 INFO SenderThread:8756 [file_pusher.py:finish():162] shutting down file pusher +2023-02-24 17:55:08,967 INFO SenderThread:8756 [file_pusher.py:join():167] waiting for file pusher diff --git a/embeddings/wandb/run-20230224_175459-p4h8fzyu/logs/debug.log b/embeddings/wandb/run-20230224_175459-p4h8fzyu/logs/debug.log new file mode 100644 index 0000000000000000000000000000000000000000..3e3fdd3879b8b4b463b6207a9d24e7a99bc31e9a --- /dev/null +++ b/embeddings/wandb/run-20230224_175459-p4h8fzyu/logs/debug.log @@ -0,0 +1,25 @@ +2023-02-24 17:54:59,259 INFO MainThread:15412 [wandb_setup.py:_flush():68] Configure stats pid to 15412 +2023-02-24 17:54:59,259 INFO MainThread:15412 [wandb_setup.py:_flush():68] Loading settings from C:\Users\liamb\.config\wandb\settings +2023-02-24 17:54:59,260 INFO MainThread:15412 [wandb_setup.py:_flush():68] Loading settings from C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\settings +2023-02-24 17:54:59,260 INFO MainThread:15412 [wandb_setup.py:_flush():68] Loading settings from environment variables: {'_require_service': 'True'} +2023-02-24 17:54:59,260 INFO MainThread:15412 [wandb_setup.py:_flush():68] Inferring run settings from compute environment: {'program_relpath': 'embeddings\\hetero_GAT.py', 'program': 'C:\\Users\\liamb\\Documents\\graph4stackoverflow\\embeddings\\hetero_GAT.py'} +2023-02-24 17:54:59,261 INFO MainThread:15412 [wandb_init.py:_log_setup():492] Logging user logs to C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_175459-p4h8fzyu\logs\debug.log +2023-02-24 17:54:59,261 INFO MainThread:15412 [wandb_init.py:_log_setup():493] Logging internal logs to C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230224_175459-p4h8fzyu\logs\debug-internal.log +2023-02-24 17:54:59,261 INFO MainThread:15412 [wandb_init.py:init():532] calling init triggers +2023-02-24 17:54:59,261 INFO MainThread:15412 [wandb_init.py:init():538] wandb.init called with sweep_config: {} +config: {} +2023-02-24 17:54:59,261 INFO MainThread:15412 [wandb_init.py:init():588] starting backend +2023-02-24 17:54:59,261 INFO MainThread:15412 [wandb_init.py:init():592] setting up manager +2023-02-24 17:54:59,264 INFO MainThread:15412 [backend.py:_multiprocessing_setup():106] multiprocessing start_methods=spawn, using: spawn +2023-02-24 17:54:59,268 INFO MainThread:15412 [wandb_init.py:init():599] backend started and connected +2023-02-24 17:54:59,270 INFO MainThread:15412 [wandb_init.py:init():687] updated telemetry +2023-02-24 17:54:59,321 INFO MainThread:15412 [wandb_init.py:init():727] communicating run to backend with 60.0 second timeout +2023-02-24 17:54:59,686 INFO MainThread:15412 [wandb_run.py:_on_init():2134] communicating current version +2023-02-24 17:54:59,752 INFO MainThread:15412 [wandb_run.py:_on_init():2143] got version response +2023-02-24 17:54:59,753 INFO MainThread:15412 [wandb_init.py:init():775] starting run threads in backend +2023-02-24 17:54:59,915 INFO MainThread:15412 [wandb_run.py:_console_start():2114] atexit reg +2023-02-24 17:54:59,915 INFO MainThread:15412 [wandb_run.py:_redirect():1969] redirect: SettingsConsole.WRAP_RAW +2023-02-24 17:54:59,915 INFO MainThread:15412 [wandb_run.py:_redirect():2034] Wrapping output streams. +2023-02-24 17:54:59,915 INFO MainThread:15412 [wandb_run.py:_redirect():2059] Redirects installed. +2023-02-24 17:54:59,916 INFO MainThread:15412 [wandb_init.py:init():817] run started, returning control to user process +2023-02-24 17:55:09,033 WARNING MsgRouterThr:15412 [router.py:message_loop():77] message_loop has been closed diff --git a/embeddings/wandb/run-20230224_175459-p4h8fzyu/run-p4h8fzyu.wandb b/embeddings/wandb/run-20230224_175459-p4h8fzyu/run-p4h8fzyu.wandb new file mode 100644 index 0000000000000000000000000000000000000000..f722c93d6faf65ea0864cd006f951588efc26aee Binary files /dev/null and b/embeddings/wandb/run-20230224_175459-p4h8fzyu/run-p4h8fzyu.wandb differ diff --git a/embeddings/wandb/run-20230226_093224-ehqe5vl7/files/config.yaml b/embeddings/wandb/run-20230226_093224-ehqe5vl7/files/config.yaml new file mode 100644 index 0000000000000000000000000000000000000000..d7e61e97e4235907f1bbcb5b0d4f53f176765f2c --- /dev/null +++ b/embeddings/wandb/run-20230226_093224-ehqe5vl7/files/config.yaml @@ -0,0 +1,39 @@ +wandb_version: 1 + +_wandb: + desc: null + value: + cli_version: 0.13.10 + framework: huggingface + huggingface_version: 4.24.0 + is_jupyter_run: false + is_kaggle_kernel: false + python_version: 3.8.1 + start_time: 1677403944.574508 + t: + 1: + - 1 + - 5 + - 11 + - 33 + - 49 + - 53 + - 55 + - 77 + 2: + - 1 + - 5 + - 11 + - 33 + - 49 + - 53 + - 55 + - 77 + 3: + - 23 + 4: 3.8.1 + 5: 0.13.10 + 6: 4.24.0 + 8: + - 3 + - 5 diff --git a/embeddings/wandb/run-20230226_093224-ehqe5vl7/files/output.log b/embeddings/wandb/run-20230226_093224-ehqe5vl7/files/output.log new file mode 100644 index 0000000000000000000000000000000000000000..0afe4ae5aaf3681cb3b8499029d13b0f5949764c --- /dev/null +++ b/embeddings/wandb/run-20230226_093224-ehqe5vl7/files/output.log @@ -0,0 +1,39 @@ + +INFO:heterogeneous-GAT-model:[1] Loss: 0.0003322700262069702 +INFO:heterogeneous-GAT-model:[6] Loss: 0.0012158751487731934 +INFO:heterogeneous-GAT-model:[11] Loss: 0.0012265268117189407 +INFO:heterogeneous-GAT-model:[16] Loss: 0.0012196238040924072 +INFO:heterogeneous-GAT-model:[21] Loss: 0.0011583716422319413 +INFO:heterogeneous-GAT-model:[26] Loss: 0.0010334079563617707 +INFO:heterogeneous-GAT-model:[31] Loss: 0.0009083672314882279 +INFO:heterogeneous-GAT-model:[36] Loss: 0.0011269666999578476 +INFO:heterogeneous-GAT-model:[41] Loss: 0.001064434990286827 +INFO:heterogeneous-GAT-model:[46] Loss: 0.0010646058320999145 +INFO:heterogeneous-GAT-model:[51] Loss: 0.001189259484410286 +INFO:heterogeneous-GAT-model:[56] Loss: 0.0011581224948167801 +INFO:heterogeneous-GAT-model:[61] Loss: 0.0014081674367189408 +INFO:heterogeneous-GAT-model:[66] Loss: 0.0012205281704664231 +INFO:heterogeneous-GAT-model:[71] Loss: 0.0010644963532686234 +INFO:heterogeneous-GAT-model:[76] Loss: 0.001126927450299263 +PRED tensor([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]) tensor([[1], + [1], + [0], + [1], + [1], + [0], + [1], + [1], + [1], + [1], + [1], + [0], + [1], + [1], + [1], + [1]]) +Traceback (most recent call last): + File "C:\Users\liamb\Documents\graph4stackoverflow\embeddings\hetero_GAT.py", line 210, in <module> + train_acc, train_f1, train_loss, train_table = test(train_loader) + File "C:\Users\liamb\Documents\graph4stackoverflow\embeddings\hetero_GAT.py", line 122, in test + table.add_data(wandb.Html(plotly.io.to_html(create_graph_vis(data))), data.label.item(), pred.item()) +ValueError: only one element tensors can be converted to Python scalars \ No newline at end of file diff --git a/embeddings/wandb/run-20230226_093224-ehqe5vl7/files/requirements.txt b/embeddings/wandb/run-20230226_093224-ehqe5vl7/files/requirements.txt new file mode 100644 index 0000000000000000000000000000000000000000..d7de821539624662109e252a91c4907a963ad5fb --- /dev/null +++ b/embeddings/wandb/run-20230226_093224-ehqe5vl7/files/requirements.txt @@ -0,0 +1,170 @@ +absl-py==1.3.0 +anyio==3.6.2 +appdirs==1.4.4 +argon2-cffi-bindings==21.2.0 +argon2-cffi==21.3.0 +asttokens==2.1.0 +astunparse==1.6.3 +attrs==22.1.0 +backcall==0.2.0 +beautifulsoup4==4.11.1 +bleach==5.0.1 +blis==0.7.9 +bs4==0.0.1 +cachetools==5.2.0 +catalogue==2.0.8 +certifi==2022.9.24 +cffi==1.15.1 +charset-normalizer==2.1.1 +click==8.1.3 +colorama==0.4.6 +confection==0.0.3 +contourpy==1.0.6 +cycler==0.11.0 +cymem==2.0.7 +debugpy==1.6.3 +decorator==5.1.1 +defusedxml==0.7.1 +dgl==0.9.1 +docker-pycreds==0.4.0 +en-core-web-sm==3.4.1 +entrypoints==0.4 +executing==1.2.0 +fastjsonschema==2.16.2 +filelock==3.8.0 +fonttools==4.38.0 +gitdb==4.0.10 +gitpython==3.1.31 +google-auth-oauthlib==0.4.6 +google-auth==2.14.0 +graph4nlp==0.5.5 +grpcio==1.50.0 +huggingface-hub==0.10.1 +idna==3.4 +importlib-metadata==5.0.0 +importlib-resources==5.10.0 +ipykernel==6.16.2 +ipython-genutils==0.2.0 +ipython==8.6.0 +ipywidgets==8.0.2 +jedi==0.18.1 +jinja2==3.1.2 +joblib==1.2.0 +jsonschema==4.16.0 +jupyter-client==7.4.4 +jupyter-console==6.4.4 +jupyter-core==4.11.2 +jupyter-server==1.21.0 +jupyter==1.0.0 +jupyterlab-pygments==0.2.2 +jupyterlab-widgets==3.0.3 +kiwisolver==1.4.4 +langcodes==3.3.0 +littleutils==0.2.2 +lxml==4.9.1 +markdown==3.4.1 +markupsafe==2.1.1 +matplotlib-inline==0.1.6 +matplotlib==3.6.2 +mistune==2.0.4 +murmurhash==1.0.9 +nbclassic==0.4.7 +nbclient==0.7.0 +nbconvert==7.2.3 +nbformat==5.7.0 +nest-asyncio==1.5.6 +networkx==2.8.8 +nltk==3.7 +notebook-shim==0.2.0 +notebook==6.5.2 +numpy==1.23.5 +oauthlib==3.2.2 +ogb==1.3.5 +outdated==0.2.2 +packaging==21.3 +pandas==1.5.1 +pandocfilters==1.5.0 +parso==0.8.3 +pathtools==0.1.2 +pathy==0.6.2 +pickleshare==0.7.5 +pillow==9.3.0 +pip==21.3.1 +pkgutil-resolve-name==1.3.10 +plotly==5.13.0 +preshed==3.0.8 +prometheus-client==0.15.0 +prompt-toolkit==3.0.31 +protobuf==3.19.6 +psutil==5.9.3 +pure-eval==0.2.2 +pyasn1-modules==0.2.8 +pyasn1==0.4.8 +pycparser==2.21 +pydantic==1.10.2 +pygments==2.13.0 +pyparsing==3.0.9 +pyrsistent==0.18.1 +python-dateutil==2.8.2 +pythonds==1.2.1 +pytz==2022.5 +pywin32==304 +pywinpty==2.0.9 +pyyaml==6.0 +pyzmq==24.0.1 +qtconsole==5.3.2 +qtpy==2.2.1 +regex==2022.10.31 +requests-oauthlib==1.3.1 +requests==2.28.1 +rsa==4.9 +scikit-learn==1.1.3 +scipy==1.9.3 +send2trash==1.8.0 +sentry-sdk==1.15.0 +setproctitle==1.3.2 +setuptools==60.2.0 +six==1.16.0 +smart-open==5.2.1 +smmap==5.0.0 +sniffio==1.3.0 +soupsieve==2.3.2.post1 +spacy-legacy==3.0.10 +spacy-loggers==1.0.3 +spacy==3.4.2 +srsly==2.4.5 +stack-data==0.6.0 +stanfordcorenlp==3.9.1.1 +tenacity==8.2.1 +tensorboard-data-server==0.6.1 +tensorboard-plugin-wit==1.8.1 +tensorboard==2.10.1 +terminado==0.17.0 +thinc==8.1.5 +threadpoolctl==3.1.0 +tinycss2==1.2.1 +tokenizers==0.13.2 +torch-cluster==1.6.0+pt113cpu +torch-geometric==2.2.0 +torch-scatter==2.1.0+pt113cpu +torch-sparse==0.6.16+pt113cpu +torch-spline-conv==1.2.1+pt113cpu +torch==1.13.0 +torchsummary==1.5.1 +torchtext==0.14.0 +tornado==6.2 +tqdm==4.64.1 +traitlets==5.5.0 +transformers==4.24.0 +typer==0.4.2 +typing-extensions==4.4.0 +urllib3==1.26.12 +wandb==0.13.10 +wasabi==0.10.1 +wcwidth==0.2.5 +webencodings==0.5.1 +websocket-client==1.4.1 +werkzeug==2.2.2 +wheel==0.37.1 +widgetsnbextension==4.0.3 +zipp==3.10.0 \ No newline at end of file diff --git a/embeddings/wandb/run-20230226_093224-ehqe5vl7/files/wandb-metadata.json b/embeddings/wandb/run-20230226_093224-ehqe5vl7/files/wandb-metadata.json new file mode 100644 index 0000000000000000000000000000000000000000..e91e4751f4e38b7641c0d99ca796f1d313e0d2dc --- /dev/null +++ b/embeddings/wandb/run-20230226_093224-ehqe5vl7/files/wandb-metadata.json @@ -0,0 +1,42 @@ +{ + "os": "Windows-10-10.0.19041-SP0", + "python": "3.8.1", + "heartbeatAt": "2023-02-26T09:32:25.191886", + "startedAt": "2023-02-26T09:32:24.559513", + "docker": null, + "cuda": null, + "args": [], + "state": "running", + "program": "C:\\Users\\liamb\\Documents\\graph4stackoverflow\\embeddings\\hetero_GAT.py", + "codePath": "embeddings\\hetero_GAT.py", + "git": { + "remote": "https://git.soton.ac.uk/lhb1g20/graph4stackoverflow.git", + "commit": "ced992d661984f7b87d1a3e76768e4ff7af78245" + }, + "email": "liambyrneh@gmail.com", + "root": "C:/Users/liamb/Documents/graph4stackoverflow", + "host": "DESKTOP-P7BETFF", + "username": "liamb", + "executable": "C:\\Users\\liamb\\Documents\\graph4stackoverflow\\venv\\Scripts\\python.exe", + "cpu_count": 2, + "cpu_count_logical": 4, + "cpu_freq": { + "current": 3504.0, + "min": 0.0, + "max": 3504.0 + }, + "cpu_freq_per_core": [ + { + "current": 3504.0, + "min": 0.0, + "max": 3504.0 + } + ], + "disk": { + "total": 475.71581649780273, + "used": 367.52984619140625 + }, + "memory": { + "total": 31.89160919189453 + } +} diff --git a/embeddings/wandb/run-20230226_093224-ehqe5vl7/files/wandb-summary.json b/embeddings/wandb/run-20230226_093224-ehqe5vl7/files/wandb-summary.json new file mode 100644 index 0000000000000000000000000000000000000000..24158601fec840e0f3d3b222a9748c490d4223fc --- /dev/null +++ b/embeddings/wandb/run-20230226_093224-ehqe5vl7/files/wandb-summary.json @@ -0,0 +1 @@ +{"_wandb": {"runtime": 45}} \ No newline at end of file diff --git a/embeddings/wandb/run-20230226_093224-ehqe5vl7/logs/debug-internal.log b/embeddings/wandb/run-20230226_093224-ehqe5vl7/logs/debug-internal.log new file mode 100644 index 0000000000000000000000000000000000000000..b655c32b44ba0794df05e43914ea0e44edde3b87 --- /dev/null +++ b/embeddings/wandb/run-20230226_093224-ehqe5vl7/logs/debug-internal.log @@ -0,0 +1,199 @@ +2023-02-26 09:32:24,573 INFO StreamThr :14076 [internal.py:wandb_internal():87] W&B internal server running at pid: 14076, started at: 2023-02-26 09:32:24.573514 +2023-02-26 09:32:24,575 DEBUG HandlerThread:14076 [handler.py:handle_request():144] handle_request: status +2023-02-26 09:32:24,576 INFO WriterThread:14076 [datastore.py:open_for_write():85] open: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_093224-ehqe5vl7\run-ehqe5vl7.wandb +2023-02-26 09:32:24,581 DEBUG SenderThread:14076 [sender.py:send():336] send: header +2023-02-26 09:32:24,628 DEBUG SenderThread:14076 [sender.py:send():336] send: run +2023-02-26 09:32:25,058 INFO SenderThread:14076 [dir_watcher.py:__init__():216] watching files in: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_093224-ehqe5vl7\files +2023-02-26 09:32:25,058 INFO SenderThread:14076 [sender.py:_start_run_threads():1067] run started: ehqe5vl7 with start time 1677403944.574508 +2023-02-26 09:32:25,058 DEBUG SenderThread:14076 [sender.py:send_request():363] send_request: summary_record +2023-02-26 09:32:25,058 DEBUG HandlerThread:14076 [handler.py:handle_request():144] handle_request: check_version +2023-02-26 09:32:25,059 INFO SenderThread:14076 [sender.py:_save_file():1321] saving file wandb-summary.json with policy end +2023-02-26 09:32:25,059 DEBUG SenderThread:14076 [sender.py:send_request():363] send_request: check_version +2023-02-26 09:32:25,169 DEBUG HandlerThread:14076 [handler.py:handle_request():144] handle_request: run_start +2023-02-26 09:32:25,187 DEBUG HandlerThread:14076 [system_info.py:__init__():31] System info init +2023-02-26 09:32:25,187 DEBUG HandlerThread:14076 [system_info.py:__init__():46] System info init done +2023-02-26 09:32:25,187 INFO HandlerThread:14076 [system_monitor.py:start():151] Starting system monitor +2023-02-26 09:32:25,188 INFO SystemMonitor:14076 [system_monitor.py:_start():116] Starting system asset monitoring threads +2023-02-26 09:32:25,188 INFO HandlerThread:14076 [system_monitor.py:probe():172] Collecting system info +2023-02-26 09:32:25,191 INFO SystemMonitor:14076 [interfaces.py:start():168] Started cpu +2023-02-26 09:32:25,191 DEBUG HandlerThread:14076 [system_info.py:probe():195] Probing system +2023-02-26 09:32:25,191 INFO SystemMonitor:14076 [interfaces.py:start():168] Started disk +2023-02-26 09:32:25,192 INFO SystemMonitor:14076 [interfaces.py:start():168] Started memory +2023-02-26 09:32:25,193 INFO SystemMonitor:14076 [interfaces.py:start():168] Started network +2023-02-26 09:32:25,209 DEBUG HandlerThread:14076 [system_info.py:_probe_git():180] Probing git +2023-02-26 09:32:25,319 DEBUG HandlerThread:14076 [system_info.py:_probe_git():188] Probing git done +2023-02-26 09:32:25,319 DEBUG HandlerThread:14076 [system_info.py:probe():241] Probing system done +2023-02-26 09:32:25,320 DEBUG HandlerThread:14076 [system_monitor.py:probe():181] {'os': 'Windows-10-10.0.19041-SP0', 'python': '3.8.1', 'heartbeatAt': '2023-02-26T09:32:25.191886', 'startedAt': '2023-02-26T09:32:24.559513', 'docker': None, 'cuda': None, 'args': (), 'state': 'running', 'program': 'C:\\Users\\liamb\\Documents\\graph4stackoverflow\\embeddings\\hetero_GAT.py', 'codePath': 'embeddings\\hetero_GAT.py', 'git': {'remote': 'https://git.soton.ac.uk/lhb1g20/graph4stackoverflow.git', 'commit': 'ced992d661984f7b87d1a3e76768e4ff7af78245'}, 'email': 'liambyrneh@gmail.com', 'root': 'C:/Users/liamb/Documents/graph4stackoverflow', 'host': 'DESKTOP-P7BETFF', 'username': 'liamb', 'executable': 'C:\\Users\\liamb\\Documents\\graph4stackoverflow\\venv\\Scripts\\python.exe', 'cpu_count': 2, 'cpu_count_logical': 4, 'cpu_freq': {'current': 3504.0, 'min': 0.0, 'max': 3504.0}, 'cpu_freq_per_core': [{'current': 3504.0, 'min': 0.0, 'max': 3504.0}], 'disk': {'total': 475.71581649780273, 'used': 367.52984619140625}, 'memory': {'total': 31.89160919189453}} +2023-02-26 09:32:25,320 INFO HandlerThread:14076 [system_monitor.py:probe():182] Finished collecting system info +2023-02-26 09:32:25,320 INFO HandlerThread:14076 [system_monitor.py:probe():185] Publishing system info +2023-02-26 09:32:25,320 DEBUG HandlerThread:14076 [system_info.py:_save_pip():51] Saving list of pip packages installed into the current environment +2023-02-26 09:32:25,321 DEBUG HandlerThread:14076 [system_info.py:_save_pip():67] Saving pip packages done +2023-02-26 09:32:25,323 INFO HandlerThread:14076 [system_monitor.py:probe():187] Finished publishing system info +2023-02-26 09:32:25,351 DEBUG SenderThread:14076 [sender.py:send():336] send: files +2023-02-26 09:32:25,351 INFO SenderThread:14076 [sender.py:_save_file():1321] saving file wandb-metadata.json with policy now +2023-02-26 09:32:25,362 DEBUG HandlerThread:14076 [handler.py:handle_request():144] handle_request: stop_status +2023-02-26 09:32:25,362 DEBUG SenderThread:14076 [sender.py:send_request():363] send_request: stop_status +2023-02-26 09:32:25,544 DEBUG SenderThread:14076 [sender.py:send():336] send: telemetry +2023-02-26 09:32:26,007 INFO wandb-upload_0:14076 [upload_job.py:push():138] Uploaded file C:\Users\liamb\AppData\Local\Temp\tmpraya0yzmwandb\lbdpgfs7-wandb-metadata.json +2023-02-26 09:32:26,068 INFO Thread-17 :14076 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_093224-ehqe5vl7\files\wandb-summary.json +2023-02-26 09:32:26,068 INFO Thread-17 :14076 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_093224-ehqe5vl7\files\requirements.txt +2023-02-26 09:32:26,068 INFO Thread-17 :14076 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_093224-ehqe5vl7\files\wandb-metadata.json +2023-02-26 09:32:27,228 DEBUG SenderThread:14076 [sender.py:send():336] send: use_artifact +2023-02-26 09:32:30,270 DEBUG HandlerThread:14076 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 09:32:35,334 DEBUG HandlerThread:14076 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 09:32:40,339 DEBUG HandlerThread:14076 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 09:32:40,370 DEBUG HandlerThread:14076 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 09:32:40,370 DEBUG HandlerThread:14076 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 09:32:43,144 INFO Thread-17 :14076 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_093224-ehqe5vl7\files\output.log +2023-02-26 09:32:45,160 INFO Thread-17 :14076 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_093224-ehqe5vl7\files\output.log +2023-02-26 09:32:45,362 DEBUG HandlerThread:14076 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 09:32:45,408 DEBUG HandlerThread:14076 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 09:32:47,164 INFO Thread-17 :14076 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_093224-ehqe5vl7\files\output.log +2023-02-26 09:32:49,170 INFO Thread-17 :14076 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_093224-ehqe5vl7\files\output.log +2023-02-26 09:32:50,435 DEBUG HandlerThread:14076 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 09:32:50,545 DEBUG HandlerThread:14076 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 09:32:51,173 INFO Thread-17 :14076 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_093224-ehqe5vl7\files\output.log +2023-02-26 09:32:53,175 INFO Thread-17 :14076 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_093224-ehqe5vl7\files\output.log +2023-02-26 09:32:55,179 INFO Thread-17 :14076 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_093224-ehqe5vl7\files\output.log +2023-02-26 09:32:55,445 DEBUG HandlerThread:14076 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 09:32:55,968 DEBUG HandlerThread:14076 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 09:32:57,182 INFO Thread-17 :14076 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_093224-ehqe5vl7\files\config.yaml +2023-02-26 09:32:57,182 INFO Thread-17 :14076 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_093224-ehqe5vl7\files\output.log +2023-02-26 09:32:59,198 INFO Thread-17 :14076 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_093224-ehqe5vl7\files\output.log +2023-02-26 09:33:00,467 DEBUG HandlerThread:14076 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 09:33:01,202 INFO Thread-17 :14076 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_093224-ehqe5vl7\files\output.log +2023-02-26 09:33:01,919 DEBUG HandlerThread:14076 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 09:33:03,230 INFO Thread-17 :14076 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_093224-ehqe5vl7\files\output.log +2023-02-26 09:33:05,233 INFO Thread-17 :14076 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_093224-ehqe5vl7\files\output.log +2023-02-26 09:33:05,527 DEBUG HandlerThread:14076 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 09:33:07,249 INFO Thread-17 :14076 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_093224-ehqe5vl7\files\output.log +2023-02-26 09:33:07,513 DEBUG HandlerThread:14076 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 09:33:09,261 INFO Thread-17 :14076 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_093224-ehqe5vl7\files\output.log +2023-02-26 09:33:10,376 DEBUG SenderThread:14076 [sender.py:send():336] send: exit +2023-02-26 09:33:10,377 INFO SenderThread:14076 [sender.py:send_exit():559] handling exit code: 1 +2023-02-26 09:33:10,377 INFO SenderThread:14076 [sender.py:send_exit():561] handling runtime: 45 +2023-02-26 09:33:10,379 INFO SenderThread:14076 [sender.py:_save_file():1321] saving file wandb-summary.json with policy end +2023-02-26 09:33:10,379 INFO SenderThread:14076 [sender.py:send_exit():567] send defer +2023-02-26 09:33:10,380 DEBUG HandlerThread:14076 [handler.py:handle_request():144] handle_request: defer +2023-02-26 09:33:10,380 INFO HandlerThread:14076 [handler.py:handle_request_defer():170] handle defer: 0 +2023-02-26 09:33:10,380 DEBUG SenderThread:14076 [sender.py:send_request():363] send_request: defer +2023-02-26 09:33:10,380 INFO SenderThread:14076 [sender.py:send_request_defer():583] handle sender defer: 0 +2023-02-26 09:33:10,380 INFO SenderThread:14076 [sender.py:transition_state():587] send defer: 1 +2023-02-26 09:33:10,381 DEBUG HandlerThread:14076 [handler.py:handle_request():144] handle_request: defer +2023-02-26 09:33:10,381 INFO HandlerThread:14076 [handler.py:handle_request_defer():170] handle defer: 1 +2023-02-26 09:33:10,381 DEBUG SenderThread:14076 [sender.py:send_request():363] send_request: defer +2023-02-26 09:33:10,381 INFO SenderThread:14076 [sender.py:send_request_defer():583] handle sender defer: 1 +2023-02-26 09:33:10,381 INFO SenderThread:14076 [sender.py:transition_state():587] send defer: 2 +2023-02-26 09:33:10,381 DEBUG HandlerThread:14076 [handler.py:handle_request():144] handle_request: defer +2023-02-26 09:33:10,381 INFO HandlerThread:14076 [handler.py:handle_request_defer():170] handle defer: 2 +2023-02-26 09:33:10,382 INFO HandlerThread:14076 [system_monitor.py:finish():161] Stopping system monitor +2023-02-26 09:33:10,382 DEBUG SystemMonitor:14076 [system_monitor.py:_start():130] Starting system metrics aggregation loop +2023-02-26 09:33:10,382 DEBUG SystemMonitor:14076 [system_monitor.py:_start():137] Finished system metrics aggregation loop +2023-02-26 09:33:10,383 INFO HandlerThread:14076 [interfaces.py:finish():175] Joined cpu +2023-02-26 09:33:10,383 DEBUG SystemMonitor:14076 [system_monitor.py:_start():141] Publishing last batch of metrics +2023-02-26 09:33:10,383 INFO HandlerThread:14076 [interfaces.py:finish():175] Joined disk +2023-02-26 09:33:10,383 INFO HandlerThread:14076 [interfaces.py:finish():175] Joined memory +2023-02-26 09:33:10,383 INFO HandlerThread:14076 [interfaces.py:finish():175] Joined network +2023-02-26 09:33:10,384 DEBUG SenderThread:14076 [sender.py:send_request():363] send_request: defer +2023-02-26 09:33:10,384 INFO SenderThread:14076 [sender.py:send_request_defer():583] handle sender defer: 2 +2023-02-26 09:33:10,384 INFO SenderThread:14076 [sender.py:transition_state():587] send defer: 3 +2023-02-26 09:33:10,384 DEBUG SenderThread:14076 [sender.py:send():336] send: stats +2023-02-26 09:33:10,384 DEBUG HandlerThread:14076 [handler.py:handle_request():144] handle_request: defer +2023-02-26 09:33:10,385 INFO HandlerThread:14076 [handler.py:handle_request_defer():170] handle defer: 3 +2023-02-26 09:33:10,385 DEBUG SenderThread:14076 [sender.py:send_request():363] send_request: defer +2023-02-26 09:33:10,385 INFO SenderThread:14076 [sender.py:send_request_defer():583] handle sender defer: 3 +2023-02-26 09:33:10,385 INFO SenderThread:14076 [sender.py:transition_state():587] send defer: 4 +2023-02-26 09:33:10,385 DEBUG HandlerThread:14076 [handler.py:handle_request():144] handle_request: defer +2023-02-26 09:33:10,385 INFO HandlerThread:14076 [handler.py:handle_request_defer():170] handle defer: 4 +2023-02-26 09:33:10,386 DEBUG SenderThread:14076 [sender.py:send_request():363] send_request: defer +2023-02-26 09:33:10,386 INFO SenderThread:14076 [sender.py:send_request_defer():583] handle sender defer: 4 +2023-02-26 09:33:10,386 INFO SenderThread:14076 [sender.py:transition_state():587] send defer: 5 +2023-02-26 09:33:10,386 DEBUG HandlerThread:14076 [handler.py:handle_request():144] handle_request: defer +2023-02-26 09:33:10,386 INFO HandlerThread:14076 [handler.py:handle_request_defer():170] handle defer: 5 +2023-02-26 09:33:10,386 DEBUG SenderThread:14076 [sender.py:send():336] send: summary +2023-02-26 09:33:10,387 INFO SenderThread:14076 [sender.py:_save_file():1321] saving file wandb-summary.json with policy end +2023-02-26 09:33:10,387 DEBUG SenderThread:14076 [sender.py:send_request():363] send_request: defer +2023-02-26 09:33:10,387 INFO SenderThread:14076 [sender.py:send_request_defer():583] handle sender defer: 5 +2023-02-26 09:33:10,387 INFO SenderThread:14076 [sender.py:transition_state():587] send defer: 6 +2023-02-26 09:33:10,387 DEBUG HandlerThread:14076 [handler.py:handle_request():144] handle_request: defer +2023-02-26 09:33:10,387 INFO HandlerThread:14076 [handler.py:handle_request_defer():170] handle defer: 6 +2023-02-26 09:33:10,388 DEBUG SenderThread:14076 [sender.py:send_request():363] send_request: defer +2023-02-26 09:33:10,388 INFO SenderThread:14076 [sender.py:send_request_defer():583] handle sender defer: 6 +2023-02-26 09:33:10,388 INFO SenderThread:14076 [sender.py:transition_state():587] send defer: 7 +2023-02-26 09:33:10,388 DEBUG HandlerThread:14076 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 09:33:10,388 DEBUG HandlerThread:14076 [handler.py:handle_request():144] handle_request: defer +2023-02-26 09:33:10,388 INFO HandlerThread:14076 [handler.py:handle_request_defer():170] handle defer: 7 +2023-02-26 09:33:10,389 DEBUG SenderThread:14076 [sender.py:send_request():363] send_request: defer +2023-02-26 09:33:10,389 INFO SenderThread:14076 [sender.py:send_request_defer():583] handle sender defer: 7 +2023-02-26 09:33:11,271 INFO Thread-17 :14076 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_093224-ehqe5vl7\files\wandb-summary.json +2023-02-26 09:33:11,271 INFO Thread-17 :14076 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_093224-ehqe5vl7\files\output.log +2023-02-26 09:33:11,381 DEBUG HandlerThread:14076 [handler.py:handle_request():144] handle_request: poll_exit +2023-02-26 09:33:12,539 INFO SenderThread:14076 [sender.py:transition_state():587] send defer: 8 +2023-02-26 09:33:12,539 DEBUG SenderThread:14076 [sender.py:send_request():363] send_request: poll_exit +2023-02-26 09:33:12,539 DEBUG HandlerThread:14076 [handler.py:handle_request():144] handle_request: defer +2023-02-26 09:33:12,540 INFO HandlerThread:14076 [handler.py:handle_request_defer():170] handle defer: 8 +2023-02-26 09:33:12,540 DEBUG SenderThread:14076 [sender.py:send_request():363] send_request: defer +2023-02-26 09:33:12,540 INFO SenderThread:14076 [sender.py:send_request_defer():583] handle sender defer: 8 +2023-02-26 09:33:12,558 INFO SenderThread:14076 [sender.py:transition_state():587] send defer: 9 +2023-02-26 09:33:12,558 DEBUG HandlerThread:14076 [handler.py:handle_request():144] handle_request: defer +2023-02-26 09:33:12,558 DEBUG SenderThread:14076 [sender.py:send():336] send: artifact +2023-02-26 09:33:12,559 INFO HandlerThread:14076 [handler.py:handle_request_defer():170] handle defer: 9 +2023-02-26 09:33:13,286 INFO Thread-17 :14076 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_093224-ehqe5vl7\files\output.log +2023-02-26 09:33:13,659 INFO SenderThread:14076 [sender.py:send_artifact():1417] sent artifact job-https___git.soton.ac.uk_lhb1g20_graph4stackoverflow.git_embeddings_hetero_GAT.py - {'id': 'QXJ0aWZhY3Q6MzgwMzY3ODUz', 'digest': 'dbe34f6e8b990dacc5d7c5e1ab1d02a4', 'state': 'COMMITTED', 'aliases': [{'artifactCollectionName': 'job-https___git.soton.ac.uk_lhb1g20_graph4stackoverflow.git_embeddings_hetero_GAT.py', 'alias': 'latest'}, {'artifactCollectionName': 'job-https___git.soton.ac.uk_lhb1g20_graph4stackoverflow.git_embeddings_hetero_GAT.py', 'alias': 'v0'}], 'artifactSequence': {'id': 'QXJ0aWZhY3RDb2xsZWN0aW9uOjU0NTg3MzU0', 'latestArtifact': {'id': 'QXJ0aWZhY3Q6MzgwMzk2OTM0', 'versionIndex': 2}}, 'version': 'v0'} +2023-02-26 09:33:13,659 DEBUG SenderThread:14076 [sender.py:send_request():363] send_request: defer +2023-02-26 09:33:13,659 INFO SenderThread:14076 [sender.py:send_request_defer():583] handle sender defer: 9 +2023-02-26 09:33:13,659 INFO SenderThread:14076 [dir_watcher.py:finish():362] shutting down directory watcher +2023-02-26 09:33:14,303 INFO SenderThread:14076 [dir_watcher.py:finish():392] scan: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_093224-ehqe5vl7\files +2023-02-26 09:33:14,304 INFO SenderThread:14076 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_093224-ehqe5vl7\files\config.yaml config.yaml +2023-02-26 09:33:14,304 INFO SenderThread:14076 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_093224-ehqe5vl7\files\output.log output.log +2023-02-26 09:33:14,307 INFO SenderThread:14076 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_093224-ehqe5vl7\files\requirements.txt requirements.txt +2023-02-26 09:33:14,308 INFO SenderThread:14076 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_093224-ehqe5vl7\files\wandb-metadata.json wandb-metadata.json +2023-02-26 09:33:14,310 INFO SenderThread:14076 [dir_watcher.py:finish():406] scan save: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_093224-ehqe5vl7\files\wandb-summary.json wandb-summary.json +2023-02-26 09:33:14,313 INFO SenderThread:14076 [sender.py:transition_state():587] send defer: 10 +2023-02-26 09:33:14,314 DEBUG HandlerThread:14076 [handler.py:handle_request():144] handle_request: defer +2023-02-26 09:33:14,314 INFO HandlerThread:14076 [handler.py:handle_request_defer():170] handle defer: 10 +2023-02-26 09:33:14,315 DEBUG SenderThread:14076 [sender.py:send_request():363] send_request: defer +2023-02-26 09:33:14,319 INFO SenderThread:14076 [sender.py:send_request_defer():583] handle sender defer: 10 +2023-02-26 09:33:14,319 INFO SenderThread:14076 [file_pusher.py:finish():162] shutting down file pusher +2023-02-26 09:33:15,009 INFO wandb-upload_0:14076 [upload_job.py:push():138] Uploaded file C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_093224-ehqe5vl7\files\config.yaml +2023-02-26 09:33:15,302 INFO wandb-upload_2:14076 [upload_job.py:push():138] Uploaded file C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_093224-ehqe5vl7\files\requirements.txt +2023-02-26 09:33:15,349 INFO wandb-upload_1:14076 [upload_job.py:push():138] Uploaded file C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_093224-ehqe5vl7\files\output.log +2023-02-26 09:33:15,559 INFO wandb-upload_3:14076 [upload_job.py:push():138] Uploaded file C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_093224-ehqe5vl7\files\wandb-summary.json +2023-02-26 09:33:15,772 INFO Thread-16 :14076 [sender.py:transition_state():587] send defer: 11 +2023-02-26 09:33:15,772 DEBUG HandlerThread:14076 [handler.py:handle_request():144] handle_request: defer +2023-02-26 09:33:15,772 INFO HandlerThread:14076 [handler.py:handle_request_defer():170] handle defer: 11 +2023-02-26 09:33:15,772 DEBUG SenderThread:14076 [sender.py:send_request():363] send_request: defer +2023-02-26 09:33:15,773 INFO SenderThread:14076 [sender.py:send_request_defer():583] handle sender defer: 11 +2023-02-26 09:33:15,773 INFO SenderThread:14076 [file_pusher.py:join():167] waiting for file pusher +2023-02-26 09:33:15,773 INFO SenderThread:14076 [sender.py:transition_state():587] send defer: 12 +2023-02-26 09:33:15,773 DEBUG HandlerThread:14076 [handler.py:handle_request():144] handle_request: defer +2023-02-26 09:33:15,773 INFO HandlerThread:14076 [handler.py:handle_request_defer():170] handle defer: 12 +2023-02-26 09:33:15,774 DEBUG SenderThread:14076 [sender.py:send_request():363] send_request: defer +2023-02-26 09:33:15,774 INFO SenderThread:14076 [sender.py:send_request_defer():583] handle sender defer: 12 +2023-02-26 09:33:15,985 INFO SenderThread:14076 [sender.py:transition_state():587] send defer: 13 +2023-02-26 09:33:15,985 DEBUG HandlerThread:14076 [handler.py:handle_request():144] handle_request: defer +2023-02-26 09:33:15,985 INFO HandlerThread:14076 [handler.py:handle_request_defer():170] handle defer: 13 +2023-02-26 09:33:15,985 DEBUG SenderThread:14076 [sender.py:send_request():363] send_request: defer +2023-02-26 09:33:15,985 INFO SenderThread:14076 [sender.py:send_request_defer():583] handle sender defer: 13 +2023-02-26 09:33:15,985 INFO SenderThread:14076 [sender.py:transition_state():587] send defer: 14 +2023-02-26 09:33:15,986 DEBUG HandlerThread:14076 [handler.py:handle_request():144] handle_request: defer +2023-02-26 09:33:15,986 DEBUG SenderThread:14076 [sender.py:send():336] send: final +2023-02-26 09:33:15,986 INFO HandlerThread:14076 [handler.py:handle_request_defer():170] handle defer: 14 +2023-02-26 09:33:15,986 DEBUG SenderThread:14076 [sender.py:send():336] send: footer +2023-02-26 09:33:15,986 DEBUG SenderThread:14076 [sender.py:send_request():363] send_request: defer +2023-02-26 09:33:15,986 INFO SenderThread:14076 [sender.py:send_request_defer():583] handle sender defer: 14 +2023-02-26 09:33:15,987 DEBUG HandlerThread:14076 [handler.py:handle_request():144] handle_request: poll_exit +2023-02-26 09:33:15,987 DEBUG HandlerThread:14076 [handler.py:handle_request():144] handle_request: server_info +2023-02-26 09:33:15,987 DEBUG HandlerThread:14076 [handler.py:handle_request():144] handle_request: get_summary +2023-02-26 09:33:15,987 DEBUG SenderThread:14076 [sender.py:send_request():363] send_request: poll_exit +2023-02-26 09:33:15,988 DEBUG HandlerThread:14076 [handler.py:handle_request():144] handle_request: sampled_history +2023-02-26 09:33:15,988 DEBUG SenderThread:14076 [sender.py:send_request():363] send_request: server_info +2023-02-26 09:33:16,593 INFO MainThread:14076 [wandb_run.py:_footer_history_summary_info():3442] rendering history +2023-02-26 09:33:16,593 INFO MainThread:14076 [wandb_run.py:_footer_history_summary_info():3474] rendering summary +2023-02-26 09:33:16,593 INFO MainThread:14076 [wandb_run.py:_footer_sync_info():3398] logging synced files +2023-02-26 09:33:16,594 DEBUG HandlerThread:14076 [handler.py:handle_request():144] handle_request: shutdown +2023-02-26 09:33:16,594 INFO HandlerThread:14076 [handler.py:finish():841] shutting down handler +2023-02-26 09:33:16,993 INFO WriterThread:14076 [datastore.py:close():299] close: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_093224-ehqe5vl7\run-ehqe5vl7.wandb +2023-02-26 09:33:17,606 INFO SenderThread:14076 [sender.py:finish():1493] shutting down sender +2023-02-26 09:33:17,606 INFO SenderThread:14076 [file_pusher.py:finish():162] shutting down file pusher +2023-02-26 09:33:17,606 INFO SenderThread:14076 [file_pusher.py:join():167] waiting for file pusher diff --git a/embeddings/wandb/run-20230226_093224-ehqe5vl7/logs/debug.log b/embeddings/wandb/run-20230226_093224-ehqe5vl7/logs/debug.log new file mode 100644 index 0000000000000000000000000000000000000000..21873b1ae619ecf5423e860fc6d7424c63f05e79 --- /dev/null +++ b/embeddings/wandb/run-20230226_093224-ehqe5vl7/logs/debug.log @@ -0,0 +1,25 @@ +2023-02-26 09:32:24,562 INFO MainThread:10428 [wandb_setup.py:_flush():68] Configure stats pid to 10428 +2023-02-26 09:32:24,563 INFO MainThread:10428 [wandb_setup.py:_flush():68] Loading settings from C:\Users\liamb\.config\wandb\settings +2023-02-26 09:32:24,563 INFO MainThread:10428 [wandb_setup.py:_flush():68] Loading settings from C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\settings +2023-02-26 09:32:24,563 INFO MainThread:10428 [wandb_setup.py:_flush():68] Loading settings from environment variables: {'_require_service': 'True'} +2023-02-26 09:32:24,563 INFO MainThread:10428 [wandb_setup.py:_flush():68] Inferring run settings from compute environment: {'program_relpath': 'embeddings\\hetero_GAT.py', 'program': 'C:\\Users\\liamb\\Documents\\graph4stackoverflow\\embeddings\\hetero_GAT.py'} +2023-02-26 09:32:24,563 INFO MainThread:10428 [wandb_init.py:_log_setup():492] Logging user logs to C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_093224-ehqe5vl7\logs\debug.log +2023-02-26 09:32:24,564 INFO MainThread:10428 [wandb_init.py:_log_setup():493] Logging internal logs to C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_093224-ehqe5vl7\logs\debug-internal.log +2023-02-26 09:32:24,564 INFO MainThread:10428 [wandb_init.py:init():532] calling init triggers +2023-02-26 09:32:24,564 INFO MainThread:10428 [wandb_init.py:init():538] wandb.init called with sweep_config: {} +config: {} +2023-02-26 09:32:24,564 INFO MainThread:10428 [wandb_init.py:init():588] starting backend +2023-02-26 09:32:24,564 INFO MainThread:10428 [wandb_init.py:init():592] setting up manager +2023-02-26 09:32:24,568 INFO MainThread:10428 [backend.py:_multiprocessing_setup():106] multiprocessing start_methods=spawn, using: spawn +2023-02-26 09:32:24,573 INFO MainThread:10428 [wandb_init.py:init():599] backend started and connected +2023-02-26 09:32:24,576 INFO MainThread:10428 [wandb_init.py:init():687] updated telemetry +2023-02-26 09:32:24,628 INFO MainThread:10428 [wandb_init.py:init():727] communicating run to backend with 60.0 second timeout +2023-02-26 09:32:25,058 INFO MainThread:10428 [wandb_run.py:_on_init():2134] communicating current version +2023-02-26 09:32:25,161 INFO MainThread:10428 [wandb_run.py:_on_init():2143] got version response +2023-02-26 09:32:25,161 INFO MainThread:10428 [wandb_init.py:init():775] starting run threads in backend +2023-02-26 09:32:25,362 INFO MainThread:10428 [wandb_run.py:_console_start():2114] atexit reg +2023-02-26 09:32:25,362 INFO MainThread:10428 [wandb_run.py:_redirect():1969] redirect: SettingsConsole.WRAP_RAW +2023-02-26 09:32:25,363 INFO MainThread:10428 [wandb_run.py:_redirect():2034] Wrapping output streams. +2023-02-26 09:32:25,363 INFO MainThread:10428 [wandb_run.py:_redirect():2059] Redirects installed. +2023-02-26 09:32:25,364 INFO MainThread:10428 [wandb_init.py:init():817] run started, returning control to user process +2023-02-26 09:33:17,698 WARNING MsgRouterThr:10428 [router.py:message_loop():77] message_loop has been closed diff --git a/embeddings/wandb/run-20230226_093224-ehqe5vl7/run-ehqe5vl7.wandb b/embeddings/wandb/run-20230226_093224-ehqe5vl7/run-ehqe5vl7.wandb new file mode 100644 index 0000000000000000000000000000000000000000..9ea45a9c5e8013800e5c68126afa93bf585697ec Binary files /dev/null and b/embeddings/wandb/run-20230226_093224-ehqe5vl7/run-ehqe5vl7.wandb differ diff --git a/embeddings/wandb/run-20230226_100155-18km5yss/files/config.yaml b/embeddings/wandb/run-20230226_100155-18km5yss/files/config.yaml new file mode 100644 index 0000000000000000000000000000000000000000..bf9e9b1d482ca707b40a07f875f1feec7b1d02e5 --- /dev/null +++ b/embeddings/wandb/run-20230226_100155-18km5yss/files/config.yaml @@ -0,0 +1,39 @@ +wandb_version: 1 + +_wandb: + desc: null + value: + cli_version: 0.13.10 + framework: huggingface + huggingface_version: 4.24.0 + is_jupyter_run: false + is_kaggle_kernel: false + python_version: 3.8.1 + start_time: 1677405715.858402 + t: + 1: + - 1 + - 5 + - 11 + - 33 + - 49 + - 53 + - 55 + - 77 + 2: + - 1 + - 5 + - 11 + - 33 + - 49 + - 53 + - 55 + - 77 + 3: + - 23 + 4: 3.8.1 + 5: 0.13.10 + 6: 4.24.0 + 8: + - 3 + - 5 diff --git a/embeddings/wandb/run-20230226_100155-18km5yss/files/media/table/test/table_0_e2cad4daaf2fa5eb0f6d.table.json b/embeddings/wandb/run-20230226_100155-18km5yss/files/media/table/test/table_0_e2cad4daaf2fa5eb0f6d.table.json new file mode 100644 index 0000000000000000000000000000000000000000..0f32c93bc92a115bc19fbbffd23d971edbe85fc6 --- /dev/null +++ b/embeddings/wandb/run-20230226_100155-18km5yss/files/media/table/test/table_0_e2cad4daaf2fa5eb0f6d.table.json @@ -0,0 +1 @@ +{"columns": ["graph", "ground_truth", "prediction"], "data": [["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 0, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1]]} \ No newline at end of file diff --git a/embeddings/wandb/run-20230226_100155-18km5yss/files/media/table/train/table_0_4505be9d3f4b3d003d22.table.json b/embeddings/wandb/run-20230226_100155-18km5yss/files/media/table/train/table_0_4505be9d3f4b3d003d22.table.json new file mode 100644 index 0000000000000000000000000000000000000000..5f9c08cd6fc209ef85a812bbc19fcb7a3a682c30 --- /dev/null +++ b/embeddings/wandb/run-20230226_100155-18km5yss/files/media/table/train/table_0_4505be9d3f4b3d003d22.table.json @@ -0,0 +1 @@ +{"columns": ["graph", "ground_truth", "prediction"], "data": [["Html", 0, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 0, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 0, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 0, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 0, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 0, 1]]} \ No newline at end of file diff --git a/embeddings/wandb/run-20230226_100155-18km5yss/files/media/table/val/table_0_fdd06dd19f5b94492d5e.table.json b/embeddings/wandb/run-20230226_100155-18km5yss/files/media/table/val/table_0_fdd06dd19f5b94492d5e.table.json new file mode 100644 index 0000000000000000000000000000000000000000..eea5e117928606bd17e43680bb561dcf5868152b --- /dev/null +++ b/embeddings/wandb/run-20230226_100155-18km5yss/files/media/table/val/table_0_fdd06dd19f5b94492d5e.table.json @@ -0,0 +1 @@ +{"columns": ["graph", "ground_truth", "prediction"], "data": [["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1], ["Html", 0, 1], ["Html", 1, 1], ["Html", 1, 1], ["Html", 0, 1]]} \ No newline at end of file diff --git a/embeddings/wandb/run-20230226_100155-18km5yss/files/output.log b/embeddings/wandb/run-20230226_100155-18km5yss/files/output.log new file mode 100644 index 0000000000000000000000000000000000000000..ed2bbff3e8be53f79105d5c9781c5b013b19edc3 --- /dev/null +++ b/embeddings/wandb/run-20230226_100155-18km5yss/files/output.log @@ -0,0 +1,2096 @@ +INFO:heterogeneous-GAT-model:[1] Loss: 0.00037324535846710205 +INFO:heterogeneous-GAT-model:[6] Loss: 0.0012960589677095413 +INFO:heterogeneous-GAT-model:[11] Loss: 0.0012859403043985367 +INFO:heterogeneous-GAT-model:[16] Loss: 0.0011300449818372727 +INFO:heterogeneous-GAT-model:[21] Loss: 0.0010352176576852799 +INFO:heterogeneous-GAT-model:[26] Loss: 0.0011893354207277297 +INFO:heterogeneous-GAT-model:[31] Loss: 0.0011273930668830871 +INFO:heterogeneous-GAT-model:[36] Loss: 0.0011582816243171693 +INFO:heterogeneous-GAT-model:[41] Loss: 0.0011582449078559875 +INFO:heterogeneous-GAT-model:[46] Loss: 0.0012827484011650086 +INFO:heterogeneous-GAT-model:[51] Loss: 0.0010643996447324753 +INFO:heterogeneous-GAT-model:[56] Loss: 0.0009395155310630798 +INFO:heterogeneous-GAT-model:[61] Loss: 0.0012206553369760514 +INFO:heterogeneous-GAT-model:[66] Loss: 0.0009710084348917008 +INFO:heterogeneous-GAT-model:[71] Loss: 0.0012831042408943177 +INFO:heterogeneous-GAT-model:[76] Loss: 0.0012209006249904633 +PRED tensor([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]) tensor([[0], + [1], + [0], + [1], + [1], + [1], + [1], + [1], + [0], + [1], + [1], + [1], + [1], + [1], + [1], + [1]]) +PRED tensor([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]) tensor([[1], + [1], + [1], + [1], + [1], + [1], + [1], + [0], + [1], + [1], + [1], + [1], + [1], + [0], + [1], + [1]]) +PRED tensor([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]) tensor([[0], + [1], + [0], + [1], + [1], + [1], + [1], + [1], + [1], + [0], + [1], + [1], + [0], + [1], + [1], + [1]]) +PRED tensor([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]) tensor([[0], + [1], + [0], + [1], + [1], + [1], + [1], + [0], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [0]]) +PRED tensor([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]) tensor([[1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1]]) +PRED tensor([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]) tensor([[1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [0], + [1], + [0], + [1], + [1]]) +PRED tensor([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]) tensor([[0], + [0], + [1], + [1], + [1], + [1], + [1], + [1], + [0], + [0], + [1], + [0], + [1], + [1], + [1], + [1]]) +PRED tensor([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]) tensor([[1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [0], + [0], + [1], + [0], + [1], + [1], + [1], + [0]]) +PRED tensor([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]) tensor([[1], + [1], + [0], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [0], + [1], + [1]]) +PRED tensor([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]) tensor([[1], + [1], + [1], + [1], + [1], + [1], + [1], + [0], + [1], + [1], + [0], + [1], + [0], + [1], + [1], + [1]]) +PRED tensor([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]) tensor([[1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [0], + [1], + [1], + [1], + [1], + [1], + [0]]) +PRED tensor([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]) tensor([[1], + [1], + [1], + [1], + [0], + [0], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1]]) +PRED tensor([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]) tensor([[1], + [1], + [0], + [1], + [1], + [1], + [1], + [0], + [1], + [1], + [1], + [0], + [0], + [1], + [0], + [1]]) +PRED tensor([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]) tensor([[1], + [1], + [1], + [0], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1]]) +PRED tensor([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]) tensor([[1], + [1], + [1], + [1], + [0], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [0]]) +PRED tensor([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]) tensor([[1], + [1], + [1], + [1], + [1], + [1], + [0], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1]]) +PRED tensor([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]) tensor([[1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [0], + [1], + [1]]) +PRED tensor([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]) tensor([[1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [0], + [1], + [1], + [1], + [1], + [1], + [1], + [1]]) +PRED tensor([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]) tensor([[1], + [1], + [0], + [0], + [0], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [0], + [1], + [1], + [1]]) +PRED tensor([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]) tensor([[1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [0], + [1], + [1], + [1], + [1], + [1]]) +PRED tensor([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]) tensor([[1], + [1], + [1], + [1], + [0], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1]]) +PRED tensor([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]) tensor([[1], + [1], + [0], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1]]) +PRED tensor([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]) tensor([[1], + [0], + [1], + [1], + [1], + [0], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [0]]) +PRED tensor([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]) tensor([[0], + [1], + [0], + [1], + [1], + [1], + [0], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [0]]) +PRED tensor([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]) tensor([[1], + [0], + [1], + [0], + [1], + [1], + [1], + [1], + [0], + [1], + [1], + [1], + [1], + [1], + [1], + [1]]) +PRED tensor([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]) tensor([[1], + [1], + [1], + [1], + [0], + [1], + [1], + [1], + [0], + [1], + [1], + [1], + [1], + [1], + [1], + [1]]) +PRED tensor([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]) tensor([[1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [0], + [1], + [1], + [1], + [1]]) +PRED tensor([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]) tensor([[0], + [1], + [0], + [1], + [1], + [1], + [1], + [1], + [1], + [0], + [1], + [1], + [1], + [1], + [1], + [1]]) +PRED tensor([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]) tensor([[1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1]]) +PRED tensor([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]) tensor([[1], + [1], + [0], + [1], + [1], + [0], + [1], + [0], + [1], + [1], + [1], + [1], + [1], + [0], + [1], + [1]]) +PRED tensor([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]) tensor([[1], + [1], + [1], + [0], + [1], + [1], + [1], + [0], + [1], + [1], + [0], + [1], + [1], + [1], + [1], + [1]]) +PRED tensor([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]) tensor([[1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1]]) +PRED tensor([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]) tensor([[1], + [1], + [1], + [0], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [0], + [1], + [1]]) +PRED tensor([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]) tensor([[1], + [1], + [1], + [1], + [0], + [1], + [1], + [1], + [0], + [1], + [1], + [1], + [0], + [1], + [1], + [1]]) +PRED tensor([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]) tensor([[0], + [1], + [1], + [1], + [0], + [0], + [1], + [1], + [1], + [1], + [0], + [0], + [1], + [1], + [0], + [1]]) +PRED tensor([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]) tensor([[1], + [0], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1]]) +PRED tensor([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]) tensor([[1], + [1], + [1], + [1], + [0], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1]]) +PRED tensor([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]) tensor([[1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [0], + [1], + [1], + [1], + [0], + [1], + [1], + [1]]) +PRED tensor([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]) tensor([[1], + [1], + [1], + [1], + [0], + [0], + [1], + [1], + [1], + [0], + [1], + [0], + [1], + [1], + [1], + [1]]) +PRED tensor([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]) tensor([[1], + [1], + [1], + [1], + [0], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [0], + [1], + [1], + [1]]) +PRED tensor([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]) tensor([[1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [0], + [1], + [1], + [1], + [1], + [0], + [0]]) +PRED tensor([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]) tensor([[0], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [0], + [1]]) +PRED tensor([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]) tensor([[0], + [0], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [0], + [0], + [1], + [1], + [1]]) +PRED tensor([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]) tensor([[1], + [1], + [1], + [1], + [1], + [0], + [1], + [1], + [1], + [0], + [1], + [1], + [1], + [1], + [1], + [1]]) +PRED tensor([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]) tensor([[1], + [0], + [0], + [1], + [1], + [0], + [1], + [0], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1]]) +PRED tensor([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]) tensor([[1], + [1], + [1], + [1], + [1], + [0], + [1], + [1], + [0], + [0], + [1], + [1], + [0], + [1], + [1], + [1]]) +PRED tensor([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]) tensor([[1], + [1], + [0], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1]]) +PRED tensor([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]) tensor([[0], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [0], + [0], + [1], + [1], + [1], + [1], + [1]]) +PRED tensor([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]) tensor([[1], + [1], + [1], + [1], + [0], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1]]) +PRED tensor([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]) tensor([[1], + [1], + [1], + [0], + [1], + [1], + [1], + [1], + [0], + [1], + [0], + [1], + [0], + [1], + [1], + [1]]) +PRED tensor([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]) tensor([[1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1]]) +PRED tensor([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]) tensor([[1], + [1], + [1], + [1], + [0], + [1], + [1], + [1], + [1], + [1], + [0], + [1], + [1], + [1], + [1], + [1]]) +PRED tensor([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]) tensor([[1], + [1], + [1], + [0], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1]]) +PRED tensor([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]) tensor([[1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1]]) +PRED tensor([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]) tensor([[1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1]]) +PRED tensor([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]) tensor([[1], + [1], + [1], + [1], + [0], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [0], + [1], + [1], + [1]]) +PRED tensor([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]) tensor([[1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1]]) +PRED tensor([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]) tensor([[0], + [1], + [1], + [1], + [1], + [0], + [0], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [0], + [1]]) +PRED tensor([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]) tensor([[1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [0], + [1], + [0], + [0], + [1], + [0], + [0]]) +PRED tensor([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]) tensor([[1], + [0], + [1], + [0], + [1], + [1], + [0], + [1], + [1], + [1], + [1], + [1], + [1], + [0], + [1], + [1]]) +PRED tensor([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]) tensor([[1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [0], + [1], + [1], + [1]]) +PRED tensor([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]) tensor([[1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [0], + [1], + [1], + [1]]) +PRED tensor([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]) tensor([[1], + [1], + [0], + [1], + [1], + [1], + [1], + [0], + [1], + [1], + [1], + [1], + [0], + [1], + [1], + [0]]) +PRED tensor([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]) tensor([[1], + [1], + [1], + [1], + [1], + [0], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1]]) +PRED tensor([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]) tensor([[1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1]]) +PRED tensor([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]) tensor([[1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1]]) +PRED tensor([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]) tensor([[1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [0], + [1], + [1], + [1], + [1], + [1]]) +PRED tensor([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]) tensor([[1], + [1], + [0], + [0], + [0], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [0], + [1]]) +PRED tensor([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]) tensor([[1], + [0], + [1], + [0], + [0], + [0], + [1], + [1], + [1], + [1], + [1], + [1], + [0], + [1], + [1], + [0]]) +PRED tensor([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]) tensor([[1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [0], + [1], + [1], + [1], + [1]]) +PRED tensor([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]) tensor([[1], + [1], + [1], + [1], + [0], + [1], + [1], + [0], + [0], + [1], + [1], + [1], + [0], + [1], + [1], + [1]]) +PRED tensor([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]) tensor([[1], + [1], + [1], + [1], + [1], + [1], + [0], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [0]]) +PRED tensor([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]) tensor([[0], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [0]]) +PRED tensor([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]) tensor([[1], + [1], + [0], + [1], + [1], + [1], + [0], + [1], + [1], + [1], + [1], + [0], + [0], + [1], + [1], + [1]]) +PRED tensor([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]) tensor([[1], + [1], + [1], + [1], + [0], + [1], + [1], + [1], + [1], + [1], + [1], + [0], + [1], + [1], + [1], + [1]]) +PRED tensor([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]) tensor([[1], + [1], + [1], + [1], + [0], + [1], + [1], + [0], + [1], + [1], + [0], + [1], + [0], + [1], + [1], + [1]]) +PRED tensor([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]) tensor([[1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [1], + [0], + [1], + [1], + [1], + [1], + [1], + [1]]) +PRED tensor([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]) tensor([[0], + [1], + [0], + [1], + [1], + [0], + [1], + [0], + [1], + [0], + [0], + [1], + [1], + [0], + [1], + [0]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[0]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) +PRED tensor([1]) tensor([[1]]) diff --git a/embeddings/wandb/run-20230226_100155-18km5yss/files/requirements.txt b/embeddings/wandb/run-20230226_100155-18km5yss/files/requirements.txt new file mode 100644 index 0000000000000000000000000000000000000000..d7de821539624662109e252a91c4907a963ad5fb --- /dev/null +++ b/embeddings/wandb/run-20230226_100155-18km5yss/files/requirements.txt @@ -0,0 +1,170 @@ +absl-py==1.3.0 +anyio==3.6.2 +appdirs==1.4.4 +argon2-cffi-bindings==21.2.0 +argon2-cffi==21.3.0 +asttokens==2.1.0 +astunparse==1.6.3 +attrs==22.1.0 +backcall==0.2.0 +beautifulsoup4==4.11.1 +bleach==5.0.1 +blis==0.7.9 +bs4==0.0.1 +cachetools==5.2.0 +catalogue==2.0.8 +certifi==2022.9.24 +cffi==1.15.1 +charset-normalizer==2.1.1 +click==8.1.3 +colorama==0.4.6 +confection==0.0.3 +contourpy==1.0.6 +cycler==0.11.0 +cymem==2.0.7 +debugpy==1.6.3 +decorator==5.1.1 +defusedxml==0.7.1 +dgl==0.9.1 +docker-pycreds==0.4.0 +en-core-web-sm==3.4.1 +entrypoints==0.4 +executing==1.2.0 +fastjsonschema==2.16.2 +filelock==3.8.0 +fonttools==4.38.0 +gitdb==4.0.10 +gitpython==3.1.31 +google-auth-oauthlib==0.4.6 +google-auth==2.14.0 +graph4nlp==0.5.5 +grpcio==1.50.0 +huggingface-hub==0.10.1 +idna==3.4 +importlib-metadata==5.0.0 +importlib-resources==5.10.0 +ipykernel==6.16.2 +ipython-genutils==0.2.0 +ipython==8.6.0 +ipywidgets==8.0.2 +jedi==0.18.1 +jinja2==3.1.2 +joblib==1.2.0 +jsonschema==4.16.0 +jupyter-client==7.4.4 +jupyter-console==6.4.4 +jupyter-core==4.11.2 +jupyter-server==1.21.0 +jupyter==1.0.0 +jupyterlab-pygments==0.2.2 +jupyterlab-widgets==3.0.3 +kiwisolver==1.4.4 +langcodes==3.3.0 +littleutils==0.2.2 +lxml==4.9.1 +markdown==3.4.1 +markupsafe==2.1.1 +matplotlib-inline==0.1.6 +matplotlib==3.6.2 +mistune==2.0.4 +murmurhash==1.0.9 +nbclassic==0.4.7 +nbclient==0.7.0 +nbconvert==7.2.3 +nbformat==5.7.0 +nest-asyncio==1.5.6 +networkx==2.8.8 +nltk==3.7 +notebook-shim==0.2.0 +notebook==6.5.2 +numpy==1.23.5 +oauthlib==3.2.2 +ogb==1.3.5 +outdated==0.2.2 +packaging==21.3 +pandas==1.5.1 +pandocfilters==1.5.0 +parso==0.8.3 +pathtools==0.1.2 +pathy==0.6.2 +pickleshare==0.7.5 +pillow==9.3.0 +pip==21.3.1 +pkgutil-resolve-name==1.3.10 +plotly==5.13.0 +preshed==3.0.8 +prometheus-client==0.15.0 +prompt-toolkit==3.0.31 +protobuf==3.19.6 +psutil==5.9.3 +pure-eval==0.2.2 +pyasn1-modules==0.2.8 +pyasn1==0.4.8 +pycparser==2.21 +pydantic==1.10.2 +pygments==2.13.0 +pyparsing==3.0.9 +pyrsistent==0.18.1 +python-dateutil==2.8.2 +pythonds==1.2.1 +pytz==2022.5 +pywin32==304 +pywinpty==2.0.9 +pyyaml==6.0 +pyzmq==24.0.1 +qtconsole==5.3.2 +qtpy==2.2.1 +regex==2022.10.31 +requests-oauthlib==1.3.1 +requests==2.28.1 +rsa==4.9 +scikit-learn==1.1.3 +scipy==1.9.3 +send2trash==1.8.0 +sentry-sdk==1.15.0 +setproctitle==1.3.2 +setuptools==60.2.0 +six==1.16.0 +smart-open==5.2.1 +smmap==5.0.0 +sniffio==1.3.0 +soupsieve==2.3.2.post1 +spacy-legacy==3.0.10 +spacy-loggers==1.0.3 +spacy==3.4.2 +srsly==2.4.5 +stack-data==0.6.0 +stanfordcorenlp==3.9.1.1 +tenacity==8.2.1 +tensorboard-data-server==0.6.1 +tensorboard-plugin-wit==1.8.1 +tensorboard==2.10.1 +terminado==0.17.0 +thinc==8.1.5 +threadpoolctl==3.1.0 +tinycss2==1.2.1 +tokenizers==0.13.2 +torch-cluster==1.6.0+pt113cpu +torch-geometric==2.2.0 +torch-scatter==2.1.0+pt113cpu +torch-sparse==0.6.16+pt113cpu +torch-spline-conv==1.2.1+pt113cpu +torch==1.13.0 +torchsummary==1.5.1 +torchtext==0.14.0 +tornado==6.2 +tqdm==4.64.1 +traitlets==5.5.0 +transformers==4.24.0 +typer==0.4.2 +typing-extensions==4.4.0 +urllib3==1.26.12 +wandb==0.13.10 +wasabi==0.10.1 +wcwidth==0.2.5 +webencodings==0.5.1 +websocket-client==1.4.1 +werkzeug==2.2.2 +wheel==0.37.1 +widgetsnbextension==4.0.3 +zipp==3.10.0 \ No newline at end of file diff --git a/embeddings/wandb/run-20230226_100155-18km5yss/files/wandb-metadata.json b/embeddings/wandb/run-20230226_100155-18km5yss/files/wandb-metadata.json new file mode 100644 index 0000000000000000000000000000000000000000..102b66c4a8f329c8321bd97e9a94187041b2cdbd --- /dev/null +++ b/embeddings/wandb/run-20230226_100155-18km5yss/files/wandb-metadata.json @@ -0,0 +1,42 @@ +{ + "os": "Windows-10-10.0.19041-SP0", + "python": "3.8.1", + "heartbeatAt": "2023-02-26T10:01:56.482971", + "startedAt": "2023-02-26T10:01:55.846407", + "docker": null, + "cuda": null, + "args": [], + "state": "running", + "program": "C:\\Users\\liamb\\Documents\\graph4stackoverflow\\embeddings\\hetero_GAT.py", + "codePath": "embeddings\\hetero_GAT.py", + "git": { + "remote": "https://git.soton.ac.uk/lhb1g20/graph4stackoverflow.git", + "commit": "ced992d661984f7b87d1a3e76768e4ff7af78245" + }, + "email": "liambyrneh@gmail.com", + "root": "C:/Users/liamb/Documents/graph4stackoverflow", + "host": "DESKTOP-P7BETFF", + "username": "liamb", + "executable": "C:\\Users\\liamb\\Documents\\graph4stackoverflow\\venv\\Scripts\\python.exe", + "cpu_count": 2, + "cpu_count_logical": 4, + "cpu_freq": { + "current": 3504.0, + "min": 0.0, + "max": 3504.0 + }, + "cpu_freq_per_core": [ + { + "current": 3504.0, + "min": 0.0, + "max": 3504.0 + } + ], + "disk": { + "total": 475.71581649780273, + "used": 368.03625106811523 + }, + "memory": { + "total": 31.89160919189453 + } +} diff --git a/embeddings/wandb/run-20230226_100155-18km5yss/files/wandb-summary.json b/embeddings/wandb/run-20230226_100155-18km5yss/files/wandb-summary.json new file mode 100644 index 0000000000000000000000000000000000000000..9e26dfeeb6e641a33dae4961196235bdb965b21b --- /dev/null +++ b/embeddings/wandb/run-20230226_100155-18km5yss/files/wandb-summary.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/embeddings/wandb/run-20230226_100155-18km5yss/logs/debug-internal.log b/embeddings/wandb/run-20230226_100155-18km5yss/logs/debug-internal.log new file mode 100644 index 0000000000000000000000000000000000000000..8ded23096e988795dec708ea59b61b7a2ece6ff1 --- /dev/null +++ b/embeddings/wandb/run-20230226_100155-18km5yss/logs/debug-internal.log @@ -0,0 +1,2173 @@ +2023-02-26 10:01:55,859 INFO StreamThr :10640 [internal.py:wandb_internal():87] W&B internal server running at pid: 10640, started at: 2023-02-26 10:01:55.858402 +2023-02-26 10:01:55,861 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status +2023-02-26 10:01:55,862 INFO WriterThread:10640 [datastore.py:open_for_write():85] open: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\run-18km5yss.wandb +2023-02-26 10:01:55,865 DEBUG SenderThread:10640 [sender.py:send():336] send: header +2023-02-26 10:01:55,908 DEBUG SenderThread:10640 [sender.py:send():336] send: run +2023-02-26 10:01:56,306 INFO SenderThread:10640 [dir_watcher.py:__init__():216] watching files in: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files +2023-02-26 10:01:56,307 INFO SenderThread:10640 [sender.py:_start_run_threads():1067] run started: 18km5yss with start time 1677405715.858402 +2023-02-26 10:01:56,307 DEBUG SenderThread:10640 [sender.py:send_request():363] send_request: summary_record +2023-02-26 10:01:56,307 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: check_version +2023-02-26 10:01:56,308 INFO SenderThread:10640 [sender.py:_save_file():1321] saving file wandb-summary.json with policy end +2023-02-26 10:01:56,308 DEBUG SenderThread:10640 [sender.py:send_request():363] send_request: check_version +2023-02-26 10:01:56,464 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: run_start +2023-02-26 10:01:56,481 DEBUG HandlerThread:10640 [system_info.py:__init__():31] System info init +2023-02-26 10:01:56,481 DEBUG HandlerThread:10640 [system_info.py:__init__():46] System info init done +2023-02-26 10:01:56,481 INFO HandlerThread:10640 [system_monitor.py:start():151] Starting system monitor +2023-02-26 10:01:56,482 INFO SystemMonitor:10640 [system_monitor.py:_start():116] Starting system asset monitoring threads +2023-02-26 10:01:56,482 INFO HandlerThread:10640 [system_monitor.py:probe():172] Collecting system info +2023-02-26 10:01:56,482 DEBUG HandlerThread:10640 [system_info.py:probe():195] Probing system +2023-02-26 10:01:56,486 INFO SystemMonitor:10640 [interfaces.py:start():168] Started cpu +2023-02-26 10:01:56,486 INFO SystemMonitor:10640 [interfaces.py:start():168] Started disk +2023-02-26 10:01:56,486 INFO SystemMonitor:10640 [interfaces.py:start():168] Started memory +2023-02-26 10:01:56,503 INFO SystemMonitor:10640 [interfaces.py:start():168] Started network +2023-02-26 10:01:56,504 DEBUG HandlerThread:10640 [system_info.py:_probe_git():180] Probing git +2023-02-26 10:01:56,593 DEBUG HandlerThread:10640 [system_info.py:_probe_git():188] Probing git done +2023-02-26 10:01:56,593 DEBUG HandlerThread:10640 [system_info.py:probe():241] Probing system done +2023-02-26 10:01:56,594 DEBUG HandlerThread:10640 [system_monitor.py:probe():181] {'os': 'Windows-10-10.0.19041-SP0', 'python': '3.8.1', 'heartbeatAt': '2023-02-26T10:01:56.482971', 'startedAt': '2023-02-26T10:01:55.846407', 'docker': None, 'cuda': None, 'args': (), 'state': 'running', 'program': 'C:\\Users\\liamb\\Documents\\graph4stackoverflow\\embeddings\\hetero_GAT.py', 'codePath': 'embeddings\\hetero_GAT.py', 'git': {'remote': 'https://git.soton.ac.uk/lhb1g20/graph4stackoverflow.git', 'commit': 'ced992d661984f7b87d1a3e76768e4ff7af78245'}, 'email': 'liambyrneh@gmail.com', 'root': 'C:/Users/liamb/Documents/graph4stackoverflow', 'host': 'DESKTOP-P7BETFF', 'username': 'liamb', 'executable': 'C:\\Users\\liamb\\Documents\\graph4stackoverflow\\venv\\Scripts\\python.exe', 'cpu_count': 2, 'cpu_count_logical': 4, 'cpu_freq': {'current': 3504.0, 'min': 0.0, 'max': 3504.0}, 'cpu_freq_per_core': [{'current': 3504.0, 'min': 0.0, 'max': 3504.0}], 'disk': {'total': 475.71581649780273, 'used': 368.03625106811523}, 'memory': {'total': 31.89160919189453}} +2023-02-26 10:01:56,594 INFO HandlerThread:10640 [system_monitor.py:probe():182] Finished collecting system info +2023-02-26 10:01:56,594 INFO HandlerThread:10640 [system_monitor.py:probe():185] Publishing system info +2023-02-26 10:01:56,594 DEBUG HandlerThread:10640 [system_info.py:_save_pip():51] Saving list of pip packages installed into the current environment +2023-02-26 10:01:56,595 DEBUG HandlerThread:10640 [system_info.py:_save_pip():67] Saving pip packages done +2023-02-26 10:01:56,596 INFO HandlerThread:10640 [system_monitor.py:probe():187] Finished publishing system info +2023-02-26 10:01:56,604 DEBUG SenderThread:10640 [sender.py:send():336] send: files +2023-02-26 10:01:56,605 INFO SenderThread:10640 [sender.py:_save_file():1321] saving file wandb-metadata.json with policy now +2023-02-26 10:01:56,613 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: stop_status +2023-02-26 10:01:56,613 DEBUG SenderThread:10640 [sender.py:send_request():363] send_request: stop_status +2023-02-26 10:01:56,807 DEBUG SenderThread:10640 [sender.py:send():336] send: telemetry +2023-02-26 10:01:57,158 INFO wandb-upload_0:10640 [upload_job.py:push():138] Uploaded file C:\Users\liamb\AppData\Local\Temp\tmp1ojpi8i5wandb\6rg5hix6-wandb-metadata.json +2023-02-26 10:01:57,207 DEBUG SenderThread:10640 [sender.py:send():336] send: use_artifact +2023-02-26 10:01:57,319 INFO Thread-17 :10640 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\requirements.txt +2023-02-26 10:01:57,320 INFO Thread-17 :10640 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\wandb-summary.json +2023-02-26 10:01:57,320 INFO Thread-17 :10640 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\wandb-metadata.json +2023-02-26 10:02:01,220 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:02:06,233 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:02:10,369 INFO Thread-17 :10640 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 10:02:11,356 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:02:11,622 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:02:11,622 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:02:12,375 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 10:02:14,381 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 10:02:16,385 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 10:02:16,416 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:02:16,636 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:02:18,390 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 10:02:20,397 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 10:02:21,599 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:02:21,647 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:02:22,412 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 10:02:24,417 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 10:02:26,423 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 10:02:26,642 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:02:27,585 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:02:28,427 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\config.yaml +2023-02-26 10:02:28,428 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 10:02:30,432 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 10:02:31,670 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:02:32,437 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 10:02:33,769 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:02:36,709 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:02:38,788 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:02:41,734 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:02:43,801 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:02:46,480 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 10:02:46,762 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:02:49,110 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:02:51,774 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:02:54,124 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:02:56,505 DEBUG SystemMonitor:10640 [system_monitor.py:_start():130] Starting system metrics aggregation loop +2023-02-26 10:02:56,506 DEBUG SenderThread:10640 [sender.py:send():336] send: stats +2023-02-26 10:02:56,787 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:02:59,513 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:03:01,799 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:03:04,524 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:03:06,812 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:03:09,537 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:03:11,840 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:03:14,550 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:03:16,852 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:03:19,561 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:03:21,864 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:03:24,575 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:03:26,517 DEBUG SenderThread:10640 [sender.py:send():336] send: stats +2023-02-26 10:03:26,878 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:03:28,584 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 10:03:30,478 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:03:31,888 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:03:35,489 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:03:36,898 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:03:40,502 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:03:41,912 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:03:45,514 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:03:46,924 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:03:50,526 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:03:51,936 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:03:55,548 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:03:56,522 DEBUG SenderThread:10640 [sender.py:send():336] send: stats +2023-02-26 10:03:56,959 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:04:01,535 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:04:01,972 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:04:06,560 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:04:06,983 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:04:11,572 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:04:11,995 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:04:16,586 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:04:17,009 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:04:21,598 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:04:22,026 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:04:26,533 DEBUG SenderThread:10640 [sender.py:send():336] send: stats +2023-02-26 10:04:27,034 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:04:27,536 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:04:28,086 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 10:04:32,043 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:04:32,559 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:04:37,054 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:04:37,571 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:04:42,067 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:04:42,584 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:04:47,081 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:04:47,598 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:04:52,094 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:04:52,611 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:04:56,541 DEBUG SenderThread:10640 [sender.py:send():336] send: stats +2023-02-26 10:04:57,119 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:04:58,546 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:05:02,134 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:05:03,558 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:05:07,145 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:05:08,570 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:05:12,160 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:05:12,549 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 10:05:13,693 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:05:17,169 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:05:18,705 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:05:22,183 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:05:23,718 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:05:26,554 DEBUG SenderThread:10640 [sender.py:send():336] send: stats +2023-02-26 10:05:27,196 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:05:29,561 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:05:32,208 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:05:34,573 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:05:37,221 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:05:39,586 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:05:42,231 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:05:44,609 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:05:47,240 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:05:49,622 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:05:52,254 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:05:54,635 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:05:56,562 DEBUG SenderThread:10640 [sender.py:send():336] send: stats +2023-02-26 10:05:57,267 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:05:59,022 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 10:06:00,201 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:06:02,286 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:06:05,216 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:06:07,300 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:06:10,229 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:06:12,323 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:06:15,267 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:06:17,335 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:06:20,280 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:06:22,348 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:06:25,292 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:06:26,563 DEBUG SenderThread:10640 [sender.py:send():336] send: stats +2023-02-26 10:06:27,360 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:06:30,571 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:06:32,387 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:06:35,586 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:06:37,403 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:06:40,614 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:06:42,431 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:06:45,638 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:06:47,467 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:06:50,662 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:06:52,479 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:06:55,675 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:06:56,569 DEBUG SenderThread:10640 [sender.py:send():336] send: stats +2023-02-26 10:06:57,496 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:07:01,594 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:07:02,518 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:07:06,604 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:07:07,548 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:07:11,618 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:07:12,570 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:07:16,642 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:07:17,583 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:07:19,227 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 10:07:22,048 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:07:22,596 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:07:26,575 DEBUG SenderThread:10640 [sender.py:send():336] send: stats +2023-02-26 10:07:27,579 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:07:27,626 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:07:32,592 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:07:32,655 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:07:37,608 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:07:37,670 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:07:42,621 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:07:42,684 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:07:47,634 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:07:47,697 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:07:52,646 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:07:52,714 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:07:56,577 DEBUG SenderThread:10640 [sender.py:send():336] send: stats +2023-02-26 10:07:57,721 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:07:58,580 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:08:02,743 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:08:03,604 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:08:07,755 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:08:08,617 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:08:12,780 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:08:13,642 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:08:17,793 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:08:18,654 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:08:22,806 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:08:23,667 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:08:26,590 DEBUG SenderThread:10640 [sender.py:send():336] send: stats +2023-02-26 10:08:27,840 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:08:29,610 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:08:32,860 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:08:34,628 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:08:37,888 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:08:39,642 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:08:42,901 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:08:42,902 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:08:43,464 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 10:08:45,314 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:08:47,914 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:08:50,327 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:08:52,927 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:08:55,339 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:08:56,593 DEBUG SenderThread:10640 [sender.py:send():336] send: stats +2023-02-26 10:08:57,924 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:09:00,604 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:09:02,954 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:09:05,617 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:09:07,967 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:09:10,628 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:09:12,980 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:09:15,643 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:09:17,993 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:09:20,657 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:09:23,006 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:09:24,887 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 10:09:25,716 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:09:26,607 DEBUG SenderThread:10640 [sender.py:send():336] send: stats +2023-02-26 10:09:28,016 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:09:31,619 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:09:33,029 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:09:36,632 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:09:38,057 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:09:41,644 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:09:43,068 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:09:46,656 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:09:48,098 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:09:51,670 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:09:53,123 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:09:56,617 DEBUG SenderThread:10640 [sender.py:send():336] send: stats +2023-02-26 10:09:57,620 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:09:58,153 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:10:01,255 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 10:10:03,134 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:10:03,165 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:10:08,161 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:10:08,176 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:10:13,174 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:10:13,190 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:10:18,187 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:10:18,203 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:10:23,200 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:10:23,232 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:10:26,632 DEBUG SenderThread:10640 [sender.py:send():336] send: stats +2023-02-26 10:10:28,245 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:10:28,637 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:10:33,258 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:10:33,649 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:10:38,271 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:10:38,663 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:10:43,282 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:10:43,705 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 10:10:44,645 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:10:48,295 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:10:49,659 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:10:53,309 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:10:54,672 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:10:56,646 DEBUG SenderThread:10640 [sender.py:send():336] send: stats +2023-02-26 10:10:58,322 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:11:00,657 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:11:03,348 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:11:05,683 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:11:08,362 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:11:10,695 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:11:13,374 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:11:15,708 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:11:18,386 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:11:20,721 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:11:23,402 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:11:25,752 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:11:26,660 DEBUG SenderThread:10640 [sender.py:send():336] send: stats +2023-02-26 10:11:28,426 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:11:31,684 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:11:33,439 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:11:37,279 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 10:11:37,669 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:11:38,452 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:11:42,682 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:11:43,466 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:11:47,696 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:11:48,479 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:11:52,709 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:11:53,493 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:11:56,674 DEBUG SenderThread:10640 [sender.py:send():336] send: stats +2023-02-26 10:11:58,506 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:11:58,679 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:12:03,519 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:12:03,691 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:12:08,533 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:12:08,704 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:12:13,560 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:12:13,717 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:12:18,586 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:12:18,742 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:12:23,613 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:12:23,757 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:12:26,684 DEBUG SenderThread:10640 [sender.py:send():336] send: stats +2023-02-26 10:12:28,626 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:12:29,648 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:12:31,837 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 10:12:33,640 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:12:34,674 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:12:38,667 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:12:39,684 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:12:43,675 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:12:44,693 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:12:48,703 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:12:49,707 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:12:53,717 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:12:54,720 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:12:56,694 DEBUG SenderThread:10640 [sender.py:send():336] send: stats +2023-02-26 10:12:58,730 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:13:00,703 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:13:03,743 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:13:05,717 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:13:08,788 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:13:10,729 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:13:13,800 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:13:15,741 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:13:18,822 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:13:20,765 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:13:23,855 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:13:25,776 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:13:26,700 DEBUG SenderThread:10640 [sender.py:send():336] send: stats +2023-02-26 10:13:28,877 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:13:30,443 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 10:13:30,944 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:13:33,888 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:13:35,956 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:13:38,900 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:13:40,966 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:13:43,923 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:13:45,991 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:13:48,935 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:13:51,003 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:13:53,948 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:13:56,016 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:13:56,712 DEBUG SenderThread:10640 [sender.py:send():336] send: stats +2023-02-26 10:13:58,961 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:14:01,749 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:14:03,973 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:14:06,764 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:14:08,986 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:14:11,775 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:14:13,874 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 10:14:14,000 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:14:16,962 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:14:19,014 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:14:21,973 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:14:24,041 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:14:26,720 DEBUG SenderThread:10640 [sender.py:send():336] send: stats +2023-02-26 10:14:27,722 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:14:29,052 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:14:32,733 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:14:34,065 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:14:37,745 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:14:39,093 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:14:42,759 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:14:44,106 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:14:47,772 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:14:49,119 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:14:52,785 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:14:54,148 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:14:56,731 DEBUG SenderThread:10640 [sender.py:send():336] send: stats +2023-02-26 10:14:58,737 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:14:59,160 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:15:03,777 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:15:04,184 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:15:06,408 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 10:15:09,205 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:15:09,472 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:15:14,225 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:15:14,507 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:15:19,250 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:15:19,532 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:15:24,263 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:15:24,545 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:15:26,738 DEBUG SenderThread:10640 [sender.py:send():336] send: stats +2023-02-26 10:15:29,275 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:15:29,275 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:15:29,758 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:15:34,286 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:15:34,772 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:15:39,300 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:15:39,785 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:15:44,313 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:15:44,799 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:15:49,352 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:15:49,854 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:15:54,365 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:15:54,866 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:15:56,746 DEBUG SenderThread:10640 [sender.py:send():336] send: stats +2023-02-26 10:15:57,936 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 10:15:59,377 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:15:59,956 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:16:04,390 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:16:04,953 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:16:09,401 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:16:09,966 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:16:14,426 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:16:14,990 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:16:19,439 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:16:20,003 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:16:24,455 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:16:25,019 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:16:26,758 DEBUG SenderThread:10640 [sender.py:send():336] send: stats +2023-02-26 10:16:29,466 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:16:30,794 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:16:34,491 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:16:35,804 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:16:38,345 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 10:16:39,517 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:16:41,099 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:16:44,531 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:16:46,114 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:16:49,544 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:16:51,139 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:16:54,572 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:16:56,154 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:16:56,765 DEBUG SenderThread:10640 [sender.py:send():336] send: stats +2023-02-26 10:16:59,583 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:17:01,777 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:17:04,608 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:17:06,803 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:17:09,607 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:17:11,816 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:17:14,620 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:17:16,842 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:17:19,645 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:17:21,855 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:17:24,672 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:17:26,770 DEBUG SenderThread:10640 [sender.py:send():336] send: stats +2023-02-26 10:17:26,850 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 10:17:27,773 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:17:29,684 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:17:32,786 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:17:34,696 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:17:37,795 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:17:39,707 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:17:42,809 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:17:44,720 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:17:47,822 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:17:49,749 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:17:52,836 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:17:54,775 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:17:56,777 DEBUG SenderThread:10640 [sender.py:send():336] send: stats +2023-02-26 10:17:58,782 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:17:59,800 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:18:03,796 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:18:04,815 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:18:08,809 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:18:09,827 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:18:13,822 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:18:14,838 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:18:18,833 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:18:19,852 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:18:23,846 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:18:24,865 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:18:26,793 DEBUG SenderThread:10640 [sender.py:send():336] send: stats +2023-02-26 10:18:29,801 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:18:29,879 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:18:34,816 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:18:34,894 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:18:38,622 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 10:18:39,906 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:18:40,141 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:18:44,919 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:18:45,154 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:18:49,930 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:18:50,165 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:18:54,944 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:18:55,179 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:18:56,805 DEBUG SenderThread:10640 [sender.py:send():336] send: stats +2023-02-26 10:18:59,970 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:19:00,830 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:19:04,981 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:19:05,858 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:19:09,991 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:19:10,884 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:19:15,005 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:19:15,897 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:19:20,032 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:19:20,910 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:19:25,030 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:19:25,923 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:19:26,816 DEBUG SenderThread:10640 [sender.py:send():336] send: stats +2023-02-26 10:19:30,043 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:19:31,766 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:19:33,160 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 10:19:35,054 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:19:36,793 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:19:40,082 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:19:41,803 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:19:45,092 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:19:46,957 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:19:47,301 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 10:19:50,104 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:19:51,967 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:19:55,143 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:19:56,821 DEBUG SenderThread:10640 [sender.py:send():336] send: stats +2023-02-26 10:19:57,823 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:20:00,173 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:20:02,834 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:20:05,199 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:20:07,847 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:20:10,213 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:20:12,859 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:20:15,222 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:20:17,885 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:20:20,236 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:20:22,900 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:20:25,249 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:20:26,711 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 10:20:26,832 DEBUG SenderThread:10640 [sender.py:send():336] send: stats +2023-02-26 10:20:28,837 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:20:30,263 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:20:33,851 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:20:35,275 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:20:38,863 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:20:40,289 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:20:43,887 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:20:45,296 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:20:48,911 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:20:50,319 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:20:53,977 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:20:55,340 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:20:56,844 DEBUG SenderThread:10640 [sender.py:send():336] send: stats +2023-02-26 10:20:59,851 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:21:00,365 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:21:04,861 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:21:05,378 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:21:09,884 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:21:10,400 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:21:15,185 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 10:21:15,433 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:21:15,652 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:21:20,446 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:21:20,664 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:21:25,460 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:21:25,678 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:21:26,853 DEBUG SenderThread:10640 [sender.py:send():336] send: stats +2023-02-26 10:21:30,472 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:21:31,207 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:21:31,348 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 10:21:35,484 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:21:36,221 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:21:40,498 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:21:41,239 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:21:45,518 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:21:46,257 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:21:50,535 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:21:51,271 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:21:55,548 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:21:56,284 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:21:56,863 DEBUG SenderThread:10640 [sender.py:send():336] send: stats +2023-02-26 10:22:00,565 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:22:01,883 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:22:05,580 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:22:06,897 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:22:10,611 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:22:11,911 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:22:15,638 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:22:17,613 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:22:18,914 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 10:22:20,649 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:22:22,623 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:22:25,662 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:22:26,870 DEBUG SenderThread:10640 [sender.py:send():336] send: stats +2023-02-26 10:22:27,872 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:22:30,678 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:22:32,887 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:22:35,690 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:22:37,899 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:22:40,702 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:22:42,911 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:22:45,716 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:22:47,925 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:22:50,729 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:22:52,939 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:22:55,758 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:22:56,871 DEBUG SenderThread:10640 [sender.py:send():336] send: stats +2023-02-26 10:22:58,876 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:23:00,772 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:23:03,372 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 10:23:04,751 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:23:05,785 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:23:09,764 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:23:10,798 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:23:14,778 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:23:15,884 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:23:15,884 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:23:19,792 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:23:20,904 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:23:24,801 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:23:25,926 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:23:26,880 DEBUG SenderThread:10640 [sender.py:send():336] send: stats +2023-02-26 10:23:29,886 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:23:30,952 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:23:34,900 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:23:35,965 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:23:39,912 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:23:40,993 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:23:44,926 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:23:46,007 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:23:49,939 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:23:51,018 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:23:54,950 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:23:56,031 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:23:56,894 DEBUG SenderThread:10640 [sender.py:send():336] send: stats +2023-02-26 10:24:00,797 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:24:01,058 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:24:02,030 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 10:24:05,821 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:24:06,087 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:24:10,834 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:24:11,115 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:24:15,848 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:24:16,114 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:24:20,861 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:24:21,127 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:24:25,878 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:24:26,145 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:24:26,896 DEBUG SenderThread:10640 [sender.py:send():336] send: stats +2023-02-26 10:24:30,905 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:24:31,156 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:24:35,918 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:24:36,168 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:24:39,417 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 10:24:41,203 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:24:41,356 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:24:46,262 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:24:46,403 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:24:51,323 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:24:51,448 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:24:56,336 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:24:56,461 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:24:56,899 DEBUG SenderThread:10640 [sender.py:send():336] send: stats +2023-02-26 10:25:01,349 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:25:01,913 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:25:06,372 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:25:06,936 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:25:11,387 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:25:11,951 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:25:16,400 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:25:16,964 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:25:21,413 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:25:21,977 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:25:26,427 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:25:26,912 DEBUG SenderThread:10640 [sender.py:send():336] send: stats +2023-02-26 10:25:27,913 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:25:31,442 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:25:32,942 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:25:36,056 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 10:25:36,478 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:25:38,746 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:25:41,488 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:25:43,759 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:25:46,501 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:25:48,772 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:25:51,513 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:25:53,784 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:25:56,525 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:25:56,914 DEBUG SenderThread:10640 [sender.py:send():336] send: stats +2023-02-26 10:25:58,918 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:26:01,552 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:26:03,932 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:26:06,564 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:26:08,945 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:26:11,576 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:26:13,958 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:26:16,590 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:26:18,975 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:26:21,607 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:26:23,504 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 10:26:24,503 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:26:26,629 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:26:26,925 DEBUG SenderThread:10640 [sender.py:send():336] send: stats +2023-02-26 10:26:29,946 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:26:31,651 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:26:34,970 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:26:36,662 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:26:39,981 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:26:41,687 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:26:44,992 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:26:46,699 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:26:50,004 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:26:51,713 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:26:55,018 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:26:56,726 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:26:56,929 DEBUG SenderThread:10640 [sender.py:send():336] send: stats +2023-02-26 10:27:00,958 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:27:01,748 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:27:06,000 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:27:06,784 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:27:11,014 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:27:11,813 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:27:16,028 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:27:16,827 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:27:21,041 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:27:21,840 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:27:26,054 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:27:26,854 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:27:26,932 DEBUG SenderThread:10640 [sender.py:send():336] send: stats +2023-02-26 10:27:27,747 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 10:27:31,868 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:27:31,946 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:27:36,882 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:27:36,960 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:27:41,894 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:27:41,972 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:27:46,907 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:27:46,986 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:27:51,921 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:27:52,000 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:27:56,936 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:27:56,936 DEBUG SenderThread:10640 [sender.py:send():336] send: stats +2023-02-26 10:27:57,938 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:28:01,948 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:28:02,951 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:28:06,963 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:28:07,965 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:28:11,976 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:28:12,979 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:28:16,989 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:28:16,989 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:28:17,992 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:28:19,888 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 10:28:22,002 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:28:23,319 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:28:26,937 DEBUG SenderThread:10640 [sender.py:send():336] send: stats +2023-02-26 10:28:27,015 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:28:28,942 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:28:32,029 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:28:33,956 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:28:37,058 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:28:38,985 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:28:42,071 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:28:43,998 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:28:47,085 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:28:49,012 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:28:52,097 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:28:54,024 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:28:56,938 DEBUG SenderThread:10640 [sender.py:send():336] send: stats +2023-02-26 10:28:57,111 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:28:59,943 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:29:02,121 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:29:04,956 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:29:07,142 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:29:09,992 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:29:12,154 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:29:15,005 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:29:16,400 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 10:29:17,166 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:29:20,817 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:29:22,178 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:29:25,825 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:29:26,953 DEBUG SenderThread:10640 [sender.py:send():336] send: stats +2023-02-26 10:29:27,188 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:29:30,964 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:29:32,201 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:29:35,989 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:29:37,242 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:29:41,000 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:29:42,253 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:29:46,013 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:29:47,267 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:29:51,027 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:29:52,279 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:29:56,040 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:29:56,964 DEBUG SenderThread:10640 [sender.py:send():336] send: stats +2023-02-26 10:29:57,293 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:30:01,978 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:30:02,307 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:30:06,992 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:30:07,321 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:30:12,005 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:30:12,334 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:30:17,020 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:30:17,364 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:30:21,062 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 10:30:22,393 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:30:22,769 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:30:26,968 DEBUG SenderThread:10640 [sender.py:send():336] send: stats +2023-02-26 10:30:27,422 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:30:27,971 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:30:32,435 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:30:32,984 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:30:37,448 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:30:37,997 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:30:42,462 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:30:43,011 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:30:47,476 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:30:48,024 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:30:52,487 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:30:53,035 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:30:56,982 DEBUG SenderThread:10640 [sender.py:send():336] send: stats +2023-02-26 10:30:57,499 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:30:58,988 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:31:02,533 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:31:03,999 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:31:07,556 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:31:08,543 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 10:31:09,952 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:31:12,567 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:31:14,965 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:31:17,578 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:31:19,990 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:31:22,586 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:31:25,025 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:31:26,985 DEBUG SenderThread:10640 [sender.py:send():336] send: stats +2023-02-26 10:31:27,596 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:31:30,994 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:31:32,608 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:31:36,008 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:31:37,620 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:31:41,019 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:31:42,633 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:31:46,032 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:31:47,646 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:31:48,947 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 10:31:51,657 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:31:52,659 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:31:56,669 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:31:56,998 DEBUG SenderThread:10640 [sender.py:send():336] send: stats +2023-02-26 10:31:57,687 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:32:02,013 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:32:02,703 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:32:07,027 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:32:07,714 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:32:12,052 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:32:12,725 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:32:17,101 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:32:17,759 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:32:22,113 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:32:22,850 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:32:27,001 DEBUG SenderThread:10640 [sender.py:send():336] send: stats +2023-02-26 10:32:27,864 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:32:28,004 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:32:32,875 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:32:33,079 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:32:33,378 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 10:32:37,919 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:32:38,093 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:32:42,932 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:32:43,104 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:32:47,945 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:32:48,120 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:32:52,959 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:32:53,131 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:32:57,016 DEBUG SenderThread:10640 [sender.py:send():336] send: stats +2023-02-26 10:32:57,971 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:32:59,021 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:33:02,990 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:33:04,040 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:33:08,005 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:33:09,053 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:33:13,018 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:33:14,067 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:33:18,031 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:33:19,082 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:33:23,043 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:33:23,513 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 10:33:24,861 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:33:27,024 DEBUG SenderThread:10640 [sender.py:send():336] send: stats +2023-02-26 10:33:28,058 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:33:30,032 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:33:33,069 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:33:35,043 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:33:38,082 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:33:40,056 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:33:43,097 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:33:45,071 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:33:48,111 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:33:50,086 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:33:53,125 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:33:55,100 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:33:57,027 DEBUG SenderThread:10640 [sender.py:send():336] send: stats +2023-02-26 10:33:58,141 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:34:01,039 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:34:03,154 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:34:06,051 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:34:08,167 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:34:11,066 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:34:13,181 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:34:16,486 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:34:17,661 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 10:34:18,194 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:34:21,500 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:34:23,206 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:34:26,508 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:34:27,041 DEBUG SenderThread:10640 [sender.py:send():336] send: stats +2023-02-26 10:34:28,231 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:34:32,053 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:34:33,244 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:34:37,078 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:34:38,267 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:34:42,099 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:34:43,290 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:34:47,112 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:34:48,302 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:34:52,136 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:34:53,327 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:34:57,055 DEBUG SenderThread:10640 [sender.py:send():336] send: stats +2023-02-26 10:34:58,057 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:34:58,339 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:34:58,339 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:35:03,072 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:35:03,354 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:35:05,031 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 10:35:08,368 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:35:08,399 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:35:13,382 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:35:13,414 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:35:18,397 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:35:18,428 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:35:23,410 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:35:23,441 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:35:27,060 DEBUG SenderThread:10640 [sender.py:send():336] send: stats +2023-02-26 10:35:28,440 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:35:29,067 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:35:33,451 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:35:34,078 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:35:38,465 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:35:39,091 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:35:43,478 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:35:44,104 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:35:48,488 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:35:49,115 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:35:51,513 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 10:35:53,503 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:35:54,239 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:35:57,075 DEBUG SenderThread:10640 [sender.py:send():336] send: stats +2023-02-26 10:35:58,532 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:36:00,083 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:36:03,545 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:36:05,096 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:36:08,557 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:36:10,108 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:36:13,571 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:36:15,122 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:36:18,580 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:36:20,130 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:36:23,593 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:36:25,145 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:36:27,088 DEBUG SenderThread:10640 [sender.py:send():336] send: stats +2023-02-26 10:36:28,607 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:36:31,098 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:36:33,633 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:36:36,123 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:36:38,646 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:36:41,137 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:36:43,659 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:36:44,083 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 10:36:46,883 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:36:48,684 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:36:51,897 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:36:53,699 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:36:56,911 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:36:57,099 DEBUG SenderThread:10640 [sender.py:send():336] send: stats +2023-02-26 10:36:58,713 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:37:02,112 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:37:03,725 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:37:07,126 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:37:08,754 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:37:12,139 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:37:13,769 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:37:17,152 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:37:18,780 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:37:22,164 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:37:23,791 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:37:27,112 DEBUG SenderThread:10640 [sender.py:send():336] send: stats +2023-02-26 10:37:28,114 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:37:28,804 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:37:33,128 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:37:33,817 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:37:37,638 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 10:37:38,830 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:37:39,097 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:37:43,843 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:37:44,109 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:37:48,853 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:37:49,118 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:37:53,863 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:37:54,130 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:37:57,123 DEBUG SenderThread:10640 [sender.py:send():336] send: stats +2023-02-26 10:37:58,879 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:38:00,132 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:38:03,894 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:38:05,147 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:38:08,922 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:38:10,159 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:38:13,934 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:38:15,172 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:38:18,948 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:38:20,185 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:38:23,961 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:38:24,133 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 10:38:25,340 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:38:27,126 DEBUG SenderThread:10640 [sender.py:send():336] send: stats +2023-02-26 10:38:28,974 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:38:31,136 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:38:33,985 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:38:36,148 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:38:39,014 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:38:41,160 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:38:44,026 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:38:46,170 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:38:49,037 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:38:51,184 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:38:54,049 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:38:56,195 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:38:57,135 DEBUG SenderThread:10640 [sender.py:send():336] send: stats +2023-02-26 10:38:59,062 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:39:01,287 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:39:01,521 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 10:39:04,075 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:39:06,312 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:39:09,098 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:39:11,323 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:39:14,113 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:39:16,337 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:39:19,126 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:39:21,351 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:39:24,139 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:39:26,364 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:39:27,147 DEBUG SenderThread:10640 [sender.py:send():336] send: stats +2023-02-26 10:39:29,152 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:39:32,160 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:39:34,165 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:39:37,187 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:39:39,208 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:39:42,781 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:39:43,958 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 10:39:44,229 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:39:47,795 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:39:49,252 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:39:52,810 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:39:54,267 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:39:57,148 DEBUG SenderThread:10640 [sender.py:send():336] send: stats +2023-02-26 10:39:58,104 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 10:39:58,151 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:39:59,278 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:40:03,165 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:40:04,291 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:40:08,176 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:40:09,304 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:40:13,191 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:40:14,319 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:40:18,205 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:40:19,334 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:40:23,227 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:40:24,371 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:40:27,155 DEBUG SenderThread:10640 [sender.py:send():336] send: stats +2023-02-26 10:40:29,172 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:40:29,407 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:40:32,477 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 10:40:34,420 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:40:34,749 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:40:39,433 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:40:39,762 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:40:44,447 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:40:44,776 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:40:49,461 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:40:49,790 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:40:54,474 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:40:54,803 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:40:57,169 DEBUG SenderThread:10640 [sender.py:send():336] send: stats +2023-02-26 10:40:59,486 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:41:00,176 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:41:04,514 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:41:05,188 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:41:09,529 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:41:10,200 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:41:14,539 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:41:15,213 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:41:19,555 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:41:20,227 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:41:24,567 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:41:25,240 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:41:27,181 DEBUG SenderThread:10640 [sender.py:send():336] send: stats +2023-02-26 10:41:29,580 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:41:31,192 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:41:34,122 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 10:41:34,607 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:41:37,099 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:41:39,621 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:41:42,112 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:41:44,633 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:41:47,151 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:41:49,657 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:41:52,163 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:41:54,670 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:41:57,177 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:41:57,192 DEBUG SenderThread:10640 [sender.py:send():336] send: stats +2023-02-26 10:41:59,683 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:42:02,206 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:42:04,712 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:42:07,218 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:42:09,725 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:42:12,232 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:42:14,739 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:42:17,246 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:42:19,752 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:42:22,259 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:42:24,642 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 10:42:24,766 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:42:27,192 DEBUG SenderThread:10640 [sender.py:send():336] send: stats +2023-02-26 10:42:28,196 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:42:29,778 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:42:29,779 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:42:33,208 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:42:34,802 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:42:38,217 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:42:39,827 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:42:43,227 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:42:44,839 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:42:48,238 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:42:49,852 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:42:53,250 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:42:54,863 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:42:57,198 DEBUG SenderThread:10640 [sender.py:send():336] send: stats +2023-02-26 10:42:59,201 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:42:59,906 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:43:04,213 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:43:04,934 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:43:09,947 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:43:09,978 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:43:11,111 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 10:43:14,960 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:43:14,992 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:43:19,975 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:43:20,006 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:43:24,988 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:43:25,020 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:43:27,209 DEBUG SenderThread:10640 [sender.py:send():336] send: stats +2023-02-26 10:43:30,046 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:43:30,241 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:43:35,061 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:43:35,264 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:43:40,091 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:43:40,279 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:43:45,103 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:43:45,291 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:43:50,116 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:43:50,304 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:43:55,130 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:43:55,318 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:43:57,214 DEBUG SenderThread:10640 [sender.py:send():336] send: stats +2023-02-26 10:44:00,146 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:44:01,226 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:44:05,159 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:44:06,679 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 10:44:06,851 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:44:10,174 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:44:11,866 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:44:15,186 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:44:16,878 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:44:20,199 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:44:21,891 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:44:25,213 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:44:26,903 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:44:27,216 DEBUG SenderThread:10640 [sender.py:send():336] send: stats +2023-02-26 10:44:30,223 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:44:32,227 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:44:35,235 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:44:37,241 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:44:40,249 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:44:42,254 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:44:45,278 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:44:47,268 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:44:50,307 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:44:51,153 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 10:44:52,422 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:44:55,333 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:44:57,228 DEBUG SenderThread:10640 [sender.py:send():336] send: stats +2023-02-26 10:44:58,245 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:45:00,346 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:45:03,244 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:45:05,358 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:45:08,257 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:45:10,389 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:45:13,269 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:45:15,411 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:45:18,276 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:45:20,450 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:45:23,302 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:45:25,464 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:45:27,234 DEBUG SenderThread:10640 [sender.py:send():336] send: stats +2023-02-26 10:45:29,239 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:45:30,477 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:45:30,586 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 10:45:34,346 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:45:35,489 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:45:39,358 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:45:40,501 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:45:44,372 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:45:45,514 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:45:49,397 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:45:50,526 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:45:54,412 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:45:55,540 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:45:57,247 DEBUG SenderThread:10640 [sender.py:send():336] send: stats +2023-02-26 10:46:00,254 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:46:00,568 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:46:05,268 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:46:05,581 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:46:10,282 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:46:10,595 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:46:15,295 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:46:15,609 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:46:19,104 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 10:46:20,591 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:46:20,621 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:46:25,604 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:46:25,635 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:46:27,248 DEBUG SenderThread:10640 [sender.py:send():336] send: stats +2023-02-26 10:46:30,648 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:46:31,259 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:46:35,662 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:46:36,273 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:46:40,675 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:46:41,286 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:46:45,686 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:46:46,297 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:46:50,697 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:46:51,308 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:46:55,727 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:46:56,322 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:46:57,260 DEBUG SenderThread:10640 [sender.py:send():336] send: stats +2023-02-26 10:47:00,753 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:47:02,272 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:47:05,813 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:47:07,316 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:47:07,601 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 10:47:10,841 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:47:12,329 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:47:15,854 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:47:17,343 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:47:20,866 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:47:22,370 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:47:25,894 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:47:27,272 DEBUG SenderThread:10640 [sender.py:send():336] send: stats +2023-02-26 10:47:28,275 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:47:30,907 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:47:33,287 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:47:35,919 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:47:38,301 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:47:40,929 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:47:43,308 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:47:45,955 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:47:48,321 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:47:50,968 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:47:51,031 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 10:47:53,928 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:47:55,980 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:47:57,281 DEBUG SenderThread:10640 [sender.py:send():336] send: stats +2023-02-26 10:47:59,286 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:48:00,994 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:48:04,300 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:48:06,007 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:48:09,313 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:48:11,021 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:48:14,328 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:48:16,035 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:48:19,341 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:48:21,064 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:48:24,354 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:48:26,078 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:48:27,284 DEBUG SenderThread:10640 [sender.py:send():336] send: stats +2023-02-26 10:48:30,292 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:48:31,091 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:48:35,306 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:48:36,105 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:48:40,633 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:48:41,134 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:48:41,573 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 10:48:45,645 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:48:46,147 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:48:50,658 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:48:51,159 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:48:55,671 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:48:56,172 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:48:57,285 DEBUG SenderThread:10640 [sender.py:send():336] send: stats +2023-02-26 10:49:01,183 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:49:01,293 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:49:06,197 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:49:06,307 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:49:11,221 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:49:11,330 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:49:16,232 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:49:16,342 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:49:21,274 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:49:21,368 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:49:26,285 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:49:26,379 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:49:27,288 DEBUG SenderThread:10640 [sender.py:send():336] send: stats +2023-02-26 10:49:30,108 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 10:49:31,299 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:49:31,612 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:49:36,312 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:49:36,625 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:49:41,322 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:49:41,651 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:49:46,336 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:49:46,665 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:49:51,349 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:49:51,678 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:49:56,361 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:49:56,690 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:49:57,301 DEBUG SenderThread:10640 [sender.py:send():336] send: stats +2023-02-26 10:50:01,375 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:50:02,315 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:50:06,404 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:50:07,329 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:50:11,418 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:50:13,141 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:50:13,550 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 10:50:16,431 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:50:18,154 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:50:21,444 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:50:23,168 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:50:26,459 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:50:27,305 DEBUG SenderThread:10640 [sender.py:send():336] send: stats +2023-02-26 10:50:28,307 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:50:31,473 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:50:33,321 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:50:36,484 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:50:38,333 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:50:41,529 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:50:43,346 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:50:46,544 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:50:48,362 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:50:51,557 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:50:53,375 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:50:56,569 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:50:57,306 DEBUG SenderThread:10640 [sender.py:send():336] send: stats +2023-02-26 10:50:59,311 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:51:01,582 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:51:04,337 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:51:06,593 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:51:09,350 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:51:11,621 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:51:14,363 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:51:16,649 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:51:19,376 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:51:21,665 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:51:22,280 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 10:51:24,689 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:51:26,679 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:51:27,321 DEBUG SenderThread:10640 [sender.py:send():336] send: stats +2023-02-26 10:51:30,370 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:51:31,730 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:51:35,365 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:51:36,744 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:51:40,378 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:51:41,757 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:51:45,403 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:51:46,798 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:51:50,418 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:51:51,827 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:51:55,430 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:51:56,839 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:51:57,325 DEBUG SenderThread:10640 [sender.py:send():336] send: stats +2023-02-26 10:52:01,335 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:52:01,852 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:52:06,360 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:52:06,877 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:52:09,775 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 10:52:11,670 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:52:11,890 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:52:16,683 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:52:16,902 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:52:21,696 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:52:21,915 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:52:26,721 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:52:26,925 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:52:27,332 DEBUG SenderThread:10640 [sender.py:send():336] send: stats +2023-02-26 10:52:31,938 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:52:32,345 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:52:36,951 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:52:37,359 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:52:41,964 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:52:42,371 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:52:46,981 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:52:47,397 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:52:52,001 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:52:52,424 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:52:57,015 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:52:57,344 DEBUG SenderThread:10640 [sender.py:send():336] send: stats +2023-02-26 10:52:58,269 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 10:52:58,346 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:53:02,028 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:53:03,360 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:53:07,041 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:53:08,373 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:53:10,410 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 10:53:12,055 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:53:13,432 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:53:17,067 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:53:18,429 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:53:22,079 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:53:23,442 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:53:27,093 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:53:27,359 DEBUG SenderThread:10640 [sender.py:send():336] send: stats +2023-02-26 10:53:29,364 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:53:32,107 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:53:34,378 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:53:37,119 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:53:39,391 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:53:42,132 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:53:44,416 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:53:47,156 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:53:49,428 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:53:52,169 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:53:54,952 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:53:55,894 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 10:53:57,192 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:53:57,364 DEBUG SenderThread:10640 [sender.py:send():336] send: stats +2023-02-26 10:54:00,372 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:54:02,205 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:54:05,386 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:54:07,219 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:54:10,399 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:54:12,232 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:54:15,411 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:54:17,242 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:54:20,434 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:54:22,267 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:54:25,465 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:54:27,282 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:54:27,376 DEBUG SenderThread:10640 [sender.py:send():336] send: stats +2023-02-26 10:54:31,386 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:54:32,295 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:54:36,398 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:54:37,306 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:54:42,085 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:54:42,319 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:54:42,366 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 10:54:47,100 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:54:47,335 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:54:52,112 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:54:52,362 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:54:57,125 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:54:57,375 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:54:57,391 DEBUG SenderThread:10640 [sender.py:send():336] send: stats +2023-02-26 10:55:02,386 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:55:02,417 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:55:07,396 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:55:07,427 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:55:12,409 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:55:12,441 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:55:17,423 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:55:17,454 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:55:22,434 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:55:22,465 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:55:27,396 DEBUG SenderThread:10640 [sender.py:send():336] send: stats +2023-02-26 10:55:27,459 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:55:28,399 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:55:28,837 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 10:55:32,488 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:55:33,412 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:55:37,501 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:55:38,426 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:55:42,515 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:55:43,439 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:55:47,538 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:55:48,462 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:55:52,551 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:55:53,475 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:55:57,408 DEBUG SenderThread:10640 [sender.py:send():336] send: stats +2023-02-26 10:55:57,564 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:55:59,412 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:56:02,593 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:56:04,207 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 10:56:04,723 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:56:07,605 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:56:09,735 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:56:12,618 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:56:14,749 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:56:17,631 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:56:19,761 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:56:22,656 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:56:24,771 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:56:27,435 DEBUG SenderThread:10640 [sender.py:send():336] send: stats +2023-02-26 10:56:27,678 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:56:30,443 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:56:32,699 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:56:35,455 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:56:37,737 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:56:40,462 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:56:42,767 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:56:45,476 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:56:47,779 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:56:50,491 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:56:52,794 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:56:54,706 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 10:56:56,492 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:56:57,448 DEBUG SenderThread:10640 [sender.py:send():336] send: stats +2023-02-26 10:56:57,808 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:57:02,460 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:57:02,821 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:57:07,475 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:57:07,849 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:57:12,488 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:57:12,849 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:57:17,503 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:57:17,863 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:57:22,515 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:57:22,875 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:57:27,449 DEBUG SenderThread:10640 [sender.py:send():336] send: stats +2023-02-26 10:57:27,888 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:57:28,452 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:57:32,902 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:57:33,466 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:57:37,915 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:57:38,479 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:57:42,928 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:57:43,492 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:57:47,942 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:57:48,506 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:57:52,955 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:57:53,519 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:57:57,463 DEBUG SenderThread:10640 [sender.py:send():336] send: stats +2023-02-26 10:57:57,980 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:57:59,378 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:58:01,397 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 10:58:02,994 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:58:04,439 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:58:08,006 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:58:09,432 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:58:13,020 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:58:14,446 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:58:18,034 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:58:19,459 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:58:23,048 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:58:24,474 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:58:27,478 DEBUG SenderThread:10640 [sender.py:send():336] send: stats +2023-02-26 10:58:28,089 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:58:29,482 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:58:33,100 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:58:34,494 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:58:38,112 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:58:40,494 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:58:40,806 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 10:58:43,126 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:58:45,507 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:58:48,139 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:58:50,521 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:58:53,167 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:58:55,533 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:58:57,492 DEBUG SenderThread:10640 [sender.py:send():336] send: stats +2023-02-26 10:58:58,182 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:59:01,503 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:59:03,195 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:59:06,516 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:59:08,208 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:59:11,529 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:59:13,221 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:59:16,543 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:59:18,235 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:59:21,555 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:59:23,262 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:59:26,568 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:59:27,493 DEBUG SenderThread:10640 [sender.py:send():336] send: stats +2023-02-26 10:59:28,260 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:59:29,325 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 10:59:32,255 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:59:33,274 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:59:37,268 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:59:38,286 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:59:42,292 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:59:43,326 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:59:47,304 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:59:48,339 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:59:52,318 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:59:53,352 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 10:59:57,332 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 10:59:57,504 DEBUG SenderThread:10640 [sender.py:send():336] send: stats +2023-02-26 10:59:58,365 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:00:02,516 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 11:00:03,378 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:00:07,530 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 11:00:08,391 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:00:12,543 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 11:00:13,405 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:00:15,804 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:00:17,824 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 11:00:18,419 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:00:22,837 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 11:00:23,432 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:00:27,507 DEBUG SenderThread:10640 [sender.py:send():336] send: stats +2023-02-26 11:00:28,447 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:00:28,509 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 11:00:33,461 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:00:33,524 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 11:00:38,473 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:00:38,536 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 11:00:43,485 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:00:43,547 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 11:00:48,498 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:00:48,561 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 11:00:51,159 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:00:53,508 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:00:54,199 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 11:00:57,520 DEBUG SenderThread:10640 [sender.py:send():336] send: stats +2023-02-26 11:00:58,524 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:00:59,526 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 11:01:03,583 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:01:04,538 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 11:01:07,326 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:01:08,595 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:01:09,926 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 11:01:13,608 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:01:14,939 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 11:01:18,621 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:01:19,953 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 11:01:23,635 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:01:24,966 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 11:01:27,520 DEBUG SenderThread:10640 [sender.py:send():336] send: stats +2023-02-26 11:01:28,664 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:01:30,528 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 11:01:33,677 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:01:35,540 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 11:01:38,705 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:01:40,554 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 11:01:43,718 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:01:45,742 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:01:46,290 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 11:01:48,733 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:01:51,296 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 11:01:53,756 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:01:56,309 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 11:01:57,531 DEBUG SenderThread:10640 [sender.py:send():336] send: stats +2023-02-26 11:01:58,776 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:02:01,541 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 11:02:03,796 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:02:06,553 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 11:02:08,809 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:02:11,567 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 11:02:13,821 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:02:16,577 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 11:02:18,833 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:02:21,590 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 11:02:23,846 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:02:26,605 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 11:02:27,541 DEBUG SenderThread:10640 [sender.py:send():336] send: stats +2023-02-26 11:02:28,872 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:02:31,692 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 11:02:33,226 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:02:33,898 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:02:36,718 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 11:02:38,912 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:02:41,732 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 11:02:43,941 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:02:45,351 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:02:46,885 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 11:02:47,374 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:02:48,966 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:02:49,408 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:02:51,426 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:02:52,164 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 11:02:53,430 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:02:53,993 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:02:55,434 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:02:57,440 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:02:57,441 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 11:02:57,550 DEBUG SenderThread:10640 [sender.py:send():336] send: stats +2023-02-26 11:02:59,007 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:02:59,447 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:03:01,451 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:03:02,743 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 11:03:03,457 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:03:04,036 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:03:05,461 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:03:07,465 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:03:07,981 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 11:03:09,058 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:03:09,471 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:03:11,477 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:03:13,300 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 11:03:13,482 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:03:14,078 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:03:15,488 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:03:17,496 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:03:18,561 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 11:03:19,091 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:03:19,499 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:03:21,504 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:03:23,509 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:03:23,813 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 11:03:24,104 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:03:25,512 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:03:27,518 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:03:27,565 DEBUG SenderThread:10640 [sender.py:send():336] send: stats +2023-02-26 11:03:29,116 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:03:29,117 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 11:03:29,524 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:03:31,529 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:03:33,535 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:03:34,121 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 11:03:34,130 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:03:35,540 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:03:37,571 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:03:39,153 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:03:39,371 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 11:03:39,576 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:03:41,580 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:03:43,585 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:03:44,181 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:03:44,676 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 11:03:45,591 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:03:47,596 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:03:49,193 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:03:49,601 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:03:49,911 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 11:03:51,608 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:03:53,613 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:03:54,210 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:03:55,206 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 11:03:55,618 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:03:57,576 DEBUG SenderThread:10640 [sender.py:send():336] send: stats +2023-02-26 11:03:57,623 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:03:59,221 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:03:59,629 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:04:00,457 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 11:04:01,634 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:04:03,639 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:04:04,249 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:04:05,654 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:04:05,725 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 11:04:07,657 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:04:09,271 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:04:09,661 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:04:10,958 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 11:04:11,668 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:04:13,673 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:04:14,284 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:04:15,679 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:04:16,315 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 11:04:17,685 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:04:19,299 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:04:19,690 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:04:21,631 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 11:04:21,695 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:04:23,701 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:04:24,312 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:04:25,708 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:04:26,750 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 11:04:27,588 DEBUG SenderThread:10640 [sender.py:send():336] send: stats +2023-02-26 11:04:27,714 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:04:29,328 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:04:29,718 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:04:31,724 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:04:32,035 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 11:04:33,729 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:04:34,341 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:04:35,735 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:04:37,353 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 11:04:37,741 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:04:39,355 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:04:39,747 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:04:41,752 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:04:42,607 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 11:04:43,757 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:04:44,367 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:04:45,759 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:04:47,612 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 11:04:47,765 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:04:49,379 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:04:49,771 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:04:51,777 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:04:52,954 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 11:04:53,781 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:04:54,394 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:04:55,787 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:04:57,589 DEBUG SenderThread:10640 [sender.py:send():336] send: stats +2023-02-26 11:04:57,792 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:04:58,259 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 11:04:59,406 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:04:59,799 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:05:01,802 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:05:03,548 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 11:05:03,809 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:05:04,419 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:05:05,813 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:05:07,850 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:05:08,801 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 11:05:09,448 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:05:09,871 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:05:11,893 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:05:13,895 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:05:14,058 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 11:05:14,477 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:05:15,915 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:05:17,958 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:05:19,339 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 11:05:19,536 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:05:19,990 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:05:21,993 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:05:24,014 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:05:24,561 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:05:24,627 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 11:05:26,049 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:05:27,599 DEBUG SenderThread:10640 [sender.py:send():336] send: stats +2023-02-26 11:05:28,054 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:05:29,586 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:05:29,888 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 11:05:30,070 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:05:32,077 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:05:34,082 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:05:34,598 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:05:35,166 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 11:05:36,087 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:05:38,091 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:05:39,612 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:05:40,097 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:05:40,432 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 11:05:42,116 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:05:44,123 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:05:44,641 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:05:45,447 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 11:05:46,131 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:05:48,137 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:05:49,676 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:05:50,142 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:05:50,727 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 11:05:52,147 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:05:54,154 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:05:54,703 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:05:56,019 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 11:05:56,161 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:05:57,615 DEBUG SenderThread:10640 [sender.py:send():336] send: stats +2023-02-26 11:05:58,164 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:05:59,747 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:06:00,169 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:06:01,304 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 11:06:02,174 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:06:04,178 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:06:04,773 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:06:06,183 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:06:06,564 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 11:06:08,186 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:06:09,784 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:06:10,192 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:06:11,857 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 11:06:12,197 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:06:14,204 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:06:14,801 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:06:16,211 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:06:17,107 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 11:06:18,216 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:06:19,831 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:06:20,223 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:06:22,229 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:06:22,377 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 11:06:24,234 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:06:24,845 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:06:26,240 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:06:27,618 DEBUG SenderThread:10640 [sender.py:send():336] send: stats +2023-02-26 11:06:27,620 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 11:06:28,245 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:06:29,857 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:06:30,250 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:06:32,254 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:06:32,951 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 11:06:34,262 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:06:34,888 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:06:36,267 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:06:38,286 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:06:38,292 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 11:06:39,934 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:06:40,292 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:06:42,300 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:06:43,523 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 11:06:44,305 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:06:44,955 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:06:46,311 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:06:48,317 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:06:48,783 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 11:06:49,975 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:06:50,320 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:06:52,324 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:06:54,083 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 11:06:54,329 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:06:54,987 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:06:56,332 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:06:57,631 DEBUG SenderThread:10640 [sender.py:send():336] send: stats +2023-02-26 11:06:58,336 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:06:59,086 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 11:06:59,983 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:07:00,342 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:07:02,348 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:07:04,338 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 11:07:04,353 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:07:05,027 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:07:06,360 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:07:08,380 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:07:09,354 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 11:07:10,039 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:07:10,385 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:07:12,391 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:07:14,378 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 11:07:14,395 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:07:15,068 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:07:16,401 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:07:18,408 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:07:19,724 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 11:07:20,084 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:07:20,411 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:07:22,416 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:07:24,420 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:07:25,043 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 11:07:25,094 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:07:26,426 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:07:27,646 DEBUG SenderThread:10640 [sender.py:send():336] send: stats +2023-02-26 11:07:28,430 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:07:30,058 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 11:07:30,106 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:07:30,436 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:07:32,440 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:07:34,445 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:07:35,119 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:07:35,307 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 11:07:36,452 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:07:38,457 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:07:40,150 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:07:40,465 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\output.log +2023-02-26 11:07:40,526 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 11:07:45,172 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:07:45,549 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 11:07:50,201 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:07:50,595 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 11:07:55,234 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:07:55,596 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 11:07:57,652 DEBUG SenderThread:10640 [sender.py:send():336] send: stats +2023-02-26 11:08:00,258 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:08:00,666 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 11:08:05,285 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:08:05,693 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: status_report +2023-02-26 11:08:06,029 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: log_artifact +2023-02-26 11:08:06,029 DEBUG SenderThread:10640 [sender.py:send_request():363] send_request: log_artifact +2023-02-26 11:08:06,792 INFO Thread-17 :10640 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\media\table\train\table_0_4505be9d3f4b3d003d22.table.json +2023-02-26 11:08:06,792 INFO Thread-17 :10640 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\media +2023-02-26 11:08:06,792 INFO Thread-17 :10640 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\media\table +2023-02-26 11:08:06,793 INFO Thread-17 :10640 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\media\table\train +2023-02-26 11:08:10,447 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:08:16,065 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:08:20,767 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: log_artifact +2023-02-26 11:08:21,212 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:08:21,229 INFO Thread-17 :10640 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\media\table\val\table_0_fdd06dd19f5b94492d5e.table.json +2023-02-26 11:08:21,229 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\media\table +2023-02-26 11:08:21,229 INFO Thread-17 :10640 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\media\table\val +2023-02-26 11:08:26,236 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:08:31,257 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:08:36,282 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:08:38,005 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: log_artifact +2023-02-26 11:08:38,036 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: partial_history +2023-02-26 11:08:38,372 INFO Thread-17 :10640 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\media\table\test\table_0_e2cad4daaf2fa5eb0f6d.table.json +2023-02-26 11:08:38,373 INFO Thread-17 :10640 [dir_watcher.py:_on_file_modified():292] file/dir modified: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\media\table +2023-02-26 11:08:38,373 INFO Thread-17 :10640 [dir_watcher.py:_on_file_created():275] file/dir created: C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\files\media\table\test +2023-02-26 11:08:39,807 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: log_artifact +2023-02-26 11:08:41,338 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:08:46,360 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:08:51,393 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:08:56,425 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:09:01,448 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:09:06,476 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:09:11,523 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:09:16,535 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:09:21,548 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:09:26,584 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:09:31,606 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:09:36,615 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:09:40,673 ERROR wandb-upload_16:10640 [internal_api.py:upload_file():2004] upload_file exception https://storage.googleapis.com/wandb-artifacts-prod/wandb_artifacts/54858417/381843043/031f19b7b298080c76146260c90cb518?Expires=1677496087&GoogleAccessId=wandb-production%40appspot.gserviceaccount.com&Signature=irXTQtlqcnj7JwPFx%2FKgcDau79qJUT83HQvrH4hfihsKciHG8oJhCjC%2BcEOSJdaXUYaGpiOpBIDPuGwAu0EdUB2k9EtuGVY9%2FBKs7bQDSh3L0%2FFB%2BKtQEflNeh7mFpwujmDDhOWdp5GTx04eIWtp6iz%2BFc%2BwsIulcZNxXYXWEL1Qqzq3qkBPI6lxxAJTovNadkRiI9lOmr6P8%2FrBIOv5nXOiaP38KD829SdWl%2BEGzJ88qkDsuVqbm4usCxwpHV4bRzmTX1I4GON4jBL67aPCxJ1b%2FhEhPHjHmap4ysM4Ts2rz0g8EW%2F%2FQWt3D3zoylj%2Fyy7Imvx8MDqsEm7WAXf0Uw%3D%3D: ('Connection aborted.', ConnectionResetError(10054, 'An existing connection was forcibly closed by the remote host', None, 10054, None)) +2023-02-26 11:09:40,673 ERROR wandb-upload_16:10640 [internal_api.py:upload_file():2006] upload_file request headers: {'User-Agent': 'python-requests/2.28.1', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-MD5': 'Ax8Zt7KYCAx2FGJgyQy1GA==', 'Content-Type': 'text/html; charset=utf-8', 'Content-Length': '3704066'} +2023-02-26 11:09:40,673 ERROR wandb-upload_16:10640 [internal_api.py:upload_file():2008] upload_file response body: +2023-02-26 11:09:41,634 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:09:46,644 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:09:51,654 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:09:56,666 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:10:01,693 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:10:06,715 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:10:11,749 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:10:16,774 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:10:21,795 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:10:26,846 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:10:31,879 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:10:32,239 ERROR wandb-upload_38:10640 [internal_api.py:upload_file():2004] upload_file exception https://storage.googleapis.com/wandb-artifacts-prod/wandb_artifacts/54858417/381843043/071befe7a8091b4e27f1a3551c764945?Expires=1677496087&GoogleAccessId=wandb-production%40appspot.gserviceaccount.com&Signature=XyQ7sHXpYMIW76LqzlG8ZwLICOIU3JRBtl8wK%2BtFrvFGPbBqly%2BvyP1WQ7Y7njwTGFMsfqfUiIh5iYS1wVejW3Ob7IHulpJpAdhiZas%2B6aO92MpD4BtwEJ8fSQ0Xnw8x6Z6apkEmU4aPNF2avG%2FTs%2BVtjma1AaX%2BS2HI9xH4qUDlX2o6i2Om4nGkqt6bJ%2Fv13C91GfDtIjXM7WmHA0HyRwvCFlwofZP7ViKbyO5i6ieBT1hXfo2maE6fYBhD%2FLmQLTXoa2ahddU2G18ym%2FdQaQe3Ty8d0LVDYA%2F4TtWoI4Wu47unty485fJ9Siuci2IVlTIzP1EDT6UxGrxE4WMDew%3D%3D: ('Connection aborted.', ConnectionResetError(10054, 'An existing connection was forcibly closed by the remote host', None, 10054, None)) +2023-02-26 11:10:32,239 ERROR wandb-upload_38:10640 [internal_api.py:upload_file():2006] upload_file request headers: {'User-Agent': 'python-requests/2.28.1', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-MD5': 'Bxvv56gJG04n8aNVHHZJRQ==', 'Content-Type': 'text/html; charset=utf-8', 'Content-Length': '3745365'} +2023-02-26 11:10:32,239 ERROR wandb-upload_38:10640 [internal_api.py:upload_file():2008] upload_file response body: +2023-02-26 11:10:36,887 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:10:41,900 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:10:46,923 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:10:51,960 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:10:56,983 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:11:02,028 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:11:07,038 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:11:10,591 ERROR wandb-upload_41:10640 [internal_api.py:upload_file():2004] upload_file exception https://storage.googleapis.com/wandb-artifacts-prod/wandb_artifacts/54858417/381843043/07bc530d42f84d654a23ffefc7c068e9?Expires=1677496087&GoogleAccessId=wandb-production%40appspot.gserviceaccount.com&Signature=tBOw6J4XXrT%2BBnpx%2FJQt8EGv9bLFQygGulIKIEp9HALkYtLNfQzkwDIoytmuzwyaifBvXXEfKyBh1MV%2BOm7rt%2FX6nu%2Fzl7dd8VdtcgLU6A0B36kzaNzswLEElBX6svYsC%2FY6wRvtdWY7qSoTiobZtT43K7D%2Bt%2BeMpI7ae9fLS541Wpl50g3GkNOSub4KCTIsIRp9yKVKoUwyTyVrAU%2F06KlHGnubdvn14YvLJnUPBe8XiS9EDXfV3grDHjP8%2BMm1cs6QcVUXLJGXR5pqoKFCRtLvGouMWr%2BbpeH3WueYWRTCSFFDdOCIrY116rnECWgrhZfbS7vD4eDD87gBqg6EJA%3D%3D: ('Connection aborted.', ConnectionResetError(10054, 'An existing connection was forcibly closed by the remote host', None, 10054, None)) +2023-02-26 11:11:10,591 ERROR wandb-upload_41:10640 [internal_api.py:upload_file():2006] upload_file request headers: {'User-Agent': 'python-requests/2.28.1', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-MD5': 'B7xTDUL4TWVKI//vx8Bo6Q==', 'Content-Type': 'text/html; charset=utf-8', 'Content-Length': '3696537'} +2023-02-26 11:11:10,591 ERROR wandb-upload_41:10640 [internal_api.py:upload_file():2008] upload_file response body: +2023-02-26 11:11:10,591 INFO wandb-upload_41:10640 [retry.py:__call__():172] Retry attempt failed: +Traceback (most recent call last): + File "C:\Users\liamb\Documents\graph4stackoverflow\venv\lib\site-packages\urllib3\connectionpool.py", line 703, in urlopen + httplib_response = self._make_request( + File "C:\Users\liamb\Documents\graph4stackoverflow\venv\lib\site-packages\urllib3\connectionpool.py", line 398, in _make_request + conn.request(method, url, **httplib_request_kw) + File "C:\Users\liamb\Documents\graph4stackoverflow\venv\lib\site-packages\urllib3\connection.py", line 239, in request + super(HTTPConnection, self).request(method, url, body=body, headers=headers) + File "C:\Users\liamb\AppData\Local\Programs\Python\Python38\lib\http\client.py", line 1230, in request + self._send_request(method, url, body, headers, encode_chunked) + File "C:\Users\liamb\AppData\Local\Programs\Python\Python38\lib\http\client.py", line 1276, in _send_request + self.endheaders(body, encode_chunked=encode_chunked) + File "C:\Users\liamb\AppData\Local\Programs\Python\Python38\lib\http\client.py", line 1225, in endheaders + self._send_output(message_body, encode_chunked=encode_chunked) + File "C:\Users\liamb\AppData\Local\Programs\Python\Python38\lib\http\client.py", line 1043, in _send_output + self.send(chunk) + File "C:\Users\liamb\AppData\Local\Programs\Python\Python38\lib\http\client.py", line 965, in send + self.sock.sendall(data) + File "C:\Users\liamb\AppData\Local\Programs\Python\Python38\lib\ssl.py", line 1204, in sendall + v = self.send(byte_view[count:]) + File "C:\Users\liamb\AppData\Local\Programs\Python\Python38\lib\ssl.py", line 1173, in send + return self._sslobj.write(data) +ConnectionResetError: [WinError 10054] An existing connection was forcibly closed by the remote host + +During handling of the above exception, another exception occurred: + +Traceback (most recent call last): + File "C:\Users\liamb\Documents\graph4stackoverflow\venv\lib\site-packages\requests\adapters.py", line 489, in send + resp = conn.urlopen( + File "C:\Users\liamb\Documents\graph4stackoverflow\venv\lib\site-packages\urllib3\connectionpool.py", line 787, in urlopen + retries = retries.increment( + File "C:\Users\liamb\Documents\graph4stackoverflow\venv\lib\site-packages\urllib3\util\retry.py", line 550, in increment + raise six.reraise(type(error), error, _stacktrace) + File "C:\Users\liamb\Documents\graph4stackoverflow\venv\lib\site-packages\urllib3\packages\six.py", line 769, in reraise + raise value.with_traceback(tb) + File "C:\Users\liamb\Documents\graph4stackoverflow\venv\lib\site-packages\urllib3\connectionpool.py", line 703, in urlopen + httplib_response = self._make_request( + File "C:\Users\liamb\Documents\graph4stackoverflow\venv\lib\site-packages\urllib3\connectionpool.py", line 398, in _make_request + conn.request(method, url, **httplib_request_kw) + File "C:\Users\liamb\Documents\graph4stackoverflow\venv\lib\site-packages\urllib3\connection.py", line 239, in request + super(HTTPConnection, self).request(method, url, body=body, headers=headers) + File "C:\Users\liamb\AppData\Local\Programs\Python\Python38\lib\http\client.py", line 1230, in request + self._send_request(method, url, body, headers, encode_chunked) + File "C:\Users\liamb\AppData\Local\Programs\Python\Python38\lib\http\client.py", line 1276, in _send_request + self.endheaders(body, encode_chunked=encode_chunked) + File "C:\Users\liamb\AppData\Local\Programs\Python\Python38\lib\http\client.py", line 1225, in endheaders + self._send_output(message_body, encode_chunked=encode_chunked) + File "C:\Users\liamb\AppData\Local\Programs\Python\Python38\lib\http\client.py", line 1043, in _send_output + self.send(chunk) + File "C:\Users\liamb\AppData\Local\Programs\Python\Python38\lib\http\client.py", line 965, in send + self.sock.sendall(data) + File "C:\Users\liamb\AppData\Local\Programs\Python\Python38\lib\ssl.py", line 1204, in sendall + v = self.send(byte_view[count:]) + File "C:\Users\liamb\AppData\Local\Programs\Python\Python38\lib\ssl.py", line 1173, in send + return self._sslobj.write(data) +urllib3.exceptions.ProtocolError: ('Connection aborted.', ConnectionResetError(10054, 'An existing connection was forcibly closed by the remote host', None, 10054, None)) + +During handling of the above exception, another exception occurred: + +Traceback (most recent call last): + File "C:\Users\liamb\Documents\graph4stackoverflow\venv\lib\site-packages\wandb\sdk\internal\internal_api.py", line 1999, in upload_file + response = self._upload_file_session.put( + File "C:\Users\liamb\Documents\graph4stackoverflow\venv\lib\site-packages\requests\sessions.py", line 647, in put + return self.request("PUT", url, data=data, **kwargs) + File "C:\Users\liamb\Documents\graph4stackoverflow\venv\lib\site-packages\requests\sessions.py", line 587, in request + resp = self.send(prep, **send_kwargs) + File "C:\Users\liamb\Documents\graph4stackoverflow\venv\lib\site-packages\requests\sessions.py", line 701, in send + r = adapter.send(request, **kwargs) + File "C:\Users\liamb\Documents\graph4stackoverflow\venv\lib\site-packages\requests\adapters.py", line 547, in send + raise ConnectionError(err, request=request) +requests.exceptions.ConnectionError: ('Connection aborted.', ConnectionResetError(10054, 'An existing connection was forcibly closed by the remote host', None, 10054, None)) + +During handling of the above exception, another exception occurred: + +Traceback (most recent call last): + File "C:\Users\liamb\Documents\graph4stackoverflow\venv\lib\site-packages\wandb\sdk\lib\retry.py", line 131, in __call__ + result = self._call_fn(*args, **kwargs) + File "C:\Users\liamb\Documents\graph4stackoverflow\venv\lib\site-packages\wandb\sdk\internal\internal_api.py", line 2028, in upload_file + raise _e.with_traceback(sys.exc_info()[2]) + File "C:\Users\liamb\Documents\graph4stackoverflow\venv\lib\site-packages\wandb\sdk\internal\internal_api.py", line 1999, in upload_file + response = self._upload_file_session.put( + File "C:\Users\liamb\Documents\graph4stackoverflow\venv\lib\site-packages\requests\sessions.py", line 647, in put + return self.request("PUT", url, data=data, **kwargs) + File "C:\Users\liamb\Documents\graph4stackoverflow\venv\lib\site-packages\requests\sessions.py", line 587, in request + resp = self.send(prep, **send_kwargs) + File "C:\Users\liamb\Documents\graph4stackoverflow\venv\lib\site-packages\requests\sessions.py", line 701, in send + r = adapter.send(request, **kwargs) + File "C:\Users\liamb\Documents\graph4stackoverflow\venv\lib\site-packages\requests\adapters.py", line 547, in send + raise ConnectionError(err, request=request) +wandb.sdk.lib.retry.TransientError: None +2023-02-26 11:11:12,046 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:11:17,079 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:11:22,110 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:11:27,135 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:11:32,171 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:11:37,208 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:11:42,220 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:11:47,243 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:11:52,277 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:11:57,289 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:12:01,524 INFO wandb-upload_18:10640 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpfx139xwc +2023-02-26 11:12:02,301 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:12:07,347 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:12:12,382 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:12:17,417 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:12:20,768 INFO wandb-upload_54:10640 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpcj1ui9_u +2023-02-26 11:12:22,431 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:12:24,091 INFO wandb-upload_63:10640 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpbvz7s3w1 +2023-02-26 11:12:25,063 INFO wandb-upload_53:10640 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpnqclrwwe +2023-02-26 11:12:27,442 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:12:27,808 INFO wandb-upload_1:10640 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpg2bv3tfc +2023-02-26 11:12:30,697 INFO wandb-upload_46:10640 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmp4w59av4h +2023-02-26 11:12:32,453 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:12:34,404 INFO wandb-upload_61:10640 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpyfnxihw5 +2023-02-26 11:12:37,485 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:12:37,576 INFO wandb-upload_37:10640 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpzfbxnpfu +2023-02-26 11:12:42,519 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:12:47,568 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:12:52,506 INFO wandb-upload_50:10640 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmp2e11n3wm +2023-02-26 11:12:52,569 INFO wandb-upload_26:10640 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpmivrr7eb +2023-02-26 11:12:52,594 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:12:53,149 INFO wandb-upload_36:10640 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpym83husx +2023-02-26 11:12:57,616 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:12:58,839 INFO wandb-upload_0:10640 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpb76oia7p +2023-02-26 11:13:01,364 INFO wandb-upload_34:10640 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpke4em1j7 +2023-02-26 11:13:02,633 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:13:07,681 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:13:08,915 INFO wandb-upload_35:10640 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpc1k0qir1 +2023-02-26 11:13:11,554 INFO wandb-upload_9:10640 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpg03fw_l9 +2023-02-26 11:13:12,598 INFO wandb-upload_31:10640 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmp2u5ntjgm +2023-02-26 11:13:12,694 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:13:17,369 INFO wandb-upload_39:10640 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmp8a9tmf6z +2023-02-26 11:13:17,706 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:13:20,151 INFO wandb-upload_11:10640 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmp997oolni +2023-02-26 11:13:22,763 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:13:27,750 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive +2023-02-26 11:13:31,848 INFO wandb-upload_58:10640 [upload_job.py:push():96] Uploaded file C:\Users\liamb\AppData\Local\wandb\wandb\artifacts\staging\tmpgo8oonfx +2023-02-26 11:13:32,774 DEBUG HandlerThread:10640 [handler.py:handle_request():144] handle_request: keepalive diff --git a/embeddings/wandb/run-20230226_100155-18km5yss/logs/debug.log b/embeddings/wandb/run-20230226_100155-18km5yss/logs/debug.log new file mode 100644 index 0000000000000000000000000000000000000000..28ed76949b64941bf4a045bd72deec5c00c07674 --- /dev/null +++ b/embeddings/wandb/run-20230226_100155-18km5yss/logs/debug.log @@ -0,0 +1,24 @@ +2023-02-26 10:01:55,849 INFO MainThread:11664 [wandb_setup.py:_flush():68] Configure stats pid to 11664 +2023-02-26 10:01:55,849 INFO MainThread:11664 [wandb_setup.py:_flush():68] Loading settings from C:\Users\liamb\.config\wandb\settings +2023-02-26 10:01:55,849 INFO MainThread:11664 [wandb_setup.py:_flush():68] Loading settings from C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\settings +2023-02-26 10:01:55,849 INFO MainThread:11664 [wandb_setup.py:_flush():68] Loading settings from environment variables: {'_require_service': 'True'} +2023-02-26 10:01:55,849 INFO MainThread:11664 [wandb_setup.py:_flush():68] Inferring run settings from compute environment: {'program_relpath': 'embeddings\\hetero_GAT.py', 'program': 'C:\\Users\\liamb\\Documents\\graph4stackoverflow\\embeddings\\hetero_GAT.py'} +2023-02-26 10:01:55,850 INFO MainThread:11664 [wandb_init.py:_log_setup():492] Logging user logs to C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\logs\debug.log +2023-02-26 10:01:55,851 INFO MainThread:11664 [wandb_init.py:_log_setup():493] Logging internal logs to C:\Users\liamb\Documents\graph4stackoverflow\embeddings\wandb\run-20230226_100155-18km5yss\logs\debug-internal.log +2023-02-26 10:01:55,851 INFO MainThread:11664 [wandb_init.py:init():532] calling init triggers +2023-02-26 10:01:55,851 INFO MainThread:11664 [wandb_init.py:init():538] wandb.init called with sweep_config: {} +config: {} +2023-02-26 10:01:55,851 INFO MainThread:11664 [wandb_init.py:init():588] starting backend +2023-02-26 10:01:55,851 INFO MainThread:11664 [wandb_init.py:init():592] setting up manager +2023-02-26 10:01:55,854 INFO MainThread:11664 [backend.py:_multiprocessing_setup():106] multiprocessing start_methods=spawn, using: spawn +2023-02-26 10:01:55,858 INFO MainThread:11664 [wandb_init.py:init():599] backend started and connected +2023-02-26 10:01:55,860 INFO MainThread:11664 [wandb_init.py:init():687] updated telemetry +2023-02-26 10:01:55,907 INFO MainThread:11664 [wandb_init.py:init():727] communicating run to backend with 60.0 second timeout +2023-02-26 10:01:56,307 INFO MainThread:11664 [wandb_run.py:_on_init():2134] communicating current version +2023-02-26 10:01:56,458 INFO MainThread:11664 [wandb_run.py:_on_init():2143] got version response +2023-02-26 10:01:56,458 INFO MainThread:11664 [wandb_init.py:init():775] starting run threads in backend +2023-02-26 10:01:56,613 INFO MainThread:11664 [wandb_run.py:_console_start():2114] atexit reg +2023-02-26 10:01:56,614 INFO MainThread:11664 [wandb_run.py:_redirect():1969] redirect: SettingsConsole.WRAP_RAW +2023-02-26 10:01:56,614 INFO MainThread:11664 [wandb_run.py:_redirect():2034] Wrapping output streams. +2023-02-26 10:01:56,614 INFO MainThread:11664 [wandb_run.py:_redirect():2059] Redirects installed. +2023-02-26 10:01:56,614 INFO MainThread:11664 [wandb_init.py:init():817] run started, returning control to user process diff --git a/embeddings/wandb/run-20230226_100155-18km5yss/run-18km5yss.wandb b/embeddings/wandb/run-20230226_100155-18km5yss/run-18km5yss.wandb new file mode 100644 index 0000000000000000000000000000000000000000..69aae08035299efb7e08e826d856932a4ba0f783 Binary files /dev/null and b/embeddings/wandb/run-20230226_100155-18km5yss/run-18km5yss.wandb differ