stefanjwojcik commited on
Commit
734777a
·
verified ·
1 Parent(s): 4234138

Upload 5 files

Browse files
notebooks/claim_svm.jl ADDED
@@ -0,0 +1,51 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ## Write an SVM classifier to take embeddings, and use them to predict the label
2
+
3
+ # Get the data
4
+ import OstreaCultura as OC
5
+ dat = CSV.read("data/Climate Misinformation Library with counterclaims.csv", DataFrame)
6
+ ## Stack claims and counter claims into a single column, label as 1 for claim, 0 for counter claim
7
+ dat = stack(select(dat, r"laims"), [:Claims, :Counterclaims], variable_name=:Type, value_name=:text)
8
+ dropmissing!(dat)
9
+ dat.label = ifelse.(dat.Type .== "Claims", 1, 0)
10
+ ## Embeddings of text
11
+ model = "multilingual-e5-large"
12
+ embeds = OC.multi_embeddings(dat)
13
+ #Features
14
+ features = convert(Array, embeds.Embeddings)
15
+ y = convert(Array, dat.label)
16
+ # Generate resnet svm (resvm)
17
+ @sk_import calibration: CalibratedClassifierCV
18
+ import ScikitLearn: CrossValidation
19
+ @sk_import svm: LinearSVC
20
+ import ScikitLearn: CrossValidation
21
+ using ScikitLearn.CrossValidation: cross_val_score
22
+ resvm = LinearSVC(C=.5, loss="squared_hinge", penalty="l2", multi_class="ovr", random_state = 35552, max_iter=2000)
23
+ cv = ScikitLearn.CrossValidation.KFold(189, n_folds=5, random_state = 134, shuffle=true)
24
+ out = cross_val_score(resvm, features, y, cv = cv)
25
+ ## get precision and recall
26
+ using ScikitLearn: metrics
27
+ y_pred = ScikitLearn.CrossValidation.cross_val_predict(resvm, features, y, cv=cv)
28
+ ## roll your own precision
29
+ pre = sum((y .== 1) .& (y_pred .== 1)) / sum(y_pred .== 1)
30
+ ## roll your own recall
31
+ rec = sum((y .== 1) .& (y_pred .== 1)) / sum(y .== 1)
32
+
33
+ ## pull out the support vector embeddings
34
+ fit!(resvm, features, y)
35
+ #
36
+ sv = resvm.coef_
37
+ histogram(sv[1, :])
38
+
39
+ calsvm = CalibratedClassifierCV(resvm)
40
+ calsvm.fit(features, y)
41
+
42
+ prob_preds = calsvm.predict_proba(features)
43
+ ## Get indices of top highest probabilities in the first column
44
+ top_k = 5
45
+ top_indices = sortperm(prob_preds[:, 1], rev=true)[1:top_k]
46
+ prob_preds[top_indices, :]
47
+ dat[top_indices, :]
48
+ ## Get the indices of the top k highest probabilities in second column
49
+ top_indices = sortperm(prob_preds[:, 2], rev=true)[1:top_k]
50
+ prob_preds[top_indices, :]
51
+ dat[top_indices, :]
notebooks/embedding_notebook.jl ADDED
@@ -0,0 +1,2321 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ### A Pluto.jl notebook ###
2
+ # v0.19.45
3
+
4
+ using Markdown
5
+ using InteractiveUtils
6
+
7
+ # ╔═╡ cdb6a532-59d8-11ef-253f-a1fb2ac43958
8
+ ##
9
+ using CSV, JLD2, DataFrames, OpenAI, StatsBase, Distances, TidierPlots, Markdown, PlutoUI, MLJ, InteractiveUtils
10
+
11
+ # ╔═╡ 1872c213-90af-4924-9abc-c670857e2cb5
12
+ cd("/home/swojcik/github/misinfo_detection")
13
+
14
+ # ╔═╡ 91f5f6b3-3cc8-4bdf-8386-715d49e6d83b
15
+ md"""
16
+ ## Text Embedding Distance as Misinfo Detection
17
+
18
+ #### Method:
19
+ - Take narrative summaries *as is* --> embed
20
+ - Take text from the labeled data --> embed
21
+ - Assign a misinfo narrative to each based on proximity to one of the narrative summaries (all text gets a misinfo narrative)
22
+ - Plot the distribution of distances by misinfo label
23
+ - Select a semi-arbitrary cutoff point
24
+ - Calculate model scores
25
+ """
26
+
27
+ # ╔═╡ 8aa21d7a-24ab-41c2-accd-cb3983108ea6
28
+ begin
29
+ ## Analysis:
30
+ # What is the distribution of distances by assigned narrative and label?
31
+
32
+ ### UTILITIES ####
33
+ # Define count function
34
+ function table(df::DataFrame, cols::Vector{Symbol})
35
+ combine(groupby(df, cols), nrow)
36
+ end
37
+ #########
38
+
39
+ """
40
+ ## Embeddings to recover narratives
41
+ narrative_embeddings = create_narrative_embeddings()
42
+ """
43
+ function create_narrative_embeddings(regenerate=false)
44
+ if !regenerate && isfile("data/narrative_embeddings.jld2")
45
+ return load_object("data/narrative_embeddings.jld2")
46
+ end
47
+ @info "Regenerating narrative embeddings..."
48
+ narratives = CSV.read("data/Modified Misinformation Library.csv", DataFrame)
49
+ ## narrative Embeddings
50
+ n_embeddings = create_embeddings(ENV["OPENAI_API_KEY"], narratives[!, "Misinformation Narrative"])
51
+ ## Add vector of embeddings to dataset
52
+ narratives[!, "Embeddings"] = [x["embedding"] for x in n_embeddings.response["data"]]
53
+ # Save the embeddings
54
+ save_object("data/narrative_embeddings.jld2", narratives)
55
+ return narratives
56
+ end
57
+
58
+ """
59
+ # This is the testing data
60
+ target_embeddings = create_test_embeddings()
61
+ """
62
+ function create_test_embeddings(regenerate=false)
63
+ if !regenerate && isfile("data/test_embeddings.jld2")
64
+ return load_object("data/test_embeddings.jld2")
65
+ end
66
+ @info "Regenerating test embeddings..."
67
+ df_test = CSV.read("data/Indicator_Test.csv", DataFrame)
68
+ ## narrative Embeddings
69
+ n_embeddings = create_embeddings(ENV["OPENAI_API_KEY"], df_test[!, "text"])
70
+ ## Add vector of embeddings to dataset
71
+ df_test[!, "Embeddings"] = [x["embedding"] for x in n_embeddings.response["data"]]
72
+ # Save the embeddings
73
+ save_object("data/test_embeddings.jld2", df_test)
74
+ return df_test
75
+ end
76
+
77
+ """
78
+ ### The embeddings for each example are along the rows, so they can be compared column-wise (fast)
79
+ narrative_embeddings = create_narrative_embeddings()
80
+ target_embeddings = create_test_embeddings()
81
+ one_shot_classification!(narrative_embeddings, target_embeddings)
82
+ ## Show the results - text, closest narrative
83
+ target_embeddings[:, ["text", "Closest Narrative", "label"]] |> first(5)
84
+ """
85
+ function one_shot_classification!(narrative_embeddings, target_embeddings)
86
+ ## Matrix of embeddings
87
+ narrative_matrix = hcat(narrative_embeddings[:, "Embeddings"]...)
88
+ target_matrix = hcat(target_embeddings[:, "Embeddings"]...)
89
+ # Create a search function
90
+ function search(narrative_matrix, target_matrix)
91
+ distances = pairwise(CosineDist(), target_matrix, narrative_matrix, dims=2)
92
+ # get the index of the column with the smallest distance
93
+ narrative_index = argmin(distances, dims=2)
94
+ return narrative_index
95
+ end
96
+ # Search for the closest narrative for each test data
97
+ narrative_assignment = search(narrative_matrix, target_matrix)
98
+ target_embeddings[:, "Closest Narrative"] = [narrative_embeddings[x[2], "Misinformation Narrative"] for x in narrative_assignment[:, 1]]
99
+ return target_embeddings
100
+ end
101
+
102
+ function get_distances!(narrative_embeddings, target_embeddings)
103
+ ## Matrix of embeddings
104
+ narrative_matrix = hcat(narrative_embeddings[:, "Embeddings"]...)
105
+ target_matrix = hcat(target_embeddings[:, "Embeddings"]...)
106
+ # Create a search function
107
+ function embedding_distances(narrative_matrix, target_matrix)
108
+ distances = pairwise(CosineDist(), target_matrix, narrative_matrix, dims=2)
109
+ # get the index of the column with the smallest distance
110
+ return distances[argmin(distances, dims=2)][:, 1]
111
+ end
112
+ # Search for the closest narrative for each test data
113
+ target_embeddings[:, "Dist"] = embedding_distances(narrative_matrix, target_matrix)
114
+ return target_embeddings
115
+ end
116
+
117
+ end
118
+
119
+ # ╔═╡ 2ba50521-2fed-4fc0-a140-6af8d2c57115
120
+ begin
121
+ # Get the embeddings for the narratives
122
+ narrative_embeddings = create_narrative_embeddings()
123
+ target_embeddings = create_test_embeddings()
124
+ one_shot_classification!(narrative_embeddings, target_embeddings)
125
+ get_distances!(narrative_embeddings, target_embeddings)
126
+
127
+
128
+ end
129
+
130
+ # ╔═╡ ae0f994c-1e54-4a3f-9252-9e7d0df3cc04
131
+ md"""
132
+ ## Distribution of distances by label
133
+ """
134
+
135
+ # ╔═╡ 476da329-5c95-4825-98a9-70a490b0609c
136
+ begin
137
+ # Plot the distribution of distances by narrative and label
138
+ ## By Label
139
+ ggplot(target_embeddings, @aes(x = label, y = Dist)) +
140
+ geom_violin() + labs(x="Misinfo Label", y="Distance") #+ geom_hline()
141
+
142
+
143
+ end
144
+
145
+ # ╔═╡ 8deeb8eb-3072-4f1b-ba46-1ac6abb78091
146
+ md"""
147
+ !!! question "What Threshold?"
148
+ *Distance threshold is set to .2 based on the histogram above*
149
+ """
150
+
151
+ # ╔═╡ f5c1511a-7307-43e2-a69f-d01ffa15f700
152
+ begin
153
+ ### Assign MisinfoPred = true if distance is less than .2
154
+
155
+ target_embeddings[!, "MisinfoPred"] = target_embeddings[!, "Dist"] .< 0.2
156
+
157
+ ## Precision and Recall
158
+ y_true = target_embeddings[!, "label"]
159
+ y_pred = target_embeddings[!, "MisinfoPred"]
160
+ #confusion_matrix(y_pred, y_true)
161
+ model_scores = DataFrame(
162
+ accuracy = accuracy(y_true, y_pred),
163
+ true_positive_rate = true_positive_rate(y_true, y_pred),
164
+ false_positive_rate = false_positive_rate(y_true, y_pred),
165
+
166
+ )
167
+
168
+
169
+ end
170
+
171
+ # ╔═╡ 3905c150-ae5c-4173-9e9d-f3eed67a3642
172
+ md"""
173
+ ### Text with the Smallest Distances
174
+ """
175
+
176
+ # ╔═╡ c64f8299-3470-475a-b7f3-c72186df3973
177
+ ## Top 10 closest narratives
178
+ target_embeddings |>
179
+ (data -> filter(:label => x -> x .== 1.0, data)) |>
180
+ (data -> sort(data, :Dist)) |>
181
+ (data -> first(data, 10)) |>
182
+ (data -> select(data, ["text", "Closest Narrative", "Dist"]))
183
+
184
+ # ╔═╡ 00000000-0000-0000-0000-000000000001
185
+ PLUTO_PROJECT_TOML_CONTENTS = """
186
+ [deps]
187
+ CSV = "336ed68f-0bac-5ca0-87d4-7b16caf5d00b"
188
+ DataFrames = "a93c6f00-e57d-5684-b7b6-d8193f3e46c0"
189
+ Distances = "b4f34e82-e78d-54a5-968a-f98e89d6e8f7"
190
+ InteractiveUtils = "b77e0a4c-d291-57a0-90e8-8db25a27a240"
191
+ JLD2 = "033835bb-8acc-5ee8-8aae-3f567f8a3819"
192
+ MLJ = "add582a8-e3ab-11e8-2d5e-e98b27df1bc7"
193
+ Markdown = "d6f4376e-aef5-505a-96c1-9c027394607a"
194
+ OpenAI = "e9f21f70-7185-4079-aca2-91159181367c"
195
+ PlutoUI = "7f904dfe-b85e-4ff6-b463-dae2292396a8"
196
+ StatsBase = "2913bbd2-ae8a-5f71-8c99-4fb6c76f3a91"
197
+ TidierPlots = "337ecbd1-5042-4e2a-ae6f-ca776f97570a"
198
+
199
+ [compat]
200
+ CSV = "~0.10.14"
201
+ DataFrames = "~1.6.1"
202
+ Distances = "~0.10.11"
203
+ JLD2 = "~0.4.51"
204
+ MLJ = "~0.20.7"
205
+ OpenAI = "~0.9.0"
206
+ PlutoUI = "~0.7.52"
207
+ StatsBase = "~0.34.3"
208
+ TidierPlots = "~0.7.8"
209
+ """
210
+
211
+ # ╔═╡ 00000000-0000-0000-0000-000000000002
212
+ PLUTO_MANIFEST_TOML_CONTENTS = """
213
+ # This file is machine-generated - editing it directly is not advised
214
+
215
+ julia_version = "1.10.4"
216
+ manifest_format = "2.0"
217
+ project_hash = "6e7ef456b375be1cb86325effbba4c68db862b5e"
218
+
219
+ [[deps.ARFFFiles]]
220
+ deps = ["CategoricalArrays", "Dates", "Parsers", "Tables"]
221
+ git-tree-sha1 = "e8c8e0a2be6eb4f56b1672e46004463033daa409"
222
+ uuid = "da404889-ca92-49ff-9e8b-0aa6b4d38dc8"
223
+ version = "1.4.1"
224
+
225
+ [[deps.AbstractFFTs]]
226
+ deps = ["LinearAlgebra"]
227
+ git-tree-sha1 = "d92ad398961a3ed262d8bf04a1a2b8340f915fef"
228
+ uuid = "621f4979-c628-5d54-868e-fcf4e3e8185c"
229
+ version = "1.5.0"
230
+ weakdeps = ["ChainRulesCore", "Test"]
231
+
232
+ [deps.AbstractFFTs.extensions]
233
+ AbstractFFTsChainRulesCoreExt = "ChainRulesCore"
234
+ AbstractFFTsTestExt = "Test"
235
+
236
+ [[deps.AbstractPlutoDingetjes]]
237
+ deps = ["Pkg"]
238
+ git-tree-sha1 = "91bd53c39b9cbfb5ef4b015e8b582d344532bd0a"
239
+ uuid = "6e696c72-6542-2067-7265-42206c756150"
240
+ version = "1.2.0"
241
+
242
+ [[deps.AbstractTrees]]
243
+ git-tree-sha1 = "2d9c9a55f9c93e8887ad391fbae72f8ef55e1177"
244
+ uuid = "1520ce14-60c1-5f80-bbc7-55ef81b5835c"
245
+ version = "0.4.5"
246
+
247
+ [[deps.Accessors]]
248
+ deps = ["CompositionsBase", "ConstructionBase", "Dates", "InverseFunctions", "LinearAlgebra", "MacroTools", "Markdown", "Test"]
249
+ git-tree-sha1 = "f61b15be1d76846c0ce31d3fcfac5380ae53db6a"
250
+ uuid = "7d9f7c33-5ae7-4f3b-8dc6-eff91059b697"
251
+ version = "0.1.37"
252
+
253
+ [deps.Accessors.extensions]
254
+ AccessorsAxisKeysExt = "AxisKeys"
255
+ AccessorsIntervalSetsExt = "IntervalSets"
256
+ AccessorsStaticArraysExt = "StaticArrays"
257
+ AccessorsStructArraysExt = "StructArrays"
258
+ AccessorsUnitfulExt = "Unitful"
259
+
260
+ [deps.Accessors.weakdeps]
261
+ AxisKeys = "94b1ba4f-4ee9-5380-92f1-94cde586c3c5"
262
+ IntervalSets = "8197267c-284f-5f27-9208-e0e47529a953"
263
+ Requires = "ae029012-a4dd-5104-9daa-d747884805df"
264
+ StaticArrays = "90137ffa-7385-5640-81b9-e52037218182"
265
+ StructArrays = "09ab397b-f2b6-538f-b94a-2f83cf4a842a"
266
+ Unitful = "1986cc42-f94f-5a68-af5c-568840ba703d"
267
+
268
+ [[deps.Adapt]]
269
+ deps = ["LinearAlgebra", "Requires"]
270
+ git-tree-sha1 = "6a55b747d1812e699320963ffde36f1ebdda4099"
271
+ uuid = "79e6a3ab-5dfb-504d-930d-738a2a938a0e"
272
+ version = "4.0.4"
273
+ weakdeps = ["StaticArrays"]
274
+
275
+ [deps.Adapt.extensions]
276
+ AdaptStaticArraysExt = "StaticArrays"
277
+
278
+ [[deps.AdaptivePredicates]]
279
+ git-tree-sha1 = "7d5da5dd472490d048b081ca1bda4a7821b06456"
280
+ uuid = "35492f91-a3bd-45ad-95db-fcad7dcfedb7"
281
+ version = "1.1.1"
282
+
283
+ [[deps.AliasTables]]
284
+ deps = ["PtrArrays", "Random"]
285
+ git-tree-sha1 = "9876e1e164b144ca45e9e3198d0b689cadfed9ff"
286
+ uuid = "66dad0bd-aa9a-41b7-9441-69ab47430ed8"
287
+ version = "1.1.3"
288
+
289
+ [[deps.Animations]]
290
+ deps = ["Colors"]
291
+ git-tree-sha1 = "e81c509d2c8e49592413bfb0bb3b08150056c79d"
292
+ uuid = "27a7e980-b3e6-11e9-2bcd-0b925532e340"
293
+ version = "0.4.1"
294
+
295
+ [[deps.ArgCheck]]
296
+ git-tree-sha1 = "a3a402a35a2f7e0b87828ccabbd5ebfbebe356b4"
297
+ uuid = "dce04be8-c92d-5529-be00-80e4d2c0e197"
298
+ version = "2.3.0"
299
+
300
+ [[deps.ArgTools]]
301
+ uuid = "0dad84c5-d112-42e6-8d28-ef12dabb789f"
302
+ version = "1.1.1"
303
+
304
+ [[deps.Artifacts]]
305
+ uuid = "56f22d72-fd6d-98f1-02f0-08ddc0907c33"
306
+
307
+ [[deps.Atomix]]
308
+ deps = ["UnsafeAtomics"]
309
+ git-tree-sha1 = "c06a868224ecba914baa6942988e2f2aade419be"
310
+ uuid = "a9b6321e-bd34-4604-b9c9-b65b8de01458"
311
+ version = "0.1.0"
312
+
313
+ [[deps.Automa]]
314
+ deps = ["PrecompileTools", "TranscodingStreams"]
315
+ git-tree-sha1 = "014bc22d6c400a7703c0f5dc1fdc302440cf88be"
316
+ uuid = "67c07d97-cdcb-5c2c-af73-a7f9c32a568b"
317
+ version = "1.0.4"
318
+
319
+ [[deps.AxisAlgorithms]]
320
+ deps = ["LinearAlgebra", "Random", "SparseArrays", "WoodburyMatrices"]
321
+ git-tree-sha1 = "01b8ccb13d68535d73d2b0c23e39bd23155fb712"
322
+ uuid = "13072b0f-2c55-5437-9ae7-d433b7a33950"
323
+ version = "1.1.0"
324
+
325
+ [[deps.AxisArrays]]
326
+ deps = ["Dates", "IntervalSets", "IterTools", "RangeArrays"]
327
+ git-tree-sha1 = "16351be62963a67ac4083f748fdb3cca58bfd52f"
328
+ uuid = "39de3d68-74b9-583c-8d2d-e117c070f3a9"
329
+ version = "0.4.7"
330
+
331
+ [[deps.BangBang]]
332
+ deps = ["Accessors", "ConstructionBase", "InitialValues", "LinearAlgebra", "Requires"]
333
+ git-tree-sha1 = "e2144b631226d9eeab2d746ca8880b7ccff504ae"
334
+ uuid = "198e06fe-97b7-11e9-32a5-e1d131e6ad66"
335
+ version = "0.4.3"
336
+
337
+ [deps.BangBang.extensions]
338
+ BangBangChainRulesCoreExt = "ChainRulesCore"
339
+ BangBangDataFramesExt = "DataFrames"
340
+ BangBangStaticArraysExt = "StaticArrays"
341
+ BangBangStructArraysExt = "StructArrays"
342
+ BangBangTablesExt = "Tables"
343
+ BangBangTypedTablesExt = "TypedTables"
344
+
345
+ [deps.BangBang.weakdeps]
346
+ ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4"
347
+ DataFrames = "a93c6f00-e57d-5684-b7b6-d8193f3e46c0"
348
+ StaticArrays = "90137ffa-7385-5640-81b9-e52037218182"
349
+ StructArrays = "09ab397b-f2b6-538f-b94a-2f83cf4a842a"
350
+ Tables = "bd369af6-aec1-5ad0-b16a-f7cc5008161c"
351
+ TypedTables = "9d95f2ec-7b3d-5a63-8d20-e2491e220bb9"
352
+
353
+ [[deps.Base64]]
354
+ uuid = "2a0f44e3-6c83-55bd-87e4-b1978d98bd5f"
355
+
356
+ [[deps.Baselet]]
357
+ git-tree-sha1 = "aebf55e6d7795e02ca500a689d326ac979aaf89e"
358
+ uuid = "9718e550-a3fa-408a-8086-8db961cd8217"
359
+ version = "0.1.1"
360
+
361
+ [[deps.BitFlags]]
362
+ git-tree-sha1 = "0691e34b3bb8be9307330f88d1a3c3f25466c24d"
363
+ uuid = "d1d4a3ce-64b1-5f1a-9ba4-7e7e69966f35"
364
+ version = "0.1.9"
365
+
366
+ [[deps.Bzip2_jll]]
367
+ deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"]
368
+ git-tree-sha1 = "9e2a6b69137e6969bab0152632dcb3bc108c8bdd"
369
+ uuid = "6e34b625-4abd-537c-b88f-471c36dfa7a0"
370
+ version = "1.0.8+1"
371
+
372
+ [[deps.CEnum]]
373
+ git-tree-sha1 = "389ad5c84de1ae7cf0e28e381131c98ea87d54fc"
374
+ uuid = "fa961155-64e5-5f13-b03f-caf6b980ea82"
375
+ version = "0.5.0"
376
+
377
+ [[deps.CRC32c]]
378
+ uuid = "8bf52ea8-c179-5cab-976a-9e18b702a9bc"
379
+
380
+ [[deps.CRlibm_jll]]
381
+ deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"]
382
+ git-tree-sha1 = "e329286945d0cfc04456972ea732551869af1cfc"
383
+ uuid = "4e9b3aee-d8a1-5a3d-ad8b-7d824db253f0"
384
+ version = "1.0.1+0"
385
+
386
+ [[deps.CSV]]
387
+ deps = ["CodecZlib", "Dates", "FilePathsBase", "InlineStrings", "Mmap", "Parsers", "PooledArrays", "PrecompileTools", "SentinelArrays", "Tables", "Unicode", "WeakRefStrings", "WorkerUtilities"]
388
+ git-tree-sha1 = "6c834533dc1fabd820c1db03c839bf97e45a3fab"
389
+ uuid = "336ed68f-0bac-5ca0-87d4-7b16caf5d00b"
390
+ version = "0.10.14"
391
+
392
+ [[deps.Cairo]]
393
+ deps = ["Cairo_jll", "Colors", "Glib_jll", "Graphics", "Libdl", "Pango_jll"]
394
+ git-tree-sha1 = "d0b3f8b4ad16cb0a2988c6788646a5e6a17b6b1b"
395
+ uuid = "159f3aea-2a34-519c-b102-8c37f9878175"
396
+ version = "1.0.5"
397
+
398
+ [[deps.CairoMakie]]
399
+ deps = ["CRC32c", "Cairo", "Cairo_jll", "Colors", "FileIO", "FreeType", "GeometryBasics", "LinearAlgebra", "Makie", "PrecompileTools"]
400
+ git-tree-sha1 = "e4da5095557f24713bae4c9f50e34ff4d3b959c0"
401
+ uuid = "13f3f980-e62b-5c42-98c6-ff1f3baf88f0"
402
+ version = "0.12.5"
403
+
404
+ [[deps.Cairo_jll]]
405
+ deps = ["Artifacts", "Bzip2_jll", "CompilerSupportLibraries_jll", "Fontconfig_jll", "FreeType2_jll", "Glib_jll", "JLLWrappers", "LZO_jll", "Libdl", "Pixman_jll", "Xorg_libXext_jll", "Xorg_libXrender_jll", "Zlib_jll", "libpng_jll"]
406
+ git-tree-sha1 = "a2f1c8c668c8e3cb4cca4e57a8efdb09067bb3fd"
407
+ uuid = "83423d85-b0ee-5818-9007-b63ccbeb887a"
408
+ version = "1.18.0+2"
409
+
410
+ [[deps.Calculus]]
411
+ deps = ["LinearAlgebra"]
412
+ git-tree-sha1 = "f641eb0a4f00c343bbc32346e1217b86f3ce9dad"
413
+ uuid = "49dc2e85-a5d0-5ad3-a950-438e2897f1b9"
414
+ version = "0.5.1"
415
+
416
+ [[deps.CategoricalArrays]]
417
+ deps = ["DataAPI", "Future", "Missings", "Printf", "Requires", "Statistics", "Unicode"]
418
+ git-tree-sha1 = "1568b28f91293458345dabba6a5ea3f183250a61"
419
+ uuid = "324d7699-5711-5eae-9e2f-1d82baa6b597"
420
+ version = "0.10.8"
421
+ weakdeps = ["JSON", "RecipesBase", "SentinelArrays", "StructTypes"]
422
+
423
+ [deps.CategoricalArrays.extensions]
424
+ CategoricalArraysJSONExt = "JSON"
425
+ CategoricalArraysRecipesBaseExt = "RecipesBase"
426
+ CategoricalArraysSentinelArraysExt = "SentinelArrays"
427
+ CategoricalArraysStructTypesExt = "StructTypes"
428
+
429
+ [[deps.CategoricalDistributions]]
430
+ deps = ["CategoricalArrays", "Distributions", "Missings", "OrderedCollections", "Random", "ScientificTypes"]
431
+ git-tree-sha1 = "926862f549a82d6c3a7145bc7f1adff2a91a39f0"
432
+ uuid = "af321ab8-2d2e-40a6-b165-3d674595d28e"
433
+ version = "0.1.15"
434
+
435
+ [deps.CategoricalDistributions.extensions]
436
+ UnivariateFiniteDisplayExt = "UnicodePlots"
437
+
438
+ [deps.CategoricalDistributions.weakdeps]
439
+ UnicodePlots = "b8865327-cd53-5732-bb35-84acbb429228"
440
+
441
+ [[deps.Chain]]
442
+ git-tree-sha1 = "9ae9be75ad8ad9d26395bf625dea9beac6d519f1"
443
+ uuid = "8be319e6-bccf-4806-a6f7-6fae938471bc"
444
+ version = "0.6.0"
445
+
446
+ [[deps.ChainRulesCore]]
447
+ deps = ["Compat", "LinearAlgebra"]
448
+ git-tree-sha1 = "71acdbf594aab5bbb2cec89b208c41b4c411e49f"
449
+ uuid = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4"
450
+ version = "1.24.0"
451
+ weakdeps = ["SparseArrays"]
452
+
453
+ [deps.ChainRulesCore.extensions]
454
+ ChainRulesCoreSparseArraysExt = "SparseArrays"
455
+
456
+ [[deps.Cleaner]]
457
+ deps = ["PrettyTables", "Tables", "Unicode"]
458
+ git-tree-sha1 = "664021fefeab755dccb11667cc96263ee6d7fdf6"
459
+ uuid = "caabdcdb-0ab6-47cf-9f62-08858e44f38f"
460
+ version = "1.1.1"
461
+
462
+ [[deps.CodecZlib]]
463
+ deps = ["TranscodingStreams", "Zlib_jll"]
464
+ git-tree-sha1 = "b8fe8546d52ca154ac556809e10c75e6e7430ac8"
465
+ uuid = "944b1d66-785c-5afd-91f1-9de20f533193"
466
+ version = "0.7.5"
467
+
468
+ [[deps.ColorBrewer]]
469
+ deps = ["Colors", "JSON", "Test"]
470
+ git-tree-sha1 = "61c5334f33d91e570e1d0c3eb5465835242582c4"
471
+ uuid = "a2cac450-b92f-5266-8821-25eda20663c8"
472
+ version = "0.4.0"
473
+
474
+ [[deps.ColorSchemes]]
475
+ deps = ["ColorTypes", "ColorVectorSpace", "Colors", "FixedPointNumbers", "PrecompileTools", "Random"]
476
+ git-tree-sha1 = "b5278586822443594ff615963b0c09755771b3e0"
477
+ uuid = "35d6a980-a343-548e-a6ea-1d62b119f2f4"
478
+ version = "3.26.0"
479
+
480
+ [[deps.ColorTypes]]
481
+ deps = ["FixedPointNumbers", "Random"]
482
+ git-tree-sha1 = "b10d0b65641d57b8b4d5e234446582de5047050d"
483
+ uuid = "3da002f7-5984-5a60-b8a6-cbb66c0b333f"
484
+ version = "0.11.5"
485
+
486
+ [[deps.ColorVectorSpace]]
487
+ deps = ["ColorTypes", "FixedPointNumbers", "LinearAlgebra", "Requires", "Statistics", "TensorCore"]
488
+ git-tree-sha1 = "a1f44953f2382ebb937d60dafbe2deea4bd23249"
489
+ uuid = "c3611d14-8923-5661-9e6a-0046d554d3a4"
490
+ version = "0.10.0"
491
+ weakdeps = ["SpecialFunctions"]
492
+
493
+ [deps.ColorVectorSpace.extensions]
494
+ SpecialFunctionsExt = "SpecialFunctions"
495
+
496
+ [[deps.Colors]]
497
+ deps = ["ColorTypes", "FixedPointNumbers", "Reexport"]
498
+ git-tree-sha1 = "362a287c3aa50601b0bc359053d5c2468f0e7ce0"
499
+ uuid = "5ae59095-9a9b-59fe-a467-6f913c188581"
500
+ version = "0.12.11"
501
+
502
+ [[deps.Combinatorics]]
503
+ git-tree-sha1 = "08c8b6831dc00bfea825826be0bc8336fc369860"
504
+ uuid = "861a8166-3701-5b0c-9a16-15d98fcdc6aa"
505
+ version = "1.0.2"
506
+
507
+ [[deps.Compat]]
508
+ deps = ["TOML", "UUIDs"]
509
+ git-tree-sha1 = "b1c55339b7c6c350ee89f2c1604299660525b248"
510
+ uuid = "34da2185-b29b-5c13-b0c7-acf172513d20"
511
+ version = "4.15.0"
512
+ weakdeps = ["Dates", "LinearAlgebra"]
513
+
514
+ [deps.Compat.extensions]
515
+ CompatLinearAlgebraExt = "LinearAlgebra"
516
+
517
+ [[deps.CompilerSupportLibraries_jll]]
518
+ deps = ["Artifacts", "Libdl"]
519
+ uuid = "e66e0078-7015-5450-92f7-15fbd957f2ae"
520
+ version = "1.1.1+0"
521
+
522
+ [[deps.CompositionsBase]]
523
+ git-tree-sha1 = "802bb88cd69dfd1509f6670416bd4434015693ad"
524
+ uuid = "a33af91c-f02d-484b-be07-31d278c5ca2b"
525
+ version = "0.1.2"
526
+ weakdeps = ["InverseFunctions"]
527
+
528
+ [deps.CompositionsBase.extensions]
529
+ CompositionsBaseInverseFunctionsExt = "InverseFunctions"
530
+
531
+ [[deps.ComputationalResources]]
532
+ git-tree-sha1 = "52cb3ec90e8a8bea0e62e275ba577ad0f74821f7"
533
+ uuid = "ed09eef8-17a6-5b46-8889-db040fac31e3"
534
+ version = "0.3.2"
535
+
536
+ [[deps.ConcurrentUtilities]]
537
+ deps = ["Serialization", "Sockets"]
538
+ git-tree-sha1 = "ea32b83ca4fefa1768dc84e504cc0a94fb1ab8d1"
539
+ uuid = "f0e56b4a-5159-44fe-b623-3e5288b988bb"
540
+ version = "2.4.2"
541
+
542
+ [[deps.ConstructionBase]]
543
+ deps = ["LinearAlgebra"]
544
+ git-tree-sha1 = "d8a9c0b6ac2d9081bf76324b39c78ca3ce4f0c98"
545
+ uuid = "187b0558-2788-49d3-abe0-74a17ed4e7c9"
546
+ version = "1.5.6"
547
+ weakdeps = ["IntervalSets", "StaticArrays"]
548
+
549
+ [deps.ConstructionBase.extensions]
550
+ ConstructionBaseIntervalSetsExt = "IntervalSets"
551
+ ConstructionBaseStaticArraysExt = "StaticArrays"
552
+
553
+ [[deps.ContextVariablesX]]
554
+ deps = ["Compat", "Logging", "UUIDs"]
555
+ git-tree-sha1 = "25cc3803f1030ab855e383129dcd3dc294e322cc"
556
+ uuid = "6add18c4-b38d-439d-96f6-d6bc489c04c5"
557
+ version = "0.1.3"
558
+
559
+ [[deps.Contour]]
560
+ git-tree-sha1 = "439e35b0b36e2e5881738abc8857bd92ad6ff9a8"
561
+ uuid = "d38c429a-6771-53c6-b99e-75d170b6e991"
562
+ version = "0.6.3"
563
+
564
+ [[deps.Crayons]]
565
+ git-tree-sha1 = "249fe38abf76d48563e2f4556bebd215aa317e15"
566
+ uuid = "a8cc5b0e-0ffa-5ad4-8c14-923d3ee1735f"
567
+ version = "4.1.1"
568
+
569
+ [[deps.DataAPI]]
570
+ git-tree-sha1 = "abe83f3a2f1b857aac70ef8b269080af17764bbe"
571
+ uuid = "9a962f9c-6df0-11e9-0e5d-c546b8b5ee8a"
572
+ version = "1.16.0"
573
+
574
+ [[deps.DataFrames]]
575
+ deps = ["Compat", "DataAPI", "DataStructures", "Future", "InlineStrings", "InvertedIndices", "IteratorInterfaceExtensions", "LinearAlgebra", "Markdown", "Missings", "PooledArrays", "PrecompileTools", "PrettyTables", "Printf", "REPL", "Random", "Reexport", "SentinelArrays", "SortingAlgorithms", "Statistics", "TableTraits", "Tables", "Unicode"]
576
+ git-tree-sha1 = "04c738083f29f86e62c8afc341f0967d8717bdb8"
577
+ uuid = "a93c6f00-e57d-5684-b7b6-d8193f3e46c0"
578
+ version = "1.6.1"
579
+
580
+ [[deps.DataStructures]]
581
+ deps = ["Compat", "InteractiveUtils", "OrderedCollections"]
582
+ git-tree-sha1 = "1d0a14036acb104d9e89698bd408f63ab58cdc82"
583
+ uuid = "864edb3b-99cc-5e75-8d2d-829cb0a9cfe8"
584
+ version = "0.18.20"
585
+
586
+ [[deps.DataValueInterfaces]]
587
+ git-tree-sha1 = "bfc1187b79289637fa0ef6d4436ebdfe6905cbd6"
588
+ uuid = "e2d170a0-9d28-54be-80f0-106bbe20a464"
589
+ version = "1.0.0"
590
+
591
+ [[deps.Dates]]
592
+ deps = ["Printf"]
593
+ uuid = "ade2ca70-3891-5945-98fb-dc099432e06a"
594
+
595
+ [[deps.DefineSingletons]]
596
+ git-tree-sha1 = "0fba8b706d0178b4dc7fd44a96a92382c9065c2c"
597
+ uuid = "244e2a9f-e319-4986-a169-4d1fe445cd52"
598
+ version = "0.1.2"
599
+
600
+ [[deps.DelaunayTriangulation]]
601
+ deps = ["AdaptivePredicates", "EnumX", "ExactPredicates", "Random"]
602
+ git-tree-sha1 = "b5f1c6532d2ea71e99b74231b0a3d53fba846ced"
603
+ uuid = "927a84f5-c5f4-47a5-9785-b46e178433df"
604
+ version = "1.1.3"
605
+
606
+ [[deps.DelimitedFiles]]
607
+ deps = ["Mmap"]
608
+ git-tree-sha1 = "9e2f36d3c96a820c678f2f1f1782582fcf685bae"
609
+ uuid = "8bb1440f-4735-579b-a4ab-409b98df4dab"
610
+ version = "1.9.1"
611
+
612
+ [[deps.Distances]]
613
+ deps = ["LinearAlgebra", "Statistics", "StatsAPI"]
614
+ git-tree-sha1 = "66c4c81f259586e8f002eacebc177e1fb06363b0"
615
+ uuid = "b4f34e82-e78d-54a5-968a-f98e89d6e8f7"
616
+ version = "0.10.11"
617
+ weakdeps = ["ChainRulesCore", "SparseArrays"]
618
+
619
+ [deps.Distances.extensions]
620
+ DistancesChainRulesCoreExt = "ChainRulesCore"
621
+ DistancesSparseArraysExt = "SparseArrays"
622
+
623
+ [[deps.Distributed]]
624
+ deps = ["Random", "Serialization", "Sockets"]
625
+ uuid = "8ba89e20-285c-5b6f-9357-94700520ee1b"
626
+
627
+ [[deps.Distributions]]
628
+ deps = ["AliasTables", "FillArrays", "LinearAlgebra", "PDMats", "Printf", "QuadGK", "Random", "SpecialFunctions", "Statistics", "StatsAPI", "StatsBase", "StatsFuns"]
629
+ git-tree-sha1 = "0e0a1264b0942f1f3abb2b30891f2a590cc652ac"
630
+ uuid = "31c24e10-a181-5473-b8eb-7969acd0382f"
631
+ version = "0.25.110"
632
+
633
+ [deps.Distributions.extensions]
634
+ DistributionsChainRulesCoreExt = "ChainRulesCore"
635
+ DistributionsDensityInterfaceExt = "DensityInterface"
636
+ DistributionsTestExt = "Test"
637
+
638
+ [deps.Distributions.weakdeps]
639
+ ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4"
640
+ DensityInterface = "b429d917-457f-4dbc-8f4c-0cc954292b1d"
641
+ Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"
642
+
643
+ [[deps.DocStringExtensions]]
644
+ deps = ["LibGit2"]
645
+ git-tree-sha1 = "2fb1e02f2b635d0845df5d7c167fec4dd739b00d"
646
+ uuid = "ffbed154-4ef7-542d-bbb7-c09d3a79fcae"
647
+ version = "0.9.3"
648
+
649
+ [[deps.Downloads]]
650
+ deps = ["ArgTools", "FileWatching", "LibCURL", "NetworkOptions"]
651
+ uuid = "f43a241f-c20a-4ad4-852c-f6b1247861c6"
652
+ version = "1.6.0"
653
+
654
+ [[deps.DualNumbers]]
655
+ deps = ["Calculus", "NaNMath", "SpecialFunctions"]
656
+ git-tree-sha1 = "5837a837389fccf076445fce071c8ddaea35a566"
657
+ uuid = "fa6b7ba4-c1ee-5f82-b5fc-ecf0adba8f74"
658
+ version = "0.6.8"
659
+
660
+ [[deps.EarCut_jll]]
661
+ deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"]
662
+ git-tree-sha1 = "e3290f2d49e661fbd94046d7e3726ffcb2d41053"
663
+ uuid = "5ae413db-bbd1-5e63-b57d-d24a61df00f5"
664
+ version = "2.2.4+0"
665
+
666
+ [[deps.EarlyStopping]]
667
+ deps = ["Dates", "Statistics"]
668
+ git-tree-sha1 = "98fdf08b707aaf69f524a6cd0a67858cefe0cfb6"
669
+ uuid = "792122b4-ca99-40de-a6bc-6742525f08b6"
670
+ version = "0.3.0"
671
+
672
+ [[deps.EnumX]]
673
+ git-tree-sha1 = "bdb1942cd4c45e3c678fd11569d5cccd80976237"
674
+ uuid = "4e289a0a-7415-4d19-859d-a7e5c4648b56"
675
+ version = "1.0.4"
676
+
677
+ [[deps.ExactPredicates]]
678
+ deps = ["IntervalArithmetic", "Random", "StaticArrays"]
679
+ git-tree-sha1 = "b3f2ff58735b5f024c392fde763f29b057e4b025"
680
+ uuid = "429591f6-91af-11e9-00e2-59fbe8cec110"
681
+ version = "2.2.8"
682
+
683
+ [[deps.ExceptionUnwrapping]]
684
+ deps = ["Test"]
685
+ git-tree-sha1 = "dcb08a0d93ec0b1cdc4af184b26b591e9695423a"
686
+ uuid = "460bff9d-24e4-43bc-9d9f-a8973cb893f4"
687
+ version = "0.1.10"
688
+
689
+ [[deps.Expat_jll]]
690
+ deps = ["Artifacts", "JLLWrappers", "Libdl"]
691
+ git-tree-sha1 = "1c6317308b9dc757616f0b5cb379db10494443a7"
692
+ uuid = "2e619515-83b5-522b-bb60-26c02a35a201"
693
+ version = "2.6.2+0"
694
+
695
+ [[deps.Extents]]
696
+ git-tree-sha1 = "94997910aca72897524d2237c41eb852153b0f65"
697
+ uuid = "411431e0-e8b7-467b-b5e0-f676ba4f2910"
698
+ version = "0.1.3"
699
+
700
+ [[deps.FFMPEG_jll]]
701
+ deps = ["Artifacts", "Bzip2_jll", "FreeType2_jll", "FriBidi_jll", "JLLWrappers", "LAME_jll", "Libdl", "Ogg_jll", "OpenSSL_jll", "Opus_jll", "PCRE2_jll", "Zlib_jll", "libaom_jll", "libass_jll", "libfdk_aac_jll", "libvorbis_jll", "x264_jll", "x265_jll"]
702
+ git-tree-sha1 = "ab3f7e1819dba9434a3a5126510c8fda3a4e7000"
703
+ uuid = "b22a6f82-2f65-5046-a5b2-351ab43fb4e5"
704
+ version = "6.1.1+0"
705
+
706
+ [[deps.FFTW]]
707
+ deps = ["AbstractFFTs", "FFTW_jll", "LinearAlgebra", "MKL_jll", "Preferences", "Reexport"]
708
+ git-tree-sha1 = "4820348781ae578893311153d69049a93d05f39d"
709
+ uuid = "7a1cc6ca-52ef-59f5-83cd-3a7055c09341"
710
+ version = "1.8.0"
711
+
712
+ [[deps.FFTW_jll]]
713
+ deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"]
714
+ git-tree-sha1 = "c6033cc3892d0ef5bb9cd29b7f2f0331ea5184ea"
715
+ uuid = "f5851436-0d7a-5f13-b9de-f02708fd171a"
716
+ version = "3.3.10+0"
717
+
718
+ [[deps.FLoops]]
719
+ deps = ["BangBang", "Compat", "FLoopsBase", "InitialValues", "JuliaVariables", "MLStyle", "Serialization", "Setfield", "Transducers"]
720
+ git-tree-sha1 = "0a2e5873e9a5f54abb06418d57a8df689336a660"
721
+ uuid = "cc61a311-1640-44b5-9fba-1b764f453329"
722
+ version = "0.2.2"
723
+
724
+ [[deps.FLoopsBase]]
725
+ deps = ["ContextVariablesX"]
726
+ git-tree-sha1 = "656f7a6859be8673bf1f35da5670246b923964f7"
727
+ uuid = "b9860ae5-e623-471e-878b-f6a53c775ea6"
728
+ version = "0.1.1"
729
+
730
+ [[deps.FeatureSelection]]
731
+ deps = ["MLJModelInterface", "ScientificTypesBase", "Tables"]
732
+ git-tree-sha1 = "d78c565b6296e161193eb0f053bbcb3f1a82091d"
733
+ uuid = "33837fe5-dbff-4c9e-8c2f-c5612fe2b8b6"
734
+ version = "0.2.2"
735
+
736
+ [[deps.FileIO]]
737
+ deps = ["Pkg", "Requires", "UUIDs"]
738
+ git-tree-sha1 = "82d8afa92ecf4b52d78d869f038ebfb881267322"
739
+ uuid = "5789e2e9-d7fb-5bc7-8068-2c6fae9b9549"
740
+ version = "1.16.3"
741
+
742
+ [[deps.FilePaths]]
743
+ deps = ["FilePathsBase", "MacroTools", "Reexport", "Requires"]
744
+ git-tree-sha1 = "919d9412dbf53a2e6fe74af62a73ceed0bce0629"
745
+ uuid = "8fc22ac5-c921-52a6-82fd-178b2807b824"
746
+ version = "0.8.3"
747
+
748
+ [[deps.FilePathsBase]]
749
+ deps = ["Compat", "Dates", "Mmap", "Printf", "Test", "UUIDs"]
750
+ git-tree-sha1 = "9f00e42f8d99fdde64d40c8ea5d14269a2e2c1aa"
751
+ uuid = "48062228-2e41-5def-b9a4-89aafe57970f"
752
+ version = "0.9.21"
753
+
754
+ [[deps.FileWatching]]
755
+ uuid = "7b1f6079-737a-58dc-b8bc-7a2ca5c1b5ee"
756
+
757
+ [[deps.FillArrays]]
758
+ deps = ["LinearAlgebra"]
759
+ git-tree-sha1 = "0653c0a2396a6da5bc4766c43041ef5fd3efbe57"
760
+ uuid = "1a297f60-69ca-5386-bcde-b61e274b549b"
761
+ version = "1.11.0"
762
+ weakdeps = ["PDMats", "SparseArrays", "Statistics"]
763
+
764
+ [deps.FillArrays.extensions]
765
+ FillArraysPDMatsExt = "PDMats"
766
+ FillArraysSparseArraysExt = "SparseArrays"
767
+ FillArraysStatisticsExt = "Statistics"
768
+
769
+ [[deps.FixedPointNumbers]]
770
+ deps = ["Statistics"]
771
+ git-tree-sha1 = "05882d6995ae5c12bb5f36dd2ed3f61c98cbb172"
772
+ uuid = "53c48c17-4a7d-5ca2-90c5-79b7896eea93"
773
+ version = "0.8.5"
774
+
775
+ [[deps.Fontconfig_jll]]
776
+ deps = ["Artifacts", "Bzip2_jll", "Expat_jll", "FreeType2_jll", "JLLWrappers", "Libdl", "Libuuid_jll", "Zlib_jll"]
777
+ git-tree-sha1 = "db16beca600632c95fc8aca29890d83788dd8b23"
778
+ uuid = "a3f928ae-7b40-5064-980b-68af3947d34b"
779
+ version = "2.13.96+0"
780
+
781
+ [[deps.Format]]
782
+ git-tree-sha1 = "9c68794ef81b08086aeb32eeaf33531668d5f5fc"
783
+ uuid = "1fa38f19-a742-5d3f-a2b9-30dd87b9d5f8"
784
+ version = "1.3.7"
785
+
786
+ [[deps.FreeType]]
787
+ deps = ["CEnum", "FreeType2_jll"]
788
+ git-tree-sha1 = "907369da0f8e80728ab49c1c7e09327bf0d6d999"
789
+ uuid = "b38be410-82b0-50bf-ab77-7b57e271db43"
790
+ version = "4.1.1"
791
+
792
+ [[deps.FreeType2_jll]]
793
+ deps = ["Artifacts", "Bzip2_jll", "JLLWrappers", "Libdl", "Zlib_jll"]
794
+ git-tree-sha1 = "5c1d8ae0efc6c2e7b1fc502cbe25def8f661b7bc"
795
+ uuid = "d7e528f0-a631-5988-bf34-fe36492bcfd7"
796
+ version = "2.13.2+0"
797
+
798
+ [[deps.FreeTypeAbstraction]]
799
+ deps = ["ColorVectorSpace", "Colors", "FreeType", "GeometryBasics"]
800
+ git-tree-sha1 = "2493cdfd0740015955a8e46de4ef28f49460d8bc"
801
+ uuid = "663a7486-cb36-511b-a19d-713bb74d65c9"
802
+ version = "0.10.3"
803
+
804
+ [[deps.FriBidi_jll]]
805
+ deps = ["Artifacts", "JLLWrappers", "Libdl"]
806
+ git-tree-sha1 = "1ed150b39aebcc805c26b93a8d0122c940f64ce2"
807
+ uuid = "559328eb-81f9-559d-9380-de523a88c83c"
808
+ version = "1.0.14+0"
809
+
810
+ [[deps.Future]]
811
+ deps = ["Random"]
812
+ uuid = "9fa8497b-333b-5362-9e8d-4d0656e87820"
813
+
814
+ [[deps.GLM]]
815
+ deps = ["Distributions", "LinearAlgebra", "Printf", "Reexport", "SparseArrays", "SpecialFunctions", "Statistics", "StatsAPI", "StatsBase", "StatsFuns", "StatsModels"]
816
+ git-tree-sha1 = "273bd1cd30768a2fddfa3fd63bbc746ed7249e5f"
817
+ uuid = "38e38edf-8417-5370-95a0-9cbb8c7f171a"
818
+ version = "1.9.0"
819
+
820
+ [[deps.GPUArraysCore]]
821
+ deps = ["Adapt"]
822
+ git-tree-sha1 = "ec632f177c0d990e64d955ccc1b8c04c485a0950"
823
+ uuid = "46192b85-c4d5-4398-a991-12ede77f4527"
824
+ version = "0.1.6"
825
+
826
+ [[deps.GeoInterface]]
827
+ deps = ["Extents"]
828
+ git-tree-sha1 = "9fff8990361d5127b770e3454488360443019bb3"
829
+ uuid = "cf35fbd7-0cd7-5166-be24-54bfbe79505f"
830
+ version = "1.3.5"
831
+
832
+ [[deps.GeometryBasics]]
833
+ deps = ["EarCut_jll", "Extents", "GeoInterface", "IterTools", "LinearAlgebra", "StaticArrays", "StructArrays", "Tables"]
834
+ git-tree-sha1 = "b62f2b2d76cee0d61a2ef2b3118cd2a3215d3134"
835
+ uuid = "5c1252a2-5f33-56bf-86c9-59e7332b4326"
836
+ version = "0.4.11"
837
+
838
+ [[deps.Gettext_jll]]
839
+ deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "Libdl", "Libiconv_jll", "Pkg", "XML2_jll"]
840
+ git-tree-sha1 = "9b02998aba7bf074d14de89f9d37ca24a1a0b046"
841
+ uuid = "78b55507-aeef-58d4-861c-77aaff3498b1"
842
+ version = "0.21.0+0"
843
+
844
+ [[deps.Glib_jll]]
845
+ deps = ["Artifacts", "Gettext_jll", "JLLWrappers", "Libdl", "Libffi_jll", "Libiconv_jll", "Libmount_jll", "PCRE2_jll", "Zlib_jll"]
846
+ git-tree-sha1 = "7c82e6a6cd34e9d935e9aa4051b66c6ff3af59ba"
847
+ uuid = "7746bdde-850d-59dc-9ae8-88ece973131d"
848
+ version = "2.80.2+0"
849
+
850
+ [[deps.Graphics]]
851
+ deps = ["Colors", "LinearAlgebra", "NaNMath"]
852
+ git-tree-sha1 = "d61890399bc535850c4bf08e4e0d3a7ad0f21cbd"
853
+ uuid = "a2bd30eb-e257-5431-a919-1863eab51364"
854
+ version = "1.1.2"
855
+
856
+ [[deps.Graphite2_jll]]
857
+ deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"]
858
+ git-tree-sha1 = "344bf40dcab1073aca04aa0df4fb092f920e4011"
859
+ uuid = "3b182d85-2403-5c21-9c21-1e1f0cc25472"
860
+ version = "1.3.14+0"
861
+
862
+ [[deps.GridLayoutBase]]
863
+ deps = ["GeometryBasics", "InteractiveUtils", "Observables"]
864
+ git-tree-sha1 = "fc713f007cff99ff9e50accba6373624ddd33588"
865
+ uuid = "3955a311-db13-416c-9275-1d80ed98e5e9"
866
+ version = "0.11.0"
867
+
868
+ [[deps.Grisu]]
869
+ git-tree-sha1 = "53bb909d1151e57e2484c3d1b53e19552b887fb2"
870
+ uuid = "42e2da0e-8278-4e71-bc24-59509adca0fe"
871
+ version = "1.0.2"
872
+
873
+ [[deps.HTTP]]
874
+ deps = ["Base64", "CodecZlib", "ConcurrentUtilities", "Dates", "ExceptionUnwrapping", "Logging", "LoggingExtras", "MbedTLS", "NetworkOptions", "OpenSSL", "Random", "SimpleBufferStream", "Sockets", "URIs", "UUIDs"]
875
+ git-tree-sha1 = "d1d712be3164d61d1fb98e7ce9bcbc6cc06b45ed"
876
+ uuid = "cd3eb016-35fb-5094-929b-558a96fad6f3"
877
+ version = "1.10.8"
878
+
879
+ [[deps.HarfBuzz_jll]]
880
+ deps = ["Artifacts", "Cairo_jll", "Fontconfig_jll", "FreeType2_jll", "Glib_jll", "Graphite2_jll", "JLLWrappers", "Libdl", "Libffi_jll", "Pkg"]
881
+ git-tree-sha1 = "129acf094d168394e80ee1dc4bc06ec835e510a3"
882
+ uuid = "2e76f6c2-a576-52d4-95c1-20adfe4de566"
883
+ version = "2.8.1+1"
884
+
885
+ [[deps.HypergeometricFunctions]]
886
+ deps = ["DualNumbers", "LinearAlgebra", "OpenLibm_jll", "SpecialFunctions"]
887
+ git-tree-sha1 = "f218fe3736ddf977e0e772bc9a586b2383da2685"
888
+ uuid = "34004b35-14d8-5ef3-9330-4cdb6864b03a"
889
+ version = "0.3.23"
890
+
891
+ [[deps.Hyperscript]]
892
+ deps = ["Test"]
893
+ git-tree-sha1 = "8d511d5b81240fc8e6802386302675bdf47737b9"
894
+ uuid = "47d2ed2b-36de-50cf-bf87-49c2cf4b8b91"
895
+ version = "0.0.4"
896
+
897
+ [[deps.HypertextLiteral]]
898
+ deps = ["Tricks"]
899
+ git-tree-sha1 = "7134810b1afce04bbc1045ca1985fbe81ce17653"
900
+ uuid = "ac1192a8-f4b3-4bfe-ba22-af5b92cd3ab2"
901
+ version = "0.9.5"
902
+
903
+ [[deps.IOCapture]]
904
+ deps = ["Logging", "Random"]
905
+ git-tree-sha1 = "8b72179abc660bfab5e28472e019392b97d0985c"
906
+ uuid = "b5f81e59-6552-4d32-b1f0-c071b021bf89"
907
+ version = "0.2.4"
908
+
909
+ [[deps.ImageAxes]]
910
+ deps = ["AxisArrays", "ImageBase", "ImageCore", "Reexport", "SimpleTraits"]
911
+ git-tree-sha1 = "2e4520d67b0cef90865b3ef727594d2a58e0e1f8"
912
+ uuid = "2803e5a7-5153-5ecf-9a86-9b4c37f5f5ac"
913
+ version = "0.6.11"
914
+
915
+ [[deps.ImageBase]]
916
+ deps = ["ImageCore", "Reexport"]
917
+ git-tree-sha1 = "eb49b82c172811fd2c86759fa0553a2221feb909"
918
+ uuid = "c817782e-172a-44cc-b673-b171935fbb9e"
919
+ version = "0.1.7"
920
+
921
+ [[deps.ImageCore]]
922
+ deps = ["ColorVectorSpace", "Colors", "FixedPointNumbers", "MappedArrays", "MosaicViews", "OffsetArrays", "PaddedViews", "PrecompileTools", "Reexport"]
923
+ git-tree-sha1 = "b2a7eaa169c13f5bcae8131a83bc30eff8f71be0"
924
+ uuid = "a09fc81d-aa75-5fe9-8630-4744c3626534"
925
+ version = "0.10.2"
926
+
927
+ [[deps.ImageIO]]
928
+ deps = ["FileIO", "IndirectArrays", "JpegTurbo", "LazyModules", "Netpbm", "OpenEXR", "PNGFiles", "QOI", "Sixel", "TiffImages", "UUIDs"]
929
+ git-tree-sha1 = "437abb322a41d527c197fa800455f79d414f0a3c"
930
+ uuid = "82e4d734-157c-48bb-816b-45c225c6df19"
931
+ version = "0.6.8"
932
+
933
+ [[deps.ImageMetadata]]
934
+ deps = ["AxisArrays", "ImageAxes", "ImageBase", "ImageCore"]
935
+ git-tree-sha1 = "355e2b974f2e3212a75dfb60519de21361ad3cb7"
936
+ uuid = "bc367c6b-8a6b-528e-b4bd-a4b897500b49"
937
+ version = "0.9.9"
938
+
939
+ [[deps.Imath_jll]]
940
+ deps = ["Artifacts", "JLLWrappers", "Libdl"]
941
+ git-tree-sha1 = "0936ba688c6d201805a83da835b55c61a180db52"
942
+ uuid = "905a6f67-0a94-5f89-b386-d35d92009cd1"
943
+ version = "3.1.11+0"
944
+
945
+ [[deps.IndirectArrays]]
946
+ git-tree-sha1 = "012e604e1c7458645cb8b436f8fba789a51b257f"
947
+ uuid = "9b13fd28-a010-5f03-acff-a1bbcff69959"
948
+ version = "1.0.0"
949
+
950
+ [[deps.Inflate]]
951
+ git-tree-sha1 = "d1b1b796e47d94588b3757fe84fbf65a5ec4a80d"
952
+ uuid = "d25df0c9-e2be-5dd7-82c8-3ad0b3e990b9"
953
+ version = "0.1.5"
954
+
955
+ [[deps.InitialValues]]
956
+ git-tree-sha1 = "4da0f88e9a39111c2fa3add390ab15f3a44f3ca3"
957
+ uuid = "22cec73e-a1b8-11e9-2c92-598750a2cf9c"
958
+ version = "0.3.1"
959
+
960
+ [[deps.InlineStrings]]
961
+ git-tree-sha1 = "45521d31238e87ee9f9732561bfee12d4eebd52d"
962
+ uuid = "842dd82b-1e85-43dc-bf29-5d0ee9dffc48"
963
+ version = "1.4.2"
964
+
965
+ [deps.InlineStrings.extensions]
966
+ ArrowTypesExt = "ArrowTypes"
967
+ ParsersExt = "Parsers"
968
+
969
+ [deps.InlineStrings.weakdeps]
970
+ ArrowTypes = "31f734f8-188a-4ce0-8406-c8a06bd891cd"
971
+ Parsers = "69de0a69-1ddd-5017-9359-2bf0b02dc9f0"
972
+
973
+ [[deps.IntelOpenMP_jll]]
974
+ deps = ["Artifacts", "JLLWrappers", "Libdl"]
975
+ git-tree-sha1 = "14eb2b542e748570b56446f4c50fbfb2306ebc45"
976
+ uuid = "1d5cc7b8-4909-519e-a0f8-d0f5ad9712d0"
977
+ version = "2024.2.0+0"
978
+
979
+ [[deps.InteractiveUtils]]
980
+ deps = ["Markdown"]
981
+ uuid = "b77e0a4c-d291-57a0-90e8-8db25a27a240"
982
+
983
+ [[deps.Interpolations]]
984
+ deps = ["Adapt", "AxisAlgorithms", "ChainRulesCore", "LinearAlgebra", "OffsetArrays", "Random", "Ratios", "Requires", "SharedArrays", "SparseArrays", "StaticArrays", "WoodburyMatrices"]
985
+ git-tree-sha1 = "88a101217d7cb38a7b481ccd50d21876e1d1b0e0"
986
+ uuid = "a98d9a8b-a2ab-59e6-89dd-64a1c18fca59"
987
+ version = "0.15.1"
988
+ weakdeps = ["Unitful"]
989
+
990
+ [deps.Interpolations.extensions]
991
+ InterpolationsUnitfulExt = "Unitful"
992
+
993
+ [[deps.IntervalArithmetic]]
994
+ deps = ["CRlibm_jll", "MacroTools", "RoundingEmulator"]
995
+ git-tree-sha1 = "433b0bb201cd76cb087b017e49244f10394ebe9c"
996
+ uuid = "d1acc4aa-44c8-5952-acd4-ba5d80a2a253"
997
+ version = "0.22.14"
998
+
999
+ [deps.IntervalArithmetic.extensions]
1000
+ IntervalArithmeticDiffRulesExt = "DiffRules"
1001
+ IntervalArithmeticForwardDiffExt = "ForwardDiff"
1002
+ IntervalArithmeticRecipesBaseExt = "RecipesBase"
1003
+
1004
+ [deps.IntervalArithmetic.weakdeps]
1005
+ DiffRules = "b552c78f-8df3-52c6-915a-8e097449b14b"
1006
+ ForwardDiff = "f6369f11-7733-5829-9624-2563aa707210"
1007
+ RecipesBase = "3cdcf5f2-1ef4-517c-9805-6587b60abb01"
1008
+
1009
+ [[deps.IntervalSets]]
1010
+ git-tree-sha1 = "dba9ddf07f77f60450fe5d2e2beb9854d9a49bd0"
1011
+ uuid = "8197267c-284f-5f27-9208-e0e47529a953"
1012
+ version = "0.7.10"
1013
+ weakdeps = ["Random", "RecipesBase", "Statistics"]
1014
+
1015
+ [deps.IntervalSets.extensions]
1016
+ IntervalSetsRandomExt = "Random"
1017
+ IntervalSetsRecipesBaseExt = "RecipesBase"
1018
+ IntervalSetsStatisticsExt = "Statistics"
1019
+
1020
+ [[deps.InverseFunctions]]
1021
+ git-tree-sha1 = "2787db24f4e03daf859c6509ff87764e4182f7d1"
1022
+ uuid = "3587e190-3f89-42d0-90ee-14403ec27112"
1023
+ version = "0.1.16"
1024
+ weakdeps = ["Dates", "Test"]
1025
+
1026
+ [deps.InverseFunctions.extensions]
1027
+ InverseFunctionsDatesExt = "Dates"
1028
+ InverseFunctionsTestExt = "Test"
1029
+
1030
+ [[deps.InvertedIndices]]
1031
+ git-tree-sha1 = "0dc7b50b8d436461be01300fd8cd45aa0274b038"
1032
+ uuid = "41ab1584-1d38-5bbf-9106-f11c6c58b48f"
1033
+ version = "1.3.0"
1034
+
1035
+ [[deps.IrrationalConstants]]
1036
+ git-tree-sha1 = "630b497eafcc20001bba38a4651b327dcfc491d2"
1037
+ uuid = "92d709cd-6900-40b7-9082-c6be49f344b6"
1038
+ version = "0.2.2"
1039
+
1040
+ [[deps.Isoband]]
1041
+ deps = ["isoband_jll"]
1042
+ git-tree-sha1 = "f9b6d97355599074dc867318950adaa6f9946137"
1043
+ uuid = "f1662d9f-8043-43de-a69a-05efc1cc6ff4"
1044
+ version = "0.1.1"
1045
+
1046
+ [[deps.IterTools]]
1047
+ git-tree-sha1 = "42d5f897009e7ff2cf88db414a389e5ed1bdd023"
1048
+ uuid = "c8e1da08-722c-5040-9ed9-7db0dc04731e"
1049
+ version = "1.10.0"
1050
+
1051
+ [[deps.IterationControl]]
1052
+ deps = ["EarlyStopping", "InteractiveUtils"]
1053
+ git-tree-sha1 = "e663925ebc3d93c1150a7570d114f9ea2f664726"
1054
+ uuid = "b3c1a2ee-3fec-4384-bf48-272ea71de57c"
1055
+ version = "0.5.4"
1056
+
1057
+ [[deps.IteratorInterfaceExtensions]]
1058
+ git-tree-sha1 = "a3f24677c21f5bbe9d2a714f95dcd58337fb2856"
1059
+ uuid = "82899510-4779-5014-852e-03e436cf321d"
1060
+ version = "1.0.0"
1061
+
1062
+ [[deps.JLD2]]
1063
+ deps = ["FileIO", "MacroTools", "Mmap", "OrderedCollections", "PrecompileTools", "Reexport", "Requires", "TranscodingStreams", "UUIDs", "Unicode"]
1064
+ git-tree-sha1 = "67d4690d32c22e28818a434b293a374cc78473d3"
1065
+ uuid = "033835bb-8acc-5ee8-8aae-3f567f8a3819"
1066
+ version = "0.4.51"
1067
+
1068
+ [[deps.JLLWrappers]]
1069
+ deps = ["Artifacts", "Preferences"]
1070
+ git-tree-sha1 = "7e5d6779a1e09a36db2a7b6cff50942a0a7d0fca"
1071
+ uuid = "692b3bcd-3c85-4b1f-b108-f13ce0eb3210"
1072
+ version = "1.5.0"
1073
+
1074
+ [[deps.JSON]]
1075
+ deps = ["Dates", "Mmap", "Parsers", "Unicode"]
1076
+ git-tree-sha1 = "31e996f0a15c7b280ba9f76636b3ff9e2ae58c9a"
1077
+ uuid = "682c06a0-de6a-54ab-a142-c8b1cf79cde6"
1078
+ version = "0.21.4"
1079
+
1080
+ [[deps.JSON3]]
1081
+ deps = ["Dates", "Mmap", "Parsers", "PrecompileTools", "StructTypes", "UUIDs"]
1082
+ git-tree-sha1 = "eb3edce0ed4fa32f75a0a11217433c31d56bd48b"
1083
+ uuid = "0f8b85d8-7281-11e9-16c2-39a750bddbf1"
1084
+ version = "1.14.0"
1085
+
1086
+ [deps.JSON3.extensions]
1087
+ JSON3ArrowExt = ["ArrowTypes"]
1088
+
1089
+ [deps.JSON3.weakdeps]
1090
+ ArrowTypes = "31f734f8-188a-4ce0-8406-c8a06bd891cd"
1091
+
1092
+ [[deps.JpegTurbo]]
1093
+ deps = ["CEnum", "FileIO", "ImageCore", "JpegTurbo_jll", "TOML"]
1094
+ git-tree-sha1 = "fa6d0bcff8583bac20f1ffa708c3913ca605c611"
1095
+ uuid = "b835a17e-a41a-41e7-81f0-2f016b05efe0"
1096
+ version = "0.1.5"
1097
+
1098
+ [[deps.JpegTurbo_jll]]
1099
+ deps = ["Artifacts", "JLLWrappers", "Libdl"]
1100
+ git-tree-sha1 = "c84a835e1a09b289ffcd2271bf2a337bbdda6637"
1101
+ uuid = "aacddb02-875f-59d6-b918-886e6ef4fbf8"
1102
+ version = "3.0.3+0"
1103
+
1104
+ [[deps.JuliaVariables]]
1105
+ deps = ["MLStyle", "NameResolution"]
1106
+ git-tree-sha1 = "49fb3cb53362ddadb4415e9b73926d6b40709e70"
1107
+ uuid = "b14d175d-62b4-44ba-8fb7-3064adc8c3ec"
1108
+ version = "0.2.4"
1109
+
1110
+ [[deps.KernelAbstractions]]
1111
+ deps = ["Adapt", "Atomix", "InteractiveUtils", "LinearAlgebra", "MacroTools", "PrecompileTools", "Requires", "SparseArrays", "StaticArrays", "UUIDs", "UnsafeAtomics", "UnsafeAtomicsLLVM"]
1112
+ git-tree-sha1 = "0fac59881e91c7233a9b0d47f4b7d9432e534f0f"
1113
+ uuid = "63c18a36-062a-441e-b654-da1e3ab1ce7c"
1114
+ version = "0.9.23"
1115
+
1116
+ [deps.KernelAbstractions.extensions]
1117
+ EnzymeExt = "EnzymeCore"
1118
+
1119
+ [deps.KernelAbstractions.weakdeps]
1120
+ EnzymeCore = "f151be2c-9106-41f4-ab19-57ee4f262869"
1121
+
1122
+ [[deps.KernelDensity]]
1123
+ deps = ["Distributions", "DocStringExtensions", "FFTW", "Interpolations", "StatsBase"]
1124
+ git-tree-sha1 = "7d703202e65efa1369de1279c162b915e245eed1"
1125
+ uuid = "5ab0869b-81aa-558d-bb23-cbf5423bbe9b"
1126
+ version = "0.6.9"
1127
+
1128
+ [[deps.LAME_jll]]
1129
+ deps = ["Artifacts", "JLLWrappers", "Libdl"]
1130
+ git-tree-sha1 = "170b660facf5df5de098d866564877e119141cbd"
1131
+ uuid = "c1c5ebd0-6772-5130-a774-d5fcae4a789d"
1132
+ version = "3.100.2+0"
1133
+
1134
+ [[deps.LLVM]]
1135
+ deps = ["CEnum", "LLVMExtra_jll", "Libdl", "Preferences", "Printf", "Requires", "Unicode"]
1136
+ git-tree-sha1 = "2470e69781ddd70b8878491233cd09bc1bd7fc96"
1137
+ uuid = "929cbde3-209d-540e-8aea-75f648917ca0"
1138
+ version = "8.1.0"
1139
+
1140
+ [deps.LLVM.extensions]
1141
+ BFloat16sExt = "BFloat16s"
1142
+
1143
+ [deps.LLVM.weakdeps]
1144
+ BFloat16s = "ab4f0b2a-ad5b-11e8-123f-65d77653426b"
1145
+
1146
+ [[deps.LLVMExtra_jll]]
1147
+ deps = ["Artifacts", "JLLWrappers", "LazyArtifacts", "Libdl", "TOML"]
1148
+ git-tree-sha1 = "597d1c758c9ae5d985ba4202386a607c675ee700"
1149
+ uuid = "dad2f222-ce93-54a1-a47d-0025e8a3acab"
1150
+ version = "0.0.31+0"
1151
+
1152
+ [[deps.LLVMOpenMP_jll]]
1153
+ deps = ["Artifacts", "JLLWrappers", "Libdl"]
1154
+ git-tree-sha1 = "d986ce2d884d49126836ea94ed5bfb0f12679713"
1155
+ uuid = "1d63c593-3942-5779-bab2-d838dc0a180e"
1156
+ version = "15.0.7+0"
1157
+
1158
+ [[deps.LZO_jll]]
1159
+ deps = ["Artifacts", "JLLWrappers", "Libdl"]
1160
+ git-tree-sha1 = "70c5da094887fd2cae843b8db33920bac4b6f07d"
1161
+ uuid = "dd4b983a-f0e5-5f8d-a1b7-129d4a5fb1ac"
1162
+ version = "2.10.2+0"
1163
+
1164
+ [[deps.LaTeXStrings]]
1165
+ git-tree-sha1 = "50901ebc375ed41dbf8058da26f9de442febbbec"
1166
+ uuid = "b964fa9f-0449-5b57-a5c2-d3ea65f4040f"
1167
+ version = "1.3.1"
1168
+
1169
+ [[deps.LatinHypercubeSampling]]
1170
+ deps = ["Random", "StableRNGs", "StatsBase", "Test"]
1171
+ git-tree-sha1 = "825289d43c753c7f1bf9bed334c253e9913997f8"
1172
+ uuid = "a5e1c1ea-c99a-51d3-a14d-a9a37257b02d"
1173
+ version = "1.9.0"
1174
+
1175
+ [[deps.LazyArtifacts]]
1176
+ deps = ["Artifacts", "Pkg"]
1177
+ uuid = "4af54fe1-eca0-43a8-85a7-787d91b784e3"
1178
+
1179
+ [[deps.LazyModules]]
1180
+ git-tree-sha1 = "a560dd966b386ac9ae60bdd3a3d3a326062d3c3e"
1181
+ uuid = "8cdb02fc-e678-4876-92c5-9defec4f444e"
1182
+ version = "0.3.1"
1183
+
1184
+ [[deps.LearnAPI]]
1185
+ deps = ["InteractiveUtils", "Statistics"]
1186
+ git-tree-sha1 = "ec695822c1faaaa64cee32d0b21505e1977b4809"
1187
+ uuid = "92ad9a40-7767-427a-9ee6-6e577f1266cb"
1188
+ version = "0.1.0"
1189
+
1190
+ [[deps.LibCURL]]
1191
+ deps = ["LibCURL_jll", "MozillaCACerts_jll"]
1192
+ uuid = "b27032c2-a3e7-50c8-80cd-2d36dbcbfd21"
1193
+ version = "0.6.4"
1194
+
1195
+ [[deps.LibCURL_jll]]
1196
+ deps = ["Artifacts", "LibSSH2_jll", "Libdl", "MbedTLS_jll", "Zlib_jll", "nghttp2_jll"]
1197
+ uuid = "deac9b47-8bc7-5906-a0fe-35ac56dc84c0"
1198
+ version = "8.4.0+0"
1199
+
1200
+ [[deps.LibGit2]]
1201
+ deps = ["Base64", "LibGit2_jll", "NetworkOptions", "Printf", "SHA"]
1202
+ uuid = "76f85450-5226-5b5a-8eaa-529ad045b433"
1203
+
1204
+ [[deps.LibGit2_jll]]
1205
+ deps = ["Artifacts", "LibSSH2_jll", "Libdl", "MbedTLS_jll"]
1206
+ uuid = "e37daf67-58a4-590a-8e99-b0245dd2ffc5"
1207
+ version = "1.6.4+0"
1208
+
1209
+ [[deps.LibSSH2_jll]]
1210
+ deps = ["Artifacts", "Libdl", "MbedTLS_jll"]
1211
+ uuid = "29816b5a-b9ab-546f-933c-edad1886dfa8"
1212
+ version = "1.11.0+1"
1213
+
1214
+ [[deps.Libdl]]
1215
+ uuid = "8f399da3-3557-5675-b5ff-fb832c97cbdb"
1216
+
1217
+ [[deps.Libffi_jll]]
1218
+ deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"]
1219
+ git-tree-sha1 = "0b4a5d71f3e5200a7dff793393e09dfc2d874290"
1220
+ uuid = "e9f186c6-92d2-5b65-8a66-fee21dc1b490"
1221
+ version = "3.2.2+1"
1222
+
1223
+ [[deps.Libgcrypt_jll]]
1224
+ deps = ["Artifacts", "JLLWrappers", "Libdl", "Libgpg_error_jll"]
1225
+ git-tree-sha1 = "9fd170c4bbfd8b935fdc5f8b7aa33532c991a673"
1226
+ uuid = "d4300ac3-e22c-5743-9152-c294e39db1e4"
1227
+ version = "1.8.11+0"
1228
+
1229
+ [[deps.Libgpg_error_jll]]
1230
+ deps = ["Artifacts", "JLLWrappers", "Libdl"]
1231
+ git-tree-sha1 = "fbb1f2bef882392312feb1ede3615ddc1e9b99ed"
1232
+ uuid = "7add5ba3-2f88-524e-9cd5-f83b8a55f7b8"
1233
+ version = "1.49.0+0"
1234
+
1235
+ [[deps.Libiconv_jll]]
1236
+ deps = ["Artifacts", "JLLWrappers", "Libdl"]
1237
+ git-tree-sha1 = "f9557a255370125b405568f9767d6d195822a175"
1238
+ uuid = "94ce4f54-9a6c-5748-9c1c-f9c7231a4531"
1239
+ version = "1.17.0+0"
1240
+
1241
+ [[deps.Libmount_jll]]
1242
+ deps = ["Artifacts", "JLLWrappers", "Libdl"]
1243
+ git-tree-sha1 = "0c4f9c4f1a50d8f35048fa0532dabbadf702f81e"
1244
+ uuid = "4b2f31a3-9ecc-558c-b454-b3730dcb73e9"
1245
+ version = "2.40.1+0"
1246
+
1247
+ [[deps.Libuuid_jll]]
1248
+ deps = ["Artifacts", "JLLWrappers", "Libdl"]
1249
+ git-tree-sha1 = "5ee6203157c120d79034c748a2acba45b82b8807"
1250
+ uuid = "38a345b3-de98-5d2b-a5d3-14cd9215e700"
1251
+ version = "2.40.1+0"
1252
+
1253
+ [[deps.LinearAlgebra]]
1254
+ deps = ["Libdl", "OpenBLAS_jll", "libblastrampoline_jll"]
1255
+ uuid = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"
1256
+
1257
+ [[deps.Loess]]
1258
+ deps = ["Distances", "LinearAlgebra", "Statistics", "StatsAPI"]
1259
+ git-tree-sha1 = "a113a8be4c6d0c64e217b472fb6e61c760eb4022"
1260
+ uuid = "4345ca2d-374a-55d4-8d30-97f9976e7612"
1261
+ version = "0.6.3"
1262
+
1263
+ [[deps.LogExpFunctions]]
1264
+ deps = ["DocStringExtensions", "IrrationalConstants", "LinearAlgebra"]
1265
+ git-tree-sha1 = "a2d09619db4e765091ee5c6ffe8872849de0feea"
1266
+ uuid = "2ab3a3ac-af41-5b50-aa03-7779005ae688"
1267
+ version = "0.3.28"
1268
+
1269
+ [deps.LogExpFunctions.extensions]
1270
+ LogExpFunctionsChainRulesCoreExt = "ChainRulesCore"
1271
+ LogExpFunctionsChangesOfVariablesExt = "ChangesOfVariables"
1272
+ LogExpFunctionsInverseFunctionsExt = "InverseFunctions"
1273
+
1274
+ [deps.LogExpFunctions.weakdeps]
1275
+ ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4"
1276
+ ChangesOfVariables = "9e997f8a-9a97-42d5-a9f1-ce6bfc15e2c0"
1277
+ InverseFunctions = "3587e190-3f89-42d0-90ee-14403ec27112"
1278
+
1279
+ [[deps.Logging]]
1280
+ uuid = "56ddb016-857b-54e1-b83d-db4d58db5568"
1281
+
1282
+ [[deps.LoggingExtras]]
1283
+ deps = ["Dates", "Logging"]
1284
+ git-tree-sha1 = "c1dd6d7978c12545b4179fb6153b9250c96b0075"
1285
+ uuid = "e6f89c97-d47a-5376-807f-9c37f3926c36"
1286
+ version = "1.0.3"
1287
+
1288
+ [[deps.MIMEs]]
1289
+ git-tree-sha1 = "65f28ad4b594aebe22157d6fac869786a255b7eb"
1290
+ uuid = "6c6e2e6c-3030-632d-7369-2d6c69616d65"
1291
+ version = "0.1.4"
1292
+
1293
+ [[deps.MKL_jll]]
1294
+ deps = ["Artifacts", "IntelOpenMP_jll", "JLLWrappers", "LazyArtifacts", "Libdl", "oneTBB_jll"]
1295
+ git-tree-sha1 = "f046ccd0c6db2832a9f639e2c669c6fe867e5f4f"
1296
+ uuid = "856f044c-d86e-5d09-b602-aeab76dc8ba7"
1297
+ version = "2024.2.0+0"
1298
+
1299
+ [[deps.MLFlowClient]]
1300
+ deps = ["Dates", "FilePathsBase", "HTTP", "JSON", "ShowCases", "URIs", "UUIDs"]
1301
+ git-tree-sha1 = "9abb12b62debc27261c008daa13627255bf79967"
1302
+ uuid = "64a0f543-368b-4a9a-827a-e71edb2a0b83"
1303
+ version = "0.5.1"
1304
+
1305
+ [[deps.MLJ]]
1306
+ deps = ["CategoricalArrays", "ComputationalResources", "Distributed", "Distributions", "FeatureSelection", "LinearAlgebra", "MLJBalancing", "MLJBase", "MLJEnsembles", "MLJFlow", "MLJIteration", "MLJModels", "MLJTuning", "OpenML", "Pkg", "ProgressMeter", "Random", "Reexport", "ScientificTypes", "StatisticalMeasures", "Statistics", "StatsBase", "Tables"]
1307
+ git-tree-sha1 = "521eec7a22417d54fdc66f5dc0b7dc9628931c54"
1308
+ uuid = "add582a8-e3ab-11e8-2d5e-e98b27df1bc7"
1309
+ version = "0.20.7"
1310
+
1311
+ [[deps.MLJBalancing]]
1312
+ deps = ["MLJBase", "MLJModelInterface", "MLUtils", "OrderedCollections", "Random", "StatsBase"]
1313
+ git-tree-sha1 = "f707a01a92d664479522313907c07afa5d81df19"
1314
+ uuid = "45f359ea-796d-4f51-95a5-deb1a414c586"
1315
+ version = "0.1.5"
1316
+
1317
+ [[deps.MLJBase]]
1318
+ deps = ["CategoricalArrays", "CategoricalDistributions", "ComputationalResources", "Dates", "DelimitedFiles", "Distributed", "Distributions", "InteractiveUtils", "InvertedIndices", "LearnAPI", "LinearAlgebra", "MLJModelInterface", "Missings", "OrderedCollections", "Parameters", "PrettyTables", "ProgressMeter", "Random", "RecipesBase", "Reexport", "ScientificTypes", "Serialization", "StatisticalMeasuresBase", "StatisticalTraits", "Statistics", "StatsBase", "Tables"]
1319
+ git-tree-sha1 = "6f45e12073bc2f2e73ed0473391db38c31e879c9"
1320
+ uuid = "a7f614a8-145f-11e9-1d2a-a57a1082229d"
1321
+ version = "1.7.0"
1322
+ weakdeps = ["StatisticalMeasures"]
1323
+
1324
+ [deps.MLJBase.extensions]
1325
+ DefaultMeasuresExt = "StatisticalMeasures"
1326
+
1327
+ [[deps.MLJEnsembles]]
1328
+ deps = ["CategoricalArrays", "CategoricalDistributions", "ComputationalResources", "Distributed", "Distributions", "MLJModelInterface", "ProgressMeter", "Random", "ScientificTypesBase", "StatisticalMeasuresBase", "StatsBase"]
1329
+ git-tree-sha1 = "84a5be55a364bb6b6dc7780bbd64317ebdd3ad1e"
1330
+ uuid = "50ed68f4-41fd-4504-931a-ed422449fee0"
1331
+ version = "0.4.3"
1332
+
1333
+ [[deps.MLJFlow]]
1334
+ deps = ["MLFlowClient", "MLJBase", "MLJModelInterface"]
1335
+ git-tree-sha1 = "508bff8071d7d1902d6f1b9d1e868d58821f1cfe"
1336
+ uuid = "7b7b8358-b45c-48ea-a8ef-7ca328ad328f"
1337
+ version = "0.5.0"
1338
+
1339
+ [[deps.MLJIteration]]
1340
+ deps = ["IterationControl", "MLJBase", "Random", "Serialization"]
1341
+ git-tree-sha1 = "f93f381a82fc1768c1a99c27a84b7ea1b1ee186d"
1342
+ uuid = "614be32b-d00c-4edb-bd02-1eb411ab5e55"
1343
+ version = "0.6.2"
1344
+
1345
+ [[deps.MLJModelInterface]]
1346
+ deps = ["Random", "ScientificTypesBase", "StatisticalTraits"]
1347
+ git-tree-sha1 = "ceaff6618408d0e412619321ae43b33b40c1a733"
1348
+ uuid = "e80e1ace-859a-464e-9ed9-23947d8ae3ea"
1349
+ version = "1.11.0"
1350
+
1351
+ [[deps.MLJModels]]
1352
+ deps = ["CategoricalArrays", "CategoricalDistributions", "Combinatorics", "Dates", "Distances", "Distributions", "InteractiveUtils", "LinearAlgebra", "MLJModelInterface", "Markdown", "OrderedCollections", "Parameters", "Pkg", "PrettyPrinting", "REPL", "Random", "RelocatableFolders", "ScientificTypes", "StatisticalTraits", "Statistics", "StatsBase", "Tables"]
1353
+ git-tree-sha1 = "c1b1f72379d15079d2c97937d9c1ed38f9ab4679"
1354
+ uuid = "d491faf4-2d78-11e9-2867-c94bc002c0b7"
1355
+ version = "0.17.4"
1356
+
1357
+ [[deps.MLJTuning]]
1358
+ deps = ["ComputationalResources", "Distributed", "Distributions", "LatinHypercubeSampling", "MLJBase", "ProgressMeter", "Random", "RecipesBase", "StatisticalMeasuresBase"]
1359
+ git-tree-sha1 = "38aab60b1274ce7d6da784808e3be69e585dbbf6"
1360
+ uuid = "03970b2e-30c4-11ea-3135-d1576263f10f"
1361
+ version = "0.8.8"
1362
+
1363
+ [[deps.MLStyle]]
1364
+ git-tree-sha1 = "bc38dff0548128765760c79eb7388a4b37fae2c8"
1365
+ uuid = "d8e11817-5142-5d16-987a-aa16d5891078"
1366
+ version = "0.4.17"
1367
+
1368
+ [[deps.MLUtils]]
1369
+ deps = ["ChainRulesCore", "Compat", "DataAPI", "DelimitedFiles", "FLoops", "NNlib", "Random", "ShowCases", "SimpleTraits", "Statistics", "StatsBase", "Tables", "Transducers"]
1370
+ git-tree-sha1 = "b45738c2e3d0d402dffa32b2c1654759a2ac35a4"
1371
+ uuid = "f1d291b0-491e-4a28-83b9-f70985020b54"
1372
+ version = "0.4.4"
1373
+
1374
+ [[deps.MacroTools]]
1375
+ deps = ["Markdown", "Random"]
1376
+ git-tree-sha1 = "2fa9ee3e63fd3a4f7a9a4f4744a52f4856de82df"
1377
+ uuid = "1914dd2f-81c6-5fcd-8719-6d5c9610ff09"
1378
+ version = "0.5.13"
1379
+
1380
+ [[deps.Makie]]
1381
+ deps = ["Animations", "Base64", "CRC32c", "ColorBrewer", "ColorSchemes", "ColorTypes", "Colors", "Contour", "Dates", "DelaunayTriangulation", "Distributions", "DocStringExtensions", "Downloads", "FFMPEG_jll", "FileIO", "FilePaths", "FixedPointNumbers", "Format", "FreeType", "FreeTypeAbstraction", "GeometryBasics", "GridLayoutBase", "ImageIO", "InteractiveUtils", "IntervalSets", "Isoband", "KernelDensity", "LaTeXStrings", "LinearAlgebra", "MacroTools", "MakieCore", "Markdown", "MathTeXEngine", "Observables", "OffsetArrays", "Packing", "PlotUtils", "PolygonOps", "PrecompileTools", "Printf", "REPL", "Random", "RelocatableFolders", "Scratch", "ShaderAbstractions", "Showoff", "SignedDistanceFields", "SparseArrays", "Statistics", "StatsBase", "StatsFuns", "StructArrays", "TriplotBase", "UnicodeFun", "Unitful"]
1382
+ git-tree-sha1 = "863b9e666b5a099c8835e85476a5834f9d77c4c1"
1383
+ uuid = "ee78f7c6-11fb-53f2-987a-cfe4a2b5a57a"
1384
+ version = "0.21.5"
1385
+
1386
+ [[deps.MakieCore]]
1387
+ deps = ["ColorTypes", "GeometryBasics", "IntervalSets", "Observables"]
1388
+ git-tree-sha1 = "c1c950560397ee68ad7302ee0e3efa1b07466a2f"
1389
+ uuid = "20f20a25-4f0e-4fdf-b5d1-57303727442b"
1390
+ version = "0.8.4"
1391
+
1392
+ [[deps.MappedArrays]]
1393
+ git-tree-sha1 = "2dab0221fe2b0f2cb6754eaa743cc266339f527e"
1394
+ uuid = "dbb5928d-eab1-5f90-85c2-b9b0edb7c900"
1395
+ version = "0.4.2"
1396
+
1397
+ [[deps.Markdown]]
1398
+ deps = ["Base64"]
1399
+ uuid = "d6f4376e-aef5-505a-96c1-9c027394607a"
1400
+
1401
+ [[deps.MathTeXEngine]]
1402
+ deps = ["AbstractTrees", "Automa", "DataStructures", "FreeTypeAbstraction", "GeometryBasics", "LaTeXStrings", "REPL", "RelocatableFolders", "UnicodeFun"]
1403
+ git-tree-sha1 = "e1641f32ae592e415e3dbae7f4a188b5316d4b62"
1404
+ uuid = "0a4f8689-d25c-4efe-a92b-7142dfc1aa53"
1405
+ version = "0.6.1"
1406
+
1407
+ [[deps.MbedTLS]]
1408
+ deps = ["Dates", "MbedTLS_jll", "MozillaCACerts_jll", "NetworkOptions", "Random", "Sockets"]
1409
+ git-tree-sha1 = "c067a280ddc25f196b5e7df3877c6b226d390aaf"
1410
+ uuid = "739be429-bea8-5141-9913-cc70e7f3736d"
1411
+ version = "1.1.9"
1412
+
1413
+ [[deps.MbedTLS_jll]]
1414
+ deps = ["Artifacts", "Libdl"]
1415
+ uuid = "c8ffd9c3-330d-5841-b78e-0817d7145fa1"
1416
+ version = "2.28.2+1"
1417
+
1418
+ [[deps.MicroCollections]]
1419
+ deps = ["Accessors", "BangBang", "InitialValues"]
1420
+ git-tree-sha1 = "44d32db644e84c75dab479f1bc15ee76a1a3618f"
1421
+ uuid = "128add7d-3638-4c79-886c-908ea0c25c34"
1422
+ version = "0.2.0"
1423
+
1424
+ [[deps.Missings]]
1425
+ deps = ["DataAPI"]
1426
+ git-tree-sha1 = "ec4f7fbeab05d7747bdf98eb74d130a2a2ed298d"
1427
+ uuid = "e1d29d7a-bbdc-5cf2-9ac0-f12de2c33e28"
1428
+ version = "1.2.0"
1429
+
1430
+ [[deps.Mmap]]
1431
+ uuid = "a63ad114-7e13-5084-954f-fe012c677804"
1432
+
1433
+ [[deps.MosaicViews]]
1434
+ deps = ["MappedArrays", "OffsetArrays", "PaddedViews", "StackViews"]
1435
+ git-tree-sha1 = "7b86a5d4d70a9f5cdf2dacb3cbe6d251d1a61dbe"
1436
+ uuid = "e94cdb99-869f-56ef-bcf0-1ae2bcbe0389"
1437
+ version = "0.3.4"
1438
+
1439
+ [[deps.MozillaCACerts_jll]]
1440
+ uuid = "14a3606d-f60d-562e-9121-12d972cd8159"
1441
+ version = "2023.1.10"
1442
+
1443
+ [[deps.NNlib]]
1444
+ deps = ["Adapt", "Atomix", "ChainRulesCore", "GPUArraysCore", "KernelAbstractions", "LinearAlgebra", "Pkg", "Random", "Requires", "Statistics"]
1445
+ git-tree-sha1 = "ae52c156a63bb647f80c26319b104e99e5977e51"
1446
+ uuid = "872c559c-99b0-510c-b3b7-b6c96a88d5cd"
1447
+ version = "0.9.22"
1448
+
1449
+ [deps.NNlib.extensions]
1450
+ NNlibAMDGPUExt = "AMDGPU"
1451
+ NNlibCUDACUDNNExt = ["CUDA", "cuDNN"]
1452
+ NNlibCUDAExt = "CUDA"
1453
+ NNlibEnzymeCoreExt = "EnzymeCore"
1454
+ NNlibFFTWExt = "FFTW"
1455
+
1456
+ [deps.NNlib.weakdeps]
1457
+ AMDGPU = "21141c5a-9bdb-4563-92ae-f87d6854732e"
1458
+ CUDA = "052768ef-5323-5732-b1bb-66c8b64840ba"
1459
+ EnzymeCore = "f151be2c-9106-41f4-ab19-57ee4f262869"
1460
+ FFTW = "7a1cc6ca-52ef-59f5-83cd-3a7055c09341"
1461
+ cuDNN = "02a925ec-e4fe-4b08-9a7e-0d78e3d38ccd"
1462
+
1463
+ [[deps.NaNMath]]
1464
+ deps = ["OpenLibm_jll"]
1465
+ git-tree-sha1 = "0877504529a3e5c3343c6f8b4c0381e57e4387e4"
1466
+ uuid = "77ba4419-2d1f-58cd-9bb1-8ffee604a2e3"
1467
+ version = "1.0.2"
1468
+
1469
+ [[deps.NameResolution]]
1470
+ deps = ["PrettyPrint"]
1471
+ git-tree-sha1 = "1a0fa0e9613f46c9b8c11eee38ebb4f590013c5e"
1472
+ uuid = "71a1bf82-56d0-4bbc-8a3c-48b961074391"
1473
+ version = "0.1.5"
1474
+
1475
+ [[deps.Netpbm]]
1476
+ deps = ["FileIO", "ImageCore", "ImageMetadata"]
1477
+ git-tree-sha1 = "d92b107dbb887293622df7697a2223f9f8176fcd"
1478
+ uuid = "f09324ee-3d7c-5217-9330-fc30815ba969"
1479
+ version = "1.1.1"
1480
+
1481
+ [[deps.NetworkOptions]]
1482
+ uuid = "ca575930-c2e3-43a9-ace4-1e988b2c1908"
1483
+ version = "1.2.0"
1484
+
1485
+ [[deps.Observables]]
1486
+ git-tree-sha1 = "7438a59546cf62428fc9d1bc94729146d37a7225"
1487
+ uuid = "510215fc-4207-5dde-b226-833fc4488ee2"
1488
+ version = "0.5.5"
1489
+
1490
+ [[deps.OffsetArrays]]
1491
+ git-tree-sha1 = "1a27764e945a152f7ca7efa04de513d473e9542e"
1492
+ uuid = "6fe1bfb0-de20-5000-8ca7-80f57d26f881"
1493
+ version = "1.14.1"
1494
+ weakdeps = ["Adapt"]
1495
+
1496
+ [deps.OffsetArrays.extensions]
1497
+ OffsetArraysAdaptExt = "Adapt"
1498
+
1499
+ [[deps.Ogg_jll]]
1500
+ deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"]
1501
+ git-tree-sha1 = "887579a3eb005446d514ab7aeac5d1d027658b8f"
1502
+ uuid = "e7412a2a-1a6e-54c0-be00-318e2571c051"
1503
+ version = "1.3.5+1"
1504
+
1505
+ [[deps.OpenAI]]
1506
+ deps = ["Dates", "HTTP", "JSON3"]
1507
+ git-tree-sha1 = "c66f597044ac6cd41cbf4b191d59abbaf2003d9f"
1508
+ uuid = "e9f21f70-7185-4079-aca2-91159181367c"
1509
+ version = "0.9.0"
1510
+
1511
+ [[deps.OpenBLAS_jll]]
1512
+ deps = ["Artifacts", "CompilerSupportLibraries_jll", "Libdl"]
1513
+ uuid = "4536629a-c528-5b80-bd46-f80d51c5b363"
1514
+ version = "0.3.23+4"
1515
+
1516
+ [[deps.OpenEXR]]
1517
+ deps = ["Colors", "FileIO", "OpenEXR_jll"]
1518
+ git-tree-sha1 = "327f53360fdb54df7ecd01e96ef1983536d1e633"
1519
+ uuid = "52e1d378-f018-4a11-a4be-720524705ac7"
1520
+ version = "0.3.2"
1521
+
1522
+ [[deps.OpenEXR_jll]]
1523
+ deps = ["Artifacts", "Imath_jll", "JLLWrappers", "Libdl", "Zlib_jll"]
1524
+ git-tree-sha1 = "8292dd5c8a38257111ada2174000a33745b06d4e"
1525
+ uuid = "18a262bb-aa17-5467-a713-aee519bc75cb"
1526
+ version = "3.2.4+0"
1527
+
1528
+ [[deps.OpenLibm_jll]]
1529
+ deps = ["Artifacts", "Libdl"]
1530
+ uuid = "05823500-19ac-5b8b-9628-191a04bc5112"
1531
+ version = "0.8.1+2"
1532
+
1533
+ [[deps.OpenML]]
1534
+ deps = ["ARFFFiles", "HTTP", "JSON", "Markdown", "Pkg", "Scratch"]
1535
+ git-tree-sha1 = "6efb039ae888699d5a74fb593f6f3e10c7193e33"
1536
+ uuid = "8b6db2d4-7670-4922-a472-f9537c81ab66"
1537
+ version = "0.3.1"
1538
+
1539
+ [[deps.OpenSSL]]
1540
+ deps = ["BitFlags", "Dates", "MozillaCACerts_jll", "OpenSSL_jll", "Sockets"]
1541
+ git-tree-sha1 = "38cb508d080d21dc1128f7fb04f20387ed4c0af4"
1542
+ uuid = "4d8831e6-92b7-49fb-bdf8-b643e874388c"
1543
+ version = "1.4.3"
1544
+
1545
+ [[deps.OpenSSL_jll]]
1546
+ deps = ["Artifacts", "JLLWrappers", "Libdl"]
1547
+ git-tree-sha1 = "a028ee3cb5641cccc4c24e90c36b0a4f7707bdf5"
1548
+ uuid = "458c3c95-2e84-50aa-8efc-19380b2a3a95"
1549
+ version = "3.0.14+0"
1550
+
1551
+ [[deps.OpenSpecFun_jll]]
1552
+ deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "Libdl", "Pkg"]
1553
+ git-tree-sha1 = "13652491f6856acfd2db29360e1bbcd4565d04f1"
1554
+ uuid = "efe28fd5-8261-553b-a9e1-b2916fc3738e"
1555
+ version = "0.5.5+0"
1556
+
1557
+ [[deps.Opus_jll]]
1558
+ deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"]
1559
+ git-tree-sha1 = "51a08fb14ec28da2ec7a927c4337e4332c2a4720"
1560
+ uuid = "91d4177d-7536-5919-b921-800302f37372"
1561
+ version = "1.3.2+0"
1562
+
1563
+ [[deps.OrderedCollections]]
1564
+ git-tree-sha1 = "dfdf5519f235516220579f949664f1bf44e741c5"
1565
+ uuid = "bac558e1-5e72-5ebc-8fee-abe8a469f55d"
1566
+ version = "1.6.3"
1567
+
1568
+ [[deps.PCRE2_jll]]
1569
+ deps = ["Artifacts", "Libdl"]
1570
+ uuid = "efcefdf7-47ab-520b-bdef-62a2eaa19f15"
1571
+ version = "10.42.0+1"
1572
+
1573
+ [[deps.PDMats]]
1574
+ deps = ["LinearAlgebra", "SparseArrays", "SuiteSparse"]
1575
+ git-tree-sha1 = "949347156c25054de2db3b166c52ac4728cbad65"
1576
+ uuid = "90014a1f-27ba-587c-ab20-58faa44d9150"
1577
+ version = "0.11.31"
1578
+
1579
+ [[deps.PNGFiles]]
1580
+ deps = ["Base64", "CEnum", "ImageCore", "IndirectArrays", "OffsetArrays", "libpng_jll"]
1581
+ git-tree-sha1 = "67186a2bc9a90f9f85ff3cc8277868961fb57cbd"
1582
+ uuid = "f57f5aa1-a3ce-4bc8-8ab9-96f992907883"
1583
+ version = "0.4.3"
1584
+
1585
+ [[deps.Packing]]
1586
+ deps = ["GeometryBasics"]
1587
+ git-tree-sha1 = "ec3edfe723df33528e085e632414499f26650501"
1588
+ uuid = "19eb6ba3-879d-56ad-ad62-d5c202156566"
1589
+ version = "0.5.0"
1590
+
1591
+ [[deps.PaddedViews]]
1592
+ deps = ["OffsetArrays"]
1593
+ git-tree-sha1 = "0fac6313486baae819364c52b4f483450a9d793f"
1594
+ uuid = "5432bcbf-9aad-5242-b902-cca2824c8663"
1595
+ version = "0.5.12"
1596
+
1597
+ [[deps.Pango_jll]]
1598
+ deps = ["Artifacts", "Cairo_jll", "Fontconfig_jll", "FreeType2_jll", "FriBidi_jll", "Glib_jll", "HarfBuzz_jll", "JLLWrappers", "Libdl"]
1599
+ git-tree-sha1 = "cb5a2ab6763464ae0f19c86c56c63d4a2b0f5bda"
1600
+ uuid = "36c8627f-9965-5494-a995-c6b170f724f3"
1601
+ version = "1.52.2+0"
1602
+
1603
+ [[deps.Parameters]]
1604
+ deps = ["OrderedCollections", "UnPack"]
1605
+ git-tree-sha1 = "34c0e9ad262e5f7fc75b10a9952ca7692cfc5fbe"
1606
+ uuid = "d96e819e-fc66-5662-9728-84c9c7592b0a"
1607
+ version = "0.12.3"
1608
+
1609
+ [[deps.Parsers]]
1610
+ deps = ["Dates", "PrecompileTools", "UUIDs"]
1611
+ git-tree-sha1 = "8489905bcdbcfac64d1daa51ca07c0d8f0283821"
1612
+ uuid = "69de0a69-1ddd-5017-9359-2bf0b02dc9f0"
1613
+ version = "2.8.1"
1614
+
1615
+ [[deps.Pixman_jll]]
1616
+ deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "LLVMOpenMP_jll", "Libdl"]
1617
+ git-tree-sha1 = "35621f10a7531bc8fa58f74610b1bfb70a3cfc6b"
1618
+ uuid = "30392449-352a-5448-841d-b1acce4e97dc"
1619
+ version = "0.43.4+0"
1620
+
1621
+ [[deps.Pkg]]
1622
+ deps = ["Artifacts", "Dates", "Downloads", "FileWatching", "LibGit2", "Libdl", "Logging", "Markdown", "Printf", "REPL", "Random", "SHA", "Serialization", "TOML", "Tar", "UUIDs", "p7zip_jll"]
1623
+ uuid = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f"
1624
+ version = "1.10.0"
1625
+
1626
+ [[deps.PkgVersion]]
1627
+ deps = ["Pkg"]
1628
+ git-tree-sha1 = "f9501cc0430a26bc3d156ae1b5b0c1b47af4d6da"
1629
+ uuid = "eebad327-c553-4316-9ea0-9fa01ccd7688"
1630
+ version = "0.3.3"
1631
+
1632
+ [[deps.PlotUtils]]
1633
+ deps = ["ColorSchemes", "Colors", "Dates", "PrecompileTools", "Printf", "Random", "Reexport", "Statistics"]
1634
+ git-tree-sha1 = "7b1a9df27f072ac4c9c7cbe5efb198489258d1f5"
1635
+ uuid = "995b91a9-d308-5afd-9ec6-746e21dbc043"
1636
+ version = "1.4.1"
1637
+
1638
+ [[deps.PlutoUI]]
1639
+ deps = ["AbstractPlutoDingetjes", "Base64", "ColorTypes", "Dates", "FixedPointNumbers", "Hyperscript", "HypertextLiteral", "IOCapture", "InteractiveUtils", "JSON", "Logging", "MIMEs", "Markdown", "Random", "Reexport", "URIs", "UUIDs"]
1640
+ git-tree-sha1 = "e47cd150dbe0443c3a3651bc5b9cbd5576ab75b7"
1641
+ uuid = "7f904dfe-b85e-4ff6-b463-dae2292396a8"
1642
+ version = "0.7.52"
1643
+
1644
+ [[deps.PolygonOps]]
1645
+ git-tree-sha1 = "77b3d3605fc1cd0b42d95eba87dfcd2bf67d5ff6"
1646
+ uuid = "647866c9-e3ac-4575-94e7-e3d426903924"
1647
+ version = "0.1.2"
1648
+
1649
+ [[deps.PooledArrays]]
1650
+ deps = ["DataAPI", "Future"]
1651
+ git-tree-sha1 = "36d8b4b899628fb92c2749eb488d884a926614d3"
1652
+ uuid = "2dfb63ee-cc39-5dd5-95bd-886bf059d720"
1653
+ version = "1.4.3"
1654
+
1655
+ [[deps.PrecompileTools]]
1656
+ deps = ["Preferences"]
1657
+ git-tree-sha1 = "5aa36f7049a63a1528fe8f7c3f2113413ffd4e1f"
1658
+ uuid = "aea7be01-6a6a-4083-8856-8a6e6704d82a"
1659
+ version = "1.2.1"
1660
+
1661
+ [[deps.Preferences]]
1662
+ deps = ["TOML"]
1663
+ git-tree-sha1 = "9306f6085165d270f7e3db02af26a400d580f5c6"
1664
+ uuid = "21216c6a-2e73-6563-6e65-726566657250"
1665
+ version = "1.4.3"
1666
+
1667
+ [[deps.PrettyPrint]]
1668
+ git-tree-sha1 = "632eb4abab3449ab30c5e1afaa874f0b98b586e4"
1669
+ uuid = "8162dcfd-2161-5ef2-ae6c-7681170c5f98"
1670
+ version = "0.2.0"
1671
+
1672
+ [[deps.PrettyPrinting]]
1673
+ git-tree-sha1 = "142ee93724a9c5d04d78df7006670a93ed1b244e"
1674
+ uuid = "54e16d92-306c-5ea0-a30b-337be88ac337"
1675
+ version = "0.4.2"
1676
+
1677
+ [[deps.PrettyTables]]
1678
+ deps = ["Crayons", "LaTeXStrings", "Markdown", "PrecompileTools", "Printf", "Reexport", "StringManipulation", "Tables"]
1679
+ git-tree-sha1 = "66b20dd35966a748321d3b2537c4584cf40387c7"
1680
+ uuid = "08abe8d2-0d0c-5749-adfa-8a2ac140af0d"
1681
+ version = "2.3.2"
1682
+
1683
+ [[deps.Printf]]
1684
+ deps = ["Unicode"]
1685
+ uuid = "de0858da-6303-5e67-8744-51eddeeeb8d7"
1686
+
1687
+ [[deps.ProgressMeter]]
1688
+ deps = ["Distributed", "Printf"]
1689
+ git-tree-sha1 = "8f6bc219586aef8baf0ff9a5fe16ee9c70cb65e4"
1690
+ uuid = "92933f4c-e287-5a05-a399-4b506db050ca"
1691
+ version = "1.10.2"
1692
+
1693
+ [[deps.PtrArrays]]
1694
+ git-tree-sha1 = "f011fbb92c4d401059b2212c05c0601b70f8b759"
1695
+ uuid = "43287f4e-b6f4-7ad1-bb20-aadabca52c3d"
1696
+ version = "1.2.0"
1697
+
1698
+ [[deps.QOI]]
1699
+ deps = ["ColorTypes", "FileIO", "FixedPointNumbers"]
1700
+ git-tree-sha1 = "18e8f4d1426e965c7b532ddd260599e1510d26ce"
1701
+ uuid = "4b34888f-f399-49d4-9bb3-47ed5cae4e65"
1702
+ version = "1.0.0"
1703
+
1704
+ [[deps.QuadGK]]
1705
+ deps = ["DataStructures", "LinearAlgebra"]
1706
+ git-tree-sha1 = "e237232771fdafbae3db5c31275303e056afaa9f"
1707
+ uuid = "1fd47b50-473d-5c70-9696-f719f8f3bcdc"
1708
+ version = "2.10.1"
1709
+
1710
+ [[deps.REPL]]
1711
+ deps = ["InteractiveUtils", "Markdown", "Sockets", "Unicode"]
1712
+ uuid = "3fa0cd96-eef1-5676-8a61-b3b8758bbffb"
1713
+
1714
+ [[deps.Random]]
1715
+ deps = ["SHA"]
1716
+ uuid = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c"
1717
+
1718
+ [[deps.RangeArrays]]
1719
+ git-tree-sha1 = "b9039e93773ddcfc828f12aadf7115b4b4d225f5"
1720
+ uuid = "b3c3ace0-ae52-54e7-9d0b-2c1406fd6b9d"
1721
+ version = "0.3.2"
1722
+
1723
+ [[deps.Ratios]]
1724
+ deps = ["Requires"]
1725
+ git-tree-sha1 = "1342a47bf3260ee108163042310d26f2be5ec90b"
1726
+ uuid = "c84ed2f1-dad5-54f0-aa8e-dbefe2724439"
1727
+ version = "0.4.5"
1728
+ weakdeps = ["FixedPointNumbers"]
1729
+
1730
+ [deps.Ratios.extensions]
1731
+ RatiosFixedPointNumbersExt = "FixedPointNumbers"
1732
+
1733
+ [[deps.RecipesBase]]
1734
+ deps = ["PrecompileTools"]
1735
+ git-tree-sha1 = "5c3d09cc4f31f5fc6af001c250bf1278733100ff"
1736
+ uuid = "3cdcf5f2-1ef4-517c-9805-6587b60abb01"
1737
+ version = "1.3.4"
1738
+
1739
+ [[deps.Reexport]]
1740
+ git-tree-sha1 = "45e428421666073eab6f2da5c9d310d99bb12f9b"
1741
+ uuid = "189a3867-3050-52da-a836-e630ba90ab69"
1742
+ version = "1.2.2"
1743
+
1744
+ [[deps.RelocatableFolders]]
1745
+ deps = ["SHA", "Scratch"]
1746
+ git-tree-sha1 = "ffdaf70d81cf6ff22c2b6e733c900c3321cab864"
1747
+ uuid = "05181044-ff0b-4ac5-8273-598c1e38db00"
1748
+ version = "1.0.1"
1749
+
1750
+ [[deps.Requires]]
1751
+ deps = ["UUIDs"]
1752
+ git-tree-sha1 = "838a3a4188e2ded87a4f9f184b4b0d78a1e91cb7"
1753
+ uuid = "ae029012-a4dd-5104-9daa-d747884805df"
1754
+ version = "1.3.0"
1755
+
1756
+ [[deps.Rmath]]
1757
+ deps = ["Random", "Rmath_jll"]
1758
+ git-tree-sha1 = "f65dcb5fa46aee0cf9ed6274ccbd597adc49aa7b"
1759
+ uuid = "79098fc4-a85e-5d69-aa6a-4863f24498fa"
1760
+ version = "0.7.1"
1761
+
1762
+ [[deps.Rmath_jll]]
1763
+ deps = ["Artifacts", "JLLWrappers", "Libdl"]
1764
+ git-tree-sha1 = "e60724fd3beea548353984dc61c943ecddb0e29a"
1765
+ uuid = "f50d1b31-88e8-58de-be2c-1cc44531875f"
1766
+ version = "0.4.3+0"
1767
+
1768
+ [[deps.RoundingEmulator]]
1769
+ git-tree-sha1 = "40b9edad2e5287e05bd413a38f61a8ff55b9557b"
1770
+ uuid = "5eaf0fd0-dfba-4ccb-bf02-d820a40db705"
1771
+ version = "0.2.1"
1772
+
1773
+ [[deps.SHA]]
1774
+ uuid = "ea8e919c-243c-51af-8825-aaa63cd721ce"
1775
+ version = "0.7.0"
1776
+
1777
+ [[deps.SIMD]]
1778
+ deps = ["PrecompileTools"]
1779
+ git-tree-sha1 = "2803cab51702db743f3fda07dd1745aadfbf43bd"
1780
+ uuid = "fdea26ae-647d-5447-a871-4b548cad5224"
1781
+ version = "3.5.0"
1782
+
1783
+ [[deps.ScientificTypes]]
1784
+ deps = ["CategoricalArrays", "ColorTypes", "Dates", "Distributions", "PrettyTables", "Reexport", "ScientificTypesBase", "StatisticalTraits", "Tables"]
1785
+ git-tree-sha1 = "75ccd10ca65b939dab03b812994e571bf1e3e1da"
1786
+ uuid = "321657f4-b219-11e9-178b-2701a2544e81"
1787
+ version = "3.0.2"
1788
+
1789
+ [[deps.ScientificTypesBase]]
1790
+ git-tree-sha1 = "a8e18eb383b5ecf1b5e6fc237eb39255044fd92b"
1791
+ uuid = "30f210dd-8aff-4c5f-94ba-8e64358c1161"
1792
+ version = "3.0.0"
1793
+
1794
+ [[deps.Scratch]]
1795
+ deps = ["Dates"]
1796
+ git-tree-sha1 = "3bac05bc7e74a75fd9cba4295cde4045d9fe2386"
1797
+ uuid = "6c6a2e73-6563-6170-7368-637461726353"
1798
+ version = "1.2.1"
1799
+
1800
+ [[deps.SentinelArrays]]
1801
+ deps = ["Dates", "Random"]
1802
+ git-tree-sha1 = "ff11acffdb082493657550959d4feb4b6149e73a"
1803
+ uuid = "91c51154-3ec4-41a3-a24f-3f23e20d615c"
1804
+ version = "1.4.5"
1805
+
1806
+ [[deps.Serialization]]
1807
+ uuid = "9e88b42a-f829-5b0c-bbe9-9e923198166b"
1808
+
1809
+ [[deps.Setfield]]
1810
+ deps = ["ConstructionBase", "Future", "MacroTools", "StaticArraysCore"]
1811
+ git-tree-sha1 = "e2cc6d8c88613c05e1defb55170bf5ff211fbeac"
1812
+ uuid = "efcf1570-3423-57d1-acb7-fd33fddbac46"
1813
+ version = "1.1.1"
1814
+
1815
+ [[deps.ShaderAbstractions]]
1816
+ deps = ["ColorTypes", "FixedPointNumbers", "GeometryBasics", "LinearAlgebra", "Observables", "StaticArrays", "StructArrays", "Tables"]
1817
+ git-tree-sha1 = "79123bc60c5507f035e6d1d9e563bb2971954ec8"
1818
+ uuid = "65257c39-d410-5151-9873-9b3e5be5013e"
1819
+ version = "0.4.1"
1820
+
1821
+ [[deps.SharedArrays]]
1822
+ deps = ["Distributed", "Mmap", "Random", "Serialization"]
1823
+ uuid = "1a1011a3-84de-559e-8e89-a11a2f7dc383"
1824
+
1825
+ [[deps.ShiftedArrays]]
1826
+ git-tree-sha1 = "503688b59397b3307443af35cd953a13e8005c16"
1827
+ uuid = "1277b4bf-5013-50f5-be3d-901d8477a67a"
1828
+ version = "2.0.0"
1829
+
1830
+ [[deps.ShowCases]]
1831
+ git-tree-sha1 = "7f534ad62ab2bd48591bdeac81994ea8c445e4a5"
1832
+ uuid = "605ecd9f-84a6-4c9e-81e2-4798472b76a3"
1833
+ version = "0.1.0"
1834
+
1835
+ [[deps.Showoff]]
1836
+ deps = ["Dates", "Grisu"]
1837
+ git-tree-sha1 = "91eddf657aca81df9ae6ceb20b959ae5653ad1de"
1838
+ uuid = "992d4aef-0814-514b-bc4d-f2e9a6c4116f"
1839
+ version = "1.0.3"
1840
+
1841
+ [[deps.SignedDistanceFields]]
1842
+ deps = ["Random", "Statistics", "Test"]
1843
+ git-tree-sha1 = "d263a08ec505853a5ff1c1ebde2070419e3f28e9"
1844
+ uuid = "73760f76-fbc4-59ce-8f25-708e95d2df96"
1845
+ version = "0.4.0"
1846
+
1847
+ [[deps.SimpleBufferStream]]
1848
+ git-tree-sha1 = "874e8867b33a00e784c8a7e4b60afe9e037b74e1"
1849
+ uuid = "777ac1f9-54b0-4bf8-805c-2214025038e7"
1850
+ version = "1.1.0"
1851
+
1852
+ [[deps.SimpleTraits]]
1853
+ deps = ["InteractiveUtils", "MacroTools"]
1854
+ git-tree-sha1 = "5d7e3f4e11935503d3ecaf7186eac40602e7d231"
1855
+ uuid = "699a6c99-e7fa-54fc-8d76-47d257e15c1d"
1856
+ version = "0.9.4"
1857
+
1858
+ [[deps.Sixel]]
1859
+ deps = ["Dates", "FileIO", "ImageCore", "IndirectArrays", "OffsetArrays", "REPL", "libsixel_jll"]
1860
+ git-tree-sha1 = "2da10356e31327c7096832eb9cd86307a50b1eb6"
1861
+ uuid = "45858cf5-a6b0-47a3-bbea-62219f50df47"
1862
+ version = "0.1.3"
1863
+
1864
+ [[deps.Sockets]]
1865
+ uuid = "6462fe0b-24de-5631-8697-dd941f90decc"
1866
+
1867
+ [[deps.SortingAlgorithms]]
1868
+ deps = ["DataStructures"]
1869
+ git-tree-sha1 = "66e0a8e672a0bdfca2c3f5937efb8538b9ddc085"
1870
+ uuid = "a2af1166-a08f-5f64-846c-94a0d3cef48c"
1871
+ version = "1.2.1"
1872
+
1873
+ [[deps.SparseArrays]]
1874
+ deps = ["Libdl", "LinearAlgebra", "Random", "Serialization", "SuiteSparse_jll"]
1875
+ uuid = "2f01184e-e22b-5df5-ae63-d93ebab69eaf"
1876
+ version = "1.10.0"
1877
+
1878
+ [[deps.SpecialFunctions]]
1879
+ deps = ["IrrationalConstants", "LogExpFunctions", "OpenLibm_jll", "OpenSpecFun_jll"]
1880
+ git-tree-sha1 = "2f5d4697f21388cbe1ff299430dd169ef97d7e14"
1881
+ uuid = "276daf66-3868-5448-9aa4-cd146d93841b"
1882
+ version = "2.4.0"
1883
+ weakdeps = ["ChainRulesCore"]
1884
+
1885
+ [deps.SpecialFunctions.extensions]
1886
+ SpecialFunctionsChainRulesCoreExt = "ChainRulesCore"
1887
+
1888
+ [[deps.SplittablesBase]]
1889
+ deps = ["Setfield", "Test"]
1890
+ git-tree-sha1 = "e08a62abc517eb79667d0a29dc08a3b589516bb5"
1891
+ uuid = "171d559e-b47b-412a-8079-5efa626c420e"
1892
+ version = "0.1.15"
1893
+
1894
+ [[deps.StableRNGs]]
1895
+ deps = ["Random"]
1896
+ git-tree-sha1 = "83e6cce8324d49dfaf9ef059227f91ed4441a8e5"
1897
+ uuid = "860ef19b-820b-49d6-a774-d7a799459cd3"
1898
+ version = "1.0.2"
1899
+
1900
+ [[deps.StackViews]]
1901
+ deps = ["OffsetArrays"]
1902
+ git-tree-sha1 = "46e589465204cd0c08b4bd97385e4fa79a0c770c"
1903
+ uuid = "cae243ae-269e-4f55-b966-ac2d0dc13c15"
1904
+ version = "0.1.1"
1905
+
1906
+ [[deps.StaticArrays]]
1907
+ deps = ["LinearAlgebra", "PrecompileTools", "Random", "StaticArraysCore"]
1908
+ git-tree-sha1 = "eeafab08ae20c62c44c8399ccb9354a04b80db50"
1909
+ uuid = "90137ffa-7385-5640-81b9-e52037218182"
1910
+ version = "1.9.7"
1911
+ weakdeps = ["ChainRulesCore", "Statistics"]
1912
+
1913
+ [deps.StaticArrays.extensions]
1914
+ StaticArraysChainRulesCoreExt = "ChainRulesCore"
1915
+ StaticArraysStatisticsExt = "Statistics"
1916
+
1917
+ [[deps.StaticArraysCore]]
1918
+ git-tree-sha1 = "192954ef1208c7019899fbf8049e717f92959682"
1919
+ uuid = "1e83bf80-4336-4d27-bf5d-d5a4f845583c"
1920
+ version = "1.4.3"
1921
+
1922
+ [[deps.StatisticalMeasures]]
1923
+ deps = ["CategoricalArrays", "CategoricalDistributions", "Distributions", "LearnAPI", "LinearAlgebra", "MacroTools", "OrderedCollections", "PrecompileTools", "ScientificTypesBase", "StatisticalMeasuresBase", "Statistics", "StatsBase"]
1924
+ git-tree-sha1 = "8b5a165b0ee2b361d692636bfb423b19abfd92b3"
1925
+ uuid = "a19d573c-0a75-4610-95b3-7071388c7541"
1926
+ version = "0.1.6"
1927
+
1928
+ [deps.StatisticalMeasures.extensions]
1929
+ LossFunctionsExt = "LossFunctions"
1930
+ ScientificTypesExt = "ScientificTypes"
1931
+
1932
+ [deps.StatisticalMeasures.weakdeps]
1933
+ LossFunctions = "30fc2ffe-d236-52d8-8643-a9d8f7c094a7"
1934
+ ScientificTypes = "321657f4-b219-11e9-178b-2701a2544e81"
1935
+
1936
+ [[deps.StatisticalMeasuresBase]]
1937
+ deps = ["CategoricalArrays", "InteractiveUtils", "MLUtils", "MacroTools", "OrderedCollections", "PrecompileTools", "ScientificTypesBase", "Statistics"]
1938
+ git-tree-sha1 = "17dfb22e2e4ccc9cd59b487dce52883e0151b4d3"
1939
+ uuid = "c062fc1d-0d66-479b-b6ac-8b44719de4cc"
1940
+ version = "0.1.1"
1941
+
1942
+ [[deps.StatisticalTraits]]
1943
+ deps = ["ScientificTypesBase"]
1944
+ git-tree-sha1 = "542d979f6e756f13f862aa00b224f04f9e445f11"
1945
+ uuid = "64bff920-2084-43da-a3e6-9bb72801c0c9"
1946
+ version = "3.4.0"
1947
+
1948
+ [[deps.Statistics]]
1949
+ deps = ["LinearAlgebra", "SparseArrays"]
1950
+ uuid = "10745b16-79ce-11e8-11f9-7d13ad32a3b2"
1951
+ version = "1.10.0"
1952
+
1953
+ [[deps.StatsAPI]]
1954
+ deps = ["LinearAlgebra"]
1955
+ git-tree-sha1 = "1ff449ad350c9c4cbc756624d6f8a8c3ef56d3ed"
1956
+ uuid = "82ae8749-77ed-4fe6-ae5f-f523153014b0"
1957
+ version = "1.7.0"
1958
+
1959
+ [[deps.StatsBase]]
1960
+ deps = ["DataAPI", "DataStructures", "LinearAlgebra", "LogExpFunctions", "Missings", "Printf", "Random", "SortingAlgorithms", "SparseArrays", "Statistics", "StatsAPI"]
1961
+ git-tree-sha1 = "5cf7606d6cef84b543b483848d4ae08ad9832b21"
1962
+ uuid = "2913bbd2-ae8a-5f71-8c99-4fb6c76f3a91"
1963
+ version = "0.34.3"
1964
+
1965
+ [[deps.StatsFuns]]
1966
+ deps = ["HypergeometricFunctions", "IrrationalConstants", "LogExpFunctions", "Reexport", "Rmath", "SpecialFunctions"]
1967
+ git-tree-sha1 = "cef0472124fab0695b58ca35a77c6fb942fdab8a"
1968
+ uuid = "4c63d2b9-4356-54db-8cca-17b64c39e42c"
1969
+ version = "1.3.1"
1970
+ weakdeps = ["ChainRulesCore", "InverseFunctions"]
1971
+
1972
+ [deps.StatsFuns.extensions]
1973
+ StatsFunsChainRulesCoreExt = "ChainRulesCore"
1974
+ StatsFunsInverseFunctionsExt = "InverseFunctions"
1975
+
1976
+ [[deps.StatsModels]]
1977
+ deps = ["DataAPI", "DataStructures", "LinearAlgebra", "Printf", "REPL", "ShiftedArrays", "SparseArrays", "StatsAPI", "StatsBase", "StatsFuns", "Tables"]
1978
+ git-tree-sha1 = "5cf6c4583533ee38639f73b880f35fc85f2941e0"
1979
+ uuid = "3eaba693-59b7-5ba5-a881-562e759f1c8d"
1980
+ version = "0.7.3"
1981
+
1982
+ [[deps.StringManipulation]]
1983
+ deps = ["PrecompileTools"]
1984
+ git-tree-sha1 = "a04cabe79c5f01f4d723cc6704070ada0b9d46d5"
1985
+ uuid = "892a3eda-7b42-436c-8928-eab12a02cf0e"
1986
+ version = "0.3.4"
1987
+
1988
+ [[deps.StructArrays]]
1989
+ deps = ["ConstructionBase", "DataAPI", "Tables"]
1990
+ git-tree-sha1 = "f4dc295e983502292c4c3f951dbb4e985e35b3be"
1991
+ uuid = "09ab397b-f2b6-538f-b94a-2f83cf4a842a"
1992
+ version = "0.6.18"
1993
+ weakdeps = ["Adapt", "GPUArraysCore", "SparseArrays", "StaticArrays"]
1994
+
1995
+ [deps.StructArrays.extensions]
1996
+ StructArraysAdaptExt = "Adapt"
1997
+ StructArraysGPUArraysCoreExt = "GPUArraysCore"
1998
+ StructArraysSparseArraysExt = "SparseArrays"
1999
+ StructArraysStaticArraysExt = "StaticArrays"
2000
+
2001
+ [[deps.StructTypes]]
2002
+ deps = ["Dates", "UUIDs"]
2003
+ git-tree-sha1 = "ca4bccb03acf9faaf4137a9abc1881ed1841aa70"
2004
+ uuid = "856f2bd8-1eba-4b0a-8007-ebc267875bd4"
2005
+ version = "1.10.0"
2006
+
2007
+ [[deps.SuiteSparse]]
2008
+ deps = ["Libdl", "LinearAlgebra", "Serialization", "SparseArrays"]
2009
+ uuid = "4607b0f0-06f3-5cda-b6b1-a6196a1729e9"
2010
+
2011
+ [[deps.SuiteSparse_jll]]
2012
+ deps = ["Artifacts", "Libdl", "libblastrampoline_jll"]
2013
+ uuid = "bea87d4a-7f5b-5778-9afe-8cc45184846c"
2014
+ version = "7.2.1+1"
2015
+
2016
+ [[deps.TOML]]
2017
+ deps = ["Dates"]
2018
+ uuid = "fa267f1f-6049-4f14-aa54-33bafae1ed76"
2019
+ version = "1.0.3"
2020
+
2021
+ [[deps.TableTraits]]
2022
+ deps = ["IteratorInterfaceExtensions"]
2023
+ git-tree-sha1 = "c06b2f539df1c6efa794486abfb6ed2022561a39"
2024
+ uuid = "3783bdb8-4a98-5b6b-af9a-565f29a5fe9c"
2025
+ version = "1.0.1"
2026
+
2027
+ [[deps.Tables]]
2028
+ deps = ["DataAPI", "DataValueInterfaces", "IteratorInterfaceExtensions", "OrderedCollections", "TableTraits"]
2029
+ git-tree-sha1 = "598cd7c1f68d1e205689b1c2fe65a9f85846f297"
2030
+ uuid = "bd369af6-aec1-5ad0-b16a-f7cc5008161c"
2031
+ version = "1.12.0"
2032
+
2033
+ [[deps.Tar]]
2034
+ deps = ["ArgTools", "SHA"]
2035
+ uuid = "a4e569a6-e804-4fa4-b0f3-eef7a1d5b13e"
2036
+ version = "1.10.0"
2037
+
2038
+ [[deps.TensorCore]]
2039
+ deps = ["LinearAlgebra"]
2040
+ git-tree-sha1 = "1feb45f88d133a655e001435632f019a9a1bcdb6"
2041
+ uuid = "62fd8b95-f654-4bbd-a8a5-9c27f68ccd50"
2042
+ version = "0.1.1"
2043
+
2044
+ [[deps.Test]]
2045
+ deps = ["InteractiveUtils", "Logging", "Random", "Serialization"]
2046
+ uuid = "8dfed614-e22c-5e08-85e1-65c5234f0b40"
2047
+
2048
+ [[deps.TidierData]]
2049
+ deps = ["Chain", "Cleaner", "DataFrames", "MacroTools", "Reexport", "ShiftedArrays", "Statistics", "StatsBase"]
2050
+ git-tree-sha1 = "c8707f31337e168d0bb63f126315ad52694793c8"
2051
+ uuid = "fe2206b3-d496-4ee9-a338-6a095c4ece80"
2052
+ version = "0.15.2"
2053
+
2054
+ [[deps.TidierPlots]]
2055
+ deps = ["CairoMakie", "CategoricalArrays", "ColorSchemes", "Colors", "DataFrames", "Dates", "Format", "GLM", "KernelDensity", "Loess", "Makie", "Reexport", "TidierData"]
2056
+ git-tree-sha1 = "aa0b70fc6cbf5f5877e00d58977023bc704aa80c"
2057
+ uuid = "337ecbd1-5042-4e2a-ae6f-ca776f97570a"
2058
+ version = "0.7.8"
2059
+
2060
+ [[deps.TiffImages]]
2061
+ deps = ["ColorTypes", "DataStructures", "DocStringExtensions", "FileIO", "FixedPointNumbers", "IndirectArrays", "Inflate", "Mmap", "OffsetArrays", "PkgVersion", "ProgressMeter", "SIMD", "UUIDs"]
2062
+ git-tree-sha1 = "bc7fd5c91041f44636b2c134041f7e5263ce58ae"
2063
+ uuid = "731e570b-9d59-4bfa-96dc-6df516fadf69"
2064
+ version = "0.10.0"
2065
+
2066
+ [[deps.TranscodingStreams]]
2067
+ git-tree-sha1 = "96612ac5365777520c3c5396314c8cf7408f436a"
2068
+ uuid = "3bb67fe8-82b1-5028-8e26-92a6c54297fa"
2069
+ version = "0.11.1"
2070
+ weakdeps = ["Random", "Test"]
2071
+
2072
+ [deps.TranscodingStreams.extensions]
2073
+ TestExt = ["Test", "Random"]
2074
+
2075
+ [[deps.Transducers]]
2076
+ deps = ["Accessors", "Adapt", "ArgCheck", "BangBang", "Baselet", "CompositionsBase", "ConstructionBase", "DefineSingletons", "Distributed", "InitialValues", "Logging", "Markdown", "MicroCollections", "Requires", "SplittablesBase", "Tables"]
2077
+ git-tree-sha1 = "5215a069867476fc8e3469602006b9670e68da23"
2078
+ uuid = "28d57a85-8fef-5791-bfe6-a80928e7c999"
2079
+ version = "0.4.82"
2080
+
2081
+ [deps.Transducers.extensions]
2082
+ TransducersBlockArraysExt = "BlockArrays"
2083
+ TransducersDataFramesExt = "DataFrames"
2084
+ TransducersLazyArraysExt = "LazyArrays"
2085
+ TransducersOnlineStatsBaseExt = "OnlineStatsBase"
2086
+ TransducersReferenceablesExt = "Referenceables"
2087
+
2088
+ [deps.Transducers.weakdeps]
2089
+ BlockArrays = "8e7c35d0-a365-5155-bbbb-fb81a777f24e"
2090
+ DataFrames = "a93c6f00-e57d-5684-b7b6-d8193f3e46c0"
2091
+ LazyArrays = "5078a376-72f3-5289-bfd5-ec5146d43c02"
2092
+ OnlineStatsBase = "925886fa-5bf2-5e8e-b522-a9147a512338"
2093
+ Referenceables = "42d2dcc6-99eb-4e98-b66c-637b7d73030e"
2094
+
2095
+ [[deps.Tricks]]
2096
+ git-tree-sha1 = "7822b97e99a1672bfb1b49b668a6d46d58d8cbcb"
2097
+ uuid = "410a4b4d-49e4-4fbc-ab6d-cb71b17b3775"
2098
+ version = "0.1.9"
2099
+
2100
+ [[deps.TriplotBase]]
2101
+ git-tree-sha1 = "4d4ed7f294cda19382ff7de4c137d24d16adc89b"
2102
+ uuid = "981d1d27-644d-49a2-9326-4793e63143c3"
2103
+ version = "0.1.0"
2104
+
2105
+ [[deps.URIs]]
2106
+ git-tree-sha1 = "67db6cc7b3821e19ebe75791a9dd19c9b1188f2b"
2107
+ uuid = "5c2747f8-b7ea-4ff2-ba2e-563bfd36b1d4"
2108
+ version = "1.5.1"
2109
+
2110
+ [[deps.UUIDs]]
2111
+ deps = ["Random", "SHA"]
2112
+ uuid = "cf7118a7-6976-5b1a-9a39-7adc72f591a4"
2113
+
2114
+ [[deps.UnPack]]
2115
+ git-tree-sha1 = "387c1f73762231e86e0c9c5443ce3b4a0a9a0c2b"
2116
+ uuid = "3a884ed6-31ef-47d7-9d2a-63182c4928ed"
2117
+ version = "1.0.2"
2118
+
2119
+ [[deps.Unicode]]
2120
+ uuid = "4ec0a83e-493e-50e2-b9ac-8f72acf5a8f5"
2121
+
2122
+ [[deps.UnicodeFun]]
2123
+ deps = ["REPL"]
2124
+ git-tree-sha1 = "53915e50200959667e78a92a418594b428dffddf"
2125
+ uuid = "1cfade01-22cf-5700-b092-accc4b62d6e1"
2126
+ version = "0.4.1"
2127
+
2128
+ [[deps.Unitful]]
2129
+ deps = ["Dates", "LinearAlgebra", "Random"]
2130
+ git-tree-sha1 = "d95fe458f26209c66a187b1114df96fd70839efd"
2131
+ uuid = "1986cc42-f94f-5a68-af5c-568840ba703d"
2132
+ version = "1.21.0"
2133
+ weakdeps = ["ConstructionBase", "InverseFunctions"]
2134
+
2135
+ [deps.Unitful.extensions]
2136
+ ConstructionBaseUnitfulExt = "ConstructionBase"
2137
+ InverseFunctionsUnitfulExt = "InverseFunctions"
2138
+
2139
+ [[deps.UnsafeAtomics]]
2140
+ git-tree-sha1 = "6331ac3440856ea1988316b46045303bef658278"
2141
+ uuid = "013be700-e6cd-48c3-b4a1-df204f14c38f"
2142
+ version = "0.2.1"
2143
+
2144
+ [[deps.UnsafeAtomicsLLVM]]
2145
+ deps = ["LLVM", "UnsafeAtomics"]
2146
+ git-tree-sha1 = "4073c836c2befcb041e5fe306cb6abf621eb3140"
2147
+ uuid = "d80eeb9a-aca5-4d75-85e5-170c8b632249"
2148
+ version = "0.2.0"
2149
+
2150
+ [[deps.WeakRefStrings]]
2151
+ deps = ["DataAPI", "InlineStrings", "Parsers"]
2152
+ git-tree-sha1 = "b1be2855ed9ed8eac54e5caff2afcdb442d52c23"
2153
+ uuid = "ea10d353-3f73-51f8-a26c-33c1cb351aa5"
2154
+ version = "1.4.2"
2155
+
2156
+ [[deps.WoodburyMatrices]]
2157
+ deps = ["LinearAlgebra", "SparseArrays"]
2158
+ git-tree-sha1 = "c1a7aa6219628fcd757dede0ca95e245c5cd9511"
2159
+ uuid = "efce3f68-66dc-5838-9240-27a6d6f5f9b6"
2160
+ version = "1.0.0"
2161
+
2162
+ [[deps.WorkerUtilities]]
2163
+ git-tree-sha1 = "cd1659ba0d57b71a464a29e64dbc67cfe83d54e7"
2164
+ uuid = "76eceee3-57b5-4d4a-8e66-0e911cebbf60"
2165
+ version = "1.6.1"
2166
+
2167
+ [[deps.XML2_jll]]
2168
+ deps = ["Artifacts", "JLLWrappers", "Libdl", "Libiconv_jll", "Zlib_jll"]
2169
+ git-tree-sha1 = "d9717ce3518dc68a99e6b96300813760d887a01d"
2170
+ uuid = "02c8fc9c-b97f-50b9-bbe4-9be30ff0a78a"
2171
+ version = "2.13.1+0"
2172
+
2173
+ [[deps.XSLT_jll]]
2174
+ deps = ["Artifacts", "JLLWrappers", "Libdl", "Libgcrypt_jll", "Libgpg_error_jll", "Libiconv_jll", "XML2_jll", "Zlib_jll"]
2175
+ git-tree-sha1 = "a54ee957f4c86b526460a720dbc882fa5edcbefc"
2176
+ uuid = "aed1982a-8fda-507f-9586-7b0439959a61"
2177
+ version = "1.1.41+0"
2178
+
2179
+ [[deps.Xorg_libX11_jll]]
2180
+ deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libxcb_jll", "Xorg_xtrans_jll"]
2181
+ git-tree-sha1 = "afead5aba5aa507ad5a3bf01f58f82c8d1403495"
2182
+ uuid = "4f6342f7-b3d2-589e-9d20-edeb45f2b2bc"
2183
+ version = "1.8.6+0"
2184
+
2185
+ [[deps.Xorg_libXau_jll]]
2186
+ deps = ["Artifacts", "JLLWrappers", "Libdl"]
2187
+ git-tree-sha1 = "6035850dcc70518ca32f012e46015b9beeda49d8"
2188
+ uuid = "0c0b7dd1-d40b-584c-a123-a41640f87eec"
2189
+ version = "1.0.11+0"
2190
+
2191
+ [[deps.Xorg_libXdmcp_jll]]
2192
+ deps = ["Artifacts", "JLLWrappers", "Libdl"]
2193
+ git-tree-sha1 = "34d526d318358a859d7de23da945578e8e8727b7"
2194
+ uuid = "a3789734-cfe1-5b06-b2d0-1dd0d9d62d05"
2195
+ version = "1.1.4+0"
2196
+
2197
+ [[deps.Xorg_libXext_jll]]
2198
+ deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libX11_jll"]
2199
+ git-tree-sha1 = "d2d1a5c49fae4ba39983f63de6afcbea47194e85"
2200
+ uuid = "1082639a-0dae-5f34-9b06-72781eeb8cb3"
2201
+ version = "1.3.6+0"
2202
+
2203
+ [[deps.Xorg_libXrender_jll]]
2204
+ deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libX11_jll"]
2205
+ git-tree-sha1 = "47e45cd78224c53109495b3e324df0c37bb61fbe"
2206
+ uuid = "ea2f1a96-1ddc-540d-b46f-429655e07cfa"
2207
+ version = "0.9.11+0"
2208
+
2209
+ [[deps.Xorg_libpthread_stubs_jll]]
2210
+ deps = ["Artifacts", "JLLWrappers", "Libdl"]
2211
+ git-tree-sha1 = "8fdda4c692503d44d04a0603d9ac0982054635f9"
2212
+ uuid = "14d82f49-176c-5ed1-bb49-ad3f5cbd8c74"
2213
+ version = "0.1.1+0"
2214
+
2215
+ [[deps.Xorg_libxcb_jll]]
2216
+ deps = ["Artifacts", "JLLWrappers", "Libdl", "XSLT_jll", "Xorg_libXau_jll", "Xorg_libXdmcp_jll", "Xorg_libpthread_stubs_jll"]
2217
+ git-tree-sha1 = "bcd466676fef0878338c61e655629fa7bbc69d8e"
2218
+ uuid = "c7cfdc94-dc32-55de-ac96-5a1b8d977c5b"
2219
+ version = "1.17.0+0"
2220
+
2221
+ [[deps.Xorg_xtrans_jll]]
2222
+ deps = ["Artifacts", "JLLWrappers", "Libdl"]
2223
+ git-tree-sha1 = "e92a1a012a10506618f10b7047e478403a046c77"
2224
+ uuid = "c5fb5394-a638-5e4d-96e5-b29de1b5cf10"
2225
+ version = "1.5.0+0"
2226
+
2227
+ [[deps.Zlib_jll]]
2228
+ deps = ["Libdl"]
2229
+ uuid = "83775a58-1f1d-513f-b197-d71354ab007a"
2230
+ version = "1.2.13+1"
2231
+
2232
+ [[deps.isoband_jll]]
2233
+ deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"]
2234
+ git-tree-sha1 = "51b5eeb3f98367157a7a12a1fb0aa5328946c03c"
2235
+ uuid = "9a68df92-36a6-505f-a73e-abb412b6bfb4"
2236
+ version = "0.2.3+0"
2237
+
2238
+ [[deps.libaom_jll]]
2239
+ deps = ["Artifacts", "JLLWrappers", "Libdl"]
2240
+ git-tree-sha1 = "1827acba325fdcdf1d2647fc8d5301dd9ba43a9d"
2241
+ uuid = "a4ae2306-e953-59d6-aa16-d00cac43593b"
2242
+ version = "3.9.0+0"
2243
+
2244
+ [[deps.libass_jll]]
2245
+ deps = ["Artifacts", "Bzip2_jll", "FreeType2_jll", "FriBidi_jll", "HarfBuzz_jll", "JLLWrappers", "Libdl", "Pkg", "Zlib_jll"]
2246
+ git-tree-sha1 = "5982a94fcba20f02f42ace44b9894ee2b140fe47"
2247
+ uuid = "0ac62f75-1d6f-5e53-bd7c-93b484bb37c0"
2248
+ version = "0.15.1+0"
2249
+
2250
+ [[deps.libblastrampoline_jll]]
2251
+ deps = ["Artifacts", "Libdl"]
2252
+ uuid = "8e850b90-86db-534c-a0d3-1478176c7d93"
2253
+ version = "5.8.0+1"
2254
+
2255
+ [[deps.libfdk_aac_jll]]
2256
+ deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"]
2257
+ git-tree-sha1 = "daacc84a041563f965be61859a36e17c4e4fcd55"
2258
+ uuid = "f638f0a6-7fb0-5443-88ba-1cc74229b280"
2259
+ version = "2.0.2+0"
2260
+
2261
+ [[deps.libpng_jll]]
2262
+ deps = ["Artifacts", "JLLWrappers", "Libdl", "Zlib_jll"]
2263
+ git-tree-sha1 = "d7015d2e18a5fd9a4f47de711837e980519781a4"
2264
+ uuid = "b53b4c65-9356-5827-b1ea-8c7a1a84506f"
2265
+ version = "1.6.43+1"
2266
+
2267
+ [[deps.libsixel_jll]]
2268
+ deps = ["Artifacts", "JLLWrappers", "JpegTurbo_jll", "Libdl", "Pkg", "libpng_jll"]
2269
+ git-tree-sha1 = "d4f63314c8aa1e48cd22aa0c17ed76cd1ae48c3c"
2270
+ uuid = "075b6546-f08a-558a-be8f-8157d0f608a5"
2271
+ version = "1.10.3+0"
2272
+
2273
+ [[deps.libvorbis_jll]]
2274
+ deps = ["Artifacts", "JLLWrappers", "Libdl", "Ogg_jll", "Pkg"]
2275
+ git-tree-sha1 = "490376214c4721cdaca654041f635213c6165cb3"
2276
+ uuid = "f27f6e37-5d2b-51aa-960f-b287f2bc3b7a"
2277
+ version = "1.3.7+2"
2278
+
2279
+ [[deps.nghttp2_jll]]
2280
+ deps = ["Artifacts", "Libdl"]
2281
+ uuid = "8e850ede-7688-5339-a07c-302acd2aaf8d"
2282
+ version = "1.52.0+1"
2283
+
2284
+ [[deps.oneTBB_jll]]
2285
+ deps = ["Artifacts", "JLLWrappers", "Libdl"]
2286
+ git-tree-sha1 = "7d0ea0f4895ef2f5cb83645fa689e52cb55cf493"
2287
+ uuid = "1317d2d5-d96f-522e-a858-c73665f53c3e"
2288
+ version = "2021.12.0+0"
2289
+
2290
+ [[deps.p7zip_jll]]
2291
+ deps = ["Artifacts", "Libdl"]
2292
+ uuid = "3f19e933-33d8-53b3-aaab-bd5110c3b7a0"
2293
+ version = "17.4.0+2"
2294
+
2295
+ [[deps.x264_jll]]
2296
+ deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"]
2297
+ git-tree-sha1 = "4fea590b89e6ec504593146bf8b988b2c00922b2"
2298
+ uuid = "1270edf5-f2f9-52d2-97e9-ab00b5d0237a"
2299
+ version = "2021.5.5+0"
2300
+
2301
+ [[deps.x265_jll]]
2302
+ deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"]
2303
+ git-tree-sha1 = "ee567a171cce03570d77ad3a43e90218e38937a9"
2304
+ uuid = "dfaa095f-4041-5dcd-9319-2fabd8486b76"
2305
+ version = "3.5.0+0"
2306
+ """
2307
+
2308
+ # ╔═╡ Cell order:
2309
+ # ╠═cdb6a532-59d8-11ef-253f-a1fb2ac43958
2310
+ # ╠═1872c213-90af-4924-9abc-c670857e2cb5
2311
+ # ╟─91f5f6b3-3cc8-4bdf-8386-715d49e6d83b
2312
+ # ╟─8aa21d7a-24ab-41c2-accd-cb3983108ea6
2313
+ # ╠═2ba50521-2fed-4fc0-a140-6af8d2c57115
2314
+ # ╠═ae0f994c-1e54-4a3f-9252-9e7d0df3cc04
2315
+ # ╟─476da329-5c95-4825-98a9-70a490b0609c
2316
+ # ╟─8deeb8eb-3072-4f1b-ba46-1ac6abb78091
2317
+ # ╠═f5c1511a-7307-43e2-a69f-d01ffa15f700
2318
+ # ╟─3905c150-ae5c-4173-9e9d-f3eed67a3642
2319
+ # ╠═c64f8299-3470-475a-b7f3-c72186df3973
2320
+ # ╟─00000000-0000-0000-0000-000000000001
2321
+ # ╟─00000000-0000-0000-0000-000000000002
notebooks/hybrid_example.py ADDED
@@ -0,0 +1,210 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ### Example code
2
+ from pinecone.grpc import PineconeGRPC as Pinecone
3
+ import os
4
+ import pandas as pd
5
+ import numpy as np
6
+ from pinecone import ServerlessSpec
7
+ from pinecone_text.sparse import BM25Encoder
8
+ import sys
9
+ sys.path.append('src/python')
10
+ import DataLoader
11
+
12
+ ####### VERY MINIMAL NONSENSE DATA
13
+ data = {
14
+ 'id': ['vec1', 'vec2'],
15
+ 'values': [[0.1, 0.2, 0.3], [0.2, 0.3, 0.4]],
16
+ 'metadata': [{'text': 'drama'}, {'text': 'action'}],
17
+ 'sparse_indices': [[10, 45, 16], [12, 34, 56]],
18
+ 'sparse_values': [[0.5, 0.5, 0.2], [0.3, 0.4, 0.1]]
19
+ }
20
+
21
+ pc.create_index(
22
+ name="oc-hybrid-index",
23
+ dimension=3,
24
+ metric="dotproduct",
25
+ spec=ServerlessSpec(
26
+ cloud="aws",
27
+ region="us-east-1"
28
+ )
29
+ )
30
+
31
+ index = pc.index("oc-hybrid-index")
32
+
33
+ vecs = create_sparse_dense_dict(df)
34
+
35
+ index.upsert(vecs, namespace="example-namespace")
36
+
37
+ ######################## Indicator Test Data
38
+
39
+ pc = Pinecone("5faec954-a6c5-4af5-a577-89dbd2e4e5b0")
40
+ pc.delete_index("oc-hybrid-index")
41
+
42
+ pc.create_index(
43
+ name="oc-hybrid-index",
44
+ dimension=1024,
45
+ metric="dotproduct",
46
+ spec=ServerlessSpec(
47
+ cloud="aws",
48
+ region="us-east-1"
49
+ )
50
+ )
51
+
52
+ index = pc.Index("oc-hybrid-index")
53
+
54
+ ## Upsert Indicator Test Data
55
+ df = pd.read_csv('data/Indicator_Test.csv')
56
+ ## get top three rows
57
+ df = df.head(3)
58
+ # get text and MessageID
59
+ # Example usage
60
+ df = pd.read_csv('data/Indicator_Test.csv')
61
+ df = df.head(3)
62
+ bm25, newdf = create_sparse_embeds(df)
63
+ metadata = df[['text', 'label']].to_dict(orient='records')
64
+ newdf['metadata'] = metadata
65
+ vecs = create_sparse_dense_dict(newdf)
66
+ index.upsert(vecs, namespace="example-namespace")
67
+ ## Query the hybrid index
68
+ querytext = "immigrants are invading the border"
69
+ queryembed = query_embed(pc, "multilingual-e5-large", querytext)
70
+ query_sparse_vector = bm25.encode_documents(querytext)
71
+
72
+ query_response = index.query(
73
+ top_k=1,
74
+ namespace="example-namespace",
75
+ vector=queryembed,
76
+ sparse_vector=query_sparse_vector,
77
+ include_metadata=True
78
+ )
79
+
80
+
81
+ ## Now create embeddings
82
+ from pinecone import Pinecone
83
+ pc = Pinecone("5faec954-a6c5-4af5-a577-89dbd2e4e5b0")
84
+ model = "multilingual-e5-large"
85
+ DataLoader.chunk_and_embed(pc, model, df)
86
+ #df['Embeddings'] = [np.random.random(4) for x in range(len(df))]
87
+ # rename embeddings to values
88
+ df.rename(columns={'Embeddings': 'values'}, inplace=True)
89
+ #df['id'] = [sqids.encode([i, i+1, i+2]) for i in range(len(df))]
90
+ ## now, create metadata column to capture any column not including id, values, indices, and sparse_values
91
+ df['metadata'] = df.drop(columns=['id', 'values', 'indices', 'sparse_values']).to_dict(orient='records')
92
+ # only keep ids, values, metadata, indices, and sparse_values
93
+ df = df[['id', 'values', 'metadata', 'indices', 'sparse_values']]
94
+
95
+ vecs = create_sparse_dense_dict(df)
96
+
97
+ pc.create_index(
98
+ name="oc-hybrid-indexv2",
99
+ dimension=1024,
100
+ metric="dotproduct",
101
+ spec=ServerlessSpec(
102
+ cloud="aws",
103
+ region="us-east-1"
104
+ )
105
+ )
106
+
107
+ index = pc.Index("oc-hybrid-indexv2")
108
+ index.upsert(vecs, namespace="example-namespace")
109
+
110
+ ## QUERY
111
+ query_response = index.query(
112
+ top_k=10,
113
+ vector=[0.1, 0.2, 0.3],
114
+ sparse_vector={
115
+ 'indices': [10, 45, 16],
116
+ 'values': [0.5, 0.5, 0.2]
117
+ }
118
+ )
119
+
120
+ ################
121
+ query = "test border patrol"
122
+ query_sparse_vector = encode_query(bm25, query)
123
+
124
+ query_response = index.query(
125
+ top_k=1,
126
+ namespace="example-namespace",
127
+ vector=np.random.random(1024).tolist(),
128
+ sparse_vector=query_sparse_vector
129
+ )
130
+ ################
131
+ query = "ireland"
132
+ query_sparse_vector = encode_query(bm25, query)
133
+
134
+ query_response = index.query(
135
+ top_k=1,
136
+ namespace="example-namespace",
137
+ vector=np.random.random(1024).tolist(),
138
+ sparse_vector=query_sparse_vector
139
+ )
140
+
141
+
142
+ ################## Function to create sparse and dense vectors
143
+ from tqdm.auto import tqdm
144
+
145
+ # Remove columns you dont want to encode
146
+ df = pd.read_csv('data/Indicator_Test.csv')
147
+ metadata = df
148
+
149
+ batch_size = 200
150
+
151
+ # convert all columns to string
152
+ metadata = metadata.astype(str)
153
+
154
+ #cols_to_remove = ['channelID', 'MessageID', 'AccountID', 'label', 'contexts', 'topics', 'weak topics', 'indicators']
155
+
156
+ for i in tqdm(range(0, len(df), batch_size)):
157
+ # find end of batch
158
+ i_end = min(i+batch_size, len(df))
159
+ # extract metadata batch
160
+ meta_batch = metadata.iloc[i:i_end]
161
+ meta_dict = meta_batch.to_dict(orient="records")
162
+ # concatenate all metadata field except for id and year to form a single string
163
+ meta_batch = [" ".join(x) for x in meta_batch.loc[:, ~meta_batch.columns.isin(cols_to_remove)].values.tolist()]
164
+ # extract image batch
165
+ img_batch = images[i:i_end]
166
+ # create sparse BM25 vectors
167
+ sparse_embeds = bm25.encode_documents([text for text in meta_batch])
168
+ # create dense vectors
169
+ dense_embeds = model.encode(img_batch).tolist()
170
+ # create unique IDs
171
+ ids = [str(x) for x in range(i, i_end)]
172
+
173
+ upserts = []
174
+ # loop through the data and create dictionaries for uploading documents to pinecone index
175
+ for _id, sparse, dense, meta in zip(ids, sparse_embeds, dense_embeds, meta_dict):
176
+ upserts.append({
177
+ 'id': _id,
178
+ 'sparse_values': sparse,
179
+ 'values': dense,
180
+ 'metadata': meta
181
+ })
182
+ # upload the documents to the new hybrid index
183
+ index.upsert(upserts)
184
+
185
+ # Create an upsert function for hybrid vectors
186
+ def upsert_hybrid_vectors(index, df, model, bm25, batch_size=200, cols_to_remove=['id', 'year']):
187
+ metadata = df.remove_columns("image")
188
+
189
+ for i in tqdm(range(0, len(df), batch_size)):
190
+ i_end = min(i+batch_size, len(df))
191
+ meta_batch = metadata.iloc[i:i_end]
192
+ meta_dict = meta_batch.to_dict(orient="records")
193
+ meta_batch = [" ".join(x) for x in meta_batch.loc[:, ~meta_batch.columns.isin(cols_to_remove)].values.tolist()]
194
+ text_batch = df
195
+ sparse_embeds = bm25.encode_documents([text for text in meta_batch])
196
+ dense_embeds = model.encode(text_batch).tolist()
197
+ ids = [str(x) for x in range(i, i_end)]
198
+
199
+ upserts = []
200
+ for _id, sparse, dense, meta in zip(ids, sparse_embeds, dense_embeds, meta_dict):
201
+ upserts.append({
202
+ 'id': _id,
203
+ 'sparse_values': sparse,
204
+ 'values': dense,
205
+ 'metadata': meta
206
+ })
207
+ index.upsert(upserts)
208
+
209
+ # show index description after uploading the documents
210
+ index.describe_index_stats()
notebooks/upsert_300K.py ADDED
@@ -0,0 +1,66 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ## Upload Telegram 300K to hybrid-sparse
2
+ from pinecone.grpc import PineconeGRPC as Pinecone
3
+ import os
4
+ import pandas as pd
5
+ import numpy as np
6
+ from pinecone import ServerlessSpec
7
+ from pinecone_text.sparse import BM25Encoder
8
+ import sys
9
+ sys.path.append('src/python')
10
+ import DataLoader
11
+
12
+ pc = Pinecone("5faec954-a6c5-4af5-a577-89dbd2e4e5b0")
13
+ pc.delete_index("oc-hybrid-300k-index")
14
+
15
+ pc.create_index(
16
+ name="oc-hybrid-300k-index",
17
+ dimension=1024,
18
+ metric="dotproduct",
19
+ spec=ServerlessSpec(
20
+ cloud="aws",
21
+ region="us-east-1"
22
+ )
23
+ )
24
+
25
+ ## Upsert Indicator Test Data
26
+ df = pd.read_csv('data/random_300k.csv')
27
+ ## get top three rows
28
+ #df = df.head(3)
29
+ # get text and MessageID
30
+ bm25, newdf = DataLoader.create_sparse_embeds(pc, df)
31
+ metadata = df[['text']].to_dict(orient='records')
32
+ newdf.loc[:, 'metadata'] = metadata
33
+ ## Taka look at rows where sparse values is an empty array
34
+ sparse_lengths = [len(x) for x in newdf['sparse_values']]
35
+ # Pull out the values where sparse length is 0
36
+ #edf = newdf[pd.Series(sparse_lengths) == 0]
37
+ ## Drop newdf rows where sparse length is 0
38
+ newdf = newdf[pd.Series(sparse_lengths) != 0]
39
+
40
+ vecs = DataLoader.create_sparse_dense_dict(newdf)
41
+ index = pc.Index("oc-hybrid-300k-index")
42
+
43
+ # Batch upsert the vectors
44
+ for i in range(0, len(vecs), 400):
45
+ end_index = min(i + 400, len(vecs))
46
+ index.upsert(vecs[i:end_index], namespace="telegram-300k")
47
+
48
+
49
+ ################# Querying the index
50
+ df = pd.read_csv('data/random_300k.csv')
51
+ corpus = df['text'].tolist()
52
+ vector, bm25 = DataLoader.encode_documents(corpus)
53
+ index = pc.Index("oc-hybrid-300k-index")
54
+
55
+ querytext = "satanic"
56
+ queryembed = DataLoader.query_embed(pc, "multilingual-e5-large", querytext)
57
+ query_sparse_vector = bm25.encode_documents(querytext)
58
+
59
+ query_response = index.query(
60
+ top_k=5,
61
+ namespace="telegram-300k",
62
+ vector=queryembed,
63
+ sparse_vector=query_sparse_vector,
64
+ include_metadata=True
65
+ )
66
+ query_response
test/runtests.jl ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
 
1
+ ## runtests
2
+
3
+ using Test
4
+
5
+ @testset "runtests" begin
6
+ @test 1 == 1
7
+ end
8
+