### A Pluto.jl notebook ### # v0.20.5 using Markdown using InteractiveUtils # This Pluto notebook uses @bind for interactivity. When running this notebook outside of Pluto, the following 'mock version' of @bind gives bound variables a default value (instead of an error). macro bind(def, element) #! format: off return quote local iv = try Base.loaded_modules[Base.PkgId(Base.UUID("6e696c72-6542-2067-7265-42206c756150"), "AbstractPlutoDingetjes")].Bonds.initial_value catch; b -> missing; end local el = $(esc(element)) global $(esc(def)) = Core.applicable(Base.get, el) ? Base.get(el) : iv(el) el end #! format: on end # ╔═╡ 7e7c9e34-164b-11f0-0f8c-1307e665d759 using HTTP, JSON, PlutoUI, Markdown, DataFrames # ╔═╡ 11580113-c30e-45ab-a2ac-a73369f4d7ca TableOfContents() # ╔═╡ 0af83608-2c8b-4ef4-bee7-6a0ec4fc7cb1 md" # Ostrea Cultura" # ╔═╡ ef22a5e4-9aab-4649-8a25-da40a211b191 md" *A Misinformation Remediation Company*" # ╔═╡ 86b197ec-84f7-4fc1-9abf-e4244e853ce7 begin # Take long text to chunks function chunk_text(text::String, chunk_size::Int=280) chunks = String[] current_chunk = "" for sentence in split(text, r"(?<=[.!?])\s+") # Split text by whitespace if length(current_chunk) + length(sentence) + 1 > chunk_size push!(chunks, current_chunk) current_chunk = sentence else current_chunk *= (isempty(current_chunk) ? "" : " ") * sentence end end # Push the last chunk if it's not empty if current_chunk != "" push!(chunks, current_chunk) end return [chunk for chunk in chunks if chunk != ""] end function score_to_background(score) # 0 = blue, 1 = red; interpolate HSL hue = round(Int, 240 * (1 - score)) # 240 (blue) → 0 (red) return "hsl($hue, 100%, 50%)" end function text_color_for_bg(score) # If background is dark (low L), use light text return score > 0.5 ? "white" : "black" end function score_to_color(score) if score ≤ 0.55 # Interpolate from blue (#0000FF) to gray (#888888) t = score / 0.55 r = round(Int, (1 - t) * 0 + t * 136) g = round(Int, (1 - t) * 0 + t * 136) b = round(Int, (1 - t) * 255 + t * 136) else # Interpolate from gray (#888888) to red (#FF0000) t = (score - 0.55) / 0.55 r = round(Int, (1 - t) * 136 + t * 255) g = round(Int, (1 - t) * 136 + t * 0) b = round(Int, (1 - t) * 136 + t * 0) end return "rgb($r,$g,$b)" end function dataframe_to_html(df::DataFrame) html_rows = String[] colnames = names(df) # Header push!(html_rows, "" * join(["$(col)" for col in colnames]) * "") # Data rows for row in eachrow(df) row_html = "" for col in colnames val = row[col] if col == :text && :score in colnames bg = score_to_background(row[:score]) fg = text_color_for_bg(row[:score]) row_html *= "$(val)" else row_html *= "$(val)" end end row_html *= "" push!(html_rows, row_html) end # Full HTML with style table_html = """ $(join(html_rows, ""))
""" return HTML(table_html) end function scored_text_paragraph(df::DataFrame; score_threshold::Float64 = 0.55) fragments = String[] urls = String[] url_counter = 1 for row in eachrow(df) color = score_to_color(row[:score]) text = row[:text] claimUrl = row[:claimUrl] if row[:score] > score_threshold push!(urls, row[:claimUrl]) push!(fragments, """$text ($url_counter)""") url_counter += 1 else push!(fragments, """$text""") end end paragraph_html = "

" * join(fragments, " ") * "

" if length(urls) > 0 urls_html = "
    " for url in urls urls_html *= "
  1. $url
  2. " end urls_html *= "
" return HTML(paragraph_html * urls_html) else return HTML(paragraph_html) end end function search_fastfacts(claim::String; model::String = "factchecks", top_k::Int = 5) base_url = "https://stefanjwojcik-misinfo-detection-app.hf.space/fastfactsearch" query = HTTP.escapeuri(claim) url = "$base_url?claim=$query&model=$model&top_k=$top_k" response = HTTP.get(url) if response.status == 200 return JSON.parse(String(response.body)) else error("Failed to fetch results: $(response.status)") end end # Iterated fastfact function iteratedfastfact(df::DataFrame) # Create a new DataFrame to store the results results_df = DataFrame() # Iterate over each row in the DataFrame for i in 1:nrow(df) text = df[i, :text] result = select(DataFrame(search_fastfacts(text; top_k=1)), [:score, :policy, :text, :claimUrl]) result.text .= text # Append the result to the results DataFrame results_df = vcat(results_df, result) end return results_df end nothing end # ╔═╡ 6ba2a2b7-cf88-4d68-ab4c-e221369edd03 Resource("https://upload.wikimedia.org/wikipedia/commons/1/1c/Oyster_%28PSF%29.png", :width => 400) # ╔═╡ 2187bada-f259-43ef-93ca-f4fd47b5b6e2 md" ### About" # ╔═╡ c09aa132-47d9-45d3-be58-4e1b8b5aef48 md""" Ostrea Cultura provides misinformation detection and moderation services.We work with Trust and Safety teams to customize and deploy transparent, interpretable, and policy-aligned misinformation classification for large unstructured data. We work in industries ranging from social media and online gaming to web hosting, online marketplaces, and customer relations. Ostrea Cultura is the brainchild of scientist entrepreneur Jason Radford and Birdwatch co-creator Stefan Wojick. """ # ╔═╡ 71036f43-59e1-487d-9f8f-f6c370250d9f md""" ##### Reach out for: - the most up-to-date models - deployment in your environment - new models for your content - new and emerging misinformation """ # ╔═╡ 67787025-355f-40ba-bf55-6305e253634d md" ### Claim Semantic Search" # ╔═╡ 7169689a-9d31-4ac1-bdd7-3771c515e1b3 md""" !!! tip "What is Semantic Search?" Semantic search is a method of finding content that focuses on the meaning behind the content rather than just matching exact words. It uses techniques from natural language processing (NLP) and machine learning to find specific misinformation based on the context, intent, and relationship between concepts. No more low-recall keywords. No more black box machine learning classifiers. No untrustworthy LLMs. """ # ╔═╡ e3d65456-0646-44db-abad-193d778149ec md"#### Search for Fact-checked Claims" # ╔═╡ 785238ae-08b3-4221-85ba-97f4fc7d01e3 md" Enter your search claim in the box below and click 'submit' " # ╔═╡ c2afdd06-9918-4445-889e-1e45a68c0cd9 @bind claimtext confirm(TextField((90, 3), placeholder = "Ivermectin is a cure for covid", default="Ivermectin is a cure for covid")) # ╔═╡ 7ba4e521-51ba-4670-a1cf-396c555fcd5a md"Number of Matches" # ╔═╡ 28653105-c9cc-4ee1-9df8-a54644172a4c @bind nclaims Slider(0:20, default=5, show_value=true) # ╔═╡ 2ec6801c-707c-41ee-9415-e489ee52e3b5 md"### RESULTS" # ╔═╡ eb78b6f9-ead9-4dbc-8a0b-befb141523d0 begin function processdat(claimtext::String, top_k::Int) df =DataFrame(search_fastfacts(claimtext; top_k=nclaims)) df.score = round.(df.score, digits=3) df.policy .= "Platform Health" df = select(df, [:score, :policy, :text, :claimUrl]) end df = processdat(claimtext, nclaims) #df = select(DataFrame(search_fastfacts(claimtext; top_k=nclaims)), # [:score, :policy, :text]) nothing end # ╔═╡ 475c45c1-8b0c-41fc-ab7e-dac5e2294e9c dataframe_to_html(df) # ╔═╡ 3b52bf06-c1cd-441b-aab3-06ffb0d39208 md""" ### Fact-checking Long Text """ # ╔═╡ 7bca1473-95a2-443b-9689-cc40fa51727f md""" Put in a long piece of text, such as a speech or video transcription. """ # ╔═╡ f1cea517-2f40-4cc0-a621-6f3bb1056e44 @bind longtext confirm(TextField((90, 12), default="Misinformation that forced vaccination could be used to 'depopulate' the earth circulated in 2011 by misquoting Bill Gates. There is misinformation implying that vaccines (particularly the mRNA vaccine) could alter DNA in the nucleus. Retrovirus can be single-stranded RNA (just as SARS-CoV-2 vaccine is single-stranded RNA) which enters the cell nucleus and uses reverse transcriptase to make DNA from the RNA in the cell nucleus. A retrovirus has mechanisms to be imported into the nucleus, but other mRNA lack these mechanisms. ")) # ╔═╡ be418613-b934-4a3c-8728-efe76e208db2 md" #### Fact-checked Text Blue = factful; Red = questionable " # ╔═╡ 59013658-1462-4b6e-b490-27664ac9e1a4 begin iterdf = DataFrame(text = chunk_text(longtext, 80)) newdf = iteratedfastfact(iterdf) scored_text_paragraph(newdf; score_threshold=.55) end # ╔═╡ 00000000-0000-0000-0000-000000000001 PLUTO_PROJECT_TOML_CONTENTS = """ [deps] DataFrames = "a93c6f00-e57d-5684-b7b6-d8193f3e46c0" HTTP = "cd3eb016-35fb-5094-929b-558a96fad6f3" JSON = "682c06a0-de6a-54ab-a142-c8b1cf79cde6" Markdown = "d6f4376e-aef5-505a-96c1-9c027394607a" PlutoUI = "7f904dfe-b85e-4ff6-b463-dae2292396a8" [compat] DataFrames = "~1.7.0" HTTP = "~1.10.16" JSON = "~0.21.4" PlutoUI = "~0.7.62" """ # ╔═╡ 00000000-0000-0000-0000-000000000002 PLUTO_MANIFEST_TOML_CONTENTS = """ # This file is machine-generated - editing it directly is not advised julia_version = "1.10.4" manifest_format = "2.0" project_hash = "b80c4f230dbd1518aee36e59b6feda67bcd738fe" [[deps.AbstractPlutoDingetjes]] deps = ["Pkg"] git-tree-sha1 = "6e1d2a35f2f90a4bc7c2ed98079b2ba09c35b83a" uuid = "6e696c72-6542-2067-7265-42206c756150" version = "1.3.2" [[deps.ArgTools]] uuid = "0dad84c5-d112-42e6-8d28-ef12dabb789f" version = "1.1.1" [[deps.Artifacts]] uuid = "56f22d72-fd6d-98f1-02f0-08ddc0907c33" [[deps.Base64]] uuid = "2a0f44e3-6c83-55bd-87e4-b1978d98bd5f" [[deps.BitFlags]] git-tree-sha1 = "0691e34b3bb8be9307330f88d1a3c3f25466c24d" uuid = "d1d4a3ce-64b1-5f1a-9ba4-7e7e69966f35" version = "0.1.9" [[deps.CodecZlib]] deps = ["TranscodingStreams", "Zlib_jll"] git-tree-sha1 = "962834c22b66e32aa10f7611c08c8ca4e20749a9" uuid = "944b1d66-785c-5afd-91f1-9de20f533193" version = "0.7.8" [[deps.ColorTypes]] deps = ["FixedPointNumbers", "Random"] git-tree-sha1 = "b10d0b65641d57b8b4d5e234446582de5047050d" uuid = "3da002f7-5984-5a60-b8a6-cbb66c0b333f" version = "0.11.5" [[deps.Compat]] deps = ["TOML", "UUIDs"] git-tree-sha1 = "8ae8d32e09f0dcf42a36b90d4e17f5dd2e4c4215" uuid = "34da2185-b29b-5c13-b0c7-acf172513d20" version = "4.16.0" weakdeps = ["Dates", "LinearAlgebra"] [deps.Compat.extensions] CompatLinearAlgebraExt = "LinearAlgebra" [[deps.CompilerSupportLibraries_jll]] deps = ["Artifacts", "Libdl"] uuid = "e66e0078-7015-5450-92f7-15fbd957f2ae" version = "1.1.1+0" [[deps.ConcurrentUtilities]] deps = ["Serialization", "Sockets"] git-tree-sha1 = "d9d26935a0bcffc87d2613ce14c527c99fc543fd" uuid = "f0e56b4a-5159-44fe-b623-3e5288b988bb" version = "2.5.0" [[deps.Crayons]] git-tree-sha1 = "249fe38abf76d48563e2f4556bebd215aa317e15" uuid = "a8cc5b0e-0ffa-5ad4-8c14-923d3ee1735f" version = "4.1.1" [[deps.DataAPI]] git-tree-sha1 = "abe83f3a2f1b857aac70ef8b269080af17764bbe" uuid = "9a962f9c-6df0-11e9-0e5d-c546b8b5ee8a" version = "1.16.0" [[deps.DataFrames]] deps = ["Compat", "DataAPI", "DataStructures", "Future", "InlineStrings", "InvertedIndices", "IteratorInterfaceExtensions", "LinearAlgebra", "Markdown", "Missings", "PooledArrays", "PrecompileTools", "PrettyTables", "Printf", "Random", "Reexport", "SentinelArrays", "SortingAlgorithms", "Statistics", "TableTraits", "Tables", "Unicode"] git-tree-sha1 = "fb61b4812c49343d7ef0b533ba982c46021938a6" uuid = "a93c6f00-e57d-5684-b7b6-d8193f3e46c0" version = "1.7.0" [[deps.DataStructures]] deps = ["Compat", "InteractiveUtils", "OrderedCollections"] git-tree-sha1 = "4e1fe97fdaed23e9dc21d4d664bea76b65fc50a0" uuid = "864edb3b-99cc-5e75-8d2d-829cb0a9cfe8" version = "0.18.22" [[deps.DataValueInterfaces]] git-tree-sha1 = "bfc1187b79289637fa0ef6d4436ebdfe6905cbd6" uuid = "e2d170a0-9d28-54be-80f0-106bbe20a464" version = "1.0.0" [[deps.Dates]] deps = ["Printf"] uuid = "ade2ca70-3891-5945-98fb-dc099432e06a" [[deps.Downloads]] deps = ["ArgTools", "FileWatching", "LibCURL", "NetworkOptions"] uuid = "f43a241f-c20a-4ad4-852c-f6b1247861c6" version = "1.6.0" [[deps.ExceptionUnwrapping]] deps = ["Test"] git-tree-sha1 = "d36f682e590a83d63d1c7dbd287573764682d12a" uuid = "460bff9d-24e4-43bc-9d9f-a8973cb893f4" version = "0.1.11" [[deps.FileWatching]] uuid = "7b1f6079-737a-58dc-b8bc-7a2ca5c1b5ee" [[deps.FixedPointNumbers]] deps = ["Statistics"] git-tree-sha1 = "05882d6995ae5c12bb5f36dd2ed3f61c98cbb172" uuid = "53c48c17-4a7d-5ca2-90c5-79b7896eea93" version = "0.8.5" [[deps.Future]] deps = ["Random"] uuid = "9fa8497b-333b-5362-9e8d-4d0656e87820" [[deps.HTTP]] deps = ["Base64", "CodecZlib", "ConcurrentUtilities", "Dates", "ExceptionUnwrapping", "Logging", "LoggingExtras", "MbedTLS", "NetworkOptions", "OpenSSL", "PrecompileTools", "Random", "SimpleBufferStream", "Sockets", "URIs", "UUIDs"] git-tree-sha1 = "f93655dc73d7a0b4a368e3c0bce296ae035ad76e" uuid = "cd3eb016-35fb-5094-929b-558a96fad6f3" version = "1.10.16" [[deps.Hyperscript]] deps = ["Test"] git-tree-sha1 = "179267cfa5e712760cd43dcae385d7ea90cc25a4" uuid = "47d2ed2b-36de-50cf-bf87-49c2cf4b8b91" version = "0.0.5" [[deps.HypertextLiteral]] deps = ["Tricks"] git-tree-sha1 = "7134810b1afce04bbc1045ca1985fbe81ce17653" uuid = "ac1192a8-f4b3-4bfe-ba22-af5b92cd3ab2" version = "0.9.5" [[deps.IOCapture]] deps = ["Logging", "Random"] git-tree-sha1 = "b6d6bfdd7ce25b0f9b2f6b3dd56b2673a66c8770" uuid = "b5f81e59-6552-4d32-b1f0-c071b021bf89" version = "0.2.5" [[deps.InlineStrings]] git-tree-sha1 = "6a9fde685a7ac1eb3495f8e812c5a7c3711c2d5e" uuid = "842dd82b-1e85-43dc-bf29-5d0ee9dffc48" version = "1.4.3" [deps.InlineStrings.extensions] ArrowTypesExt = "ArrowTypes" ParsersExt = "Parsers" [deps.InlineStrings.weakdeps] ArrowTypes = "31f734f8-188a-4ce0-8406-c8a06bd891cd" Parsers = "69de0a69-1ddd-5017-9359-2bf0b02dc9f0" [[deps.InteractiveUtils]] deps = ["Markdown"] uuid = "b77e0a4c-d291-57a0-90e8-8db25a27a240" [[deps.InvertedIndices]] git-tree-sha1 = "6da3c4316095de0f5ee2ebd875df8721e7e0bdbe" uuid = "41ab1584-1d38-5bbf-9106-f11c6c58b48f" version = "1.3.1" [[deps.IteratorInterfaceExtensions]] git-tree-sha1 = "a3f24677c21f5bbe9d2a714f95dcd58337fb2856" uuid = "82899510-4779-5014-852e-03e436cf321d" version = "1.0.0" [[deps.JLLWrappers]] deps = ["Artifacts", "Preferences"] git-tree-sha1 = "a007feb38b422fbdab534406aeca1b86823cb4d6" uuid = "692b3bcd-3c85-4b1f-b108-f13ce0eb3210" version = "1.7.0" [[deps.JSON]] deps = ["Dates", "Mmap", "Parsers", "Unicode"] git-tree-sha1 = "31e996f0a15c7b280ba9f76636b3ff9e2ae58c9a" uuid = "682c06a0-de6a-54ab-a142-c8b1cf79cde6" version = "0.21.4" [[deps.LaTeXStrings]] git-tree-sha1 = "dda21b8cbd6a6c40d9d02a73230f9d70fed6918c" uuid = "b964fa9f-0449-5b57-a5c2-d3ea65f4040f" version = "1.4.0" [[deps.LibCURL]] deps = ["LibCURL_jll", "MozillaCACerts_jll"] uuid = "b27032c2-a3e7-50c8-80cd-2d36dbcbfd21" version = "0.6.4" [[deps.LibCURL_jll]] deps = ["Artifacts", "LibSSH2_jll", "Libdl", "MbedTLS_jll", "Zlib_jll", "nghttp2_jll"] uuid = "deac9b47-8bc7-5906-a0fe-35ac56dc84c0" version = "8.4.0+0" [[deps.LibGit2]] deps = ["Base64", "LibGit2_jll", "NetworkOptions", "Printf", "SHA"] uuid = "76f85450-5226-5b5a-8eaa-529ad045b433" [[deps.LibGit2_jll]] deps = ["Artifacts", "LibSSH2_jll", "Libdl", "MbedTLS_jll"] uuid = "e37daf67-58a4-590a-8e99-b0245dd2ffc5" version = "1.6.4+0" [[deps.LibSSH2_jll]] deps = ["Artifacts", "Libdl", "MbedTLS_jll"] uuid = "29816b5a-b9ab-546f-933c-edad1886dfa8" version = "1.11.0+1" [[deps.Libdl]] uuid = "8f399da3-3557-5675-b5ff-fb832c97cbdb" [[deps.LinearAlgebra]] deps = ["Libdl", "OpenBLAS_jll", "libblastrampoline_jll"] uuid = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" [[deps.Logging]] uuid = "56ddb016-857b-54e1-b83d-db4d58db5568" [[deps.LoggingExtras]] deps = ["Dates", "Logging"] git-tree-sha1 = "f02b56007b064fbfddb4c9cd60161b6dd0f40df3" uuid = "e6f89c97-d47a-5376-807f-9c37f3926c36" version = "1.1.0" [[deps.MIMEs]] git-tree-sha1 = "c64d943587f7187e751162b3b84445bbbd79f691" uuid = "6c6e2e6c-3030-632d-7369-2d6c69616d65" version = "1.1.0" [[deps.Markdown]] deps = ["Base64"] uuid = "d6f4376e-aef5-505a-96c1-9c027394607a" [[deps.MbedTLS]] deps = ["Dates", "MbedTLS_jll", "MozillaCACerts_jll", "NetworkOptions", "Random", "Sockets"] git-tree-sha1 = "c067a280ddc25f196b5e7df3877c6b226d390aaf" uuid = "739be429-bea8-5141-9913-cc70e7f3736d" version = "1.1.9" [[deps.MbedTLS_jll]] deps = ["Artifacts", "Libdl"] uuid = "c8ffd9c3-330d-5841-b78e-0817d7145fa1" version = "2.28.2+1" [[deps.Missings]] deps = ["DataAPI"] git-tree-sha1 = "ec4f7fbeab05d7747bdf98eb74d130a2a2ed298d" uuid = "e1d29d7a-bbdc-5cf2-9ac0-f12de2c33e28" version = "1.2.0" [[deps.Mmap]] uuid = "a63ad114-7e13-5084-954f-fe012c677804" [[deps.MozillaCACerts_jll]] uuid = "14a3606d-f60d-562e-9121-12d972cd8159" version = "2023.1.10" [[deps.NetworkOptions]] uuid = "ca575930-c2e3-43a9-ace4-1e988b2c1908" version = "1.2.0" [[deps.OpenBLAS_jll]] deps = ["Artifacts", "CompilerSupportLibraries_jll", "Libdl"] uuid = "4536629a-c528-5b80-bd46-f80d51c5b363" version = "0.3.23+4" [[deps.OpenSSL]] deps = ["BitFlags", "Dates", "MozillaCACerts_jll", "OpenSSL_jll", "Sockets"] git-tree-sha1 = "38cb508d080d21dc1128f7fb04f20387ed4c0af4" uuid = "4d8831e6-92b7-49fb-bdf8-b643e874388c" version = "1.4.3" [[deps.OpenSSL_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] git-tree-sha1 = "a9697f1d06cc3eb3fb3ad49cc67f2cfabaac31ea" uuid = "458c3c95-2e84-50aa-8efc-19380b2a3a95" version = "3.0.16+0" [[deps.OrderedCollections]] git-tree-sha1 = "cc4054e898b852042d7b503313f7ad03de99c3dd" uuid = "bac558e1-5e72-5ebc-8fee-abe8a469f55d" version = "1.8.0" [[deps.Parsers]] deps = ["Dates", "PrecompileTools", "UUIDs"] git-tree-sha1 = "8489905bcdbcfac64d1daa51ca07c0d8f0283821" uuid = "69de0a69-1ddd-5017-9359-2bf0b02dc9f0" version = "2.8.1" [[deps.Pkg]] deps = ["Artifacts", "Dates", "Downloads", "FileWatching", "LibGit2", "Libdl", "Logging", "Markdown", "Printf", "REPL", "Random", "SHA", "Serialization", "TOML", "Tar", "UUIDs", "p7zip_jll"] uuid = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f" version = "1.10.0" [[deps.PlutoUI]] deps = ["AbstractPlutoDingetjes", "Base64", "ColorTypes", "Dates", "FixedPointNumbers", "Hyperscript", "HypertextLiteral", "IOCapture", "InteractiveUtils", "JSON", "Logging", "MIMEs", "Markdown", "Random", "Reexport", "URIs", "UUIDs"] git-tree-sha1 = "d3de2694b52a01ce61a036f18ea9c0f61c4a9230" uuid = "7f904dfe-b85e-4ff6-b463-dae2292396a8" version = "0.7.62" [[deps.PooledArrays]] deps = ["DataAPI", "Future"] git-tree-sha1 = "36d8b4b899628fb92c2749eb488d884a926614d3" uuid = "2dfb63ee-cc39-5dd5-95bd-886bf059d720" version = "1.4.3" [[deps.PrecompileTools]] deps = ["Preferences"] git-tree-sha1 = "5aa36f7049a63a1528fe8f7c3f2113413ffd4e1f" uuid = "aea7be01-6a6a-4083-8856-8a6e6704d82a" version = "1.2.1" [[deps.Preferences]] deps = ["TOML"] git-tree-sha1 = "9306f6085165d270f7e3db02af26a400d580f5c6" uuid = "21216c6a-2e73-6563-6e65-726566657250" version = "1.4.3" [[deps.PrettyTables]] deps = ["Crayons", "LaTeXStrings", "Markdown", "PrecompileTools", "Printf", "Reexport", "StringManipulation", "Tables"] git-tree-sha1 = "1101cd475833706e4d0e7b122218257178f48f34" uuid = "08abe8d2-0d0c-5749-adfa-8a2ac140af0d" version = "2.4.0" [[deps.Printf]] deps = ["Unicode"] uuid = "de0858da-6303-5e67-8744-51eddeeeb8d7" [[deps.REPL]] deps = ["InteractiveUtils", "Markdown", "Sockets", "Unicode"] uuid = "3fa0cd96-eef1-5676-8a61-b3b8758bbffb" [[deps.Random]] deps = ["SHA"] uuid = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c" [[deps.Reexport]] git-tree-sha1 = "45e428421666073eab6f2da5c9d310d99bb12f9b" uuid = "189a3867-3050-52da-a836-e630ba90ab69" version = "1.2.2" [[deps.SHA]] uuid = "ea8e919c-243c-51af-8825-aaa63cd721ce" version = "0.7.0" [[deps.SentinelArrays]] deps = ["Dates", "Random"] git-tree-sha1 = "712fb0231ee6f9120e005ccd56297abbc053e7e0" uuid = "91c51154-3ec4-41a3-a24f-3f23e20d615c" version = "1.4.8" [[deps.Serialization]] uuid = "9e88b42a-f829-5b0c-bbe9-9e923198166b" [[deps.SimpleBufferStream]] git-tree-sha1 = "f305871d2f381d21527c770d4788c06c097c9bc1" uuid = "777ac1f9-54b0-4bf8-805c-2214025038e7" version = "1.2.0" [[deps.Sockets]] uuid = "6462fe0b-24de-5631-8697-dd941f90decc" [[deps.SortingAlgorithms]] deps = ["DataStructures"] git-tree-sha1 = "66e0a8e672a0bdfca2c3f5937efb8538b9ddc085" uuid = "a2af1166-a08f-5f64-846c-94a0d3cef48c" version = "1.2.1" [[deps.SparseArrays]] deps = ["Libdl", "LinearAlgebra", "Random", "Serialization", "SuiteSparse_jll"] uuid = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" version = "1.10.0" [[deps.Statistics]] deps = ["LinearAlgebra", "SparseArrays"] uuid = "10745b16-79ce-11e8-11f9-7d13ad32a3b2" version = "1.10.0" [[deps.StringManipulation]] deps = ["PrecompileTools"] git-tree-sha1 = "725421ae8e530ec29bcbdddbe91ff8053421d023" uuid = "892a3eda-7b42-436c-8928-eab12a02cf0e" version = "0.4.1" [[deps.SuiteSparse_jll]] deps = ["Artifacts", "Libdl", "libblastrampoline_jll"] uuid = "bea87d4a-7f5b-5778-9afe-8cc45184846c" version = "7.2.1+1" [[deps.TOML]] deps = ["Dates"] uuid = "fa267f1f-6049-4f14-aa54-33bafae1ed76" version = "1.0.3" [[deps.TableTraits]] deps = ["IteratorInterfaceExtensions"] git-tree-sha1 = "c06b2f539df1c6efa794486abfb6ed2022561a39" uuid = "3783bdb8-4a98-5b6b-af9a-565f29a5fe9c" version = "1.0.1" [[deps.Tables]] deps = ["DataAPI", "DataValueInterfaces", "IteratorInterfaceExtensions", "OrderedCollections", "TableTraits"] git-tree-sha1 = "598cd7c1f68d1e205689b1c2fe65a9f85846f297" uuid = "bd369af6-aec1-5ad0-b16a-f7cc5008161c" version = "1.12.0" [[deps.Tar]] deps = ["ArgTools", "SHA"] uuid = "a4e569a6-e804-4fa4-b0f3-eef7a1d5b13e" version = "1.10.0" [[deps.Test]] deps = ["InteractiveUtils", "Logging", "Random", "Serialization"] uuid = "8dfed614-e22c-5e08-85e1-65c5234f0b40" [[deps.TranscodingStreams]] git-tree-sha1 = "0c45878dcfdcfa8480052b6ab162cdd138781742" uuid = "3bb67fe8-82b1-5028-8e26-92a6c54297fa" version = "0.11.3" [[deps.Tricks]] git-tree-sha1 = "6cae795a5a9313bbb4f60683f7263318fc7d1505" uuid = "410a4b4d-49e4-4fbc-ab6d-cb71b17b3775" version = "0.1.10" [[deps.URIs]] git-tree-sha1 = "cbbebadbcc76c5ca1cc4b4f3b0614b3e603b5000" uuid = "5c2747f8-b7ea-4ff2-ba2e-563bfd36b1d4" version = "1.5.2" [[deps.UUIDs]] deps = ["Random", "SHA"] uuid = "cf7118a7-6976-5b1a-9a39-7adc72f591a4" [[deps.Unicode]] uuid = "4ec0a83e-493e-50e2-b9ac-8f72acf5a8f5" [[deps.Zlib_jll]] deps = ["Libdl"] uuid = "83775a58-1f1d-513f-b197-d71354ab007a" version = "1.2.13+1" [[deps.libblastrampoline_jll]] deps = ["Artifacts", "Libdl"] uuid = "8e850b90-86db-534c-a0d3-1478176c7d93" version = "5.8.0+1" [[deps.nghttp2_jll]] deps = ["Artifacts", "Libdl"] uuid = "8e850ede-7688-5339-a07c-302acd2aaf8d" version = "1.52.0+1" [[deps.p7zip_jll]] deps = ["Artifacts", "Libdl"] uuid = "3f19e933-33d8-53b3-aaab-bd5110c3b7a0" version = "17.4.0+2" """ # ╔═╡ Cell order: # ╟─7e7c9e34-164b-11f0-0f8c-1307e665d759 # ╟─11580113-c30e-45ab-a2ac-a73369f4d7ca # ╟─0af83608-2c8b-4ef4-bee7-6a0ec4fc7cb1 # ╟─ef22a5e4-9aab-4649-8a25-da40a211b191 # ╟─86b197ec-84f7-4fc1-9abf-e4244e853ce7 # ╟─6ba2a2b7-cf88-4d68-ab4c-e221369edd03 # ╟─2187bada-f259-43ef-93ca-f4fd47b5b6e2 # ╟─c09aa132-47d9-45d3-be58-4e1b8b5aef48 # ╟─71036f43-59e1-487d-9f8f-f6c370250d9f # ╟─67787025-355f-40ba-bf55-6305e253634d # ╟─7169689a-9d31-4ac1-bdd7-3771c515e1b3 # ╟─e3d65456-0646-44db-abad-193d778149ec # ╟─785238ae-08b3-4221-85ba-97f4fc7d01e3 # ╟─c2afdd06-9918-4445-889e-1e45a68c0cd9 # ╟─7ba4e521-51ba-4670-a1cf-396c555fcd5a # ╟─28653105-c9cc-4ee1-9df8-a54644172a4c # ╟─2ec6801c-707c-41ee-9415-e489ee52e3b5 # ╟─eb78b6f9-ead9-4dbc-8a0b-befb141523d0 # ╟─475c45c1-8b0c-41fc-ab7e-dac5e2294e9c # ╟─3b52bf06-c1cd-441b-aab3-06ffb0d39208 # ╟─7bca1473-95a2-443b-9689-cc40fa51727f # ╟─f1cea517-2f40-4cc0-a621-6f3bb1056e44 # ╟─be418613-b934-4a3c-8728-efe76e208db2 # ╟─59013658-1462-4b6e-b490-27664ac9e1a4 # ╟─00000000-0000-0000-0000-000000000001 # ╟─00000000-0000-0000-0000-000000000002