From 0e502113445741ecc6fcddde5d6b03b851146c02 Mon Sep 17 00:00:00 2001 From: zsloan Date: Wed, 29 May 2019 12:35:37 -0500 Subject: Added info for fetching trait list --- doc/API_readme.md | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/doc/API_readme.md b/doc/API_readme.md index 96e8b246..64fc61f9 100644 --- a/doc/API_readme.md +++ b/doc/API_readme.md @@ -51,13 +51,6 @@ curl http://gn2-zach.genenetwork.org/api/v_pre1/datasets/mouse/bxd ``` (I added the option to specify species just in case we end up with the same group name across multiple species at some point, though it's currently unnecessary) -## Fetch Sample Data for Dataset ## -``` -curl http://gn2-zach.genenetwork.org/api/v_pre1/sample_data/HSNIH-PalmerPublish.csv -``` - -Returns a CSV file with sample/strain names as the columns and trait IDs as rows - ## Fetch Individual Dataset Info ## ### For mRNA Assay/"ProbeSet" ### @@ -78,12 +71,27 @@ curl http://gn2-zach.genenetwork.org/api/v_pre1/dataset/bxd/10001 { "dataset_type": "phenotype", "description": "Central nervous system, morphology: Cerebellum weight, whole, bilateral in adults of both sexes [mg]", "id": 10001, "name": "CBLWT2", "pubmed_id": 11438585, "title": "Genetic control of the mouse cerebellum: identification of quantitative trait loci modulating size and architecture", "year": "2001" } ``` +## Fetch Sample Data for Dataset ## +``` +curl http://gn2-zach.genenetwork.org/api/v_pre1/sample_data/HSNIH-PalmerPublish.csv +``` + +Returns a CSV file with sample/strain names as the columns and trait IDs as rows + ## Fetch Sample Data for Single Trait ## ``` curl http://gn2-zach.genenetwork.org/api/v_pre1/sample_data/HC_M2_0606_P/1436869_at [ { "data_id": 23415463, "sample_name": "129S1/SvImJ", "sample_name_2": "129S1/SvImJ", "se": 0.123, "value": 8.201 }, { "data_id": 23415463, "sample_name": "A/J", "sample_name_2": "A/J", "se": 0.046, "value": 8.413 }, { "data_id": 23415463, "sample_name": "AKR/J", "sample_name_2": "AKR/J", "se": 0.134, "value": 8.856 }, ... ] ``` +## Fetch Trait List for Dataset ## +``` +curl http://gn2-zach.genenetwork.org/api/v_pre1/traits/HXBBXHPublish.json +[ { "Additive": 0.0499967532467532, "Id": 10001, "LRS": 16.2831307029479, "Locus": "rs106114574", "PhenotypeId": 1449, "PublicationId": 319, "Sequence": 1 }, ... ] +``` + +Both JSON and CSV formats can be specified, with CSV as default. There is also an optional "ids_only" parameter that will only return a list of trait IDs. + ## Fetch Trait Info (Name, Description, Location, etc) ## ### For mRNA Expression/"ProbeSet" ### ``` -- cgit v1.2.3 From 8237c44937590fd06030945a35aa1de24e29463b Mon Sep 17 00:00:00 2001 From: zsloan Date: Wed, 29 May 2019 12:43:21 -0500 Subject: Added option to get traits from dataset to API --- wqflask/wqflask/api/router.py | 116 ++++++++++++++++++++++++++++++++++++++---- 1 file changed, 105 insertions(+), 11 deletions(-) diff --git a/wqflask/wqflask/api/router.py b/wqflask/wqflask/api/router.py index 845873a0..4ecd6699 100644 --- a/wqflask/wqflask/api/router.py +++ b/wqflask/wqflask/api/router.py @@ -290,6 +290,106 @@ def get_dataset_info(dataset_name, group_name = None, file_format="json"): else: return return_error(code=204, source=request.url_rule.rule, title="No Results", details="") +@app.route("/api/v_{}/traits/".format(version), methods=('GET',)) +@app.route("/api/v_{}/traits/.".format(version), methods=('GET',)) +def fetch_traits(dataset_name, file_format = "csv"): + trait_ids, _trait_names, data_type, dataset_id = get_dataset_trait_ids(dataset_name) + if ('ids_only' in request.args) and (len(trait_ids) > 0): + if file_format == "json": + filename = dataset_name + "_trait_ids.json" + return flask.jsonify(trait_ids) + else: + filename = dataset_name + "_trait_ids.csv" + + si = StringIO.StringIO() + csv_writer = csv.writer(si) + csv_writer.writerows([[trait_id] for trait_id in trait_ids]) + output = make_response(si.getvalue()) + output.headers["Content-Disposition"] = "attachment; filename=" + filename + output.headers["Content-type"] = "text/csv" + return output + else: + if len(trait_ids) > 0: + if data_type == "ProbeSet": + query = """ + SELECT + ProbeSet.Id, ProbeSet.Name, ProbeSet.Symbol, ProbeSet.description, ProbeSet.Chr, ProbeSet.Mb, ProbeSet.alias, + ProbeSetXRef.mean, ProbeSetXRef.se, ProbeSetXRef.Locus, ProbeSetXRef.LRS, ProbeSetXRef.pValue, ProbeSetXRef.additive, ProbeSetXRef.h2 + FROM + ProbeSet, ProbeSetXRef + WHERE + ProbeSetXRef.ProbeSetFreezeId = '{0}' AND + ProbeSetXRef.ProbeSetId = ProbeSet.Id + ORDER BY + ProbeSet.Id + """ + + field_list = ["Id", "Name", "Symbol", "Description", "Chr", "Mb", "Aliases", "Mean", "SE", "Locus", "LRS", "P-Value", "Additive", "h2"] + elif data_type == "Geno": + query = """ + SELECT + Geno.Id, Geno.Name, Geno.Marker_Name, Geno.Chr, Geno.Mb, Geno.Sequence, Geno.Source + FROM + Geno, GenoXRef + WHERE + GenoXRef.GenoFreezeId = '{0}' AND + GenoXRef.GenoId = Geno.Id + ORDER BY + Geno.Id + """ + + field_list = ["Id", "Name", "Marker_Name", "Chr", "Mb", "Sequence", "Source"] + else: + query = """ + SELECT + PublishXRef.Id, PublishXRef.PhenotypeId, PublishXRef.PublicationId, PublishXRef.Locus, PublishXRef.LRS, PublishXRef.additive, PublishXRef.Sequence + FROM + PublishXRef + WHERE + PublishXRef.InbredSetId = {0} + ORDER BY + PublishXRef.Id + """ + + field_list = ["Id", "PhenotypeId", "PublicationId", "Locus", "LRS", "Additive", "Sequence"] + + if file_format == "json": + filename = dataset_name + "_traits.json" + + final_query = query.format(dataset_id) + + result_list = [] + for result in g.db.execute(final_query).fetchall(): + trait_dict = {} + for i, field in enumerate(field_list): + if result[i]: + trait_dict[field] = result[i] + result_list.append(trait_dict) + + return flask.jsonify(result_list) + elif file_format == "csv": + filename = dataset_name + "_traits.csv" + + results_list = [] + header_list = [] + header_list += field_list + results_list.append(header_list) + + final_query = query.format(dataset_id) + for result in g.db.execute(final_query).fetchall(): + results_list.append(result) + + si = StringIO.StringIO() + csv_writer = csv.writer(si) + csv_writer.writerows(results_list) + output = make_response(si.getvalue()) + output.headers["Content-Disposition"] = "attachment; filename=" + filename + output.headers["Content-type"] = "text/csv" + return output + else: + return return_error(code=400, source=request.url_rule.rule, title="Invalid Output Format", details="Current formats available are JSON and CSV, with CSV as default") + else: + return return_error(code=204, source=request.url_rule.rule, title="No Results", details="") @app.route("/api/v_{}/sample_data/".format(version)) @app.route("/api/v_{}/sample_data/.".format(version)) @@ -528,8 +628,6 @@ def get_trait_info(dataset_name, trait_name, file_format = "json"): PublishXRef.Id = '{0}' AND PublishXRef.InbredSetId = '{1}' """.format(trait_name, group_id) - - logger.debug("QUERY:", pheno_query) pheno_results = g.db.execute(pheno_query) @@ -612,13 +710,6 @@ def get_genotypes(group_name, file_format="csv"): return output -@app.route("/api/v_{}/traits/".format(version), methods=('GET',)) -@app.route("/api/v_{}/traits/.".format(version), methods=('GET',)) -def get_traits(dataset_name, file_format = "json"): - #ZS: Need to check about the "start" and "stop" stuff since it seems to just limit the number of results to stop - start + 1 in Pjotr's elixir code - - NotImplemented - def return_error(code, source, title, details): json_ob = {"errors": [ { @@ -652,7 +743,7 @@ def get_dataset_trait_ids(dataset_name): dataset_id = results[0][2] return trait_ids, trait_names, data_type, dataset_id - elif "Publish" in dataset_name: + elif "Publish" in dataset_name or get_group_id(dataset_name): data_type = "Publish" dataset_name = dataset_name.replace("Publish", "") dataset_id = get_group_id(dataset_name) @@ -743,7 +834,10 @@ def get_group_id_from_dataset(dataset_name): result = g.db.execute(query).fetchone() - return result[0] + if len(result) > 0: + return result[0] + else: + return None def get_group_id(group_name): query = """ -- cgit v1.2.3 From 4241730a9e304ea272381456555d843d85f4cb04 Mon Sep 17 00:00:00 2001 From: zsloan Date: Fri, 31 May 2019 12:55:28 -0500 Subject: Minor changes --- doc/API_readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/API_readme.md b/doc/API_readme.md index 64fc61f9..6c88d413 100644 --- a/doc/API_readme.md +++ b/doc/API_readme.md @@ -90,7 +90,7 @@ curl http://gn2-zach.genenetwork.org/api/v_pre1/traits/HXBBXHPublish.json [ { "Additive": 0.0499967532467532, "Id": 10001, "LRS": 16.2831307029479, "Locus": "rs106114574", "PhenotypeId": 1449, "PublicationId": 319, "Sequence": 1 }, ... ] ``` -Both JSON and CSV formats can be specified, with CSV as default. There is also an optional "ids_only" parameter that will only return a list of trait IDs. +Both JSON and CSV formats can be specified, with JSON as default. There is also an optional "ids_only" and "names_only" parameter that will only return a list of trait IDs or names, respectively. ## Fetch Trait Info (Name, Description, Location, etc) ## ### For mRNA Expression/"ProbeSet" ### -- cgit v1.2.3 From 84d165a30aaff2fcb4dd6b3bb7106ff0ceb495e9 Mon Sep 17 00:00:00 2001 From: zsloan Date: Fri, 31 May 2019 12:58:26 -0500 Subject: Added option to get just trait names from traits query, and also fixed sample_data query to avoid duplicates --- wqflask/wqflask/api/router.py | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/wqflask/wqflask/api/router.py b/wqflask/wqflask/api/router.py index 4ecd6699..707e4e65 100644 --- a/wqflask/wqflask/api/router.py +++ b/wqflask/wqflask/api/router.py @@ -292,8 +292,8 @@ def get_dataset_info(dataset_name, group_name = None, file_format="json"): @app.route("/api/v_{}/traits/".format(version), methods=('GET',)) @app.route("/api/v_{}/traits/.".format(version), methods=('GET',)) -def fetch_traits(dataset_name, file_format = "csv"): - trait_ids, _trait_names, data_type, dataset_id = get_dataset_trait_ids(dataset_name) +def fetch_traits(dataset_name, file_format = "json"): + trait_ids, trait_names, data_type, dataset_id = get_dataset_trait_ids(dataset_name) if ('ids_only' in request.args) and (len(trait_ids) > 0): if file_format == "json": filename = dataset_name + "_trait_ids.json" @@ -308,6 +308,20 @@ def fetch_traits(dataset_name, file_format = "csv"): output.headers["Content-Disposition"] = "attachment; filename=" + filename output.headers["Content-type"] = "text/csv" return output + elif ('names_only' in request.args) and (len(trait_ids) > 0): + if file_format == "json": + filename = dataset_name + "_trait_names.json" + return flask.jsonify(trait_names) + else: + filename = dataset_name + "_trait_names.csv" + + si = StringIO.StringIO() + csv_writer = csv.writer(si) + csv_writer.writerows([[trait_name] for trait_name in trait_names]) + output = make_response(si.getvalue()) + output.headers["Content-Disposition"] = "attachment; filename=" + filename + output.headers["Content-type"] = "text/csv" + return output else: if len(trait_ids) > 0: if data_type == "ProbeSet": @@ -534,7 +548,7 @@ def trait_sample_data(dataset_name, trait_name, file_format = "json"): dataset_or_group = dataset_name pheno_query = """ - SELECT + SELECT DISTINCT Strain.Name, Strain.Name2, PublishData.value, PublishData.Id, PublishSE.error, NStrain.count FROM (PublishData, Strain, PublishXRef, PublishFreeze) -- cgit v1.2.3 From 34d962fe1e0dd5e30f067e7a30fcbd8931f2aacb Mon Sep 17 00:00:00 2001 From: zsloan Date: Tue, 4 Jun 2019 11:20:28 -0500 Subject: Added GeneMANIA link Fixed issue that caused error when creating UCSC RefSeq link Fixed issue that sometimes caused an error for phenotype searches Changed some text on collections page --- wqflask/base/webqtlConfig.py | 2 +- wqflask/wqflask/show_trait/show_trait.py | 11 ++++++++--- wqflask/wqflask/templates/collections/view.html | 4 ++-- wqflask/wqflask/templates/search_result_page.html | 6 +++++- wqflask/wqflask/templates/show_trait_details.html | 6 ++++++ 5 files changed, 22 insertions(+), 7 deletions(-) diff --git a/wqflask/base/webqtlConfig.py b/wqflask/base/webqtlConfig.py index b14cc4b0..a08acb0a 100644 --- a/wqflask/base/webqtlConfig.py +++ b/wqflask/base/webqtlConfig.py @@ -43,6 +43,7 @@ HOMOLOGENE_ID = "http://www.ncbi.nlm.nih.gov/homologene/?term=%s" GENOTATION_URL = "http://www.genotation.org/Getd2g.pl?gene_list=%s" GTEX_URL = "https://www.gtexportal.org/home/gene/%s" GENEBRIDGE_URL = "https://www.systems-genetics.org/modules_by_gene/%s?organism=%s" +GENEMANIA_URL = "https://genemania.org/search/%s/%s" UCSC_REFSEQ = "http://genome.cse.ucsc.edu/cgi-bin/hgTracks?db=%s&hgg_gene=%s&hgg_chrom=chr%s&hgg_start=%s&hgg_end=%s" BIOGPS_URL = "http://biogps.org/?org=%s#goto=genereport&id=%s" STRING_URL = "http://string-db.org/newstring_cgi/show_network_section.pl?identifier=%s" @@ -87,4 +88,3 @@ if not valid_path(JSON_GENODIR): PORTADDR = "http://50.16.251.170" INFOPAGEHREF = '/dbdoc/%s.html' CGIDIR = '/webqtl/' #XZ: The variable name 'CGIDIR' should be changed to 'PYTHONDIR' -SCRIPTFILE = 'main.py' diff --git a/wqflask/wqflask/show_trait/show_trait.py b/wqflask/wqflask/show_trait/show_trait.py index 66d3a448..e10b31c0 100644 --- a/wqflask/wqflask/show_trait/show_trait.py +++ b/wqflask/wqflask/show_trait/show_trait.py @@ -257,7 +257,7 @@ class ShowTrait(object): self.genbank_link = webqtlConfig.GENBANK_ID % genbank_id self.genotation_link = self.gtex_link = self.genebridge_link = self.ucsc_blat_link = self.biogps_link = None - self.string_link = self.panther_link = self.aba_link = self.ebi_gwas_link = self.wiki_pi_link = None + self.string_link = self.panther_link = self.aba_link = self.ebi_gwas_link = self.wiki_pi_link = self.genemania_link = None if self.this_trait.symbol: self.genotation_link = webqtlConfig.GENOTATION_URL % self.this_trait.symbol self.gtex_link = webqtlConfig.GTEX_URL % self.this_trait.symbol @@ -266,7 +266,10 @@ class ShowTrait(object): self.ebi_gwas_link = webqtlConfig.EBIGWAS_URL % self.this_trait.symbol if self.dataset.group.species == "mouse" or self.dataset.group.species == "human": - self.genebridge_link = webqtlConfig.GENEBRIDGE_URL % (self.this_trait.symbol, self.dataset.group.species) + if self.dataset.group.species == "mouse": + self.genemania_link = webqtlConfig.GENEMANIA_URL % ("mus-musculus", self.this_trait.symbol) + else: + self.genemania_link = webqtlConfig.GENEMANIA_URL % ("homo-sapiens", self.this_trait.symbol) if self.dataset.group.species == "mouse": self.aba_link = webqtlConfig.ABA_URL % self.this_trait.symbol @@ -282,8 +285,10 @@ class ShowTrait(object): self.ucsc_blat_link = webqtlConfig.UCSC_REFSEQ % ('mm10', self.this_trait.refseq_transcriptid, chr, transcript_start, transcript_end) if self.dataset.group.species == "rat": + self.genemania_link = webqtlConfig.GENEMANIA_URL % ("rattus-norvegicus", self.this_trait.symbol) + query = """SELECT kgID, chromosome, txStart, txEnd - FROM GeneLink_rn33 + FROM GeneList_rn33 WHERE geneSymbol = '{}'""".format(self.this_trait.symbol) kgId, chr, transcript_start, transcript_end = g.db.execute(query).fetchall()[0] if len(g.db.execute(query).fetchall()) > 0 else None diff --git a/wqflask/wqflask/templates/collections/view.html b/wqflask/wqflask/templates/collections/view.html index 8d22b2a8..7e1001fc 100644 --- a/wqflask/wqflask/templates/collections/view.html +++ b/wqflask/wqflask/templates/collections/view.html @@ -84,8 +84,8 @@ - - + +

diff --git a/wqflask/wqflask/templates/search_result_page.html b/wqflask/wqflask/templates/search_result_page.html index e20ea2d3..bf434452 100644 --- a/wqflask/wqflask/templates/search_result_page.html +++ b/wqflask/wqflask/templates/search_result_page.html @@ -324,7 +324,11 @@ 'width': "500px", 'data': null, 'render': function(data, type, row, meta) { - return decodeURIComponent(escape(data.description)) + try { + return decodeURIComponent(escape(data.description)) + } catch { + return escape(data.description) + } } }, { diff --git a/wqflask/wqflask/templates/show_trait_details.html b/wqflask/wqflask/templates/show_trait_details.html index 09f36021..43efa314 100644 --- a/wqflask/wqflask/templates/show_trait_details.html +++ b/wqflask/wqflask/templates/show_trait_details.html @@ -88,6 +88,12 @@    {% endif %} + {% if genemania_link %} + + GeneMANIA + +    + {% endif %} {% if unigene_link %} UniGene -- cgit v1.2.3 From 1033685f2f5769a44f2daabee2f7779288465711 Mon Sep 17 00:00:00 2001 From: zsloan Date: Tue, 4 Jun 2019 12:29:53 -0500 Subject: Fixed issue with probability plot y axis digits --- wqflask/wqflask/static/new/javascript/plotly_probability_plot.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/wqflask/wqflask/static/new/javascript/plotly_probability_plot.js b/wqflask/wqflask/static/new/javascript/plotly_probability_plot.js index d52cb100..38c18d2b 100644 --- a/wqflask/wqflask/static/new/javascript/plotly_probability_plot.js +++ b/wqflask/wqflask/static/new/javascript/plotly_probability_plot.js @@ -161,7 +161,7 @@ intercept_line['samples_all'] = [[first_x, last_x], [first_value, last_value]] } - if (Math.max(y_values['samples_all']) - Math.min(y_values['samples_all']) < 6){ + if (Math.max(...y_values['samples_all']) - Math.min(...y_values['samples_all']) < 4){ tick_digits = '.1f' } else { tick_digits = 'f' -- cgit v1.2.3 From bb4e9e78067a4a26c84581b5f1b86b8718a117bc Mon Sep 17 00:00:00 2001 From: zsloan Date: Tue, 4 Jun 2019 12:49:17 -0500 Subject: Changed the logic for deciding y axis digits to deal with situations where the range is less tan 0.4; not sure if more than this needs to be accounted for --- wqflask/wqflask/static/new/javascript/plotly_probability_plot.js | 5 ++++- wqflask/wqflask/static/new/javascript/show_trait.js | 6 +++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/wqflask/wqflask/static/new/javascript/plotly_probability_plot.js b/wqflask/wqflask/static/new/javascript/plotly_probability_plot.js index 38c18d2b..a9c5676c 100644 --- a/wqflask/wqflask/static/new/javascript/plotly_probability_plot.js +++ b/wqflask/wqflask/static/new/javascript/plotly_probability_plot.js @@ -161,8 +161,11 @@ intercept_line['samples_all'] = [[first_x, last_x], [first_value, last_value]] } - if (Math.max(...y_values['samples_all']) - Math.min(...y_values['samples_all']) < 4){ + val_range = Math.max(...y_values['samples_all']) - Math.min(...y_values['samples_all']) + if (val_range < 4){ tick_digits = '.1f' + } else if (val_range < 0.4) { + tick_digits = '.2f' } else { tick_digits = 'f' } diff --git a/wqflask/wqflask/static/new/javascript/show_trait.js b/wqflask/wqflask/static/new/javascript/show_trait.js index 50765eda..8366ec0a 100644 --- a/wqflask/wqflask/static/new/javascript/show_trait.js +++ b/wqflask/wqflask/static/new/javascript/show_trait.js @@ -921,8 +921,12 @@ get_bar_range = function(sample_list){ } root.chart_range = get_bar_range(sample_lists[0]) -if (root.chart_range[1] - root.chart_range[0] < 4){ +val_range = root.chart_range[1] - root.chart_range[0] + +if (val_range < 4){ tick_digits = '.1f' +} else if (val_range < 0.4) { + tick_digits = '.2f' } else { tick_digits = 'f' } -- cgit v1.2.3 From 319cb6f8a9f3b57137cb13855eb84545a08399e8 Mon Sep 17 00:00:00 2001 From: zsloan Date: Tue, 4 Jun 2019 12:56:49 -0500 Subject: Updated drop-downs (this probably needs to be separated out of the git repository) --- .../new/javascript/dataset_menu_structure.json | 109 ++++++++++++--------- 1 file changed, 62 insertions(+), 47 deletions(-) diff --git a/wqflask/wqflask/static/new/javascript/dataset_menu_structure.json b/wqflask/wqflask/static/new/javascript/dataset_menu_structure.json index b2354f70..0d73213d 100644 --- a/wqflask/wqflask/static/new/javascript/dataset_menu_structure.json +++ b/wqflask/wqflask/static/new/javascript/dataset_menu_structure.json @@ -1335,7 +1335,7 @@ [ "None", "HCPPublish", - "HCP Phenotypes" + "HCP Private Phenotypes" ] ] }, @@ -1346,15 +1346,15 @@ "HLC_0311", "GSE9588 Human Liver Normal (Mar11) Both Sexes" ], - [ - "383", - "HLCM_0311", - "GSE9588 Human Liver Normal (Mar11) Males" - ], [ "384", "HLCF_0311", "GSE9588 Human Liver Normal (Mar11) Females" + ], + [ + "383", + "HLCM_0311", + "GSE9588 Human Liver Normal (Mar11) Males" ] ], "Phenotypes": [ @@ -1529,6 +1529,11 @@ "mouse": { "AIL": { "Hippocampus mRNA": [ + [ + "874", + "UCSD_AIL_HIP_RNA-Seq_log2_0418", + "UCSD AIL Hippocampus (Apr18) RNA-Seq Log2" + ], [ "844", "UCSD_AIL_HIP_RNA-Seq_0418", @@ -1543,6 +1548,11 @@ ] ], "Prefrontal Cortex mRNA": [ + [ + "876", + "UCSD_AIL_PFC_RNA-Seq_log2_0418", + "UCSD AIL Prefrontal Cortex (Apr18) RNA-Seq Log2" + ], [ "846", "UCSD_AIL_PFC_RNA-Seq_0418", @@ -1550,6 +1560,11 @@ ] ], "Striatum mRNA": [ + [ + "875", + "UCSD_AIL_STR_RNA-Seq_log2_0418", + "UCSD AIL Striatum (Apr18) RNA-Seq Log2" + ], [ "845", "UCSD_AIL_STR_RNA-Seq_0418", @@ -1818,6 +1833,11 @@ ] ], "Striatum mRNA": [ + [ + "85", + "SA_M2_0905_P", + "OHSU/VA B6D2F2 Striatum M430v2 (Sep05) PDNN" + ], [ "84", "SA_M2_0905_R", @@ -1827,26 +1847,21 @@ "83", "SA_M2_0905_M", "OHSU/VA B6D2F2 Striatum M430v2 (Sep05) MAS5" - ], - [ - "85", - "SA_M2_0905_P", - "OHSU/VA B6D2F2 Striatum M430v2 (Sep05) PDNN" ] ] }, "BHF2": { "Adipose mRNA": [ - [ - "196", - "UCLA_BHF2_ADIPOSE_MALE", - "UCLA BHF2 Adipose Male mlratio" - ], [ "197", "UCLA_BHF2_ADIPOSE_FEMALE", "UCLA BHF2 Adipose Female mlratio" ], + [ + "196", + "UCLA_BHF2_ADIPOSE_MALE", + "UCLA BHF2 Adipose Male mlratio" + ], [ "165", "UCLA_BHF2_ADIPOSE_0605", @@ -1854,16 +1869,16 @@ ] ], "Brain mRNA": [ - [ - "198", - "UCLA_BHF2_BRAIN_MALE", - "UCLA BHF2 Brain Male mlratio" - ], [ "199", "UCLA_BHF2_BRAIN_FEMALE", "UCLA BHF2 Brain Female mlratio" ], + [ + "198", + "UCLA_BHF2_BRAIN_MALE", + "UCLA BHF2 Brain Male mlratio" + ], [ "166", "UCLA_BHF2_BRAIN_0605", @@ -1878,16 +1893,16 @@ ] ], "Liver mRNA": [ - [ - "200", - "UCLA_BHF2_LIVER_MALE", - "UCLA BHF2 Liver Male mlratio" - ], [ "201", "UCLA_BHF2_LIVER_FEMALE", "UCLA BHF2 Liver Female mlratio" ], + [ + "200", + "UCLA_BHF2_LIVER_MALE", + "UCLA BHF2 Liver Male mlratio" + ], [ "167", "UCLA_BHF2_LIVER_0605", @@ -2121,6 +2136,11 @@ "BR_U_1105_P", "UTHSC Brain mRNA U74Av2 (Nov05) PDNN" ], + [ + "81", + "BR_U_0805_P", + "UTHSC Brain mRNA U74Av2 (Aug05) PDNN" + ], [ "80", "BR_U_0805_M", @@ -2131,11 +2151,6 @@ "BR_U_0805_R", "UTHSC Brain mRNA U74Av2 (Aug05) RMA" ], - [ - "81", - "BR_U_0805_P", - "UTHSC Brain mRNA U74Av2 (Aug05) PDNN" - ], [ "42", "CB_M_0204_P", @@ -2681,6 +2696,11 @@ "EPFLMouseLiverHFDRMA0413", "EPFL/LISP BXD HFD Liver Affy Mouse Gene 1.0 ST (Apr13) RMA" ], + [ + "848", + "EPFLMouseLiverHFCEx0413", + "EPFL/LISP BXD HFC Liver Affy Mouse Gene 1.0 ST (Apr13) RMA Exon Level" + ], [ "432", "EPFLMouseLiverCDRMA0413", @@ -2691,11 +2711,6 @@ "EPFLMouseLiverCDEx0413", "EPFL/LISP BXD CD Liver Affy Mouse Gene 1.0 ST (Apr13) RMA Exon Level" ], - [ - "848", - "EPFLMouseLiverHFCEx0413", - "EPFL/LISP BXD HFC Liver Affy Mouse Gene 1.0 ST (Apr13) RMA Exon Level" - ], [ "433", "EPFLMouseLiverBothExRMA0413", @@ -2849,15 +2864,15 @@ "HQFNeoc_0208_RankInv", "HQF BXD Neocortex ILM6v1.1 (Feb08) RankInv" ], - [ - "274", - "DevNeocortex_ILM6.2P3RInv_1110", - "BIDMC/UTHSC Dev Neocortex P3 ILMv6.2 (Nov10) RankInv" - ], [ "275", "DevNeocortex_ILM6.2P14RInv_1110", "BIDMC/UTHSC Dev Neocortex P14 ILMv6.2 (Nov10) RankInv" + ], + [ + "274", + "DevNeocortex_ILM6.2P3RInv_1110", + "BIDMC/UTHSC Dev Neocortex P3 ILMv6.2 (Nov10) RankInv" ] ], "Nucleus Accumbens mRNA": [ @@ -3089,6 +3104,11 @@ ] ], "Ventral Tegmental Area mRNA": [ + [ + "230", + "VCUEtvsSal_0609_R", + "VCU BXD VTA Et vs Sal M430 2.0 (Jun09) RMA" + ], [ "229", "VCUEtOH_0609_R", @@ -3098,11 +3118,6 @@ "228", "VCUSal_0609_R", "VCU BXD VTA Sal M430 2.0 (Jun09) RMA" - ], - [ - "230", - "VCUEtvsSal_0609_R", - "VCU BXD VTA Et vs Sal M430 2.0 (Jun09) RMA" ] ] }, @@ -3134,7 +3149,7 @@ [ "None", "BXD-HarvestedPublish", - "BXD-Harvested Phenotypes" + "BXD-NIA-Longevity Phenotypes" ] ] }, -- cgit v1.2.3 From 66c6bbfcbbd5fb23145ec09956f4809e5f701bec Mon Sep 17 00:00:00 2001 From: zsloan Date: Wed, 5 Jun 2019 13:01:36 -0500 Subject: Fixed issue that caused interval mapping to not work because the python implementation of the reaper Dataset object doesn't include the addinterval method (so for those situations I still use reaper) Fixed issue where the last chromosome wasn't displayed for mapping results (though still need to fix issue where points are drawn too far to the right when a specific range is viewed) --- wqflask/base/data_set.py | 9 +- wqflask/utility/gen_geno_ob.py | 270 +++++++++++---------- .../marker_regression/display_mapping_results.py | 6 +- .../wqflask/marker_regression/qtlreaper_mapping.py | 2 +- 4 files changed, 147 insertions(+), 140 deletions(-) diff --git a/wqflask/base/data_set.py b/wqflask/base/data_set.py index b324ac74..1fd1792e 100644 --- a/wqflask/base/data_set.py +++ b/wqflask/base/data_set.py @@ -384,7 +384,7 @@ class DatasetGroup(object): [result.extend(l) for l in lists if l] return result - def read_genotype_file(self): + def read_genotype_file(self, use_reaper=False): '''Read genotype from .geno file instead of database''' #genotype_1 is Dataset Object without parents and f1 #genotype_2 is Dataset Object with parents and f1 (not for intercross) @@ -396,9 +396,12 @@ class DatasetGroup(object): full_filename = str(locate(self.genofile, 'genotype')) else: full_filename = str(locate(self.name + '.geno', 'genotype')) - #genotype_1.read(full_filename) - genotype_1 = gen_geno_ob.genotype(full_filename) + if use_reaper: + genotype_1 = reaper.Dataset() + genotype_1.read(full_filename) + else: + genotype_1 = gen_geno_ob.genotype(full_filename) if genotype_1.type == "group" and self.parlist: genotype_2 = genotype_1.add(Mat=self.parlist[0], Pat=self.parlist[1]) #, F1=_f1) diff --git a/wqflask/utility/gen_geno_ob.py b/wqflask/utility/gen_geno_ob.py index 5824b0b3..5172369f 100644 --- a/wqflask/utility/gen_geno_ob.py +++ b/wqflask/utility/gen_geno_ob.py @@ -1,135 +1,137 @@ -from __future__ import absolute_import, division, print_function - -class genotype(object): - """ - Replacement for reaper.Dataset so we can remove qtlreaper use while still generating mapping output figure - """ - - def __init__(self, filename): - self.group = None - self.type = "riset" - self.prgy = [] - self.nprgy = 0 - self.mat = -1 - self.pat = 1 - self.het = 0 - self.unk = "U" - self.filler = False - self.mb_exists = False - - #ZS: This is because I'm not sure if some files switch the column that contains Mb/cM positions; might be unnecessary - self.cm_column = 2 - self.mb_column = 3 - - self.chromosomes = [] - - self.read_file(filename) - - def __iter__(self): - return iter(self.chromosomes) - - def __getitem__(self, index): - return self.chromosomes[index] - - def __len__(self): - return len(self.chromosomes) - - def read_file(self, filename): - - with open(filename, 'r') as geno_file: - lines = geno_file.readlines() - - this_chr = "" #ZS: This is so it can track when the chromosome changes as it iterates through markers - chr_ob = None - for line in lines: - if line[0] == "#": - continue - elif line[0] == "@": - label = line.split(":")[0][1:] - if label == "name": - self.group = line.split(":")[1] - elif label == "filler": - if line.split(":")[1] == "yes": - self.filler = True - elif label == "type": - self.type = line.split(":")[1] - elif label == "mat": - self.mat = line.split(":")[1] - elif label == "pat": - self.pat = line.split(":")[1] - elif label == "het": - self.het = line.split(":")[1] - elif label == "unk": - self.unk = line.split(":")[1] - else: - continue - elif line[:3] == "Chr": - header_row = line.split("\t") - if header_row[2] == "Mb": - self.mb_exists = True - self.mb_column = 2 - self.cm_column = 3 - elif header_row[3] == "Mb": - self.mb_exists = True - self.mb_column = 3 - elif header_row[2] == "cM": - self.cm_column = 2 - - if self.mb_exists: - self.prgy = header_row[4:] - else: - self.prgy = header_row[3:] - self.nprgy = len(self.prgy) - else: - if line.split("\t")[0] != this_chr: - if this_chr != "": - self.chromosomes.append(chr_ob) - this_chr = line.split("\t")[0] - chr_ob = Chr(line.split("\t")[0], self) - chr_ob.add_marker(line.split("\t")) - -class Chr(object): - def __init__(self, name, geno_ob): - self.name = name - self.loci = [] - self.mb_exists = geno_ob.mb_exists - self.cm_column = geno_ob.cm_column - self.mb_column = geno_ob.mb_column - self.geno_ob = geno_ob - - def __iter__(self): - return iter(self.loci) - - def __getitem__(self, index): - return self.loci[index] - - def __len__(self): - return len(self.loci) - - def add_marker(self, marker_row): - self.loci.append(Locus(marker_row, self.geno_ob)) - -class Locus(object): - def __init__(self, marker_row, geno_ob): - self.chr = marker_row[0] - self.name = marker_row[1] - self.cM = float(marker_row[geno_ob.cm_column]) - self.Mb = float(marker_row[geno_ob.mb_column]) if geno_ob.mb_exists else None - - geno_table = { - geno_ob.mat: -1, - geno_ob.pat: 1, - geno_ob.het: 0, - geno_ob.unk: "U" - } - - self.genotype = [] - if geno_ob.mb_exists: - start_pos = 4 - else: - start_pos = 3 - for allele in marker_row[start_pos:]: - if allele in geno_table.keys(): - self.genotype.append(geno_table[allele]) - else: #ZS: Some genotype appears that isn't specified in the metadata, make it unknown +from __future__ import absolute_import, division, print_function + +class genotype(object): + """ + Replacement for reaper.Dataset so we can remove qtlreaper use while still generating mapping output figure + """ + + def __init__(self, filename): + self.group = None + self.type = "riset" + self.prgy = [] + self.nprgy = 0 + self.mat = -1 + self.pat = 1 + self.het = 0 + self.unk = "U" + self.filler = False + self.mb_exists = False + + #ZS: This is because I'm not sure if some files switch the column that contains Mb/cM positions; might be unnecessary + self.cm_column = 2 + self.mb_column = 3 + + self.chromosomes = [] + + self.read_file(filename) + + def __iter__(self): + return iter(self.chromosomes) + + def __getitem__(self, index): + return self.chromosomes[index] + + def __len__(self): + return len(self.chromosomes) + + def read_file(self, filename): + + with open(filename, 'r') as geno_file: + lines = geno_file.readlines() + + this_chr = "" #ZS: This is so it can track when the chromosome changes as it iterates through markers + chr_ob = None + for line in lines: + if line[0] == "#": + continue + elif line[0] == "@": + label = line.split(":")[0][1:] + if label == "name": + self.group = line.split(":")[1] + elif label == "filler": + if line.split(":")[1] == "yes": + self.filler = True + elif label == "type": + self.type = line.split(":")[1] + elif label == "mat": + self.mat = line.split(":")[1] + elif label == "pat": + self.pat = line.split(":")[1] + elif label == "het": + self.het = line.split(":")[1] + elif label == "unk": + self.unk = line.split(":")[1] + else: + continue + elif line[:3] == "Chr": + header_row = line.split("\t") + if header_row[2] == "Mb": + self.mb_exists = True + self.mb_column = 2 + self.cm_column = 3 + elif header_row[3] == "Mb": + self.mb_exists = True + self.mb_column = 3 + elif header_row[2] == "cM": + self.cm_column = 2 + + if self.mb_exists: + self.prgy = header_row[4:] + else: + self.prgy = header_row[3:] + self.nprgy = len(self.prgy) + else: + if line.split("\t")[0] != this_chr: + if this_chr != "": + self.chromosomes.append(chr_ob) + this_chr = line.split("\t")[0] + chr_ob = Chr(line.split("\t")[0], self) + chr_ob.add_marker(line.split("\t")) + + self.chromosomes.append(chr_ob) + +class Chr(object): + def __init__(self, name, geno_ob): + self.name = name + self.loci = [] + self.mb_exists = geno_ob.mb_exists + self.cm_column = geno_ob.cm_column + self.mb_column = geno_ob.mb_column + self.geno_ob = geno_ob + + def __iter__(self): + return iter(self.loci) + + def __getitem__(self, index): + return self.loci[index] + + def __len__(self): + return len(self.loci) + + def add_marker(self, marker_row): + self.loci.append(Locus(marker_row, self.geno_ob)) + +class Locus(object): + def __init__(self, marker_row, geno_ob): + self.chr = marker_row[0] + self.name = marker_row[1] + self.cM = float(marker_row[geno_ob.cm_column]) + self.Mb = float(marker_row[geno_ob.mb_column]) if geno_ob.mb_exists else None + + geno_table = { + geno_ob.mat: -1, + geno_ob.pat: 1, + geno_ob.het: 0, + geno_ob.unk: "U" + } + + self.genotype = [] + if geno_ob.mb_exists: + start_pos = 4 + else: + start_pos = 3 + for allele in marker_row[start_pos:]: + if allele in geno_table.keys(): + self.genotype.append(geno_table[allele]) + else: #ZS: Some genotype appears that isn't specified in the metadata, make it unknown self.genotype.append("U") \ No newline at end of file diff --git a/wqflask/wqflask/marker_regression/display_mapping_results.py b/wqflask/wqflask/marker_regression/display_mapping_results.py index 993fc2d9..e53e5279 100644 --- a/wqflask/wqflask/marker_regression/display_mapping_results.py +++ b/wqflask/wqflask/marker_regression/display_mapping_results.py @@ -236,9 +236,11 @@ class DisplayMappingResults(object): self.selectedChr = int(start_vars['selected_chr']) self.strainlist = start_vars['samples'] - self.genotype = self.dataset.group.read_genotype_file() + if self.mapping_method == "reaper" and self.manhattan_plot != True: - self.genotype = self.genotype.addinterval() + self.genotype = self.dataset.group.read_genotype_file(use_reaper=True) + else: + self.genotype = self.dataset.group.read_genotype_file() #Darwing Options try: diff --git a/wqflask/wqflask/marker_regression/qtlreaper_mapping.py b/wqflask/wqflask/marker_regression/qtlreaper_mapping.py index 35bed8d8..d58c59c8 100644 --- a/wqflask/wqflask/marker_regression/qtlreaper_mapping.py +++ b/wqflask/wqflask/marker_regression/qtlreaper_mapping.py @@ -2,7 +2,7 @@ import utility.logger logger = utility.logger.getLogger(__name__ ) def gen_reaper_results(this_trait, dataset, samples_before, trait_vals, json_data, num_perm, bootCheck, num_bootstrap, do_control, control_marker, manhattan_plot): - genotype = dataset.group.read_genotype_file() + genotype = dataset.group.read_genotype_file(use_reaper=True) if manhattan_plot != True: genotype = genotype.addinterval() -- cgit v1.2.3 From 65b33706d16abb7ef68a815fde5e3b1e69d4638f Mon Sep 17 00:00:00 2001 From: zsloan Date: Wed, 5 Jun 2019 13:15:57 -0500 Subject: Issue where manhattan plot points went past the edge of the plot should be fixed now --- wqflask/wqflask/marker_regression/display_mapping_results.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/wqflask/wqflask/marker_regression/display_mapping_results.py b/wqflask/wqflask/marker_regression/display_mapping_results.py index e53e5279..043e561a 100644 --- a/wqflask/wqflask/marker_regression/display_mapping_results.py +++ b/wqflask/wqflask/marker_regression/display_mapping_results.py @@ -1868,7 +1868,14 @@ class DisplayMappingResults(object): point_color = pid.grey else: point_color = pid.black - canvas.drawString("5", Xc-canvas.stringWidth("5",font=symbolFont)/2+1,Yc+2,color=point_color, font=symbolFont) + + final_x_pos = Xc-canvas.stringWidth("5",font=symbolFont)/2+1 + if final_x_pos > (xLeftOffset + plotWidth): + break + elif final_x_pos < xLeftOffset: + continue + else: + canvas.drawString("5", final_x_pos,Yc+2,color=point_color, font=symbolFont) else: LRSCoordXY.append((Xc, Yc)) -- cgit v1.2.3 From 067fb003a7ea9893d63454762183a514829069b1 Mon Sep 17 00:00:00 2001 From: Pjotr Prins Date: Wed, 5 Jun 2019 13:51:36 -0500 Subject: Additive effects now display for manhattan plots when available --- wqflask/wqflask/marker_regression/display_mapping_results.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/wqflask/wqflask/marker_regression/display_mapping_results.py b/wqflask/wqflask/marker_regression/display_mapping_results.py index 043e561a..b9050aea 100644 --- a/wqflask/wqflask/marker_regression/display_mapping_results.py +++ b/wqflask/wqflask/marker_regression/display_mapping_results.py @@ -1794,7 +1794,7 @@ class DisplayMappingResults(object): if self.manhattan_plot != True: canvas.drawPolygon(LRSCoordXY,edgeColor=thisLRSColor,closed=0, edgeWidth=lrsEdgeWidth, clipX=(xLeftOffset, xLeftOffset + plotWidth)) - if not self.multipleInterval and not self.manhattan_plot and self.additiveChecked: + if not self.multipleInterval and self.additiveChecked: plusColor = self.ADDITIVE_COLOR_POSITIVE minusColor = self.ADDITIVE_COLOR_NEGATIVE for k, aPoint in enumerate(AdditiveCoordXY): -- cgit v1.2.3 From 38dd85ae47819190c5a3cc9e9a7269b44e92bb38 Mon Sep 17 00:00:00 2001 From: zsloan Date: Wed, 5 Jun 2019 16:13:41 -0500 Subject: Needed to replace single quotes with double quotes for JSON output --- wqflask/wqflask/api/router.py | 290 +++++++++++++++++++++--------------------- 1 file changed, 145 insertions(+), 145 deletions(-) diff --git a/wqflask/wqflask/api/router.py b/wqflask/wqflask/api/router.py index 707e4e65..aab3d660 100644 --- a/wqflask/wqflask/api/router.py +++ b/wqflask/wqflask/api/router.py @@ -22,7 +22,7 @@ version = "pre1" @app.route("/api/v_{}/".format(version)) def hello_world(): - return flask.jsonify({'hello':'world'}) + return flask.jsonify({"hello":"world"}) @app.route("/api/v_{}/species".format(version)) def get_species_list(): @@ -31,10 +31,10 @@ def get_species_list(): species_list = [] for species in the_species: species_dict = { - 'Id' : species[0], - 'Name' : species[1], - 'FullName' : species[2], - 'TaxonomyId' : species[3] + "Id" : species[0], + "Name" : species[1], + "FullName" : species[2], + "TaxonomyId" : species[3] } species_list.append(species_dict) @@ -45,14 +45,14 @@ def get_species_list(): def get_species_info(species_name, file_format = "json"): results = g.db.execute("""SELECT SpeciesId, Name, FullName, TaxonomyId FROM Species - WHERE (Name='{0}' OR FullName='{0}' OR SpeciesName='{0}');""".format(species_name)) + WHERE (Name="{0}" OR FullName="{0}" OR SpeciesName="{0}");""".format(species_name)) the_species = results.fetchone() species_dict = { - 'Id' : the_species[0], - 'Name' : the_species[1], - 'FullName' : the_species[2], - 'TaxonomyId' : the_species[3] + "Id" : the_species[0], + "Name" : the_species[1], + "FullName" : the_species[2], + "TaxonomyId" : the_species[3] } return flask.jsonify(species_dict) @@ -61,14 +61,14 @@ def get_species_info(species_name, file_format = "json"): @app.route("/api/v_{}//groups".format(version)) def get_groups_list(species_name=None): if species_name: - results = g.db.execute("""SELECT InbredSet.InbredSetId, InbredSet.SpeciesId, InbredSet.InbredSetName, - InbredSet.Name, InbredSet.FullName, InbredSet.public, + results = g.db.execute("""SELECT InbredSet.InbredSetId, InbredSet.SpeciesId, InbredSet.InbredSetName, + InbredSet.Name, InbredSet.FullName, InbredSet.public, InbredSet.MappingMethodId, InbredSet.GeneticType FROM InbredSet, Species WHERE InbredSet.SpeciesId = Species.Id AND - (Species.Name = '{0}' OR - Species.FullName='{0}' OR - Species.SpeciesName='{0}');""".format(species_name)) + (Species.Name = "{0}" OR + Species.FullName="{0}" OR + Species.SpeciesName="{0}");""".format(species_name)) else: results = g.db.execute("""SELECT InbredSet.InbredSetId, InbredSet.SpeciesId, InbredSet.InbredSetName, InbredSet.Name, InbredSet.FullName, InbredSet.public, @@ -80,14 +80,14 @@ def get_groups_list(species_name=None): groups_list = [] for group in the_groups: group_dict = { - 'Id' : group[0], - 'SpeciesId' : group[1], - 'DisplayName' : group[2], - 'Name' : group[3], - 'FullName' : group[4], - 'public' : group[5], - 'MappingMethodId' : group[6], - 'GeneticType' : group[7] + "Id" : group[0], + "SpeciesId" : group[1], + "DisplayName" : group[2], + "Name" : group[3], + "FullName" : group[4], + "public" : group[5], + "MappingMethodId" : group[6], + "GeneticType" : group[7] } groups_list.append(group_dict) @@ -106,32 +106,32 @@ def get_group_info(group_name, species_name = None, file_format = "json"): InbredSet.MappingMethodId, InbredSet.GeneticType FROM InbredSet, Species WHERE InbredSet.SpeciesId = Species.Id AND - (InbredSet.InbredSetName = '{0}' OR - InbredSet.Name = '{0}' OR - InbredSet.FullName = '{0}') AND - (Species.Name = '{1}' OR - Species.FullName='{1}' OR - Species.SpeciesName='{1}');""".format(group_name, species_name)) + (InbredSet.InbredSetName = "{0}" OR + InbredSet.Name = "{0}" OR + InbredSet.FullName = "{0}") AND + (Species.Name = "{1}" OR + Species.FullName="{1}" OR + Species.SpeciesName="{1}");""".format(group_name, species_name)) else: results = g.db.execute("""SELECT InbredSet.InbredSetId, InbredSet.SpeciesId, InbredSet.InbredSetName, InbredSet.Name, InbredSet.FullName, InbredSet.public, InbredSet.MappingMethodId, InbredSet.GeneticType FROM InbredSet - WHERE (InbredSet.InbredSetName = '{0}' OR - InbredSet.Name = '{0}' OR - InbredSet.FullName = '{0}');""".format(group_name)) + WHERE (InbredSet.InbredSetName = "{0}" OR + InbredSet.Name = "{0}" OR + InbredSet.FullName = "{0}");""".format(group_name)) group = results.fetchone() if group: group_dict = { - 'Id' : group[0], - 'SpeciesId' : group[1], - 'DisplayName' : group[2], - 'Name' : group[3], - 'FullName' : group[4], - 'public' : group[5], - 'MappingMethodId' : group[6], - 'GeneticType' : group[7] + "Id" : group[0], + "SpeciesId" : group[1], + "DisplayName" : group[2], + "Name" : group[3], + "FullName" : group[4], + "public" : group[5], + "MappingMethodId" : group[6], + "GeneticType" : group[7] } return flask.jsonify(group_dict) @@ -150,9 +150,9 @@ def get_datasets_for_group(group_name, species_name=None): FROM ProbeSetFreeze, ProbeFreeze, InbredSet, Species WHERE ProbeSetFreeze.ProbeFreezeId = ProbeFreeze.Id AND ProbeFreeze.InbredSetId = InbredSet.Id AND - (InbredSet.Name = '{0}' OR InbredSet.InbredSetName = '{0}' OR InbredSet.FullName = '{0}') AND + (InbredSet.Name = "{0}" OR InbredSet.InbredSetName = "{0}" OR InbredSet.FullName = "{0}") AND InbredSet.SpeciesId = Species.Id AND - (Species.SpeciesName = '{1}' OR Species.MenuName = '{1}' OR Species.FullName = '{1}'); + (Species.SpeciesName = "{1}" OR Species.MenuName = "{1}" OR Species.FullName = "{1}"); """.format(group_name, species_name)) else: results = g.db.execute(""" @@ -163,7 +163,7 @@ def get_datasets_for_group(group_name, species_name=None): FROM ProbeSetFreeze, ProbeFreeze, InbredSet WHERE ProbeSetFreeze.ProbeFreezeId = ProbeFreeze.Id AND ProbeFreeze.InbredSetId = InbredSet.Id AND - (InbredSet.Name = '{0}' OR InbredSet.InbredSetName = '{0}' OR InbredSet.FullName = '{0}'); + (InbredSet.Name = "{0}" OR InbredSet.InbredSetName = "{0}" OR InbredSet.FullName = "{0}"); """.format(group_name)) the_datasets = results.fetchall() @@ -172,17 +172,17 @@ def get_datasets_for_group(group_name, species_name=None): datasets_list = [] for dataset in the_datasets: dataset_dict = { - 'Id' : dataset[0], - 'ProbeFreezeId' : dataset[1], - 'AvgID' : dataset[2], - 'Short_Abbreviation' : dataset[3], - 'Long_Abbreviation' : dataset[4], - 'FullName' : dataset[5], - 'ShortName' : dataset[6], - 'CreateTime' : dataset[7], - 'public' : dataset[8], - 'confidentiality' : dataset[9], - 'DataScale' : dataset[10] + "Id" : dataset[0], + "ProbeFreezeId" : dataset[1], + "AvgID" : dataset[2], + "Short_Abbreviation" : dataset[3], + "Long_Abbreviation" : dataset[4], + "FullName" : dataset[5], + "ShortName" : dataset[6], + "CreateTime" : dataset[7], + "public" : dataset[8], + "confidentiality" : dataset[9], + "DataScale" : dataset[10] } datasets_list.append(dataset_dict) @@ -197,7 +197,7 @@ def get_datasets_for_group(group_name, species_name=None): def get_dataset_info(dataset_name, group_name = None, file_format="json"): #ZS: First get ProbeSet (mRNA expression) datasets and then get Phenotype datasets - datasets_list = [] #ZS: I figure I might as well return a list if there are multiple matches, though I don't know if this will actually happen in practice + datasets_list = [] #ZS: I figure I might as well return a list if there are multiple matches, though I don"t know if this will actually happen in practice probeset_query = """ SELECT ProbeSetFreeze.Id, ProbeSetFreeze.Name, ProbeSetFreeze.FullName, @@ -212,12 +212,12 @@ def get_dataset_info(dataset_name, group_name = None, file_format="json"): """ if dataset_name.isdigit(): where_statement += """ - ProbeSetFreeze.Id = '{}' + ProbeSetFreeze.Id = "{}" """.format(dataset_name) else: where_statement += """ - (ProbeSetFreeze.Name = '{0}' OR ProbeSetFreeze.Name2 = '{0}' OR - ProbeSetFreeze.FullName = '{0}' OR ProbeSetFreeze.ShortName = '{0}') + (ProbeSetFreeze.Name = "{0}" OR ProbeSetFreeze.Name2 = "{0}" OR + ProbeSetFreeze.FullName = "{0}" OR ProbeSetFreeze.ShortName = "{0}") """.format(dataset_name) probeset_query += where_statement @@ -226,16 +226,16 @@ def get_dataset_info(dataset_name, group_name = None, file_format="json"): if dataset: dataset_dict = { - 'dataset_type' : "mRNA expression", - 'id' : dataset[0], - 'name' : dataset[1], - 'full_name' : dataset[2], - 'short_name' : dataset[3], - 'data_scale' : dataset[4], - 'tissue_id' : dataset[5], - 'tissue' : dataset[6], - 'public' : dataset[7], - 'confidential' : dataset[8] + "dataset_type" : "mRNA expression", + "id" : dataset[0], + "name" : dataset[1], + "full_name" : dataset[2], + "short_name" : dataset[3], + "data_scale" : dataset[4], + "tissue_id" : dataset[5], + "tissue" : dataset[6], + "public" : dataset[7], + "confidential" : dataset[8] } datasets_list.append(dataset_dict) @@ -249,7 +249,7 @@ def get_dataset_info(dataset_name, group_name = None, file_format="json"): WHERE PublishXRef.InbredSetId = InbredSet.Id AND PublishXRef.PhenotypeId = Phenotype.Id AND PublishXRef.PublicationId = Publication.Id AND - InbredSet.Name = '{0}' AND PublishXRef.Id = '{1}' + InbredSet.Name = "{0}" AND PublishXRef.Id = "{1}" """.format(group_name, dataset_name) logger.debug("QUERY:", pheno_query) @@ -260,25 +260,25 @@ def get_dataset_info(dataset_name, group_name = None, file_format="json"): if dataset: if dataset[5]: dataset_dict = { - 'dataset_type' : "phenotype", - 'id' : dataset[0], - 'name' : dataset[1], - 'description' : dataset[2], - 'pubmed_id' : dataset[5], - 'title' : dataset[6], - 'year' : dataset[7] + "dataset_type" : "phenotype", + "id" : dataset[0], + "name" : dataset[1], + "description" : dataset[2], + "pubmed_id" : dataset[5], + "title" : dataset[6], + "year" : dataset[7] } elif dataset[4]: dataset_dict = { - 'dataset_type' : "phenotype", - 'id' : dataset[0], - 'name' : dataset[3], - 'description' : dataset[4] + "dataset_type" : "phenotype", + "id" : dataset[0], + "name" : dataset[3], + "description" : dataset[4] } else: dataset_dict = { - 'dataset_type' : "phenotype", - 'id' : dataset[0] + "dataset_type" : "phenotype", + "id" : dataset[0] } datasets_list.append(dataset_dict) @@ -290,11 +290,11 @@ def get_dataset_info(dataset_name, group_name = None, file_format="json"): else: return return_error(code=204, source=request.url_rule.rule, title="No Results", details="") -@app.route("/api/v_{}/traits/".format(version), methods=('GET',)) -@app.route("/api/v_{}/traits/.".format(version), methods=('GET',)) +@app.route("/api/v_{}/traits/".format(version), methods=("GET",)) +@app.route("/api/v_{}/traits/.".format(version), methods=("GET",)) def fetch_traits(dataset_name, file_format = "json"): trait_ids, trait_names, data_type, dataset_id = get_dataset_trait_ids(dataset_name) - if ('ids_only' in request.args) and (len(trait_ids) > 0): + if ("ids_only" in request.args) and (len(trait_ids) > 0): if file_format == "json": filename = dataset_name + "_trait_ids.json" return flask.jsonify(trait_ids) @@ -308,7 +308,7 @@ def fetch_traits(dataset_name, file_format = "json"): output.headers["Content-Disposition"] = "attachment; filename=" + filename output.headers["Content-type"] = "text/csv" return output - elif ('names_only' in request.args) and (len(trait_ids) > 0): + elif ("names_only" in request.args) and (len(trait_ids) > 0): if file_format == "json": filename = dataset_name + "_trait_names.json" return flask.jsonify(trait_names) @@ -332,7 +332,7 @@ def fetch_traits(dataset_name, file_format = "json"): FROM ProbeSet, ProbeSetXRef WHERE - ProbeSetXRef.ProbeSetFreezeId = '{0}' AND + ProbeSetXRef.ProbeSetFreezeId = "{0}" AND ProbeSetXRef.ProbeSetId = ProbeSet.Id ORDER BY ProbeSet.Id @@ -346,7 +346,7 @@ def fetch_traits(dataset_name, file_format = "json"): FROM Geno, GenoXRef WHERE - GenoXRef.GenoFreezeId = '{0}' AND + GenoXRef.GenoFreezeId = "{0}" AND GenoXRef.GenoId = Geno.Id ORDER BY Geno.Id @@ -422,8 +422,8 @@ def all_sample_data(dataset_name, file_format = "csv"): LEFT JOIN ProbeSetSE ON (ProbeSetSE.DataId = ProbeSetData.Id AND ProbeSetSE.StrainId = ProbeSetData.StrainId) WHERE - ProbeSetXRef.ProbeSetFreezeId = '{0}' AND - ProbeSetXRef.ProbeSetId = '{1}' AND + ProbeSetXRef.ProbeSetFreezeId = "{0}" AND + ProbeSetXRef.ProbeSetId = "{1}" AND ProbeSetXRef.DataId = ProbeSetData.Id AND ProbeSetData.StrainId = Strain.Id ORDER BY @@ -438,8 +438,8 @@ def all_sample_data(dataset_name, file_format = "csv"): LEFT JOIN GenoSE ON (GenoSE.DataId = GenoData.Id AND GenoSE.StrainId = GenoData.StrainId) WHERE - GenoXRef.GenoFreezeId = '{0}' AND - GenoXRef.GenoId = '{1}' AND + GenoXRef.GenoFreezeId = "{0}" AND + GenoXRef.GenoId = "{1}" AND GenoXRef.DataId = GenoData.Id AND GenoData.StrainId = Strain.Id ORDER BY @@ -457,8 +457,8 @@ def all_sample_data(dataset_name, file_format = "csv"): (NStrain.DataId = PublishData.Id AND NStrain.StrainId = PublishData.StrainId) WHERE - PublishXRef.InbredSetId = '{0}' AND - PublishXRef.PhenotypeId = '{1}' AND + PublishXRef.InbredSetId = "{0}" AND + PublishXRef.PhenotypeId = "{1}" AND PublishData.Id = PublishXRef.DataId AND PublishData.StrainId = Strain.Id ORDER BY @@ -511,9 +511,9 @@ def trait_sample_data(dataset_name, trait_name, file_format = "json"): LEFT JOIN ProbeSetSE ON (ProbeSetSE.DataId = ProbeSetData.Id AND ProbeSetSE.StrainId = ProbeSetData.StrainId) WHERE - ProbeSet.Name = '{0}' AND ProbeSetXRef.ProbeSetId = ProbeSet.Id AND + ProbeSet.Name = "{0}" AND ProbeSetXRef.ProbeSetId = ProbeSet.Id AND ProbeSetXRef.ProbeSetFreezeId = ProbeSetFreeze.Id AND - ProbeSetFreeze.Name = '{1}' AND + ProbeSetFreeze.Name = "{1}" AND ProbeSetXRef.DataId = ProbeSetData.Id AND ProbeSetData.StrainId = Strain.Id ORDER BY @@ -527,13 +527,13 @@ def trait_sample_data(dataset_name, trait_name, file_format = "json"): sample_list = [] for sample in sample_data: sample_dict = { - 'sample_name' : sample[0], - 'sample_name_2' : sample[1], - 'value' : sample[2], - 'data_id' : sample[3], + "sample_name" : sample[0], + "sample_name_2" : sample[1], + "value" : sample[2], + "data_id" : sample[3], } if sample[4]: - sample_dict['se'] = sample[4] + sample_dict["se"] = sample[4] sample_list.append(sample_dict) return flask.jsonify(sample_list) @@ -559,9 +559,9 @@ def trait_sample_data(dataset_name, trait_name, file_format = "json"): NStrain.StrainId = PublishData.StrainId) WHERE PublishXRef.InbredSetId = PublishFreeze.InbredSetId AND - PublishData.Id = PublishXRef.DataId AND PublishXRef.Id = '{1}' AND - (PublishFreeze.Id = '{0}' OR PublishFreeze.Name = '{0}' OR - PublishFreeze.ShortName = '{0}' OR PublishXRef.InbredSetId = '{0}') AND + PublishData.Id = PublishXRef.DataId AND PublishXRef.Id = "{1}" AND + (PublishFreeze.Id = "{0}" OR PublishFreeze.Name = "{0}" OR + PublishFreeze.ShortName = "{0}" OR PublishXRef.InbredSetId = "{0}") AND PublishData.StrainId = Strain.Id ORDER BY Strain.Name @@ -574,15 +574,15 @@ def trait_sample_data(dataset_name, trait_name, file_format = "json"): sample_list = [] for sample in sample_data: sample_dict = { - 'sample_name' : sample[0], - 'sample_name_2' : sample[1], - 'value' : sample[2], - 'data_id' : sample[3] + "sample_name" : sample[0], + "sample_name_2" : sample[1], + "value" : sample[2], + "data_id" : sample[3] } if sample[4]: - sample_dict['se'] = sample[4] + sample_dict["se"] = sample[4] if sample[5]: - sample_dict['n_cases'] = sample[5] + sample_dict["n_cases"] = sample[5] sample_list.append(sample_dict) return flask.jsonify(sample_list) @@ -596,15 +596,15 @@ def trait_sample_data(dataset_name, trait_name, file_format = "json"): def get_trait_info(dataset_name, trait_name, file_format = "json"): probeset_query = """ SELECT - ProbeSet.Id, ProbeSet.Name, ProbeSet.Symbol, ProbeSet.description, ProbeSet.Chr, ProbeSet.Mb, ProbeSet.alias, + ProbeSet.Id, ProbeSet.Name, ProbeSet.Symbol, ProbeSet.description, ProbeSet.Chr, ProbeSet.Mb, ProbeSet.alias, ProbeSetXRef.mean, ProbeSetXRef.se, ProbeSetXRef.Locus, ProbeSetXRef.LRS, ProbeSetXRef.pValue, ProbeSetXRef.additive FROM ProbeSet, ProbeSetXRef, ProbeSetFreeze WHERE - ProbeSet.Name = '{0}' AND + ProbeSet.Name = "{0}" AND ProbeSetXRef.ProbeSetId = ProbeSet.Id AND ProbeSetXRef.ProbeSetFreezeId = ProbeSetFreeze.Id AND - ProbeSetFreeze.Name = '{1}' + ProbeSetFreeze.Name = "{1}" """.format(trait_name, dataset_name) probeset_results = g.db.execute(probeset_query) @@ -612,19 +612,19 @@ def get_trait_info(dataset_name, trait_name, file_format = "json"): trait_info = probeset_results.fetchone() if trait_info: trait_dict = { - 'id' : trait_info[0], - 'name' : trait_info[1], - 'symbol' : trait_info[2], - 'description' : trait_info[3], - 'chr' : trait_info[4], - 'mb' : trait_info[5], - 'alias' :trait_info[6], - 'mean' : trait_info[7], - 'se' : trait_info[8], - 'locus' : trait_info[9], - 'lrs' : trait_info[10], - 'p_value' : trait_info[11], - 'additive' : trait_info[12] + "id" : trait_info[0], + "name" : trait_info[1], + "symbol" : trait_info[2], + "description" : trait_info[3], + "chr" : trait_info[4], + "mb" : trait_info[5], + "alias" :trait_info[6], + "mean" : trait_info[7], + "se" : trait_info[8], + "locus" : trait_info[9], + "lrs" : trait_info[10], + "p_value" : trait_info[11], + "additive" : trait_info[12] } return flask.jsonify(trait_dict) @@ -639,8 +639,8 @@ def get_trait_info(dataset_name, trait_name, file_format = "json"): FROM PublishXRef WHERE - PublishXRef.Id = '{0}' AND - PublishXRef.InbredSetId = '{1}' + PublishXRef.Id = "{0}" AND + PublishXRef.InbredSetId = "{1}" """.format(trait_name, group_id) pheno_results = g.db.execute(pheno_query) @@ -648,17 +648,17 @@ def get_trait_info(dataset_name, trait_name, file_format = "json"): trait_info = pheno_results.fetchone() if trait_info: trait_dict = { - 'id' : trait_info[0], - 'locus' : trait_info[1], - 'lrs' : trait_info[2], - 'additive' : trait_info[3] + "id" : trait_info[0], + "locus" : trait_info[1], + "lrs" : trait_info[2], + "additive" : trait_info[3] } return flask.jsonify(trait_dict) else: return return_error(code=204, source=request.url_rule.rule, title="No Results", details="") -@app.route("/api/v_{}/correlation".format(version), methods=('GET',)) +@app.route("/api/v_{}/correlation".format(version), methods=("GET",)) def get_corr_results(): results = correlation.do_correlation(request.args) @@ -667,12 +667,12 @@ def get_corr_results(): else: return return_error(code=204, source=request.url_rule.rule, title="No Results", details="") -@app.route("/api/v_{}/mapping".format(version), methods=('GET',)) +@app.route("/api/v_{}/mapping".format(version), methods=("GET",)) def get_mapping_results(): results = mapping.do_mapping_for_api(request.args) if len(results) > 0: - filename = "mapping_" + datetime.datetime.utcnow().strftime('%b_%d_%Y_%I:%M%p') + ".csv" + filename = "mapping_" + datetime.datetime.utcnow().strftime("%b_%d_%Y_%I:%M%p") + ".csv" si = StringIO.StringIO() csv_writer = csv.writer(si) @@ -692,28 +692,28 @@ def get_genotypes(group_name, file_format="csv"): if file_format == "csv" or file_format == "geno": filename = group_name + ".geno" - if os.path.isfile('{0}/{1}.geno'.format(flat_files('genotype'), group_name)): + if os.path.isfile("{0}/{1}.geno".format(flat_files("genotype"), group_name)): output_lines = [] - with open('{0}/{1}.geno'.format(flat_files('genotype'), group_name)) as genofile: + with open("{0}/{1}.geno".format(flat_files("genotype"), group_name)) as genofile: for line in genofile: if line[0] == "#" or line[0] == "@": output_lines.append([line.strip()]) else: output_lines.append(line.split()) - csv_writer = csv.writer(si, delimiter = '\t', escapechar = "\\", quoting = csv.QUOTE_NONE) + csv_writer = csv.writer(si, delimiter = "\t", escapechar = "\\", quoting = csv.QUOTE_NONE) else: return return_error(code=204, source=request.url_rule.rule, title="No Results", details="") else: filename = group_name + ".bimbam" - if os.path.isfile('{0}/{1}.geno'.format(flat_files('genotype'), group_name)): + if os.path.isfile("{0}/{1}.geno".format(flat_files("genotype"), group_name)): output_lines = [] - with open('{0}/{1}_geno.txt'.format(flat_files('genotype/bimbam'), group_name)) as genofile: + with open("{0}/{1}_geno.txt".format(flat_files("genotype/bimbam"), group_name)) as genofile: for line in genofile: output_lines.append([line.strip() for line in line.split(",")]) - csv_writer = csv.writer(si, delimiter = ',') + csv_writer = csv.writer(si, delimiter = ",") else: return return_error(code=204, source=request.url_rule.rule, title="No Results", details="") @@ -747,7 +747,7 @@ def get_dataset_trait_ids(dataset_name): WHERE Geno.Id = GenoXRef.GenoId AND GenoXRef.GenoFreezeId = GenoFreeze.Id AND - GenoFreeze.Name = '{0}' + GenoFreeze.Name = "{0}" """.format(dataset_name) results = g.db.execute(query).fetchall() @@ -768,7 +768,7 @@ def get_dataset_trait_ids(dataset_name): FROM PublishXRef WHERE - PublishXRef.InbredSetId = '{0}' + PublishXRef.InbredSetId = "{0}" """.format(dataset_id) results = g.db.execute(query).fetchall() @@ -787,7 +787,7 @@ def get_dataset_trait_ids(dataset_name): WHERE ProbeSet.Id = ProbeSetXRef.ProbeSetId AND ProbeSetXRef.ProbeSetFreezeId = ProbeSetFreeze.Id AND - ProbeSetFreeze.Name = '{0}' + ProbeSetFreeze.Name = "{0}" """.format(dataset_name) results = g.db.execute(query).fetchall() @@ -857,7 +857,7 @@ def get_group_id(group_name): query = """ SELECT InbredSet.Id FROM InbredSet - WHERE InbredSet.Name = '{}' + WHERE InbredSet.Name = "{}" """.format(group_name) group_id = g.db.execute(query).fetchone() -- cgit v1.2.3 From c898381788574b70a3f85c145eb8fcd5d7af7ca0 Mon Sep 17 00:00:00 2001 From: zsloan Date: Wed, 5 Jun 2019 16:26:19 -0500 Subject: Ensured that a string is returned for SQL fields that can potentially be null --- wqflask/wqflask/api/router.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/wqflask/wqflask/api/router.py b/wqflask/wqflask/api/router.py index aab3d660..64552fa5 100644 --- a/wqflask/wqflask/api/router.py +++ b/wqflask/wqflask/api/router.py @@ -63,7 +63,7 @@ def get_groups_list(species_name=None): if species_name: results = g.db.execute("""SELECT InbredSet.InbredSetId, InbredSet.SpeciesId, InbredSet.InbredSetName, InbredSet.Name, InbredSet.FullName, InbredSet.public, - InbredSet.MappingMethodId, InbredSet.GeneticType + ISNULL(InbredSet.MappingMethodId, "None"), ISNULL(InbredSet.GeneticType, "None") FROM InbredSet, Species WHERE InbredSet.SpeciesId = Species.Id AND (Species.Name = "{0}" OR @@ -72,7 +72,7 @@ def get_groups_list(species_name=None): else: results = g.db.execute("""SELECT InbredSet.InbredSetId, InbredSet.SpeciesId, InbredSet.InbredSetName, InbredSet.Name, InbredSet.FullName, InbredSet.public, - InbredSet.MappingMethodId, InbredSet.GeneticType + ISNULL(InbredSet.MappingMethodId, "None"), ISNULL(InbredSet.GeneticType, "None") FROM InbredSet;""") the_groups = results.fetchall() @@ -103,7 +103,7 @@ def get_group_info(group_name, species_name = None, file_format = "json"): if species_name: results = g.db.execute("""SELECT InbredSet.InbredSetId, InbredSet.SpeciesId, InbredSet.InbredSetName, InbredSet.Name, InbredSet.FullName, InbredSet.public, - InbredSet.MappingMethodId, InbredSet.GeneticType + ISNULL(InbredSet.MappingMethodId, "None"), ISNULL(InbredSet.GeneticType, "None") FROM InbredSet, Species WHERE InbredSet.SpeciesId = Species.Id AND (InbredSet.InbredSetName = "{0}" OR @@ -115,7 +115,7 @@ def get_group_info(group_name, species_name = None, file_format = "json"): else: results = g.db.execute("""SELECT InbredSet.InbredSetId, InbredSet.SpeciesId, InbredSet.InbredSetName, InbredSet.Name, InbredSet.FullName, InbredSet.public, - InbredSet.MappingMethodId, InbredSet.GeneticType + ISNULL(InbredSet.MappingMethodId, "None"), ISNULL(InbredSet.GeneticType, "None") FROM InbredSet WHERE (InbredSet.InbredSetName = "{0}" OR InbredSet.Name = "{0}" OR -- cgit v1.2.3 From c0aa776c39b00d8a7a90f304db0560d9bc2d0646 Mon Sep 17 00:00:00 2001 From: zsloan Date: Thu, 6 Jun 2019 12:45:02 -0500 Subject: Replaced ISNULL with IFNULL (which is the correct version for MySQL) Changed the query form for getting a species' groups --- wqflask/wqflask/api/router.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/wqflask/wqflask/api/router.py b/wqflask/wqflask/api/router.py index 64552fa5..8e2cbbdc 100644 --- a/wqflask/wqflask/api/router.py +++ b/wqflask/wqflask/api/router.py @@ -58,12 +58,12 @@ def get_species_info(species_name, file_format = "json"): return flask.jsonify(species_dict) @app.route("/api/v_{}/groups".format(version)) -@app.route("/api/v_{}//groups".format(version)) +@app.route("/api/v_{}/groups/".format(version)) def get_groups_list(species_name=None): if species_name: results = g.db.execute("""SELECT InbredSet.InbredSetId, InbredSet.SpeciesId, InbredSet.InbredSetName, InbredSet.Name, InbredSet.FullName, InbredSet.public, - ISNULL(InbredSet.MappingMethodId, "None"), ISNULL(InbredSet.GeneticType, "None") + IFNULL(InbredSet.MappingMethodId, "None"), IFNULL(InbredSet.GeneticType, "None") FROM InbredSet, Species WHERE InbredSet.SpeciesId = Species.Id AND (Species.Name = "{0}" OR @@ -72,7 +72,7 @@ def get_groups_list(species_name=None): else: results = g.db.execute("""SELECT InbredSet.InbredSetId, InbredSet.SpeciesId, InbredSet.InbredSetName, InbredSet.Name, InbredSet.FullName, InbredSet.public, - ISNULL(InbredSet.MappingMethodId, "None"), ISNULL(InbredSet.GeneticType, "None") + IFNULL(InbredSet.MappingMethodId, "None"), IFNULL(InbredSet.GeneticType, "None") FROM InbredSet;""") the_groups = results.fetchall() @@ -103,7 +103,7 @@ def get_group_info(group_name, species_name = None, file_format = "json"): if species_name: results = g.db.execute("""SELECT InbredSet.InbredSetId, InbredSet.SpeciesId, InbredSet.InbredSetName, InbredSet.Name, InbredSet.FullName, InbredSet.public, - ISNULL(InbredSet.MappingMethodId, "None"), ISNULL(InbredSet.GeneticType, "None") + IFNULL(InbredSet.MappingMethodId, "None"), IFNULL(InbredSet.GeneticType, "None") FROM InbredSet, Species WHERE InbredSet.SpeciesId = Species.Id AND (InbredSet.InbredSetName = "{0}" OR @@ -115,7 +115,7 @@ def get_group_info(group_name, species_name = None, file_format = "json"): else: results = g.db.execute("""SELECT InbredSet.InbredSetId, InbredSet.SpeciesId, InbredSet.InbredSetName, InbredSet.Name, InbredSet.FullName, InbredSet.public, - ISNULL(InbredSet.MappingMethodId, "None"), ISNULL(InbredSet.GeneticType, "None") + IFNULL(InbredSet.MappingMethodId, "None"), IFNULL(InbredSet.GeneticType, "None") FROM InbredSet WHERE (InbredSet.InbredSetName = "{0}" OR InbredSet.Name = "{0}" OR -- cgit v1.2.3 From 9e892146abeeeff5ef4d08f6773a2272fe752e0c Mon Sep 17 00:00:00 2001 From: zsloan Date: Thu, 6 Jun 2019 15:34:07 -0500 Subject: Made some changes to REST API, including adding limit_to option to mapping --- wqflask/wqflask/api/mapping.py | 263 ++++++++++++++++++++++------------------- wqflask/wqflask/api/router.py | 63 +++++++--- 2 files changed, 188 insertions(+), 138 deletions(-) diff --git a/wqflask/wqflask/api/mapping.py b/wqflask/wqflask/api/mapping.py index 83c61796..d830cefc 100644 --- a/wqflask/wqflask/api/mapping.py +++ b/wqflask/wqflask/api/mapping.py @@ -1,122 +1,141 @@ -from __future__ import absolute_import, division, print_function - -import string - -from base import data_set -from base import webqtlConfig -from base.trait import GeneralTrait, retrieve_sample_data - -from utility import helper_functions -from wqflask.marker_regression import gemma_mapping, rqtl_mapping, qtlreaper_mapping, plink_mapping - -import utility.logger -logger = utility.logger.getLogger(__name__ ) - -def do_mapping_for_api(start_vars): - assert('db' in start_vars) - assert('trait_id' in start_vars) - - dataset = data_set.create_dataset(dataset_name = start_vars['db']) - dataset.group.get_markers() - this_trait = GeneralTrait(dataset = dataset, name = start_vars['trait_id']) - this_trait = retrieve_sample_data(this_trait, dataset) - - samples = [] - vals = [] - - for sample in dataset.group.samplelist: - in_trait_data = False - for item in this_trait.data: - if this_trait.data[item].name == sample: - value = str(this_trait.data[item].value) - samples.append(item) - vals.append(value) - in_trait_data = True - break - if not in_trait_data: - vals.append("x") - - mapping_params = initialize_parameters(start_vars, dataset, this_trait) - - covariates = "" #ZS: It seems to take an empty string as default. This should probably be changed. - - if mapping_params['mapping_method'] == "gemma": - header_row = ["name", "chr", "Mb", "lod_score", "p_value"] - if mapping_params['use_loco'] == "True": #ZS: gemma_mapping returns both results and the filename for LOCO, so need to only grab the former for api - result_markers = gemma_mapping.run_gemma(this_trait, dataset, samples, vals, covariates, mapping_params['use_loco'], mapping_params['maf'])[0] - else: - result_markers = gemma_mapping.run_gemma(this_trait, dataset, samples, vals, covariates, mapping_params['use_loco'], mapping_params['maf']) - elif mapping_params['mapping_method'] == "rqtl": - header_row = ["name", "chr", "Mb", "lod_score"] - if mapping_params['num_perm'] > 0: - _sperm_output, _suggestive, _significant, result_markers = rqtl_mapping.run_rqtl_geno(vals, dataset, mapping_params['rqtl_method'], mapping_params['rqtl_model'], - mapping_params['perm_check'], mapping_params['num_perm'], - mapping_params['do_control'], mapping_params['control_marker'], - mapping_params['manhattan_plot'], mapping_params['pair_scan']) - else: - result_markers = rqtl_mapping.run_rqtl_geno(vals, dataset, mapping_params['rqtl_method'], mapping_params['rqtl_model'], - mapping_params['perm_check'], mapping_params['num_perm'], - mapping_params['do_control'], mapping_params['control_marker'], - mapping_params['manhattan_plot'], mapping_params['pair_scan']) - - output_rows = [] - output_rows.append(header_row) - for marker in result_markers: - this_row = [marker[header] for header in header_row] - output_rows.append(this_row) - - return output_rows - - -def initialize_parameters(start_vars, dataset, this_trait): - mapping_params = {} - mapping_params['mapping_method'] = "gemma" - if 'method' in start_vars: - mapping_params['mapping_method'] = start_vars['method'] - - if mapping_params['mapping_method'] == "rqtl": - mapping_params['rqtl_method'] = "hk" - mapping_params['rqtl_model'] = "normal" - mapping_params['do_control'] = False - mapping_params['control_marker'] = "" - mapping_params['manhattan_plot'] = True - mapping_params['pair_scan'] = False - if 'rqtl_method' in start_vars: - mapping_params['rqtl_method'] = start_vars['rqtl_method'] - if 'rqtl_model' in start_vars: - mapping_params['rqtl_model'] = start_vars['rqtl_model'] - if 'control_marker' in start_vars: - mapping_params['control_marker'] = start_vars['control_marker'] - mapping_params['do_control'] = True - if 'pair_scan' in start_vars: - if start_vars['pair_scan'].lower() == "true": - mapping_params['pair_scan'] = True - - if 'interval_mapping' in start_vars: - if start_vars['interval_mapping'].lower() == "true": - mapping_params['manhattan_plot'] = False - elif 'manhattan_plot' in start_vars: - if start_vars['manhattan_plot'].lower() != "true": - mapping_params['manhattan_plot'] = False - - mapping_params['maf'] = 0.01 - if 'maf' in start_vars: - mapping_params['maf'] = start_vars['maf'] # Minor allele frequency - - mapping_params['use_loco'] = False - if 'use_loco' in start_vars: - if start_vars['use_loco'].lower() != "false": - mapping_params['use_loco'] = start_vars['use_loco'] - - mapping_params['num_perm'] = 0 - mapping_params['perm_check'] = False - if 'num_perm' in start_vars: - try: - mapping_params['num_perm'] = int(start_vars['num_perm']) - mapping_params['perm_check'] = "ON" - except: - mapping_params['perm_check'] = False - - return mapping_params - - +from __future__ import absolute_import, division, print_function + +import string + +from base import data_set +from base import webqtlConfig +from base.trait import GeneralTrait, retrieve_sample_data + +from utility import helper_functions +from wqflask.marker_regression import gemma_mapping, rqtl_mapping, qtlreaper_mapping, plink_mapping + +import utility.logger +logger = utility.logger.getLogger(__name__ ) + +def do_mapping_for_api(start_vars): + assert('db' in start_vars) + assert('trait_id' in start_vars) + + dataset = data_set.create_dataset(dataset_name = start_vars['db']) + dataset.group.get_markers() + this_trait = GeneralTrait(dataset = dataset, name = start_vars['trait_id']) + this_trait = retrieve_sample_data(this_trait, dataset) + + samples = [] + vals = [] + + for sample in dataset.group.samplelist: + in_trait_data = False + for item in this_trait.data: + if this_trait.data[item].name == sample: + value = str(this_trait.data[item].value) + samples.append(item) + vals.append(value) + in_trait_data = True + break + if not in_trait_data: + vals.append("x") + + mapping_params = initialize_parameters(start_vars, dataset, this_trait) + + covariates = "" #ZS: It seems to take an empty string as default. This should probably be changed. + + if mapping_params['mapping_method'] == "gemma": + header_row = ["name", "chr", "Mb", "lod_score", "p_value"] + if mapping_params['use_loco'] == "True": #ZS: gemma_mapping returns both results and the filename for LOCO, so need to only grab the former for api + result_markers = gemma_mapping.run_gemma(this_trait, dataset, samples, vals, covariates, mapping_params['use_loco'], mapping_params['maf'])[0] + else: + result_markers = gemma_mapping.run_gemma(this_trait, dataset, samples, vals, covariates, mapping_params['use_loco'], mapping_params['maf']) + elif mapping_params['mapping_method'] == "rqtl": + header_row = ["name", "chr", "cM", "lod_score"] + if mapping_params['num_perm'] > 0: + _sperm_output, _suggestive, _significant, result_markers = rqtl_mapping.run_rqtl_geno(vals, dataset, mapping_params['rqtl_method'], mapping_params['rqtl_model'], + mapping_params['perm_check'], mapping_params['num_perm'], + mapping_params['do_control'], mapping_params['control_marker'], + mapping_params['manhattan_plot'], mapping_params['pair_scan']) + else: + result_markers = rqtl_mapping.run_rqtl_geno(vals, dataset, mapping_params['rqtl_method'], mapping_params['rqtl_model'], + mapping_params['perm_check'], mapping_params['num_perm'], + mapping_params['do_control'], mapping_params['control_marker'], + mapping_params['manhattan_plot'], mapping_params['pair_scan']) + + if mapping_params['limit_to']: + result_markers = result_markers[:mapping_params['limit_to']] + + if mapping_params['format'] == "csv": + output_rows = [] + output_rows.append(header_row) + for marker in result_markers: + this_row = [marker[header] for header in header_row] + output_rows.append(this_row) + + return output_rows, mapping_params['format'] + elif mapping_params['format'] == "json": + return result_markers, mapping_params['format'] + else: + return result_markers, None + + + +def initialize_parameters(start_vars, dataset, this_trait): + mapping_params = {} + + mapping_params['format'] = "json" + if 'format' in start_vars: + mapping_params['format'] = start_vars['format'] + + mapping_params['limit_to'] = False + if 'limit_to' in start_vars: + if start_vars['limit_to'].isdigit(): + mapping_params['limit_to'] = int(start_vars['limit_to']) + + mapping_params['mapping_method'] = "gemma" + if 'method' in start_vars: + mapping_params['mapping_method'] = start_vars['method'] + + if mapping_params['mapping_method'] == "rqtl": + mapping_params['rqtl_method'] = "hk" + mapping_params['rqtl_model'] = "normal" + mapping_params['do_control'] = False + mapping_params['control_marker'] = "" + mapping_params['manhattan_plot'] = True + mapping_params['pair_scan'] = False + if 'rqtl_method' in start_vars: + mapping_params['rqtl_method'] = start_vars['rqtl_method'] + if 'rqtl_model' in start_vars: + mapping_params['rqtl_model'] = start_vars['rqtl_model'] + if 'control_marker' in start_vars: + mapping_params['control_marker'] = start_vars['control_marker'] + mapping_params['do_control'] = True + if 'pair_scan' in start_vars: + if start_vars['pair_scan'].lower() == "true": + mapping_params['pair_scan'] = True + + if 'interval_mapping' in start_vars: + if start_vars['interval_mapping'].lower() == "true": + mapping_params['manhattan_plot'] = False + elif 'manhattan_plot' in start_vars: + if start_vars['manhattan_plot'].lower() != "true": + mapping_params['manhattan_plot'] = False + + mapping_params['maf'] = 0.01 + if 'maf' in start_vars: + mapping_params['maf'] = start_vars['maf'] # Minor allele frequency + + mapping_params['use_loco'] = True + if 'use_loco' in start_vars: + if (start_vars['use_loco'].lower() == "false") or (start_vars['use_loco'].lower() == "no"): + mapping_params['use_loco'] = False + + mapping_params['num_perm'] = 0 + mapping_params['perm_check'] = False + if 'num_perm' in start_vars: + try: + mapping_params['num_perm'] = int(start_vars['num_perm']) + mapping_params['perm_check'] = "ON" + except: + mapping_params['perm_check'] = False + + return mapping_params + + diff --git a/wqflask/wqflask/api/router.py b/wqflask/wqflask/api/router.py index 8e2cbbdc..cbff6e83 100644 --- a/wqflask/wqflask/api/router.py +++ b/wqflask/wqflask/api/router.py @@ -293,7 +293,7 @@ def get_dataset_info(dataset_name, group_name = None, file_format="json"): @app.route("/api/v_{}/traits/".format(version), methods=("GET",)) @app.route("/api/v_{}/traits/.".format(version), methods=("GET",)) def fetch_traits(dataset_name, file_format = "json"): - trait_ids, trait_names, data_type, dataset_id = get_dataset_trait_ids(dataset_name) + trait_ids, trait_names, data_type, dataset_id = get_dataset_trait_ids(dataset_name, request.args) if ("ids_only" in request.args) and (len(trait_ids) > 0): if file_format == "json": filename = dataset_name + "_trait_ids.json" @@ -367,6 +367,10 @@ def fetch_traits(dataset_name, file_format = "json"): field_list = ["Id", "PhenotypeId", "PublicationId", "Locus", "LRS", "Additive", "Sequence"] + if 'limit_to' in request.args: + limit_number = request.args['limit_to'] + query += "LIMIT " + str(limit_number) + if file_format == "json": filename = dataset_name + "_traits.json" @@ -408,7 +412,7 @@ def fetch_traits(dataset_name, file_format = "json"): @app.route("/api/v_{}/sample_data/".format(version)) @app.route("/api/v_{}/sample_data/.".format(version)) def all_sample_data(dataset_name, file_format = "csv"): - trait_ids, trait_names, data_type, dataset_id = get_dataset_trait_ids(dataset_name) + trait_ids, trait_names, data_type, dataset_id = get_dataset_trait_ids(dataset_name, request.args) if len(trait_ids) > 0: sample_list = get_samplelist(dataset_name) @@ -496,7 +500,7 @@ def all_sample_data(dataset_name, file_format = "csv"): output.headers["Content-type"] = "text/csv" return output else: - return return_error(code=204, source=request.url_rule.rule, title="No Results", details="") + return return_error(code=415, source=request.url_rule.rule, title="Unsupported file format", details="") else: return return_error(code=204, source=request.url_rule.rule, title="No Results", details="") @@ -669,25 +673,35 @@ def get_corr_results(): @app.route("/api/v_{}/mapping".format(version), methods=("GET",)) def get_mapping_results(): - results = mapping.do_mapping_for_api(request.args) + results, format = mapping.do_mapping_for_api(request.args) if len(results) > 0: - filename = "mapping_" + datetime.datetime.utcnow().strftime("%b_%d_%Y_%I:%M%p") + ".csv" + if format == "csv": + filename = "mapping_" + datetime.datetime.utcnow().strftime("%b_%d_%Y_%I:%M%p") + ".csv" - si = StringIO.StringIO() - csv_writer = csv.writer(si) - csv_writer.writerows(results) - output = make_response(si.getvalue()) - output.headers["Content-Disposition"] = "attachment; filename=" + filename - output.headers["Content-type"] = "text/csv" + si = StringIO.StringIO() + csv_writer = csv.writer(si) + csv_writer.writerows(results) + output = make_response(si.getvalue()) + output.headers["Content-Disposition"] = "attachment; filename=" + filename + output.headers["Content-type"] = "text/csv" - return output + return output + elif format == "json": + return flask.jsonify(results) + else: + return return_error(code=415, source=request.url_rule.rule, title="Unsupported Format", details="") else: return return_error(code=204, source=request.url_rule.rule, title="No Results", details="") @app.route("/api/v_{}/genotypes/".format(version)) @app.route("/api/v_{}/genotypes/.".format(version)) def get_genotypes(group_name, file_format="csv"): + limit_num = None + if 'limit_to' in request.args: + if request.args['limit_to'].isdigit(): + limit_num = int(request.args['limit_to']) + si = StringIO.StringIO() if file_format == "csv" or file_format == "geno": filename = group_name + ".geno" @@ -695,11 +709,15 @@ def get_genotypes(group_name, file_format="csv"): if os.path.isfile("{0}/{1}.geno".format(flat_files("genotype"), group_name)): output_lines = [] with open("{0}/{1}.geno".format(flat_files("genotype"), group_name)) as genofile: + i = 0 for line in genofile: if line[0] == "#" or line[0] == "@": output_lines.append([line.strip()]) else: + if i >= limit_num: + break output_lines.append(line.split()) + i += 1 csv_writer = csv.writer(si, delimiter = "\t", escapechar = "\\", quoting = csv.QUOTE_NONE) else: @@ -710,8 +728,12 @@ def get_genotypes(group_name, file_format="csv"): if os.path.isfile("{0}/{1}.geno".format(flat_files("genotype"), group_name)): output_lines = [] with open("{0}/{1}_geno.txt".format(flat_files("genotype/bimbam"), group_name)) as genofile: + i = 0 for line in genofile: + if i >= limit_num: + break output_lines.append([line.strip() for line in line.split(",")]) + i += 1 csv_writer = csv.writer(si, delimiter = ",") else: @@ -736,7 +758,13 @@ def return_error(code, source, title, details): return flask.jsonify(json_ob) -def get_dataset_trait_ids(dataset_name): +def get_dataset_trait_ids(dataset_name, start_vars): + + if 'limit_to' in start_vars: + limit_string = "LIMIT " + str(start_vars['limit_to']) + else: + limit_string = "" + if "Geno" in dataset_name: data_type = "Geno" #ZS: Need to pass back the dataset type query = """ @@ -748,7 +776,8 @@ def get_dataset_trait_ids(dataset_name): Geno.Id = GenoXRef.GenoId AND GenoXRef.GenoFreezeId = GenoFreeze.Id AND GenoFreeze.Name = "{0}" - """.format(dataset_name) + {1} + """.format(dataset_name, limit_string) results = g.db.execute(query).fetchall() @@ -769,7 +798,8 @@ def get_dataset_trait_ids(dataset_name): PublishXRef WHERE PublishXRef.InbredSetId = "{0}" - """.format(dataset_id) + {1} + """.format(dataset_id, limit_string) results = g.db.execute(query).fetchall() @@ -788,7 +818,8 @@ def get_dataset_trait_ids(dataset_name): ProbeSet.Id = ProbeSetXRef.ProbeSetId AND ProbeSetXRef.ProbeSetFreezeId = ProbeSetFreeze.Id AND ProbeSetFreeze.Name = "{0}" - """.format(dataset_name) + {1} + """.format(dataset_name, limit_string) results = g.db.execute(query).fetchall() -- cgit v1.2.3 From 3659ceb0ee7058e41cd0b789558b07d7e8bf415e Mon Sep 17 00:00:00 2001 From: zsloan Date: Fri, 7 Jun 2019 13:08:47 -0500 Subject: Global search and correlation results can handle null expression now --- wqflask/utility/type_checking.py | 2 +- wqflask/wqflask/correlation/show_corr_results.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/wqflask/utility/type_checking.py b/wqflask/utility/type_checking.py index 220e5f62..f15b17e2 100644 --- a/wqflask/utility/type_checking.py +++ b/wqflask/utility/type_checking.py @@ -27,7 +27,7 @@ def get_float(vars,name,default=None): if name in vars: if is_float(vars[name]): return float(vars[name]) - return None + return default def get_int(vars,name,default=None): if name in vars: diff --git a/wqflask/wqflask/correlation/show_corr_results.py b/wqflask/wqflask/correlation/show_corr_results.py index 1aa7945d..6e9abcd6 100644 --- a/wqflask/wqflask/correlation/show_corr_results.py +++ b/wqflask/wqflask/correlation/show_corr_results.py @@ -83,7 +83,7 @@ class CorrelationResults(object): assert('corr_sample_method' in start_vars) assert('corr_samples_group' in start_vars) assert('corr_dataset' in start_vars) - assert('min_expr' in start_vars) + #assert('min_expr' in start_vars) assert('corr_return_results' in start_vars) if 'loc_chr' in start_vars: assert('min_loc_mb' in start_vars) -- cgit v1.2.3 From f92100ca1eceb1a5440fc08d950a4001ed3b6b73 Mon Sep 17 00:00:00 2001 From: zsloan Date: Sun, 9 Jun 2019 11:01:53 -0500 Subject: Added fix for error when records don't have mean expression in global search --- wqflask/wqflask/gsearch.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/wqflask/wqflask/gsearch.py b/wqflask/wqflask/gsearch.py index 62398154..5910d77b 100644 --- a/wqflask/wqflask/gsearch.py +++ b/wqflask/wqflask/gsearch.py @@ -78,7 +78,10 @@ class GSearch(object): this_trait['location_repr'] = 'N/A' if (line[8] != "NULL" and line[8] != "") and (line[9] != 0): this_trait['location_repr'] = 'Chr%s: %.6f' % (line[8], float(line[9])) - this_trait['mean'] = '%.3f' % line[10] + try: + this_trait['mean'] = '%.3f' % line[10] + except: + this_trait['mean'] = "N/A" this_trait['LRS_score_repr'] = "N/A" if line[11] != "" and line[11] != None: this_trait['LRS_score_repr'] = '%3.1f' % line[11] -- cgit v1.2.3 From dca78fcaa95dbbd2cb2f5e51461525b0f9f1b3e6 Mon Sep 17 00:00:00 2001 From: zsloan Date: Sun, 9 Jun 2019 13:21:22 -0500 Subject: Fixed issue that caused heatmap to not work (needed to tell it to use reaper for generating genotype object) Fixed issue that caused *all* collection page functions to not load correctly (datatables wasn't loading correctly due to a new column being added) --- wqflask/wqflask/heatmap/heatmap.py | 2 +- wqflask/wqflask/templates/collections/view.html | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/wqflask/wqflask/heatmap/heatmap.py b/wqflask/wqflask/heatmap/heatmap.py index 9d33961c..28c5ce12 100644 --- a/wqflask/wqflask/heatmap/heatmap.py +++ b/wqflask/wqflask/heatmap/heatmap.py @@ -120,7 +120,7 @@ class Heatmap(object): self.dataset.group.get_markers() this_trait = trait_db[0] #this_db = trait_db[1] - genotype = self.dataset.group.read_genotype_file() + genotype = self.dataset.group.read_genotype_file(use_reaper=True) samples, values, variances, sample_aliases = this_trait.export_informative() trimmed_samples = [] diff --git a/wqflask/wqflask/templates/collections/view.html b/wqflask/wqflask/templates/collections/view.html index 7e1001fc..268bbe1f 100644 --- a/wqflask/wqflask/templates/collections/view.html +++ b/wqflask/wqflask/templates/collections/view.html @@ -182,6 +182,7 @@ { "type": "natural", "width": 50 }, { "type": "natural" }, { "type": "natural", "width": 120 }, + { "type": "natural", "width": 120 }, { "type": "natural" }, { "type": "natural", "width": 130 }, { "type": "natural", "width": 35 }, -- cgit v1.2.3 From a5f6f1e7a892b16922eb2467950fa5145894c759 Mon Sep 17 00:00:00 2001 From: zsloan Date: Sun, 9 Jun 2019 20:09:15 -0500 Subject: Fixed javascript error with phenotype global search --- wqflask/wqflask/templates/gsearch_pheno.html | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/wqflask/wqflask/templates/gsearch_pheno.html b/wqflask/wqflask/templates/gsearch_pheno.html index 7dc22a88..7e2e6997 100644 --- a/wqflask/wqflask/templates/gsearch_pheno.html +++ b/wqflask/wqflask/templates/gsearch_pheno.html @@ -134,7 +134,11 @@ 'width': "25%", 'data': null, 'render': function(data, type, row, meta) { - return decodeURIComponent(escape(data.description)) + try { + return decodeURIComponent(escape(data.description)) + } except { + return escape(data.description) + } } }, { -- cgit v1.2.3 From 573b9e154244da07c1ac639b4158cfba74cec180 Mon Sep 17 00:00:00 2001 From: zsloan Date: Sun, 9 Jun 2019 20:17:38 -0500 Subject: Issue with encoding should be fixed for both global searches now --- wqflask/wqflask/templates/gsearch_gene.html | 6 +++++- wqflask/wqflask/templates/gsearch_pheno.html | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/wqflask/wqflask/templates/gsearch_gene.html b/wqflask/wqflask/templates/gsearch_gene.html index 4672f161..9984c0b6 100644 --- a/wqflask/wqflask/templates/gsearch_gene.html +++ b/wqflask/wqflask/templates/gsearch_gene.html @@ -158,7 +158,11 @@ 'type': "natural", 'data': null, 'render': function(data, type, row, meta) { - return decodeURIComponent(escape(data.description)) + try { + return decodeURIComponent(escape(data.description)) + } catch { + return escape(data.description)) + } } }, { diff --git a/wqflask/wqflask/templates/gsearch_pheno.html b/wqflask/wqflask/templates/gsearch_pheno.html index 7e2e6997..a34c2796 100644 --- a/wqflask/wqflask/templates/gsearch_pheno.html +++ b/wqflask/wqflask/templates/gsearch_pheno.html @@ -136,7 +136,7 @@ 'render': function(data, type, row, meta) { try { return decodeURIComponent(escape(data.description)) - } except { + } catch { return escape(data.description) } } -- cgit v1.2.3 From 2078f74984501419229d995cf0fa72294e45d6ea Mon Sep 17 00:00:00 2001 From: zsloan Date: Sun, 9 Jun 2019 20:41:54 -0500 Subject: Had an extra parenthesis to remove --- wqflask/wqflask/templates/gsearch_gene.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/wqflask/wqflask/templates/gsearch_gene.html b/wqflask/wqflask/templates/gsearch_gene.html index 9984c0b6..97b09929 100644 --- a/wqflask/wqflask/templates/gsearch_gene.html +++ b/wqflask/wqflask/templates/gsearch_gene.html @@ -161,7 +161,7 @@ try { return decodeURIComponent(escape(data.description)) } catch { - return escape(data.description)) + return escape(data.description) } } }, -- cgit v1.2.3 From 467a3141abd2ed358f80bcb420402b258d112da3 Mon Sep 17 00:00:00 2001 From: zsloan Date: Wed, 12 Jun 2019 20:36:58 -0500 Subject: Fixed error when zooming in on chromosome for rat mapping results --- wqflask/wqflask/marker_regression/display_mapping_results.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/wqflask/wqflask/marker_regression/display_mapping_results.py b/wqflask/wqflask/marker_regression/display_mapping_results.py index b9050aea..cafbf38c 100644 --- a/wqflask/wqflask/marker_regression/display_mapping_results.py +++ b/wqflask/wqflask/marker_regression/display_mapping_results.py @@ -2215,7 +2215,8 @@ class DisplayMappingResults(object): this_row = [] #container for the cells of each row selectCheck = HT.Input(type="checkbox", name="searchResult", Class="checkbox", onClick="highlight(this)").__str__() #checkbox for each row - webqtlSearch = HT.Href(os.path.join(webqtlConfig.CGIDIR, webqtlConfig.SCRIPTFILE)+"?cmd=sch&gene=%s&alias=1&species=rat" % theGO["GeneSymbol"], ">>", target="_blank").__str__() + #ZS: May want to get this working again later + #webqtlSearch = HT.Href(os.path.join(webqtlConfig.CGIDIR, webqtlConfig.SCRIPTFILE)+"?cmd=sch&gene=%s&alias=1&species=rat" % theGO["GeneSymbol"], ">>", target="_blank").__str__() if theGO["GeneID"] != "": geneSymbolNCBI = HT.Href("http://www.ncbi.nlm.nih.gov/entrez/query.fcgi?db=gene&cmd=Retrieve&dopt=Graphics&list_uids=%s" % theGO["GeneID"], theGO["GeneSymbol"], Class="normalsize", target="_blank").__str__() @@ -2256,7 +2257,7 @@ class DisplayMappingResults(object): this_row = [selectCheck.__str__(), str(gIndex+1), - webqtlSearch.__str__() + geneSymbolNCBI, + geneSymbolNCBI, theGO["TxStart"], HT.Href(geneLengthURL, "%0.3f" % (geneLength*1000.0)).__str__(), avgExprVal, -- cgit v1.2.3 From 0a69a6cda09b4014eaa4f0b94beb00de39c4983e Mon Sep 17 00:00:00 2001 From: zsloan Date: Fri, 14 Jun 2019 13:43:10 -0500 Subject: Added some metadata to top of global search results --- wqflask/wqflask/gsearch.py | 3 +++ wqflask/wqflask/templates/gsearch_gene.html | 3 ++- wqflask/wqflask/templates/gsearch_pheno.html | 7 ++++--- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/wqflask/wqflask/gsearch.py b/wqflask/wqflask/gsearch.py index 5910d77b..8df8c9a3 100644 --- a/wqflask/wqflask/gsearch.py +++ b/wqflask/wqflask/gsearch.py @@ -61,6 +61,7 @@ class GSearch(object): with Bench("Running query"): logger.sql(sql) re = g.db.execute(sql).fetchall() + trait_list = [] with Bench("Creating trait objects"): for i, line in enumerate(re): @@ -100,6 +101,7 @@ class GSearch(object): trait_list.append(this_trait) + self.trait_count = len(trait_list) self.trait_list = json.dumps(trait_list) elif self.type == "phenotype": @@ -186,4 +188,5 @@ class GSearch(object): trait_list.append(this_trait) + self.trait_count = len(trait_list) self.trait_list = json.dumps(trait_list) diff --git a/wqflask/wqflask/templates/gsearch_gene.html b/wqflask/wqflask/templates/gsearch_gene.html index 97b09929..62a2944c 100644 --- a/wqflask/wqflask/templates/gsearch_gene.html +++ b/wqflask/wqflask/templates/gsearch_gene.html @@ -9,7 +9,8 @@
-

You searched for {{ terms }}.

+

GN searched 754 datasets and 39765944 traits across 10 species, and found {{ trait_count }} results that match your query. + You can filter these results by adding key words in the fields below and you can also sort results on most columns.

To study a record, click on its Record ID below.
Check records below and click Add button to add to selection.

diff --git a/wqflask/wqflask/templates/gsearch_pheno.html b/wqflask/wqflask/templates/gsearch_pheno.html index a34c2796..2a0e5c0c 100644 --- a/wqflask/wqflask/templates/gsearch_pheno.html +++ b/wqflask/wqflask/templates/gsearch_pheno.html @@ -9,7 +9,8 @@
-

You searched for {{ terms }}.

+

GN searched 51 datasets and 13763 traits across 10 species, and found {{ trait_count }} results that match your query. + You can filter these results by adding key words in the fields below and you can also sort results on most columns.

To study a record, click on its ID below.
Check records below and click Add button to add to selection.

@@ -28,8 +29,8 @@
-
- +
+
-- cgit v1.2.3 From e424d8cebee099e9e5732351247c98fa9580d963 Mon Sep 17 00:00:00 2001 From: zsloan Date: Tue, 18 Jun 2019 10:55:27 -0500 Subject: Phenotype results with long descriptions/authors look much better now + added some links to index page --- wqflask/wqflask/templates/base.html | 2 ++ wqflask/wqflask/templates/gsearch_pheno.html | 16 +++++++++++---- wqflask/wqflask/templates/index_page_orig.html | 1 + wqflask/wqflask/templates/search_result_page.html | 24 +++++++++++++++-------- 4 files changed, 31 insertions(+), 12 deletions(-) diff --git a/wqflask/wqflask/templates/base.html b/wqflask/wqflask/templates/base.html index 2c1f67d4..21fc99d3 100644 --- a/wqflask/wqflask/templates/base.html +++ b/wqflask/wqflask/templates/base.html @@ -65,6 +65,8 @@

Loading...
@@ -321,21 +321,29 @@ { 'title': "Description", 'type': "natural", - 'width': "500px", + 'width': "25%", 'data': null, 'render': function(data, type, row, meta) { - try { - return decodeURIComponent(escape(data.description)) - } catch { - return escape(data.description) + try { + return decodeURIComponent(escape(data.description)) + } catch { + return data.description } } }, { 'title': "Authors", 'type': "natural", - 'width': "300px", - 'data': "authors" + 'width': "25%", + 'data': null, + 'render': function(data, type, row, meta) { + author_list = data.authors.split(",") + if (author_list.length >= 6) { + return author_list.slice(0, 6).join(",") + ", et al." + } else{ + return data.authors + } + } }, { 'title': "Year", -- cgit v1.2.3 From 21529db361812860286faf7f3fc4b08e9637b687 Mon Sep 17 00:00:00 2001 From: zsloan Date: Tue, 18 Jun 2019 13:17:27 -0500 Subject: Changed the text displayed on search results page Added some links to index page Removed footer from search results page --- wqflask/wqflask/templates/index_page_orig.html | 3 +- wqflask/wqflask/templates/search_result_page.html | 40 ++++++----------------- 2 files changed, 11 insertions(+), 32 deletions(-) diff --git a/wqflask/wqflask/templates/index_page_orig.html b/wqflask/wqflask/templates/index_page_orig.html index 79342452..30e3f2f6 100755 --- a/wqflask/wqflask/templates/index_page_orig.html +++ b/wqflask/wqflask/templates/index_page_orig.html @@ -183,6 +183,7 @@
  • Genome browser at UTHSC
  • Galaxy at UTHSC
  • Systems Genetics @ EPFL
  • +
  • UTHSC Bayesian Network Web Server
  • @@ -247,8 +248,6 @@ diff --git a/wqflask/wqflask/templates/search_result_page.html b/wqflask/wqflask/templates/search_result_page.html index b31d2d00..61a533f7 100644 --- a/wqflask/wqflask/templates/search_result_page.html +++ b/wqflask/wqflask/templates/search_result_page.html @@ -37,15 +37,16 @@ {% elif word.key|lower == "position" %} with target genes on chromosome {% if word.search_term[0].split('chr')|length > 1 %}{{ word.search_term[0].split('chr')[1] }}{% elif word.search_term[0].split('CHR')|length > 1 %}{{ word.search_term[0].split('CHR')[1] }}{% else %}{{ word.search_term[0] }}{% endif %} between {{ word.search_term[1] }} and {{ word.search_term[2] }} Mb{% if loop.last %}.{% else %} and {% endif %} {% else %} - that match the TERM{{ word.search_term[0] }}{% if loop.last %},{% else %} and {% endif %} + {% if word.search_term[0] == "*" %} in the dataset.{% else %}{% if loop.first %}that match:
    {% endif %}"{{ word.search_term[0] }}"{% if loop.last %}{% else %} and {% endif %}{% endif %} {% endif %} {% endfor %} - and found {{ results|count }} records. +
    + {{ results|count }} records are shown below.

    -

    To study a record click on its ID below, and to view the whole description {% if dataset.type == "Publish" %}or list of authors {% endif %} hover over the table cell. Check records below and click Add button to add to selection.

    + -
    + @@ -104,21 +105,19 @@

    - - + + -
    -
    -
    + - +
    - +

    Loading...
    @@ -411,25 +410,6 @@ } } ); - if (trait_list.length > 20) { - $('#trait_table').append( - '' + - '' + - '' + - '' + - '' + - ' ' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' - ); - } - console.timeEnd("Creating table"); $('#redraw').click(function() { -- cgit v1.2.3 From 172bf33d20d6f42650b415571c1185af4cbd22c5 Mon Sep 17 00:00:00 2001 From: zsloan Date: Tue, 18 Jun 2019 15:39:36 -0500 Subject: Fixed issue with sorting involving 0's on trait page Fixed links to dataset info pages in search results and correlation results pages --- wqflask/base/data_set.py | 41 ++++++++++++++--------- wqflask/wqflask/templates/correlation_page.html | 4 +-- wqflask/wqflask/templates/search_result_page.html | 2 +- wqflask/wqflask/templates/show_trait.html | 4 +-- 4 files changed, 31 insertions(+), 20 deletions(-) diff --git a/wqflask/base/data_set.py b/wqflask/base/data_set.py index 1fd1792e..4fee5c7a 100644 --- a/wqflask/base/data_set.py +++ b/wqflask/base/data_set.py @@ -289,7 +289,6 @@ class DatasetGroup(object): self.parlist = None self.get_f1_parent_strains() - self.accession_id = self.get_accession_id() self.mapping_id, self.mapping_names = self.get_mapping_methods() self.species = webqtlDatabaseFunction.retrieve_species(self.name) @@ -299,20 +298,6 @@ class DatasetGroup(object): self._datasets = None self.genofile = None - def get_accession_id(self): - results = g.db.execute("""select InfoFiles.GN_AccesionId from InfoFiles, PublishFreeze, InbredSet where - InbredSet.Name = %s and - PublishFreeze.InbredSetId = InbredSet.Id and - InfoFiles.InfoPageName = PublishFreeze.Name and - PublishFreeze.public > 0 and - PublishFreeze.confidentiality < 1 order by - PublishFreeze.CreateTime desc""", (self.name)).fetchone() - - if results != None: - return str(results[0]) - else: - return "None" - def get_mapping_methods(self): mapping_id = g.db.execute("select MappingMethodId from InbredSet where Name= '%s'" % self.name).fetchone()[0] @@ -510,6 +495,7 @@ class DataSet(object): self.check_confidentiality() self.retrieve_other_names() self.group = DatasetGroup(self) # sets self.group and self.group_id and gets genotype + self.accession_id = self.get_accession_id() if get_samplelist == True: self.group.get_samplelist() self.species = species.TheSpecies(self) @@ -524,6 +510,31 @@ class DataSet(object): def riset(): Weve_Renamed_This_As_Group + def get_accession_id(self): + if self.type == "Publish": + results = g.db.execute("""select InfoFiles.GN_AccesionId from InfoFiles, PublishFreeze, InbredSet where + InbredSet.Name = %s and + PublishFreeze.InbredSetId = InbredSet.Id and + InfoFiles.InfoPageName = PublishFreeze.Name and + PublishFreeze.public > 0 and + PublishFreeze.confidentiality < 1 order by + PublishFreeze.CreateTime desc""", (self.group.name)).fetchone() + elif self.type == "Geno": + results = g.db.execute("""select InfoFiles.GN_AccesionId from InfoFiles, GenoFreeze, InbredSet where + InbredSet.Name = %s and + GenoFreeze.InbredSetId = InbredSet.Id and + InfoFiles.InfoPageName = GenoFreeze.ShortName and + GenoFreeze.public > 0 and + GenoFreeze.confidentiality < 1 order by + GenoFreeze.CreateTime desc""", (self.group.name)).fetchone() + else: + results = None + + if results != None: + return str(results[0]) + else: + return "None" + def retrieve_other_names(self): """This method fetches the the dataset names in search_result. diff --git a/wqflask/wqflask/templates/correlation_page.html b/wqflask/wqflask/templates/correlation_page.html index 7cc998bb..32f5e774 100644 --- a/wqflask/wqflask/templates/correlation_page.html +++ b/wqflask/wqflask/templates/correlation_page.html @@ -12,8 +12,8 @@
    -

    Values of record {{ this_trait.name }} in the {{ dataset.fullname }} - dataset were compared to all records in the {{ target_dataset.fullname }} +

    Values of record {{ this_trait.name }} in the {{ dataset.fullname }} + dataset were compared to all records in the {{ target_dataset.fullname }} dataset. The top {{ return_number }} correlations ranked by the {{ formatted_corr_type }} are displayed. You can resort this list by clicking the headers. Select the Record ID to open the trait data and analysis page. diff --git a/wqflask/wqflask/templates/search_result_page.html b/wqflask/wqflask/templates/search_result_page.html index 61a533f7..374347bd 100644 --- a/wqflask/wqflask/templates/search_result_page.html +++ b/wqflask/wqflask/templates/search_result_page.html @@ -13,7 +13,7 @@

    -

    We searched {{ dataset.fullname }} +

    We searched {{ dataset.fullname }} to find all records {% for word in search_terms %} {% if word.key|lower == "rif" %} diff --git a/wqflask/wqflask/templates/show_trait.html b/wqflask/wqflask/templates/show_trait.html index 378f91b1..d5473bca 100644 --- a/wqflask/wqflask/templates/show_trait.html +++ b/wqflask/wqflask/templates/show_trait.html @@ -183,10 +183,10 @@ var x = getValue(a); var y = getValue(b); - if (x == 'x' || x == '') { + if (x == 'x' || x === '') { return 1; } - else if (y == 'x' || y == '') { + else if (y == 'x' || y === '') { return -1; } else { -- cgit v1.2.3 From 4a7c35204863066dc387637bd0f8af7d274cde55 Mon Sep 17 00:00:00 2001 From: zsloan Date: Mon, 24 Jun 2019 12:09:35 -0500 Subject: Got non-LOCO GEMMA mapping working with gemma-wrapper (so caching should work for that now) Fixed position digits and row highlighting on interval analyst table Updated default MAF to 0.05 Updated footer text --- wqflask/base/data_set.py | 2 +- .../marker_regression/display_mapping_results.py | 10 +-- wqflask/wqflask/marker_regression/gemma_mapping.py | 73 +++++++++++----------- wqflask/wqflask/show_trait/show_trait.py | 2 +- wqflask/wqflask/templates/base.html | 42 ++++++++----- wqflask/wqflask/templates/mapping_results.html | 8 ++- 6 files changed, 74 insertions(+), 63 deletions(-) diff --git a/wqflask/base/data_set.py b/wqflask/base/data_set.py index 4fee5c7a..d766e284 100644 --- a/wqflask/base/data_set.py +++ b/wqflask/base/data_set.py @@ -433,7 +433,7 @@ def datasets(group_name, this_group = None): and InbredSet.Name like %s and ProbeSetFreeze.public > %s and ProbeSetFreeze.confidentiality < 1 - ORDER BY Tissue.Name) + ORDER BY Tissue.Name, ProbeSetFreeze.OrderList DESC) ''' % (group_name, webqtlConfig.PUBLICTHRESH, group_name, webqtlConfig.PUBLICTHRESH, "'" + group_name + "'", webqtlConfig.PUBLICTHRESH)) diff --git a/wqflask/wqflask/marker_regression/display_mapping_results.py b/wqflask/wqflask/marker_regression/display_mapping_results.py index cafbf38c..41cdf819 100644 --- a/wqflask/wqflask/marker_regression/display_mapping_results.py +++ b/wqflask/wqflask/marker_regression/display_mapping_results.py @@ -2127,7 +2127,7 @@ class DisplayMappingResults(object): tableIterationsCnt = tableIterationsCnt + 1 this_row = [] #container for the cells of each row - selectCheck = HT.Input(type="checkbox", name="searchResult", value=theGO["GeneSymbol"], Class="checkbox trait_checkbox") #checkbox for each row + selectCheck = HT.Input(type="checkbox", name="selectCheck", value=theGO["GeneSymbol"], Class="checkbox trait_checkbox") #checkbox for each row geneLength = (theGO["TxEnd"] - theGO["TxStart"])*1000.0 tenPercentLength = geneLength*0.0001 @@ -2213,7 +2213,7 @@ class DisplayMappingResults(object): elif self.dataset.group.species == 'rat': for gIndex, theGO in enumerate(geneCol): this_row = [] #container for the cells of each row - selectCheck = HT.Input(type="checkbox", name="searchResult", Class="checkbox", onClick="highlight(this)").__str__() #checkbox for each row + selectCheck = HT.Input(type="checkbox", name="selectCheck", Class="checkbox trait_checkbox").__str__() #checkbox for each row #ZS: May want to get this working again later #webqtlSearch = HT.Href(os.path.join(webqtlConfig.CGIDIR, webqtlConfig.SCRIPTFILE)+"?cmd=sch&gene=%s&alias=1&species=rat" % theGO["GeneSymbol"], ">>", target="_blank").__str__() @@ -2240,14 +2240,14 @@ class DisplayMappingResults(object): #Mouse Gene if theGO['mouseGene']: mouseChr = theGO['mouseGene']["Chromosome"] - mouseTxStart = theGO['mouseGene']["TxStart"] + mouseTxStart = "%0.6f" % theGO['mouseGene']["TxStart"] else: mouseChr = mouseTxStart = "" #the chromosomes for human 1 are 1qXX.XX if theGO['humanGene']: humanChr = theGO['humanGene']["Chromosome"] - humanTxStart = theGO['humanGene']["TxStart"] + humanTxStart = "%0.6f" % theGO['humanGene']["TxStart"] else: humanChr = humanTxStart = "" @@ -2258,7 +2258,7 @@ class DisplayMappingResults(object): this_row = [selectCheck.__str__(), str(gIndex+1), geneSymbolNCBI, - theGO["TxStart"], + "%0.6f" % theGO["TxStart"], HT.Href(geneLengthURL, "%0.3f" % (geneLength*1000.0)).__str__(), avgExprVal, mouseChr, diff --git a/wqflask/wqflask/marker_regression/gemma_mapping.py b/wqflask/wqflask/marker_regression/gemma_mapping.py index 0f37e711..4e3c203d 100644 --- a/wqflask/wqflask/marker_regression/gemma_mapping.py +++ b/wqflask/wqflask/marker_regression/gemma_mapping.py @@ -73,50 +73,51 @@ def run_gemma(this_trait, this_dataset, samples, vals, covariates, use_loco, maf gwa_output_filename) else: - generate_k_command = GEMMA_COMMAND + ' ' + GEMMAOPTS + ' -g %s/%s_geno.txt -p %s/gn2/%s.txt -a %s/%s_snps.txt -gk -outdir %s/gn2/ -o %s' % (flat_files('genotype/bimbam'), - genofile_name, - TEMPDIR, - trait_filename, - flat_files('genotype/bimbam'), - genofile_name, - TEMPDIR, - k_output_filename) - #generate_k_command = GEMMA_WRAPPER_COMMAND + ' --json -- ' + GEMMAOPTS + ' -g %s/%s_geno.txt -p %s/%s.txt -a %s/%s_snps.txt -gk > %s/gn2/%s.json' % (flat_files('genotype/bimbam'), - # genofile_name, - # flat_files('genotype/bimbam'), - # trait_filename, - # flat_files('genotype/bimbam'), - # genofile_name, - # TEMPDIR, - # k_output_filename) + # generate_k_command = GEMMA_COMMAND + ' ' + GEMMAOPTS + ' -g %s/%s_geno.txt -p %s/gn2/%s.txt -a %s/%s_snps.txt -gk -outdir %s/gn2/ -o %s' % (flat_files('genotype/bimbam'), + # genofile_name, + # TEMPDIR, + # trait_filename, + # flat_files('genotype/bimbam'), + # genofile_name, + # TEMPDIR, + # k_output_filename) + generate_k_command = GEMMA_WRAPPER_COMMAND + ' --json -- ' + GEMMAOPTS + ' -g %s/%s_geno.txt -p %s/gn2/%s.txt -a %s/%s_snps.txt -gk > %s/gn2/%s.json' % (flat_files('genotype/bimbam'), + genofile_name, + TEMPDIR, + trait_filename, + flat_files('genotype/bimbam'), + genofile_name, + TEMPDIR, + k_output_filename) logger.debug("k_command:" + generate_k_command) os.system(generate_k_command) - gemma_command = GEMMA_COMMAND + ' ' + GEMMAOPTS + ' -g %s/%s_geno.txt -p %s/gn2/%s.txt -a %s/%s_snps.txt -k %s/gn2/%s.cXX.txt -lmm 2 -maf %s' % (flat_files('genotype/bimbam'), - genofile_name, - TEMPDIR, - trait_filename, - flat_files('genotype/bimbam'), - genofile_name, - TEMPDIR, - k_output_filename, - maf) + # gemma_command = GEMMA_COMMAND + ' ' + GEMMAOPTS + ' -g %s/%s_geno.txt -p %s/gn2/%s.txt -a %s/%s_snps.txt -k %s/gn2/%s.cXX.txt -lmm 2 -maf %s' % (flat_files('genotype/bimbam'), + # genofile_name, + # TEMPDIR, + # trait_filename, + # flat_files('genotype/bimbam'), + # genofile_name, + # TEMPDIR, + # k_output_filename, + # maf) - #gemma_command = GEMMA_WRAPPER_COMMAND + ' --json --input %s/gn2/%s.json -- ' % (TEMPDIR, k_output_filename) + GEMMAOPTS + ' -g %s/%s_geno.txt -p %s/%s_pheno.txt' % (flat_files('genotype/bimbam'), - # genofile_name, - # flat_files('genotype/bimbam'), - # genofile_name) + gemma_command = GEMMA_WRAPPER_COMMAND + ' --json --input %s/gn2/%s.json -- ' % (TEMPDIR, k_output_filename) + GEMMAOPTS + ' -lmm 2 -g %s/%s_geno.txt -p %s/gn2/%s.txt' % (flat_files('genotype/bimbam'), + genofile_name, + TEMPDIR, + trait_filename) if covariates != "": - gemma_command += ' -c %s/%s_covariates.txt -outdir %s -o %s_output' % (flat_files('mapping'), - this_dataset.group.name, - webqtlConfig.GENERATED_IMAGE_DIR, - genofile_name) - else: - gemma_command += ' -outdir %s -o %s_output' % (webqtlConfig.GENERATED_IMAGE_DIR, - genofile_name) + gemma_command += ' -c %s/%s_covariates.txt' % (flat_files('mapping'), this_dataset.group.name) + # gemma_command += ' -c %s/%s_covariates.txt -outdir %s -o %s_output' % (flat_files('mapping'), + # this_dataset.group.name, + # webqtlConfig.GENERATED_IMAGE_DIR, + # genofile_name) + # else: + # gemma_command += ' -outdir %s -o %s_output' % (webqtlConfig.GENERATED_IMAGE_DIR, + # genofile_name) logger.debug("gemma_command:" + gemma_command) diff --git a/wqflask/wqflask/show_trait/show_trait.py b/wqflask/wqflask/show_trait/show_trait.py index e10b31c0..5178ece8 100644 --- a/wqflask/wqflask/show_trait/show_trait.py +++ b/wqflask/wqflask/show_trait/show_trait.py @@ -168,7 +168,7 @@ class ShowTrait(object): hddn['control_marker'] = self.nearest_marker #hddn['control_marker'] = self.nearest_marker1+","+self.nearest_marker2 hddn['do_control'] = False - hddn['maf'] = 0.01 + hddn['maf'] = 0.05 hddn['compare_traits'] = [] hddn['export_data'] = "" hddn['export_format'] = "excel" diff --git a/wqflask/wqflask/templates/base.html b/wqflask/wqflask/templates/base.html index 21fc99d3..3fd9faf5 100644 --- a/wqflask/wqflask/templates/base.html +++ b/wqflask/wqflask/templates/base.html @@ -127,27 +127,35 @@ JOSS


    -

    GeneNetwork is supported by:

    -
      -
    • - +

      GeneNetwork support from:

      +
        +
      • + The UT Center for Integrative and Translational Genomics - +
      • -
      • NIAAA - Integrative Neuroscience Initiative on Alcoholism - (U01 AA016662, U01 AA013499, U24 AA013513, U01 AA014425) +
      • + NIGMS + Systems Genetics and Precision Medicine Project (R01 GM123489, 2017-2021)
      • -
      • - NIDA, NIMH - , and - NIAAA (P20-DA 21131) +
      • + NIDA + NIDA Core Center of Excellence in Transcriptomics, Systems Genetics, and the Addictome (P30 DA044223, 2017-2022)
      • -
      • NCI MMHCC (U01CA105417) and - NCRR - BIRN - (U24 RR021760) +
      • + NIA + Translational Systems Genetics of Mitochondria, Metabolism, and Aging (R01AG043930, 2013-2018) +
      • +
      • + NIAAA + Integrative Neuroscience Initiative on Alcoholism (U01 AA016662, U01 AA013499, U24 AA013513, U01 AA014425, 2006-2017) +
      • +
      • + NIDA, NIMH, and NIAAA + (P20-DA 21131, 2001-2012) +
      • +
      • + NCI MMHCC (U01CA105417), NCRR, BIRN, (U24 RR021760)
      diff --git a/wqflask/wqflask/templates/mapping_results.html b/wqflask/wqflask/templates/mapping_results.html index ba4d4d7c..00a7b811 100644 --- a/wqflask/wqflask/templates/mapping_results.html +++ b/wqflask/wqflask/templates/mapping_results.html @@ -262,7 +262,7 @@

      Interval Analyst

      -
    IndexRecordSymbolDescriptionLocationMeanMax LRS ?Max LRS LocationAdditive Effect ?
    +
    {% for header in gene_table_header %} @@ -322,6 +322,7 @@ - - + + + + {% endblock %} diff --git a/wqflask/wqflask/templates/index_page_orig.html b/wqflask/wqflask/templates/index_page_orig.html index 251a816f..286f6c1f 100755 --- a/wqflask/wqflask/templates/index_page_orig.html +++ b/wqflask/wqflask/templates/index_page_orig.html @@ -17,7 +17,7 @@ --> -
    +
    {{ flash_me() }} diff --git a/wqflask/wqflask/templates/mapping_results.html b/wqflask/wqflask/templates/mapping_results.html index 00a7b811..be285d15 100644 --- a/wqflask/wqflask/templates/mapping_results.html +++ b/wqflask/wqflask/templates/mapping_results.html @@ -9,7 +9,7 @@ {% endblock %} {% from "base_macro.html" import header %} {% block content %} -
    +
    diff --git a/wqflask/wqflask/templates/search_result_page.html b/wqflask/wqflask/templates/search_result_page.html index b1442b7f..f5978196 100644 --- a/wqflask/wqflask/templates/search_result_page.html +++ b/wqflask/wqflask/templates/search_result_page.html @@ -8,7 +8,7 @@ {% endblock %} {% block content %} -
    +
    diff --git a/wqflask/wqflask/templates/show_trait.html b/wqflask/wqflask/templates/show_trait.html index ea7c5123..19b0e0f5 100644 --- a/wqflask/wqflask/templates/show_trait.html +++ b/wqflask/wqflask/templates/show_trait.html @@ -39,7 +39,7 @@ -
    +
    -- cgit v1.2.3 From 823169d970d8b64e955f7316e6df87c5204b4864 Mon Sep 17 00:00:00 2001 From: zsloan Date: Thu, 1 Aug 2019 12:08:33 -0500 Subject: Made some more aesthetic changes to various pages and charts/figures Added some information to the mapping loading page --- wqflask/base/trait.py | 17 +++-- wqflask/wqflask/show_trait/show_trait.py | 83 ++++++++++++---------- .../new/javascript/plotly_probability_plot.js | 19 ++--- .../wqflask/static/new/javascript/show_trait.js | 73 +++++++++++-------- .../new/javascript/show_trait_mapping_tools.js | 2 +- wqflask/wqflask/templates/base.html | 2 +- wqflask/wqflask/templates/correlation_matrix.html | 2 +- wqflask/wqflask/templates/index_page_orig.html | 8 +-- wqflask/wqflask/templates/loading.html | 20 +++++- .../wqflask/templates/new_security/login_user.html | 83 ++++++++++------------ wqflask/wqflask/templates/search_result_page.html | 11 +-- wqflask/wqflask/views.py | 10 +++ 12 files changed, 194 insertions(+), 136 deletions(-) diff --git a/wqflask/base/trait.py b/wqflask/base/trait.py index 0527449b..39dd075e 100644 --- a/wqflask/base/trait.py +++ b/wqflask/base/trait.py @@ -3,6 +3,7 @@ from __future__ import absolute_import, division, print_function import string import resource import codecs +import requests import redis Redis = redis.StrictRedis() @@ -120,11 +121,17 @@ class GeneralTrait(object): @property def alias_fmt(self): '''Return a text formatted alias''' - if self.alias: - alias = string.replace(self.alias, ";", " ") - alias = string.join(string.split(alias), ", ") - else: - alias = 'Not available' + + alias = 'Not available' + if self.symbol: + response = requests.get("http://gn2.genenetwork.org/gn3/gene/aliases/" + self.symbol) + alias_list = json.loads(response.content) + alias = "; ".join(alias_list) + + if alias == 'Not available': + if self.alias: + alias = string.replace(self.alias, ";", " ") + alias = string.join(string.split(alias), ", ") return alias diff --git a/wqflask/wqflask/show_trait/show_trait.py b/wqflask/wqflask/show_trait/show_trait.py index 1dd80962..f1f5840f 100644 --- a/wqflask/wqflask/show_trait/show_trait.py +++ b/wqflask/wqflask/show_trait/show_trait.py @@ -142,40 +142,6 @@ class ShowTrait(object): self.qnorm_vals = quantile_normalize_vals(self.sample_groups) self.z_scores = get_z_scores(self.sample_groups) - # Todo: Add back in the ones we actually need from below, as we discover we need them - hddn = OrderedDict() - - if self.dataset.group.allsamples: - hddn['allsamples'] = string.join(self.dataset.group.allsamples, ' ') - - hddn['trait_id'] = self.trait_id - hddn['dataset'] = self.dataset.name - hddn['temp_trait'] = False - if self.temp_trait: - hddn['temp_trait'] = True - hddn['group'] = self.temp_group - hddn['species'] = self.temp_species - hddn['use_outliers'] = False - hddn['method'] = "gemma" - hddn['selected_chr'] = -1 - hddn['mapping_display_all'] = True - hddn['suggestive'] = 0 - hddn['num_perm'] = 0 - hddn['manhattan_plot'] = "" - hddn['control_marker'] = "" - if not self.temp_trait: - if hasattr(self.this_trait, 'locus_chr') and self.this_trait.locus_chr != "" and self.dataset.type != "Geno" and self.dataset.type != "Publish": - hddn['control_marker'] = self.nearest_marker - #hddn['control_marker'] = self.nearest_marker1+","+self.nearest_marker2 - hddn['do_control'] = False - hddn['maf'] = 0.05 - hddn['compare_traits'] = [] - hddn['export_data'] = "" - hddn['export_format'] = "excel" - - # We'll need access to this_trait and hddn in the Jinja2 Template, so we put it inside self - self.hddn = hddn - self.temp_uuid = uuid.uuid4() self.sample_group_types = OrderedDict() @@ -216,18 +182,61 @@ class ShowTrait(object): sample_column_width = max_samplename_width * 8 - if self.num_values >= 500: + if self.num_values >= 5000: self.maf = 0.01 else: self.maf = 0.05 trait_symbol = None + short_description = None if not self.temp_trait: if self.this_trait.symbol: trait_symbol = self.this_trait.symbol + short_description = trait_symbol + + elif self.this_trait.post_publication_abbreviation: + short_description = self.this_trait.post_publication_abbreviation + + elif self.this_trait.pre_publication_abbreviation: + short_description = self.this_trait.pre_publication_abbreviation + + # Todo: Add back in the ones we actually need from below, as we discover we need them + hddn = OrderedDict() + + if self.dataset.group.allsamples: + hddn['allsamples'] = string.join(self.dataset.group.allsamples, ' ') + hddn['primary_samples'] = string.join(self.primary_sample_names, ',') + hddn['trait_id'] = self.trait_id + hddn['dataset'] = self.dataset.name + hddn['temp_trait'] = False + if self.temp_trait: + hddn['temp_trait'] = True + hddn['group'] = self.temp_group + hddn['species'] = self.temp_species + hddn['use_outliers'] = False + hddn['method'] = "gemma" + hddn['selected_chr'] = -1 + hddn['mapping_display_all'] = True + hddn['suggestive'] = 0 + hddn['num_perm'] = 0 + hddn['manhattan_plot'] = "" + hddn['control_marker'] = "" + if not self.temp_trait: + if hasattr(self.this_trait, 'locus_chr') and self.this_trait.locus_chr != "" and self.dataset.type != "Geno" and self.dataset.type != "Publish": + hddn['control_marker'] = self.nearest_marker + #hddn['control_marker'] = self.nearest_marker1+","+self.nearest_marker2 + hddn['do_control'] = False + hddn['maf'] = 0.05 + hddn['compare_traits'] = [] + hddn['export_data'] = "" + hddn['export_format'] = "excel" + + # We'll need access to this_trait and hddn in the Jinja2 Template, so we put it inside self + self.hddn = hddn js_data = dict(trait_id = self.trait_id, trait_symbol = trait_symbol, + short_description = short_description, unit_type = trait_units, dataset_type = self.dataset.type, data_scale = self.dataset.data_scale, @@ -396,6 +405,8 @@ class ShowTrait(object): sample_group_type='primary', header="%s Only" % (self.dataset.group.name)) self.sample_groups = (primary_samples,) + + self.primary_sample_names = primary_sample_names self.dataset.group.allsamples = all_samples_ordered def quantile_normalize_vals(sample_groups): @@ -493,7 +504,7 @@ def get_genofiles(this_dataset): return jsondata['genofile'] def get_table_widths(sample_groups, has_num_cases=False): - stats_table_width = 200 + stats_table_width = 250 if len(sample_groups) > 1: stats_table_width = 450 diff --git a/wqflask/wqflask/static/new/javascript/plotly_probability_plot.js b/wqflask/wqflask/static/new/javascript/plotly_probability_plot.js index a9c5676c..cc4195e4 100644 --- a/wqflask/wqflask/static/new/javascript/plotly_probability_plot.js +++ b/wqflask/wqflask/static/new/javascript/plotly_probability_plot.js @@ -171,22 +171,23 @@ } var layout = { - title: js_data.trait_id, + title: "Trait " + js_data.trait_id + ": " + js_data.short_description + "", margin: { - l: 65, + l: 100, r: 30, t: 80, - b: 80 + b: 60 }, xaxis: { - title: "Normal Theoretical Quantiles", + title: "Normal Theoretical Quantiles", range: [first_x, last_x], zeroline: false, visible: true, linecolor: 'black', linewidth: 1, titlefont: { - size: 16 + family: "arial", + size: 20 }, ticklen: 4, tickfont: { @@ -194,19 +195,21 @@ } }, yaxis: { - title: "Data Quantiles", + title: "Data Quantiles", zeroline: false, visible: true, linecolor: 'black', linewidth: 1, titlefont: { - size: 16 + family: "arial", + size: 20 }, ticklen: 4, tickfont: { size: 16 }, - tickformat: tick_digits + tickformat: tick_digits, + automargin: true }, hovermode: "closest" } diff --git a/wqflask/wqflask/static/new/javascript/show_trait.js b/wqflask/wqflask/static/new/javascript/show_trait.js index 8366ec0a..48b6da5e 100644 --- a/wqflask/wqflask/static/new/javascript/show_trait.js +++ b/wqflask/wqflask/static/new/javascript/show_trait.js @@ -30,11 +30,11 @@ Stat_Table_Rows = [ }, { vn: "min", pretty: "Minimum", - digits: 2 + digits: 3 }, { vn: "max", pretty: "Maximum", - digits: 2 + digits: 3 } ] @@ -67,7 +67,7 @@ Stat_Table_Rows.push( digits: 3 }, { vn: "interquartile", - pretty: "Interquartile Range", + pretty: "Interquartile Range", url: "http://www.genenetwork.org/glossary.html#Interquartile", digits: 3 }, { @@ -334,9 +334,9 @@ update_prob_plot = function() { make_table = function() { var header, key, row, row_line, table, the_id, the_rows, value, _i, _len, _ref, _ref1; if (js_data.trait_symbol != null) { - header = "
    "; + header = ""; } else { - header = ""; + header = ""; } _ref = js_data.sample_group_types; for (key in _ref) { @@ -990,12 +990,13 @@ var hist_trace = { root.histogram_data = [hist_trace]; root.histogram_layout = { bargap: 0.05, - title: js_data.trait_id, + title: "Trait " + js_data.trait_id + ": " + js_data.short_description + "", xaxis: { autorange: true, - title: "Value", + title: "Value", titlefont: { - size: 16 + family: "arial", + size: 20 }, ticklen: 4, tickfont: { @@ -1004,23 +1005,25 @@ root.histogram_layout = { }, yaxis: { autorange: true, - title: "Count", + title: "Count", titlefont: { - size: 16 + family: "arial", + size: 20 }, showline: true, ticklen: 4, tickfont: { size: 16 - } + }, + automargin: true }, width: 500, height: 600, margin: { - l: 50, + l: 70, r: 30, t: 100, - b: 60 + b: 50 } }; @@ -1036,25 +1039,34 @@ $('.histogram_samples_group').change(function() { }); root.box_layout = { - title: js_data.trait_id, xaxis: { showline: true, + titlefont: { + family: "arial", + size: 20 + }, tickfont: { size: 16 }, }, yaxis: { - title: js_data.unit_type, + title: "" + js_data.unit_type +"", autorange: true, showline: true, + titlefont: { + family: "arial", + size: 20 + }, ticklen: 4, tickfont: { size: 16 }, - tickformat: tick_digits + tickformat: tick_digits, + zeroline: false, + automargin: true }, margin: { - l: 50, + l: 90, r: 30, t: 30, b: 80 @@ -1122,7 +1134,7 @@ if (full_sample_lists.length > 1) { { type: 'box', y: get_sample_vals(full_sample_lists[0]), - name: sample_group_list[0], + name: "Trait " + js_data.trait_id + "", boxpoints: 'Outliers', jitter: 0.5, whiskerwidth: 0.2, @@ -1150,28 +1162,36 @@ $('.box_plot_tab').click(function() { // Violin Plot root.violin_layout = { - title: js_data.trait_id, xaxis: { showline: true, + titlefont: { + family: "arial", + size: 20 + }, tickfont: { size: 16 } }, yaxis: { - title: js_data.unit_type, + title: ""+js_data.unit_type+"", autorange: true, showline: true, + titlefont: { + family: "arial", + size: 20 + }, ticklen: 4, tickfont: { size: 16 }, tickformat: tick_digits, - zeroline: false + zeroline: false, + automargin: true }, margin: { - l: 50, + l: 90, r: 30, - t: 80, + t: 30, b: 80 } }; @@ -1239,14 +1259,11 @@ if (full_sample_lists.length > 1) { box: { visible: true }, - line: { - color: 'green', - }, meanline: { visible: true }, - name: sample_group_list[0], - x0: sample_group_list[0] + name: "Trait " + js_data.trait_id + "", + x0: "Trait " + js_data.trait_id + "" } ] } diff --git a/wqflask/wqflask/static/new/javascript/show_trait_mapping_tools.js b/wqflask/wqflask/static/new/javascript/show_trait_mapping_tools.js index 8001dfc9..8db9522c 100644 --- a/wqflask/wqflask/static/new/javascript/show_trait_mapping_tools.js +++ b/wqflask/wqflask/static/new/javascript/show_trait_mapping_tools.js @@ -156,7 +156,7 @@ 'score_type', 'suggestive', 'significant', 'num_perm', 'permCheck', 'perm_output', 'num_bootstrap', 'bootCheck', 'bootstrap_results', 'LRSCheck', 'covariates', 'maf', 'use_loco', 'manhattan_plot', 'control_marker', 'control_marker_db', 'do_control', 'genofile', 'pair_scan', 'startMb', 'endMb', 'graphWidth', 'lrsMax', 'additiveCheck', 'showSNP', 'showGenes', 'viewLegend', 'haplotypeAnalystCheck', - 'mapmethod_rqtl_geno', 'mapmodel_rqtl_geno', 'temp_trait', 'group', 'species', 'reaper_version'] + 'mapmethod_rqtl_geno', 'mapmodel_rqtl_geno', 'temp_trait', 'group', 'species', 'reaper_version', 'primary_samples'] $("#rqtl_geno_compute").on("click", (function(_this) { return function() { diff --git a/wqflask/wqflask/templates/base.html b/wqflask/wqflask/templates/base.html index 80bbd7f5..2366bdec 100644 --- a/wqflask/wqflask/templates/base.html +++ b/wqflask/wqflask/templates/base.html @@ -94,7 +94,7 @@
    - diff --git a/wqflask/wqflask/templates/correlation_matrix.html b/wqflask/wqflask/templates/correlation_matrix.html index 7e67ece2..34a15c6a 100644 --- a/wqflask/wqflask/templates/correlation_matrix.html +++ b/wqflask/wqflask/templates/correlation_matrix.html @@ -10,7 +10,7 @@

    Correlation Matrix

    -
    Lower left cells list Pearson product-moment correlations; upper right cells list Spearman rank order correlations. Each cell also contains the n of cases. Values ranging from 0.4 to 1.0 range from dark blue to white, while values ranging from -0.4 to -1.0 range from orange to white. Select any cell to generate a scatter plot. Select trait labels for more information.
    +
    Lower left cells list Pearson product-moment correlations; upper right cells list Spearman rank order correlations. Each cell also contains the n of cases. Values ranging from 0.4 to 1.0 range from orange to white, while values ranging from -0.4 to -1.0 range from dark blue to white. Select any cell to generate a scatter plot. Select trait labels for more information.

    {% if lowest_overlap < 8 %}
    Caution: This matrix of correlations contains some cells with small sample sizes of fewer than 8.
    diff --git a/wqflask/wqflask/templates/index_page_orig.html b/wqflask/wqflask/templates/index_page_orig.html index 286f6c1f..ed91a886 100755 --- a/wqflask/wqflask/templates/index_page_orig.html +++ b/wqflask/wqflask/templates/index_page_orig.html @@ -28,7 +28,7 @@ - +
    @@ -241,7 +241,7 @@

    GeneNetwork v2:

    GeneNetwork v1:

      diff --git a/wqflask/wqflask/templates/loading.html b/wqflask/wqflask/templates/loading.html index 25560249..3eb061e5 100644 --- a/wqflask/wqflask/templates/loading.html +++ b/wqflask/wqflask/templates/loading.html @@ -7,10 +7,24 @@
      -
      +
      + {% if start_vars.tool_used == "Mapping" %} +

      Computing the Map

      +
      + n = {{ start_vars.num_vals }} +
      + Method = {{ start_vars.method }} +
      + {% if start_vars.transform != "" %} + transform = {{ start_vars.transform }} +
      + {% endif %} + MAF = {{ start_vars.maf }} + {% else %}

      Loading {{ start_vars.tool_used }} Results...

      + {% endif %}
      -
      +
      @@ -22,5 +36,5 @@ \ No newline at end of file diff --git a/wqflask/wqflask/templates/new_security/login_user.html b/wqflask/wqflask/templates/new_security/login_user.html index 27b20ebf..c9aaf028 100644 --- a/wqflask/wqflask/templates/new_security/login_user.html +++ b/wqflask/wqflask/templates/new_security/login_user.html @@ -2,53 +2,11 @@ {% block title %}Register{% endblock %} {% block content %} -
      +
      {{ flash_me() }} - - - -
      - -

      Don't have an account?

      - - {% if es_server: %} - Create a new account - {% else: %} -
      -

      You cannot create an account at this moment.
      - Please try again later.

      -
      - {% endif %} - -
      -

      Login with external services

      - - {% if external_login: %} -
      - {% if external_login["github"]: %} - Login with Github - {% else %} -

      Github login is not available right now

      - {% endif %} - - {% if external_login["orcid"]: %} - Login with ORCID - {% else %} -

      ORCID login is not available right now

      - {% endif %} -
      - {% else: %} -
      -

      Sorry, you cannot login with Github or ORCID at this time.

      -
      - {% endif %} -
      - -

      Already have an account? Sign in here.

      +

      Already have an account? Sign in here.

      {% if es_server: %} @@ -69,7 +27,6 @@
      -
      @@ -87,6 +44,42 @@
    +
    + +

    Don't have an account?

    + + {% if es_server: %} + Create a new account + {% else: %} +
    +

    You cannot create an account at this moment.
    + Please try again later.

    +
    + {% endif %} + +
    +

    Login with external services

    + + {% if external_login: %} +
    + {% if external_login["github"]: %} + Login with Github + {% else %} +

    Github login is not available right now

    + {% endif %} + + {% if external_login["orcid"]: %} + Login with ORCID + {% else %} +

    ORCID login is not available right now

    + {% endif %} +
    + {% else: %} +
    +

    Sorry, you cannot login with Github or ORCID at this time.

    +
    + {% endif %} + {% else: %}
    diff --git a/wqflask/wqflask/templates/search_result_page.html b/wqflask/wqflask/templates/search_result_page.html index f5978196..2dded69f 100644 --- a/wqflask/wqflask/templates/search_result_page.html +++ b/wqflask/wqflask/templates/search_result_page.html @@ -13,7 +13,7 @@
    -

    We searched {{ dataset.fullname }} +

    Search Results: We searched {{ dataset.fullname }} to find all records {% for word in search_terms %} {% if word.key|lower == "rif" %} @@ -249,6 +249,7 @@ 'columns': [ { 'data': null, + 'width': "30px", 'orderDataType': "dom-checkbox", 'orderSequence': [ "desc", "asc"], 'render': function(data, type, row, meta) { @@ -258,12 +259,14 @@ { 'title': "Index", 'type': "natural", + 'width': "30px", 'data': "index" }, { 'title': "Record", 'type': "natural", 'data': null, + 'width': "60px", 'orderDataType': "dom-inner-text", 'render': function(data, type, row, meta) { return '' + data.name + '' @@ -277,7 +280,6 @@ { 'title': "Description", 'type': "natural", - 'width': "300px", 'data': null, 'render': function(data, type, row, meta) { try { @@ -290,12 +292,13 @@ { 'title': "Location", 'type': "natural", - 'width': "140px", + 'width': "120px", 'data': "location" }, { 'title': "Mean", 'type': "natural", + 'width': "40px", 'data': "mean", 'orderSequence': [ "desc", "asc"] }, @@ -308,7 +311,7 @@ { 'title': "Max LRS Location", 'type': "natural", - 'width': "140px", + 'width': "120px", 'data': "lrs_location" }, { diff --git a/wqflask/wqflask/views.py b/wqflask/wqflask/views.py index fe858d52..7b585b03 100644 --- a/wqflask/wqflask/views.py +++ b/wqflask/wqflask/views.py @@ -560,6 +560,7 @@ def loading_page(): logger.info(request.url) initial_start_vars = request.form start_vars_container = {} + num_vals = 0 #ZS: So it can be displayed on loading page if 'wanted_inputs' in initial_start_vars: wanted = initial_start_vars['wanted_inputs'].split(",") start_vars = {} @@ -567,6 +568,15 @@ def loading_page(): if key in wanted or key.startswith(('value:')): start_vars[key] = value + if 'primary_samples' in start_vars: + samples = start_vars['primary_samples'].split(",") + for sample in samples: + value = start_vars.get('value:' + sample) + if value != "x": + num_vals += 1 + + start_vars['num_vals'] = num_vals + start_vars_container['start_vars'] = start_vars else: start_vars_container['start_vars'] = initial_start_vars -- cgit v1.2.3 From d49507350119c79c1ffb09b054d08b7545703a18 Mon Sep 17 00:00:00 2001 From: zsloan Date: Thu, 1 Aug 2019 15:04:06 -0500 Subject: Replaced loading bar with a gif that should work in Safari --- wqflask/wqflask/templates/loading.html | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/wqflask/wqflask/templates/loading.html b/wqflask/wqflask/templates/loading.html index 3eb061e5..4c30664b 100644 --- a/wqflask/wqflask/templates/loading.html +++ b/wqflask/wqflask/templates/loading.html @@ -6,8 +6,8 @@ {% endfor %}

    -
    -
    +
    +
    {% if start_vars.tool_used == "Mapping" %}

    Computing the Map


    @@ -23,10 +23,17 @@ {% else %}

    Loading {{ start_vars.tool_used }} Results...

    {% endif %} +

    +
    + +
    -- cgit v1.2.3 From eb2fb5c936ff8e2351ef3c1f9cf4968790528bdb Mon Sep 17 00:00:00 2001 From: zsloan Date: Thu, 1 Aug 2019 15:16:39 -0500 Subject: Added wikidata aliases Fixed year to not be a hyperlink when no pubmed id Fixed first column width so it doesn't go onto two lines for trait details --- wqflask/base/trait.py | 16 +++++++++++----- wqflask/wqflask/templates/show_trait_details.html | 12 +++++++++--- 2 files changed, 20 insertions(+), 8 deletions(-) diff --git a/wqflask/base/trait.py b/wqflask/base/trait.py index 39dd075e..a0679041 100644 --- a/wqflask/base/trait.py +++ b/wqflask/base/trait.py @@ -122,17 +122,23 @@ class GeneralTrait(object): def alias_fmt(self): '''Return a text formatted alias''' + alias = 'Not available' + if self.alias: + alias = string.replace(self.alias, ";", " ") + alias = string.join(string.split(alias), ", ") + + return alias + + @property + def wikidata_alias_fmt(self): + '''Return a text formatted alias''' + alias = 'Not available' if self.symbol: response = requests.get("http://gn2.genenetwork.org/gn3/gene/aliases/" + self.symbol) alias_list = json.loads(response.content) alias = "; ".join(alias_list) - if alias == 'Not available': - if self.alias: - alias = string.replace(self.alias, ";", " ") - alias = string.join(string.split(alias), ", ") - return alias diff --git a/wqflask/wqflask/templates/show_trait_details.html b/wqflask/wqflask/templates/show_trait_details.html index e6c68591..7714a1ab 100644 --- a/wqflask/wqflask/templates/show_trait_details.html +++ b/wqflask/wqflask/templates/show_trait_details.html @@ -1,6 +1,6 @@
    Trait: " + js_data.trait_id + " - " + js_data.trait_symbol + "
    Statistic
    Trait " + js_data.trait_id + " - " + js_data.trait_symbol + "
    Statistic
    Trait: " + js_data.trait_id + "
    Statistic
    Trait " + js_data.trait_id + "
    Statistic
    - + {% if this_trait.dataset.type == 'Publish' %} @@ -18,7 +18,7 @@ - + {% else %} @@ -35,8 +35,14 @@ {% endif %} - + + {% if this_trait.alias_fmt != "Not Available" %} + + + + + {% endif %} {% endif %} {% if this_trait.dataset.type != 'Publish' %} -- cgit v1.2.3 From 1fd5271ebd12cff537e8ce68d9f8d706e531eb51 Mon Sep 17 00:00:00 2001 From: zsloan Date: Thu, 1 Aug 2019 17:13:07 -0500 Subject: Updated aliases to get all species aliases and remove duplicates --- wqflask/base/trait.py | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/wqflask/base/trait.py b/wqflask/base/trait.py index a0679041..58169b5c 100644 --- a/wqflask/base/trait.py +++ b/wqflask/base/trait.py @@ -135,9 +135,20 @@ class GeneralTrait(object): alias = 'Not available' if self.symbol: - response = requests.get("http://gn2.genenetwork.org/gn3/gene/aliases/" + self.symbol) - alias_list = json.loads(response.content) - alias = "; ".join(alias_list) + human_response = requests.get("http://gn2.genenetwork.org/gn3/gene/aliases/" + self.symbol.upper()) + mouse_response = requests.get("http://gn2.genenetwork.org/gn3/gene/aliases/" + self.symbol.capitalize()) + other_response = requests.get("http://gn2.genenetwork.org/gn3/gene/aliases/" + self.symbol.lower()) + alias_list = json.loads(human_response.content) + json.loads(mouse_response.content) + json.loads(other_response.content) + + filtered_aliases = [] + seen = set() + for item in alias_list: + if item in seen: + continue + else: + filtered_aliases.append(item) + seen.add(item) + alias = "; ".join(filtered_aliases) return alias -- cgit v1.2.3 From 3b626057ffebddf2829fbddb50445cf4934b0580 Mon Sep 17 00:00:00 2001 From: zsloan Date: Fri, 2 Aug 2019 10:47:18 -0500 Subject: Added the gif for the loading screen --- wqflask/wqflask/static/gif/89.gif | Bin 0 -> 27183 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 wqflask/wqflask/static/gif/89.gif diff --git a/wqflask/wqflask/static/gif/89.gif b/wqflask/wqflask/static/gif/89.gif new file mode 100644 index 00000000..e9b3279d Binary files /dev/null and b/wqflask/wqflask/static/gif/89.gif differ -- cgit v1.2.3 From 8f9dcc4b53e4149d5ac7c698bb0b3bb88e36cf64 Mon Sep 17 00:00:00 2001 From: zsloan Date: Fri, 2 Aug 2019 10:50:05 -0500 Subject: Fixed issue where resizing correlation page could make buttons get pushed down --- wqflask/wqflask/templates/correlation_page.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/wqflask/wqflask/templates/correlation_page.html b/wqflask/wqflask/templates/correlation_page.html index 32f5e774..fea60dfa 100644 --- a/wqflask/wqflask/templates/correlation_page.html +++ b/wqflask/wqflask/templates/correlation_page.html @@ -4,7 +4,7 @@ {% endblock %} {% block content %} -
    +
    {% if selectedChr == -1 %} -
    +

    Mapping Statistics


    @@ -307,20 +320,14 @@ + - {% if mapping_method != "gemma" and mapping_method != "plink" %} - {% endif %} - {% if mapping_method != "gemma" and mapping_method != "plink" %} - - - - - {% endif %} + {% endblock %} diff --git a/wqflask/wqflask/templates/search_result_page.html b/wqflask/wqflask/templates/search_result_page.html index 2dded69f..8dfa37a8 100644 --- a/wqflask/wqflask/templates/search_result_page.html +++ b/wqflask/wqflask/templates/search_result_page.html @@ -15,6 +15,9 @@

    Search Results: We searched {{ dataset.fullname }} to find all records + {% if go_term is not none %} + with Gene Ontology ID GO:{{ go_term }}. + {% else %} {% for word in search_terms %} {% if word.key|lower == "rif" %} with GeneRIF containing {{ word.search_term[0] }}{% if loop.last %}.{% else %} and {% endif %} @@ -40,9 +43,13 @@ {% if word.search_term[0] == "*" %} in the dataset.{% else %}{% if loop.first %}that match:
    {% endif %}"{{ word.search_term[0] }}"{% if loop.last %}{% else %} and {% endif %}{% endif %} {% endif %} {% endfor %} + {% endif %}
    {{ results|count }} records are shown below.

    + {% if go_term is not none %} +

    The associated genes include:

    {% for word in search_terms %}{{ word.search_term[0] }}{% endfor %}

    + {% endif %} diff --git a/wqflask/wqflask/templates/show_trait_details.html b/wqflask/wqflask/templates/show_trait_details.html index 7714a1ab..bb0b62fe 100644 --- a/wqflask/wqflask/templates/show_trait_details.html +++ b/wqflask/wqflask/templates/show_trait_details.html @@ -1,40 +1,40 @@
    Species and GroupSpecies and Group {{ this_trait.dataset.group.species }}, {{ this_trait.dataset.group.name }}
    Journal{{ this_trait.journal }} ({{ this_trait.year }}){{ this_trait.journal }} ({% if this_trait.pubmed_id %}{{ this_trait.year }}{% else %}{{ this_trait.year }}{% endif %})
    Aliases{{ this_trait.alias_fmt|replace(",",";") }}Wikidata: {{ this_trait.wikidata_alias_fmt|replace(",",";") }}
    GeneNetwork: {{ this_trait.alias_fmt|replace(",",";") }}
    - + {% if this_trait.dataset.type == 'Publish' %} - + - + - + - + {% else %} - + {% endif %} {% if this_trait.dataset.type == 'ProbeSet' %} {% if this_trait.symbol != None %} - + {% endif %} - + {% if this_trait.alias_fmt != "Not Available" %} @@ -46,12 +46,12 @@ {% endif %} {% if this_trait.dataset.type != 'Publish' %} - + {% endif %} - + {% if this_trait.probe_set_specificity %} - + - + - {% for header in target_dataset.header_fields %} - {% if header == 'Year' %} + {% for header in header_fields %} - {% elif header == 'Max LRS' %} - - {% elif header == 'Max LRS Location' %} - - {% elif header == 'Location' %} - - {% elif header == 'Mean' %} - - {% elif header == 'Additive Effect' %} - - {% elif header == 'Index' %} - - {% elif header == 'N' %} - - {% else %} - - {% endif %} {% endfor %} - {% if target_dataset.type == "ProbeSet" %} - {% if corr_method == 'pearson' %} - - - - - - - {% else %} - - - - - - - {% endif %} - {% elif target_dataset.type == "Publish" %} - {% if corr_method == 'pearson' %} - - - - {% else %} - - - - {% endif %} - {% elif target_dataset.type == "Geno" %} - {% if corr_method == 'pearson' %} - - - - {% else %} - - - - {% endif %} - {% endif %} @@ -190,9 +135,6 @@ - - - @@ -208,6 +150,9 @@ {% endif %} + + + {% elif target_dataset.type == "Publish" %} @@ -398,15 +343,15 @@ { "type": "natural", "width": "15%" }, { "type": "natural" }, { "type": "natural" }, - { "type": "natural" }, - { "type": "natural" }, - { "type": "natural" }, { "orderDataType": "dom-innertext", 'orderSequence': [ "desc", "asc"] }, { "type": "natural" }, { "type": "scientific" }, { "type": "numeric-html", 'orderSequence': [ "desc", "asc"] }, { "type": "numeric-html", 'orderSequence': [ "desc", "asc"] }, - { "type": "scientific" } + { "type": "scientific" }, + { "type": "natural" }, + { "type": "natural" }, + { "type": "natural" } ], "createdRow": function ( row, data, index ) { $('td', row).eq(4).attr('title', $('td', row).eq(4).text()); @@ -416,14 +361,11 @@ } }, "order": [[12, "asc" ]], - "sDom": "BRZtir", + "sDom": "tir", "iDisplayLength": -1, "autoWidth": false, "deferRender": true, "bSortClasses": false, - "scrollY": "800px", - "scrollCollapse": false, - "scroller": true, "paging": false, "orderClasses": true } diff --git a/wqflask/wqflask/templates/index_page_orig.html b/wqflask/wqflask/templates/index_page_orig.html index 5706c870..48ed0ec5 100755 --- a/wqflask/wqflask/templates/index_page_orig.html +++ b/wqflask/wqflask/templates/index_page_orig.html @@ -36,7 +36,7 @@
    - +
    @@ -48,7 +48,7 @@
    - +
    @@ -58,7 +58,7 @@
    - +
    @@ -67,7 +67,7 @@
    - +
    -- cgit v1.2.3 From d9ceb094bd6887d81faf37dc93388d3df200e9b7 Mon Sep 17 00:00:00 2001 From: zsloan Date: Thu, 29 Aug 2019 16:03:35 -0500 Subject: Fixed remaining issue where columns didn't show up right and the mean/r filter didn't work right for non-ProbeSet target datasets --- wqflask/wqflask/correlation/show_corr_results.py | 17 ++++++++++-- wqflask/wqflask/templates/correlation_page.html | 35 +++++++++++------------- 2 files changed, 31 insertions(+), 21 deletions(-) diff --git a/wqflask/wqflask/correlation/show_corr_results.py b/wqflask/wqflask/correlation/show_corr_results.py index 1fa47920..0db8fa38 100644 --- a/wqflask/wqflask/correlation/show_corr_results.py +++ b/wqflask/wqflask/correlation/show_corr_results.py @@ -150,6 +150,13 @@ class CorrelationResults(object): self.header_fields = get_header_fields(self.target_dataset.type, self.corr_method) + if self.target_dataset.type == "ProbeSet": + self.filter_cols = [7, 6] + elif self.target_dataset.type == "Publish": + self.filter_cols = [6, 0] + else: + self.filter_cols = [4, 0] + self.correlation_results = [] self.correlation_data = {} @@ -583,7 +590,10 @@ def get_header_fields(data_type, corr_method): 'Year', 'Sample r', 'N', - 'Sample p(r)'] + 'Sample p(r)', + 'Max LRS', + 'Max LRS Location', + 'Additive Effect'] else: header_fields = ['Index', 'Record', @@ -592,7 +602,10 @@ def get_header_fields(data_type, corr_method): 'Year', 'Sample rho', 'N', - 'Sample p(rho)'] + 'Sample p(rho)', + 'Max LRS', + 'Max LRS Location', + 'Additive Effect'] else: if corr_method == "pearson": header_fields = ['Index', diff --git a/wqflask/wqflask/templates/correlation_page.html b/wqflask/wqflask/templates/correlation_page.html index fffdfd75..cbd2ab46 100644 --- a/wqflask/wqflask/templates/correlation_page.html +++ b/wqflask/wqflask/templates/correlation_page.html @@ -161,12 +161,12 @@ {{ trait.pubmed_text }} -
    - - + + + {% elif target_dataset.type == "Geno" %} @@ -233,38 +233,37 @@ //$.fn.dataTableExt.afnFiltering.push( $.fn.dataTable.ext.search.push( function( settings, data, dataIndex ) { - var r_column = 10; + var r_column = {{ filter_cols[0] }}; var r_greater = parseFloat($('input[name=r_greater_select]').val()) var r_less = parseFloat($('input[name=r_less_select]').val()); var r_and_or = $('#r_and_or').val(); - var mean_column = 6; + var mean_column = {{ filter_cols[1] }}; var mean_greater = parseFloat($('input[name=mean_greater_select]').val()); var mean_less = parseFloat($('input[name=mean_less_select]').val()); var mean_and_or = $('#mean_and_or').val(); - if (r_and_or == "and" && mean_and_or == "and"){ - if ( (data[r_column] >= r_greater && data[r_column] <= r_less) && (data[mean_column] > mean_greater && data[mean_column] < mean_less) ){ + if ( (data[r_column] >= r_greater && data[r_column] <= r_less) && {% if filter_cols[1] != 0 %}(data[mean_column] > mean_greater && data[mean_column] < mean_less){% else %} true{% endif %} ){ return true } else { return false } } else if (r_and_or == "and" && mean_and_or == "or"){ - if ( (data[r_column] >= r_greater && data[r_column] <= r_less) && (data[mean_column] >= mean_greater || data[mean_column] <= mean_less) ){ + if ( (data[r_column] >= r_greater && data[r_column] <= r_less) && {% if filter_cols[1] != 0 %}(data[mean_column] >= mean_greater || data[mean_column] <= mean_less){% else %} true{% endif %} ){ return true } else { return false } } else if (r_and_or == "or" && mean_and_or == "and") { - if ( (data[r_column] >= r_greater || data[r_column] <= r_less) && (data[mean_column] >= mean_greater && data[mean_column] <= mean_less) ){ + if ( (data[r_column] >= r_greater || data[r_column] <= r_less) && {% if filter_cols[1] != 0 %}(data[mean_column] >= mean_greater && data[mean_column] <= mean_less){% else %} true{% endif %} ){ return true } else { return false } } else { - if ( (data[r_column] >= r_greater || data[r_column] <= r_less) && (data[mean_column] >= mean_greater || data[mean_column] <= mean_less) ){ + if ( (data[r_column] >= r_greater || data[r_column] <= r_less) && {% if filter_cols[1] != 0 %}(data[mean_column] >= mean_greater || data[mean_column] <= mean_less){% else %} true{% endif %} ){ return true } else { return false @@ -360,7 +359,7 @@ $('td', row).eq(4).text($('td', row).eq(4).text() + '...') } }, - "order": [[12, "asc" ]], + "order": [[9, "asc" ]], "sDom": "tir", "iDisplayLength": -1, "autoWidth": false, @@ -395,11 +394,11 @@ { "type": "natural", "width": "12%" }, { "type": "natural" }, { "type": "natural" }, - { "type": "natural" }, - { "type": "natural" }, { "orderDataType": "dom-innertext", 'orderSequence': [ "desc", "asc"] }, + { "type": "scientific" }, { "type": "natural" }, - { "type": "scientific" } + { "type": "natural" }, + { "type": "natural" } ], "createdRow": function ( row, data, index ) { $('td', row).eq(3).attr('title', $('td', row).eq(3).text()); @@ -413,12 +412,10 @@ $('td', row).eq(4).text($('td', row).eq(4).text() + '...') } }, - "order": [[11, "asc" ]], - "sDom": "Btir", + "order": [[8, "asc" ]], + "sDom": "tir", "autoWidth": false, - "bDeferRender": true, - "scrollY": "800px", - "scrollCollapse": false + "bDeferRender": true } {% elif target_dataset.type == "Geno" %} table_conf = { -- cgit v1.2.3 From c540d661c9603f33b46edf2f6c8fd6b95bab8b38 Mon Sep 17 00:00:00 2001 From: zsloan Date: Thu, 29 Aug 2019 17:09:46 -0500 Subject: Fixed issue where LOD to LRS conversions weren't showing up correctly in the table Fixed issue where non-LOCO GEMMA wasn't working correctly --- .../wqflask/marker_regression/display_mapping_results.py | 10 +++++----- wqflask/wqflask/marker_regression/gemma_mapping.py | 2 +- wqflask/wqflask/marker_regression/run_mapping.py | 16 ++++++++-------- wqflask/wqflask/templates/mapping_results.html | 4 ++-- 4 files changed, 16 insertions(+), 16 deletions(-) diff --git a/wqflask/wqflask/marker_regression/display_mapping_results.py b/wqflask/wqflask/marker_regression/display_mapping_results.py index 1d5843d4..911219f4 100644 --- a/wqflask/wqflask/marker_regression/display_mapping_results.py +++ b/wqflask/wqflask/marker_regression/display_mapping_results.py @@ -229,10 +229,10 @@ class DisplayMappingResults(object): self.covariates = start_vars['covariates'] if 'maf' in start_vars.keys(): self.maf = start_vars['maf'] + if 'output_files' in start_vars.keys(): + self.output_files = start_vars['output_files'] if 'use_loco' in start_vars.keys() and self.mapping_method == "gemma": self.use_loco = start_vars['use_loco'] - if self.use_loco == "True": - self.output_files = start_vars['output_files'] if 'reaper_version' in start_vars.keys() and self.mapping_method == "reaper": self.reaper_version = start_vars['reaper_version'] @@ -1702,7 +1702,7 @@ class DisplayMappingResults(object): #ZS: Needed to pass to genome browser js_data = json.loads(self.js_data) if self.LRS_LOD == "LRS": - js_data['max_score'] = LRS_LOD_Max/4.16 + js_data['max_score'] = LRS_LOD_Max/4.61 else: js_data['max_score'] = LRS_LOD_Max self.js_data = json.dumps(js_data) @@ -2068,9 +2068,9 @@ class DisplayMappingResults(object): ######################################### myCanvas = pid.PILCanvas(size=(400,300)) if 'lod_score' in self.qtlresults[0] and self.LRS_LOD == "LRS": - perm_output = [value*4.16 for value in self.perm_output] + perm_output = [value*4.61 for value in self.perm_output] elif 'lod_score' not in self.qtlresults[0] and self.LRS_LOD == "LOD": - perm_output = [value/4.16 for value in self.perm_output] + perm_output = [value/4.61 for value in self.perm_output] else: perm_output = self.perm_output diff --git a/wqflask/wqflask/marker_regression/gemma_mapping.py b/wqflask/wqflask/marker_regression/gemma_mapping.py index 8d59a392..5b34e837 100644 --- a/wqflask/wqflask/marker_regression/gemma_mapping.py +++ b/wqflask/wqflask/marker_regression/gemma_mapping.py @@ -109,7 +109,7 @@ def run_gemma(this_trait, this_dataset, samples, vals, covariates, use_loco, maf return marker_obs, gwa_output_filename else: marker_obs = parse_loco_output(this_dataset, gwa_output_filename) - return marker_obs + return marker_obs, gwa_output_filename def gen_pheno_txt_file(this_dataset, genofile_name, vals, trait_filename): """Generates phenotype file for GEMMA""" diff --git a/wqflask/wqflask/marker_regression/run_mapping.py b/wqflask/wqflask/marker_regression/run_mapping.py index af5d0206..56d901fc 100644 --- a/wqflask/wqflask/marker_regression/run_mapping.py +++ b/wqflask/wqflask/marker_regression/run_mapping.py @@ -181,18 +181,18 @@ class RunMapping(object): self.dataset.group.get_markers() if self.mapping_method == "gemma": self.first_run = True - self.output_files= None + self.output_files = None + if 'output_files' in start_vars: + self.output_files = start_vars['output_files'] if 'first_run' in start_vars: #ZS: check if first run so existing result files can be used if it isn't (for example zooming on a chromosome, etc) self.first_run = False - if 'output_files' in start_vars: - self.output_files = start_vars['output_files'] self.score_type = "-log(p)" self.manhattan_plot = True with Bench("Running GEMMA"): if self.use_loco == "True": marker_obs, self.output_files = gemma_mapping.run_gemma(self.this_trait, self.dataset, self.samples, self.vals, self.covariates, self.use_loco, self.maf, self.first_run, self.output_files) else: - marker_obs = gemma_mapping.run_gemma(self.this_trait, self.dataset, self.samples, self.vals, self.covariates, self.use_loco, self.maf, self.first_run) + marker_obs, self.output_files = gemma_mapping.run_gemma(self.this_trait, self.dataset, self.samples, self.vals, self.covariates, self.use_loco, self.maf, self.first_run, self.output_files) results = marker_obs elif self.mapping_method == "rqtl_plink": results = self.run_rqtl_plink() @@ -397,7 +397,7 @@ class RunMapping(object): if self.mapping_method != "gemma": if self.score_type == "LRS": - significant_for_browser = self.significant / 4.16 + significant_for_browser = self.significant / 4.61 else: significant_for_browser = self.significant @@ -521,15 +521,15 @@ def trim_markers_for_figure(markers): else: filtered_markers.append(marker) else: - if marker[score_type] < 4.16: + if marker[score_type] < 4.61: if low_counter % 20 == 0: filtered_markers.append(marker) low_counter += 1 - elif 4.16 <= marker[score_type] < (2*4.16): + elif 4.61 <= marker[score_type] < (2*4.61): if med_counter % 10 == 0: filtered_markers.append(marker) med_counter += 1 - elif (2*4.16) <= marker[score_type] <= (3*4.16): + elif (2*4.61) <= marker[score_type] <= (3*4.61): if high_counter % 2 == 0: filtered_markers.append(marker) high_counter += 1 diff --git a/wqflask/wqflask/templates/mapping_results.html b/wqflask/wqflask/templates/mapping_results.html index 189f8abc..373bae1e 100644 --- a/wqflask/wqflask/templates/mapping_results.html +++ b/wqflask/wqflask/templates/mapping_results.html @@ -250,11 +250,11 @@ {% if 'lod_score' in marker %} {% else %} - + {% endif %} {% else %} {% if 'lod_score' in marker %} - + {% else %} {% endif %} -- cgit v1.2.3 From 4bd1db34b109bff3b9abdcc161472885e9ae700d Mon Sep 17 00:00:00 2001 From: Pjotr Prins Date: Fri, 6 Sep 2019 03:29:12 -0500 Subject: Fix name of javascript-twitter-post-fetcher --- wqflask/utility/tools.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/wqflask/utility/tools.py b/wqflask/utility/tools.py index 31ab2046..ec9f01bd 100644 --- a/wqflask/utility/tools.py +++ b/wqflask/utility/tools.py @@ -289,11 +289,14 @@ assert_dir(TEMPDIR) JS_GUIX_PATH = get_setting("JS_GUIX_PATH") assert_dir(JS_GUIX_PATH) assert_dir(JS_GUIX_PATH+'/cytoscape-panzoom') + CSS_PATH = "UNKNOWN" # assert_dir(JS_PATH) -JS_TWITTER_POST_FETCHER_PATH = get_setting("JS_TWITTER_POST_FETCHER_PATH",js_path("Twitter-Post-Fetcher")) + +JS_TWITTER_POST_FETCHER_PATH = get_setting("JS_TWITTER_POST_FETCHER_PATH",js_path("javascript-twitter-post-fetcher")) assert_dir(JS_TWITTER_POST_FETCHER_PATH) assert_file(JS_TWITTER_POST_FETCHER_PATH+"/js/twitterFetcher_min.js") + JS_CYTOSCAPE_PATH = get_setting("JS_CYTOSCAPE_PATH",js_path("cytoscape")) assert_dir(JS_CYTOSCAPE_PATH) assert_file(JS_CYTOSCAPE_PATH+'/cytoscape.min.js') -- cgit v1.2.3 From cc12fe06593f4957fb2b5b641ebe7e5cf43453b1 Mon Sep 17 00:00:00 2001 From: zsloan Date: Mon, 9 Sep 2019 16:22:15 -0500 Subject: Add option to hide columns in correlation results Increased width of permutation histogram Increased a couple table widths that had crowded header text on certain browers (maybe just Safari) --- wqflask/utility/tools.py | 5 ++-- .../marker_regression/display_mapping_results.py | 2 +- wqflask/wqflask/templates/correlation_page.html | 28 ++++++++++++---------- wqflask/wqflask/templates/mapping_results.html | 2 +- 4 files changed, 20 insertions(+), 17 deletions(-) diff --git a/wqflask/utility/tools.py b/wqflask/utility/tools.py index 31ab2046..a2eb0817 100644 --- a/wqflask/utility/tools.py +++ b/wqflask/utility/tools.py @@ -105,7 +105,7 @@ def js_path(module=None): try_guix = get_setting("JS_GUIX_PATH")+"/"+module if valid_path(try_guix): return try_guix - raise "No JS path found for "+module+" (if not in Guix check JS_GN_PATH)" + raise Exception("No JS path found for "+module+" (if not in Guix check JS_GN_PATH)") def reaper_command(guess=None): return get_setting("REAPER_COMMAND",guess) @@ -291,7 +291,8 @@ assert_dir(JS_GUIX_PATH) assert_dir(JS_GUIX_PATH+'/cytoscape-panzoom') CSS_PATH = "UNKNOWN" # assert_dir(JS_PATH) -JS_TWITTER_POST_FETCHER_PATH = get_setting("JS_TWITTER_POST_FETCHER_PATH",js_path("Twitter-Post-Fetcher")) +#JS_TWITTER_POST_FETCHER_PATH = get_setting("JS_TWITTER_POST_FETCHER_PATH",js_path("Twitter-Post-Fetcher")) +JS_TWITTER_POST_FETCHER_PATH = get_setting("JS_TWITTER_POST_FETCHER_PATH",js_path("javascript-twitter-post-fetcher")) assert_dir(JS_TWITTER_POST_FETCHER_PATH) assert_file(JS_TWITTER_POST_FETCHER_PATH+"/js/twitterFetcher_min.js") JS_CYTOSCAPE_PATH = get_setting("JS_CYTOSCAPE_PATH",js_path("cytoscape")) diff --git a/wqflask/wqflask/marker_regression/display_mapping_results.py b/wqflask/wqflask/marker_regression/display_mapping_results.py index 911219f4..2834f1c3 100644 --- a/wqflask/wqflask/marker_regression/display_mapping_results.py +++ b/wqflask/wqflask/marker_regression/display_mapping_results.py @@ -2066,7 +2066,7 @@ class DisplayMappingResults(object): ######################################### # Permutation Graph ######################################### - myCanvas = pid.PILCanvas(size=(400,300)) + myCanvas = pid.PILCanvas(size=(500,300)) if 'lod_score' in self.qtlresults[0] and self.LRS_LOD == "LRS": perm_output = [value*4.61 for value in self.perm_output] elif 'lod_score' not in self.qtlresults[0] and self.LRS_LOD == "LOD": diff --git a/wqflask/wqflask/templates/correlation_page.html b/wqflask/wqflask/templates/correlation_page.html index cbd2ab46..9e986eda 100644 --- a/wqflask/wqflask/templates/correlation_page.html +++ b/wqflask/wqflask/templates/correlation_page.html @@ -2,6 +2,7 @@ {% block css %} + {% endblock %} {% block content %}
    @@ -188,10 +189,9 @@ - - - - + + + - - - + + + + - - - - + + +
    Species and GroupSpecies and Group {{ this_trait.dataset.group.species }}, {{ this_trait.dataset.group.name }}
    PhenotypePhenotype
    {{ this_trait.description_fmt }}
    AuthorsAuthors
    {{ this_trait.authors }}
    TitleTitle
    {{ this_trait.title }}
    JournalJournal {{ this_trait.journal }} ({% if this_trait.pubmed_id %}{{ this_trait.year }}{% else %}{{ this_trait.year }}{% endif %})
    TissueTissue {{ this_trait.dataset.tissue }}
    Gene SymbolGene Symbol {{ this_trait.symbol }}
    AliasesAliases Wikidata: {{ this_trait.wikidata_alias_fmt|replace(",",";") }}
    LocationLocation {{ this_trait.location_fmt }}
    DatabaseDatabase {{ dataset.fullname }} @@ -60,7 +60,7 @@
    Target ScoreTarget Score BLAT Specificity @@ -75,7 +75,7 @@ {% endif %} {% if this_trait.pubmed_id or this_trait.geneid or this_trait.omim or this_trait.symbol %}
    Resource LinksResource Links {% if pubmed_link %} diff --git a/wqflask/wqflask/views.py b/wqflask/wqflask/views.py index 7b585b03..aa64a910 100644 --- a/wqflask/wqflask/views.py +++ b/wqflask/wqflask/views.py @@ -639,7 +639,8 @@ def mapping_results_page(): 'mapmethod_rqtl_geno', 'mapmodel_rqtl_geno', 'temp_trait', - 'reaper_version' + 'reaper_version', + 'num_vals' ) start_vars = {} for key, value in initial_start_vars.iteritems(): @@ -670,8 +671,8 @@ def mapping_results_page(): if template_vars.no_results: rendered_template = render_template("mapping_error.html") else: - if template_vars.mapping_method != "gemma" and template_vars.mapping_method != "plink": - template_vars.js_data = json.dumps(template_vars.js_data, + #if template_vars.mapping_method != "gemma" and template_vars.mapping_method != "plink": + template_vars.js_data = json.dumps(template_vars.js_data, default=json_default_handler, indent=" ") @@ -808,6 +809,17 @@ def get_temp_data(): temp_uuid = request.args['key'] return flask.jsonify(temp_data.TempData(temp_uuid).get_all()) +@app.route("/browser_input", methods=('GET',)) +def browser_inputs(): + """ Returns JSON from tmp directory for the purescript genome browser""" + + filename = request.args['filename'] + + with open("{}/gn2/".format(TEMPDIR) + filename + ".json", "r") as the_file: + file_contents = json.load(the_file) + + return flask.jsonify(file_contents) + ########################################################################## def json_default_handler(obj): -- cgit v1.2.3 From eb710ee13c5c1d138a75c5689ae7158b8a8f40cb Mon Sep 17 00:00:00 2001 From: zsloan Date: Wed, 7 Aug 2019 14:55:30 -0500 Subject: Fixed issue with non-LOCO GEMMA mapping --- wqflask/wqflask/marker_regression/gemma_mapping.py | 35 +++---------- wqflask/wqflask/views.py | 60 +++++++++++----------- 2 files changed, 37 insertions(+), 58 deletions(-) diff --git a/wqflask/wqflask/marker_regression/gemma_mapping.py b/wqflask/wqflask/marker_regression/gemma_mapping.py index 895d4ac6..1d9bbb43 100644 --- a/wqflask/wqflask/marker_regression/gemma_mapping.py +++ b/wqflask/wqflask/marker_regression/gemma_mapping.py @@ -73,14 +73,6 @@ def run_gemma(this_trait, this_dataset, samples, vals, covariates, use_loco, maf gwa_output_filename) else: - # generate_k_command = GEMMA_COMMAND + ' ' + GEMMAOPTS + ' -g %s/%s_geno.txt -p %s/gn2/%s.txt -a %s/%s_snps.txt -gk -outdir %s/gn2/ -o %s' % (flat_files('genotype/bimbam'), - # genofile_name, - # TEMPDIR, - # trait_filename, - # flat_files('genotype/bimbam'), - # genofile_name, - # TEMPDIR, - # k_output_filename) generate_k_command = GEMMA_WRAPPER_COMMAND + ' --json -- ' + GEMMAOPTS + ' -g %s/%s_geno.txt -p %s/gn2/%s.txt -a %s/%s_snps.txt -gk > %s/gn2/%s.json' % (flat_files('genotype/bimbam'), genofile_name, TEMPDIR, @@ -93,31 +85,18 @@ def run_gemma(this_trait, this_dataset, samples, vals, covariates, use_loco, maf logger.debug("k_command:" + generate_k_command) os.system(generate_k_command) - # gemma_command = GEMMA_COMMAND + ' ' + GEMMAOPTS + ' -g %s/%s_geno.txt -p %s/gn2/%s.txt -a %s/%s_snps.txt -k %s/gn2/%s.cXX.txt -lmm 2 -maf %s' % (flat_files('genotype/bimbam'), - # genofile_name, - # TEMPDIR, - # trait_filename, - # flat_files('genotype/bimbam'), - # genofile_name, - # TEMPDIR, - # k_output_filename, - # maf) - - gemma_command = GEMMA_WRAPPER_COMMAND + ' --json --input %s/gn2/%s.json -- ' % (TEMPDIR, k_output_filename) + GEMMAOPTS + ' -lmm 2 -g %s/%s_geno.txt -p %s/gn2/%s.txt' % (flat_files('genotype/bimbam'), + gemma_command = GEMMA_WRAPPER_COMMAND + ' --json --input %s/gn2/%s.json -- ' % (TEMPDIR, k_output_filename) + GEMMAOPTS + ' -a %s/%s_snps.txt -lmm 2 -g %s/%s_geno.txt -p %s/gn2/%s.txt' % (flat_files('genotype/bimbam'), + genofile_name, + flat_files('genotype/bimbam'), genofile_name, TEMPDIR, trait_filename) if covariates != "": - gemma_command += ' -c %s/%s_covariates.txt' % (flat_files('mapping'), this_dataset.group.name) - # gemma_command += ' -c %s/%s_covariates.txt -outdir %s -o %s_output' % (flat_files('mapping'), - # this_dataset.group.name, - # webqtlConfig.GENERATED_IMAGE_DIR, - # genofile_name) - # else: - # gemma_command += ' -outdir %s -o %s_output' % (webqtlConfig.GENERATED_IMAGE_DIR, - # genofile_name) + gemma_command += ' -c %s/%s_covariates.txt > %s/gn2/%s.json' % (flat_files('mapping'), this_dataset.group.name, TEMPDIR, gwa_output_filename) + else: + gemma_command += ' > %s/gn2/%s.json' % (TEMPDIR, gwa_output_filename) logger.debug("gemma_command:" + gemma_command) @@ -127,7 +106,7 @@ def run_gemma(this_trait, this_dataset, samples, vals, covariates, use_loco, maf marker_obs = parse_loco_output(this_dataset, gwa_output_filename) return marker_obs, gwa_output_filename else: - marker_obs = parse_gemma_output(genofile_name) + marker_obs = parse_loco_output(this_dataset, gwa_output_filename) return marker_obs def gen_pheno_txt_file(this_dataset, genofile_name, vals, trait_filename): diff --git a/wqflask/wqflask/views.py b/wqflask/wqflask/views.py index aa64a910..fbcaefc1 100644 --- a/wqflask/wqflask/views.py +++ b/wqflask/wqflask/views.py @@ -671,36 +671,36 @@ def mapping_results_page(): if template_vars.no_results: rendered_template = render_template("mapping_error.html") else: - #if template_vars.mapping_method != "gemma" and template_vars.mapping_method != "plink": - template_vars.js_data = json.dumps(template_vars.js_data, - default=json_default_handler, - indent=" ") - - result = template_vars.__dict__ - - if result['pair_scan']: - with Bench("Rendering template"): - img_path = result['pair_scan_filename'] - logger.info("img_path:", img_path) - initial_start_vars = request.form - logger.info("initial_start_vars:", initial_start_vars) - imgfile = open(TEMPDIR + img_path, 'rb') - imgdata = imgfile.read() - imgB64 = imgdata.encode("base64") - bytesarray = array.array('B', imgB64) - result['pair_scan_array'] = bytesarray - rendered_template = render_template("pair_scan_results.html", **result) - else: - gn1_template_vars = display_mapping_results.DisplayMappingResults(result).__dict__ - #pickled_result = pickle.dumps(result, pickle.HIGHEST_PROTOCOL) - #logger.info("pickled result length:", len(pickled_result)) - #Redis.set(key, pickled_result) - #Redis.expire(key, 1*60) - - with Bench("Rendering template"): - if (gn1_template_vars['mapping_method'] == "gemma") or (gn1_template_vars['mapping_method'] == "plink"): - gn1_template_vars.pop('qtlresults', None) - rendered_template = render_template("mapping_results.html", **gn1_template_vars) + #if template_vars.mapping_method != "gemma" and template_vars.mapping_method != "plink": + template_vars.js_data = json.dumps(template_vars.js_data, + default=json_default_handler, + indent=" ") + + result = template_vars.__dict__ + + if result['pair_scan']: + with Bench("Rendering template"): + img_path = result['pair_scan_filename'] + logger.info("img_path:", img_path) + initial_start_vars = request.form + logger.info("initial_start_vars:", initial_start_vars) + imgfile = open(TEMPDIR + img_path, 'rb') + imgdata = imgfile.read() + imgB64 = imgdata.encode("base64") + bytesarray = array.array('B', imgB64) + result['pair_scan_array'] = bytesarray + rendered_template = render_template("pair_scan_results.html", **result) + else: + gn1_template_vars = display_mapping_results.DisplayMappingResults(result).__dict__ + #pickled_result = pickle.dumps(result, pickle.HIGHEST_PROTOCOL) + #logger.info("pickled result length:", len(pickled_result)) + #Redis.set(key, pickled_result) + #Redis.expire(key, 1*60) + + with Bench("Rendering template"): + if (gn1_template_vars['mapping_method'] == "gemma") or (gn1_template_vars['mapping_method'] == "plink"): + gn1_template_vars.pop('qtlresults', None) + rendered_template = render_template("mapping_results.html", **gn1_template_vars) return rendered_template -- cgit v1.2.3 From 183997c17e7572d69227aacde15408e8577073e1 Mon Sep 17 00:00:00 2001 From: zsloan Date: Wed, 7 Aug 2019 14:57:48 -0500 Subject: Added Christian's genome browser, but still need to clean things up a bunch since now it has to create two separate marker lists --- .../static/new/javascript/init_genome_browser.js | 73 +++ .../css/purescript_genetics_browser_v01.css | 1 + .../js/purescript-genetics-browser_v01.js | 659 +++++++++++++++++++++ 3 files changed, 733 insertions(+) create mode 100644 wqflask/wqflask/static/new/javascript/init_genome_browser.js create mode 100644 wqflask/wqflask/static/packages/purescript_genome_browser/css/purescript_genetics_browser_v01.css create mode 100644 wqflask/wqflask/static/packages/purescript_genome_browser/js/purescript-genetics-browser_v01.js diff --git a/wqflask/wqflask/static/new/javascript/init_genome_browser.js b/wqflask/wqflask/static/new/javascript/init_genome_browser.js new file mode 100644 index 00000000..64a300bc --- /dev/null +++ b/wqflask/wqflask/static/new/javascript/init_genome_browser.js @@ -0,0 +1,73 @@ +console.log("THE FILES:", js_data.browser_files) + +snps_filename = "/browser_input?filename=" + js_data.browser_files[0] +annot_filename = "/browser_input?filename=" + js_data.browser_files[1] + +localUrls = +{ + snps: snps_filename, + annotations: null +}; + +var vscaleWidth = 90.0; +var legendWidth = 140.0; +var score = { min: 0.0, max: 30.0, sig: 4 }; +var gwasPadding = { top: 35.0, + bottom: 35.0, + left: vscaleWidth, + right: legendWidth }; +var gwasHeight = 420.0; +var genePadding = { top: 10.0, + bottom: 35.0, + left: vscaleWidth, + right: legendWidth }; +var geneHeight = 140.0; + + +var config = +{ trackHeight: 400.0, + padding: gwasPadding, + score: score, + urls: localUrls, + tracks: { + gwas: { + trackHeight: gwasHeight, + padding: gwasPadding, + snps: { + radius: 3.75, + lineWidth: 1.0, + color: { outline: "#FFFFFF", + fill: "#00008B" }, + pixelOffset: {x: 0.0, y: 0.0} + }, + annotations: { + radius: 5.5, + outline: "#000000", + snpColor: "#0074D9", + geneColor: "#FF4136" + }, + score: score, + legend: { + fontSize: 14, + hPad: 0.2, + vPad: 0.2 + }, + vscale: { + color: "#000000", + hPad: 0.125, + numSteps: 3, + fonts: { labelSize: 18, scaleSize: 16 } + }, + } + }, + chrs: { + chrBG1: "#FFFFFF", + chrBG2: "#DDDDDD", + chrLabels: { fontSize: 16 }, + }, + initialChrs: { left: "1", right: "19" } +}; + +GenomeBrowser.main(config)(); + +document.getElementById("controls").style.visibility = "visible"; \ No newline at end of file diff --git a/wqflask/wqflask/static/packages/purescript_genome_browser/css/purescript_genetics_browser_v01.css b/wqflask/wqflask/static/packages/purescript_genome_browser/css/purescript_genetics_browser_v01.css new file mode 100644 index 00000000..135292ac --- /dev/null +++ b/wqflask/wqflask/static/packages/purescript_genome_browser/css/purescript_genetics_browser_v01.css @@ -0,0 +1 @@ +body,html{max-width:100%;overflow-x:hidden}#browser{position:absolute;margin:0}#info-line{border:1px solid #aaa;padding:2px;position:absolute;right:0;top:1px;min-width:14%;font-size:9pt}#controls{visibility:hidden;position:absolute;top:4px;left:100px;z-index:1000}#controls>button{border:1px solid #aaa;border-radius:2px;padding-left:6px;padding-right:6px;height:23px;min-width:20px}button#scrollRight,button#zoomIn{margin-left:-2px;margin-right:4px}#infoBox{position:absolute;display:inline-block;z-index:10000;visibility:hidden;padding:5px;border:2px solid grey;border-radius:5%;background-color:#fff;min-height:100px;min-width:10px;max-width:80%;margin-top:9.7em;font-family:sans-serif}#infoBox>div{float:left;margin:1em 1.2em}#infoBox>div>p{margin:.1em} \ No newline at end of file diff --git a/wqflask/wqflask/static/packages/purescript_genome_browser/js/purescript-genetics-browser_v01.js b/wqflask/wqflask/static/packages/purescript_genome_browser/js/purescript-genetics-browser_v01.js new file mode 100644 index 00000000..acd590a5 --- /dev/null +++ b/wqflask/wqflask/static/packages/purescript_genome_browser/js/purescript-genetics-browser_v01.js @@ -0,0 +1,659 @@ +parcelRequire=function(e,r,t,n){var i,o="function"==typeof parcelRequire&&parcelRequire,u="function"==typeof require&&require;function f(t,n){if(!r[t]){if(!e[t]){var i="function"==typeof parcelRequire&&parcelRequire;if(!n&&i)return i(t,!0);if(o)return o(t,!0);if(u&&"string"==typeof t)return u(t);var c=new Error("Cannot find module '"+t+"'");throw c.code="MODULE_NOT_FOUND",c}p.resolve=function(r){return e[t][1][r]||r},p.cache={};var l=r[t]=new f.Module(t);e[t][0].call(l.exports,p,l,l.exports,this)}return r[t].exports;function p(e){return f(p.resolve(e))}}f.isParcelRequire=!0,f.Module=function(e){this.id=e,this.bundle=f,this.exports={}},f.modules=e,f.cache=r,f.parent=o,f.register=function(r,t){e[r]=[function(e,r){r.exports=t},{}]};for(var c=0;c="0"&&r[u]<="9"?"\\&":"";return"\\"+n.charCodeAt(0).toString(10)+c})+'"'},exports.showArrayImpl=function(r){return function(t){for(var n=[],e=0,u=t.length;er?-1:1,e=new Array(t*(r-n)+1),u=n,o=0;u!==r;)e[o++]=u,u+=t;return e[o]=u,e}};var n=function(n){return function(r){return n<1?[]:new Array(n).fill(r)}},r=function(n){return function(r){for(var t=[],e=0,u=0;u=t.length?r:n(t[e])}}}},exports.findIndexImpl=function(n){return function(r){return function(t){return function(e){for(var u=0,o=e.length;u=0;u--)if(t(e[u]))return n(u);return r}}}},exports._insertAt=function(n){return function(r){return function(t){return function(e){return function(u){if(t<0||t>u.length)return r;var o=u.slice();return o.splice(t,0,e),n(o)}}}}},exports._deleteAt=function(n){return function(r){return function(t){return function(e){if(t<0||t>=e.length)return r;var u=e.slice();return u.splice(t,1),n(u)}}}},exports._updateAt=function(n){return function(r){return function(t){return function(e){return function(u){if(t<0||t>=u.length)return r;var o=u.slice();return o[t]=e,n(o)}}}}},exports.reverse=function(n){return n.slice().reverse()},exports.concat=function(n){if(n.length<=1e4)return Array.prototype.concat.apply([],n);for(var r=[],t=0,e=n.length;t=0;o--)u=r(t[o])(u);return u}}},exports.foldlArray=function(r){return function(n){return function(t){for(var u=n,o=t.length,e=0;eu?-1:1}}}; +},{}],"5Eun":[function(require,module,exports) { +"use strict";var n=require("../Data.Eq/index.js"),e=require("../Data.Semigroup/index.js"),r=require("../Data.Show/index.js"),t=function(){function n(){}return n.value=new n,n}(),i=function(){function n(){}return n.value=new n,n}(),o=function(){function n(){}return n.value=new n,n}(),u=new r.Show(function(n){if(n instanceof t)return"LT";if(n instanceof i)return"GT";if(n instanceof o)return"EQ";throw new Error("Failed pattern match at Data.Ordering (line 26, column 1 - line 29, column 17): "+[n.constructor.name])}),a=new e.Semigroup(function(n){return function(e){if(n instanceof t)return t.value;if(n instanceof i)return i.value;if(n instanceof o)return e;throw new Error("Failed pattern match at Data.Ordering (line 21, column 1 - line 24, column 18): "+[n.constructor.name,e.constructor.name])}}),c=function(n){if(n instanceof i)return t.value;if(n instanceof o)return o.value;if(n instanceof t)return i.value;throw new Error("Failed pattern match at Data.Ordering (line 33, column 1 - line 33, column 31): "+[n.constructor.name])},f=new n.Eq(function(n){return function(e){return n instanceof t&&e instanceof t||(n instanceof i&&e instanceof i||n instanceof o&&e instanceof o)}});module.exports={LT:t,GT:i,EQ:o,invert:c,eqOrdering:f,semigroupOrdering:a,showOrdering:u}; +},{"../Data.Eq/index.js":"Pq4F","../Data.Semigroup/index.js":"EsAJ","../Data.Show/index.js":"mFY7"}],"+BUG":[function(require,module,exports) { +"use strict";exports.intSub=function(n){return function(t){return n-t|0}},exports.numSub=function(n){return function(t){return n-t}}; +},{}],"Vm8y":[function(require,module,exports) { +"use strict";exports.intAdd=function(n){return function(t){return n+t|0}},exports.intMul=function(n){return function(t){return n*t|0}},exports.numAdd=function(n){return function(t){return n+t}},exports.numMul=function(n){return function(t){return n*t}}; +},{}],"11NF":[function(require,module,exports) { +"use strict";var n=require("./foreign.js"),r=require("../Data.Symbol/index.js"),e=require("../Data.Unit/index.js"),u=require("../Record.Unsafe/index.js"),t=require("../Type.Data.Row/index.js"),o=require("../Type.Data.RowList/index.js"),i=function(n,r,e,u){this.addRecord=n,this.mulRecord=r,this.oneRecord=e,this.zeroRecord=u},c=function(n,r,e,u){this.add=n,this.mul=r,this.one=e,this.zero=u},f=function(n){return n.zeroRecord},a=function(n){return n.zero},d=new c(function(n){return function(n){return e.unit}},function(n){return function(n){return e.unit}},e.unit,e.unit),l=new i(function(n){return function(n){return function(n){return{}}}},function(n){return function(n){return function(n){return{}}}},function(n){return function(n){return{}}},function(n){return function(n){return{}}}),s=new c(n.numAdd,n.numMul,1,0),R=new c(n.intAdd,n.intMul,1,0),m=function(n){return n.oneRecord},y=function(n){return n.one},x=function(n){return n.mulRecord},v=function(n){return n.mul},P=function(n){return n.addRecord},S=function(n){return function(n){return new c(P(n)(o.RLProxy.value),x(n)(o.RLProxy.value),m(n)(o.RLProxy.value)(t.RProxy.value),f(n)(o.RLProxy.value)(t.RProxy.value))}},g=function(n){return n.add},w=function(n){return new c(function(r){return function(e){return function(u){return g(n)(r(u))(e(u))}}},function(r){return function(e){return function(u){return v(n)(r(u))(e(u))}}},function(r){return y(n)},function(r){return a(n)})},L=function(n){return function(e){return function(e){return function(c){return new i(function(t){return function(t){return function(i){var f=P(e)(o.RLProxy.value)(t)(i),a=r.reflectSymbol(n)(r.SProxy.value),d=u.unsafeSet(a),l=u.unsafeGet(a);return d(g(c)(l(t))(l(i)))(f)}}},function(t){return function(t){return function(i){var f=x(e)(o.RLProxy.value)(t)(i),a=r.reflectSymbol(n)(r.SProxy.value),d=u.unsafeSet(a),l=u.unsafeGet(a);return d(v(c)(l(t))(l(i)))(f)}}},function(i){return function(i){var f=m(e)(o.RLProxy.value)(t.RProxy.value),a=r.reflectSymbol(n)(r.SProxy.value);return u.unsafeSet(a)(y(c))(f)}},function(i){return function(i){var d=f(e)(o.RLProxy.value)(t.RProxy.value),l=r.reflectSymbol(n)(r.SProxy.value);return u.unsafeSet(l)(a(c))(d)}})}}}};module.exports={Semiring:c,add:g,zero:a,mul:v,one:y,SemiringRecord:i,addRecord:P,mulRecord:x,oneRecord:m,zeroRecord:f,semiringInt:R,semiringNumber:s,semiringFn:w,semiringUnit:d,semiringRecord:S,semiringRecordNil:l,semiringRecordCons:L}; +},{"./foreign.js":"Vm8y","../Data.Symbol/index.js":"4oJQ","../Data.Unit/index.js":"NhVk","../Record.Unsafe/index.js":"KG04","../Type.Data.Row/index.js":"ukdD","../Type.Data.RowList/index.js":"XaXP"}],"E2qH":[function(require,module,exports) { +"use strict";var n=require("./foreign.js"),r=require("../Data.Semiring/index.js"),e=require("../Data.Symbol/index.js"),i=require("../Data.Unit/index.js"),u=require("../Record.Unsafe/index.js"),t=require("../Type.Data.RowList/index.js"),o=function(n,r){this.SemiringRecord0=n,this.subRecord=r},c=function(n,r){this.Semiring0=n,this.sub=r},f=function(n){return n.subRecord},s=function(n){return n.sub},g=new c(function(){return r.semiringUnit},function(n){return function(n){return i.unit}}),m=new o(function(){return r.semiringRecordNil},function(n){return function(n){return function(n){return{}}}}),d=function(n){return function(i){return function(c){return function(g){return new o(function(){return r.semiringRecordCons(n)(i)(c.SemiringRecord0())(g.Semiring0())},function(r){return function(r){return function(i){var o=f(c)(t.RLProxy.value)(r)(i),m=e.reflectSymbol(n)(e.SProxy.value),d=u.unsafeSet(m),R=u.unsafeGet(m);return d(s(g)(R(r))(R(i)))(o)}}})}}}},R=function(n){return function(e){return new c(function(){return r.semiringRecord(n)(e.SemiringRecord0())},f(e)(t.RLProxy.value))}},a=new c(function(){return r.semiringNumber},n.numSub),S=new c(function(){return r.semiringInt},n.intSub),b=function(n){return new c(function(){return r.semiringFn(n.Semiring0())},function(r){return function(e){return function(i){return s(n)(r(i))(e(i))}}})},l=function(n){return function(e){return s(n)(r.zero(n.Semiring0()))(e)}};module.exports={Ring:c,sub:s,negate:l,RingRecord:o,subRecord:f,ringInt:S,ringNumber:a,ringUnit:g,ringFn:b,ringRecord:R,ringRecordNil:m,ringRecordCons:d}; +},{"./foreign.js":"+BUG","../Data.Semiring/index.js":"11NF","../Data.Symbol/index.js":"4oJQ","../Data.Unit/index.js":"NhVk","../Record.Unsafe/index.js":"KG04","../Type.Data.RowList/index.js":"XaXP"}],"r4Vb":[function(require,module,exports) { +"use strict";var n=require("./foreign.js"),r=require("../Data.Eq/index.js"),e=require("../Data.Ordering/index.js"),t=require("../Data.Ring/index.js"),u=require("../Data.Semiring/index.js"),o=require("../Data.Symbol/index.js"),i=require("../Record.Unsafe/index.js"),c=require("../Type.Data.RowList/index.js"),a=function(n,r){this.EqRecord0=n,this.compareRecord=r},f=function(n,r){this.Eq10=n,this.compare1=r},l=function(n,r){this.Eq0=n,this.compare=r},s=new l(function(){return r.eqVoid},function(n){return function(n){return e.EQ.value}}),d=new l(function(){return r.eqUnit},function(n){return function(n){return e.EQ.value}}),m=new l(function(){return r.eqString},n.ordStringImpl(e.LT.value)(e.EQ.value)(e.GT.value)),T=new a(function(){return r.eqRowNil},function(n){return function(n){return function(n){return e.EQ.value}}}),v=new l(function(){return e.eqOrdering},function(n){return function(r){if(n instanceof e.LT&&r instanceof e.LT)return e.EQ.value;if(n instanceof e.EQ&&r instanceof e.EQ)return e.EQ.value;if(n instanceof e.GT&&r instanceof e.GT)return e.EQ.value;if(n instanceof e.LT)return e.LT.value;if(n instanceof e.EQ&&r instanceof e.LT)return e.GT.value;if(n instanceof e.EQ&&r instanceof e.GT)return e.LT.value;if(n instanceof e.GT)return e.GT.value;throw new Error("Failed pattern match at Data.Ord (line 112, column 1 - line 119, column 21): "+[n.constructor.name,r.constructor.name])}}),E=new l(function(){return r.eqNumber},n.ordNumberImpl(e.LT.value)(e.EQ.value)(e.GT.value)),q=new l(function(){return r.eqInt},n.ordIntImpl(e.LT.value)(e.EQ.value)(e.GT.value)),w=new l(function(){return r.eqChar},n.ordCharImpl(e.LT.value)(e.EQ.value)(e.GT.value)),p=new l(function(){return r.eqBoolean},n.ordBooleanImpl(e.LT.value)(e.EQ.value)(e.GT.value)),h=function(n){return n.compareRecord},g=function(n){return function(e){return new l(function(){return r.eqRec(n)(e.EqRecord0())},h(e)(c.RLProxy.value))}},L=function(n){return n.compare1},Q=function(n){return n.compare},G=function(n){return function(r){return function(e){return function(t){return Q(n)(r(e))(r(t))}}}},R=function(n){return function(r){return function(t){return Q(n)(r)(t)instanceof e.GT}}},O=function(n){return function(r){return function(t){return!(Q(n)(r)(t)instanceof e.LT)}}},x=function(n){return function(r){return function(e){return O(n)(e)(u.zero(r.Semiring0()))?u.one(r.Semiring0()):t.negate(r)(u.one(r.Semiring0()))}}},y=function(n){return function(r){return function(t){return Q(n)(r)(t)instanceof e.LT}}},S=function(n){return function(r){return function(t){return!(Q(n)(r)(t)instanceof e.GT)}}},D=function(n){return function(r){return function(t){var u=Q(n)(r)(t);if(u instanceof e.LT)return t;if(u instanceof e.EQ)return r;if(u instanceof e.GT)return r;throw new Error("Failed pattern match at Data.Ord (line 167, column 3 - line 170, column 12): "+[u.constructor.name])}}},I=function(n){return function(r){return function(t){var u=Q(n)(r)(t);if(u instanceof e.LT)return r;if(u instanceof e.EQ)return r;if(u instanceof e.GT)return t;throw new Error("Failed pattern match at Data.Ord (line 158, column 3 - line 161, column 12): "+[u.constructor.name])}}},j=function(t){return new l(function(){return r.eqArray(t.Eq0())},(u=function(n){return function(r){var u=Q(t)(n)(r);if(u instanceof e.EQ)return 0;if(u instanceof e.LT)return 1;if(u instanceof e.GT)return-1;throw new Error("Failed pattern match at Data.Ord (line 65, column 7 - line 68, column 17): "+[u.constructor.name])}},function(r){return function(e){return Q(q)(0)(n.ordArrayImpl(u)(r)(e))}}));var u},b=new f(function(){return r.eq1Array},function(n){return Q(j(n))}),A=function(n){return function(t){return function(u){return function(f){return new a(function(){return r.eqRowCons(n.EqRecord0())(t)(u)(f.Eq0())},function(t){return function(t){return function(a){var l=o.reflectSymbol(u)(o.SProxy.value),s=Q(f)(i.unsafeGet(l)(t))(i.unsafeGet(l)(a));return r.notEq(e.eqOrdering)(s)(e.EQ.value)?s:h(n)(c.RLProxy.value)(t)(a)}}})}}}},C=function(n){return function(r){return function(e){return function(t){return I(n)(e)(D(n)(r)(t))}}}},N=function(n){return function(r){return function(e){return function(t){return!y(n)(t)(r)&&!R(n)(t)(e)}}}},F=function(n){return function(r){return function(e){return O(n)(e)(u.zero(r.Semiring0()))?e:t.negate(r)(e)}}};module.exports={Ord:l,compare:Q,Ord1:f,compare1:L,lessThan:y,lessThanOrEq:S,greaterThan:R,greaterThanOrEq:O,comparing:G,min:I,max:D,clamp:C,between:N,abs:F,signum:x,OrdRecord:a,compareRecord:h,ordBoolean:p,ordInt:q,ordNumber:E,ordString:m,ordChar:w,ordUnit:d,ordVoid:s,ordArray:j,ordOrdering:v,ord1Array:b,ordRecordNil:T,ordRecordCons:A,ordRecord:g}; +},{"./foreign.js":"m7Aq","../Data.Eq/index.js":"Pq4F","../Data.Ordering/index.js":"5Eun","../Data.Ring/index.js":"E2qH","../Data.Semiring/index.js":"11NF","../Data.Symbol/index.js":"4oJQ","../Record.Unsafe/index.js":"KG04","../Type.Data.RowList/index.js":"XaXP"}],"kcUU":[function(require,module,exports) { +"use strict";var n=require("./foreign.js"),t=require("../Data.Ord/index.js"),r=require("../Data.Ordering/index.js"),e=require("../Data.Unit/index.js"),o=function(n,t,r){this.Ord0=n,this.bottom=t,this.top=r},u=function(n){return n.top},d=new o(function(){return t.ordUnit},e.unit,e.unit),i=new o(function(){return t.ordOrdering},r.LT.value,r.GT.value),b=new o(function(){return t.ordNumber},n.bottomNumber,n.topNumber),a=new o(function(){return t.ordInt},n.bottomInt,n.topInt),m=new o(function(){return t.ordChar},n.bottomChar,n.topChar),c=new o(function(){return t.ordBoolean},!1,!0),f=function(n){return n.bottom};module.exports={Bounded:o,bottom:f,top:u,boundedBoolean:c,boundedInt:a,boundedChar:m,boundedOrdering:i,boundedUnit:d,boundedNumber:b}; +},{"./foreign.js":"0C+G","../Data.Ord/index.js":"r4Vb","../Data.Ordering/index.js":"5Eun","../Data.Unit/index.js":"NhVk"}],"AXkC":[function(require,module,exports) { +"use strict";var n=require("../Data.Functor/index.js"),r=function(n){this.imap=n},t=new r(function(n){return function(r){return function(r){return n(r)}}}),i=new r(function(n){return function(r){return function(t){return function(i){return n(t(r(i)))}}}}),u=new r(function(n){return function(r){return function(r){return n(r)}}}),e=new r(function(n){return function(r){return function(r){return n(r)}}}),o=new r(function(n){return function(r){return function(r){return n(r)}}}),a=new r(function(n){return function(r){return function(r){return n(r)}}}),c=function(r){return function(t){return function(i){return n.map(r)(t)}}},f=new r(c(n.functorArray)),v=new r(c(n.functorFn)),w=function(n){return n.imap};module.exports={imap:w,Invariant:r,imapF:c,invariantFn:v,invariantArray:f,invariantAdditive:a,invariantConj:o,invariantDisj:e,invariantDual:u,invariantEndo:i,invariantMultiplicative:t}; +},{"../Data.Functor/index.js":"+0AE"}],"8EBw":[function(require,module,exports) { +"use strict";exports.intDegree=function(t){return Math.min(Math.abs(t),2147483647)},exports.intDiv=function(t){return function(n){return 0===n?0:n>0?Math.floor(t/n):-Math.floor(t/-n)}},exports.intMod=function(t){return function(n){if(0===n)return 0;var r=Math.abs(n);return(t%r+r)%r}},exports.numDiv=function(t){return function(n){return t/n}}; +},{}],"60TQ":[function(require,module,exports) { +"use strict";var n=require("../Data.Ring/index.js"),t=function(n){this.RingRecord0=n},i=function(n){this.Ring0=n},r=new i(function(){return n.ringUnit}),e=new t(function(){return n.ringRecordNil}),u=function(i){return function(r){return function(e){return function(u){return new t(function(){return n.ringRecordCons(i)(r)(e.RingRecord0())(u.Ring0())})}}}},o=function(t){return function(r){return new i(function(){return n.ringRecord(t)(r.RingRecord0())})}},c=new i(function(){return n.ringNumber}),R=new i(function(){return n.ringInt}),g=function(t){return new i(function(){return n.ringFn(t.Ring0())})};module.exports={CommutativeRing:i,CommutativeRingRecord:t,commutativeRingInt:R,commutativeRingNumber:c,commutativeRingUnit:r,commutativeRingFn:g,commutativeRingRecord:o,commutativeRingRecordNil:e,commutativeRingRecordCons:u}; +},{"../Data.Ring/index.js":"E2qH"}],"2IRB":[function(require,module,exports) { +"use strict";var n=require("./foreign.js"),i=require("../Data.CommutativeRing/index.js"),e=require("../Data.Eq/index.js"),t=require("../Data.Semiring/index.js"),r=function(n,i,e,t){this.CommutativeRing0=n,this.degree=i,this.div=e,this.mod=t},u=function(n){return n.mod},o=function(n){return function(i){return function(r){return function(o){var m,g=n,c=i,f=r,a=!1;function d(n,i,r,m){if(e.eq(n)(m)(t.zero(i.CommutativeRing0().Ring0().Semiring0())))return a=!0,r;g=n,c=i,f=m,o=u(i)(r)(m)}for(;!a;)m=d(g,c,f,o);return m}}}},m=new r(function(){return i.commutativeRingNumber},function(n){return 1},n.numDiv,function(n){return function(n){return 0}}),g=new r(function(){return i.commutativeRingInt},n.intDegree,n.intDiv,n.intMod),c=function(n){return n.div},f=function(n){return function(i){return function(r){return function(u){return e.eq(n)(r)(t.zero(i.CommutativeRing0().Ring0().Semiring0()))||e.eq(n)(u)(t.zero(i.CommutativeRing0().Ring0().Semiring0()))?t.zero(i.CommutativeRing0().Ring0().Semiring0()):c(i)(t.mul(i.CommutativeRing0().Ring0().Semiring0())(r)(u))(o(n)(i)(r)(u))}}}},a=function(n){return n.degree};module.exports={EuclideanRing:r,degree:a,div:c,mod:u,gcd:o,lcm:f,euclideanRingInt:g,euclideanRingNumber:m}; +},{"./foreign.js":"8EBw","../Data.CommutativeRing/index.js":"60TQ","../Data.Eq/index.js":"Pq4F","../Data.Semiring/index.js":"11NF"}],"TiEB":[function(require,module,exports) { +"use strict";var n=require("../Data.Boolean/index.js"),r=require("../Data.EuclideanRing/index.js"),e=require("../Data.Ordering/index.js"),i=require("../Data.Semigroup/index.js"),o=require("../Data.Symbol/index.js"),t=require("../Data.Unit/index.js"),u=require("../Record.Unsafe/index.js"),c=require("../Type.Data.RowList/index.js"),d=function(n,r){this.SemigroupRecord0=n,this.memptyRecord=r},m=function(n,r){this.Semigroup0=n,this.mempty=r},a=new m(function(){return i.semigroupUnit},t.unit),f=new m(function(){return i.semigroupString},""),p=new d(function(){return i.semigroupRecordNil},function(n){return{}}),s=new m(function(){return e.semigroupOrdering},e.EQ.value),g=new m(function(){return i.semigroupArray},[]),l=function(n){return n.memptyRecord},R=function(n){return function(r){return new m(function(){return i.semigroupRecord(n)(r.SemigroupRecord0())},l(r)(c.RLProxy.value))}},S=function(n){return n.mempty},w=function(n){return new m(function(){return i.semigroupFn(n.Semigroup0())},function(r){return S(n)})},y=function(n){return function(r){return function(e){return function(t){return new d(function(){return i.semigroupRecordCons(n)(e)(t.SemigroupRecord0())(r.Semigroup0())},function(e){var i=l(t)(c.RLProxy.value),d=o.reflectSymbol(n)(o.SProxy.value);return u.unsafeSet(d)(S(r))(i)})}}}},x=function(e){return function(o){return function t(u){if(u<=0)return S(e);if(1===u)return o;if(0===r.mod(r.euclideanRingInt)(u)(2)){var c=t(r.div(r.euclideanRingInt)(u)(2));return i.append(e.Semigroup0())(c)(c)}if(n.otherwise)return c=t(r.div(r.euclideanRingInt)(u)(2)),i.append(e.Semigroup0())(c)(i.append(e.Semigroup0())(c)(o));throw new Error("Failed pattern match at Data.Monoid (line 65, column 3 - line 65, column 17): "+[u.constructor.name])}}},h=function(n){return function(r){return function(e){if(r)return e;if(!r)return S(n);throw new Error("Failed pattern match at Data.Monoid (line 73, column 1 - line 73, column 49): "+[r.constructor.name,e.constructor.name])}}};module.exports={Monoid:m,mempty:S,power:x,guard:h,MonoidRecord:d,memptyRecord:l,monoidUnit:a,monoidOrdering:s,monoidFn:w,monoidString:f,monoidArray:g,monoidRecord:R,monoidRecordNil:p,monoidRecordCons:y}; +},{"../Data.Boolean/index.js":"ObQr","../Data.EuclideanRing/index.js":"2IRB","../Data.Ordering/index.js":"5Eun","../Data.Semigroup/index.js":"EsAJ","../Data.Symbol/index.js":"4oJQ","../Data.Unit/index.js":"NhVk","../Record.Unsafe/index.js":"KG04","../Type.Data.RowList/index.js":"XaXP"}],"5mN7":[function(require,module,exports) { +"use strict";var n=require("../Control.Alt/index.js"),e=require("../Control.Alternative/index.js"),t=require("../Control.Applicative/index.js"),r=require("../Control.Apply/index.js"),u=require("../Control.Bind/index.js"),o=require("../Control.Category/index.js"),i=require("../Control.Extend/index.js"),a=require("../Control.Monad/index.js"),c=require("../Control.MonadZero/index.js"),f=require("../Control.Plus/index.js"),l=require("../Data.Bounded/index.js"),s=require("../Data.Eq/index.js"),d=require("../Data.Function/index.js"),m=require("../Data.Functor/index.js"),w=require("../Data.Functor.Invariant/index.js"),y=require("../Data.Monoid/index.js"),p=require("../Data.Ord/index.js"),v=require("../Data.Ordering/index.js"),M=require("../Data.Semigroup/index.js"),b=require("../Data.Show/index.js"),q=require("../Data.Unit/index.js"),x=function(){function n(){}return n.value=new n,n}(),h=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),j=function(n){return new b.Show(function(e){if(e instanceof h)return"(Just "+b.show(n)(e.value0)+")";if(e instanceof x)return"Nothing";throw new Error("Failed pattern match at Data.Maybe (line 205, column 1 - line 207, column 28): "+[e.constructor.name])})},D=function(n){return new M.Semigroup(function(e){return function(t){if(e instanceof x)return t;if(t instanceof x)return e;if(e instanceof h&&t instanceof h)return new h(M.append(n)(e.value0)(t.value0));throw new Error("Failed pattern match at Data.Maybe (line 174, column 1 - line 177, column 43): "+[e.constructor.name,t.constructor.name])}})},F=function(e){return function(r){return n.alt(e.Plus1().Alt0())(m.map(e.Plus1().Alt0().Functor0())(h.create)(r))(t.pure(e.Applicative0())(x.value))}},E=function(n){return new y.Monoid(function(){return D(n)},x.value)},A=function(n){return function(e){return function(t){if(t instanceof x)return n(q.unit);if(t instanceof h)return e(t.value0);throw new Error("Failed pattern match at Data.Maybe (line 230, column 1 - line 230, column 62): "+[n.constructor.name,e.constructor.name,t.constructor.name])}}},C=function(n){return function(e){return function(t){if(t instanceof x)return n;if(t instanceof h)return e(t.value0);throw new Error("Failed pattern match at Data.Maybe (line 217, column 1 - line 217, column 51): "+[n.constructor.name,e.constructor.name,t.constructor.name])}}},g=C(!0)(d.const(!1)),O=C(!1)(d.const(!0)),B=new m.Functor(function(n){return function(e){return e instanceof h?new h(n(e.value0)):x.value}}),J=new w.Invariant(w.imapF(B)),P=function(n){return A(n)(o.identity(o.categoryFn))},S=function(n){return C(n)(o.identity(o.categoryFn))},N=function(n){return function(n){if(n instanceof h)return n.value0;throw new Error("Failed pattern match at Data.Maybe (line 268, column 1 - line 268, column 46): "+[n.constructor.name])}},Z=new i.Extend(function(){return B},function(n){return function(e){return e instanceof x?x.value:new h(n(e))}}),I=function(n){return new s.Eq(function(e){return function(t){return e instanceof x&&t instanceof x||e instanceof h&&t instanceof h&&s.eq(n)(e.value0)(t.value0)}})},T=function(n){return new p.Ord(function(){return I(n.Eq0())},function(e){return function(t){if(e instanceof x&&t instanceof x)return v.EQ.value;if(e instanceof x)return v.LT.value;if(t instanceof x)return v.GT.value;if(e instanceof h&&t instanceof h)return p.compare(n)(e.value0)(t.value0);throw new Error("Failed pattern match at Data.Maybe (line 194, column 1 - line 194, column 51): "+[e.constructor.name,t.constructor.name])}})},G=new s.Eq1(function(n){return s.eq(I(n))}),L=new p.Ord1(function(){return G},function(n){return p.compare(T(n))}),Q=function(n){return new l.Bounded(function(){return T(n.Ord0())},x.value,new h(l.top(n)))},U=new r.Apply(function(){return B},function(n){return function(e){if(n instanceof h)return m.map(B)(n.value0)(e);if(n instanceof x)return x.value;throw new Error("Failed pattern match at Data.Maybe (line 67, column 1 - line 69, column 30): "+[n.constructor.name,e.constructor.name])}}),k=new u.Bind(function(){return U},function(n){return function(e){if(n instanceof h)return e(n.value0);if(n instanceof x)return x.value;throw new Error("Failed pattern match at Data.Maybe (line 125, column 1 - line 127, column 28): "+[n.constructor.name,e.constructor.name])}}),z=new t.Applicative(function(){return U},h.create),H=new a.Monad(function(){return z},function(){return k}),K=new n.Alt(function(){return B},function(n){return function(e){return n instanceof x?e:n}}),R=new f.Plus(function(){return K},x.value),V=new e.Alternative(function(){return z},function(){return R}),W=new c.MonadZero(function(){return V},function(){return H});module.exports={Nothing:x,Just:h,maybe:C,"maybe'":A,fromMaybe:S,"fromMaybe'":P,isJust:O,isNothing:g,fromJust:N,optional:F,functorMaybe:B,applyMaybe:U,applicativeMaybe:z,altMaybe:K,plusMaybe:R,alternativeMaybe:V,bindMaybe:k,monadMaybe:H,monadZeroMaybe:W,extendMaybe:Z,invariantMaybe:J,semigroupMaybe:D,monoidMaybe:E,eqMaybe:I,eq1Maybe:G,ordMaybe:T,ord1Maybe:L,boundedMaybe:Q,showMaybe:j}; +},{"../Control.Alt/index.js":"lN+m","../Control.Alternative/index.js":"aHia","../Control.Applicative/index.js":"qYya","../Control.Apply/index.js":"QcLv","../Control.Bind/index.js":"7VcT","../Control.Category/index.js":"IAi2","../Control.Extend/index.js":"JIoJ","../Control.Monad/index.js":"U/Ix","../Control.MonadZero/index.js":"lD5R","../Control.Plus/index.js":"oMBg","../Data.Bounded/index.js":"kcUU","../Data.Eq/index.js":"Pq4F","../Data.Function/index.js":"ImXJ","../Data.Functor/index.js":"+0AE","../Data.Functor.Invariant/index.js":"AXkC","../Data.Monoid/index.js":"TiEB","../Data.Ord/index.js":"r4Vb","../Data.Ordering/index.js":"5Eun","../Data.Semigroup/index.js":"EsAJ","../Data.Show/index.js":"mFY7","../Data.Unit/index.js":"NhVk"}],"U/G5":[function(require,module,exports) { +"use strict";var n=require("../Control.Applicative/index.js"),r=require("../Control.Apply/index.js"),e=require("../Control.Bind/index.js"),t=require("../Control.Monad/index.js"),o=require("../Data.Eq/index.js"),u=require("../Data.Functor/index.js"),i=require("../Data.HeytingAlgebra/index.js"),c=require("../Data.Monoid/index.js"),f=require("../Data.Ord/index.js"),j=require("../Data.Semigroup/index.js"),d=require("../Data.Semiring/index.js"),a=require("../Data.Show/index.js"),s=function(n){return n},C=function(n){return new a.Show(function(r){return"(Conj "+a.show(n)(r)+")"})},p=function(n){return new d.Semiring(function(r){return function(e){return i.conj(n)(r)(e)}},function(r){return function(e){return i.disj(n)(r)(e)}},i.ff(n),i.tt(n))},q=function(n){return new j.Semigroup(function(r){return function(e){return i.conj(n)(r)(e)}})},w=function(n){return n},x=function(n){return new c.Monoid(function(){return q(n)},i.tt(n))},l=new u.Functor(function(n){return function(r){return n(r)}}),m=function(n){return n},g=new o.Eq1(function(n){return o.eq(m(n))}),D=new f.Ord1(function(){return g},function(n){return f.compare(w(n))}),S=function(n){return n},A=new r.Apply(function(){return l},function(n){return function(r){return n(r)}}),h=new e.Bind(function(){return A},function(n){return function(r){return r(n)}}),v=new n.Applicative(function(){return A},s),y=new t.Monad(function(){return v},function(){return h});module.exports={Conj:s,eqConj:m,eq1Conj:g,ordConj:w,ord1Conj:D,boundedConj:S,showConj:C,functorConj:l,applyConj:A,applicativeConj:v,bindConj:h,monadConj:y,semigroupConj:q,monoidConj:x,semiringConj:p}; +},{"../Control.Applicative/index.js":"qYya","../Control.Apply/index.js":"QcLv","../Control.Bind/index.js":"7VcT","../Control.Monad/index.js":"U/Ix","../Data.Eq/index.js":"Pq4F","../Data.Functor/index.js":"+0AE","../Data.HeytingAlgebra/index.js":"paZe","../Data.Monoid/index.js":"TiEB","../Data.Ord/index.js":"r4Vb","../Data.Semigroup/index.js":"EsAJ","../Data.Semiring/index.js":"11NF","../Data.Show/index.js":"mFY7"}],"9bR7":[function(require,module,exports) { +"use strict";var n=require("../Control.Applicative/index.js"),r=require("../Control.Apply/index.js"),e=require("../Control.Bind/index.js"),i=require("../Control.Monad/index.js"),t=require("../Data.Eq/index.js"),u=require("../Data.Functor/index.js"),o=require("../Data.HeytingAlgebra/index.js"),c=require("../Data.Monoid/index.js"),s=require("../Data.Ord/index.js"),f=require("../Data.Semigroup/index.js"),j=require("../Data.Semiring/index.js"),d=require("../Data.Show/index.js"),a=function(n){return n},D=function(n){return new d.Show(function(r){return"(Disj "+d.show(n)(r)+")"})},p=function(n){return new j.Semiring(function(r){return function(e){return o.disj(n)(r)(e)}},function(r){return function(e){return o.conj(n)(r)(e)}},o.tt(n),o.ff(n))},q=function(n){return new f.Semigroup(function(r){return function(e){return o.disj(n)(r)(e)}})},w=function(n){return n},x=function(n){return new c.Monoid(function(){return q(n)},o.ff(n))},l=new u.Functor(function(n){return function(r){return n(r)}}),m=function(n){return n},g=new t.Eq1(function(n){return t.eq(m(n))}),S=new s.Ord1(function(){return g},function(n){return s.compare(w(n))}),A=function(n){return n},h=new r.Apply(function(){return l},function(n){return function(r){return n(r)}}),v=new e.Bind(function(){return h},function(n){return function(r){return r(n)}}),y=new n.Applicative(function(){return h},a),C=new i.Monad(function(){return y},function(){return v});module.exports={Disj:a,eqDisj:m,eq1Disj:g,ordDisj:w,ord1Disj:S,boundedDisj:A,showDisj:D,functorDisj:l,applyDisj:h,applicativeDisj:y,bindDisj:v,monadDisj:C,semigroupDisj:q,monoidDisj:x,semiringDisj:p}; +},{"../Control.Applicative/index.js":"qYya","../Control.Apply/index.js":"QcLv","../Control.Bind/index.js":"7VcT","../Control.Monad/index.js":"U/Ix","../Data.Eq/index.js":"Pq4F","../Data.Functor/index.js":"+0AE","../Data.HeytingAlgebra/index.js":"paZe","../Data.Monoid/index.js":"TiEB","../Data.Ord/index.js":"r4Vb","../Data.Semigroup/index.js":"EsAJ","../Data.Semiring/index.js":"11NF","../Data.Show/index.js":"mFY7"}],"ULyl":[function(require,module,exports) { +"use strict";var n=require("../Control.Applicative/index.js"),r=require("../Control.Apply/index.js"),u=require("../Control.Bind/index.js"),e=require("../Control.Monad/index.js"),t=require("../Data.Eq/index.js"),i=require("../Data.Functor/index.js"),o=require("../Data.Monoid/index.js"),a=require("../Data.Ord/index.js"),c=require("../Data.Semigroup/index.js"),d=require("../Data.Show/index.js"),f=function(n){return n},l=function(n){return new d.Show(function(r){return"(Dual "+d.show(n)(r)+")"})},p=function(n){return new c.Semigroup(function(r){return function(u){return c.append(n)(u)(r)}})},D=function(n){return n},s=function(n){return new o.Monoid(function(){return p(n.Semigroup0())},o.mempty(n))},q=new i.Functor(function(n){return function(r){return n(r)}}),w=function(n){return n},x=new t.Eq1(function(n){return t.eq(w(n))}),j=new a.Ord1(function(){return x},function(n){return a.compare(D(n))}),m=function(n){return n},S=new r.Apply(function(){return q},function(n){return function(r){return n(r)}}),g=new u.Bind(function(){return S},function(n){return function(r){return r(n)}}),h=new n.Applicative(function(){return S},f),v=new e.Monad(function(){return h},function(){return g});module.exports={Dual:f,eqDual:w,eq1Dual:x,ordDual:D,ord1Dual:j,boundedDual:m,showDual:l,functorDual:q,applyDual:S,applicativeDual:h,bindDual:g,monadDual:v,semigroupDual:p,monoidDual:s}; +},{"../Control.Applicative/index.js":"qYya","../Control.Apply/index.js":"QcLv","../Control.Bind/index.js":"7VcT","../Control.Monad/index.js":"U/Ix","../Data.Eq/index.js":"Pq4F","../Data.Functor/index.js":"+0AE","../Data.Monoid/index.js":"TiEB","../Data.Ord/index.js":"r4Vb","../Data.Semigroup/index.js":"EsAJ","../Data.Show/index.js":"mFY7"}],"2o47":[function(require,module,exports) { +"use strict";var n=require("../Control.Category/index.js"),o=require("../Control.Semigroupoid/index.js"),r=require("../Data.Monoid/index.js"),e=require("../Data.Semigroup/index.js"),u=require("../Data.Show/index.js"),i=function(n){return n},t=function(n){return new u.Show(function(o){return"(Endo "+u.show(n)(o)+")"})},d=function(n){return new e.Semigroup(function(r){return function(e){return o.compose(n)(r)(e)}})},c=function(n){return n},s=function(o){return new r.Monoid(function(){return d(o.Semigroupoid0())},n.identity(o))},f=function(n){return n},a=function(n){return n};module.exports={Endo:i,eqEndo:f,ordEndo:c,boundedEndo:a,showEndo:t,semigroupEndo:d,monoidEndo:s}; +},{"../Control.Category/index.js":"IAi2","../Control.Semigroupoid/index.js":"/riR","../Data.Monoid/index.js":"TiEB","../Data.Semigroup/index.js":"EsAJ","../Data.Show/index.js":"mFY7"}],"fHyj":[function(require,module,exports) { +"use strict";var n=require("../Control.Applicative/index.js"),e=require("../Control.Apply/index.js"),i=require("../Control.Bind/index.js"),r=require("../Control.Monad/index.js"),t=require("../Data.Eq/index.js"),u=require("../Data.Functor/index.js"),d=require("../Data.Monoid/index.js"),o=require("../Data.Ord/index.js"),c=require("../Data.Semigroup/index.js"),f=require("../Data.Semiring/index.js"),a=require("../Data.Show/index.js"),v=function(n){return n},A=function(n){return new a.Show(function(e){return"(Additive "+a.show(n)(e)+")"})},p=function(n){return new c.Semigroup(function(e){return function(i){return f.add(n)(e)(i)}})},s=function(n){return n},q=function(n){return new d.Monoid(function(){return p(n)},f.zero(n))},w=new u.Functor(function(n){return function(e){return n(e)}}),x=function(n){return n},j=new t.Eq1(function(n){return t.eq(x(n))}),l=new o.Ord1(function(){return j},function(n){return o.compare(s(n))}),m=function(n){return n},D=new e.Apply(function(){return w},function(n){return function(e){return n(e)}}),S=new i.Bind(function(){return D},function(n){return function(e){return e(n)}}),g=new n.Applicative(function(){return D},v),h=new r.Monad(function(){return g},function(){return S});module.exports={Additive:v,eqAdditive:x,eq1Additive:j,ordAdditive:s,ord1Additive:l,boundedAdditive:m,showAdditive:A,functorAdditive:w,applyAdditive:D,applicativeAdditive:g,bindAdditive:S,monadAdditive:h,semigroupAdditive:p,monoidAdditive:q}; +},{"../Control.Applicative/index.js":"qYya","../Control.Apply/index.js":"QcLv","../Control.Bind/index.js":"7VcT","../Control.Monad/index.js":"U/Ix","../Data.Eq/index.js":"Pq4F","../Data.Functor/index.js":"+0AE","../Data.Monoid/index.js":"TiEB","../Data.Ord/index.js":"r4Vb","../Data.Semigroup/index.js":"EsAJ","../Data.Semiring/index.js":"11NF","../Data.Show/index.js":"mFY7"}],"y5cd":[function(require,module,exports) { +"use strict";var n=require("../Control.Applicative/index.js"),i=require("../Control.Apply/index.js"),t=require("../Control.Bind/index.js"),e=require("../Control.Monad/index.js"),r=require("../Data.Eq/index.js"),u=require("../Data.Functor/index.js"),o=require("../Data.Monoid/index.js"),c=require("../Data.Ord/index.js"),l=require("../Data.Semigroup/index.js"),a=require("../Data.Semiring/index.js"),p=require("../Data.Show/index.js"),d=function(n){return n},f=function(n){return new p.Show(function(i){return"(Multiplicative "+p.show(n)(i)+")"})},v=function(n){return new l.Semigroup(function(i){return function(t){return a.mul(n)(i)(t)}})},M=function(n){return n},s=function(n){return new o.Monoid(function(){return v(n)},a.one(n))},q=new u.Functor(function(n){return function(i){return n(i)}}),w=function(n){return n},x=new r.Eq1(function(n){return r.eq(w(n))}),j=new c.Ord1(function(){return x},function(n){return c.compare(M(n))}),m=function(n){return n},D=new i.Apply(function(){return q},function(n){return function(i){return n(i)}}),S=new t.Bind(function(){return D},function(n){return function(i){return i(n)}}),g=new n.Applicative(function(){return D},d),h=new e.Monad(function(){return g},function(){return S});module.exports={Multiplicative:d,eqMultiplicative:w,eq1Multiplicative:x,ordMultiplicative:M,ord1Multiplicative:j,boundedMultiplicative:m,showMultiplicative:f,functorMultiplicative:q,applyMultiplicative:D,applicativeMultiplicative:g,bindMultiplicative:S,monadMultiplicative:h,semigroupMultiplicative:v,monoidMultiplicative:s}; +},{"../Control.Applicative/index.js":"qYya","../Control.Apply/index.js":"QcLv","../Control.Bind/index.js":"7VcT","../Control.Monad/index.js":"U/Ix","../Data.Eq/index.js":"Pq4F","../Data.Functor/index.js":"+0AE","../Data.Monoid/index.js":"TiEB","../Data.Ord/index.js":"r4Vb","../Data.Semigroup/index.js":"EsAJ","../Data.Semiring/index.js":"11NF","../Data.Show/index.js":"mFY7"}],"aRYH":[function(require,module,exports) { +"use strict";var n=require("../Control.Applicative/index.js"),r=require("../Control.Apply/index.js"),t=require("../Control.Bind/index.js"),e=require("../Control.Monad/index.js"),i=require("../Data.Eq/index.js"),u=require("../Data.Functor/index.js"),o=require("../Data.Ord/index.js"),c=require("../Data.Semigroup/index.js"),s=require("../Data.Show/index.js"),f=function(n){return n},d=function(n){return new s.Show(function(r){return"(First "+s.show(n)(r)+")"})},a=new c.Semigroup(function(n){return function(r){return n}}),p=function(n){return n},F=new u.Functor(function(n){return function(r){return n(r)}}),q=function(n){return n},w=new i.Eq1(function(n){return i.eq(q(n))}),l=new o.Ord1(function(){return w},function(n){return o.compare(p(n))}),x=function(n){return n},j=new r.Apply(function(){return F},function(n){return function(r){return n(r)}}),m=new t.Bind(function(){return j},function(n){return function(r){return r(n)}}),D=new n.Applicative(function(){return j},f),h=new e.Monad(function(){return D},function(){return m});module.exports={First:f,eqFirst:q,eq1First:w,ordFirst:p,ord1First:l,boundedFirst:x,showFirst:d,functorFirst:F,applyFirst:j,applicativeFirst:D,bindFirst:m,monadFirst:h,semigroupFirst:a}; +},{"../Control.Applicative/index.js":"qYya","../Control.Apply/index.js":"QcLv","../Control.Bind/index.js":"7VcT","../Control.Monad/index.js":"U/Ix","../Data.Eq/index.js":"Pq4F","../Data.Functor/index.js":"+0AE","../Data.Ord/index.js":"r4Vb","../Data.Semigroup/index.js":"EsAJ","../Data.Show/index.js":"mFY7"}],"mI/Z":[function(require,module,exports) { +"use strict";var n=require("../Control.Applicative/index.js"),r=require("../Control.Apply/index.js"),t=require("../Control.Bind/index.js"),e=require("../Control.Monad/index.js"),u=require("../Data.Eq/index.js"),i=require("../Data.Functor/index.js"),o=require("../Data.Ord/index.js"),a=require("../Data.Semigroup/index.js"),c=require("../Data.Show/index.js"),s=function(n){return n},f=function(n){return new c.Show(function(r){return"(Last "+c.show(n)(r)+")"})},d=new a.Semigroup(function(n){return function(n){return n}}),p=function(n){return n},q=new i.Functor(function(n){return function(r){return n(r)}}),L=function(n){return n},w=new u.Eq1(function(n){return u.eq(L(n))}),l=new o.Ord1(function(){return w},function(n){return o.compare(p(n))}),x=function(n){return n},j=new r.Apply(function(){return q},function(n){return function(r){return n(r)}}),m=new t.Bind(function(){return j},function(n){return function(r){return r(n)}}),D=new n.Applicative(function(){return j},s),h=new e.Monad(function(){return D},function(){return m});module.exports={Last:s,eqLast:L,eq1Last:w,ordLast:p,ord1Last:l,boundedLast:x,showLast:f,functorLast:q,applyLast:j,applicativeLast:D,bindLast:m,monadLast:h,semigroupLast:d}; +},{"../Control.Applicative/index.js":"qYya","../Control.Apply/index.js":"QcLv","../Control.Bind/index.js":"7VcT","../Control.Monad/index.js":"U/Ix","../Data.Eq/index.js":"Pq4F","../Data.Functor/index.js":"+0AE","../Data.Ord/index.js":"r4Vb","../Data.Semigroup/index.js":"EsAJ","../Data.Show/index.js":"mFY7"}],"lz8k":[function(require,module,exports) { +"use strict";var n=require("../Control.Semigroupoid/index.js"),r=require("../Data.Function/index.js"),t=require("../Data.Functor/index.js"),u=require("../Data.Monoid.Additive/index.js"),e=require("../Data.Monoid.Conj/index.js"),i=require("../Data.Monoid.Disj/index.js"),o=require("../Data.Monoid.Dual/index.js"),c=require("../Data.Monoid.Endo/index.js"),f=require("../Data.Monoid.Multiplicative/index.js"),a=require("../Data.Semigroup.First/index.js"),p=require("../Data.Semigroup.Last/index.js"),d=function(n,r){this.unwrap=n,this.wrap=r},s=function(n){return n.wrap},m=function(n){return n.unwrap},v=function(u){return function(e){return function(i){return function(o){return function(c){return function(c){var f=n.compose(n.semigroupoidFn)(t.map(e)(m(o))),a=r.on(c)(t.map(u)(s(i)));return function(n){return f(a(n))}}}}}}},w=function(n){return function(r){return function(u){return function(e){return function(i){return function(i){var o=t.map(r)(m(e)),c=t.map(n)(s(u));return function(n){return o(i(c(n)))}}}}}}},j=function(t){return function(u){return function(e){return function(e){var i=n.compose(n.semigroupoidFn)(m(u)),o=r.on(e)(s(t));return function(n){return i(o(n))}}}}},D=function(n){return function(r){return function(t){return function(t){var u=m(r),e=s(n);return function(n){return u(t(e(n)))}}}}},l=function(n){return function(r){return m(n)}},F=function(n){return function(r){return function(u){return function(u){var e=t.map(n)(s(r)),i=m(r);return function(n){return e(u(i(n)))}}}}},x=function(u){return function(e){return function(i){return function(o){return function(c){return function(c){var f=n.compose(n.semigroupoidFn)(t.map(e)(s(o))),a=r.on(c)(t.map(u)(m(i)));return function(n){return f(a(n))}}}}}}},q=function(n){return function(r){return function(u){return function(e){return function(i){return function(i){var o=t.map(r)(s(e)),c=t.map(n)(m(u));return function(n){return o(i(c(n)))}}}}}}},y=function(t){return function(u){return function(e){return function(e){var i=n.compose(n.semigroupoidFn)(s(u)),o=r.on(e)(m(t));return function(n){return i(o(n))}}}}},M=function(n){return function(r){return function(t){return function(t){var u=s(r),e=m(n);return function(n){return u(t(e(n)))}}}}},g=function(n){return l(n)},C=new d(function(n){return n},f.Multiplicative),A=new d(function(n){return n},p.Last),E=new d(function(n){return n},a.First),L=new d(function(n){return n},c.Endo),S=new d(function(n){return n},o.Dual),h=new d(function(n){return n},i.Disj),N=new d(function(n){return n},e.Conj),b=new d(function(n){return n},u.Additive),k=function(n){return function(r){return function(u){return function(u){var e=s(r),i=t.map(n)(m(r));return function(n){return e(u(i(n)))}}}}},z=function(n){return function(r){return function(u){return function(e){return function(i){return function(i){var o=t.map(r)(m(e)),c=t.map(n)(s(u));return function(n){return o(i(c(n)))}}}}}}},B=function(n){return function(r){return function(u){return function(e){return function(e){return t.map(n)(m(r))(e(s(u)))}}}}};module.exports={unwrap:m,wrap:s,Newtype:d,un:l,op:g,ala:B,alaF:z,over:M,overF:q,under:D,underF:w,over2:y,overF2:x,under2:j,underF2:v,traverse:F,collect:k,newtypeAdditive:b,newtypeMultiplicative:C,newtypeConj:N,newtypeDisj:h,newtypeDual:S,newtypeEndo:L,newtypeFirst:E,newtypeLast:A}; +},{"../Control.Semigroupoid/index.js":"/riR","../Data.Function/index.js":"ImXJ","../Data.Functor/index.js":"+0AE","../Data.Monoid.Additive/index.js":"fHyj","../Data.Monoid.Conj/index.js":"U/G5","../Data.Monoid.Disj/index.js":"9bR7","../Data.Monoid.Dual/index.js":"ULyl","../Data.Monoid.Endo/index.js":"2o47","../Data.Monoid.Multiplicative/index.js":"y5cd","../Data.Semigroup.First/index.js":"aRYH","../Data.Semigroup.Last/index.js":"mI/Z"}],"eVDl":[function(require,module,exports) { +"use strict";var n=require("./foreign.js"),t=require("../Control.Alt/index.js"),r=require("../Control.Applicative/index.js"),u=require("../Control.Apply/index.js"),e=require("../Control.Bind/index.js"),o=require("../Control.Category/index.js"),i=require("../Control.Plus/index.js"),c=require("../Data.Eq/index.js"),f=require("../Data.Function/index.js"),a=require("../Data.Functor/index.js"),l=require("../Data.HeytingAlgebra/index.js"),d=require("../Data.Maybe/index.js"),s=require("../Data.Monoid/index.js"),p=require("../Data.Monoid.Conj/index.js"),m=require("../Data.Monoid.Disj/index.js"),y=require("../Data.Monoid.Dual/index.js"),g=require("../Data.Monoid.Endo/index.js"),w=require("../Data.Newtype/index.js"),D=require("../Data.Ord/index.js"),j=require("../Data.Ordering/index.js"),q=require("../Data.Semigroup/index.js"),h=require("../Data.Semiring/index.js"),v=require("../Data.Unit/index.js"),F=function(n,t,r){this.foldMap=n,this.foldl=t,this.foldr=r},x=function(n){return n.foldr},b=function(n){return function(t){var r=x(n)(function(n){return function(r){return r.elem instanceof d.Just?r:r.pos===t?{elem:new d.Just(n),pos:r.pos}:{pos:r.pos+1|0,elem:r.elem}}})({elem:d.Nothing.value,pos:0});return function(n){return r(n).elem}}},M=function(n){return x(n)(function(n){return function(n){return!1}})(!0)},E=function(n){return function(r){return x(n)(t.alt(r.Alt0()))(i.empty(r))}},A=function(n){return function(r){return function(u){return x(n)((e=t.alt(r.Alt0()),function(n){return e(u(n))}))(i.empty(r));var e}}},J=function(n){return function(t){return function(e){return x(t)((o=u.applySecond(n.Apply0()),function(n){return o(e(n))}))(r.pure(n)(v.unit));var o}}},N=function(n){return function(t){return f.flip(J(n)(t))}},C=function(n){return function(t){return J(n)(t)(o.identity(o.categoryFn))}},S=function(n){return n.foldl},B=function(n){return function(t){var r=S(n)(function(n){return function(r){return n.elem instanceof d.Just?n:n.pos===t?{elem:new d.Just(r),pos:n.pos}:{pos:n.pos+1|0,elem:n.elem}}})({elem:d.Nothing.value,pos:0});return function(n){return r(n).elem}}},O=function(n){return function(t){return function(r){return function(u){return S(n)(function(n){return function(u){return n.init?{init:!1,acc:u}:{init:!1,acc:q.append(t.Semigroup0())(n.acc)(q.append(t.Semigroup0())(r)(u))}}})({init:!0,acc:s.mempty(t)})(u).acc}}}},L=function(n){return function(t){return S(n)(function(n){return function(r){return h.add(t)(h.one(t))(n)}})(h.zero(t))}},_=function(n){return function(t){return S(n)(function(n){return function(r){if(n instanceof d.Nothing)return new d.Just(r);if(n instanceof d.Just)return new d.Just(c.eq(j.eqOrdering)(t(n.value0)(r))(j.GT.value)?n.value0:r);throw new Error("Failed pattern match at Data.Foldable (line 389, column 3 - line 389, column 27): "+[n.constructor.name,r.constructor.name])}})(d.Nothing.value)}},z=function(n){return function(t){return _(t)(D.compare(n))}},T=function(n){return function(t){return S(n)(function(n){return function(r){if(n instanceof d.Nothing)return new d.Just(r);if(n instanceof d.Just)return new d.Just(c.eq(j.eqOrdering)(t(n.value0)(r))(j.LT.value)?n.value0:r);throw new Error("Failed pattern match at Data.Foldable (line 402, column 3 - line 402, column 27): "+[n.constructor.name,r.constructor.name])}})(d.Nothing.value)}},G=function(n){return function(t){return T(t)(D.compare(n))}},H=function(n){return function(t){return S(n)(h.mul(t))(h.one(t))}},P=function(n){return function(t){return S(n)(h.add(t))(h.zero(t))}},R=new F(function(n){return function(n){return function(t){return n(t)}}},function(n){return function(t){return function(r){return n(t)(r)}}},function(n){return function(t){return function(r){return n(r)(t)}}}),U=new F(function(n){return function(t){return function(r){if(r instanceof d.Nothing)return s.mempty(n);if(r instanceof d.Just)return t(r.value0);throw new Error("Failed pattern match at Data.Foldable (line 129, column 1 - line 135, column 27): "+[t.constructor.name,r.constructor.name])}}},function(n){return function(t){return function(r){if(r instanceof d.Nothing)return t;if(r instanceof d.Just)return n(t)(r.value0);throw new Error("Failed pattern match at Data.Foldable (line 129, column 1 - line 135, column 27): "+[n.constructor.name,t.constructor.name,r.constructor.name])}}},function(n){return function(t){return function(r){if(r instanceof d.Nothing)return t;if(r instanceof d.Just)return n(r.value0)(t);throw new Error("Failed pattern match at Data.Foldable (line 129, column 1 - line 135, column 27): "+[n.constructor.name,t.constructor.name,r.constructor.name])}}}),k=new F(function(n){return function(n){return function(t){return n(t)}}},function(n){return function(t){return function(r){return n(t)(r)}}},function(n){return function(t){return function(r){return n(r)(t)}}}),I=new F(function(n){return function(n){return function(t){return n(t)}}},function(n){return function(t){return function(r){return n(t)(r)}}},function(n){return function(t){return function(r){return n(r)(t)}}}),K=new F(function(n){return function(n){return function(t){return n(t)}}},function(n){return function(t){return function(r){return n(t)(r)}}},function(n){return function(t){return function(r){return n(r)(t)}}}),Q=new F(function(n){return function(n){return function(t){return n(t)}}},function(n){return function(t){return function(r){return n(t)(r)}}},function(n){return function(t){return function(r){return n(r)(t)}}}),V=function(n){return function(t){return function(r){return x(n)(function(n){return function(u){return q.append(t.Semigroup0())(r(n))(u)}})(s.mempty(t))}}},W=new F(function(n){return V(W)(n)},n.foldlArray,n.foldrArray),X=function(n){return function(t){return function(r){return S(n)(function(n){return function(u){return q.append(t.Semigroup0())(n)(r(u))}})(s.mempty(t))}}},Y=function(n){return n.foldMap},Z=new F(function(n){return function(t){return function(r){return Y(U)(n)(t)(r)}}},function(n){return function(t){return function(r){return S(U)(n)(t)(r)}}},function(n){return function(t){return function(r){return x(U)(n)(t)(r)}}}),$=new F(function(n){return function(t){return function(r){return Y(U)(n)(t)(r)}}},function(n){return function(t){return function(r){return S(U)(n)(t)(r)}}},function(n){return function(t){return function(r){return x(U)(n)(t)(r)}}}),nn=function(n){return function(t){return function(r){return function(u){return w.unwrap(w.newtypeEndo)(w.unwrap(w.newtypeDual)(Y(n)(y.monoidDual(g.monoidEndo(o.categoryFn)))((e=f.flip(t),function(n){return y.Dual(g.Endo(e(n)))}))(u)))(r);var e}}}},tn=function(n){return function(t){return function(r){return function(u){return w.unwrap(w.newtypeEndo)(Y(n)(g.monoidEndo(o.categoryFn))(function(n){return g.Endo(t(n))})(u))(r)}}}},rn=function(n){return function(t){return function(r){return function(u){return function(e){return w.unwrap(w.newtypeEndo)(Y(n)(g.monoidEndo(o.categoryFn))(function(n){return function(e){return q.append(t)(r)(q.append(t)(u(n))(e))}})(e))(r)}}}}},un=function(n){return function(t){return function(r){return rn(n)(t)(r)(o.identity(o.categoryFn))}}},en=function(n){return function(t){return function(u){return function(o){return S(n)(function(n){return function(r){return e.bind(t.Bind1())(n)(f.flip(u)(r))}})(r.pure(t.Applicative0())(o))}}}},on=function(n){return function(t){return Y(n)(t)(o.identity(o.categoryFn))}},cn=function(n){return function(t){return S(n)(function(n){return function(r){return n instanceof d.Nothing?t(r):n}})(d.Nothing.value)}},fn=function(n){return function(t){return S(n)(function(n){return function(r){return n instanceof d.Nothing&&t(r)?new d.Just(r):n}})(d.Nothing.value)}},an=function(n){return function(t){return w.alaF(a.functorFn)(a.functorFn)(w.newtypeDisj)(w.newtypeDisj)(m.Disj)(Y(n)(m.monoidDisj(t)))}},ln=function(n){return function(t){var r=an(n)(l.heytingAlgebraBoolean),u=c.eq(t);return function(n){return r(u(n))}}},dn=function(n){return function(t){return function(r){var u=l.not(l.heytingAlgebraBoolean),e=ln(n)(t)(r);return function(n){return u(e(n))}}}},sn=function(n){return function(t){return an(n)(t)(o.identity(o.categoryFn))}},pn=function(n){return function(t){return w.alaF(a.functorFn)(a.functorFn)(w.newtypeConj)(w.newtypeConj)(p.Conj)(Y(n)(p.monoidConj(t)))}},mn=function(n){return function(t){return pn(n)(t)(o.identity(o.categoryFn))}};module.exports={Foldable:F,foldr:x,foldl:S,foldMap:Y,foldrDefault:tn,foldlDefault:nn,foldMapDefaultL:X,foldMapDefaultR:V,fold:on,foldM:en,traverse_:J,for_:N,sequence_:C,oneOf:E,oneOfMap:A,intercalate:O,surroundMap:rn,surround:un,and:mn,or:sn,all:pn,any:an,sum:P,product:H,elem:ln,notElem:dn,indexl:B,indexr:b,find:fn,findMap:cn,maximum:z,maximumBy:_,minimum:G,minimumBy:T,null:M,length:L,foldableArray:W,foldableMaybe:U,foldableFirst:Z,foldableLast:$,foldableAdditive:Q,foldableDual:k,foldableDisj:I,foldableConj:K,foldableMultiplicative:R}; +},{"./foreign.js":"kY6E","../Control.Alt/index.js":"lN+m","../Control.Applicative/index.js":"qYya","../Control.Apply/index.js":"QcLv","../Control.Bind/index.js":"7VcT","../Control.Category/index.js":"IAi2","../Control.Plus/index.js":"oMBg","../Data.Eq/index.js":"Pq4F","../Data.Function/index.js":"ImXJ","../Data.Functor/index.js":"+0AE","../Data.HeytingAlgebra/index.js":"paZe","../Data.Maybe/index.js":"5mN7","../Data.Monoid/index.js":"TiEB","../Data.Monoid.Conj/index.js":"U/G5","../Data.Monoid.Disj/index.js":"9bR7","../Data.Monoid.Dual/index.js":"ULyl","../Data.Monoid.Endo/index.js":"2o47","../Data.Newtype/index.js":"lz8k","../Data.Ord/index.js":"r4Vb","../Data.Ordering/index.js":"5Eun","../Data.Semigroup/index.js":"EsAJ","../Data.Semiring/index.js":"11NF","../Data.Unit/index.js":"NhVk"}],"wjQo":[function(require,module,exports) { +"use strict";var n=require("../Control.Applicative/index.js"),r=require("../Control.Apply/index.js"),t=require("../Control.Category/index.js"),u=require("../Data.Foldable/index.js"),e=require("../Data.Function/index.js"),i=require("../Data.Monoid/index.js"),o=require("../Data.Monoid.Conj/index.js"),f=require("../Data.Monoid.Disj/index.js"),c=require("../Data.Monoid.Dual/index.js"),a=require("../Data.Monoid.Endo/index.js"),d=require("../Data.Newtype/index.js"),l=require("../Data.Semigroup/index.js"),p=require("../Data.Unit/index.js"),b=function(n,r,t){this.bifoldMap=n,this.bifoldl=r,this.bifoldr=t},y=function(n){return n.bifoldr},s=function(t){return function(u){return function(e){return function(i){return y(t)((f=r.applySecond(u.Apply0()),function(n){return f(e(n))}))((o=r.applySecond(u.Apply0()),function(n){return o(i(n))}))(n.pure(u)(p.unit));var o,f}}}},D=function(n){return function(r){return function(t){return function(u){return function(e){return s(n)(r)(u)(e)(t)}}}}},j=function(n){return function(r){return s(n)(r)(t.identity(t.categoryFn))(t.identity(t.categoryFn))}},g=function(n){return n.bifoldl},w=function(n){return new b(function(r){return function(t){return function(t){return function(e){return u.foldMap(n)(r)(t)(e)}}}},function(r){return function(r){return function(t){return function(e){return u.foldl(n)(r)(t)(e)}}}},function(r){return function(r){return function(t){return function(e){return u.foldr(n)(r)(t)(e)}}}})},m=function(n){return new b(function(r){return function(t){return function(e){return function(e){return u.foldMap(n)(r)(t)(e)}}}},function(r){return function(t){return function(t){return function(e){return u.foldl(n)(r)(t)(e)}}}},function(r){return function(t){return function(t){return function(e){return u.foldr(n)(r)(t)(e)}}}})},q=function(n){return function(r){return function(t){return function(u){return y(n)((o=l.append(r.Semigroup0()),function(n){return o(t(n))}))((e=l.append(r.Semigroup0()),function(n){return e(u(n))}))(i.mempty(r));var e,o}}}},x=function(n){return function(r){return function(t){return function(u){return g(n)(function(n){return function(u){return l.append(r.Semigroup0())(n)(t(u))}})(function(n){return function(t){return l.append(r.Semigroup0())(n)(u(t))}})(i.mempty(r))}}}},M=function(n){return n.bifoldMap},v=function(n){return new b(function(r){return function(t){return function(u){return function(e){return M(n)(r)(u)(t)(e)}}}},function(r){return function(t){return function(u){return function(e){return g(n)(t)(r)(u)(e)}}}},function(r){return function(t){return function(u){return function(e){return y(n)(t)(r)(u)(e)}}}})},C=function(n){return new b(function(r){return function(t){return function(u){return function(e){return M(n)(r)(t)(u)(e)}}}},function(r){return function(t){return function(u){return function(e){return g(n)(r)(t)(u)(e)}}}},function(r){return function(t){return function(u){return function(e){return y(n)(r)(t)(u)(e)}}}})},E=function(n){return function(r){return function(u){return function(i){return function(o){return d.unwrap(d.newtypeEndo)(d.unwrap(d.newtypeDual)(M(n)(c.monoidDual(a.monoidEndo(t.categoryFn)))((l=e.flip(r),function(n){return c.Dual(a.Endo(l(n)))}))((f=e.flip(u),function(n){return c.Dual(a.Endo(f(n)))}))(o)))(i);var f,l}}}}},F=function(n){return function(r){return function(u){return function(e){return function(i){return d.unwrap(d.newtypeEndo)(M(n)(a.monoidEndo(t.categoryFn))(function(n){return a.Endo(r(n))})(function(n){return a.Endo(u(n))})(i))(e)}}}}},S=function n(r){return function(t){return new b(function(n){return function(u){return function(e){return function(i){return l.append(n.Semigroup0())(M(r)(n)(u)(e)(i.value0))(M(t)(n)(u)(e)(i.value1))}}}},function(u){return function(e){return function(i){return function(o){return E(n(r)(t))(u)(e)(i)(o)}}}},function(u){return function(e){return function(i){return function(o){return F(n(r)(t))(u)(e)(i)(o)}}}})}},A=function(n){return function(r){return M(n)(r)(t.identity(t.categoryFn))(t.identity(t.categoryFn))}},h=function(n){return function(r){return function(t){return function(u){var e=d.unwrap(d.newtypeDisj),i=M(n)(f.monoidDisj(r.HeytingAlgebra0()))(function(n){return f.Disj(t(n))})(function(n){return f.Disj(u(n))});return function(n){return e(i(n))}}}}},_=function(n){return function(r){return function(t){return function(u){var e=d.unwrap(d.newtypeConj),i=M(n)(o.monoidConj(r.HeytingAlgebra0()))(function(n){return o.Conj(t(n))})(function(n){return o.Conj(u(n))});return function(n){return e(i(n))}}}}};module.exports={bifoldMap:M,bifoldl:g,bifoldr:y,Bifoldable:b,bifoldrDefault:F,bifoldlDefault:E,bifoldMapDefaultR:q,bifoldMapDefaultL:x,bifold:A,bitraverse_:s,bifor_:D,bisequence_:j,biany:h,biall:_,bifoldableClown:m,bifoldableJoker:w,bifoldableFlip:v,bifoldableProduct:S,bifoldableWrap:C}; +},{"../Control.Applicative/index.js":"qYya","../Control.Apply/index.js":"QcLv","../Control.Category/index.js":"IAi2","../Data.Foldable/index.js":"eVDl","../Data.Function/index.js":"ImXJ","../Data.Monoid/index.js":"TiEB","../Data.Monoid.Conj/index.js":"U/G5","../Data.Monoid.Disj/index.js":"9bR7","../Data.Monoid.Dual/index.js":"ULyl","../Data.Monoid.Endo/index.js":"2o47","../Data.Newtype/index.js":"lz8k","../Data.Semigroup/index.js":"EsAJ","../Data.Unit/index.js":"NhVk"}],"Sd0N":[function(require,module,exports) { +"use strict";var i=function(i,t){this.Biapply0=i,this.bipure=t},t=function(i){return i.bipure};module.exports={bipure:t,Biapplicative:i}; +},{}],"X0ga":[function(require,module,exports) { +"use strict";var n=require("../Control.Category/index.js"),t=require("../Data.Bifunctor/index.js"),i=require("../Data.Function/index.js"),r=function(n,t){this.Bifunctor0=n,this.biapply=t},u=function(n){return n.biapply},e=function(r){return function(e){return function(o){return u(r)(n.identity(n.categoryFn)(t.bimap(r.Bifunctor0())(i.const(n.identity(n.categoryFn)))(i.const(n.identity(n.categoryFn))))(e))(o)}}},o=function(r){return function(e){return function(o){return u(r)(n.identity(n.categoryFn)(t.bimap(r.Bifunctor0())(i.const)(i.const))(e))(o)}}},c=function(i){return function(r){return function(e){return function(o){return function(c){return u(i)(n.identity(n.categoryFn)(t.bimap(i.Bifunctor0())(r)(e))(o))(c)}}}}},f=function(i){return function(r){return function(e){return function(o){return function(c){return function(f){return u(i)(u(i)(n.identity(n.categoryFn)(t.bimap(i.Bifunctor0())(r)(e))(o))(c))(f)}}}}}};module.exports={biapply:u,Biapply:r,biapplyFirst:e,biapplySecond:o,bilift2:c,bilift3:f}; +},{"../Control.Category/index.js":"IAi2","../Data.Bifunctor/index.js":"e2Wc","../Data.Function/index.js":"ImXJ"}],"Wuz6":[function(require,module,exports) { +"use strict";var n=require("../Control.Applicative/index.js"),r=require("../Control.Apply/index.js"),e=require("../Control.Biapplicative/index.js"),t=require("../Control.Biapply/index.js"),u=require("../Data.Bifunctor/index.js"),i=require("../Data.Functor/index.js"),o=require("../Data.Newtype/index.js"),c=require("../Data.Show/index.js"),p=function(n){return n},l=function(n){return new c.Show(function(r){return"(Clown "+c.show(n)(r)+")"})},f=function(n){return n},w=new o.Newtype(function(n){return n},p),a=new i.Functor(function(n){return function(n){return n}}),C=function(n){return n},s=function(n){return new u.Bifunctor(function(r){return function(e){return function(e){return i.map(n)(r)(e)}}})},d=function(n){return new t.Biapply(function(){return s(n.Functor0())},function(e){return function(t){return r.apply(n)(e)(t)}})},q=function(r){return new e.Biapplicative(function(){return d(r.Apply0())},function(e){return function(t){return n.pure(r)(e)}})};module.exports={Clown:p,newtypeClown:w,eqClown:C,ordClown:f,showClown:l,functorClown:a,bifunctorClown:s,biapplyClown:d,biapplicativeClown:q}; +},{"../Control.Applicative/index.js":"qYya","../Control.Apply/index.js":"QcLv","../Control.Biapplicative/index.js":"Sd0N","../Control.Biapply/index.js":"X0ga","../Data.Bifunctor/index.js":"e2Wc","../Data.Functor/index.js":"+0AE","../Data.Newtype/index.js":"lz8k","../Data.Show/index.js":"mFY7"}],"EM73":[function(require,module,exports) { +"use strict";var n=require("../Control.Biapplicative/index.js"),r=require("../Control.Biapply/index.js"),i=require("../Data.Bifunctor/index.js"),t=require("../Data.Functor/index.js"),e=require("../Data.Newtype/index.js"),u=require("../Data.Show/index.js"),o=function(n){return n},p=function(n){return new u.Show(function(r){return"(Flip "+u.show(n)(r)+")"})},c=function(n){return n},f=new e.Newtype(function(n){return n},o),a=function(n){return new t.Functor(function(r){return function(t){return i.lmap(n)(r)(t)}})},l=function(n){return n},w=function(n){return new i.Bifunctor(function(r){return function(t){return function(e){return i.bimap(n)(t)(r)(e)}}})},F=function(n){return new r.Biapply(function(){return w(n.Bifunctor0())},function(i){return function(t){return r.biapply(n)(i)(t)}})},s=function(r){return new n.Biapplicative(function(){return F(r.Biapply0())},function(i){return function(t){return n.bipure(r)(t)(i)}})};module.exports={Flip:o,newtypeFlip:f,eqFlip:l,ordFlip:c,showFlip:p,functorFlip:a,bifunctorFlip:w,biapplyFlip:F,biapplicativeFlip:s}; +},{"../Control.Biapplicative/index.js":"Sd0N","../Control.Biapply/index.js":"X0ga","../Data.Bifunctor/index.js":"e2Wc","../Data.Functor/index.js":"+0AE","../Data.Newtype/index.js":"lz8k","../Data.Show/index.js":"mFY7"}],"O/Oh":[function(require,module,exports) { +"use strict";var n=require("../Control.Applicative/index.js"),r=require("../Control.Apply/index.js"),e=require("../Control.Biapplicative/index.js"),t=require("../Control.Biapply/index.js"),u=require("../Data.Bifunctor/index.js"),i=require("../Data.Functor/index.js"),o=require("../Data.Newtype/index.js"),c=require("../Data.Show/index.js"),p=function(n){return n},f=function(n){return new c.Show(function(r){return"(Joker "+c.show(n)(r)+")"})},a=function(n){return n},l=new o.Newtype(function(n){return n},p),s=function(n){return new i.Functor(function(r){return function(e){return i.map(n)(r)(e)}})},w=function(n){return n},d=function(n){return new u.Bifunctor(function(r){return function(r){return function(e){return i.map(n)(r)(e)}}})},k=function(n){return new t.Biapply(function(){return d(n.Functor0())},function(e){return function(t){return r.apply(n)(e)(t)}})},J=function(r){return new e.Biapplicative(function(){return k(r.Apply0())},function(e){return function(e){return n.pure(r)(e)}})};module.exports={Joker:p,newtypeJoker:l,eqJoker:w,ordJoker:a,showJoker:f,functorJoker:s,bifunctorJoker:d,biapplyJoker:k,biapplicativeJoker:J}; +},{"../Control.Applicative/index.js":"qYya","../Control.Apply/index.js":"QcLv","../Control.Biapplicative/index.js":"Sd0N","../Control.Biapply/index.js":"X0ga","../Data.Bifunctor/index.js":"e2Wc","../Data.Functor/index.js":"+0AE","../Data.Newtype/index.js":"lz8k","../Data.Show/index.js":"mFY7"}],"U+97":[function(require,module,exports) { +"use strict";var n=require("../Control.Biapplicative/index.js"),u=require("../Control.Biapply/index.js"),r=require("../Data.Bifunctor/index.js"),e=require("../Data.Eq/index.js"),t=require("../Data.Ord/index.js"),i=require("../Data.Ordering/index.js"),o=require("../Data.Show/index.js"),c=function(){function n(n,u){this.value0=n,this.value1=u}return n.create=function(u){return function(r){return new n(u,r)}},n}(),a=function(n){return function(u){return new o.Show(function(r){return"(Product "+o.show(n)(r.value0)+" "+o.show(u)(r.value1)+")"})}},f=function(n){return function(u){return new e.Eq(function(r){return function(t){return e.eq(n)(r.value0)(t.value0)&&e.eq(u)(r.value1)(t.value1)}})}},l=function(n){return function(u){return new t.Ord(function(){return f(n.Eq0())(u.Eq0())},function(r){return function(e){var o=t.compare(n)(r.value0)(e.value0);return o instanceof i.LT?i.LT.value:o instanceof i.GT?i.GT.value:t.compare(u)(r.value1)(e.value1)}})}},p=function(n){return function(u){return new r.Bifunctor(function(e){return function(t){return function(i){return new c(r.bimap(n)(e)(t)(i.value0),r.bimap(u)(e)(t)(i.value1))}}})}},v=function(n){return function(r){return new u.Biapply(function(){return p(n.Bifunctor0())(r.Bifunctor0())},function(e){return function(t){return new c(u.biapply(n)(e.value0)(t.value0),u.biapply(r)(e.value1)(t.value1))}})}},d=function(u){return function(r){return new n.Biapplicative(function(){return v(u.Biapply0())(r.Biapply0())},function(e){return function(t){return new c(n.bipure(u)(e)(t),n.bipure(r)(e)(t))}})}};module.exports={Product:c,eqProduct:f,ordProduct:l,showProduct:a,bifunctorProduct:p,biapplyProduct:v,biapplicativeProduct:d}; +},{"../Control.Biapplicative/index.js":"Sd0N","../Control.Biapply/index.js":"X0ga","../Data.Bifunctor/index.js":"e2Wc","../Data.Eq/index.js":"Pq4F","../Data.Ord/index.js":"r4Vb","../Data.Ordering/index.js":"5Eun","../Data.Show/index.js":"mFY7"}],"U78Q":[function(require,module,exports) { +"use strict";var n=require("../Control.Biapplicative/index.js"),r=require("../Control.Biapply/index.js"),t=require("../Data.Bifunctor/index.js"),e=require("../Data.Functor/index.js"),u=require("../Data.Newtype/index.js"),i=require("../Data.Show/index.js"),o=function(n){return n},p=function(n){return new i.Show(function(r){return"(Wrap "+i.show(n)(r)+")"})},a=function(n){return n},c=new u.Newtype(function(n){return n},o),f=function(n){return new e.Functor(function(r){return function(e){return t.rmap(n)(r)(e)}})},w=function(n){return n},l=function(n){return new t.Bifunctor(function(r){return function(e){return function(u){return t.bimap(n)(r)(e)(u)}}})},s=function(n){return new r.Biapply(function(){return l(n.Bifunctor0())},function(t){return function(e){return r.biapply(n)(t)(e)}})},W=function(r){return new n.Biapplicative(function(){return s(r.Biapply0())},function(t){return function(e){return n.bipure(r)(t)(e)}})};module.exports={Wrap:o,newtypeWrap:c,eqWrap:w,ordWrap:a,showWrap:p,functorWrap:f,bifunctorWrap:l,biapplyWrap:s,biapplicativeWrap:W}; +},{"../Control.Biapplicative/index.js":"Sd0N","../Control.Biapply/index.js":"X0ga","../Data.Bifunctor/index.js":"e2Wc","../Data.Functor/index.js":"+0AE","../Data.Newtype/index.js":"lz8k","../Data.Show/index.js":"mFY7"}],"oRQn":[function(require,module,exports) { +"use strict";exports.traverseArrayImpl=function(){function n(n){return[n]}function r(n){return function(r){return[n,r]}}function t(n){return function(r){return function(t){return[n,r,t]}}}function u(n){return function(r){return n.concat(r)}}return function(e){return function(c){return function(o){return function(f){return function(i){return function a(s,l){switch(l-s){case 0:return o([]);case 1:return c(n)(f(i[s]));case 2:return e(c(r)(f(i[s])))(f(i[s+1]));case 3:return e(e(c(t)(f(i[s])))(f(i[s+1])))(f(i[s+2]));default:var h=s+2*Math.floor((l-s)/4);return e(c(u)(a(s,h)))(a(h,l))}}(0,i.length)}}}}}}(); +},{}],"W/l6":[function(require,module,exports) { +"use strict";var e=require("../Control.Alt/index.js"),n=require("../Control.Alternative/index.js"),r=require("../Control.MonadZero/index.js"),t=require("../Control.Plus/index.js"),i=require("../Data.Maybe/index.js"),o=require("../Data.Monoid/index.js"),u=require("../Data.Newtype/index.js"),a=require("../Data.Semigroup/index.js"),s=require("../Data.Show/index.js"),d=function(e){return e},c=function(e){return new s.Show(function(n){return"First ("+s.show(i.showMaybe(e))(n)+")"})},F=new a.Semigroup(function(e){return function(n){return e instanceof i.Just?e:n}}),y=function(e){return i.ordMaybe(e)},f=i.ord1Maybe,l=new u.Newtype(function(e){return e},d),p=new o.Monoid(function(){return F},i.Nothing.value),b=i.monadMaybe,M=i.invariantMaybe,w=i.functorMaybe,q=i.extendMaybe,x=function(e){return i.eqMaybe(e)},m=i.eq1Maybe,j=function(e){return i.boundedMaybe(e)},v=i.bindMaybe,h=i.applyMaybe,D=i.applicativeMaybe,g=new e.Alt(function(){return w},a.append(F)),A=new t.Plus(function(){return g},o.mempty(p)),C=new n.Alternative(function(){return D},function(){return A}),S=new r.MonadZero(function(){return C},function(){return b});module.exports={First:d,newtypeFirst:l,eqFirst:x,eq1First:m,ordFirst:y,ord1First:f,boundedFirst:j,functorFirst:w,invariantFirst:M,applyFirst:h,applicativeFirst:D,bindFirst:v,monadFirst:b,extendFirst:q,showFirst:c,semigroupFirst:F,monoidFirst:p,altFirst:g,plusFirst:A,alternativeFirst:C,monadZeroFirst:S}; +},{"../Control.Alt/index.js":"lN+m","../Control.Alternative/index.js":"aHia","../Control.MonadZero/index.js":"lD5R","../Control.Plus/index.js":"oMBg","../Data.Maybe/index.js":"5mN7","../Data.Monoid/index.js":"TiEB","../Data.Newtype/index.js":"lz8k","../Data.Semigroup/index.js":"EsAJ","../Data.Show/index.js":"mFY7"}],"aQky":[function(require,module,exports) { +"use strict";var e=require("../Control.Alt/index.js"),n=require("../Control.Alternative/index.js"),t=require("../Control.MonadZero/index.js"),r=require("../Control.Plus/index.js"),a=require("../Data.Maybe/index.js"),o=require("../Data.Monoid/index.js"),i=require("../Data.Newtype/index.js"),u=require("../Data.Semigroup/index.js"),s=require("../Data.Show/index.js"),d=function(e){return e},c=function(e){return new s.Show(function(n){return"(Last "+s.show(a.showMaybe(e))(n)+")"})},l=new u.Semigroup(function(e){return function(n){if(n instanceof a.Just)return n;if(n instanceof a.Nothing)return e;throw new Error("Failed pattern match at Data.Maybe.Last (line 52, column 1 - line 54, column 36): "+[e.constructor.name,n.constructor.name])}}),L=function(e){return a.ordMaybe(e)},f=a.ord1Maybe,y=new i.Newtype(function(e){return e},d),p=new o.Monoid(function(){return l},a.Nothing.value),b=a.monadMaybe,M=a.invariantMaybe,w=a.functorMaybe,m=a.extendMaybe,q=function(e){return a.eqMaybe(e)},x=a.eq1Maybe,h=function(e){return a.boundedMaybe(e)},j=a.bindMaybe,v=a.applyMaybe,D=a.applicativeMaybe,g=new e.Alt(function(){return w},u.append(l)),A=new r.Plus(function(){return g},o.mempty(p)),C=new n.Alternative(function(){return D},function(){return A}),N=new t.MonadZero(function(){return C},function(){return b});module.exports={Last:d,newtypeLast:y,eqLast:q,eq1Last:x,ordLast:L,ord1Last:f,boundedLast:h,functorLast:w,invariantLast:M,applyLast:v,applicativeLast:D,bindLast:j,monadLast:b,extendLast:m,showLast:c,semigroupLast:l,monoidLast:p,altLast:g,plusLast:A,alternativeLast:C,monadZeroLast:N}; +},{"../Control.Alt/index.js":"lN+m","../Control.Alternative/index.js":"aHia","../Control.MonadZero/index.js":"lD5R","../Control.Plus/index.js":"oMBg","../Data.Maybe/index.js":"5mN7","../Data.Monoid/index.js":"TiEB","../Data.Newtype/index.js":"lz8k","../Data.Semigroup/index.js":"EsAJ","../Data.Show/index.js":"mFY7"}],"LbSr":[function(require,module,exports) { +"use strict";var n=require("../Control.Applicative/index.js"),t=require("../Control.Apply/index.js"),u=require("../Data.Functor/index.js"),e=function(n){return n},r=function(n){return n},c=function(n){return n},a=function(n){return n},i=new u.Functor(function(n){return function(t){return function(u){var e=c(t)(u);return{accum:e.accum,value:n(e.value)}}}}),o=new u.Functor(function(n){return function(t){return function(u){var e=a(t)(u);return{accum:e.accum,value:n(e.value)}}}}),f=new t.Apply(function(){return i},function(n){return function(t){return function(u){var e=c(t)(u),r=c(n)(e.accum);return{accum:r.accum,value:r.value(e.value)}}}}),l=new t.Apply(function(){return o},function(n){return function(t){return function(u){var e=a(n)(u),r=a(t)(e.accum);return{accum:r.accum,value:e.value(r.value)}}}}),v=new n.Applicative(function(){return f},function(n){return function(t){return{accum:t,value:n}}}),p=new n.Applicative(function(){return l},function(n){return function(t){return{accum:t,value:n}}});module.exports={StateL:r,stateL:a,StateR:e,stateR:c,functorStateL:o,applyStateL:l,applicativeStateL:p,functorStateR:i,applyStateR:f,applicativeStateR:v}; +},{"../Control.Applicative/index.js":"qYya","../Control.Apply/index.js":"QcLv","../Data.Functor/index.js":"+0AE"}],"n7EE":[function(require,module,exports) { +"use strict";var n=require("./foreign.js"),r=require("../Control.Applicative/index.js"),t=require("../Control.Apply/index.js"),u=require("../Control.Category/index.js"),e=require("../Data.Foldable/index.js"),i=require("../Data.Functor/index.js"),o=require("../Data.Maybe/index.js"),c=require("../Data.Maybe.First/index.js"),a=require("../Data.Maybe.Last/index.js"),f=require("../Data.Monoid.Additive/index.js"),l=require("../Data.Monoid.Conj/index.js"),p=require("../Data.Monoid.Disj/index.js"),s=require("../Data.Monoid.Dual/index.js"),d=require("../Data.Monoid.Multiplicative/index.js"),v=require("../Data.Traversable.Accum.Internal/index.js"),m=function(n,r,t,u){this.Foldable1=n,this.Functor0=r,this.sequence=t,this.traverse=u},y=function(n){return n.traverse},A=new m(function(){return e.foldableMultiplicative},function(){return d.functorMultiplicative},function(n){return function(r){return i.map(n.Apply0().Functor0())(d.Multiplicative)(r)}},function(n){return function(r){return function(t){return i.map(n.Apply0().Functor0())(d.Multiplicative)(r(t))}}}),F=new m(function(){return e.foldableMaybe},function(){return o.functorMaybe},function(n){return function(t){if(t instanceof o.Nothing)return r.pure(n)(o.Nothing.value);if(t instanceof o.Just)return i.map(n.Apply0().Functor0())(o.Just.create)(t.value0);throw new Error("Failed pattern match at Data.Traversable (line 86, column 1 - line 90, column 33): "+[t.constructor.name])}},function(n){return function(t){return function(u){if(u instanceof o.Nothing)return r.pure(n)(o.Nothing.value);if(u instanceof o.Just)return i.map(n.Apply0().Functor0())(o.Just.create)(t(u.value0));throw new Error("Failed pattern match at Data.Traversable (line 86, column 1 - line 90, column 33): "+[t.constructor.name,u.constructor.name])}}}),b=new m(function(){return e.foldableDual},function(){return s.functorDual},function(n){return function(r){return i.map(n.Apply0().Functor0())(s.Dual)(r)}},function(n){return function(r){return function(t){return i.map(n.Apply0().Functor0())(s.Dual)(r(t))}}}),j=new m(function(){return e.foldableDisj},function(){return p.functorDisj},function(n){return function(r){return i.map(n.Apply0().Functor0())(p.Disj)(r)}},function(n){return function(r){return function(t){return i.map(n.Apply0().Functor0())(p.Disj)(r(t))}}}),D=new m(function(){return e.foldableConj},function(){return l.functorConj},function(n){return function(r){return i.map(n.Apply0().Functor0())(l.Conj)(r)}},function(n){return function(r){return function(t){return i.map(n.Apply0().Functor0())(l.Conj)(r(t))}}}),q=new m(function(){return e.foldableAdditive},function(){return f.functorAdditive},function(n){return function(r){return i.map(n.Apply0().Functor0())(f.Additive)(r)}},function(n){return function(r){return function(t){return i.map(n.Apply0().Functor0())(f.Additive)(r(t))}}}),M=function(n){return function(r){return y(n)(r)(u.identity(u.categoryFn))}},x=new m(function(){return e.foldableArray},function(){return i.functorArray},function(n){return M(x)(n)},function(u){return n.traverseArrayImpl(t.apply(u.Apply0()))(i.map(u.Apply0().Functor0()))(r.pure(u))}),w=function(n){return n.sequence},h=new m(function(){return e.foldableFirst},function(){return c.functorFirst},function(n){return function(r){return i.map(n.Apply0().Functor0())(c.First)(w(F)(n)(r))}},function(n){return function(r){return function(t){return i.map(n.Apply0().Functor0())(c.First)(y(F)(n)(r)(t))}}}),C=new m(function(){return e.foldableLast},function(){return a.functorLast},function(n){return function(r){return i.map(n.Apply0().Functor0())(a.Last)(w(F)(n)(r))}},function(n){return function(r){return function(t){return i.map(n.Apply0().Functor0())(a.Last)(y(F)(n)(r)(t))}}}),L=function(n){return function(r){return function(t){return function(u){return w(n)(r)(i.map(n.Functor0())(t)(u))}}}},g=function(n){return function(r){return function(t){return function(u){return v.stateR(y(n)(v.applicativeStateR)(function(n){return function(t){return r(t)(n)}})(u))(t)}}}},J=function(n){return function(r){return function(t){return function(u){return g(n)(function(n){return function(t){var u=r(t)(n);return{accum:u,value:u}}})(t)(u).value}}}},N=function(n){return function(r){return function(t){return function(u){return v.stateL(y(n)(v.applicativeStateL)(function(n){return function(t){return r(t)(n)}})(u))(t)}}}},T=function(n){return function(r){return function(t){return function(u){return N(n)(function(n){return function(t){var u=r(n)(t);return{accum:u,value:u}}})(t)(u).value}}}},R=function(n){return function(r){return function(t){return function(u){return y(r)(n)(u)(t)}}}};module.exports={Traversable:m,traverse:y,sequence:w,traverseDefault:L,sequenceDefault:M,for:R,scanl:T,scanr:J,mapAccumL:N,mapAccumR:g,traversableArray:x,traversableMaybe:F,traversableFirst:h,traversableLast:C,traversableAdditive:q,traversableDual:b,traversableConj:D,traversableDisj:j,traversableMultiplicative:A}; +},{"./foreign.js":"oRQn","../Control.Applicative/index.js":"qYya","../Control.Apply/index.js":"QcLv","../Control.Category/index.js":"IAi2","../Data.Foldable/index.js":"eVDl","../Data.Functor/index.js":"+0AE","../Data.Maybe/index.js":"5mN7","../Data.Maybe.First/index.js":"W/l6","../Data.Maybe.Last/index.js":"aQky","../Data.Monoid.Additive/index.js":"fHyj","../Data.Monoid.Conj/index.js":"U/G5","../Data.Monoid.Disj/index.js":"9bR7","../Data.Monoid.Dual/index.js":"ULyl","../Data.Monoid.Multiplicative/index.js":"y5cd","../Data.Traversable.Accum.Internal/index.js":"LbSr"}],"8nb9":[function(require,module,exports) { +"use strict";var n=require("../Control.Applicative/index.js"),r=require("../Control.Apply/index.js"),t=require("../Control.Category/index.js"),u=require("../Data.Bifoldable/index.js"),e=require("../Data.Bifunctor/index.js"),i=require("../Data.Bifunctor.Clown/index.js"),o=require("../Data.Bifunctor.Flip/index.js"),c=require("../Data.Bifunctor.Joker/index.js"),f=require("../Data.Bifunctor.Product/index.js"),a=require("../Data.Bifunctor.Wrap/index.js"),l=require("../Data.Functor/index.js"),p=require("../Data.Traversable/index.js"),b=function(n,r,t,u){this.Bifoldable1=n,this.Bifunctor0=r,this.bisequence=t,this.bitraverse=u},s=function(n){return n.bitraverse},d=function(r){return function(t){return function(u){return function(e){return s(r)(t)(e)(n.pure(t))(u)}}}},F=function(r){return function(t){return function(u){return s(r)(t)(u)(n.pure(t))}}},v=function(r){return function(t){return function(u){return function(e){return s(r)(t)(n.pure(t))(e)(u)}}}},y=function(r){return function(t){return s(r)(t)(n.pure(t))}},B=function(n){return new b(function(){return u.bifoldableJoker(n.Foldable1())},function(){return c.bifunctorJoker(n.Functor0())},function(r){return function(t){return l.map(r.Apply0().Functor0())(c.Joker)(p.sequence(n)(r)(t))}},function(r){return function(t){return function(t){return function(u){return l.map(r.Apply0().Functor0())(c.Joker)(p.traverse(n)(r)(t)(u))}}}})},q=function(n){return new b(function(){return u.bifoldableClown(n.Foldable1())},function(){return i.bifunctorClown(n.Functor0())},function(r){return function(t){return l.map(r.Apply0().Functor0())(i.Clown)(p.sequence(n)(r)(t))}},function(r){return function(t){return function(u){return function(u){return l.map(r.Apply0().Functor0())(i.Clown)(p.traverse(n)(r)(t)(u))}}}})},A=function(n){return function(r){return s(n)(r)(t.identity(t.categoryFn))(t.identity(t.categoryFn))}},x=function(n){return n.bisequence},j=function(n){return new b(function(){return u.bifoldableFlip(n.Bifoldable1())},function(){return o.bifunctorFlip(n.Bifunctor0())},function(r){return function(t){return l.map(r.Apply0().Functor0())(o.Flip)(x(n)(r)(t))}},function(r){return function(t){return function(u){return function(e){return l.map(r.Apply0().Functor0())(o.Flip)(s(n)(r)(u)(t)(e))}}}})},m=function(n){return function(t){return new b(function(){return u.bifoldableProduct(n.Bifoldable1())(t.Bifoldable1())},function(){return f.bifunctorProduct(n.Bifunctor0())(t.Bifunctor0())},function(u){return function(e){return r.apply(u.Apply0())(l.map(u.Apply0().Functor0())(f.Product.create)(x(n)(u)(e.value0)))(x(t)(u)(e.value1))}},function(u){return function(e){return function(i){return function(o){return r.apply(u.Apply0())(l.map(u.Apply0().Functor0())(f.Product.create)(s(n)(u)(e)(i)(o.value0)))(s(t)(u)(e)(i)(o.value1))}}}})}},w=function(n){return new b(function(){return u.bifoldableWrap(n.Bifoldable1())},function(){return a.bifunctorWrap(n.Bifunctor0())},function(r){return function(t){return l.map(r.Apply0().Functor0())(a.Wrap)(x(n)(r)(t))}},function(r){return function(t){return function(u){return function(e){return l.map(r.Apply0().Functor0())(a.Wrap)(s(n)(r)(t)(u)(e))}}}})},D=function(n){return function(r){return function(t){return function(u){return function(i){return x(n)(r)(e.bimap(n.Bifunctor0())(t)(u)(i))}}}}},C=function(n){return function(r){return function(t){return function(u){return function(e){return s(n)(r)(u)(e)(t)}}}}};module.exports={Bitraversable:b,bitraverse:s,bisequence:x,bitraverseDefault:D,bisequenceDefault:A,ltraverse:F,rtraverse:y,bifor:C,lfor:d,rfor:v,bitraversableClown:q,bitraversableJoker:B,bitraversableFlip:j,bitraversableProduct:m,bitraversableWrap:w}; +},{"../Control.Applicative/index.js":"qYya","../Control.Apply/index.js":"QcLv","../Control.Category/index.js":"IAi2","../Data.Bifoldable/index.js":"wjQo","../Data.Bifunctor/index.js":"e2Wc","../Data.Bifunctor.Clown/index.js":"Wuz6","../Data.Bifunctor.Flip/index.js":"EM73","../Data.Bifunctor.Joker/index.js":"O/Oh","../Data.Bifunctor.Product/index.js":"U+97","../Data.Bifunctor.Wrap/index.js":"U78Q","../Data.Functor/index.js":"+0AE","../Data.Traversable/index.js":"n7EE"}],"ZgoH":[function(require,module,exports) { +"use strict";exports.mapWithIndexArray=function(r){return function(t){for(var n=t.length,e=Array(n),u=0;u=0&&r=0&&n0?n(r.pop()):t}}}},exports.pushAll=function(n){return function(t){return function(){return t.push.apply(t,n)}}},exports.shiftImpl=function(n){return function(t){return function(r){return function(){return r.length>0?n(r.shift()):t}}}},exports.unshiftAll=function(n){return function(t){return function(){return t.unshift.apply(t,n)}}},exports.splice=function(n){return function(t){return function(r){return function(u){return function(){return u.splice.apply(u,[n,t].concat(r))}}}}},exports.copyImpl=function(n){return function(){return n.slice()}},exports.sortByImpl=function(n){return function(t){return function(){return t.sort(function(t,r){return n(t)(r)})}}},exports.toAssocArray=function(n){return function(){for(var t=n.length,r=new Array(t),u=0;u=r?1:-1;return o(n)(function(n){return function(r){var i=r+n|0;return new u.Tuple(r,r===t?e.Nothing.value:new e.Just(i))}}(i))(r)}}};module.exports={Unfoldable1:i,unfoldr1:o,replicate1:f,replicate1A:l,singleton:c,range:s,unfoldable1Array:a}; +},{"./foreign.js":"rpkt","../Data.Boolean/index.js":"ObQr","../Data.Maybe/index.js":"5mN7","../Data.Semigroup.Traversable/index.js":"qkfi","../Data.Tuple/index.js":"II/O"}],"77+Z":[function(require,module,exports) { +"use strict";var n=require("./foreign.js"),e=require("../Data.Function/index.js"),r=require("../Data.Functor/index.js"),u=require("../Data.Maybe/index.js"),t=require("../Data.Traversable/index.js"),i=require("../Data.Tuple/index.js"),o=require("../Data.Unfoldable1/index.js"),a=require("../Data.Unit/index.js"),f=function(n,e){this.Unfoldable10=n,this.unfoldr=e},l=function(n){return n.unfoldr},c=new f(function(){return o.unfoldable1Array},n.unfoldrArrayImpl(u.isNothing)(u.fromJust())(i.fst)(i.snd)),s=function(n){return function(e){return function(r){return l(n)(function(n){return n<=0?u.Nothing.value:new u.Just(new i.Tuple(r,n-1|0))})(e)}}},d=function(n){return function(e){return function(r){return function(u){return function(i){return t.sequence(r)(n)(s(e)(u)(i))}}}}},b=function(n){return l(n)(e.const(u.Nothing.value))(a.unit)},p=function(n){return l(n)(function(n){return r.map(u.functorMaybe)(e.flip(i.Tuple.create)(u.Nothing.value))(n)})};module.exports={Unfoldable:f,unfoldr:l,replicate:s,replicateA:d,none:b,fromMaybe:p,unfoldableArray:c}; +},{"./foreign.js":"v/61","../Data.Function/index.js":"ImXJ","../Data.Functor/index.js":"+0AE","../Data.Maybe/index.js":"5mN7","../Data.Traversable/index.js":"n7EE","../Data.Tuple/index.js":"II/O","../Data.Unfoldable1/index.js":"S0Nl","../Data.Unit/index.js":"NhVk"}],"4t4C":[function(require,module,exports) { +"use strict";var n=require("./foreign.js"),r=require("../Control.Alt/index.js"),t=require("../Control.Applicative/index.js"),e=require("../Control.Apply/index.js"),u=require("../Control.Bind/index.js"),i=require("../Control.Category/index.js"),o=require("../Control.Lazy/index.js"),a=require("../Control.Monad.Rec.Class/index.js"),c=require("../Control.Monad.ST.Internal/index.js"),f=require("../Data.Array.ST/index.js"),l=require("../Data.Array.ST.Iterator/index.js"),s=require("../Data.Boolean/index.js"),p=require("../Data.Eq/index.js"),d=require("../Data.Foldable/index.js"),h=require("../Data.Function/index.js"),m=require("../Data.Functor/index.js"),v=require("../Data.HeytingAlgebra/index.js"),y=require("../Data.Maybe/index.js"),g=require("../Data.Ord/index.js"),A=require("../Data.Ordering/index.js"),q=require("../Data.Semigroup/index.js"),x=require("../Data.Traversable/index.js"),w=require("../Data.Tuple/index.js"),b=require("../Data.Unfoldable/index.js"),F=function(r){return function(t){return function(e){return function(u){return x.sequence(x.traversableArray)(r)(n.zipWith(t)(e)(u))}}}},T=n.zipWith(w.Tuple.create),j=function(n){return function(r){return function(t){return f.withArray(function(t){return d.traverse_(c.applicativeST)(n)(function(n){return f.poke(n.value0)(n.value1)(t)})(r)})(t)()}}},D=n._updateAt(y.Just.create)(y.Nothing.value),J=function(r){return n.unsafeIndexImpl},I=n["uncons'"](h.const(y.Nothing.value))(function(n){return function(r){return new y.Just({head:n,tail:r})}}),N=function(r){return function(t){var e=n.length(t);return b.unfoldr(r)(function(n){if(n=n.length(o))return t.pure(r.Monad0().Applicative0())(new a.Done(i));if(s.otherwise)return u.bind(r.Monad0().Bind1())(e(i)(J()(o)(c)))(function(n){return t.pure(r.Monad0().Applicative0())(new a.Loop({a:n,b:c+1|0}))});throw new Error("Failed pattern match at Data.Array (line 1101, column 3 - line 1105, column 42): "+[i.constructor.name,c.constructor.name])}})(i)(0)}}}},cn=function r(e){return function(i){return function(o){return n["uncons'"](function(n){return t.pure(e.Applicative0())(o)})(function(n){return function(t){return u.bind(e.Bind1())(i(o)(n))(function(n){return r(e)(i)(n)(t)})}})}}},fn=n.findLastIndexImpl(y.Just.create)(y.Nothing.value),ln=function(n){return function(r){return function(t){var e=y.maybe(0)(function(n){return n+1|0})(fn(function(t){return p.eq(A.eqOrdering)(n(r)(t))(A.GT.value)})(t));return y.fromJust()(P(e)(r)(t))}}},sn=function(n){return ln(g.compare(n))},pn=n.findIndexImpl(y.Just.create)(y.Nothing.value),dn=function(r){return function(t){return function(e){return n.filter(function(n){return y.isJust(pn(r(n))(e))})(t)}}},hn=function(n){return dn(p.eq(n))},mn=function(n){return function(r){return fn(function(t){return p.eq(n)(t)(r)})}},vn=function(n){return function(r){return pn(function(t){return p.eq(n)(t)(r)})}},yn=function(n){return function(r){return X(n)(r).rest}},gn=function(r){return function(t){return n.take(n.length(t)-r|0)(t)}},An=n._deleteAt(y.Just.create)(y.Nothing.value),qn=function(n){return function(r){return function(t){return 0===t.length?[]:y.maybe(t)(function(n){return y.fromJust()(An(n)(t))})(pn(n(r))(t))}}},xn=function(n){return function(r){return function(t){return q.append(q.semigroupArray)(r)(d.foldl(d.foldableArray)(h.flip(qn(n)))(k(n)(t))(r))}}},wn=function(n){return xn(p.eq(n))},bn=function(n){return qn(p.eq(n))},Fn=function(n){return d.foldr(d.foldableArray)(bn(n))},Tn=h.flip(u.bind(u.bindArray)),jn=function(n){return Tn((r=y.maybe([])(W),function(t){return r(n(t))}));var r},Dn=function(n){return function(r){var t=m.map(n.Apply0().Functor0())(jn(function(n){return n.value1?new y.Just(n.value0):y.Nothing.value})),e=x.traverse(x.traversableArray)(n)(function(t){return m.map(n.Apply0().Functor0())(w.Tuple.create(t))(r(t))});return function(n){return t(e(n))}}},Jn=jn(i.identity(i.categoryFn)),In=function(n){return function(r){return function(t){return y.maybe(y.Nothing.value)(function(e){var u=r(e);if(u instanceof y.Nothing)return An(n)(t);if(u instanceof y.Just)return D(n)(u.value0)(t);throw new Error("Failed pattern match at Data.Array (line 544, column 10 - line 546, column 32): "+[u.constructor.name])})(U(t)(n))}}};module.exports={fromFoldable:on,toUnfoldable:N,singleton:W,some:R,many:G,null:C,insert:sn,insertBy:ln,head:$,last:H,tail:E,init:Q,uncons:I,unsnoc:K,index:U,elemIndex:vn,elemLastIndex:mn,findIndex:pn,findLastIndex:fn,insertAt:P,deleteAt:An,updateAt:D,updateAtIndices:j,modifyAt:V,modifyAtIndices:_,alterAt:In,concatMap:Tn,filterA:Dn,mapMaybe:jn,catMaybes:Jn,mapWithIndex:O,sort:M,sortBy:S,sortWith:B,takeEnd:z,takeWhile:Y,dropEnd:gn,dropWhile:yn,span:X,group:en,"group'":un,groupBy:tn,nub:rn,nubEq:L,nubBy:nn,nubByEq:k,union:wn,unionBy:xn,delete:bn,deleteBy:qn,difference:Fn,intersect:hn,intersectBy:dn,zipWithA:F,zip:T,unzip:Z,foldM:cn,foldRecM:an,unsafeIndex:J,range:n.range,replicate:n.replicate,length:n.length,cons:n.cons,snoc:n.snoc,reverse:n.reverse,concat:n.concat,filter:n.filter,partition:n.partition,slice:n.slice,take:n.take,drop:n.drop,zipWith:n.zipWith}; +},{"./foreign.js":"TZDL","../Control.Alt/index.js":"lN+m","../Control.Applicative/index.js":"qYya","../Control.Apply/index.js":"QcLv","../Control.Bind/index.js":"7VcT","../Control.Category/index.js":"IAi2","../Control.Lazy/index.js":"y9cE","../Control.Monad.Rec.Class/index.js":"UVIy","../Control.Monad.ST.Internal/index.js":"Sedc","../Data.Array.ST/index.js":"s8si","../Data.Array.ST.Iterator/index.js":"Wi7L","../Data.Boolean/index.js":"ObQr","../Data.Eq/index.js":"Pq4F","../Data.Foldable/index.js":"eVDl","../Data.Function/index.js":"ImXJ","../Data.Functor/index.js":"+0AE","../Data.HeytingAlgebra/index.js":"paZe","../Data.Maybe/index.js":"5mN7","../Data.Ord/index.js":"r4Vb","../Data.Ordering/index.js":"5Eun","../Data.Semigroup/index.js":"EsAJ","../Data.Traversable/index.js":"n7EE","../Data.Tuple/index.js":"II/O","../Data.Unfoldable/index.js":"77+Z"}],"9xaU":[function(require,module,exports) { +var define; +var t,r=function(t){"use strict";var e=1e7,n=7,o=9007199254740992,i=f(o),a=Math.log(o);function u(t,r){return void 0===t?u[0]:void 0!==r?10==+r?H(t):R(t,r):H(t)}function s(t,r){this.value=t,this.sign=r,this.isSmall=!1}function p(t){this.value=t,this.sign=t<0,this.isSmall=!0}function l(t){return-o0?Math.floor(t):Math.ceil(t)}function g(t,r){var n,o,i=t.length,a=r.length,u=new Array(i),s=0,p=e;for(o=0;o=p?1:0,u[o]=n-s*p;for(;o0&&u.push(s),u}function m(t,r){return t.length>=r.length?g(t,r):g(r,t)}function d(t,r){var n,o,i=t.length,a=new Array(i),u=e;for(o=0;o0;)a[o++]=r%u,r=Math.floor(r/u);return a}function w(t,r){var n,o,i=t.length,a=r.length,u=new Array(i),s=0,p=e;for(n=0;n0;)a[o++]=s%u,s=Math.floor(s/u);return a}function q(t,r){for(var e=[];r-- >0;)e.push(0);return e.concat(t)}function E(t,r,n){return new s(t=0;--n)i=(a=i*p+t[n])-(o=c(a/r))*r,s[n]=0|o;return[s,0|i]}function O(t,r){var n,o,i=H(r),a=t.value,l=i.value;if(0===l)throw new Error("Cannot divide by zero");if(t.isSmall)return i.isSmall?[new p(c(a/l)),new p(a%l)]:[u[0],t];if(i.isSmall){if(1===l)return[t,u[0]];if(-1==l)return[t.negate(),u[0]];var g=Math.abs(l);if(g=0;o--){for(n=v-1,d[o+f]!==g&&(n=Math.floor((d[o+f]*v+d[o+f-1])/g)),i=0,a=0,s=w.length,u=0;up&&(i=(i+1)*y),n=Math.ceil(i/a);do{if(P(u=S(r,n),f)<=0)break;n--}while(n);l.push(n),f=w(f,u)}return l.reverse(),[h(l),h(f)]}(a,l))[0];var b=t.sign!==i.sign,M=n[1],q=t.sign;return"number"==typeof o?(b&&(o=-o),o=new p(o)):o=new s(o,b),"number"==typeof M?(q&&(M=-M),M=new p(M)):M=new s(M,q),[o,M]}function P(t,r){if(t.length!==r.length)return t.length>r.length?1:-1;for(var e=t.length-1;e>=0;e--)if(t[e]!==r[e])return t[e]>r[e]?1:-1;return 0}function x(t){var r=t.abs();return!r.isUnit()&&(!!(r.equals(2)||r.equals(3)||r.equals(5))||!(r.isEven()||r.isDivisibleBy(3)||r.isDivisibleBy(5))&&(!!r.lesser(25)||void 0))}s.prototype=Object.create(u.prototype),p.prototype=Object.create(u.prototype),s.prototype.add=function(t){var r=H(t);if(this.sign!==r.sign)return this.subtract(r.negate());var e=this.value,n=r.value;return r.isSmall?new s(d(e,Math.abs(n)),this.sign):new s(m(e,n),this.sign)},s.prototype.plus=s.prototype.add,p.prototype.add=function(t){var r=H(t),e=this.value;if(e<0!==r.sign)return this.subtract(r.negate());var n=r.value;if(r.isSmall){if(l(e+n))return new p(e+n);n=f(Math.abs(n))}return new s(d(n,Math.abs(e)),e<0)},p.prototype.plus=p.prototype.add,s.prototype.subtract=function(t){var r=H(t);if(this.sign!==r.sign)return this.add(r.negate());var e=this.value,n=r.value;return r.isSmall?b(e,Math.abs(n),this.sign):function(t,r,e){var n;return P(t,r)>=0?n=w(t,r):(n=w(r,t),e=!e),"number"==typeof(n=h(n))?(e&&(n=-n),new p(n)):new s(n,e)}(e,n,this.sign)},s.prototype.minus=s.prototype.subtract,p.prototype.subtract=function(t){var r=H(t),e=this.value;if(e<0!==r.sign)return this.add(r.negate());var n=r.value;return r.isSmall?new p(e-n):b(n,Math.abs(e),e>=0)},p.prototype.minus=p.prototype.subtract,s.prototype.negate=function(){return new s(this.value,!this.sign)},p.prototype.negate=function(){var t=this.sign,r=new p(-this.value);return r.sign=!t,r},s.prototype.abs=function(){return new s(this.value,!1)},p.prototype.abs=function(){return new p(Math.abs(this.value))},s.prototype.multiply=function(t){var r,n,o,i=H(t),a=this.value,p=i.value,l=this.sign!==i.sign;if(i.isSmall){if(0===p)return u[0];if(1===p)return this;if(-1===p)return this.negate();if((r=Math.abs(p))0?function t(r,e){var n=Math.max(r.length,e.length);if(n<=30)return M(r,e);n=Math.ceil(n/2);var o=r.slice(n),i=r.slice(0,n),a=e.slice(n),u=e.slice(0,n),s=t(i,u),p=t(o,a),l=t(m(i,o),m(u,a)),f=m(m(s,q(w(w(l,s),p),n)),q(p,2*n));return v(f),f}(a,p):M(a,p),l)},s.prototype.times=s.prototype.multiply,p.prototype._multiplyBySmall=function(t){return l(t.value*this.value)?new p(t.value*this.value):E(Math.abs(t.value),f(Math.abs(this.value)),this.sign!==t.sign)},s.prototype._multiplyBySmall=function(t){return 0===t.value?u[0]:1===t.value?this:-1===t.value?this.negate():E(Math.abs(t.value),this.value,this.sign!==t.sign)},p.prototype.multiply=function(t){return H(t)._multiplyBySmall(this)},p.prototype.times=p.prototype.multiply,s.prototype.square=function(){return new s(N(this.value),!1)},p.prototype.square=function(){var t=this.value*this.value;return l(t)?new p(t):new s(N(f(Math.abs(this.value))),!1)},s.prototype.divmod=function(t){var r=O(this,t);return{quotient:r[0],remainder:r[1]}},p.prototype.divmod=s.prototype.divmod,s.prototype.divide=function(t){return O(this,t)[0]},p.prototype.over=p.prototype.divide=s.prototype.over=s.prototype.divide,s.prototype.mod=function(t){return O(this,t)[1]},p.prototype.remainder=p.prototype.mod=s.prototype.remainder=s.prototype.mod,s.prototype.pow=function(t){var r,e,n,o=H(t),i=this.value,a=o.value;if(0===a)return u[1];if(0===i)return u[0];if(1===i)return u[1];if(-1===i)return o.isEven()?u[1]:u[-1];if(o.sign)return u[0];if(!o.isSmall)throw new Error("The exponent "+o.toString()+" is too large.");if(this.isSmall&&l(r=Math.pow(i,a)))return new p(c(r));for(e=this,n=u[1];!0&a&&(n=n.times(e),--a),0!==a;)a/=2,e=e.square();return n},p.prototype.pow=s.prototype.pow,s.prototype.modPow=function(t,r){if(t=H(t),(r=H(r)).isZero())throw new Error("Cannot take modPow with modulus 0");for(var e=u[1],n=this.mod(r);t.isPositive();){if(n.isZero())return u[0];t.isOdd()&&(e=e.multiply(n).mod(r)),t=t.divide(2),n=n.square().mod(r)}return e},p.prototype.modPow=s.prototype.modPow,s.prototype.compareAbs=function(t){var r=H(t),e=this.value,n=r.value;return r.isSmall?1:P(e,n)},p.prototype.compareAbs=function(t){var r=H(t),e=Math.abs(this.value),n=r.value;return r.isSmall?e===(n=Math.abs(n))?0:e>n?1:-1:-1},s.prototype.compare=function(t){if(t===1/0)return-1;if(t===-1/0)return 1;var r=H(t),e=this.value,n=r.value;return this.sign!==r.sign?r.sign?1:-1:r.isSmall?this.sign?-1:1:P(e,n)*(this.sign?-1:1)},s.prototype.compareTo=s.prototype.compare,p.prototype.compare=function(t){if(t===1/0)return-1;if(t===-1/0)return 1;var r=H(t),e=this.value,n=r.value;return r.isSmall?e==n?0:e>n?1:-1:e<0!==r.sign?e<0?-1:1:e<0?1:-1},p.prototype.compareTo=p.prototype.compare,s.prototype.equals=function(t){return 0===this.compare(t)},p.prototype.eq=p.prototype.equals=s.prototype.eq=s.prototype.equals,s.prototype.notEquals=function(t){return 0!==this.compare(t)},p.prototype.neq=p.prototype.notEquals=s.prototype.neq=s.prototype.notEquals,s.prototype.greater=function(t){return this.compare(t)>0},p.prototype.gt=p.prototype.greater=s.prototype.gt=s.prototype.greater,s.prototype.lesser=function(t){return this.compare(t)<0},p.prototype.lt=p.prototype.lesser=s.prototype.lt=s.prototype.lesser,s.prototype.greaterOrEquals=function(t){return this.compare(t)>=0},p.prototype.geq=p.prototype.greaterOrEquals=s.prototype.geq=s.prototype.greaterOrEquals,s.prototype.lesserOrEquals=function(t){return this.compare(t)<=0},p.prototype.leq=p.prototype.lesserOrEquals=s.prototype.leq=s.prototype.lesserOrEquals,s.prototype.isEven=function(){return 0==(1&this.value[0])},p.prototype.isEven=function(){return 0==(1&this.value)},s.prototype.isOdd=function(){return 1==(1&this.value[0])},p.prototype.isOdd=function(){return 1==(1&this.value)},s.prototype.isPositive=function(){return!this.sign},p.prototype.isPositive=function(){return this.value>0},s.prototype.isNegative=function(){return this.sign},p.prototype.isNegative=function(){return this.value<0},s.prototype.isUnit=function(){return!1},p.prototype.isUnit=function(){return 1===Math.abs(this.value)},s.prototype.isZero=function(){return!1},p.prototype.isZero=function(){return 0===this.value},s.prototype.isDivisibleBy=function(t){var r=H(t),e=r.value;return 0!==e&&(1===e||(2===e?this.isEven():this.mod(r).equals(u[0])))},p.prototype.isDivisibleBy=s.prototype.isDivisibleBy,s.prototype.isPrime=function(){var t=x(this);if(void 0!==t)return t;for(var e,n,o,i,a=this.abs(),s=a.prev(),p=[2,3,5,7,11,13,17,19],l=s;l.isEven();)l=l.divide(2);for(o=0;o-o?new p(t-1):new s(i,!0)};for(var Z=[1];2*Z[Z.length-1]<=e;)Z.push(2*Z[Z.length-1]);var I=Z.length,B=Z[I-1];function C(t){return("number"==typeof t||"string"==typeof t)&&+Math.abs(t)<=e||t instanceof s&&t.value.length<=1}function J(t,e,n){e=H(e);for(var o=t.isNegative(),i=e.isNegative(),a=o?t.not():t,u=i?e.not():e,s=0,p=0,l=null,f=null,h=[];!a.isZero()||!u.isZero();)s=(l=O(a,B))[1].toJSNumber(),o&&(s=B-1-s),p=(f=O(u,B))[1].toJSNumber(),i&&(p=B-1-p),a=l[0],u=f[0],h.push(n(s,p));for(var v=0!==n(o?1:0,i?1:0)?r(-1):r(0),y=h.length-1;y>=0;y-=1)v=v.multiply(B).add(r(h[y]));return v}s.prototype.shiftLeft=function(t){if(!C(t))throw new Error(String(t)+" is too large for shifting.");if((t=+t)<0)return this.shiftRight(-t);for(var r=this;t>=I;)r=r.multiply(B),t-=I-1;return r.multiply(Z[t])},p.prototype.shiftLeft=s.prototype.shiftLeft,s.prototype.shiftRight=function(t){var r;if(!C(t))throw new Error(String(t)+" is too large for shifting.");if((t=+t)<0)return this.shiftLeft(-t);for(var e=this;t>=I;){if(e.isZero())return e;e=(r=O(e,B))[1].isNegative()?r[0].prev():r[0],t-=I-1}return(r=O(e,Z[t]))[1].isNegative()?r[0].prev():r[0]},p.prototype.shiftRight=s.prototype.shiftRight,s.prototype.not=function(){return this.negate().prev()},p.prototype.not=s.prototype.not,s.prototype.and=function(t){return J(this,t,function(t,r){return t&r})},p.prototype.and=s.prototype.and,s.prototype.or=function(t){return J(this,t,function(t,r){return t|r})},p.prototype.or=s.prototype.or,s.prototype.xor=function(t){return J(this,t,function(t,r){return t^r})},p.prototype.xor=s.prototype.xor;var z=1<<30,j=(e&-e)*(e&-e)|z;function L(t){var r=t.value,n="number"==typeof r?r|z:r[0]+r[1]*e|j;return n&-n}function D(t,r){return t=H(t),r=H(r),t.greater(r)?t:r}function U(t,r){return t=H(t),r=H(r),t.lesser(r)?t:r}function k(t,r){if(t=H(t).abs(),r=H(r).abs(),t.equals(r))return t;if(t.isZero())return r;if(r.isZero())return t;for(var e,n,o=u[1];t.isEven()&&r.isEven();)e=Math.min(L(t),L(r)),t=t.divide(e),r=r.divide(e),o=o.multiply(e);for(;t.isEven();)t=t.divide(L(t));do{for(;r.isEven();)r=r.divide(L(r));t.greater(r)&&(n=r,r=t,t=n),r=r.subtract(t)}while(!r.isZero());return o.isUnit()?t:t.multiply(o)}var R=function(t,r){for(var e=t.length,n=Math.abs(r),o=0;o=n){if("1"===l&&1===n)continue;throw new Error(l+" is not a valid digit in base "+r+".")}if(l.charCodeAt(0)-87>=n)throw new Error(l+" is not a valid digit in base "+r+".")}}if(2<=r&&r<=36&&e<=a/Math.log(r)){var i=parseInt(t,r);if(isNaN(i))throw new Error(l+" is not a valid digit in base "+r+".");return new p(parseInt(t,r))}r=H(r);var u=[],s="-"===t[0];for(o=s?1:0;o"!==t[o]);u.push(H(t.slice(h+1,o)))}}return T(u,r,s)};function T(t,r,e){var n,o=u[0],i=u[1];for(n=t.length-1;n>=0;n--)o=o.add(t[n].times(i)),i=i.times(r);return e?o.negate():o}function _(t){return t<=35?"0123456789abcdefghijklmnopqrstuvwxyz".charAt(t):"<"+t+">"}function $(t,e){if((e=r(e)).isZero()){if(t.isZero())return{value:[0],isNegative:!1};throw new Error("Cannot convert nonzero numbers to base 0.")}if(e.equals(-1)){if(t.isZero())return{value:[0],isNegative:!1};if(t.isNegative())return{value:[].concat.apply([],Array.apply(null,Array(-t)).map(Array.prototype.valueOf,[1,0])),isNegative:!1};var n=Array.apply(null,Array(+t-1)).map(Array.prototype.valueOf,[0,1]);return n.unshift([1]),{value:[].concat.apply([],n),isNegative:!1}}var o=!1;if(t.isNegative()&&e.isPositive()&&(o=!0,t=t.abs()),e.equals(1))return t.isZero()?{value:[0],isNegative:!1}:{value:Array.apply(null,Array(+t)).map(Number.prototype.valueOf,1),isNegative:o};for(var i,a=[],u=t;u.isNegative()||u.compareAbs(e)>=0;){i=u.divmod(e),u=i.quotient;var s=i.remainder;s.isNegative()&&(s=e.minus(s).abs(),u=u.next()),a.push(s.toJSNumber())}return a.push(u.toJSNumber()),{value:a.reverse(),isNegative:o}}function F(t,r){var e=$(t,r);return(e.isNegative?"-":"")+e.value.map(_).join("")}function G(t){if(l(+t)){var r=+t;if(r===c(r))return new p(r);throw"Invalid integer: "+t}var e="-"===t[0];e&&(t=t.slice(1));var o=t.split(/e/i);if(o.length>2)throw new Error("Invalid integer: "+o.join("e"));if(2===o.length){var i=o[1];if("+"===i[0]&&(i=i.slice(1)),(i=+i)!==c(i)||!l(i))throw new Error("Invalid integer: "+i+" is not a valid exponent.");var a=o[0],u=a.indexOf(".");if(u>=0&&(i-=a.length-u-1,a=a.slice(0,u)+a.slice(u+1)),i<0)throw new Error("Cannot include negative exponent part for integers");t=a+=new Array(i+1).join("0")}if(!/^([0-9][0-9]*)$/.test(t))throw new Error("Invalid integer: "+t);for(var f=[],h=t.length,y=n,g=h-y;h>0;)f.push(+t.slice(g,h)),(g-=y)<0&&(g=0),h-=y;return v(f),new s(f,e)}function H(t){return"number"==typeof t?function(t){if(l(t)){if(t!==c(t))throw new Error(t+" is not an integer.");return new p(t)}return G(t.toString())}(t):"string"==typeof t?G(t):t}s.prototype.toArray=function(t){return $(this,t)},p.prototype.toArray=function(t){return $(this,t)},s.prototype.toString=function(t){if(void 0===t&&(t=10),10!==t)return F(this,t);for(var r,e=this.value,n=e.length,o=String(e[--n]);--n>=0;)r=String(e[n]),o+="0000000".slice(r.length)+r;return(this.sign?"-":"")+o},p.prototype.toString=function(t){return void 0===t&&(t=10),10!=t?F(this,t):String(this.value)},s.prototype.toJSON=p.prototype.toJSON=function(){return this.toString()},s.prototype.valueOf=function(){return parseInt(this.toString(),10)},s.prototype.toJSNumber=s.prototype.valueOf,p.prototype.valueOf=function(){return this.value},p.prototype.toJSNumber=p.prototype.valueOf;for(var K=0;K<1e3;K++)u[K]=new p(K),K>0&&(u[-K]=new p(-K));return u.one=u[1],u.zero=u[0],u.minusOne=u[-1],u.max=D,u.min=U,u.gcd=k,u.lcm=function(t,r){return t=H(t).abs(),r=H(r).abs(),t.divide(k(t,r)).multiply(r)},u.isInstance=function(t){return t instanceof s||t instanceof p},u.randBetween=function(t,r){var n=U(t=H(t),r=H(r)),o=D(t,r).subtract(n).add(1);if(o.isSmall)return n.add(Math.floor(Math.random()*o));for(var i=[],a=!0,u=o.value.length-1;u>=0;u--){var l=a?o.value[u]:e,f=c(Math.random()*l);i.unshift(f),f0?Math.floor(n):Math.ceil(n)}exports["fromBase'"]=function(r){return function(t){return function(u){return function(e){try{var o=n(e,u);return r(o)}catch(i){return t}}}}},exports["fromNumber'"]=function(t){return function(u){return function(e){try{var o=n(r(e));return t(o)}catch(i){return u}}}},exports.fromInt=function(r){return n(r)},exports.toBase=function(n){return function(r){return r.toString(n)}},exports.toNumber=function(n){return n.toJSNumber()},exports.biAdd=function(n){return function(r){return n.add(r)}},exports.biMul=function(n){return function(r){return n.multiply(r)}},exports.biSub=function(n){return function(r){return n.minus(r)}},exports.biMod=function(n){return function(r){return n.mod(r)}},exports.biDiv=function(n){return function(r){return n.divide(r)}},exports.biEquals=function(n){return function(r){return n.equals(r)}},exports.biCompare=function(n){return function(r){return n.compare(r)}},exports.abs=function(n){return n.abs()},exports.even=function(n){return n.isEven()},exports.odd=function(n){return n.isOdd()},exports.prime=function(n){return n.isPrime()},exports.pow=function(n){return function(r){return n.pow(r)}},exports.not=function(n){return n.not()},exports.or=function(n){return function(r){return n.or(r)}},exports.xor=function(n){return function(r){return n.xor(r)}},exports.and=function(n){return function(r){return n.and(r)}},exports.shl=function(n){return function(r){return n.shiftLeft(r)}},exports.shr=function(n){return function(r){return n.shiftRight(r)}},exports.digitsInBase=function(n){return function(r){return r.toArray(n)}}; +},{"big-integer":"9xaU"}],"2lBd":[function(require,module,exports) { +"use strict";exports.fromNumberImpl=function(r){return function(n){return function(t){return(0|t)===t?r(t):n}}},exports.toNumber=function(r){return r},exports.fromStringAsImpl=function(r){return function(n){return function(t){var u;u=t<11?"[0-"+(t-1).toString()+"]":11===t?"[0-9a]":"[0-9a-"+String.fromCharCode(86+t)+"]";var o=new RegExp("^[\\+\\-]?"+u+"+$","i");return function(u){if(o.test(u)){var e=parseInt(u,t);return(0|e)===e?r(e):n}return n}}}},exports.toStringAs=function(r){return function(n){return n.toString(r)}},exports.quot=function(r){return function(n){return r/n|0}},exports.rem=function(r){return function(n){return r%n}},exports.pow=function(r){return function(n){return 0|Math.pow(r,n)}}; +},{}],"xYq2":[function(require,module,exports) { +"use strict";var n=require("../Data.Ring/index.js"),i=require("../Data.Semiring/index.js"),r=function(n,i){this.Ring0=n,this.recip=i},e=function(n){return n.recip},t=function(n){return function(r){return function(t){return i.mul(n.Ring0().Semiring0())(r)(e(n)(t))}}},u=function(n){return function(r){return function(t){return i.mul(n.Ring0().Semiring0())(e(n)(t))(r)}}},c=new r(function(){return n.ringNumber},function(n){return 1/n});module.exports={DivisionRing:r,recip:e,leftDiv:u,rightDiv:t,divisionringNumber:c}; +},{"../Data.Ring/index.js":"E2qH","../Data.Semiring/index.js":"11NF"}],"pJ2E":[function(require,module,exports) { +"use strict";exports.nan=NaN,exports.isNaN=isNaN,exports.infinity=1/0,exports.isFinite=isFinite,exports.readInt=function(t){return function(e){return parseInt(e,t)}},exports.readFloat=parseFloat; +},{}],"aQlK":[function(require,module,exports) { +"use strict";var i=require("./foreign.js");module.exports={nan:i.nan,isNaN:i.isNaN,infinity:i.infinity,isFinite:i.isFinite,readInt:i.readInt,readFloat:i.readFloat}; +},{"./foreign.js":"pJ2E"}],"9/+z":[function(require,module,exports) { +"use strict";exports.abs=Math.abs,exports.acos=Math.acos,exports.asin=Math.asin,exports.atan=Math.atan,exports.atan2=function(t){return function(r){return Math.atan2(t,r)}},exports.ceil=Math.ceil,exports.cos=Math.cos,exports.exp=Math.exp,exports.floor=Math.floor,exports.trunc=Math.trunc||function(t){return t<0?Math.ceil(t):Math.floor(t)},exports.log=Math.log,exports.max=function(t){return function(r){return Math.max(t,r)}},exports.min=function(t){return function(r){return Math.min(t,r)}},exports.pow=function(t){return function(r){return Math.pow(t,r)}},exports.remainder=function(t){return function(r){return t%r}},exports.round=Math.round,exports.sin=Math.sin,exports.sqrt=Math.sqrt,exports.tan=Math.tan,exports.e=Math.E,exports.ln2=Math.LN2,exports.ln10=Math.LN10,exports.log2e=Math.LOG2E,exports.log10e=Math.LOG10E,exports.pi=Math.PI,exports.tau=2*Math.PI,exports.sqrt1_2=Math.SQRT1_2,exports.sqrt2=Math.SQRT2; +},{}],"Rpaz":[function(require,module,exports) { +"use strict";var a=require("./foreign.js");module.exports={abs:a.abs,acos:a.acos,asin:a.asin,atan:a.atan,atan2:a.atan2,ceil:a.ceil,cos:a.cos,exp:a.exp,floor:a.floor,log:a.log,max:a.max,min:a.min,pow:a.pow,round:a.round,sin:a.sin,sqrt:a.sqrt,tan:a.tan,trunc:a.trunc,remainder:a.remainder,e:a.e,ln2:a.ln2,ln10:a.ln10,log2e:a.log2e,log10e:a.log10e,pi:a.pi,tau:a.tau,sqrt1_2:a.sqrt1_2,sqrt2:a.sqrt2}; +},{"./foreign.js":"9/+z"}],"xNJb":[function(require,module,exports) { +"use strict";var n=require("./foreign.js"),e=require("../Control.Category/index.js"),t=require("../Data.Boolean/index.js"),r=require("../Data.Bounded/index.js"),i=require("../Data.CommutativeRing/index.js"),u=require("../Data.DivisionRing/index.js"),o=require("../Data.Eq/index.js"),a=require("../Data.EuclideanRing/index.js"),c=require("../Data.Maybe/index.js"),f=require("../Data.Ord/index.js"),l=require("../Data.Ordering/index.js"),d=require("../Data.Ring/index.js"),s=require("../Data.Semiring/index.js"),m=require("../Data.Show/index.js"),v=require("../Global/index.js"),w=require("../Math/index.js"),g=function(n){return n},q=function(){function n(){}return n.value=new n,n}(),h=function(){function n(){}return n.value=new n,n}(),D=new m.Show(function(n){if(n instanceof q)return"Even";if(n instanceof h)return"Odd";throw new Error("Failed pattern match at Data.Int (line 112, column 1 - line 114, column 19): "+[n.constructor.name])}),b=function(n){if(n>=2&&n<=36)return new c.Just(n);if(t.otherwise)return c.Nothing.value;throw new Error("Failed pattern match at Data.Int (line 193, column 1 - line 193, column 28): "+[n.constructor.name])},x=function(n){return 0!=(1&n)},y=8,j=16,p=n.fromStringAsImpl(c.Just.create)(c.Nothing.value),E=p(10),I=n.fromNumberImpl(c.Just.create)(c.Nothing.value),R=function(e){if(e===v.infinity)return 0;if(e===-v.infinity)return 0;if(e>=n.toNumber(r.top(r.boundedInt)))return r.top(r.boundedInt);if(e<=n.toNumber(r.bottom(r.boundedInt)))return r.bottom(r.boundedInt);if(t.otherwise)return c.fromMaybe(0)(I(e));throw new Error("Failed pattern match at Data.Int (line 66, column 1 - line 66, column 29): "+[e.constructor.name])},N=function(n){return R(w.round(n))},P=function(n){return R(w.floor(n))},S=function(n){return 0==(1&n)},F=function(n){return S(n)?q.value:h.value},O=new o.Eq(function(n){return function(e){return n instanceof q&&e instanceof q||n instanceof h&&e instanceof h}}),A=new f.Ord(function(){return O},function(n){return function(e){if(n instanceof q&&e instanceof q)return l.EQ.value;if(n instanceof q)return l.LT.value;if(e instanceof q)return l.GT.value;if(n instanceof h&&e instanceof h)return l.EQ.value;throw new Error("Failed pattern match at Data.Int (line 110, column 1 - line 110, column 40): "+[n.constructor.name,e.constructor.name])}}),C=new s.Semiring(function(n){return function(e){return o.eq(O)(n)(e)?q.value:h.value}},function(n){return function(e){return n instanceof h&&e instanceof h?h.value:q.value}},h.value,q.value),B=new d.Ring(function(){return C},s.add(C)),J=new u.DivisionRing(function(){return B},e.identity(e.categoryFn)),M=10,G=new i.CommutativeRing(function(){return B}),Q=new a.EuclideanRing(function(){return G},function(n){if(n instanceof q)return 0;if(n instanceof h)return 1;throw new Error("Failed pattern match at Data.Int (line 132, column 1 - line 136, column 17): "+[n.constructor.name])},function(n){return function(e){return n}},function(n){return function(n){return q.value}}),T=function(n){return R(w.ceil(n))},L=new r.Bounded(function(){return A},q.value,h.value),k=2,z=36;module.exports={fromNumber:I,ceil:T,floor:P,round:N,fromString:E,radix:b,binary:k,octal:y,decimal:M,hexadecimal:j,base36:z,fromStringAs:p,Even:q,Odd:h,parity:F,even:S,odd:x,eqParity:O,ordParity:A,showParity:D,boundedParity:L,semiringParity:C,ringParity:B,commutativeRingParity:G,euclideanRingParity:Q,divisionRingParity:J,toNumber:n.toNumber,toStringAs:n.toStringAs,quot:n.quot,rem:n.rem,pow:n.pow}; +},{"./foreign.js":"2lBd","../Control.Category/index.js":"IAi2","../Data.Boolean/index.js":"ObQr","../Data.Bounded/index.js":"kcUU","../Data.CommutativeRing/index.js":"60TQ","../Data.DivisionRing/index.js":"xYq2","../Data.Eq/index.js":"Pq4F","../Data.EuclideanRing/index.js":"2IRB","../Data.Maybe/index.js":"5mN7","../Data.Ord/index.js":"r4Vb","../Data.Ordering/index.js":"5Eun","../Data.Ring/index.js":"E2qH","../Data.Semiring/index.js":"11NF","../Data.Show/index.js":"mFY7","../Global/index.js":"aQlK","../Math/index.js":"Rpaz"}],"g11n":[function(require,module,exports) { +"use strict";exports.fromCharArray=function(n){return n.join("")},exports.toCharArray=function(n){return n.split("")},exports.singleton=function(n){return n},exports._charAt=function(n){return function(t){return function(r){return function(u){return r>=0&&re.length)return t;var o=e.indexOf(r,u);return-1===o?t:n(o)}}}}},exports._lastIndexOf=function(n){return function(t){return function(r){return function(u){var e=u.lastIndexOf(r);return-1===e?t:n(e)}}}},exports["_lastIndexOf'"]=function(n){return function(t){return function(r){return function(u){return function(e){if(u<0||u>e.length)return t;var o=e.lastIndexOf(r,u);return-1===o?t:n(o)}}}}},exports.take=function(n){return function(t){return t.substr(0,n)}},exports.drop=function(n){return function(t){return t.substring(n)}},exports._slice=function(n){return function(t){return function(r){return r.slice(n,t)}}},exports.splitAt=function(n){return function(t){return{before:t.substring(0,n),after:t.substring(n)}}}; +},{}],"iZpG":[function(require,module,exports) { +"use strict";exports.charAt=function(r){return function(t){if(r>=0&&r=a||c<0||c>a||f>c?e.Nothing.value:new e.Just(t._slice(r)(u)(i))}}},f=t["_lastIndexOf'"](e.Just.create)(e.Nothing.value),l=t._lastIndexOf(e.Just.create)(e.Nothing.value),s=function(n){return function(r){var u=l(n)(r);return u instanceof e.Just&&u.value0===(t.length(r)-t.length(n)|0)?e.Just.create(t.take(u.value0)(r)):e.Nothing.value}},h=t["_indexOf'"](e.Just.create)(e.Nothing.value),g=t._indexOf(e.Just.create)(e.Nothing.value),d=function(n){return function(r){var u=g(n)(r);return u instanceof e.Just&&0===u.value0?e.Just.create(t.drop(t.length(n))(r)):e.Nothing.value}},v=function(n){return function(e){return t.drop(t.countPrefix(n)(e))(e)}},x=function(n){return function(e){return t.take(t.length(e)-n|0)(e)}},p=function(t){var n=g(t);return function(t){return e.isJust(n(t))}},J=t._charAt(e.Just.create)(e.Nothing.value);module.exports={stripPrefix:d,stripSuffix:s,contains:p,charAt:J,toChar:i,uncons:u,indexOf:g,"indexOf'":h,lastIndexOf:l,"lastIndexOf'":f,takeRight:o,takeWhile:a,dropRight:x,dropWhile:v,slice:c,singleton:t.singleton,fromCharArray:t.fromCharArray,toCharArray:t.toCharArray,length:t.length,countPrefix:t.countPrefix,take:t.take,drop:t.drop,splitAt:t.splitAt}; +},{"./foreign.js":"g11n","../Data.Boolean/index.js":"ObQr","../Data.Maybe/index.js":"5mN7","../Data.String.Unsafe/index.js":"5UWM"}],"B+B2":[function(require,module,exports) { +"use strict";exports._localeCompare=function(r){return function(n){return function(t){return function(e){return function(o){var u=e.localeCompare(o);return u<0?r:u>0?t:n}}}}},exports.replace=function(r){return function(n){return function(t){return t.replace(r,n)}}},exports.replaceAll=function(r){return function(n){return function(t){return t.replace(new RegExp(r.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&"),"g"),n)}}},exports.split=function(r){return function(n){return n.split(r)}},exports.toLower=function(r){return r.toLowerCase()},exports.toUpper=function(r){return r.toUpperCase()},exports.trim=function(r){return r.trim()},exports.joinWith=function(r){return function(n){return n.join(r)}}; +},{}],"OSrc":[function(require,module,exports) { +"use strict";var e=require("./foreign.js"),r=require("../Data.Ordering/index.js"),l=function(e){return""===e},o=e._localeCompare(r.LT.value)(r.EQ.value)(r.GT.value);module.exports={null:l,localeCompare:o,replace:e.replace,replaceAll:e.replaceAll,split:e.split,toLower:e.toLower,toUpper:e.toUpper,trim:e.trim,joinWith:e.joinWith}; +},{"./foreign.js":"B+B2","../Data.Ordering/index.js":"5Eun"}],"Ph6A":[function(require,module,exports) { +"use strict";var n=require("../Control.Bind/index.js"),r=require("../Data.Eq/index.js"),t=require("../Data.Foldable/index.js"),e=require("../Data.Maybe/index.js"),i=require("../Data.Monoid/index.js"),o=require("../Data.Ord/index.js"),u=require("../Data.Semigroup/index.js"),c=require("../Data.Show/index.js"),a=require("../Data.String.CodeUnits/index.js"),f=require("../Data.String.Common/index.js"),p=require("../Data.Symbol/index.js"),m=function(n){return n},s=function(n){return n},l=function(n){this.nes=n},d=function(n){return f.toUpper(n)},S=function(n){return n},g=function(n){return f.toLower(n)},y=new c.Show(function(n){return"(NonEmptyString.unsafeFromString "+c.show(c.showString)(n)+")"}),E=new c.Show(function(n){return"(NonEmptyReplacement "+c.show(y)(n)+")"}),x=u.semigroupString,N=x,q=function(n){return function(r){return function(t){return f.replaceAll(n)(r)(t)}}},w=function(n){return function(r){return function(t){return f.replace(n)(r)(t)}}},j=function(n){return function(r){return n+r}},h=o.ordString,b=h,D=function(n){return new l(function(r){return p.reflectSymbol(n)(r)})},F=function(n){return n.nes},v=function(n){return new l(function(n){return""})},R=function(n){return function(r){return f.localeCompare(n)(r)}},C=function(n){return function(r){return n(r)}},M=function(n){return function(r){var e=t.intercalate(n.Foldable0())(i.monoidString)(r);return function(n){return m(e(n))}}},U=function(n){return function(r){var e=t.intercalate(n)(i.monoidString)(r);return function(n){return e(n)}}},W=function(n){return function(r){var t=U(n.Foldable0())(r);return function(n){return m(t(n))}}},k=function(n){return""===n?e.Nothing.value:new e.Just(n)},A=function(r){return n.composeKleisliFlipped(e.bindMaybe)(k)(C(a.stripPrefix(r)))},B=function(r){return n.composeKleisliFlipped(e.bindMaybe)(k)(C(a.stripSuffix(r)))},J=function(n){return k(f.trim(n))},K=function(n){var r=e.fromJust(n);return function(n){return r(k(n))}},L=r.eqString,P=L,O=function(n){return C(a.contains(n))},z=function(n){return function(r){return n+r}};module.exports={nes:F,NonEmptyString:m,MakeNonEmpty:l,NonEmptyReplacement:s,fromString:k,unsafeFromString:K,toString:S,appendString:z,prependString:j,stripPrefix:A,stripSuffix:B,contains:O,localeCompare:R,replace:w,replaceAll:q,toLower:g,toUpper:d,trim:J,joinWith:U,join1With:W,joinWith1:M,liftS:C,eqNonEmptyString:L,ordNonEmptyString:h,semigroupNonEmptyString:x,showNonEmptyString:y,makeNonEmptyBad:v,nonEmptyNonEmpty:D,eqNonEmptyReplacement:P,ordNonEmptyReplacement:b,semigroupNonEmptyReplacement:N,showNonEmptyReplacement:E}; +},{"../Control.Bind/index.js":"7VcT","../Data.Eq/index.js":"Pq4F","../Data.Foldable/index.js":"eVDl","../Data.Maybe/index.js":"5mN7","../Data.Monoid/index.js":"TiEB","../Data.Ord/index.js":"r4Vb","../Data.Semigroup/index.js":"EsAJ","../Data.Show/index.js":"mFY7","../Data.String.CodeUnits/index.js":"6c6X","../Data.String.Common/index.js":"OSrc","../Data.Symbol/index.js":"4oJQ"}],"Zx+T":[function(require,module,exports) { +"use strict";var n=require("./foreign.js"),e=require("../Data.CommutativeRing/index.js"),r=require("../Data.Eq/index.js"),i=require("../Data.EuclideanRing/index.js"),t=require("../Data.Int/index.js"),o=require("../Data.Maybe/index.js"),u=require("../Data.Ord/index.js"),a=require("../Data.Ordering/index.js"),s=require("../Data.Ring/index.js"),d=require("../Data.Semiring/index.js"),m=require("../Data.Show/index.js"),g=require("../Data.String.NonEmpty.Internal/index.js"),f=n.toBase(10),b=function(e){return function(r){return o.fromJust()(g.fromString(n.toBase(e)(r)))}},c=b(10),q=new m.Show(function(n){return'fromString "'+f(n)+'"'}),B=new d.Semiring(n.biAdd,n.biMul,n.fromInt(1),n.fromInt(0)),l=new s.Ring(function(){return B},n.biSub),v=n.biMod,I=n.biDiv,x=n["fromNumber'"](o.Just.create)(o.Nothing.value),D=n["fromBase'"](o.Just.create)(o.Nothing.value),j=D(10),w=new r.Eq(n.biEquals),S=new u.Ord(function(){return w},function(e){return function(r){var i=n.biCompare(e)(r);return 1===i?a.GT.value:0===i?a.EQ.value:a.LT.value}}),h=new e.CommutativeRing(function(){return l}),N=new i.EuclideanRing(function(){return h},function(e){return t.floor(n.toNumber(n.abs(e)))},function(e){return function(r){return n.biDiv(s.sub(l)(e)(i.mod(N)(e)(r)))(r)}},function(e){return function(r){var i=n.abs(r);return n.biMod(d.add(B)(n.biMod(e)(i))(i))(i)}});module.exports={fromString:j,fromBase:D,fromNumber:x,toString:f,toNonEmptyString:c,"toBase'":b,quot:I,rem:v,eqBigInt:w,ordBigInt:S,showBigInt:q,semiringBigInt:B,ringBigInt:l,commutativeRingBigInt:h,euclideanRingBigInt:N,fromInt:n.fromInt,toBase:n.toBase,digitsInBase:n.digitsInBase,abs:n.abs,even:n.even,odd:n.odd,prime:n.prime,pow:n.pow,not:n.not,or:n.or,xor:n.xor,and:n.and,shl:n.shl,shr:n.shr,toNumber:n.toNumber}; +},{"./foreign.js":"S0gh","../Data.CommutativeRing/index.js":"60TQ","../Data.Eq/index.js":"Pq4F","../Data.EuclideanRing/index.js":"2IRB","../Data.Int/index.js":"xNJb","../Data.Maybe/index.js":"5mN7","../Data.Ord/index.js":"r4Vb","../Data.Ordering/index.js":"5Eun","../Data.Ring/index.js":"E2qH","../Data.Semiring/index.js":"11NF","../Data.Show/index.js":"mFY7","../Data.String.NonEmpty.Internal/index.js":"Ph6A"}],"HkJx":[function(require,module,exports) { +"use strict";var r=require("../Control.MonadZero/index.js"),o=function(r){this.MonadZero0=r},n=new o(function(){return r.monadZeroArray});module.exports={MonadPlus:o,monadPlusArray:n}; +},{"../Control.MonadZero/index.js":"lD5R"}],"qF8i":[function(require,module,exports) { +"use strict";var n=require("../Control.Alt/index.js"),e=require("../Control.Applicative/index.js"),r=require("../Control.Apply/index.js"),t=require("../Control.Category/index.js"),u=require("../Control.Plus/index.js"),o=require("../Data.Eq/index.js"),i=require("../Data.Foldable/index.js"),a=require("../Data.FoldableWithIndex/index.js"),l=require("../Data.Functor/index.js"),c=require("../Data.FunctorWithIndex/index.js"),f=require("../Data.Maybe/index.js"),d=require("../Data.Ord/index.js"),p=require("../Data.Ordering/index.js"),v=require("../Data.Semigroup/index.js"),s=require("../Data.Semigroup.Foldable/index.js"),x=require("../Data.Show/index.js"),q=require("../Data.Traversable/index.js"),m=require("../Data.TraversableWithIndex/index.js"),y=require("../Data.Tuple/index.js"),h=require("../Data.Unfoldable/index.js"),b=require("../Data.Unfoldable1/index.js"),w=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(r){return new n(e,r)}},n}(),j=function(n){return new b.Unfoldable1(function(e){return function(r){return y.uncurry(w.create)(l.map(y.functorTuple)(h.unfoldr(n)(l.map(f.functorMaybe)(e)))(e(r)))}})},E=function(n){return n.value1},F=function(n){return function(e){return new w(e,u.empty(n))}},N=function(n){return function(e){return new x.Show(function(r){return"(NonEmpty "+x.show(n)(r.value0)+" "+x.show(e)(r.value1)+")"})}},D=function(r){return function(t){return n.alt(r.Plus1().Alt0())(e.pure(r.Applicative0())(t.value0))(t.value1)}},I=function(n){return n.value0},W=function(n){return new l.Functor(function(e){return function(r){return new w(e(r.value0),l.map(n)(e)(r.value1))}})},g=function(n){return new c.FunctorWithIndex(function(){return W(n.Functor0())},function(e){return function(r){return new w(e(f.Nothing.value)(r.value0),c.mapWithIndex(n)(function(n){return e(f.Just.create(n))})(r.value1))}})},A=function(n){return function(e){return n(e.value0)(e.value1)}},T=function(n){return function(e){return function(r){return i.foldl(n)(e)(r.value0)(r.value1)}}},C=function(n){return new i.Foldable(function(e){return function(r){return function(t){return v.append(e.Semigroup0())(r(t.value0))(i.foldMap(n)(e)(r)(t.value1))}}},function(e){return function(r){return function(t){return i.foldl(n)(e)(e(r)(t.value0))(t.value1)}}},function(e){return function(r){return function(t){return e(t.value0)(i.foldr(n)(e)(r)(t.value1))}}})},S=function(n){return new a.FoldableWithIndex(function(){return C(n.Foldable0())},function(e){return function(r){return function(t){return v.append(e.Semigroup0())(r(f.Nothing.value)(t.value0))(a.foldMapWithIndex(n)(e)(function(n){return r(f.Just.create(n))})(t.value1))}}},function(e){return function(r){return function(t){return a.foldlWithIndex(n)(function(n){return e(f.Just.create(n))})(e(f.Nothing.value)(r)(t.value0))(t.value1)}}},function(e){return function(r){return function(t){return e(f.Nothing.value)(t.value0)(a.foldrWithIndex(n)(function(n){return e(f.Just.create(n))})(r)(t.value1))}}})},J=function(n){return new q.Traversable(function(){return C(n.Foldable1())},function(){return W(n.Functor0())},function(e){return function(t){return r.apply(e.Apply0())(l.map(e.Apply0().Functor0())(w.create)(t.value0))(q.sequence(n)(e)(t.value1))}},function(e){return function(t){return function(u){return r.apply(e.Apply0())(l.map(e.Apply0().Functor0())(w.create)(t(u.value0)))(q.traverse(n)(e)(t)(u.value1))}}})},M=function(n){return new m.TraversableWithIndex(function(){return S(n.FoldableWithIndex1())},function(){return g(n.FunctorWithIndex0())},function(){return J(n.Traversable2())},function(e){return function(t){return function(u){return r.apply(e.Apply0())(l.map(e.Apply0().Functor0())(w.create)(t(f.Nothing.value)(u.value0)))(m.traverseWithIndex(n)(e)(function(n){return t(f.Just.create(n))})(u.value1))}}})},O=function n(e){return new s.Foldable1(function(){return C(e)},function(r){return s.foldMap1(n(e))(r)(t.identity(t.categoryFn))},function(n){return function(r){return function(t){return i.foldl(e)(function(e){return function(t){return v.append(n)(e)(r(t))}})(r(t.value0))(t.value1)}}})},U=function(n){return function(e){return new o.Eq(function(r){return function(t){return o.eq(e)(r.value0)(t.value0)&&o.eq1(n)(e)(r.value1)(t.value1)}})}},G=function(n){return function(e){return new d.Ord(function(){return U(n.Eq10())(e.Eq0())},function(r){return function(t){var u=d.compare(e)(r.value0)(t.value0);return u instanceof p.LT?p.LT.value:u instanceof p.GT?p.GT.value:d.compare1(n)(e)(r.value1)(t.value1)}})}},L=function(n){return new o.Eq1(function(e){return o.eq(U(n)(e))})},P=function(n){return new d.Ord1(function(){return L(n.Eq10())},function(e){return d.compare(G(n)(e))})};module.exports={NonEmpty:w,singleton:F,foldl1:T,fromNonEmpty:A,oneOf:D,head:I,tail:E,showNonEmpty:N,eqNonEmpty:U,eq1NonEmpty:L,ordNonEmpty:G,ord1NonEmpty:P,functorNonEmpty:W,functorWithIndex:g,foldableNonEmpty:C,foldableWithIndexNonEmpty:S,traversableNonEmpty:J,traversableWithIndexNonEmpty:M,foldable1NonEmpty:O,unfoldable1NonEmpty:j}; +},{"../Control.Alt/index.js":"lN+m","../Control.Applicative/index.js":"qYya","../Control.Apply/index.js":"QcLv","../Control.Category/index.js":"IAi2","../Control.Plus/index.js":"oMBg","../Data.Eq/index.js":"Pq4F","../Data.Foldable/index.js":"eVDl","../Data.FoldableWithIndex/index.js":"9Efi","../Data.Functor/index.js":"+0AE","../Data.FunctorWithIndex/index.js":"OHRN","../Data.Maybe/index.js":"5mN7","../Data.Ord/index.js":"r4Vb","../Data.Ordering/index.js":"5Eun","../Data.Semigroup/index.js":"EsAJ","../Data.Semigroup.Foldable/index.js":"ht+A","../Data.Show/index.js":"mFY7","../Data.Traversable/index.js":"n7EE","../Data.TraversableWithIndex/index.js":"V4EF","../Data.Tuple/index.js":"II/O","../Data.Unfoldable/index.js":"77+Z","../Data.Unfoldable1/index.js":"S0Nl"}],"Xxuc":[function(require,module,exports) { +"use strict";var n=require("../Control.Alt/index.js"),e=require("../Control.Alternative/index.js"),t=require("../Control.Applicative/index.js"),r=require("../Control.Apply/index.js"),u=require("../Control.Bind/index.js"),i=require("../Control.Category/index.js"),o=require("../Control.Comonad/index.js"),a=require("../Control.Extend/index.js"),l=require("../Control.Monad/index.js"),c=require("../Control.MonadPlus/index.js"),f=require("../Control.MonadZero/index.js"),v=require("../Control.Plus/index.js"),s=require("../Data.Eq/index.js"),d=require("../Data.Foldable/index.js"),p=require("../Data.FoldableWithIndex/index.js"),m=require("../Data.Function/index.js"),w=require("../Data.Functor/index.js"),y=require("../Data.FunctorWithIndex/index.js"),x=require("../Data.Maybe/index.js"),E=require("../Data.Monoid/index.js"),L=require("../Data.Newtype/index.js"),h=require("../Data.NonEmpty/index.js"),N=require("../Data.Ord/index.js"),b=require("../Data.Ordering/index.js"),q=require("../Data.Semigroup/index.js"),j=require("../Data.Semigroup.Traversable/index.js"),I=require("../Data.Semiring/index.js"),D=require("../Data.Show/index.js"),W=require("../Data.Traversable/index.js"),F=require("../Data.TraversableWithIndex/index.js"),T=require("../Data.Tuple/index.js"),g=require("../Data.Unfoldable/index.js"),C=require("../Data.Unfoldable1/index.js"),A=function(){function n(){}return n.value=new n,n}(),M=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),S=function(n){return n},P=function(n){return new M(n.value0,n.value1)},O=new L.Newtype(function(n){return n},S),U=function(n){return function(e){return new h.NonEmpty(n,new M(e.value0,e.value1))}},B=function(n){var e;return e=A.value,function(t){var r,u=e,i=!1;function o(e,r){return r instanceof M&&r.value1 instanceof M&&r.value1.value1 instanceof M?(u=new M(r,e),void(t=r.value1.value1.value1)):(i=!0,(a=e,function(e){for(var t,r,u,i=a,o=!1;!o;)u=e,t=(r=i)instanceof M&&r.value0 instanceof M&&r.value0.value1 instanceof M&&r.value0.value1.value1 instanceof M?(i=r.value1,void(e=new M(n(r.value0.value0),new M(n(r.value0.value1.value0),new M(n(r.value0.value1.value1.value0),u))))):(o=!0,u);return t})((o=r)instanceof M&&o.value1 instanceof M&&o.value1.value1 instanceof A?new M(n(o.value0),new M(n(o.value1.value0),A.value)):o instanceof M&&o.value1 instanceof A?new M(n(o.value0),A.value):A.value));var o,a}for(;!i;)r=o(u,t);return r}},Z=new w.Functor(B),J=h.functorNonEmpty(Z),Q=new d.Foldable(function(n){return function(e){return d.foldl(Q)(function(t){var r=q.append(n.Semigroup0())(t);return function(n){return r(e(n))}})(E.mempty(n))}},function(n){return function(e){return function(t){var r,u=e,i=!1;function o(e,r){if(r instanceof A)return i=!0,e;if(r instanceof M)return u=n(e)(r.value0),void(t=r.value1);throw new Error("Failed pattern match at Data.List.Types (line 109, column 12 - line 111, column 30): "+[r.constructor.name])}for(;!i;)r=o(u,t);return r}}},function(n){return function(e){var t=d.foldl(Q)(m.flip(M.create))(A.value),r=d.foldl(Q)(m.flip(n))(e);return function(n){return r(t(n))}}}),G=h.foldableNonEmpty(Q),k=new p.FoldableWithIndex(function(){return Q},function(n){return function(e){return p.foldlWithIndex(k)(function(t){return function(r){var u=q.append(n.Semigroup0())(r),i=e(t);return function(n){return u(i(n))}}})(E.mempty(n))}},function(n){return function(e){var t=d.foldl(Q)(function(e){return function(t){return new T.Tuple(e.value0+1|0,n(e.value0)(e.value1)(t))}})(new T.Tuple(0,e));return function(n){return T.snd(t(n))}}},function(n){return function(e){return function(t){var r=d.foldl(Q)(function(n){return function(e){return new T.Tuple(n.value0+1|0,new M(e,n.value1))}})(new T.Tuple(0,A.value))(t);return T.snd(d.foldl(Q)(function(e){return function(t){return new T.Tuple(e.value0-1|0,n(e.value0-1|0)(t)(e.value1))}})(new T.Tuple(r.value0,e))(r.value1))}}}),z=new p.FoldableWithIndex(function(){return G},function(n){return function(e){return function(t){return p.foldMapWithIndex(h.foldableWithIndexNonEmpty(k))(n)((r=x.maybe(0)(I.add(I.semiringInt)(1)),function(n){return e(r(n))}))(t);var r}}},function(n){return function(e){return function(t){return p.foldlWithIndex(h.foldableWithIndexNonEmpty(k))((r=x.maybe(0)(I.add(I.semiringInt)(1)),function(e){return n(r(e))}))(e)(t);var r}}},function(n){return function(e){return function(t){return p.foldrWithIndex(h.foldableWithIndexNonEmpty(k))((r=x.maybe(0)(I.add(I.semiringInt)(1)),function(e){return n(r(e))}))(e)(t);var r}}}),H=new y.FunctorWithIndex(function(){return Z},function(n){return p.foldrWithIndex(k)(function(e){return function(t){return function(r){return new M(n(e)(t),r)}}})(A.value)}),K=new y.FunctorWithIndex(function(){return J},function(n){return function(e){return S(y.mapWithIndex(h.functorWithIndex(H))((t=x.maybe(0)(I.add(I.semiringInt)(1)),function(e){return n(t(e))}))(e));var t}}),R=new q.Semigroup(function(n){return function(e){return d.foldr(Q)(M.create)(e)(n)}}),V=new E.Monoid(function(){return R},A.value),X=new q.Semigroup(function(n){return function(e){return new h.NonEmpty(n.value0,q.append(R)(n.value1)(P(e)))}}),Y=function(n){return new D.Show(function(e){return e instanceof A?"Nil":"("+d.intercalate(Q)(E.monoidString)(" : ")(w.map(Z)(D.show(n))(e))+" : Nil)"})},$=function(n){return new D.Show(function(e){return"(NonEmptyList "+D.show(h.showNonEmpty(n)(Y(n)))(e)+")"})},_=new W.Traversable(function(){return Q},function(){return Z},function(n){return W.traverse(_)(n)(i.identity(i.categoryFn))},function(n){return function(e){var u=w.map(n.Apply0().Functor0())(d.foldl(Q)(m.flip(M.create))(A.value)),i=d.foldl(Q)(function(t){var u=r.lift2(n.Apply0())(m.flip(M.create))(t);return function(n){return u(e(n))}})(t.pure(n)(A.value));return function(n){return u(i(n))}}}),nn=h.traversableNonEmpty(_),en=new F.TraversableWithIndex(function(){return k},function(){return H},function(){return _},function(n){return function(e){var u=d.foldl(Q)(m.flip(M.create))(A.value),i=w.map(n.Apply0().Functor0())(u),o=p.foldlWithIndex(k)(function(t){return function(u){var i=r.lift2(n.Apply0())(m.flip(M.create))(u),o=e(t);return function(n){return i(o(n))}}})(t.pure(n)(A.value));return function(n){return i(o(n))}}}),tn=new F.TraversableWithIndex(function(){return z},function(){return K},function(){return nn},function(n){return function(e){return function(t){return w.map(n.Apply0().Functor0())(S)(F.traverseWithIndex(h.traversableWithIndexNonEmpty(en))(n)((r=x.maybe(0)(I.add(I.semiringInt)(1)),function(n){return e(r(n))}))(t));var r}}}),rn=new C.Unfoldable1(function(n){return function(e){var t;return(t=e,function(e){var r,u=t,i=!1;function o(t,r){var o=n(t);if(o.value1 instanceof x.Just)return u=o.value1.value0,void(e=new M(o.value0,r));if(o.value1 instanceof x.Nothing)return i=!0,d.foldl(Q)(m.flip(M.create))(A.value)(new M(o.value0,r));throw new Error("Failed pattern match at Data.List.Types (line 133, column 22 - line 135, column 61): "+[o.constructor.name])}for(;!i;)r=o(u,e);return r})(A.value)}}),un=new g.Unfoldable(function(){return rn},function(n){return function(e){var t;return(t=e,function(e){var r,u=t,i=!1;function o(t,r){var o=n(t);if(o instanceof x.Nothing)return i=!0,d.foldl(Q)(m.flip(M.create))(A.value)(r);if(o instanceof x.Just)return u=o.value0.value1,void(e=new M(o.value0.value0,r));throw new Error("Failed pattern match at Data.List.Types (line 140, column 22 - line 142, column 52): "+[o.constructor.name])}for(;!i;)r=o(u,e);return r})(A.value)}}),on=h.unfoldable1NonEmpty(un),an=h.foldable1NonEmpty(Q),ln=new a.Extend(function(){return J},function(n){return function(e){return new h.NonEmpty(n(e),d.foldr(Q)(function(e){return function(t){return{val:new M(n(new h.NonEmpty(e,t.acc)),t.val),acc:new M(e,t.acc)}}})({val:A.value,acc:A.value})(e.value1).val)}}),cn=new a.Extend(function(){return Z},function(n){return function(e){if(e instanceof A)return A.value;if(e instanceof M){return new M(n(e),d.foldr(Q)(function(e){return function(t){var r=new M(e,t.acc);return{val:new M(n(r),t.val),acc:r}}})({val:A.value,acc:A.value})(e.value1).val)}throw new Error("Failed pattern match at Data.List.Types (line 180, column 1 - line 187, column 42): "+[n.constructor.name,e.constructor.name])}}),fn=new s.Eq1(function(n){return function(e){return function(t){var r;return(r=e,function(e){return function(t){for(var u,i,o,a,l=r,c=e,f=!1;!f;)i=l,o=c,u=(a=t)?i instanceof A&&o instanceof A?(f=!0,a):i instanceof M&&o instanceof M?(l=i.value1,c=o.value1,void(t=a&&s.eq(n)(o.value0)(i.value0))):(f=!0,!1):(f=!0,!1);return u}})(t)(!0)}}}),vn=function(n){return new s.Eq(s.eq1(fn)(n))},sn=function(n){return h.eqNonEmpty(fn)(n)},dn=new N.Ord1(function(){return fn},function(n){return function(e){return function(t){var r;return(r=e,function(e){var t,u=r,i=!1;function o(t,r){if(t instanceof A&&r instanceof A)return i=!0,b.EQ.value;if(t instanceof A)return i=!0,b.LT.value;if(r instanceof A)return i=!0,b.GT.value;if(t instanceof M&&r instanceof M){var o=N.compare(n)(t.value0)(r.value0);return o instanceof b.EQ?(u=t.value1,void(e=r.value1)):(i=!0,o)}throw new Error("Failed pattern match at Data.List.Types (line 61, column 5 - line 61, column 20): "+[t.constructor.name,r.constructor.name])}for(;!i;)t=o(u,e);return t})(t)}}}),pn=function(n){return new N.Ord(function(){return vn(n.Eq0())},N.compare1(dn)(n))},mn=function(n){return h.ordNonEmpty(dn)(n)},wn=new o.Comonad(function(){return ln},function(n){return n.value0}),yn=new r.Apply(function(){return Z},function(n){return function(e){if(n instanceof A)return A.value;if(n instanceof M)return q.append(R)(w.map(Z)(n.value0)(e))(r.apply(yn)(n.value1)(e));throw new Error("Failed pattern match at Data.List.Types (line 155, column 1 - line 157, column 48): "+[n.constructor.name,e.constructor.name])}}),xn=new r.Apply(function(){return J},function(n){return function(e){return new h.NonEmpty(n.value0(e.value0),q.append(R)(r.apply(yn)(n.value1)(new M(e.value0,A.value)))(r.apply(yn)(new M(n.value0,n.value1))(e.value1)))}}),En=new u.Bind(function(){return yn},function(n){return function(e){if(n instanceof A)return A.value;if(n instanceof M)return q.append(R)(e(n.value0))(u.bind(En)(n.value1)(e));throw new Error("Failed pattern match at Data.List.Types (line 162, column 1 - line 164, column 37): "+[n.constructor.name,e.constructor.name])}}),Ln=new u.Bind(function(){return xn},function(n){return function(e){var t=e(n.value0);return new h.NonEmpty(t.value0,q.append(R)(t.value1)(u.bind(En)(n.value1)(function(n){return P(e(n))})))}}),hn=new t.Applicative(function(){return yn},function(n){return new M(n,A.value)}),Nn=new l.Monad(function(){return hn},function(){return En}),bn=new n.Alt(function(){return J},q.append(X)),qn=new n.Alt(function(){return Z},q.append(R)),jn=new v.Plus(function(){return qn},A.value),In=new e.Alternative(function(){return hn},function(){return jn}),Dn=new f.MonadZero(function(){return In},function(){return Nn}),Wn=new c.MonadPlus(function(){return Dn}),Fn=new t.Applicative(function(){return xn},function(){var n=h.singleton(jn);return function(e){return S(n(e))}}()),Tn=new l.Monad(function(){return Fn},function(){return Ln}),gn=new j.Traversable1(function(){return an},function(){return nn},function(n){return j.traverse1(gn)(n)(i.identity(i.categoryFn))},function(n){return function(e){return function(u){return w.mapFlipped(n.Functor0())(d.foldl(Q)(function(t){var u=r.lift2(n)(m.flip(U))(t);return function(n){return u(e(n))}})(w.map(n.Functor0())(t.pure(Fn))(e(u.value0)))(u.value1))(function(n){return d.foldl(Q)(m.flip(U))(t.pure(Fn)(n.value0))(n.value1)})}}});module.exports={Nil:A,Cons:M,NonEmptyList:S,toList:P,nelCons:U,showList:Y,eqList:vn,eq1List:fn,ordList:pn,ord1List:dn,semigroupList:R,monoidList:V,functorList:Z,functorWithIndexList:H,foldableList:Q,foldableWithIndexList:k,unfoldable1List:rn,unfoldableList:un,traversableList:_,traversableWithIndexList:en,applyList:yn,applicativeList:hn,bindList:En,monadList:Nn,altList:qn,plusList:jn,alternativeList:In,monadZeroList:Dn,monadPlusList:Wn,extendList:cn,newtypeNonEmptyList:O,eqNonEmptyList:sn,ordNonEmptyList:mn,showNonEmptyList:$,functorNonEmptyList:J,applyNonEmptyList:xn,applicativeNonEmptyList:Fn,bindNonEmptyList:Ln,monadNonEmptyList:Tn,altNonEmptyList:bn,extendNonEmptyList:ln,comonadNonEmptyList:wn,semigroupNonEmptyList:X,foldableNonEmptyList:G,traversableNonEmptyList:nn,foldable1NonEmptyList:an,unfoldable1NonEmptyList:on,functorWithIndexNonEmptyList:K,foldableWithIndexNonEmptyList:z,traversableWithIndexNonEmptyList:tn,traversable1NonEmptyList:gn}; +},{"../Control.Alt/index.js":"lN+m","../Control.Alternative/index.js":"aHia","../Control.Applicative/index.js":"qYya","../Control.Apply/index.js":"QcLv","../Control.Bind/index.js":"7VcT","../Control.Category/index.js":"IAi2","../Control.Comonad/index.js":"U0zO","../Control.Extend/index.js":"JIoJ","../Control.Monad/index.js":"U/Ix","../Control.MonadPlus/index.js":"HkJx","../Control.MonadZero/index.js":"lD5R","../Control.Plus/index.js":"oMBg","../Data.Eq/index.js":"Pq4F","../Data.Foldable/index.js":"eVDl","../Data.FoldableWithIndex/index.js":"9Efi","../Data.Function/index.js":"ImXJ","../Data.Functor/index.js":"+0AE","../Data.FunctorWithIndex/index.js":"OHRN","../Data.Maybe/index.js":"5mN7","../Data.Monoid/index.js":"TiEB","../Data.Newtype/index.js":"lz8k","../Data.NonEmpty/index.js":"qF8i","../Data.Ord/index.js":"r4Vb","../Data.Ordering/index.js":"5Eun","../Data.Semigroup/index.js":"EsAJ","../Data.Semigroup.Traversable/index.js":"qkfi","../Data.Semiring/index.js":"11NF","../Data.Show/index.js":"mFY7","../Data.Traversable/index.js":"n7EE","../Data.TraversableWithIndex/index.js":"V4EF","../Data.Tuple/index.js":"II/O","../Data.Unfoldable/index.js":"77+Z","../Data.Unfoldable1/index.js":"S0Nl"}],"ezw6":[function(require,module,exports) { +"use strict";var n=require("../Control.Alt/index.js"),e=require("../Control.Applicative/index.js"),t=require("../Control.Apply/index.js"),r=require("../Control.Bind/index.js"),u=require("../Control.Category/index.js"),o=require("../Control.Lazy/index.js"),i=require("../Control.Monad.Rec.Class/index.js"),a=require("../Data.Bifunctor/index.js"),c=require("../Data.Boolean/index.js"),l=require("../Data.Eq/index.js"),f=require("../Data.Foldable/index.js"),s=require("../Data.Function/index.js"),v=require("../Data.Functor/index.js"),m=require("../Data.FunctorWithIndex/index.js"),d=require("../Data.HeytingAlgebra/index.js"),w=require("../Data.List.Types/index.js"),p=require("../Data.Maybe/index.js"),C=require("../Data.Newtype/index.js"),h=require("../Data.NonEmpty/index.js"),N=require("../Data.Ord/index.js"),q=require("../Data.Ordering/index.js"),y=require("../Data.Semigroup/index.js"),D=require("../Data.Show/index.js"),L=require("../Data.Traversable/index.js"),b=require("../Data.Tuple/index.js"),x=require("../Data.Unfoldable/index.js"),F=require("../Data.Unit/index.js"),g=function(n){return n},E=function n(e){return function(t){return function(r){return 0===e&&r instanceof w.Cons?new p.Just(new w.Cons(t,r.value1)):r instanceof w.Cons?v.map(p.functorMaybe)(function(n){return new w.Cons(r.value0,n)})(n(e-1|0)(t)(r.value1)):p.Nothing.value}}},j=f.foldr(w.foldableList)(function(n){return function(e){return new b.Tuple(new w.Cons(n.value0,e.value0),new w.Cons(n.value1,e.value1))}})(new b.Tuple(w.Nil.value,w.Nil.value)),A=function(n){if(n instanceof w.Nil)return p.Nothing.value;if(n instanceof w.Cons)return new p.Just({head:n.value0,tail:n.value1});throw new Error("Failed pattern match at Data.List (line 259, column 1 - line 259, column 66): "+[n.constructor.name])},M=function(n){return x.unfoldr(n)(function(n){return v.map(p.functorMaybe)(function(n){return new b.Tuple(n.head,n.tail)})(A(n))})},J=function(n){if(n instanceof w.Nil)return p.Nothing.value;if(n instanceof w.Cons)return new p.Just(n.value1);throw new Error("Failed pattern match at Data.List (line 245, column 1 - line 245, column 43): "+[n.constructor.name])},B=function(n){return function(e){return function(t){return i.tailRecM2(i.monadRecMaybe)(function(e){return function(t){return e instanceof w.Cons&&t instanceof w.Cons&&l.eq(n)(e.value0)(t.value0)?p.Just.create(new i.Loop({a:e.value1,b:t.value1})):e instanceof w.Nil?p.Just.create(new i.Done(t)):p.Nothing.value}})(e)(t)}}},P=function n(e){return function(t){if(t instanceof w.Cons&&e(t.value0)){var r=n(e)(t.value1);return{init:new w.Cons(t.value0,r.init),rest:r.rest}}return{init:w.Nil.value,rest:t}}},T=function(n){return function(e){return f.foldr(w.foldableList)(w.Cons.create)(new w.Cons(e,w.Nil.value))(n)}},I=function(n){return new w.Cons(n,w.Nil.value)},W=function(n){var e=function e(t){return t instanceof w.Cons&&t.value1 instanceof w.Cons?new w.Cons(function e(t){return function(r){if(t instanceof w.Cons&&r instanceof w.Cons){if(l.eq(q.eqOrdering)(n(t.value0)(r.value0))(q.GT.value))return new w.Cons(r.value0,e(t)(r.value1));if(c.otherwise)return new w.Cons(t.value0,e(t.value1)(r))}if(t instanceof w.Nil)return r;if(r instanceof w.Nil)return t;throw new Error("Failed pattern match at Data.List (line 473, column 3 - line 473, column 38): "+[t.constructor.name,r.constructor.name])}}(t.value0)(t.value1.value0),e(t.value1.value1)):t},t=function(e){if(e instanceof w.Cons&&e.value1 instanceof w.Cons){if(l.eq(q.eqOrdering)(n(e.value0)(e.value1.value0))(q.GT.value))return r(e.value1.value0)(I(e.value0))(e.value1.value1);if(c.otherwise)return u(e.value1.value0)(function(n){return new w.Cons(e.value0,n)})(e.value1.value1)}return I(e)},r=function(e){return function(r){return function(u){var o,i,a,c,f=e,s=r,v=!1;for(;!v;)i=f,a=s,o=(c=u)instanceof w.Cons&&l.eq(q.eqOrdering)(n(i)(c.value0))(q.GT.value)?(f=c.value0,s=new w.Cons(i,a),void(u=c.value1)):(v=!0,new w.Cons(new w.Cons(i,a),t(c)));return o}}},u=function(e){return function(r){return function(u){var o,i=e,a=r,c=!1;function f(e,r,o){return o instanceof w.Cons&&l.notEq(q.eqOrdering)(n(e)(o.value0))(q.GT.value)?(i=o.value0,a=function(n){return r(new w.Cons(e,n))},void(u=o.value1)):(c=!0,new w.Cons(r(I(e)),t(o)))}for(;!c;)o=f(i,a,u);return o}}};return function(n){return function(n){var t,r=!1;function u(t){if(t instanceof w.Cons&&t.value1 instanceof w.Nil)return r=!0,t.value0;n=e(t)}for(;!r;)t=u(n);return t}(t(n))}},O=function(n){return function(e){return W(N.compare(n))(e)}},R=function n(e){if(e instanceof w.Nil)return I(w.Nil.value);if(e instanceof w.Cons)return new w.Cons(e,n(e.value1));throw new Error("Failed pattern match at Data.List (line 626, column 1 - line 626, column 43): "+[e.constructor.name])},z=function(n){return new D.Show(function(e){return"(Pattern "+D.show(w.showList(n))(e)+")"})},G=function(){var n;return n=w.Nil.value,function(e){var t,r=n,u=!1;function o(n,t){if(t instanceof w.Nil)return u=!0,n;if(t instanceof w.Cons)return r=new w.Cons(t.value0,n),void(e=t.value1);throw new Error("Failed pattern match at Data.List (line 368, column 3 - line 368, column 19): "+[n.constructor.name,t.constructor.name])}for(;!u;)t=o(r,e);return t}}(),S=function(){var n;return n=w.Nil.value,function(e){return function(t){var r,u=n,o=e,i=!1;function a(n,e,r){if(e<1)return i=!0,G(n);if(r instanceof w.Nil)return i=!0,G(n);if(r instanceof w.Cons)return u=new w.Cons(r.value0,n),o=e-1|0,void(t=r.value1);throw new Error("Failed pattern match at Data.List (line 520, column 3 - line 520, column 35): "+[n.constructor.name,e.constructor.name,r.constructor.name])}for(;!i;)r=a(u,o,t);return r}}}(),k=function(n){var e;return e=w.Nil.value,function(t){for(var r,u,o,i=e,a=!1;!a;)u=i,r=(o=t)instanceof w.Cons&&n(o.value0)?(i=new w.Cons(o.value0,u),void(t=o.value1)):(a=!0,G(u));return r}},U=function(n){var e;return v.map(p.functorMaybe)(function(n){return{init:G(n.revInit),last:n.last}})((e=n,function(n){var t,r=e,u=!1;function o(e,t){if(e instanceof w.Nil)return u=!0,p.Nothing.value;if(e instanceof w.Cons&&e.value1 instanceof w.Nil)return u=!0,new p.Just({revInit:t,last:e.value0});if(e instanceof w.Cons)return r=e.value1,void(n=new w.Cons(e.value0,t));throw new Error("Failed pattern match at Data.List (line 270, column 3 - line 270, column 23): "+[e.constructor.name,t.constructor.name])}for(;!u;)t=o(r,n);return t})(w.Nil.value))},H=function(n){return function(e){return function(t){var r;return G((r=e,function(e){return function(t){var u,o=r,i=e,a=!1;function c(e,r,u){if(e instanceof w.Nil)return a=!0,u;if(r instanceof w.Nil)return a=!0,u;if(e instanceof w.Cons&&r instanceof w.Cons)return o=e.value1,i=r.value1,void(t=new w.Cons(n(e.value0)(r.value0),u));throw new Error("Failed pattern match at Data.List (line 718, column 3 - line 718, column 21): "+[e.constructor.name,r.constructor.name,u.constructor.name])}for(;!a;)u=c(o,i,t);return u}})(t)(w.Nil.value))}}},K=H(b.Tuple.create),Q=function(n){return function(e){return function(t){return function(r){return L.sequence(w.traversableList)(n)(H(e)(t)(r))}}}},V=function(n){return function(e){if(n===e)return I(n);if(c.otherwise){return(t=e,function(n){return function(e){return function(r){var u,o=t,i=n,a=e,l=!1;function f(n,e,t,u){if(n===e)return l=!0,new w.Cons(n,u);if(c.otherwise)return o=n+t|0,i=e,a=t,void(r=new w.Cons(n,u));throw new Error("Failed pattern match at Data.List (line 148, column 3 - line 149, column 65): "+[n.constructor.name,e.constructor.name,t.constructor.name,u.constructor.name])}for(;!l;)u=f(o,i,a,r);return u}}})(n)(n>e?1:-1)(w.Nil.value)}var t;throw new Error("Failed pattern match at Data.List (line 144, column 1 - line 144, column 32): "+[n.constructor.name,e.constructor.name])}},X=function(n){return function(e){return f.foldr(w.foldableList)(function(e){return function(t){return n(e)?{no:t.no,yes:new w.Cons(e,t.yes)}:{no:new w.Cons(e,t.no),yes:t.yes}}})({no:w.Nil.value,yes:w.Nil.value})(e)}},Y=function(n){return n instanceof w.Nil},Z=new C.Newtype(function(n){return n},g),$=m.mapWithIndex(w.functorWithIndexList),_=function(n){var e;return e=w.Nil.value,function(t){var r,u=e,o=!1;function i(e,r){if(r instanceof w.Nil)return o=!0,G(e);if(r instanceof w.Cons){var i=n(r.value0);if(i instanceof p.Nothing)return u=e,void(t=r.value1);if(i instanceof p.Just)return u=new w.Cons(i.value0,e),void(t=r.value1);throw new Error("Failed pattern match at Data.List (line 419, column 5 - line 421, column 32): "+[i.constructor.name])}throw new Error("Failed pattern match at Data.List (line 417, column 3 - line 417, column 27): "+[e.constructor.name,r.constructor.name])}for(;!o;)r=i(u,t);return r}},nn=function(t){return function(u){return function(o){return i.tailRecM(t)(function(c){return r.bind(t.Monad0().Bind1())(n.alt(u.Plus1().Alt0())(v.map(u.Plus1().Alt0().Functor0())(i.Loop.create)(o))(e.pure(u.Applicative0())(new i.Done(F.unit))))(function(n){return e.pure(u.Applicative0())(a.bimap(i.bifunctorStep)(function(n){return new w.Cons(n,c)})(function(n){return G(c)})(n))})})(w.Nil.value)}}},en=function(n){return function(e){return function(r){return t.apply(e.Applicative0().Apply0())(v.map(e.Plus1().Alt0().Functor0())(w.Cons.create)(r))(nn(n)(e)(r))}}},tn=function(n){return function(e){return function(r){return t.apply(n.Applicative0().Apply0())(v.map(n.Plus1().Alt0().Functor0())(w.Cons.create)(r))(o.defer(e)(function(t){return rn(n)(e)(r)}))}}},rn=function(t){return function(r){return function(u){return n.alt(t.Plus1().Alt0())(tn(t)(r)(u))(e.pure(t.Applicative0())(w.Nil.value))}}},un=f.foldl(w.foldableList)(function(n){return function(e){return n+1|0}})(0),on=function(n){var e,t,r=!1;for(;!r;)e=(t=n)instanceof w.Cons&&t.value1 instanceof w.Nil?(r=!0,new p.Just(t.value0)):t instanceof w.Cons?void(n=t.value1):(r=!0,p.Nothing.value);return e},an=function n(e){return function(t){return function(r){if(r instanceof w.Nil)return I(t);if(r instanceof w.Cons)return e(t)(r.value0)instanceof q.GT?new w.Cons(r.value0,n(e)(t)(r.value1)):new w.Cons(t,r);throw new Error("Failed pattern match at Data.List (line 216, column 1 - line 216, column 68): "+[e.constructor.name,t.constructor.name,r.constructor.name])}}},cn=function n(e){return function(t){return function(r){return 0===e?new p.Just(new w.Cons(t,r)):r instanceof w.Cons?v.map(p.functorMaybe)(function(n){return new w.Cons(r.value0,n)})(n(e-1|0)(t)(r.value1)):p.Nothing.value}}},ln=function(n){return an(N.compare(n))},fn=function(n){return v.map(p.functorMaybe)(function(n){return n.init})(U(n))},sn=function(n){return function(e){var t,r=n,u=!1;function o(n,t){if(n instanceof w.Nil)return u=!0,p.Nothing.value;if(n instanceof w.Cons&&0===t)return u=!0,new p.Just(n.value0);if(n instanceof w.Cons)return r=n.value1,void(e=t-1|0);throw new Error("Failed pattern match at Data.List (line 281, column 1 - line 281, column 44): "+[n.constructor.name,t.constructor.name])}for(;!u;)t=o(r,e);return t}},vn=function(n){if(n instanceof w.Nil)return p.Nothing.value;if(n instanceof w.Cons)return new p.Just(n.value0);throw new Error("Failed pattern match at Data.List (line 230, column 1 - line 230, column 22): "+[n.constructor.name])},mn=function n(e){if(e instanceof w.Nil)return w.Nil.value;if(e instanceof w.Cons&&e.value0 instanceof w.Nil)return n(e.value1);if(e instanceof w.Cons&&e.value0 instanceof w.Cons)return new w.Cons(new w.Cons(e.value0.value0,_(vn)(e.value1)),n(new w.Cons(e.value0.value1,_(J)(e.value1))));throw new Error("Failed pattern match at Data.List (line 752, column 1 - line 752, column 54): "+[e.constructor.name])},dn=function n(e){return function(t){if(t instanceof w.Nil)return w.Nil.value;if(t instanceof w.Cons){var r=P(e(t.value0))(t.value1);return new w.Cons(new h.NonEmpty(t.value0,r.init),n(e)(r.rest))}throw new Error("Failed pattern match at Data.List (line 605, column 1 - line 605, column 80): "+[e.constructor.name,t.constructor.name])}},wn=function(n){return dn(l.eq(n))},pn=function(n){var e=wn(n.Eq0()),t=O(n);return function(n){return e(t(n))}},Cn=function(n){return f.foldr(n)(w.Cons.create)(w.Nil.value)},hn=function n(t){return function(u){return function(o){return function(i){if(i instanceof w.Nil)return e.pure(t.Applicative0())(o);if(i instanceof w.Cons)return r.bind(t.Bind1())(u(o)(i.value0))(function(e){return n(t)(u)(e)(i.value1)});throw new Error("Failed pattern match at Data.List (line 763, column 1 - line 763, column 72): "+[u.constructor.name,o.constructor.name,i.constructor.name])}}}},Nn=function(n){var e;return e=0,function(t){var r,u=e,o=!1;function i(e,r){if(r instanceof w.Cons){if(n(r.value0))return o=!0,new p.Just(e);if(c.otherwise)return u=e+1|0,void(t=r.value1)}if(r instanceof w.Nil)return o=!0,p.Nothing.value;throw new Error("Failed pattern match at Data.List (line 301, column 3 - line 301, column 35): "+[e.constructor.name,r.constructor.name])}for(;!o;)r=i(u,t);return r}},qn=function(n){return function(e){return v.map(p.functorMaybe)(function(n){return(un(e)-1|0)-n|0})(Nn(n)(G(e)))}},yn=function n(t){return function(u){return function(o){if(o instanceof w.Nil)return e.pure(t.Applicative0())(w.Nil.value);if(o instanceof w.Cons)return r.bind(t.Bind1())(u(o.value0))(function(i){return r.bind(t.Bind1())(n(t)(u)(o.value1))(function(n){return e.pure(t.Applicative0())(i?new w.Cons(o.value0,n):n)})});throw new Error("Failed pattern match at Data.List (line 403, column 1 - line 403, column 75): "+[u.constructor.name,o.constructor.name])}}},Dn=function(n){var e;return e=w.Nil.value,function(t){var r,u=e,o=!1;function i(e,r){if(r instanceof w.Nil)return o=!0,G(e);if(r instanceof w.Cons){if(n(r.value0))return u=new w.Cons(r.value0,e),void(t=r.value1);if(c.otherwise)return u=e,void(t=r.value1)}throw new Error("Failed pattern match at Data.List (line 390, column 3 - line 390, column 27): "+[e.constructor.name,r.constructor.name])}for(;!o;)r=i(u,t);return r}},Ln=function(n){return function(e){return function(t){return e instanceof w.Nil?w.Nil.value:t instanceof w.Nil?w.Nil.value:Dn(function(e){return f.any(w.foldableList)(d.heytingAlgebraBoolean)(n(e))(t)})(e)}}},bn=function(n){return Ln(l.eq(n))},xn=function n(e){return function(t){if(t instanceof w.Nil)return w.Nil.value;if(t instanceof w.Cons)return new w.Cons(t.value0,n(e)(Dn(function(n){return!e(t.value0)(n)})(t.value1)));throw new Error("Failed pattern match at Data.List (line 644, column 1 - line 644, column 59): "+[e.constructor.name,t.constructor.name])}},Fn=function(n){return xn(l.eq(n))},gn=function(n){return new l.Eq(function(e){return function(t){return l.eq(w.eqList(n))(e)(t)}})},En=function(n){return new N.Ord(function(){return gn(n.Eq0())},function(e){return function(t){return N.compare(w.ordList(n))(e)(t)}})},jn=function(n){return function(e){return qn(function(t){return l.eq(n)(t)(e)})}},An=function(n){return function(e){return Nn(function(t){return l.eq(n)(t)(e)})}},Mn=function(n){return function(e){var t,r=!1;function u(t){if(!(t instanceof w.Cons&&n(t.value0)))return r=!0,t;e=t.value1}for(;!r;)t=u(e);return t}},Jn=function(n){return function(e){return S(un(e)-n|0)(e)}},Bn=function(n){return function(e){var t,r=n,u=!1;function o(n,t){if(n<1)return u=!0,t;if(t instanceof w.Nil)return u=!0,w.Nil.value;if(t instanceof w.Cons)return r=n-1|0,void(e=t.value1);throw new Error("Failed pattern match at Data.List (line 543, column 1 - line 543, column 42): "+[n.constructor.name,t.constructor.name])}for(;!u;)t=o(r,e);return t}},Pn=function(n){return function(e){return function(t){return S(e-n|0)(Bn(n)(t))}}},Tn=function(n){return function(e){return Bn(un(e)-n|0)(e)}},In=function n(e){return function(t){return function(r){if(r instanceof w.Nil)return w.Nil.value;if(r instanceof w.Cons&&e(t)(r.value0))return r.value1;if(r instanceof w.Cons)return new w.Cons(r.value0,n(e)(t)(r.value1));throw new Error("Failed pattern match at Data.List (line 671, column 1 - line 671, column 67): "+[e.constructor.name,t.constructor.name,r.constructor.name])}}},Wn=function(n){return function(e){return function(t){return y.append(w.semigroupList)(e)(f.foldl(w.foldableList)(s.flip(In(n)))(xn(n)(t))(e))}}},On=function(n){return Wn(l.eq(n))},Rn=function n(e){return function(t){return 0===e&&t instanceof w.Cons?new p.Just(t.value1):t instanceof w.Cons?v.map(p.functorMaybe)(function(n){return new w.Cons(t.value0,n)})(n(e-1|0)(t.value1)):p.Nothing.value}},zn=function(n){return In(l.eq(n))},Gn=function(n){return f.foldl(w.foldableList)(s.flip(zn(n)))},Sn=s.flip(r.bind(w.bindList)),kn=function(n){return r.bind(w.bindList)(n)(u.identity(u.categoryFn))},Un=_(u.identity(u.categoryFn)),Hn=function n(e){return function(t){return function(r){return 0===e&&r instanceof w.Cons?p.Just.create(function(){var n=t(r.value0);if(n instanceof p.Nothing)return r.value1;if(n instanceof p.Just)return new w.Cons(n.value0,r.value1);throw new Error("Failed pattern match at Data.List (line 352, column 3 - line 354, column 23): "+[n.constructor.name])}()):r instanceof w.Cons?v.map(p.functorMaybe)(function(n){return new w.Cons(r.value0,n)})(n(e-1|0)(t)(r.value1)):p.Nothing.value}}},Kn=function(n){return function(e){return Hn(n)(function(n){return p.Just.create(e(n))})}};module.exports={toUnfoldable:M,fromFoldable:Cn,singleton:I,range:V,some:tn,someRec:en,many:rn,manyRec:nn,null:Y,length:un,snoc:T,insert:ln,insertBy:an,head:vn,last:on,tail:J,init:fn,uncons:A,unsnoc:U,index:sn,elemIndex:An,elemLastIndex:jn,findIndex:Nn,findLastIndex:qn,insertAt:cn,deleteAt:Rn,updateAt:E,modifyAt:Kn,alterAt:Hn,reverse:G,concat:kn,concatMap:Sn,filter:Dn,filterM:yn,mapMaybe:_,catMaybes:Un,mapWithIndex:$,sort:O,sortBy:W,Pattern:g,stripPrefix:B,slice:Pn,take:S,takeEnd:Tn,takeWhile:k,drop:Bn,dropEnd:Jn,dropWhile:Mn,span:P,group:wn,"group'":pn,groupBy:dn,partition:X,nub:Fn,nubBy:xn,union:On,unionBy:Wn,delete:zn,deleteBy:In,difference:Gn,intersect:bn,intersectBy:Ln,zipWith:H,zipWithA:Q,zip:K,unzip:j,transpose:mn,foldM:hn,eqPattern:gn,ordPattern:En,newtypePattern:Z,showPattern:z}; +},{"../Control.Alt/index.js":"lN+m","../Control.Applicative/index.js":"qYya","../Control.Apply/index.js":"QcLv","../Control.Bind/index.js":"7VcT","../Control.Category/index.js":"IAi2","../Control.Lazy/index.js":"y9cE","../Control.Monad.Rec.Class/index.js":"UVIy","../Data.Bifunctor/index.js":"e2Wc","../Data.Boolean/index.js":"ObQr","../Data.Eq/index.js":"Pq4F","../Data.Foldable/index.js":"eVDl","../Data.Function/index.js":"ImXJ","../Data.Functor/index.js":"+0AE","../Data.FunctorWithIndex/index.js":"OHRN","../Data.HeytingAlgebra/index.js":"paZe","../Data.List.Types/index.js":"Xxuc","../Data.Maybe/index.js":"5mN7","../Data.Newtype/index.js":"lz8k","../Data.NonEmpty/index.js":"qF8i","../Data.Ord/index.js":"r4Vb","../Data.Ordering/index.js":"5Eun","../Data.Semigroup/index.js":"EsAJ","../Data.Show/index.js":"mFY7","../Data.Traversable/index.js":"n7EE","../Data.Tuple/index.js":"II/O","../Data.Unfoldable/index.js":"77+Z","../Data.Unit/index.js":"NhVk"}],"9xeJ":[function(require,module,exports) { +"use strict";exports.defer=function(r){var n=null;return function(){return void 0===r?n:(n=r(),r=void 0,n)}},exports.force=function(r){return r()}; +},{}],"aRUE":[function(require,module,exports) { +"use strict";var n=require("./foreign.js"),r=require("../Control.Applicative/index.js"),e=require("../Control.Apply/index.js"),t=require("../Control.Bind/index.js"),u=require("../Control.Comonad/index.js"),i=require("../Control.Extend/index.js"),o=require("../Control.Lazy/index.js"),f=require("../Control.Monad/index.js"),c=require("../Data.BooleanAlgebra/index.js"),a=require("../Data.Bounded/index.js"),d=require("../Data.CommutativeRing/index.js"),l=require("../Data.Eq/index.js"),s=require("../Data.EuclideanRing/index.js"),p=require("../Data.Foldable/index.js"),y=require("../Data.FoldableWithIndex/index.js"),x=require("../Data.Function/index.js"),m=require("../Data.Functor/index.js"),q=require("../Data.Functor.Invariant/index.js"),g=require("../Data.FunctorWithIndex/index.js"),w=require("../Data.HeytingAlgebra/index.js"),z=require("../Data.Monoid/index.js"),j=require("../Data.Ord/index.js"),L=require("../Data.Ring/index.js"),b=require("../Data.Semigroup/index.js"),D=require("../Data.Semigroup.Foldable/index.js"),v=require("../Data.Semigroup.Traversable/index.js"),F=require("../Data.Semiring/index.js"),h=require("../Data.Show/index.js"),A=require("../Data.Traversable/index.js"),C=require("../Data.TraversableWithIndex/index.js"),I=require("../Data.Unit/index.js"),R=function(r){return new h.Show(function(e){return"(defer \\_ -> "+h.show(r)(n.force(e))+")"})},S=function(r){return new F.Semiring(function(e){return function(t){return n.defer(function(u){return F.add(r)(n.force(e))(n.force(t))})}},function(e){return function(t){return n.defer(function(u){return F.mul(r)(n.force(e))(n.force(t))})}},n.defer(function(n){return F.one(r)}),n.defer(function(n){return F.zero(r)}))},W=function(r){return new b.Semigroup(function(e){return function(t){return n.defer(function(u){return b.append(r)(n.force(e))(n.force(t))})}})},E=function(r){return new L.Ring(function(){return S(r.Semiring0())},function(e){return function(t){return n.defer(function(u){return L.sub(r)(n.force(e))(n.force(t))})}})},B=function(r){return new z.Monoid(function(){return W(r.Semigroup0())},n.defer(function(n){return z.mempty(r)}))},T=new o.Lazy(function(r){return n.defer(function(e){return n.force(r(I.unit))})}),M=new m.Functor(function(r){return function(e){return n.defer(function(t){return r(n.force(e))})}}),O=new g.FunctorWithIndex(function(){return M},function(n){return m.map(M)(n(I.unit))}),H=new q.Invariant(q.imapF(M)),U=new p.Foldable(function(r){return function(r){return function(e){return r(n.force(e))}}},function(r){return function(e){return function(t){return r(e)(n.force(t))}}},function(r){return function(e){return function(t){return r(n.force(t))(e)}}}),_=new y.FoldableWithIndex(function(){return U},function(n){return function(r){return p.foldMap(U)(n)(r(I.unit))}},function(n){return p.foldl(U)(n(I.unit))},function(n){return p.foldr(U)(n(I.unit))}),k=new A.Traversable(function(){return U},function(){return M},function(r){return function(e){return m.map(r.Apply0().Functor0())(function(r){return n.defer(x.const(r))})(n.force(e))}},function(r){return function(e){return function(t){return m.map(r.Apply0().Functor0())(function(r){return n.defer(x.const(r))})(e(n.force(t)))}}}),G=new C.TraversableWithIndex(function(){return _},function(){return O},function(){return k},function(n){return function(r){return A.traverse(k)(n)(r(I.unit))}}),J=new D.Foldable1(function(){return U},function(n){return D.fold1Default(J)(n)},function(r){return function(r){return function(e){return r(n.force(e))}}}),K=new v.Traversable1(function(){return J},function(){return k},function(r){return function(e){return m.map(r.Functor0())(function(r){return n.defer(x.const(r))})(n.force(e))}},function(r){return function(e){return function(t){return m.map(r.Functor0())(function(r){return n.defer(x.const(r))})(e(n.force(t)))}}}),N=new i.Extend(function(){return M},function(r){return function(e){return n.defer(function(n){return r(e)})}}),P=function(r){return new l.Eq(function(e){return function(t){return l.eq(r)(n.force(e))(n.force(t))}})},Q=function(r){return new j.Ord(function(){return P(r.Eq0())},function(e){return function(t){return j.compare(r)(n.force(e))(n.force(t))}})},V=new l.Eq1(function(n){return l.eq(P(n))}),X=new j.Ord1(function(){return V},function(n){return j.compare(Q(n))}),Y=new u.Comonad(function(){return N},n.force),Z=function(n){return new d.CommutativeRing(function(){return E(n.Ring0())})},$=function(r){return new s.EuclideanRing(function(){return Z(r.CommutativeRing0())},(e=s.degree(r),function(r){return e(n.force(r))}),function(e){return function(t){return n.defer(function(u){return s.div(r)(n.force(e))(n.force(t))})}},function(e){return function(t){return n.defer(function(u){return s.mod(r)(n.force(e))(n.force(t))})}});var e},nn=function(r){return new a.Bounded(function(){return Q(r.Ord0())},n.defer(function(n){return a.bottom(r)}),n.defer(function(n){return a.top(r)}))},rn=new e.Apply(function(){return M},function(r){return function(e){return n.defer(function(t){return n.force(r)(n.force(e))})}}),en=new t.Bind(function(){return rn},function(r){return function(e){return n.defer(function(t){return n.force(e(n.force(r)))})}}),tn=function(r){return new w.HeytingAlgebra(function(n){return function(t){return e.apply(rn)(m.map(M)(w.conj(r))(n))(t)}},function(n){return function(t){return e.apply(rn)(m.map(M)(w.disj(r))(n))(t)}},n.defer(function(n){return w.ff(r)}),function(n){return function(t){return e.apply(rn)(m.map(M)(w.implies(r))(n))(t)}},function(n){return m.map(M)(w.not(r))(n)},n.defer(function(n){return w.tt(r)}))},un=function(n){return new c.BooleanAlgebra(function(){return tn(n.HeytingAlgebra0())})},on=new r.Applicative(function(){return rn},function(r){return n.defer(function(n){return r})}),fn=new f.Monad(function(){return on},function(){return en});module.exports={semiringLazy:S,ringLazy:E,commutativeRingLazy:Z,euclideanRingLazy:$,eqLazy:P,eq1Lazy:V,ordLazy:Q,ord1Lazy:X,boundedLazy:nn,semigroupLazy:W,monoidLazy:B,heytingAlgebraLazy:tn,booleanAlgebraLazy:un,functorLazy:M,functorWithIndexLazy:O,foldableLazy:U,foldableWithIndexLazy:_,foldable1Lazy:J,traversableLazy:k,traversableWithIndexLazy:G,traversable1Lazy:K,invariantLazy:H,applyLazy:rn,applicativeLazy:on,bindLazy:en,monadLazy:fn,extendLazy:N,comonadLazy:Y,showLazy:R,lazyLazy:T,defer:n.defer,force:n.force}; +},{"./foreign.js":"9xeJ","../Control.Applicative/index.js":"qYya","../Control.Apply/index.js":"QcLv","../Control.Bind/index.js":"7VcT","../Control.Comonad/index.js":"U0zO","../Control.Extend/index.js":"JIoJ","../Control.Lazy/index.js":"y9cE","../Control.Monad/index.js":"U/Ix","../Data.BooleanAlgebra/index.js":"e7y+","../Data.Bounded/index.js":"kcUU","../Data.CommutativeRing/index.js":"60TQ","../Data.Eq/index.js":"Pq4F","../Data.EuclideanRing/index.js":"2IRB","../Data.Foldable/index.js":"eVDl","../Data.FoldableWithIndex/index.js":"9Efi","../Data.Function/index.js":"ImXJ","../Data.Functor/index.js":"+0AE","../Data.Functor.Invariant/index.js":"AXkC","../Data.FunctorWithIndex/index.js":"OHRN","../Data.HeytingAlgebra/index.js":"paZe","../Data.Monoid/index.js":"TiEB","../Data.Ord/index.js":"r4Vb","../Data.Ring/index.js":"E2qH","../Data.Semigroup/index.js":"EsAJ","../Data.Semigroup.Foldable/index.js":"ht+A","../Data.Semigroup.Traversable/index.js":"qkfi","../Data.Semiring/index.js":"11NF","../Data.Show/index.js":"mFY7","../Data.Traversable/index.js":"n7EE","../Data.TraversableWithIndex/index.js":"V4EF","../Data.Unit/index.js":"NhVk"}],"EJF+":[function(require,module,exports) { +"use strict";var n=require("../Control.Alt/index.js"),t=require("../Control.Alternative/index.js"),e=require("../Control.Applicative/index.js"),r=require("../Control.Apply/index.js"),u=require("../Control.Bind/index.js"),o=require("../Control.Category/index.js"),i=require("../Control.Comonad/index.js"),a=require("../Control.Extend/index.js"),c=require("../Control.Lazy/index.js"),f=require("../Control.Monad/index.js"),l=require("../Control.MonadPlus/index.js"),d=require("../Control.MonadZero/index.js"),s=require("../Control.Plus/index.js"),p=require("../Data.Eq/index.js"),v=require("../Data.Foldable/index.js"),m=require("../Data.FoldableWithIndex/index.js"),y=require("../Data.Function/index.js"),w=require("../Data.Functor/index.js"),L=require("../Data.FunctorWithIndex/index.js"),x=require("../Data.Lazy/index.js"),h=require("../Data.Maybe/index.js"),E=require("../Data.Monoid/index.js"),b=require("../Data.Newtype/index.js"),N=require("../Data.NonEmpty/index.js"),q=require("../Data.Ord/index.js"),j=require("../Data.Ordering/index.js"),I=require("../Data.Semigroup/index.js"),D=require("../Data.Semiring/index.js"),F=require("../Data.Show/index.js"),W=require("../Data.Traversable/index.js"),T=require("../Data.TraversableWithIndex/index.js"),z=require("../Data.Tuple/index.js"),g=require("../Data.Unfoldable/index.js"),A=require("../Data.Unfoldable1/index.js"),C=function(n){return n},M=function(){function n(){}return n.value=new n,n}(),S=function(){function n(n,t){this.value0=n,this.value1=t}return n.create=function(t){return function(e){return new n(t,e)}},n}(),P=function(n){return n},U=C(x.defer(function(n){return M.value})),O=new b.Newtype(function(n){return n},P),B=new b.Newtype(function(n){return n},C),Z=function(){var n=b.unwrap(B);return function(t){return x.force(n(t))}}(),J=new I.Semigroup(function(n){return function(t){return w.map(x.functorLazy)(function(n){if(n instanceof M)return Z(t);if(n instanceof S)return new S(n.value0,I.append(J)(n.value1)(t));throw new Error("Failed pattern match at Data.List.Lazy.Types (line 98, column 5 - line 98, column 21): "+[n.constructor.name])})(b.unwrap(B)(n))}}),Q=function(n){return new F.Show(function(t){return"fromStrict ("+function t(e){if(e instanceof M)return"Nil";if(e instanceof S)return"(Cons "+F.show(n)(e.value0)+" "+t(Z(e.value1))+")";throw new Error("Failed pattern match at Data.List.Lazy.Types (line 64, column 5 - line 64, column 19): "+[e.constructor.name])}(Z(t))+")"})},G=function(n){return new F.Show(function(t){return"(NonEmptyList "+F.show(x.showLazy(N.showNonEmpty(n)(Q(n))))(t)+")"})},k=new E.Monoid(function(){return J},U),H=new c.Lazy(function(n){return C(x.defer(function(t){return Z(n(t))}))}),K=new w.Functor(function(n){return function(t){return w.map(x.functorLazy)(function(t){if(t instanceof M)return M.value;if(t instanceof S)return new S(n(t.value0),w.map(K)(n)(t.value1));throw new Error("Failed pattern match at Data.List.Lazy.Types (line 107, column 5 - line 107, column 17): "+[t.constructor.name])})(b.unwrap(B)(t))}}),R=new w.Functor(function(n){return function(t){return w.map(x.functorLazy)(w.map(N.functorNonEmpty(K))(n))(t)}}),V=new p.Eq1(function(n){return function(t){return function(e){var r;return(r=Z(t),function(t){for(var e,u,o,i=r,a=!1;!a;)o=t,e=(u=i)instanceof M&&o instanceof M?(a=!0,!0):u instanceof S&&o instanceof S&&p.eq(n)(u.value0)(o.value0)?(i=Z(u.value1),void(t=Z(o.value1))):(a=!0,!1);return e})(Z(e))}}}),X=function(n){return new p.Eq(p.eq1(V)(n))},Y=function(n){return x.eqLazy(N.eqNonEmpty(V)(n))},$=new q.Ord1(function(){return V},function(n){return function(t){return function(e){var r;return(r=Z(t),function(t){var e,u=r,o=!1;function i(e,r){if(e instanceof M&&r instanceof M)return o=!0,j.EQ.value;if(e instanceof M)return o=!0,j.LT.value;if(r instanceof M)return o=!0,j.GT.value;if(e instanceof S&&r instanceof S){var i=q.compare(n)(e.value0)(r.value0);return i instanceof j.EQ?(u=Z(e.value1),void(t=Z(r.value1))):(o=!0,i)}throw new Error("Failed pattern match at Data.List.Lazy.Types (line 84, column 5 - line 84, column 20): "+[e.constructor.name,r.constructor.name])}for(;!o;)e=i(u,t);return e})(Z(e))}}}),_=function(n){return new q.Ord(function(){return X(n.Eq0())},q.compare1($)(n))},nn=function(n){return x.ordLazy(N.ordNonEmpty($)(n))},tn=function(n){return function(t){return C(x.defer(function(e){return new S(n,t)}))}},en=new v.Foldable(function(n){return function(t){return v.foldl(en)(function(e){return function(r){return I.append(n.Semigroup0())(e)(t(r))}})(E.mempty(n))}},function(n){return function(t){return function(e){var r,u=t,o=!1;function i(t,r){var i=Z(r);if(i instanceof M)return o=!0,t;if(i instanceof S)return u=n(t)(i.value0),void(e=i.value1);throw new Error("Failed pattern match at Data.List.Lazy.Types (line 122, column 7 - line 124, column 40): "+[i.constructor.name])}for(;!o;)r=i(u,e);return r}}},function(n){return function(t){return function(e){var r=v.foldl(en)(y.flip(tn))(U);return v.foldl(en)(y.flip(n))(t)(r(e))}}}),rn=new a.Extend(function(){return K},function(n){return function(t){var e=Z(t);if(e instanceof M)return U;if(e instanceof S)return tn(n(t))(v.foldr(en)(function(t){return function(e){var r=tn(t)(e.acc);return{val:tn(n(r))(e.val),acc:r}}})({val:U,acc:U})(e.value1).val);throw new Error("Failed pattern match at Data.List.Lazy.Types (line 194, column 5 - line 197, column 55): "+[e.constructor.name])}}),un=new a.Extend(function(){return R},function(n){return function(t){var e=function(t){return function(e){return{val:tn(n(x.defer(function(n){return new N.NonEmpty(t,e.acc)})))(e.val),acc:tn(t)(e.acc)}}},r=x.force(t);return P(x.defer(function(u){return new N.NonEmpty(n(t),v.foldr(en)(e)({val:U,acc:U})(r.value1).val)}))}}),on=new v.Foldable(function(n){return function(t){return function(e){return v.foldMap(N.foldableNonEmpty(en))(n)(t)(x.force(e))}}},function(n){return function(t){return function(e){return v.foldl(N.foldableNonEmpty(en))(n)(t)(x.force(e))}}},function(n){return function(t){return function(e){return v.foldr(N.foldableNonEmpty(en))(n)(t)(x.force(e))}}}),an=new m.FoldableWithIndex(function(){return en},function(n){return function(t){return m.foldlWithIndex(an)(function(e){return function(r){var u=I.append(n.Semigroup0())(r),o=t(e);return function(n){return u(o(n))}}})(E.mempty(n))}},function(n){return function(t){var e=v.foldl(en)(function(t){return function(e){return new z.Tuple(t.value0+1|0,n(t.value0)(t.value1)(e))}})(new z.Tuple(0,t));return function(n){return z.snd(e(n))}}},function(n){return function(t){return function(e){var r=v.foldl(en)(function(n){return function(t){return new z.Tuple(n.value0+1|0,tn(t)(n.value1))}})(new z.Tuple(0,U))(e);return z.snd(v.foldl(en)(function(t){return function(e){return new z.Tuple(t.value0-1|0,n(t.value0-1|0)(e)(t.value1))}})(new z.Tuple(r.value0,t))(r.value1))}}}),cn=new m.FoldableWithIndex(function(){return on},function(n){return function(t){return function(e){return m.foldMapWithIndex(N.foldableWithIndexNonEmpty(an))(n)((r=h.maybe(0)(D.add(D.semiringInt)(1)),function(n){return t(r(n))}))(x.force(e));var r}}},function(n){return function(t){return function(e){return m.foldlWithIndex(N.foldableWithIndexNonEmpty(an))((r=h.maybe(0)(D.add(D.semiringInt)(1)),function(t){return n(r(t))}))(t)(x.force(e));var r}}},function(n){return function(t){return function(e){return m.foldrWithIndex(N.foldableWithIndexNonEmpty(an))((r=h.maybe(0)(D.add(D.semiringInt)(1)),function(t){return n(r(t))}))(t)(x.force(e));var r}}}),fn=new L.FunctorWithIndex(function(){return K},function(n){return m.foldrWithIndex(an)(function(t){return function(e){return function(r){return tn(n(t)(e))(r)}}})(U)}),ln=new L.FunctorWithIndex(function(){return R},function(n){return function(t){return P(x.defer(function(e){return L.mapWithIndex(N.functorWithIndex(fn))((r=h.maybe(0)(D.add(D.semiringInt)(1)),function(t){return n(r(t))}))(x.force(t));var r}))}}),dn=function(n){return c.defer(H)(function(t){var e=x.force(n);return tn(e.value0)(e.value1)})},sn=new I.Semigroup(function(n){return function(t){var e=x.force(n);return x.defer(function(n){return new N.NonEmpty(e.value0,I.append(J)(e.value1)(dn(t)))})}}),pn=new W.Traversable(function(){return en},function(){return K},function(n){return W.traverse(pn)(n)(o.identity(o.categoryFn))},function(n){return function(t){return v.foldr(en)(function(e){return function(u){return r.apply(n.Apply0())(w.map(n.Apply0().Functor0())(tn)(t(e)))(u)}})(e.pure(n)(U))}}),vn=new W.Traversable(function(){return on},function(){return R},function(n){return function(t){return w.map(n.Apply0().Functor0())(function(n){return P(x.defer(function(t){return n}))})(W.sequence(N.traversableNonEmpty(pn))(n)(x.force(t)))}},function(n){return function(t){return function(e){return w.map(n.Apply0().Functor0())(function(n){return P(x.defer(function(t){return n}))})(W.traverse(N.traversableNonEmpty(pn))(n)(t)(x.force(e)))}}}),mn=new T.TraversableWithIndex(function(){return an},function(){return fn},function(){return pn},function(n){return function(t){return m.foldrWithIndex(an)(function(e){return function(u){return function(o){return r.apply(n.Apply0())(w.map(n.Apply0().Functor0())(tn)(t(e)(u)))(o)}}})(e.pure(n)(U))}}),yn=new T.TraversableWithIndex(function(){return cn},function(){return ln},function(){return vn},function(n){return function(t){return function(e){return w.map(n.Apply0().Functor0())(function(n){return P(x.defer(function(t){return n}))})(T.traverseWithIndex(N.traversableWithIndexNonEmpty(mn))(n)((r=h.maybe(0)(D.add(D.semiringInt)(1)),function(n){return t(r(n))}))(x.force(e)));var r}}}),wn=new A.Unfoldable1(function n(t){return function(e){return c.defer(H)(function(r){var u=t(e);if(u.value1 instanceof h.Just)return tn(u.value0)(n(t)(u.value1.value0));if(u.value1 instanceof h.Nothing)return tn(u.value0)(U);throw new Error("Failed pattern match at Data.List.Lazy.Types (line 146, column 28 - line 148, column 33): "+[u.constructor.name])})}}),Ln=new g.Unfoldable(function(){return wn},function n(t){return function(e){return c.defer(H)(function(r){var u=t(e);if(u instanceof h.Nothing)return U;if(u instanceof h.Just)return tn(u.value0.value0)(n(t)(u.value0.value1));throw new Error("Failed pattern match at Data.List.Lazy.Types (line 152, column 28 - line 154, column 39): "+[u.constructor.name])})}}),xn=new A.Unfoldable1(function(n){return function(t){return P(x.defer(function(e){return A.unfoldr1(N.unfoldable1NonEmpty(Ln))(n)(t)}))}}),hn=new i.Comonad(function(){return un},function(n){return N.head(x.force(n))}),En=new f.Monad(function(){return qn},function(){return bn}),bn=new u.Bind(function(){return Nn},function(n){return function(t){return w.map(x.functorLazy)(function(n){if(n instanceof M)return M.value;if(n instanceof S)return Z(I.append(J)(t(n.value0))(u.bind(bn)(n.value1)(t)));throw new Error("Failed pattern match at Data.List.Lazy.Types (line 175, column 5 - line 175, column 17): "+[n.constructor.name])})(b.unwrap(B)(n))}}),Nn=new r.Apply(function(){return K},f.ap(En)),qn=new e.Applicative(function(){return Nn},function(n){return tn(n)(U)}),jn=new r.Apply(function(){return R},function(n){return function(t){var e=x.force(t),u=x.force(n);return x.defer(function(n){return new N.NonEmpty(u.value0(e.value0),I.append(J)(r.apply(Nn)(u.value1)(tn(e.value0)(U)))(r.apply(Nn)(tn(u.value0)(u.value1))(e.value1)))})}}),In=new u.Bind(function(){return jn},function(n){return function(t){var e=x.force(n),r=x.force(b.unwrap(O)(t(e.value0)));return x.defer(function(n){return new N.NonEmpty(r.value0,I.append(J)(r.value1)(u.bind(bn)(e.value1)(function(n){return dn(t(n))})))})}}),Dn=new n.Alt(function(){return R},I.append(sn)),Fn=new n.Alt(function(){return K},I.append(J)),Wn=new s.Plus(function(){return Fn},U),Tn=new t.Alternative(function(){return qn},function(){return Wn}),zn=new d.MonadZero(function(){return Tn},function(){return En}),gn=new l.MonadPlus(function(){return zn}),An=new e.Applicative(function(){return jn},function(n){return x.defer(function(t){return N.singleton(Wn)(n)})}),Cn=new f.Monad(function(){return An},function(){return In});module.exports={List:C,Nil:M,Cons:S,step:Z,nil:U,cons:tn,NonEmptyList:P,toList:dn,newtypeList:B,showList:Q,eqList:X,eq1List:V,ordList:_,ord1List:$,lazyList:H,semigroupList:J,monoidList:k,functorList:K,functorWithIndexList:fn,foldableList:en,foldableWithIndexList:an,unfoldable1List:wn,unfoldableList:Ln,traversableList:pn,traversableWithIndexList:mn,applyList:Nn,applicativeList:qn,bindList:bn,monadList:En,altList:Fn,plusList:Wn,alternativeList:Tn,monadZeroList:zn,monadPlusList:gn,extendList:rn,newtypeNonEmptyList:O,eqNonEmptyList:Y,ordNonEmptyList:nn,showNonEmptyList:G,functorNonEmptyList:R,applyNonEmptyList:jn,applicativeNonEmptyList:An,bindNonEmptyList:In,monadNonEmptyList:Cn,altNonEmptyList:Dn,extendNonEmptyList:un,comonadNonEmptyList:hn,semigroupNonEmptyList:sn,foldableNonEmptyList:on,traversableNonEmptyList:vn,unfoldable1NonEmptyList:xn,functorWithIndexNonEmptyList:ln,foldableWithIndexNonEmptyList:cn,traversableWithIndexNonEmptyList:yn}; +},{"../Control.Alt/index.js":"lN+m","../Control.Alternative/index.js":"aHia","../Control.Applicative/index.js":"qYya","../Control.Apply/index.js":"QcLv","../Control.Bind/index.js":"7VcT","../Control.Category/index.js":"IAi2","../Control.Comonad/index.js":"U0zO","../Control.Extend/index.js":"JIoJ","../Control.Lazy/index.js":"y9cE","../Control.Monad/index.js":"U/Ix","../Control.MonadPlus/index.js":"HkJx","../Control.MonadZero/index.js":"lD5R","../Control.Plus/index.js":"oMBg","../Data.Eq/index.js":"Pq4F","../Data.Foldable/index.js":"eVDl","../Data.FoldableWithIndex/index.js":"9Efi","../Data.Function/index.js":"ImXJ","../Data.Functor/index.js":"+0AE","../Data.FunctorWithIndex/index.js":"OHRN","../Data.Lazy/index.js":"aRUE","../Data.Maybe/index.js":"5mN7","../Data.Monoid/index.js":"TiEB","../Data.Newtype/index.js":"lz8k","../Data.NonEmpty/index.js":"qF8i","../Data.Ord/index.js":"r4Vb","../Data.Ordering/index.js":"5Eun","../Data.Semigroup/index.js":"EsAJ","../Data.Semiring/index.js":"11NF","../Data.Show/index.js":"mFY7","../Data.Traversable/index.js":"n7EE","../Data.TraversableWithIndex/index.js":"V4EF","../Data.Tuple/index.js":"II/O","../Data.Unfoldable/index.js":"77+Z","../Data.Unfoldable1/index.js":"S0Nl"}],"sNBV":[function(require,module,exports) { +"use strict";var n=require("../Control.Alt/index.js"),t=require("../Control.Applicative/index.js"),e=require("../Control.Apply/index.js"),r=require("../Control.Bind/index.js"),u=require("../Control.Category/index.js"),i=require("../Control.Lazy/index.js"),o=require("../Control.Monad.Rec.Class/index.js"),a=require("../Data.Boolean/index.js"),c=require("../Data.Eq/index.js"),l=require("../Data.Foldable/index.js"),f=require("../Data.Function/index.js"),s=require("../Data.Functor/index.js"),p=require("../Data.HeytingAlgebra/index.js"),m=require("../Data.Lazy/index.js"),v=require("../Data.List.Lazy.Types/index.js"),d=require("../Data.Maybe/index.js"),w=require("../Data.Newtype/index.js"),L=require("../Data.NonEmpty/index.js"),y=require("../Data.Ord/index.js"),h=require("../Data.Ordering/index.js"),z=require("../Data.Semigroup/index.js"),C=require("../Data.Show/index.js"),N=require("../Data.Traversable/index.js"),D=require("../Data.Tuple/index.js"),b=require("../Data.Unfoldable/index.js"),q=function(n){return n},x=function n(t){return function(r){return function(u){return e.apply(m.applyLazy)(s.map(m.functorLazy)(function(e){return function(r){if(e instanceof v.Nil)return v.Nil.value;if(r instanceof v.Nil)return v.Nil.value;if(e instanceof v.Cons&&r instanceof v.Cons)return new v.Cons(t(e.value0)(r.value0),n(t)(e.value1)(r.value1));throw new Error("Failed pattern match at Data.List.Lazy (line 693, column 3 - line 693, column 35): "+[e.constructor.name,r.constructor.name])}})(w.unwrap(v.newtypeList)(r)))(w.unwrap(v.newtypeList)(u))}}},F=function(n){return function(t){return function(e){return function(r){return N.sequence(v.traversableList)(n)(x(t)(e)(r))}}}},E=x(D.Tuple.create),g=function n(t){return function(e){return function(r){var u;return s.map(m.functorLazy)((u=t,function(t){if(t instanceof v.Nil)return v.Nil.value;if(0===u&&t instanceof v.Cons)return new v.Cons(e,t.value1);if(t instanceof v.Cons)return new v.Cons(t.value0,n(u-1|0)(e)(t.value1));throw new Error("Failed pattern match at Data.List.Lazy (line 367, column 3 - line 367, column 17): "+[u.constructor.name,t.constructor.name])}))(w.unwrap(v.newtypeList)(r))}}},j=l.foldr(v.foldableList)(function(n){return function(t){return new D.Tuple(v.cons(n.value0)(t.value0),v.cons(n.value1)(t.value1))}})(new D.Tuple(v.nil,v.nil)),A=function(n){var t=v.step(n);if(t instanceof v.Nil)return d.Nothing.value;if(t instanceof v.Cons)return new d.Just({head:t.value0,tail:t.value1});throw new Error("Failed pattern match at Data.List.Lazy (line 285, column 13 - line 287, column 44): "+[t.constructor.name])},M=function(n){return b.unfoldr(n)(function(n){return s.map(d.functorMaybe)(function(n){return new D.Tuple(n.head,n.tail)})(A(n))})},J=function n(t){var e=s.map(m.functorLazy)(function(e){return e instanceof v.Cons&&t(e.value0)?new v.Cons(e.value0,n(t)(e.value1)):v.Nil.value}),r=w.unwrap(v.newtypeList);return function(n){return v.List(e(r(n)))}},B=function n(t){if(t<=0)return f.const(v.nil);var e,r=s.map(m.functorLazy)((e=t,function(t){if(t instanceof v.Nil)return v.Nil.value;if(t instanceof v.Cons)return new v.Cons(t.value0,n(e-1|0)(t.value1));throw new Error("Failed pattern match at Data.List.Lazy (line 517, column 3 - line 517, column 32): "+[e.constructor.name,t.constructor.name])})),u=w.unwrap(v.newtypeList);return function(n){return v.List(r(u(n)))}},T=function(n){return s.map(d.functorMaybe)(function(n){return n.tail})(A(n))},P=function(n){return function(t){return function(e){return o.tailRecM2(o.monadRecMaybe)(function(t){return function(e){var r=v.step(t);if(r instanceof v.Nil)return d.Just.create(new o.Done(e));if(r instanceof v.Cons){var u=v.step(e);return u instanceof v.Cons&&c.eq(n)(r.value0)(u.value0)?d.Just.create(new o.Loop({a:r.value1,b:u.value1})):d.Nothing.value}throw new Error("Failed pattern match at Data.List.Lazy (line 499, column 21 - line 503, column 19): "+[r.constructor.name])}})(t)(e)}}},I=function n(t){return function(e){var r=A(e);if(r instanceof d.Just&&t(r.value0.head)){var u=n(t)(r.value0.tail);return{init:v.cons(r.value0.head)(u.init),rest:u.rest}}return{init:v.nil,rest:e}}},W=function(n){return function(t){return l.foldr(v.foldableList)(v.cons)(v.cons(t)(v.nil))(n)}},O=function(n){return v.cons(n)(v.nil)},R=function(n){return new C.Show(function(t){return"(Pattern "+C.show(v.showList(n))(t)+")"})},S=function n(t){return function(e){return function(r){return s.map(m.functorLazy)(function(r){if(r instanceof v.Nil)return v.Nil.value;if(r instanceof v.Cons){var u=t(r.value0)(e);return v.Cons.create(u)(n(t)(u)(r.value1))}throw new Error("Failed pattern match at Data.List.Lazy (line 764, column 5 - line 764, column 27): "+[r.constructor.name])})(w.unwrap(v.newtypeList)(r))}}},k=function(n){return i.defer(v.lazyList)(function(t){return l.foldl(v.foldableList)(f.flip(v.cons))(v.nil)(n)})},U=function n(e){return function(u){return function(i){if(u<1)return t.pure(e.Applicative0())(v.nil);if(a.otherwise)return r.bind(e.Bind1())(i)(function(o){return r.bind(e.Bind1())(n(e)(u-1|0)(i))(function(n){return t.pure(e.Applicative0())(v.cons(o)(n))})});throw new Error("Failed pattern match at Data.List.Lazy (line 161, column 1 - line 161, column 62): "+[u.constructor.name,i.constructor.name])}}},G=function(n){return i.fix(v.lazyList)(function(t){return v.cons(n)(t)})},H=function(n){return function(t){return B(n)(G(t))}},K=function(n){return function(t){if(n>t){return b.unfoldr(v.unfoldableList)(function(n){if(n>=t)return new d.Just(new D.Tuple(n,n-1|0));if(a.otherwise)return d.Nothing.value;throw new Error("Failed pattern match at Data.List.Lazy (line 148, column 13 - line 149, column 38): "+[n.constructor.name])})(n)}if(a.otherwise){return b.unfoldr(v.unfoldableList)(function(n){if(n<=t)return new d.Just(new D.Tuple(n,n+1|0));if(a.otherwise)return d.Nothing.value;throw new Error("Failed pattern match at Data.List.Lazy (line 153, column 5 - line 154, column 30): "+[n.constructor.name])})(n)}throw new Error("Failed pattern match at Data.List.Lazy (line 145, column 1 - line 145, column 32): "+[n.constructor.name,t.constructor.name])}},Q=function(n){return l.foldr(v.foldableList)(function(t){return function(e){return n(t)?{yes:v.cons(t)(e.yes),no:e.no}:{yes:e.yes,no:v.cons(t)(e.no)}}})({yes:v.nil,no:v.nil})},V=function(n){return d.isNothing(A(n))},X=new w.Newtype(function(n){return n},q),Y=function n(t){var e=s.map(m.functorLazy)(function(e){var r,u=!1;function i(r){if(r instanceof v.Nil)return u=!0,v.Nil.value;if(r instanceof v.Cons){var i=t(r.value0);if(i instanceof d.Nothing)return void(e=v.step(r.value1));if(i instanceof d.Just)return u=!0,new v.Cons(i.value0,n(t)(r.value1));throw new Error("Failed pattern match at Data.List.Lazy (line 460, column 5 - line 462, column 39): "+[i.constructor.name])}throw new Error("Failed pattern match at Data.List.Lazy (line 458, column 3 - line 458, column 15): "+[r.constructor.name])}for(;!u;)r=i(e);return r}),r=w.unwrap(v.newtypeList);return function(n){return v.List(e(r(n)))}},Z=function(n){return function(t){return function(r){return e.apply(n.Applicative0().Apply0())(s.map(n.Plus1().Alt0().Functor0())(v.cons)(r))(i.defer(t)(function(e){return $(n)(t)(r)}))}}},$=function(e){return function(r){return function(u){return n.alt(e.Plus1().Alt0())(Z(e)(r)(u))(t.pure(e.Applicative0())(v.nil))}}},_=l.foldl(v.foldableList)(function(n){return function(t){return n+1|0}})(0),nn=function(n){return function(n){var t,e=!1;function r(t){if(t instanceof v.Cons){if(V(t.value1))return e=!0,new d.Just(t.value0);if(a.otherwise)return void(n=v.step(t.value1))}return e=!0,d.Nothing.value}for(;!e;)t=r(n);return t}(v.step(n))},tn=function(n){return function(t){return i.fix(v.lazyList)(function(e){return v.cons(t)(s.map(v.functorList)(n)(e))})}},en=function n(t){return function(e){return function(r){if(0===t)return v.cons(e)(r);return s.map(m.functorLazy)(function(r){if(r instanceof v.Nil)return new v.Cons(e,v.nil);if(r instanceof v.Cons)return new v.Cons(r.value0,n(t-1|0)(e)(r.value1));throw new Error("Failed pattern match at Data.List.Lazy (line 340, column 3 - line 340, column 22): "+[r.constructor.name])})(w.unwrap(v.newtypeList)(r))}}},rn=function(n){return function n(t){if(t instanceof v.Cons){if(V(t.value1))return new d.Just(v.nil);if(a.otherwise)return s.map(d.functorMaybe)(v.cons(t.value0))(n(v.step(t.value1)))}return d.Nothing.value}(v.step(n))},un=function(n){var t;return t=v.step(n),function(n){var e,r=t,u=!1;function i(t,e){if(t instanceof v.Nil)return u=!0,d.Nothing.value;if(t instanceof v.Cons&&0===e)return u=!0,new d.Just(t.value0);if(t instanceof v.Cons)return r=v.step(t.value1),void(n=e-1|0);throw new Error("Failed pattern match at Data.List.Lazy (line 299, column 3 - line 299, column 21): "+[t.constructor.name,e.constructor.name])}for(;!u;)e=i(r,n);return e}},on=function(n){return s.map(d.functorMaybe)(function(n){return n.head})(A(n))},an=function n(t){var e=A(t);if(e instanceof d.Nothing)return t;if(e instanceof d.Just){var r=A(e.value0.head);if(r instanceof d.Nothing)return n(e.value0.tail);if(r instanceof d.Just)return v.cons(v.cons(r.value0.head)(Y(on)(e.value0.tail)))(n(v.cons(r.value0.tail)(Y(T)(e.value0.tail))));throw new Error("Failed pattern match at Data.List.Lazy (line 734, column 7 - line 738, column 72): "+[r.constructor.name])}throw new Error("Failed pattern match at Data.List.Lazy (line 730, column 3 - line 738, column 72): "+[e.constructor.name])},cn=function n(t){var e=s.map(m.functorLazy)(function(e){if(e instanceof v.Nil)return v.Nil.value;if(e instanceof v.Cons){var r=I(t(e.value0))(e.value1);return new v.Cons(m.defer(function(n){return new L.NonEmpty(e.value0,r.init)}),n(t)(r.rest))}throw new Error("Failed pattern match at Data.List.Lazy (line 588, column 3 - line 588, column 15): "+[e.constructor.name])}),r=w.unwrap(v.newtypeList);return function(n){return v.List(e(r(n)))}},ln=function(n){return cn(c.eq(n))},fn=function(){var n=t.pure(m.applicativeLazy);return function(t){return v.List(n(t))}}(),sn=function n(t){return function(e){return function(r){return s.map(m.functorLazy)(function(r){if(r instanceof v.Nil)return new v.Cons(e,v.nil);if(r instanceof v.Cons)return t(e)(r.value0)instanceof h.GT?new v.Cons(r.value0,n(t)(e)(r.value1)):new v.Cons(e,fn(r));throw new Error("Failed pattern match at Data.List.Lazy (line 235, column 3 - line 235, column 22): "+[r.constructor.name])})(w.unwrap(v.newtypeList)(r))}}},pn=function(n){return sn(y.compare(n))},mn=function(n){return l.foldr(n)(v.cons)(v.nil)},vn=function(n){return function(t){return function(e){return function r(u){var o=v.step(u);if(o instanceof v.Cons)return i.defer(n)(function(n){return t(o.value0)(r(o.value1))});if(o instanceof v.Nil)return e;throw new Error("Failed pattern match at Data.List.Lazy (line 756, column 13 - line 758, column 15): "+[o.constructor.name])}}}},dn=function n(e){return function(u){return function(i){return function(o){var a=A(o);if(a instanceof d.Nothing)return t.pure(e.Applicative0())(i);if(a instanceof d.Just)return r.bind(e.Bind1())(u(i)(a.value0.head))(function(t){return n(e)(u)(t)(a.value0.tail)});throw new Error("Failed pattern match at Data.List.Lazy (line 747, column 5 - line 750, column 54): "+[a.constructor.name])}}}},wn=function(n){return function e(u){return function(i){return r.bind(d.bindMaybe)(A(i))(function(r){return n(r.head)?t.pure(d.applicativeMaybe)(u):e(u+1|0)(r.tail)})}}(0)},Ln=function(n){return function(t){return s.map(d.functorMaybe)(function(n){return(_(t)-1|0)-n|0})(wn(n)(k(t)))}},yn=function n(e){return function(u){return function(i){var o=A(i);if(o instanceof d.Nothing)return t.pure(e.Applicative0())(v.nil);if(o instanceof d.Just)return r.bind(e.Bind1())(u(o.value0.head))(function(i){return r.bind(e.Bind1())(n(e)(u)(o.value0.tail))(function(n){return t.pure(e.Applicative0())(i?v.cons(o.value0.head)(n):n)})});throw new Error("Failed pattern match at Data.List.Lazy (line 443, column 5 - line 448, column 48): "+[o.constructor.name])}}},hn=function n(t){var e=s.map(m.functorLazy)(function(e){var r,u=!1;function i(r){if(r instanceof v.Nil)return u=!0,v.Nil.value;if(r instanceof v.Cons){if(t(r.value0))return u=!0,new v.Cons(r.value0,n(t)(r.value1));if(a.otherwise)return void(e=v.step(r.value1))}throw new Error("Failed pattern match at Data.List.Lazy (line 428, column 3 - line 428, column 15): "+[r.constructor.name])}for(;!u;)r=i(e);return r}),r=w.unwrap(v.newtypeList);return function(n){return v.List(e(r(n)))}},zn=function(n){return function(t){return function(e){return hn(function(t){return l.any(v.foldableList)(p.heytingAlgebraBoolean)(n(t))(e)})(t)}}},Cn=function(n){return zn(c.eq(n))},Nn=function n(t){var e=s.map(m.functorLazy)(function(e){if(e instanceof v.Nil)return v.Nil.value;if(e instanceof v.Cons)return new v.Cons(e.value0,n(t)(hn(function(n){return!t(e.value0)(n)})(e.value1)));throw new Error("Failed pattern match at Data.List.Lazy (line 621, column 3 - line 621, column 15): "+[e.constructor.name])}),r=w.unwrap(v.newtypeList);return function(n){return v.List(e(r(n)))}},Dn=function(n){return Nn(c.eq(n))},bn=function(n){return new c.Eq(function(t){return function(e){return c.eq(v.eqList(n))(t)(e)}})},qn=function(n){return new y.Ord(function(){return bn(n.Eq0())},function(t){return function(e){return y.compare(v.ordList(n))(t)(e)}})},xn=function(n){return function(t){return Ln(function(e){return c.eq(n)(e)(t)})}},Fn=function(n){return function(t){return wn(function(e){return c.eq(n)(e)(t)})}},En=function(n){return function(t){return function(t){var e,r=!1;function u(e){if(!(e instanceof v.Cons&&n(e.value0)))return r=!0,fn(e);t=v.step(e.value1)}for(;!r;)e=u(t);return e}(v.step(t))}},gn=function(n){var t,e=s.map(m.functorLazy)((t=n,function(n){var e,r=t,u=!1;function i(t,e){if(0===t)return u=!0,e;if(e instanceof v.Nil)return u=!0,v.Nil.value;if(e instanceof v.Cons)return r=t-1|0,void(n=v.step(e.value1));throw new Error("Failed pattern match at Data.List.Lazy (line 536, column 3 - line 536, column 15): "+[t.constructor.name,e.constructor.name])}for(;!u;)e=i(r,n);return e})),r=w.unwrap(v.newtypeList);return function(n){return v.List(e(r(n)))}},jn=function(n){return function(t){return function(e){return B(t-n|0)(gn(n)(e))}}},An=function n(t){return function(e){return function(r){return s.map(m.functorLazy)(function(r){if(r instanceof v.Nil)return v.Nil.value;if(r instanceof v.Cons){if(t(e)(r.value0))return v.step(r.value1);if(a.otherwise)return new v.Cons(r.value0,n(t)(e)(r.value1))}throw new Error("Failed pattern match at Data.List.Lazy (line 650, column 3 - line 650, column 15): "+[r.constructor.name])})(w.unwrap(v.newtypeList)(r))}}},Mn=function(n){return function(t){return function(e){return z.append(v.semigroupList)(t)(l.foldl(v.foldableList)(f.flip(An(n)))(Nn(n)(e))(t))}}},Jn=function(n){return Mn(c.eq(n))},Bn=function n(t){return function(e){var r;return s.map(m.functorLazy)((r=t,function(t){if(t instanceof v.Nil)return v.Nil.value;if(0===r&&t instanceof v.Cons)return v.step(t.value1);if(t instanceof v.Cons)return new v.Cons(t.value0,n(r-1|0)(t.value1));throw new Error("Failed pattern match at Data.List.Lazy (line 353, column 3 - line 353, column 17): "+[r.constructor.name,t.constructor.name])}))(w.unwrap(v.newtypeList)(e))}},Tn=function(n){return An(c.eq(n))},Pn=function(n){return l.foldl(v.foldableList)(f.flip(Tn(n)))},In=function(n){return i.fix(v.lazyList)(function(t){return z.append(v.semigroupList)(n)(t)})},Wn=f.flip(r.bind(v.bindList)),On=function(n){return r.bind(v.bindList)(n)(u.identity(u.categoryFn))},Rn=Y(u.identity(u.categoryFn)),Sn=function n(t){return function(e){return function(r){var u;return s.map(m.functorLazy)((u=t,function(t){if(t instanceof v.Nil)return v.Nil.value;if(0===u&&t instanceof v.Cons){var r=e(t.value0);if(r instanceof d.Nothing)return v.step(t.value1);if(r instanceof d.Just)return new v.Cons(r.value0,t.value1);throw new Error("Failed pattern match at Data.List.Lazy (line 394, column 22 - line 396, column 26): "+[r.constructor.name])}if(t instanceof v.Cons)return new v.Cons(t.value0,n(u-1|0)(e)(t.value1));throw new Error("Failed pattern match at Data.List.Lazy (line 393, column 3 - line 393, column 17): "+[u.constructor.name,t.constructor.name])}))(w.unwrap(v.newtypeList)(r))}}},kn=function(n){return function(t){return Sn(n)(function(n){return d.Just.create(t(n))})}};module.exports={toUnfoldable:M,fromFoldable:mn,singleton:O,range:K,replicate:H,replicateM:U,some:Z,many:$,repeat:G,iterate:tn,cycle:In,null:V,length:_,snoc:W,insert:pn,insertBy:sn,head:on,last:nn,tail:T,init:rn,uncons:A,index:un,elemIndex:Fn,elemLastIndex:xn,findIndex:wn,findLastIndex:Ln,insertAt:en,deleteAt:Bn,updateAt:g,modifyAt:kn,alterAt:Sn,reverse:k,concat:On,concatMap:Wn,filter:hn,filterM:yn,mapMaybe:Y,catMaybes:Rn,Pattern:q,stripPrefix:P,slice:jn,take:B,takeWhile:J,drop:gn,dropWhile:En,span:I,group:ln,groupBy:cn,partition:Q,nub:Dn,nubBy:Nn,union:Jn,unionBy:Mn,delete:Tn,deleteBy:An,difference:Pn,intersect:Cn,intersectBy:zn,zipWith:x,zipWithA:F,zip:E,unzip:j,transpose:an,foldM:dn,foldrLazy:vn,scanrLazy:S,eqPattern:bn,ordPattern:qn,newtypePattern:X,showPattern:R}; +},{"../Control.Alt/index.js":"lN+m","../Control.Applicative/index.js":"qYya","../Control.Apply/index.js":"QcLv","../Control.Bind/index.js":"7VcT","../Control.Category/index.js":"IAi2","../Control.Lazy/index.js":"y9cE","../Control.Monad.Rec.Class/index.js":"UVIy","../Data.Boolean/index.js":"ObQr","../Data.Eq/index.js":"Pq4F","../Data.Foldable/index.js":"eVDl","../Data.Function/index.js":"ImXJ","../Data.Functor/index.js":"+0AE","../Data.HeytingAlgebra/index.js":"paZe","../Data.Lazy/index.js":"aRUE","../Data.List.Lazy.Types/index.js":"EJF+","../Data.Maybe/index.js":"5mN7","../Data.Newtype/index.js":"lz8k","../Data.NonEmpty/index.js":"qF8i","../Data.Ord/index.js":"r4Vb","../Data.Ordering/index.js":"5Eun","../Data.Semigroup/index.js":"EsAJ","../Data.Show/index.js":"mFY7","../Data.Traversable/index.js":"n7EE","../Data.Tuple/index.js":"II/O","../Data.Unfoldable/index.js":"77+Z"}],"RRDs":[function(require,module,exports) { +"use strict";var e=require("../Control.Applicative/index.js"),n=require("../Control.Apply/index.js"),u=require("../Control.Category/index.js"),a=require("../Data.Eq/index.js"),t=require("../Data.Foldable/index.js"),l=require("../Data.FoldableWithIndex/index.js"),r=require("../Data.Function/index.js"),v=require("../Data.Functor/index.js"),i=require("../Data.FunctorWithIndex/index.js"),o=require("../Data.HeytingAlgebra/index.js"),c=require("../Data.List/index.js"),f=require("../Data.List.Lazy/index.js"),s=require("../Data.List.Lazy.Types/index.js"),p=require("../Data.List.Types/index.js"),m=require("../Data.Maybe/index.js"),w=require("../Data.Monoid/index.js"),d=require("../Data.Ord/index.js"),h=require("../Data.Ordering/index.js"),y=require("../Data.Semigroup/index.js"),E=require("../Data.Show/index.js"),M=require("../Data.Traversable/index.js"),I=require("../Data.TraversableWithIndex/index.js"),L=require("../Data.Tuple/index.js"),D=require("../Data.Unfoldable/index.js"),F=function(){function e(){}return e.value=new e,e}(),T=function(){function e(e,n,u,a){this.value0=e,this.value1=n,this.value2=u,this.value3=a}return e.create=function(n){return function(u){return function(a){return function(t){return new e(n,u,a,t)}}}},e}(),b=function(){function e(e,n,u,a,t,l,r){this.value0=e,this.value1=n,this.value2=u,this.value3=a,this.value4=t,this.value5=l,this.value6=r}return e.create=function(n){return function(u){return function(a){return function(t){return function(l){return function(r){return function(v){return new e(n,u,a,t,l,r,v)}}}}}}},e}(),g=function(){function e(e,n,u){this.value0=e,this.value1=n,this.value2=u}return e.create=function(n){return function(u){return function(a){return new e(n,u,a)}}},e}(),x=function(){function e(e,n,u){this.value0=e,this.value1=n,this.value2=u}return e.create=function(n){return function(u){return function(a){return new e(n,u,a)}}},e}(),C=function(){function e(e,n,u,a,t,l){this.value0=e,this.value1=n,this.value2=u,this.value3=a,this.value4=t,this.value5=l}return e.create=function(n){return function(u){return function(a){return function(t){return function(l){return function(r){return new e(n,u,a,t,l,r)}}}}}},e}(),q=function(){function e(e,n,u,a,t,l){this.value0=e,this.value1=n,this.value2=u,this.value3=a,this.value4=t,this.value5=l}return e.create=function(n){return function(u){return function(a){return function(t){return function(l){return function(r){return new e(n,u,a,t,l,r)}}}}}},e}(),J=function(){function e(e,n,u,a,t,l){this.value0=e,this.value1=n,this.value2=u,this.value3=a,this.value4=t,this.value5=l}return e.create=function(n){return function(u){return function(a){return function(t){return function(l){return function(r){return new e(n,u,a,t,l,r)}}}}}},e}(),N=function(){function e(e,n,u,a){this.value0=e,this.value1=n,this.value2=u,this.value3=a}return e.create=function(n){return function(u){return function(a){return function(t){return new e(n,u,a,t)}}}},e}(),A=function n(u){if(u instanceof F)return p.Nil.value;if(u instanceof T)return y.append(p.semigroupList)(n(u.value0))(y.append(p.semigroupList)(e.pure(p.applicativeList)(u.value2))(n(u.value3)));if(u instanceof b)return y.append(p.semigroupList)(n(u.value0))(y.append(p.semigroupList)(e.pure(p.applicativeList)(u.value2))(y.append(p.semigroupList)(n(u.value3))(y.append(p.semigroupList)(e.pure(p.applicativeList)(u.value5))(n(u.value6)))));throw new Error("Failed pattern match at Data.Map.Internal (line 612, column 1 - line 612, column 40): "+[u.constructor.name])},k=function e(n){if(n instanceof F)return 0;if(n instanceof T)return(1+e(n.value0)|0)+e(n.value3)|0;if(n instanceof b)return((2+e(n.value0)|0)+e(n.value3)|0)+e(n.value6)|0;throw new Error("Failed pattern match at Data.Map.Internal (line 662, column 1 - line 662, column 35): "+[n.constructor.name])},W=function(e){return function(n){return new T(F.value,e,n,F.value)}},j=function(e){return function(n){return D.unfoldr(e)(function(e){var n,u=!1;function a(n){if(n instanceof p.Nil)return u=!0,m.Nothing.value;if(n instanceof p.Cons){if(n.value0 instanceof F)return void(e=n.value1);if(n.value0 instanceof T&&n.value0.value0 instanceof F&&n.value0.value3 instanceof F)return u=!0,m.Just.create(new L.Tuple(new L.Tuple(n.value0.value1,n.value0.value2),n.value1));if(n.value0 instanceof T&&n.value0.value0 instanceof F)return u=!0,m.Just.create(new L.Tuple(new L.Tuple(n.value0.value1,n.value0.value2),new p.Cons(n.value0.value3,n.value1)));if(n.value0 instanceof T)return void(e=new p.Cons(n.value0.value0,new p.Cons(W(n.value0.value1)(n.value0.value2),new p.Cons(n.value0.value3,n.value1))));if(n.value0 instanceof b)return void(e=new p.Cons(n.value0.value0,new p.Cons(W(n.value0.value1)(n.value0.value2),new p.Cons(n.value0.value3,new p.Cons(W(n.value0.value4)(n.value0.value5),new p.Cons(n.value0.value6,n.value1))))));throw new Error("Failed pattern match at Data.Map.Internal (line 577, column 18 - line 586, column 71): "+[n.value0.constructor.name])}throw new Error("Failed pattern match at Data.Map.Internal (line 576, column 3 - line 576, column 19): "+[n.constructor.name])}for(;!u;)n=a(e);return n})(new p.Cons(n,p.Nil.value))}},Q=j(D.unfoldableArray),G=function(e){return function(n){return D.unfoldr(e)(function(e){var n,u=!1;function a(n){if(n instanceof p.Nil)return u=!0,m.Nothing.value;if(n instanceof p.Cons){if(n.value0 instanceof F)return void(e=n.value1);if(n.value0 instanceof T)return u=!0,m.Just.create(new L.Tuple(new L.Tuple(n.value0.value1,n.value0.value2),new p.Cons(n.value0.value0,new p.Cons(n.value0.value3,n.value1))));if(n.value0 instanceof b)return u=!0,m.Just.create(new L.Tuple(new L.Tuple(n.value0.value1,n.value0.value2),new p.Cons(W(n.value0.value4)(n.value0.value5),new p.Cons(n.value0.value0,new p.Cons(n.value0.value3,new p.Cons(n.value0.value6,n.value1))))));throw new Error("Failed pattern match at Data.Map.Internal (line 598, column 18 - line 603, column 77): "+[n.value0.constructor.name])}throw new Error("Failed pattern match at Data.Map.Internal (line 597, column 3 - line 597, column 19): "+[n.constructor.name])}for(;!u;)n=a(e);return n})(new p.Cons(n,p.Nil.value))}},S=function e(n){return function(u){return function(a){if(a instanceof F)return"Leaf";if(a instanceof T)return"Two ("+e(n)(u)(a.value0)+") ("+E.show(n)(a.value1)+") ("+E.show(u)(a.value2)+") ("+e(n)(u)(a.value3)+")";if(a instanceof b)return"Three ("+e(n)(u)(a.value0)+") ("+E.show(n)(a.value1)+") ("+E.show(u)(a.value2)+") ("+e(n)(u)(a.value3)+") ("+E.show(n)(a.value4)+") ("+E.show(u)(a.value5)+") ("+e(n)(u)(a.value6)+")";throw new Error("Failed pattern match at Data.Map.Internal (line 153, column 1 - line 153, column 62): "+[a.constructor.name])}}},O=function(e){return function(n){return new E.Show(function(u){return"(fromFoldable "+E.show(E.showArray(L.showTuple(e)(n)))(Q(u))+")"})}},U=function(e){return function(n){var u=d.compare(e);return function e(a){if(a instanceof F)return m.Nothing.value;if(a instanceof T){var t=u(n)(a.value1);if(t instanceof h.EQ)return new m.Just({key:a.value1,value:a.value2});if(t instanceof h.GT)return m.Just.create(m.fromMaybe({key:a.value1,value:a.value2})(e(a.value3)));if(t instanceof h.LT)return e(a.value0);throw new Error("Failed pattern match at Data.Map.Internal (line 225, column 33 - line 228, column 20): "+[t.constructor.name])}if(a instanceof b){var l=u(n)(a.value4);if(l instanceof h.EQ)return new m.Just({key:a.value4,value:a.value5});if(l instanceof h.GT)return m.Just.create(m.fromMaybe({key:a.value4,value:a.value5})(e(a.value6)));if(l instanceof h.LT)return e(new T(a.value0,a.value1,a.value2,a.value3));throw new Error("Failed pattern match at Data.Map.Internal (line 229, column 45 - line 232, column 36): "+[l.constructor.name])}throw new Error("Failed pattern match at Data.Map.Internal (line 224, column 5 - line 224, column 22): "+[a.constructor.name])}}},z=function(e){return function(n){var u=d.compare(e);return function e(a){if(a instanceof F)return m.Nothing.value;if(a instanceof T){var t=u(n)(a.value1);if(t instanceof h.EQ)return new m.Just({key:a.value1,value:a.value2});if(t instanceof h.LT)return m.Just.create(m.fromMaybe({key:a.value1,value:a.value2})(e(a.value0)));if(t instanceof h.GT)return e(a.value3);throw new Error("Failed pattern match at Data.Map.Internal (line 259, column 33 - line 262, column 21): "+[t.constructor.name])}if(a instanceof b){var l=u(n)(a.value1);if(l instanceof h.EQ)return new m.Just({key:a.value1,value:a.value2});if(l instanceof h.LT)return m.Just.create(m.fromMaybe({key:a.value1,value:a.value2})(e(a.value0)));if(l instanceof h.GT)return e(new T(a.value3,a.value4,a.value5,a.value6));throw new Error("Failed pattern match at Data.Map.Internal (line 263, column 45 - line 266, column 37): "+[l.constructor.name])}throw new Error("Failed pattern match at Data.Map.Internal (line 258, column 5 - line 258, column 22): "+[a.constructor.name])}}},K=function(e){return function(n){var u=d.compare(e);return function(e){var a,t=!1;function l(a){if(a instanceof F)return t=!0,m.Nothing.value;if(a instanceof T){var l=u(n)(a.value1);return l instanceof h.EQ?(t=!0,new m.Just(a.value2)):l instanceof h.LT?void(e=a.value0):void(e=a.value3)}if(a instanceof b){var r=u(n)(a.value1);if(r instanceof h.EQ)return t=!0,new m.Just(a.value2);var v=u(n)(a.value4);return v instanceof h.EQ?(t=!0,new m.Just(a.value5)):r instanceof h.LT?void(e=a.value0):v instanceof h.GT?void(e=a.value6):void(e=a.value3)}throw new Error("Failed pattern match at Data.Map.Internal (line 200, column 5 - line 200, column 22): "+[a.constructor.name])}for(;!t;)a=l(e);return a}}},B=function(e){return function(n){return function(u){return m.isJust(K(e)(n)(u))}}},H=function n(u){if(u instanceof F)return p.Nil.value;if(u instanceof T)return y.append(p.semigroupList)(n(u.value0))(y.append(p.semigroupList)(e.pure(p.applicativeList)(u.value1))(n(u.value3)));if(u instanceof b)return y.append(p.semigroupList)(n(u.value0))(y.append(p.semigroupList)(e.pure(p.applicativeList)(u.value1))(y.append(p.semigroupList)(n(u.value3))(y.append(p.semigroupList)(e.pure(p.applicativeList)(u.value4))(n(u.value6)))));throw new Error("Failed pattern match at Data.Map.Internal (line 606, column 1 - line 606, column 38): "+[u.constructor.name])},V=function(e){return function(n){return function(u){return function(l){return t.all(s.foldableList)(o.heytingAlgebraBoolean)(function(u){return a.eq(m.eqMaybe(n))(K(e)(u.value0)(l))(new m.Just(u.value1))})(j(s.unfoldableList)(u))}}}},P=function(e){return e instanceof F},R=new v.Functor(function(e){return function(n){if(n instanceof F)return F.value;if(n instanceof T)return new T(v.map(R)(e)(n.value0),n.value1,e(n.value2),v.map(R)(e)(n.value3));if(n instanceof b)return new b(v.map(R)(e)(n.value0),n.value1,e(n.value2),v.map(R)(e)(n.value3),n.value4,e(n.value5),v.map(R)(e)(n.value6));throw new Error("Failed pattern match at Data.Map.Internal (line 96, column 1 - line 99, column 110): "+[e.constructor.name,n.constructor.name])}}),X=new i.FunctorWithIndex(function(){return R},function(e){return function(n){if(n instanceof F)return F.value;if(n instanceof T)return new T(i.mapWithIndex(X)(e)(n.value0),n.value1,e(n.value1)(n.value2),i.mapWithIndex(X)(e)(n.value3));if(n instanceof b)return new b(i.mapWithIndex(X)(e)(n.value0),n.value1,e(n.value1)(n.value2),i.mapWithIndex(X)(e)(n.value3),n.value4,e(n.value4)(n.value5),i.mapWithIndex(X)(e)(n.value6));throw new Error("Failed pattern match at Data.Map.Internal (line 101, column 1 - line 104, column 152): "+[e.constructor.name,n.constructor.name])}}),Y=function(e){return function(n){return function(u){var a,t=e,l=n,r=!1;function v(e,n,a){if(n instanceof p.Nil)return r=!0,a;if(n instanceof p.Cons){if(n.value0 instanceof g)return t=e,l=n.value1,void(u=new T(a,n.value0.value0,n.value0.value1,n.value0.value2));if(n.value0 instanceof x)return t=e,l=n.value1,void(u=new T(n.value0.value0,n.value0.value1,n.value0.value2,a));if(n.value0 instanceof C)return t=e,l=n.value1,void(u=new b(a,n.value0.value0,n.value0.value1,n.value0.value2,n.value0.value3,n.value0.value4,n.value0.value5));if(n.value0 instanceof q)return t=e,l=n.value1,void(u=new b(n.value0.value0,n.value0.value1,n.value0.value2,a,n.value0.value3,n.value0.value4,n.value0.value5));if(n.value0 instanceof J)return t=e,l=n.value1,void(u=new b(n.value0.value0,n.value0.value1,n.value0.value2,n.value0.value3,n.value0.value4,n.value0.value5,a));throw new Error("Failed pattern match at Data.Map.Internal (line 418, column 3 - line 423, column 88): "+[n.value0.constructor.name])}throw new Error("Failed pattern match at Data.Map.Internal (line 415, column 1 - line 415, column 80): "+[n.constructor.name,a.constructor.name])}for(;!r;)a=v(t,l,u);return a}}},Z=function(e){return function(n){return function(u){var a,t=function(n){return function(u){var a,t=n,l=!1;function r(n,a){if(n instanceof p.Nil)return l=!0,new T(a.value0,a.value1,a.value2,a.value3);if(n instanceof p.Cons){if(n.value0 instanceof g)return l=!0,Y(e)(n.value1)(new b(a.value0,a.value1,a.value2,a.value3,n.value0.value0,n.value0.value1,n.value0.value2));if(n.value0 instanceof x)return l=!0,Y(e)(n.value1)(new b(n.value0.value0,n.value0.value1,n.value0.value2,a.value0,a.value1,a.value2,a.value3));if(n.value0 instanceof C)return t=n.value1,void(u=new N(new T(a.value0,a.value1,a.value2,a.value3),n.value0.value0,n.value0.value1,new T(n.value0.value2,n.value0.value3,n.value0.value4,n.value0.value5)));if(n.value0 instanceof q)return t=n.value1,void(u=new N(new T(n.value0.value0,n.value0.value1,n.value0.value2,a.value0),a.value1,a.value2,new T(a.value3,n.value0.value3,n.value0.value4,n.value0.value5)));if(n.value0 instanceof J)return t=n.value1,void(u=new N(new T(n.value0.value0,n.value0.value1,n.value0.value2,n.value0.value3),n.value0.value4,n.value0.value5,new T(a.value0,a.value1,a.value2,a.value3)));throw new Error("Failed pattern match at Data.Map.Internal (line 454, column 5 - line 459, column 108): "+[n.value0.constructor.name,a.constructor.name])}throw new Error("Failed pattern match at Data.Map.Internal (line 451, column 3 - line 451, column 56): "+[n.constructor.name,a.constructor.name])}for(;!l;)a=r(t,u);return a}},l=d.compare(e);return a=p.Nil.value,function(r){var v,i=a,o=!1;function c(a,v){if(v instanceof F)return o=!0,t(a)(new N(F.value,n,u,F.value));if(v instanceof T){var c=l(n)(v.value1);return c instanceof h.EQ?(o=!0,Y(e)(a)(new T(v.value0,n,u,v.value3))):c instanceof h.LT?(i=new p.Cons(new g(v.value1,v.value2,v.value3),a),void(r=v.value0)):(i=new p.Cons(new x(v.value0,v.value1,v.value2),a),void(r=v.value3))}if(v instanceof b){var f=l(n)(v.value1);if(f instanceof h.EQ)return o=!0,Y(e)(a)(new b(v.value0,n,u,v.value3,v.value4,v.value5,v.value6));var s=l(n)(v.value4);return s instanceof h.EQ?(o=!0,Y(e)(a)(new b(v.value0,v.value1,v.value2,v.value3,n,u,v.value6))):f instanceof h.LT?(i=new p.Cons(new C(v.value1,v.value2,v.value3,v.value4,v.value5,v.value6),a),void(r=v.value0)):f instanceof h.GT&&s instanceof h.LT?(i=new p.Cons(new q(v.value0,v.value1,v.value2,v.value4,v.value5,v.value6),a),void(r=v.value3)):(i=new p.Cons(new J(v.value0,v.value1,v.value2,v.value3,v.value4,v.value5),a),void(r=v.value6))}throw new Error("Failed pattern match at Data.Map.Internal (line 434, column 3 - line 434, column 55): "+[a.constructor.name,v.constructor.name])}for(;!o;)v=c(i,r);return v}}}},$=function(e){return function(n){var u,a=function(n){return function(u){var a,t=n,l=!1;function r(n,a){if(n instanceof p.Nil)return l=!0,a;if(n instanceof p.Cons){if(n.value0 instanceof g&&n.value0.value2 instanceof F&&a instanceof F)return l=!0,Y(e)(n.value1)(new T(F.value,n.value0.value0,n.value0.value1,F.value));if(n.value0 instanceof x&&n.value0.value0 instanceof F&&a instanceof F)return l=!0,Y(e)(n.value1)(new T(F.value,n.value0.value1,n.value0.value2,F.value));if(n.value0 instanceof g&&n.value0.value2 instanceof T)return t=n.value1,void(u=new b(a,n.value0.value0,n.value0.value1,n.value0.value2.value0,n.value0.value2.value1,n.value0.value2.value2,n.value0.value2.value3));if(n.value0 instanceof x&&n.value0.value0 instanceof T)return t=n.value1,void(u=new b(n.value0.value0.value0,n.value0.value0.value1,n.value0.value0.value2,n.value0.value0.value3,n.value0.value1,n.value0.value2,a));if(n.value0 instanceof g&&n.value0.value2 instanceof b)return l=!0,Y(e)(n.value1)(new T(new T(a,n.value0.value0,n.value0.value1,n.value0.value2.value0),n.value0.value2.value1,n.value0.value2.value2,new T(n.value0.value2.value3,n.value0.value2.value4,n.value0.value2.value5,n.value0.value2.value6)));if(n.value0 instanceof x&&n.value0.value0 instanceof b)return l=!0,Y(e)(n.value1)(new T(new T(n.value0.value0.value0,n.value0.value0.value1,n.value0.value0.value2,n.value0.value0.value3),n.value0.value0.value4,n.value0.value0.value5,new T(n.value0.value0.value6,n.value0.value1,n.value0.value2,a)));if(n.value0 instanceof C&&n.value0.value2 instanceof F&&n.value0.value5 instanceof F&&a instanceof F)return l=!0,Y(e)(n.value1)(new b(F.value,n.value0.value0,n.value0.value1,F.value,n.value0.value3,n.value0.value4,F.value));if(n.value0 instanceof q&&n.value0.value0 instanceof F&&n.value0.value5 instanceof F&&a instanceof F)return l=!0,Y(e)(n.value1)(new b(F.value,n.value0.value1,n.value0.value2,F.value,n.value0.value3,n.value0.value4,F.value));if(n.value0 instanceof J&&n.value0.value0 instanceof F&&n.value0.value3 instanceof F&&a instanceof F)return l=!0,Y(e)(n.value1)(new b(F.value,n.value0.value1,n.value0.value2,F.value,n.value0.value4,n.value0.value5,F.value));if(n.value0 instanceof C&&n.value0.value2 instanceof T)return l=!0,Y(e)(n.value1)(new T(new b(a,n.value0.value0,n.value0.value1,n.value0.value2.value0,n.value0.value2.value1,n.value0.value2.value2,n.value0.value2.value3),n.value0.value3,n.value0.value4,n.value0.value5));if(n.value0 instanceof q&&n.value0.value0 instanceof T)return l=!0,Y(e)(n.value1)(new T(new b(n.value0.value0.value0,n.value0.value0.value1,n.value0.value0.value2,n.value0.value0.value3,n.value0.value1,n.value0.value2,a),n.value0.value3,n.value0.value4,n.value0.value5));if(n.value0 instanceof q&&n.value0.value5 instanceof T)return l=!0,Y(e)(n.value1)(new T(n.value0.value0,n.value0.value1,n.value0.value2,new b(a,n.value0.value3,n.value0.value4,n.value0.value5.value0,n.value0.value5.value1,n.value0.value5.value2,n.value0.value5.value3)));if(n.value0 instanceof J&&n.value0.value3 instanceof T)return l=!0,Y(e)(n.value1)(new T(n.value0.value0,n.value0.value1,n.value0.value2,new b(n.value0.value3.value0,n.value0.value3.value1,n.value0.value3.value2,n.value0.value3.value3,n.value0.value4,n.value0.value5,a)));if(n.value0 instanceof C&&n.value0.value2 instanceof b)return l=!0,Y(e)(n.value1)(new b(new T(a,n.value0.value0,n.value0.value1,n.value0.value2.value0),n.value0.value2.value1,n.value0.value2.value2,new T(n.value0.value2.value3,n.value0.value2.value4,n.value0.value2.value5,n.value0.value2.value6),n.value0.value3,n.value0.value4,n.value0.value5));if(n.value0 instanceof q&&n.value0.value0 instanceof b)return l=!0,Y(e)(n.value1)(new b(new T(n.value0.value0.value0,n.value0.value0.value1,n.value0.value0.value2,n.value0.value0.value3),n.value0.value0.value4,n.value0.value0.value5,new T(n.value0.value0.value6,n.value0.value1,n.value0.value2,a),n.value0.value3,n.value0.value4,n.value0.value5));if(n.value0 instanceof q&&n.value0.value5 instanceof b)return l=!0,Y(e)(n.value1)(new b(n.value0.value0,n.value0.value1,n.value0.value2,new T(a,n.value0.value3,n.value0.value4,n.value0.value5.value0),n.value0.value5.value1,n.value0.value5.value2,new T(n.value0.value5.value3,n.value0.value5.value4,n.value0.value5.value5,n.value0.value5.value6)));if(n.value0 instanceof J&&n.value0.value3 instanceof b)return l=!0,Y(e)(n.value1)(new b(n.value0.value0,n.value0.value1,n.value0.value2,new T(n.value0.value3.value0,n.value0.value3.value1,n.value0.value3.value2,n.value0.value3.value3),n.value0.value3.value4,n.value0.value3.value5,new T(n.value0.value3.value6,n.value0.value4,n.value0.value5,a)));throw new Error("Failed pattern match at Data.Map.Internal (line 511, column 9 - line 528, column 136): "+[n.value0.constructor.name,a.constructor.name])}throw new Error("Failed pattern match at Data.Map.Internal (line 508, column 5 - line 528, column 136): "+[n.constructor.name])}for(;!l;)a=r(t,u);return a}},t=function(e){return function(n){var u,t=e,l=!1;function r(e,u){if(u instanceof T&&u.value0 instanceof F&&u.value3 instanceof F)return l=!0,a(e)(F.value);if(u instanceof T)return t=new p.Cons(new x(u.value0,u.value1,u.value2),e),void(n=u.value3);if(u instanceof b&&u.value0 instanceof F&&u.value3 instanceof F&&u.value6 instanceof F)return l=!0,a(new p.Cons(new x(F.value,u.value1,u.value2),e))(F.value);if(u instanceof b)return t=new p.Cons(new J(u.value0,u.value1,u.value2,u.value3,u.value4,u.value5),e),void(n=u.value6);throw new Error("Failed pattern match at Data.Map.Internal (line 540, column 5 - line 544, column 107): "+[u.constructor.name])}for(;!l;)u=r(t,n);return u}},l=function(e){var n,u=!1;function a(n){if(n instanceof T&&n.value3 instanceof F)return u=!0,{key:n.value1,value:n.value2};if(n instanceof T)e=n.value3;else{if(n instanceof b&&n.value6 instanceof F)return u=!0,{key:n.value4,value:n.value5};if(!(n instanceof b))throw new Error("Failed pattern match at Data.Map.Internal (line 531, column 33 - line 535, column 45): "+[n.constructor.name]);e=n.value6}}for(;!u;)n=a(e);return n},r=d.compare(e);return u=p.Nil.value,function(v){var i,o=u,c=!1;function f(u,i){if(i instanceof F)return c=!0,m.Nothing.value;if(i instanceof T){var f=r(n)(i.value1);if(i.value3 instanceof F&&f instanceof h.EQ)return c=!0,new m.Just(new L.Tuple(i.value2,a(u)(F.value)));if(f instanceof h.EQ){var s=l(i.value0);return c=!0,new m.Just(new L.Tuple(i.value2,t(new p.Cons(new g(s.key,s.value,i.value3),u))(i.value0)))}return f instanceof h.LT?(o=new p.Cons(new g(i.value1,i.value2,i.value3),u),void(v=i.value0)):(o=new p.Cons(new x(i.value0,i.value1,i.value2),u),void(v=i.value3))}if(i instanceof b){var w=i.value0 instanceof F&&i.value3 instanceof F&&i.value6 instanceof F,d=(f=r(n)(i.value4),r(n)(i.value1));return w&&d instanceof h.EQ?(c=!0,new m.Just(new L.Tuple(i.value2,Y(e)(u)(new T(F.value,i.value4,i.value5,F.value))))):w&&f instanceof h.EQ?(c=!0,new m.Just(new L.Tuple(i.value5,Y(e)(u)(new T(F.value,i.value1,i.value2,F.value))))):d instanceof h.EQ?(s=l(i.value0),c=!0,new m.Just(new L.Tuple(i.value2,t(new p.Cons(new C(s.key,s.value,i.value3,i.value4,i.value5,i.value6),u))(i.value0)))):f instanceof h.EQ?(s=l(i.value3),c=!0,new m.Just(new L.Tuple(i.value5,t(new p.Cons(new q(i.value0,i.value1,i.value2,s.key,s.value,i.value6),u))(i.value3)))):d instanceof h.LT?(o=new p.Cons(new C(i.value1,i.value2,i.value3,i.value4,i.value5,i.value6),u),void(v=i.value0)):d instanceof h.GT&&f instanceof h.LT?(o=new p.Cons(new q(i.value0,i.value1,i.value2,i.value4,i.value5,i.value6),u),void(v=i.value3)):(o=new p.Cons(new J(i.value0,i.value1,i.value2,i.value3,i.value4,i.value5),u),void(v=i.value6))}throw new Error("Failed pattern match at Data.Map.Internal (line 481, column 34 - line 504, column 80): "+[i.constructor.name])}for(;!c;)i=f(o,v);return i}}},_=new t.Foldable(function(e){return function(n){return function(u){return t.foldMap(p.foldableList)(e)(n)(A(u))}}},function(e){return function(n){return function(u){return t.foldl(p.foldableList)(e)(n)(A(u))}}},function(e){return function(n){return function(u){return t.foldr(p.foldableList)(e)(n)(A(u))}}}),ee=new M.Traversable(function(){return _},function(){return R},function(e){return M.traverse(ee)(e)(u.identity(u.categoryFn))},function(u){return function(a){return function(t){if(t instanceof F)return e.pure(u)(F.value);if(t instanceof T)return n.apply(u.Apply0())(n.apply(u.Apply0())(n.apply(u.Apply0())(v.map(u.Apply0().Functor0())(T.create)(M.traverse(ee)(u)(a)(t.value0)))(e.pure(u)(t.value1)))(a(t.value2)))(M.traverse(ee)(u)(a)(t.value3));if(t instanceof b)return n.apply(u.Apply0())(n.apply(u.Apply0())(n.apply(u.Apply0())(n.apply(u.Apply0())(n.apply(u.Apply0())(n.apply(u.Apply0())(v.map(u.Apply0().Functor0())(b.create)(M.traverse(ee)(u)(a)(t.value0)))(e.pure(u)(t.value1)))(a(t.value2)))(M.traverse(ee)(u)(a)(t.value3)))(e.pure(u)(t.value4)))(a(t.value5)))(M.traverse(ee)(u)(a)(t.value6));throw new Error("Failed pattern match at Data.Map.Internal (line 119, column 1 - line 134, column 31): "+[a.constructor.name,t.constructor.name])}}}),ne=function(e){return function(n){return function(u){return function(a){return function(t){var l=function(){if(u instanceof m.Just)return function(n){return d.lessThan(e)(n)(u.value0)};if(u instanceof m.Nothing)return r.const(!1);throw new Error("Failed pattern match at Data.Map.Internal (line 319, column 7 - line 323, column 22): "+[u.constructor.name])}(),v=function(){if(a instanceof m.Just)return function(n){return d.greaterThan(e)(n)(a.value0)};if(a instanceof m.Nothing)return r.const(!1);throw new Error("Failed pattern match at Data.Map.Internal (line 326, column 7 - line 330, column 22): "+[a.constructor.name])}(),i=function(){if(u instanceof m.Just&&a instanceof m.Just)return function(n){return d.lessThanOrEq(e)(u.value0)(n)&&d.lessThanOrEq(e)(n)(a.value0)};if(u instanceof m.Just&&a instanceof m.Nothing)return function(n){return d.lessThanOrEq(e)(u.value0)(n)};if(u instanceof m.Nothing&&a instanceof m.Just)return function(n){return d.lessThanOrEq(e)(n)(a.value0)};if(u instanceof m.Nothing&&a instanceof m.Nothing)return r.const(!0);throw new Error("Failed pattern match at Data.Map.Internal (line 333, column 7 - line 341, column 21): "+[u.constructor.name,a.constructor.name])}();return function e(u){if(u instanceof F)return w.mempty(n);if(u instanceof T)return y.append(n.Semigroup0())(l(u.value1)?w.mempty(n):e(u.value0))(y.append(n.Semigroup0())(i(u.value1)?t(u.value1)(u.value2):w.mempty(n))(v(u.value1)?w.mempty(n):e(u.value3)));if(u instanceof b)return y.append(n.Semigroup0())(l(u.value1)?w.mempty(n):e(u.value0))(y.append(n.Semigroup0())(i(u.value1)?t(u.value1)(u.value2):w.mempty(n))(y.append(n.Semigroup0())(l(u.value4)||v(u.value1)?w.mempty(n):e(u.value3))(y.append(n.Semigroup0())(i(u.value4)?t(u.value4)(u.value5):w.mempty(n))(v(u.value4)?w.mempty(n):e(u.value6)))));throw new Error("Failed pattern match at Data.Map.Internal (line 359, column 10 - line 371, column 54): "+[u.constructor.name])}}}}}},ue=function(){var e;return e=m.Nothing.value,function(n){var u,a=e,t=!1;function l(e,u){if(u instanceof F)return t=!0,e;if(u instanceof T)return a=new m.Just({key:u.value1,value:u.value2}),void(n=u.value0);if(u instanceof b)return a=new m.Just({key:u.value1,value:u.value2}),void(n=u.value0);throw new Error("Failed pattern match at Data.Map.Internal (line 297, column 5 - line 297, column 22): "+[e.constructor.name,u.constructor.name])}for(;!t;)u=l(a,n);return u}}(),ae=function(e){return function(n){var u=d.compare(e);return function e(a){if(a instanceof F)return m.Nothing.value;if(a instanceof T){var t=u(n)(a.value1);if(t instanceof h.EQ)return ue(a.value3);if(t instanceof h.LT)return m.Just.create(m.fromMaybe({key:a.value1,value:a.value2})(e(a.value0)));if(t instanceof h.GT)return e(a.value3);throw new Error("Failed pattern match at Data.Map.Internal (line 276, column 33 - line 279, column 21): "+[t.constructor.name])}if(a instanceof b){var l=u(n)(a.value1);if(l instanceof h.EQ)return ue(new T(a.value3,a.value4,a.value5,a.value6));if(l instanceof h.LT)return m.Just.create(m.fromMaybe({key:a.value1,value:a.value2})(e(a.value0)));if(l instanceof h.GT)return e(new T(a.value3,a.value4,a.value5,a.value6));throw new Error("Failed pattern match at Data.Map.Internal (line 280, column 45 - line 283, column 37): "+[l.constructor.name])}throw new Error("Failed pattern match at Data.Map.Internal (line 275, column 5 - line 275, column 22): "+[a.constructor.name])}}},te=function(){var e;return e=m.Nothing.value,function(n){var u,a=e,t=!1;function l(e,u){if(u instanceof F)return t=!0,e;if(u instanceof T)return a=new m.Just({key:u.value1,value:u.value2}),void(n=u.value3);if(u instanceof b)return a=new m.Just({key:u.value4,value:u.value5}),void(n=u.value6);throw new Error("Failed pattern match at Data.Map.Internal (line 289, column 5 - line 289, column 22): "+[e.constructor.name,u.constructor.name])}for(;!t;)u=l(a,n);return u}}(),le=function(e){return function(n){var u=d.compare(e);return function e(a){if(a instanceof F)return m.Nothing.value;if(a instanceof T){var t=u(n)(a.value1);if(t instanceof h.EQ)return te(a.value0);if(t instanceof h.GT)return m.Just.create(m.fromMaybe({key:a.value1,value:a.value2})(e(a.value3)));if(t instanceof h.LT)return e(a.value0);throw new Error("Failed pattern match at Data.Map.Internal (line 242, column 33 - line 245, column 20): "+[t.constructor.name])}if(a instanceof b){var l=u(n)(a.value4);if(l instanceof h.EQ)return te(new T(a.value0,a.value1,a.value2,a.value3));if(l instanceof h.GT)return m.Just.create(m.fromMaybe({key:a.value4,value:a.value5})(e(a.value6)));if(l instanceof h.LT)return e(new T(a.value0,a.value1,a.value2,a.value3));throw new Error("Failed pattern match at Data.Map.Internal (line 246, column 45 - line 249, column 36): "+[l.constructor.name])}throw new Error("Failed pattern match at Data.Map.Internal (line 241, column 5 - line 241, column 22): "+[a.constructor.name])}}},re=function(e){return function(n){return new a.Eq(function(u){return function(t){return a.eq(a.eqArray(L.eqTuple(e)(n)))(Q(u))(Q(t))}})}},ve=function(e){return function(n){return new d.Ord(function(){return re(e.Eq0())(n.Eq0())},function(u){return function(a){return d.compare(d.ordArray(L.ordTuple(e)(n)))(Q(u))(Q(a))}})}},ie=function(e){return new a.Eq1(function(n){return a.eq(re(e)(n))})},oe=function(e){return new d.Ord1(function(){return ie(e.Eq0())},function(n){return d.compare(ve(e)(n))})},ce=F.value,fe=function(e){return function(n){return t.foldl(n)(function(n){return function(u){return Z(e)(u.value0)(u.value1)(n)}})(ce)}},se=function(e){return function(n){var u=fe(e)(s.foldableList),a=f.filter(L.uncurry(n)),t=j(s.unfoldableList);return function(e){return u(a(t(e)))}}},pe=function(e){return function(n){return se(e)(r.const(n))}},me=function(e){return function(n){return se(e)(function(e){return r.const(n(e))})}},we=function(e){return function(n){return l.foldlWithIndex(n)(function(n){return function(u){return function(a){return Z(e)(n)(a)(u)}}})(ce)}},de=function(e){return function(n){return function(u){return function(a){var t;return(t=j(p.unfoldableList)(u),function(u){return function(a){var l,r=t,v=u,i=!1;function o(u,t,l){if(u instanceof p.Nil)return i=!0,l;if(t instanceof p.Nil)return i=!0,l;if(u instanceof p.Cons&&t instanceof p.Cons){var o=d.compare(e)(u.value0.value0)(t.value0.value0);if(o instanceof h.LT)return r=u.value1,v=t,void(a=l);if(o instanceof h.EQ)return r=u.value1,v=t.value1,void(a=Z(e)(u.value0.value0)(n(u.value0.value1)(t.value0.value1))(l));if(o instanceof h.GT)return r=u,v=t.value1,void(a=l);throw new Error("Failed pattern match at Data.Map.Internal (line 641, column 5 - line 644, column 27): "+[o.constructor.name])}throw new Error("Failed pattern match at Data.Map.Internal (line 638, column 3 - line 638, column 17): "+[u.constructor.name,t.constructor.name,l.constructor.name])}for(;!i;)l=o(r,v,a);return l}})(j(p.unfoldableList)(a))(ce)}}}},he=function(e){return de(e)(r.const)},ye=function(e){return function(n){return function(u){return m.maybe(u)(L.snd)($(e)(n)(u))}}},Ee=function(e){return function(n){return function(u){return t.foldl(p.foldableList)(r.flip(ye(e)))(n)(H(u))}}},Me=function(n){return 1===c.length(c.nub(a.eqInt)(function n(u){if(u instanceof F)return e.pure(p.applicativeList)(0);if(u instanceof T)return v.map(p.functorList)(function(e){return e+1|0})(y.append(p.semigroupList)(n(u.value0))(n(u.value3)));if(u instanceof b)return v.map(p.functorList)(function(e){return e+1|0})(y.append(p.semigroupList)(n(u.value0))(y.append(p.semigroupList)(n(u.value3))(n(u.value6))));throw new Error("Failed pattern match at Data.Map.Internal (line 188, column 3 - line 188, column 36): "+[u.constructor.name])}(n)))},Ie=u.identity(u.categoryFn),Le=new l.FoldableWithIndex(function(){return _},function(e){return function(n){return function(u){return t.foldMap(p.foldableList)(e)(L.uncurry(n))(Ie(j(p.unfoldableList)(u)))}}},function(e){return function(n){return function(u){return t.foldl(p.foldableList)((a=r.flip(e),function(e){return L.uncurry(a(e))}))(n)(Ie(j(p.unfoldableList)(u)));var a}}},function(e){return function(n){return function(u){return t.foldr(p.foldableList)(L.uncurry(e))(n)(Ie(j(p.unfoldableList)(u)))}}}),De=function(e){return function(n){return l.foldrWithIndex(Le)(function(u){return function(a){return function(t){return m.maybe(t)(function(n){return Z(e)(u)(n)(t)})(n(u)(a))}}})(ce)}},Fe=function(e){var n=De(e);return function(e){return n(r.const(e))}},Te=new I.TraversableWithIndex(function(){return Le},function(){return X},function(){return ee},function(u){return function(a){return function(t){if(t instanceof F)return e.pure(u)(F.value);if(t instanceof T)return n.apply(u.Apply0())(n.apply(u.Apply0())(n.apply(u.Apply0())(v.map(u.Apply0().Functor0())(T.create)(I.traverseWithIndex(Te)(u)(a)(t.value0)))(e.pure(u)(t.value1)))(a(t.value1)(t.value2)))(I.traverseWithIndex(Te)(u)(a)(t.value3));if(t instanceof b)return n.apply(u.Apply0())(n.apply(u.Apply0())(n.apply(u.Apply0())(n.apply(u.Apply0())(n.apply(u.Apply0())(n.apply(u.Apply0())(v.map(u.Apply0().Functor0())(b.create)(I.traverseWithIndex(Te)(u)(a)(t.value0)))(e.pure(u)(t.value1)))(a(t.value1)(t.value2)))(I.traverseWithIndex(Te)(u)(a)(t.value3)))(e.pure(u)(t.value4)))(a(t.value4)(t.value5)))(I.traverseWithIndex(Te)(u)(a)(t.value6));throw new Error("Failed pattern match at Data.Map.Internal (line 136, column 1 - line 150, column 40): "+[a.constructor.name,t.constructor.name])}}}),be=function(e){return function(n){return function(u){return function(a){var t=n(K(e)(u)(a));if(t instanceof m.Nothing)return ye(e)(u)(a);if(t instanceof m.Just)return Z(e)(u)(t.value0)(a);throw new Error("Failed pattern match at Data.Map.Internal (line 549, column 15 - line 551, column 25): "+[t.constructor.name])}}}},ge=function(e){return function(n){return function(u){return t.foldl(n)(function(n){return function(a){return be(e)(function(e){return function(n){if(n instanceof m.Just)return m.Just.create(u(e)(n.value0));if(n instanceof m.Nothing)return new m.Just(e);throw new Error("Failed pattern match at Data.Map.Internal (line 566, column 3 - line 566, column 38): "+[e.constructor.name,n.constructor.name])}}(a.value1))(a.value0)(n)}})(ce)}}},xe=function(e){return function(n){return function(u){return function(a){return be(e)((t=m.maybe(a)(r.flip(n)(a)),function(e){return m.Just.create(t(e))}))(u);var t}}}},Ce=function(e){return function(n){return function(u){return function(a){return t.foldl(p.foldableList)(function(u){return function(a){return be(e)((t=m.maybe(a.value1)(n(a.value1)),function(e){return m.Just.create(t(e))}))(a.value0)(u);var t}})(a)(j(p.unfoldableList)(u))}}}},qe=function(e){return Ce(e)(r.const)},Je=function(e){return new y.Semigroup(qe(e))},Ne=function(e){return new w.Monoid(function(){return Je(e)},ce)},Ae=function(e){return function(n){return function(u){return ne(e)(Ne(e))(n)(u)(W)}}},ke=function(e){return function(n){return t.foldl(n)(qe(e))(ce)}},We=function(e){return function(n){return function(u){return function(a){return be(e)(m.maybe(m.Nothing.value)(n))(u)(a)}}}};module.exports={showTree:S,empty:ce,isEmpty:P,singleton:W,checkValid:Me,insert:Z,insertWith:xe,lookup:K,lookupLE:U,lookupLT:le,lookupGE:z,lookupGT:ae,findMin:ue,findMax:te,foldSubmap:ne,submap:Ae,fromFoldable:fe,fromFoldableWith:ge,fromFoldableWithIndex:we,toUnfoldable:j,toUnfoldableUnordered:G,delete:ye,pop:$,member:B,alter:be,update:We,keys:H,values:A,union:qe,unionWith:Ce,unions:ke,intersection:he,intersectionWith:de,difference:Ee,isSubmap:V,size:k,filterWithKey:se,filterKeys:me,filter:pe,mapMaybeWithKey:De,mapMaybe:Fe,eq1Map:ie,eqMap:re,ord1Map:oe,ordMap:ve,showMap:O,semigroupMap:Je,monoidMap:Ne,functorMap:R,functorWithIndexMap:X,foldableMap:_,foldableWithIndexMap:Le,traversableMap:ee,traversableWithIndexMap:Te}; +},{"../Control.Applicative/index.js":"qYya","../Control.Apply/index.js":"QcLv","../Control.Category/index.js":"IAi2","../Data.Eq/index.js":"Pq4F","../Data.Foldable/index.js":"eVDl","../Data.FoldableWithIndex/index.js":"9Efi","../Data.Function/index.js":"ImXJ","../Data.Functor/index.js":"+0AE","../Data.FunctorWithIndex/index.js":"OHRN","../Data.HeytingAlgebra/index.js":"paZe","../Data.List/index.js":"ezw6","../Data.List.Lazy/index.js":"sNBV","../Data.List.Lazy.Types/index.js":"EJF+","../Data.List.Types/index.js":"Xxuc","../Data.Maybe/index.js":"5mN7","../Data.Monoid/index.js":"TiEB","../Data.Ord/index.js":"r4Vb","../Data.Ordering/index.js":"5Eun","../Data.Semigroup/index.js":"EsAJ","../Data.Show/index.js":"mFY7","../Data.Traversable/index.js":"n7EE","../Data.TraversableWithIndex/index.js":"V4EF","../Data.Tuple/index.js":"II/O","../Data.Unfoldable/index.js":"77+Z"}],"jHR9":[function(require,module,exports) { +"use strict";var t=require("../Control.Alt/index.js"),e=require("../Control.Alternative/index.js"),n=require("../Control.Applicative/index.js"),r=require("../Control.Apply/index.js"),a=require("../Control.Bind/index.js"),i=require("../Control.Plus/index.js"),u=require("../Data.Array/index.js"),o=require("../Data.Either/index.js"),l=require("../Data.Foldable/index.js"),c=require("../Data.Function/index.js"),f=require("../Data.Functor/index.js"),s=require("../Data.List/index.js"),m=require("../Data.List.Types/index.js"),p=require("../Data.Map.Internal/index.js"),h=require("../Data.Maybe/index.js"),v=require("../Data.Monoid/index.js"),d=require("../Data.Unit/index.js"),w=function(t,e){this.compact=t,this.separate=e},g=function(e){return function(r){return function(a){return l.foldl(r)(function(r){return function(a){if(a instanceof o.Left)return{left:t.alt(e.Plus1().Alt0())(r.left)(n.pure(e.Applicative0())(a.value0)),right:r.right};if(a instanceof o.Right)return{right:t.alt(e.Plus1().Alt0())(r.right)(n.pure(e.Applicative0())(a.value0)),left:r.left};throw new Error("Failed pattern match at Data.Compactable (line 113, column 14 - line 115, column 54): "+[a.constructor.name])}})({left:i.empty(e.Plus1()),right:i.empty(e.Plus1())})}}},b=function(t){return t.separate},y=function(t){return p.toUnfoldable(m.unfoldableList)},D=new w(a.join(h.bindMaybe),function(t){if(t instanceof h.Nothing)return{left:h.Nothing.value,right:h.Nothing.value};if(t instanceof h.Just){if(t.value0 instanceof o.Left)return{left:new h.Just(t.value0.value0),right:h.Nothing.value};if(t.value0 instanceof o.Right)return{left:h.Nothing.value,right:new h.Just(t.value0.value0)};throw new Error("Failed pattern match at Data.Compactable (line 87, column 23 - line 89, column 48): "+[t.value0.constructor.name])}throw new Error("Failed pattern match at Data.Compactable (line 83, column 1 - line 89, column 48): "+[t.constructor.name])}),L=function(t){return new w((r=l.foldr(m.foldableList)(function(e){return function(n){return p.alter(t)(c.const(e.value1))(e.value0)(n)}})(p.empty),a=y(t),function(t){return r(a(t))}),(e=l.foldr(m.foldableList)(function(e){return function(n){if(e.value1 instanceof o.Left)return{left:p.insert(t)(e.value0)(e.value1.value0)(n.left),right:n.right};if(e.value1 instanceof o.Right)return{left:n.left,right:p.insert(t)(e.value0)(e.value1.value0)(n.right)};throw new Error("Failed pattern match at Data.Compactable (line 124, column 44 - line 126, column 63): "+[e.value1.constructor.name])}})({left:p.empty,right:p.empty}),n=y(t),function(t){return e(n(t))}));var e,n,r,a},j=new w(s.catMaybes,function(t){return g(m.alternativeList)(m.foldableList)(j)(t)}),x=function(t){return new w(function(e){if(e instanceof o.Left)return new o.Left(e.value0);if(e instanceof o.Right){if(e.value0 instanceof h.Just)return new o.Right(e.value0.value0);if(e.value0 instanceof h.Nothing)return new o.Left(v.mempty(t));throw new Error("Failed pattern match at Data.Compactable (line 93, column 23 - line 95, column 27): "+[e.value0.constructor.name])}throw new Error("Failed pattern match at Data.Compactable (line 91, column 1 - line 100, column 53): "+[e.constructor.name])},function(e){if(e instanceof o.Left)return{left:new o.Left(e.value0),right:new o.Left(e.value0)};if(e instanceof o.Right){if(e.value0 instanceof o.Left)return{left:new o.Right(e.value0.value0),right:new o.Left(v.mempty(t))};if(e.value0 instanceof o.Right)return{left:new o.Left(v.mempty(t)),right:new o.Right(e.value0.value0)};throw new Error("Failed pattern match at Data.Compactable (line 98, column 24 - line 100, column 53): "+[e.value0.constructor.name])}throw new Error("Failed pattern match at Data.Compactable (line 91, column 1 - line 100, column 53): "+[e.constructor.name])})},q=new w(u.catMaybes,function(t){return g(e.alternativeArray)(l.foldableArray)(q)(t)}),C=function(t){return function(e){var n=b(e),r=f.map(t)(o.note(d.unit));return function(t){return n(r(t)).right}}},E=function(t){return t.compact},A=function(t){return function(e){return function(n){return{left:E(e)(f.map(t)(function(t){return o.hush(function(t){if(t instanceof o.Left)return new o.Right(t.value0);if(t instanceof o.Right)return new o.Left(t.value0);throw new Error("Failed pattern match at Data.Compactable (line 79, column 20 - line 81, column 24): "+[t.constructor.name])}(t))})(n)),right:E(e)(f.map(t)(o.hush)(n))}}}},F=function(t){return function(e){return function(n){var r=E(e),i=a.bind(t)(n);return function(t){return r(i(t))}}}},R=function(t){return function(e){return function(n){var r=b(e),i=a.bind(t)(n);return function(t){return r(i(t))}}}},M=function(t){return function(e){return function(n){var a=E(e),i=r.apply(t)(n);return function(t){return a(i(t))}}}},N=function(t){return function(e){return function(n){var a=b(e),i=r.apply(t)(n);return function(t){return a(i(t))}}}};module.exports={Compactable:w,compact:E,separate:b,compactDefault:C,separateDefault:A,applyMaybe:M,applyEither:N,bindMaybe:F,bindEither:R,compactableMaybe:D,compactableEither:x,compactableArray:q,compactableList:j,compactableMap:L}; +},{"../Control.Alt/index.js":"lN+m","../Control.Alternative/index.js":"aHia","../Control.Applicative/index.js":"qYya","../Control.Apply/index.js":"QcLv","../Control.Bind/index.js":"7VcT","../Control.Plus/index.js":"oMBg","../Data.Array/index.js":"4t4C","../Data.Either/index.js":"B2JL","../Data.Foldable/index.js":"eVDl","../Data.Function/index.js":"ImXJ","../Data.Functor/index.js":"+0AE","../Data.List/index.js":"ezw6","../Data.List.Types/index.js":"Xxuc","../Data.Map.Internal/index.js":"RRDs","../Data.Maybe/index.js":"5mN7","../Data.Monoid/index.js":"TiEB","../Data.Unit/index.js":"NhVk"}],"6hfS":[function(require,module,exports) { +"use strict";var t=require("../Control.Bind/index.js"),n=require("../Data.Array/index.js"),e=require("../Data.Compactable/index.js"),r=require("../Data.Either/index.js"),i=require("../Data.Foldable/index.js"),u=require("../Data.Function/index.js"),a=require("../Data.Functor/index.js"),o=require("../Data.HeytingAlgebra/index.js"),l=require("../Data.List/index.js"),f=require("../Data.List.Types/index.js"),c=require("../Data.Map.Internal/index.js"),s=require("../Data.Maybe/index.js"),h=require("../Data.Monoid/index.js"),m=require("../Data.Semigroup/index.js"),p=function(t,n,e,r,i,u){this.Compactable0=t,this.Functor1=n,this.filter=e,this.filterMap=r,this.partition=i,this.partitionMap=u},g=function(t){return function(n){var r=e.separate(t.Compactable0()),i=a.map(t.Functor1())(n);return function(t){return r(i(t))}}},b=function(t){return t.partitionMap},d=function(t){return t.partition},v=function(t){return function(n){return t(n)?new s.Just(n):s.Nothing.value}},w=new p(function(){return e.compactableList},function(){return f.functorList},l.filter,function(t){return l.mapMaybe(t)},function(t){return function(n){return i.foldr(f.foldableList)(function(n){return function(e){return t(n)?{no:e.no,yes:new f.Cons(n,e.yes)}:{no:new f.Cons(n,e.no),yes:e.yes}}})({no:f.Nil.value,yes:f.Nil.value})(n)}},function(t){return function(n){return i.foldr(f.foldableList)(function(n){return function(e){var i=t(n);if(i instanceof r.Left)return{left:new f.Cons(i.value0,e.left),right:e.right};if(i instanceof r.Right)return{left:e.left,right:new f.Cons(i.value0,e.right)};throw new Error("Failed pattern match at Data.Filterable (line 190, column 36 - line 192, column 83): "+[i.constructor.name])}})({left:f.Nil.value,right:f.Nil.value})(n)}}),y=new p(function(){return e.compactableArray},function(){return a.functorArray},n.filter,n.mapMaybe,n.partition,function(t){return i.foldl(i.foldableArray)(function(n){return function(e){var i=t(e);if(i instanceof r.Left)return{left:m.append(m.semigroupArray)(n.left)([i.value0]),right:n.right};if(i instanceof r.Right)return{right:m.append(m.semigroupArray)(n.right)([i.value0]),left:n.left};throw new Error("Failed pattern match at Data.Filterable (line 149, column 16 - line 151, column 50): "+[i.constructor.name])}})({left:[],right:[]})}),D=function(t){return function(n){var r=e.compact(t.Compactable0()),i=a.map(t.Functor1())(n);return function(t){return r(i(t))}}},F=function(t){return t.filterMap},L=function(t){return function(n){return function(e){return{yes:F(t)(v(n))(e),no:F(t)(v(o.not(o.heytingAlgebraFunction(o.heytingAlgebraBoolean))(n)))(e)}}}},M=function(t){return function(n){return function(e){return d(t)(n)(e).yes}}},x=function(t){var n=F(t);return function(t){return n(v(t))}},j=function(t){return t.filter},q=function(t){return function(n){return function(e){return{yes:j(t)(n)(e),no:j(t)(o.not(o.heytingAlgebraFunction(o.heytingAlgebraBoolean))(n))(e)}}}},E=function(t){return function(n){return t(n)?new r.Right(n):new r.Left(n)}},A=function(t){return function(n){return function(e){return b(t)(E(n))(e).right}}},N=function(t){return function(n){return function(e){var r=b(t)(E(n))(e);return{no:r.left,yes:r.right}}}},R=function t(n){return new p(function(){return e.compactableEither(n)},function(){return r.functorEither},function(e){return x(t(n))(e)},function(t){return function(e){if(e instanceof r.Left)return new r.Left(e.value0);if(e instanceof r.Right){var i=t(e.value0);if(i instanceof s.Nothing)return new r.Left(h.mempty(n));if(i instanceof s.Just)return new r.Right(i.value0);throw new Error("Failed pattern match at Data.Filterable (line 180, column 27 - line 182, column 22): "+[i.constructor.name])}throw new Error("Failed pattern match at Data.Filterable (line 171, column 1 - line 184, column 29): "+[t.constructor.name,e.constructor.name])}},function(e){return N(t(n))(e)},function(t){return function(e){if(e instanceof r.Left)return{left:new r.Left(e.value0),right:new r.Left(e.value0)};if(e instanceof r.Right){var i=t(e.value0);if(i instanceof r.Left)return{left:new r.Right(i.value0),right:new r.Left(h.mempty(n))};if(i instanceof r.Right)return{left:new r.Left(h.mempty(n)),right:new r.Right(i.value0)};throw new Error("Failed pattern match at Data.Filterable (line 173, column 30 - line 175, column 53): "+[i.constructor.name])}throw new Error("Failed pattern match at Data.Filterable (line 171, column 1 - line 184, column 29): "+[t.constructor.name,e.constructor.name])}})},C=function t(n){return new p(function(){return e.compactableMap(n)},function(){return c.functorMap},function(e){return x(t(n))(e)},function(t){return function(e){var r=c.toUnfoldable(f.unfoldableList);return i.foldr(f.foldableList)(function(e){return function(r){return c.alter(n)(u.const(t(e.value1)))(e.value0)(r)}})(c.empty)(r(e))}},function(e){return N(t(n))(e)},function(t){return function(e){var u=c.toUnfoldable(f.unfoldableList);return i.foldr(f.foldableList)(function(e){return function(i){var u=t(e.value1);if(u instanceof r.Left)return{left:c.insert(n)(e.value0)(u.value0)(i.left),right:i.right};if(u instanceof r.Right)return{left:i.left,right:c.insert(n)(e.value0)(u.value0)(i.right)};throw new Error("Failed pattern match at Data.Filterable (line 215, column 44 - line 217, column 57): "+[u.constructor.name])}})({left:c.empty,right:c.empty})(u(e))}})},B=new p(function(){return e.compactableMaybe},function(){return s.functorMaybe},function(t){return x(B)(t)},t.bindFlipped(s.bindMaybe),function(t){return N(B)(t)},function(t){return function(n){if(n instanceof s.Nothing)return{left:s.Nothing.value,right:s.Nothing.value};if(n instanceof s.Just){var e=t(n.value0);if(e instanceof r.Left)return{left:new s.Just(e.value0),right:s.Nothing.value};if(e instanceof r.Right)return{left:s.Nothing.value,right:new s.Just(e.value0)};throw new Error("Failed pattern match at Data.Filterable (line 161, column 29 - line 163, column 48): "+[e.constructor.name])}throw new Error("Failed pattern match at Data.Filterable (line 159, column 1 - line 169, column 29): "+[t.constructor.name,n.constructor.name])}}),J=function(t){return F(t)(u.const(s.Nothing.value))};module.exports={Filterable:p,partitionMap:b,partition:d,filterMap:F,filter:j,eitherBool:E,partitionDefault:N,partitionDefaultFilter:q,partitionDefaultFilterMap:L,partitionMapDefault:g,maybeBool:v,filterDefault:x,filterDefaultPartition:M,filterDefaultPartitionMap:A,filterMapDefault:D,cleared:J,filterableArray:y,filterableMaybe:B,filterableEither:R,filterableList:w,filterableMap:C}; +},{"../Control.Bind/index.js":"7VcT","../Data.Array/index.js":"4t4C","../Data.Compactable/index.js":"jHR9","../Data.Either/index.js":"B2JL","../Data.Foldable/index.js":"eVDl","../Data.Function/index.js":"ImXJ","../Data.Functor/index.js":"+0AE","../Data.HeytingAlgebra/index.js":"paZe","../Data.List/index.js":"ezw6","../Data.List.Types/index.js":"Xxuc","../Data.Map.Internal/index.js":"RRDs","../Data.Maybe/index.js":"5mN7","../Data.Monoid/index.js":"TiEB","../Data.Semigroup/index.js":"EsAJ"}],"AuzG":[function(require,module,exports) { +"use strict";var n=require("../Data.Maybe/index.js"),t=function(){function n(n){this.value0=n}return n.create=function(t){return new n(t)},n}(),e=function(){function n(n){this.value0=n}return n.create=function(t){return new n(t)},n}(),r=function(){function n(n,t){this.value0=n,this.value1=t}return n.create=function(t){return function(e){return new n(t,e)}},n}(),u=function(){function n(){}return n.value=new n,n}(),o=function(n){return n},i=function(n){return n},c=function(n,t){this.from=n,this.to=t},a=function(n){return n.to},f=new c(function(r){if(r instanceof n.Nothing)return new t(u.value);if(r instanceof n.Just)return new e(r.value0);throw new Error("Failed pattern match at Data.Generic.Rep (line 40, column 1 - line 47, column 49): "+[r.constructor.name])},function(r){if(r instanceof t)return n.Nothing.value;if(r instanceof e)return new n.Just(r.value0);throw new Error("Failed pattern match at Data.Generic.Rep (line 40, column 1 - line 47, column 49): "+[r.constructor.name])}),l=function(n){return n.from};module.exports={Generic:c,to:a,from:l,NoArguments:u,Inl:t,Inr:e,Product:r,Constructor:o,Argument:i,genericMaybe:f}; +},{"../Data.Maybe/index.js":"5mN7"}],"lpst":[function(require,module,exports) { +"use strict";var n=require("../Data.Foldable/index.js"),e=require("../Data.Generic.Rep/index.js"),r=require("../Data.Monoid/index.js"),t=require("../Data.Semigroup/index.js"),o=require("../Data.Show/index.js"),i=require("../Data.Symbol/index.js"),u=function(n){this.genericShowArgs=n},c=function(n){this["genericShow'"]=n},a=new u(function(n){return[]}),s=function(n){return new u(function(e){return[o.show(n)(e)]})},f=function(n){return n.genericShowArgs},g=function(n){return function(e){return new u(function(r){return t.append(t.semigroupArray)(f(n)(r.value0))(f(e)(r.value1))})}},w=function(e){return function(o){return new c(function(u){var c=i.reflectSymbol(o)(i.SProxy.value),a=f(e)(u);return 0===a.length?c:"("+n.intercalate(n.foldableArray)(r.monoidString)(" ")(t.append(t.semigroupArray)([c])(a))+")"})}},h=function(n){return n["genericShow'"]},S=new c(function(n){return h(S)(n)}),l=function(n){return function(r){return new c(function(t){if(t instanceof e.Inl)return h(n)(t.value0);if(t instanceof e.Inr)return h(r)(t.value0);throw new Error("Failed pattern match at Data.Generic.Rep.Show (line 26, column 1 - line 28, column 40): "+[t.constructor.name])})}},d=function(n){return function(r){return function(t){return h(r)(e.from(n)(t))}}};module.exports={GenericShow:c,"genericShow'":h,genericShow:d,GenericShowArgs:u,genericShowArgs:f,genericShowNoConstructors:S,genericShowArgsNoArguments:a,genericShowSum:l,genericShowArgsProduct:g,genericShowConstructor:w,genericShowArgsArgument:s}; +},{"../Data.Foldable/index.js":"eVDl","../Data.Generic.Rep/index.js":"AuzG","../Data.Monoid/index.js":"TiEB","../Data.Semigroup/index.js":"EsAJ","../Data.Show/index.js":"mFY7","../Data.Symbol/index.js":"4oJQ"}],"u1pL":[function(require,module,exports) { +"use strict";var n=require("../Data.Tuple/index.js"),t=require("../Data.Unit/index.js"),u=function(n,t){this.Monad0=n,this.state=t},e=function(n){return n.state},r=function(u){return function(r){return e(u)(function(u){return new n.Tuple(t.unit,r)})}},i=function(u){return function(r){return e(u)(function(u){return new n.Tuple(t.unit,r(u))})}},o=function(t){return function(u){return e(t)(function(t){var e=u(t);return new n.Tuple(e,e)})}},f=function(t){return function(u){return e(t)(function(t){return new n.Tuple(u(t),t)})}},c=function(t){return e(t)(function(t){return new n.Tuple(t,t)})};module.exports={state:e,MonadState:u,get:c,gets:f,put:r,modify:o,modify_:i}; +},{"../Data.Tuple/index.js":"II/O","../Data.Unit/index.js":"NhVk"}],"89+t":[function(require,module,exports) { +"use strict";var n=require("../Data.Functor/index.js"),r=require("../Data.Void/index.js"),t=function(n){this.cmap=n},u=function(n){return n.cmap},e=function(n){return function(r){return function(t){return u(n)(t)(r)}}},i=function(t){return function(e){return function(i){return n.map(e)(r.absurd)(u(t)(r.absurd)(i))}}},c=function(n){return function(r){return function(r){return u(n)(r)}}};module.exports={cmap:u,Contravariant:t,cmapFlipped:e,coerce:i,imapC:c}; +},{"../Data.Functor/index.js":"+0AE","../Data.Void/index.js":"bncE"}],"OmNG":[function(require,module,exports) { +"use strict";var n=require("../Control.Applicative/index.js"),r=require("../Control.Apply/index.js"),t=require("../Control.Semigroupoid/index.js"),e=require("../Data.Bifoldable/index.js"),u=require("../Data.Bifunctor/index.js"),i=require("../Data.Bitraversable/index.js"),o=require("../Data.Eq/index.js"),c=require("../Data.Foldable/index.js"),f=require("../Data.FoldableWithIndex/index.js"),a=require("../Data.Functor/index.js"),s=require("../Data.Functor.Contravariant/index.js"),d=require("../Data.Functor.Invariant/index.js"),l=require("../Data.FunctorWithIndex/index.js"),p=require("../Data.Monoid/index.js"),C=require("../Data.Newtype/index.js"),x=require("../Data.Ord/index.js"),q=require("../Data.Semigroup/index.js"),b=require("../Data.Show/index.js"),w=require("../Data.Traversable/index.js"),m=require("../Data.TraversableWithIndex/index.js"),j=function(n){return n},v=function(n){return new b.Show(function(r){return"(Const "+b.show(n)(r)+")"})},D=function(n){return n},h=new t.Semigroupoid(function(n){return function(n){return n}}),g=function(n){return n},F=function(n){return n},y=function(n){return n},I=new C.Newtype(function(n){return n},j),W=function(n){return n},A=function(n){return n},B=new a.Functor(function(n){return function(n){return n}}),S=new l.FunctorWithIndex(function(){return B},function(n){return function(n){return n}}),T=new d.Invariant(d.imapF(B)),E=new c.Foldable(function(n){return function(r){return function(r){return p.mempty(n)}}},function(n){return function(n){return function(r){return n}}},function(n){return function(n){return function(r){return n}}}),N=new f.FoldableWithIndex(function(){return E},function(n){return function(r){return function(r){return p.mempty(n)}}},function(n){return function(n){return function(r){return n}}},function(n){return function(n){return function(r){return n}}}),O=new w.Traversable(function(){return E},function(){return B},function(r){return function(t){return n.pure(r)(t)}},function(r){return function(t){return function(t){return n.pure(r)(t)}}}),R=new m.TraversableWithIndex(function(){return N},function(){return S},function(){return O},function(r){return function(t){return function(t){return n.pure(r)(t)}}}),M=function(n){return n},k=function(n){return n},z=function(n){return new o.Eq1(function(r){return o.eq(k(n))})},G=function(n){return new x.Ord1(function(){return z(n.Eq0())},function(r){return x.compare(y(n))})},H=new s.Contravariant(function(n){return function(n){return n}}),J=function(n){return n},K=function(n){return n},L=function(n){return n},P=new u.Bifunctor(function(n){return function(r){return function(r){return n(r)}}}),Q=new e.Bifoldable(function(n){return function(n){return function(r){return function(r){return n(r)}}}},function(n){return function(r){return function(r){return function(t){return n(r)(t)}}}},function(n){return function(r){return function(r){return function(t){return n(t)(r)}}}}),U=new i.Bitraversable(function(){return Q},function(){return P},function(n){return function(r){return a.map(n.Apply0().Functor0())(j)(r)}},function(n){return function(r){return function(t){return function(t){return a.map(n.Apply0().Functor0())(j)(r(t))}}}}),V=function(n){return new r.Apply(function(){return B},function(r){return function(t){return q.append(n)(r)(t)}})},X=function(r){return new n.Applicative(function(){return V(r.Semigroup0())},function(n){return p.mempty(r)})};module.exports={Const:j,newtypeConst:I,eqConst:k,eq1Const:z,ordConst:y,ord1Const:G,boundedConst:K,showConst:v,semigroupoidConst:h,semigroupConst:g,monoidConst:W,semiringConst:D,ringConst:F,euclideanRingConst:M,commutativeRingConst:J,heytingAlgebraConst:A,booleanAlgebraConst:L,functorConst:B,bifunctorConst:P,functorWithIndexConst:S,invariantConst:T,contravariantConst:H,applyConst:V,applicativeConst:X,foldableConst:E,foldableWithIndexConst:N,bifoldableConst:Q,traversableConst:O,traversableWithIndexConst:R,bitraversableConst:U}; +},{"../Control.Applicative/index.js":"qYya","../Control.Apply/index.js":"QcLv","../Control.Semigroupoid/index.js":"/riR","../Data.Bifoldable/index.js":"wjQo","../Data.Bifunctor/index.js":"e2Wc","../Data.Bitraversable/index.js":"8nb9","../Data.Eq/index.js":"Pq4F","../Data.Foldable/index.js":"eVDl","../Data.FoldableWithIndex/index.js":"9Efi","../Data.Functor/index.js":"+0AE","../Data.Functor.Contravariant/index.js":"89+t","../Data.Functor.Invariant/index.js":"AXkC","../Data.FunctorWithIndex/index.js":"OHRN","../Data.Monoid/index.js":"TiEB","../Data.Newtype/index.js":"lz8k","../Data.Ord/index.js":"r4Vb","../Data.Semigroup/index.js":"EsAJ","../Data.Show/index.js":"mFY7","../Data.Traversable/index.js":"n7EE","../Data.TraversableWithIndex/index.js":"V4EF"}],"0DaD":[function(require,module,exports) { +"use strict";var n=require("../Control.Category/index.js"),r=require("../Data.Newtype/index.js"),t=function(n){this.dimap=n},u=new t(function(n){return function(r){return function(t){return function(u){return r(t(n(u)))}}}}),e=function(n){return n.dimap},i=function(r){return function(t){return e(r)(t)(n.identity(n.categoryFn))}},o=function(r){return function(t){return e(r)(n.identity(n.categoryFn))(t)}},c=function(n){return function(t){return e(n)(r.wrap(t))(r.unwrap(t))}},f=function(n){return function(t){return function(u){return e(n)(r.unwrap(t))(r.wrap(t))}}},a=function(r){return function(t){return function(u){return o(t)(u)(n.identity(r))}}};module.exports={dimap:e,Profunctor:t,lcmap:i,rmap:o,arr:a,unwrapIso:c,wrapIso:f,profunctorFn:u}; +},{"../Control.Category/index.js":"IAi2","../Data.Newtype/index.js":"lz8k"}],"nkqb":[function(require,module,exports) { +"use strict";var t=require("../Control.Category/index.js"),n=require("../Control.Semigroupoid/index.js"),r=require("../Data.Either/index.js"),e=require("../Data.Functor/index.js"),i=require("../Data.Profunctor/index.js"),o=function(t,n,r){this.Profunctor0=t,this.left=n,this.right=r},u=function(t){return t.right},c=function(t){return t.left},f=function(t){return function(r){return function(e){return function(i){return n.composeFlipped(t.Semigroupoid0())(c(r)(e))(u(r)(i))}}}},a=function(e){return function(o){return function(u){return function(c){var a=i.dimap(o.Profunctor0())(r.either(t.identity(t.categoryFn))(t.identity(t.categoryFn)))(t.identity(t.categoryFn))(t.identity(e));return n.composeFlipped(e.Semigroupoid0())(f(e)(o)(u)(c))(a)}}}},s=new o(function(){return i.profunctorFn},function(t){return function(n){if(n instanceof r.Left)return r.Left.create(t(n.value0));if(n instanceof r.Right)return new r.Right(n.value0);throw new Error("Failed pattern match at Data.Profunctor.Choice (line 32, column 1 - line 35, column 16): "+[t.constructor.name,n.constructor.name])}},e.map(r.functorEither));module.exports={left:c,right:u,Choice:o,splitChoice:f,fanin:a,choiceFn:s}; +},{"../Control.Category/index.js":"IAi2","../Control.Semigroupoid/index.js":"/riR","../Data.Either/index.js":"B2JL","../Data.Functor/index.js":"+0AE","../Data.Profunctor/index.js":"0DaD"}],"af4y":[function(require,module,exports) { +"use strict";var o=require("../Control.Semigroupoid/index.js"),e=require("../Data.Profunctor/index.js"),r=function(o,e){this.Profunctor0=o,this.closed=e},n=new r(function(){return e.profunctorFn},o.compose(o.semigroupoidFn)),t=function(o){return o.closed};module.exports={closed:t,Closed:r,closedFunction:n}; +},{"../Control.Semigroupoid/index.js":"/riR","../Data.Profunctor/index.js":"0DaD"}],"w9p6":[function(require,module,exports) { +"use strict";var n=require("../Control.Category/index.js"),r=require("../Control.Semigroupoid/index.js"),t=require("../Data.Functor/index.js"),e=require("../Data.Profunctor/index.js"),u=require("../Data.Tuple/index.js"),o=function(n,r,t){this.Profunctor0=n,this.first=r,this.second=t},i=new o(function(){return e.profunctorFn},function(n){return function(r){return new u.Tuple(n(r.value0),r.value1)}},t.map(u.functorTuple)),c=function(n){return n.second},f=function(n){return n.first},s=function(n){return function(t){return function(e){return function(u){return r.composeFlipped(n.Semigroupoid0())(f(t)(e))(c(t)(u))}}}},p=function(t){return function(o){return function(i){return function(c){var f=e.dimap(o.Profunctor0())(n.identity(n.categoryFn))(function(n){return new u.Tuple(n,n)})(n.identity(t));return r.composeFlipped(t.Semigroupoid0())(f)(s(t)(o)(i)(c))}}}};module.exports={first:f,second:c,Strong:o,splitStrong:s,fanout:p,strongFn:i}; +},{"../Control.Category/index.js":"IAi2","../Control.Semigroupoid/index.js":"/riR","../Data.Functor/index.js":"+0AE","../Data.Profunctor/index.js":"0DaD","../Data.Tuple/index.js":"II/O"}],"tj5E":[function(require,module,exports) { +"use strict";var n=require("../Control.Alt/index.js"),r=require("../Control.Alternative/index.js"),t=require("../Control.Applicative/index.js"),e=require("../Control.Apply/index.js"),u=require("../Control.Bind/index.js"),i=require("../Control.Category/index.js"),o=require("../Control.Monad/index.js"),c=require("../Control.MonadPlus/index.js"),a=require("../Control.MonadZero/index.js"),f=require("../Control.Plus/index.js"),l=require("../Control.Semigroupoid/index.js"),p=require("../Data.Distributive/index.js"),d=require("../Data.Either/index.js"),s=require("../Data.Functor/index.js"),v=require("../Data.Functor.Invariant/index.js"),S=require("../Data.Newtype/index.js"),w=require("../Data.Profunctor/index.js"),x=require("../Data.Profunctor.Choice/index.js"),j=require("../Data.Profunctor.Closed/index.js"),q=require("../Data.Profunctor.Strong/index.js"),A=require("../Data.Tuple/index.js"),C=function(n){return n},m=function(n){return new l.Semigroupoid(function(r){return function(t){return function(e){return u.bind(n)(t(e))(r)}}})},y=function(n){return new w.Profunctor(function(r){return function(t){return function(e){var u=s.map(n)(t);return function(n){return u(e(r(n)))}}}})},D=function(n){return new q.Strong(function(){return y(n)},function(r){return function(t){return s.map(n)(function(n){return new A.Tuple(n,t.value1)})(r(t.value0))}},function(r){return function(t){return s.map(n)(A.Tuple.create(t.value0))(r(t.value1))}})},g=new S.Newtype(function(n){return n},C),F=function(n){return new v.Invariant(function(r){return function(t){return function(e){var u=v.imap(n)(r)(t);return function(n){return u(e(n))}}}})},P=function(n){return function(r){return function(t){return n(r(t))}}},h=function(n){return new s.Functor(function(r){return function(t){var e=s.map(n)(r);return function(n){return e(t(n))}}})},b=function n(r){return new p.Distributive(function(){return h(r.Functor0())},function(t){return function(e){var u=p.distribute(n(r))(t),i=s.map(t)(e);return function(n){return u(i(n))}}},function(n){return function(t){return function(e){return p.collect(r)(n)(function(n){return n(e)})(t)}}})},M=function(n){return new j.Closed(function(){return y(n.Functor0())},function(r){return function(t){return p.distribute(n)(s.functorFn)(function(n){return r(t(n))})}})},B=function(n){return new x.Choice(function(){return y(n.Apply0().Functor0())},function(r){return C(d.either((u=s.map(n.Apply0().Functor0())(d.Left.create),function(n){return u(r(n))}))((e=t.pure(n),function(n){return e(d.Right.create(n))})));var e,u},function(r){return C(d.either((u=t.pure(n),function(n){return u(d.Left.create(n))}))((e=s.map(n.Apply0().Functor0())(d.Right.create),function(n){return e(r(n))})));var e,u})},Z=function(n){return new i.Category(function(){return m(n.Bind1())},t.pure(n.Applicative0()))},T=function(n){return new e.Apply(function(){return h(n.Functor0())},function(r){return function(t){return function(u){return e.apply(n)(r(u))(t(u))}}})},I=function(n){return new u.Bind(function(){return T(n.Apply0())},function(r){return function(t){return function(e){return u.bind(n)(r(e))(function(n){return t(n)(e)})}}})},L=function(n){return new t.Applicative(function(){return T(n.Apply0())},function(r){return function(e){return t.pure(n)(r)}})},N=function(n){return new o.Monad(function(){return L(n.Applicative0())},function(){return I(n.Bind1())})},R=function(r){return new n.Alt(function(){return h(r.Functor0())},function(t){return function(e){return function(u){return n.alt(r)(t(u))(e(u))}}})},E=function(n){return new f.Plus(function(){return R(n.Alt0())},function(r){return f.empty(n)})},k=function(n){return new r.Alternative(function(){return L(n.Applicative0())},function(){return E(n.Plus1())})},z=function(n){return new a.MonadZero(function(){return k(n.Alternative1())},function(){return N(n.Monad0())})},G=function(n){return new c.MonadPlus(function(){return z(n.MonadZero0())})};module.exports={Star:C,hoistStar:P,newtypeStar:g,semigroupoidStar:m,categoryStar:Z,functorStar:h,invariantStar:F,applyStar:T,applicativeStar:L,bindStar:I,monadStar:N,altStar:R,plusStar:E,alternativeStar:k,monadZeroStar:z,monadPlusStar:G,distributiveStar:b,profunctorStar:y,strongStar:D,choiceStar:B,closedStar:M}; +},{"../Control.Alt/index.js":"lN+m","../Control.Alternative/index.js":"aHia","../Control.Applicative/index.js":"qYya","../Control.Apply/index.js":"QcLv","../Control.Bind/index.js":"7VcT","../Control.Category/index.js":"IAi2","../Control.Monad/index.js":"U/Ix","../Control.MonadPlus/index.js":"HkJx","../Control.MonadZero/index.js":"lD5R","../Control.Plus/index.js":"oMBg","../Control.Semigroupoid/index.js":"/riR","../Data.Distributive/index.js":"8PTu","../Data.Either/index.js":"B2JL","../Data.Functor/index.js":"+0AE","../Data.Functor.Invariant/index.js":"AXkC","../Data.Newtype/index.js":"lz8k","../Data.Profunctor/index.js":"0DaD","../Data.Profunctor.Choice/index.js":"nkqb","../Data.Profunctor.Closed/index.js":"af4y","../Data.Profunctor.Strong/index.js":"w9p6","../Data.Tuple/index.js":"II/O"}],"i7fd":[function(require,module,exports) { +"use strict";var n=require("../Data.Functor/index.js"),t=require("../Data.Identity/index.js"),r=require("../Data.Newtype/index.js"),e=require("../Data.Profunctor.Choice/index.js"),i=require("../Data.Profunctor.Star/index.js"),u=require("../Data.Profunctor.Strong/index.js"),o=function(n,t,r){this.Choice1=n,this.Strong0=t,this.wander=r},a=function(n){return new o(function(){return i.choiceStar(n)},function(){return i.strongStar(n.Apply0().Functor0())},function(t){return function(r){return t(n)(r)}})},c=new o(function(){return e.choiceFn},function(){return u.strongFn},function(e){return r.alaF(n.functorFn)(n.functorFn)(t.newtypeIdentity)(t.newtypeIdentity)(t.Identity)(e(t.applicativeIdentity))}),d=function(n){return n.wander};module.exports={wander:d,Wander:o,wanderFunction:c,wanderStar:a}; +},{"../Data.Functor/index.js":"+0AE","../Data.Identity/index.js":"2OKT","../Data.Newtype/index.js":"lz8k","../Data.Profunctor.Choice/index.js":"nkqb","../Data.Profunctor.Star/index.js":"tj5E","../Data.Profunctor.Strong/index.js":"w9p6"}],"FnLc":[function(require,module,exports) { +"use strict";var t=function(t,n,u){this.Profunctor0=t,this.unleft=n,this.unright=u},n=function(t){return t.unright},u=function(t){return t.unleft};module.exports={unleft:u,unright:n,Cochoice:t}; +},{}],"mj9z":[function(require,module,exports) { +"use strict";var n=require("../Data.Const/index.js"),r=require("../Data.Either/index.js"),e=require("../Data.Functor/index.js"),t=require("../Data.Lens.Internal.Wander/index.js"),o=require("../Data.Monoid/index.js"),u=require("../Data.Newtype/index.js"),i=require("../Data.Profunctor/index.js"),c=require("../Data.Profunctor.Choice/index.js"),f=require("../Data.Profunctor.Cochoice/index.js"),a=require("../Data.Profunctor.Strong/index.js"),s=require("../Data.Semigroup/index.js"),d=require("../Data.Tuple/index.js"),F=function(n){return n},g=function(n){return s.semigroupFn(n)},p=new i.Profunctor(function(n){return function(r){return function(r){return function(e){return r(n(e))}}}}),x=new a.Strong(function(){return p},function(n){return function(r){return n(d.fst(r))}},function(n){return function(r){return n(d.snd(r))}}),j=new u.Newtype(function(n){return n},F),m=function(n){return o.monoidFn(n)},q=new f.Cochoice(function(){return p},function(n){return function(e){return n(r.Left.create(e))}},function(n){return function(e){return n(r.Right.create(e))}}),w=function(n){return new c.Choice(function(){return p},function(e){return r.either(e)(o.mempty(o.monoidFn(n)))},function(e){return r.either(o.mempty(o.monoidFn(n)))(e)})},D=function(r){return new t.Wander(function(){return w(r)},function(){return x},function(t){return function(o){return u.alaF(e.functorFn)(e.functorFn)(n.newtypeConst)(n.newtypeConst)(n.Const)(t(n.applicativeConst(r)))(o)}})};module.exports={Forget:F,newtypeForget:j,semigroupForget:g,monoidForget:m,profunctorForget:p,choiceForget:w,strongForget:x,cochoiceForget:q,wanderForget:D}; +},{"../Data.Const/index.js":"OmNG","../Data.Either/index.js":"B2JL","../Data.Functor/index.js":"+0AE","../Data.Lens.Internal.Wander/index.js":"i7fd","../Data.Monoid/index.js":"TiEB","../Data.Newtype/index.js":"lz8k","../Data.Profunctor/index.js":"0DaD","../Data.Profunctor.Choice/index.js":"nkqb","../Data.Profunctor.Cochoice/index.js":"FnLc","../Data.Profunctor.Strong/index.js":"w9p6","../Data.Semigroup/index.js":"EsAJ","../Data.Tuple/index.js":"II/O"}],"V4/H":[function(require,module,exports) { +"use strict";var e=require("../Data.Either/index.js"),n=require("../Data.Lens.Internal.Wander/index.js"),r=require("../Data.Newtype/index.js"),t=require("../Data.Profunctor/index.js"),u=require("../Data.Profunctor.Choice/index.js"),o=require("../Data.Profunctor.Strong/index.js"),c=require("../Data.Tuple/index.js"),i=function(e){return e},a=function(e){return new t.Profunctor(function(n){return function(r){return function(u){return t.dimap(e)(o.second(o.strongFn)(n))(r)(u)}}})},f=function(e){return new o.Strong(function(){return a(e.Profunctor0())},function(n){return i(t.lcmap(e.Profunctor0())(function(e){return new c.Tuple(new c.Tuple(e.value0,e.value1.value0),e.value1.value1)})(o.first(e)(n)))},function(n){return i(t.lcmap(e.Profunctor0())(function(e){return new c.Tuple(e.value1.value0,new c.Tuple(e.value0,e.value1.value1))})(o.second(e)(n)))})},l=new r.Newtype(function(e){return e},i),d=function(n){return new u.Choice(function(){return a(n.Profunctor0())},function(r){return i(t.lcmap(n.Profunctor0())(function(n){return e.either((r=c.Tuple.create(n.value0),function(n){return e.Left.create(r(n))}))(e.Right.create)(n.value1);var r})(u.left(n)(r)))},function(r){return i(t.lcmap(n.Profunctor0())(function(n){return e.either(e.Left.create)((r=c.Tuple.create(n.value0),function(n){return e.Right.create(r(n))}))(n.value1);var r})(u.right(n)(r)))})},v=function(e){return new n.Wander(function(){return d(e.Choice1())},function(){return f(e.Strong0())},function(r){return function(t){return i(n.wander(e)(function(e){return function(n){return function(t){return r(e)((u=c.Tuple.create(t.value0),function(e){return n(u(e))}))(t.value1);var u}}})(t))}})};module.exports={Indexed:i,newtypeIndexed:l,profunctorIndexed:a,strongIndexed:f,choiceIndexed:d,wanderIndexed:v}; +},{"../Data.Either/index.js":"B2JL","../Data.Lens.Internal.Wander/index.js":"i7fd","../Data.Newtype/index.js":"lz8k","../Data.Profunctor/index.js":"0DaD","../Data.Profunctor.Choice/index.js":"nkqb","../Data.Profunctor.Strong/index.js":"w9p6","../Data.Tuple/index.js":"II/O"}],"OPOX":[function(require,module,exports) { +"use strict";var n=require("../Control.Category/index.js"),e=require("../Control.Monad.State.Class/index.js"),t=require("../Data.Lens.Internal.Forget/index.js"),r=require("../Data.Lens.Internal.Indexed/index.js"),u=require("../Data.Newtype/index.js"),o=require("../Data.Profunctor.Strong/index.js"),i=function(e){return u.unwrap(t.newtypeForget)(e(n.identity(n.categoryFn)))},a=function(n){return function(e){return i(e)(n)}},c=function(n){return function(t){return e.gets(n)(function(n){return a(n)(t)})}},s=function(n){return function(e){var r=u.unwrap(t.newtypeForget)(e);return function(e){return r(n(e))}}},f=function(e){return function(t){return s(o.fanout(n.categoryFn)(o.strongFn)(i(e))(i(t)))}},d=function(e){return u.unwrap(t.newtypeForget)(e(r.Indexed(n.identity(n.categoryFn))))},g=function(n){return function(t){return e.gets(n)(d(t))}},w=function(n){return s(i(n))};module.exports={viewOn:a,view:i,to:s,takeBoth:f,use:c,iview:d,iuse:g,cloneGetter:w}; +},{"../Control.Category/index.js":"IAi2","../Control.Monad.State.Class/index.js":"u1pL","../Data.Lens.Internal.Forget/index.js":"mj9z","../Data.Lens.Internal.Indexed/index.js":"V4/H","../Data.Newtype/index.js":"lz8k","../Data.Profunctor.Strong/index.js":"w9p6"}],"eUa0":[function(require,module,exports) { +"use strict";var n=require("../Data.Functor/index.js"),r=require("../Data.Profunctor/index.js"),u=function(){function n(n,r){this.value0=n,this.value1=r}return n.create=function(r){return function(u){return new n(r,u)}},n}(),t=new r.Profunctor(function(n){return function(r){return function(t){return new u(function(r){return t.value0(n(r))},function(n){return r(t.value1(n))})}}}),e=new n.Functor(function(n){return function(r){return new u(r.value0,function(u){return n(r.value1(u))})}});module.exports={Exchange:u,functorExchange:e,profunctorExchange:t}; +},{"../Data.Functor/index.js":"+0AE","../Data.Profunctor/index.js":"0DaD"}],"NfU6":[function(require,module,exports) { +"use strict";var n=function(n,t,u){this.Profunctor0=n,this.unfirst=t,this.unsecond=u},t=function(n){return n.unsecond},u=function(n){return n.unfirst};module.exports={unfirst:u,unsecond:t,Costrong:n}; +},{}],"IZDD":[function(require,module,exports) { +"use strict";var n=require("../Data.Newtype/index.js"),r=require("../Data.Profunctor/index.js"),t=require("../Data.Profunctor.Choice/index.js"),u=require("../Data.Profunctor.Cochoice/index.js"),e=require("../Data.Profunctor.Costrong/index.js"),o=require("../Data.Profunctor.Strong/index.js"),c=function(n){return n},i=function(n){return new r.Profunctor(function(t){return function(u){return function(e){var o=r.dimap(n)(u)(t);return function(n){return e(o(n))}}}})},f=function(n){return new e.Costrong(function(){return i(n.Profunctor0())},function(r){var t=o.first(n);return function(n){return r(t(n))}},function(r){var t=o.second(n);return function(n){return r(t(n))}})},a=new n.Newtype(function(n){return n},c),s=function(n){return new o.Strong(function(){return i(n.Profunctor0())},function(r){var t=e.unfirst(n);return function(n){return r(t(n))}},function(r){var t=e.unsecond(n);return function(n){return r(t(n))}})},d=function(n){return new t.Choice(function(){return i(n.Profunctor0())},function(r){var t=u.unleft(n);return function(n){return r(t(n))}},function(r){var t=u.unright(n);return function(n){return r(t(n))}})},v=function(n){return new u.Cochoice(function(){return i(n.Profunctor0())},function(r){var u=t.left(n);return function(n){return r(u(n))}},function(r){var u=t.right(n);return function(n){return r(u(n))}})};module.exports={Re:c,newtypeRe:a,profunctorRe:i,choiceRe:v,cochoiceRe:d,strongRe:f,costrongRe:s}; +},{"../Data.Newtype/index.js":"lz8k","../Data.Profunctor/index.js":"0DaD","../Data.Profunctor.Choice/index.js":"nkqb","../Data.Profunctor.Cochoice/index.js":"FnLc","../Data.Profunctor.Costrong/index.js":"NfU6","../Data.Profunctor.Strong/index.js":"w9p6"}],"fFCp":[function(require,module,exports) { +"use strict";var n=require("../Control.Category/index.js"),r=require("../Data.Boolean/index.js"),t=require("../Data.Eq/index.js"),u=require("../Data.Function/index.js"),e=require("../Data.Functor/index.js"),i=require("../Data.Lens.Internal.Exchange/index.js"),o=require("../Data.Lens.Internal.Re/index.js"),c=require("../Data.Maybe/index.js"),f=require("../Data.Newtype/index.js"),a=require("../Data.Profunctor/index.js"),d=require("../Data.Tuple/index.js"),s=function(r){return function(t){var u=r(new i.Exchange(n.identity(n.categoryFn),n.identity(n.categoryFn)));return t(u.value0)(u.value1)}},p=function(n){return s(n)(function(n){return function(r){return function(t){return function(u){return n(t(r(u)))}}}})},l=function(r){return f.unwrap(o.newtypeRe)(r(n.identity(n.categoryFn)))},y=function(n){return function(r){return function(t){return function(u){return a.dimap(t)(n)(r)(u)}}}},m=function(n){return function(r){return function(t){return function(u){return s(t)(function(t){return function(i){return y(e.map(n)(t))(e.map(r)(i))(u)}})}}}},x=function(n){return function(u){return function(e){return y(c.fromMaybe(u))(function(e){if(t.eq(n)(e)(u))return c.Nothing.value;if(r.otherwise)return new c.Just(e);throw new Error("Failed pattern match at Data.Lens.Iso (line 45, column 9 - line 46, column 33): "+[e.constructor.name])})(e)}}},q=function(n){return y(d.uncurry)(d.curry)(n)},j=function(n){return y(u.flip)(u.flip)(n)},D=function(n){return function(r){return function(t){return function(u){return function(e){return s(t)(function(t){return function(i){return s(u)(function(u){return function(o){return y(a.dimap(n)(t)(u))(a.dimap(r)(i)(o))(e)}})}})}}}}},g=function(n){return y(d.curry)(d.uncurry)(n)},w=function(n){return function(r){return s(n)(function(n){return function(t){return function(u){return y(n)(t)(r)(u)}}})}},h=function(n){return function(r){return s(r)(function(r){return function(t){return function(u){return function(e){return function(i){return t(u(a.rmap(n)(r)(e))(i))}}}}})}},F=function(n){return s(n)(function(n){return function(r){return function(t){return function(u){return n(t(r)(u))}}}})};module.exports={iso:y,withIso:s,cloneIso:w,re:l,au:F,auf:h,under:p,non:x,curried:g,uncurried:q,flipped:j,mapping:m,dimapping:D}; +},{"../Control.Category/index.js":"IAi2","../Data.Boolean/index.js":"ObQr","../Data.Eq/index.js":"Pq4F","../Data.Function/index.js":"ImXJ","../Data.Functor/index.js":"+0AE","../Data.Lens.Internal.Exchange/index.js":"eUa0","../Data.Lens.Internal.Re/index.js":"IZDD","../Data.Maybe/index.js":"5mN7","../Data.Newtype/index.js":"lz8k","../Data.Profunctor/index.js":"0DaD","../Data.Tuple/index.js":"II/O"}],"CiFJ":[function(require,module,exports) { +"use strict";var e=require("../Data.Lens.Iso/index.js"),r=require("../Data.Newtype/index.js"),n=function(n){return function(t){return function(u){return e.iso(r.unwrap(n))(r.wrap(t))(u)}}};module.exports={_Newtype:n}; +},{"../Data.Lens.Iso/index.js":"fFCp","../Data.Newtype/index.js":"lz8k"}],"ONWB":[function(require,module,exports) { +"use strict";var o=function(o,e,t,s,n,i){this.Monad0=o,this.chooseBool=e,this.chooseFloat=t,this.chooseInt=s,this.resize=n,this.sized=i},e=function(o){return o.sized},t=function(o){return o.resize},s=function(o){return o.chooseInt},n=function(o){return o.chooseFloat},i=function(o){return o.chooseBool};module.exports={chooseBool:i,chooseFloat:n,chooseInt:s,resize:t,sized:e,MonadGen:o}; +},{}],"s7H0":[function(require,module,exports) { +"use strict";var n=require("../Control.Applicative/index.js"),e=require("../Control.Bind/index.js"),t=require("../Control.Monad.Gen.Class/index.js"),r=require("../Control.Monad.Rec.Class/index.js"),u=require("../Data.Boolean/index.js"),i=require("../Data.Foldable/index.js"),o=require("../Data.Function/index.js"),a=require("../Data.Functor/index.js"),c=require("../Data.Maybe/index.js"),l=require("../Data.Monoid.Additive/index.js"),d=require("../Data.Newtype/index.js"),f=require("../Data.Semigroup/index.js"),s=require("../Data.Semigroup.Foldable/index.js"),p=require("../Data.Semiring/index.js"),v=require("../Data.Tuple/index.js"),m=require("../Data.Unfoldable/index.js"),w=require("../Data.Unit/index.js"),M=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),h=function(){function n(){}return n.value=new n,n}(),F=function(n){return n},q=function(n){return n},x=function(i){return function(o){return function(l){return function(d){var f,s,p=function(t){if(t.value1<=0)return n.pure(o.Monad0().Applicative0())(new r.Done(t.value0));if(u.otherwise)return e.bind(o.Monad0().Bind1())(d)(function(e){return n.pure(o.Monad0().Applicative0())(new r.Loop(new v.Tuple(new M(e,t.value0),t.value1-1|0)))});throw new Error("Failed pattern match at Control.Monad.Gen (line 93, column 3 - line 93, column 68): "+[t.constructor.name])};return a.map(o.Monad0().Bind1().Apply0().Functor0())(m.unfoldr(l)(function(n){if(n instanceof h)return c.Nothing.value;if(n instanceof M)return new c.Just(new v.Tuple(n.value0,n.value1));throw new Error("Failed pattern match at Control.Monad.Gen (line 101, column 12 - line 103, column 35): "+[n.constructor.name])}))(t.sized(o)((f=r.tailRecM(i)(p),s=v.Tuple.create(h.value),function(n){return f(s(n))})))}}}},j=new f.Semigroup(function(n){return function(e){return function(t){var r=n(t);return r.value0 instanceof c.Just?e(r.value0.value0):r}}}),D=new f.Semigroup(function(n){return function(e){return function(t){return t<=0?n(t):e(t-1|0)}}}),b=function(n){return function(e){return v.snd(n(e))}},g=function(n){return n},A=function(n){return function(e){return e>=n.value0?new v.Tuple(new c.Just(e-n.value0),n.value1):new v.Tuple(c.Nothing.value,n.value1)}},B=function(n){return function(r){return function(u){var o=d.alaF(a.functorFn)(a.functorFn)(d.newtypeAdditive)(d.newtypeAdditive)(l.Additive)(i.foldMap(r.Foldable0())(l.monoidAdditive(p.semiringNumber)))(v.fst)(u);return e.bind(n.Monad0().Bind1())(t.chooseFloat(n)(0)(o))(b(s.foldMap1(r)(j)(A)(u)))}}},C=function(n){return function(e){return function(t){return r.tailRecM(n)(function(n){return a.mapFlipped(e.Monad0().Bind1().Apply0().Functor0())(t)(function(n){if(n instanceof c.Nothing)return new r.Loop(w.unit);if(n instanceof c.Just)return new r.Done(n.value0);throw new Error("Failed pattern match at Control.Monad.Gen (line 117, column 24 - line 119, column 23): "+[n.constructor.name])})})(w.unit)}}},y=function(n){return function(e){return function(t){return function(r){return C(n)(e)(a.mapFlipped(e.Monad0().Bind1().Apply0().Functor0())(t)(function(n){return r(n)?new c.Just(n):c.Nothing.value}))}}}},T=function(n){return function(r){return function(u){return e.bind(n.Monad0().Bind1())(t.chooseBool(n))(function(n){return n?r:u})}}},N=function(n){return q(o.const(n))},J=function(n){return function(e){return function(t){return g(s.foldMap1(n)(D)(N)(t))(e)}}},S=function(r){return function(u){return function(o){return e.bind(r.Monad0().Bind1())(t.chooseInt(r)(0)(i.length(u.Foldable0())(p.semiringInt)(o)-1|0))(function(e){return n.pure(r.Monad0().Applicative0())(J(u)(e)(o))})}}},G=function(n){return function(r){return function(u){return e.bind(n.Monad0().Bind1())(t.chooseInt(n)(0)(i.length(r.Foldable0())(p.semiringInt)(u)-1|0))(function(n){return J(r)(n)(u)})}}};module.exports={choose:T,oneOf:G,frequency:B,elements:S,unfoldable:x,suchThat:y,filtered:C}; +},{"../Control.Applicative/index.js":"qYya","../Control.Bind/index.js":"7VcT","../Control.Monad.Gen.Class/index.js":"ONWB","../Control.Monad.Rec.Class/index.js":"UVIy","../Data.Boolean/index.js":"ObQr","../Data.Foldable/index.js":"eVDl","../Data.Function/index.js":"ImXJ","../Data.Functor/index.js":"+0AE","../Data.Maybe/index.js":"5mN7","../Data.Monoid.Additive/index.js":"fHyj","../Data.Newtype/index.js":"lz8k","../Data.Semigroup/index.js":"EsAJ","../Data.Semigroup.Foldable/index.js":"ht+A","../Data.Semiring/index.js":"11NF","../Data.Tuple/index.js":"II/O","../Data.Unfoldable/index.js":"77+Z","../Data.Unit/index.js":"NhVk"}],"K4TW":[function(require,module,exports) { +"use strict";var n=require("../Control.Applicative/index.js"),e=require("../Control.Apply/index.js"),r=require("../Control.Bind/index.js"),t=require("../Control.Monad.Gen/index.js"),i=require("../Control.Monad.Gen.Class/index.js"),u=require("../Data.Either/index.js"),o=require("../Data.Functor/index.js"),a=require("../Data.Identity/index.js"),d=require("../Data.Maybe/index.js"),c=require("../Data.NonEmpty/index.js"),p=require("../Data.Ord/index.js"),l=require("../Data.Tuple/index.js"),f=function(n){return e.lift2(n)(l.Tuple.create)},s=function(n){return function(r){return function(u){return function(a){return e.apply(r.Monad0().Bind1().Apply0())(o.map(r.Monad0().Bind1().Apply0().Functor0())(c.NonEmpty.create)(a))(i.resize(r)((d=p.max(p.ordInt)(0),function(n){return d(n-1|0)}))(t.unfoldable(n)(r)(u)(a)));var d}}}},y=function(e){return function(t){return function(u){return r.bind(e.Monad0().Bind1())(i.chooseFloat(e)(0)(1))(function(r){return r0)return new f.Just(x(n));if(u.otherwise)return f.Nothing.value;throw new Error("Failed pattern match at Data.Array.NonEmpty (line 134, column 1 - line 134, column 58): "+[n.constructor.name])},O=function(n){var r=t.fromFoldable(n);return function(n){return R(r(n))}},S=function(n){return function(r){return t.difference(n)(A(r))}},G=function(n){return function(r){return x(t.cons(n)(r))}},H=function(n){return G(n.value0)(n.value1)},K=o.flip(n.bind(r.bindNonEmptyArray)),P=function(){var n=c.map(r.functorNonEmptyArray)(A);return function(r){return x(t.concat(A(n(r))))}}(),Q=function(n){return function(t){return x(s.append(s.semigroupArray)(A(n))(t))}},V=function(n){return function(r){var e=t.alterAt(n)(r);return function(n){return e(A(n))}}},X=function(n){var t=f.fromJust();return function(r){return t(n(A(r)))}},Y=X(t.head),Z=X(t.init),$=X(t.last),_=X(t.tail),nn=X(t.uncons),tn=function(n){return t=nn(n),new a.NonEmpty(t.head,t.tail);var t},rn=X(t.unsnoc),en=function(n){return function(t){return n(A(t))}},un=en(t.catMaybes),on=function(n){return function(r){return en(t.delete(n)(r))}},cn=function(n){return en(t.deleteAt(n))},fn=function(n){return function(r){return en(t.deleteBy(n)(r))}},an=function(n){return function(t){return en(S(n)(t))}},dn=function(n){return en(t.drop(n))},sn=function(n){return en(t.dropEnd(n))},ln=function(n){return en(t.dropWhile(n))},pn=function(n){return function(r){return en(t.elemIndex(n)(r))}},yn=function(n){return function(r){return en(t.elemLastIndex(n)(r))}},mn=function(n){return en(t.filter(n))},xn=function(n){return function(r){return en(t.filterA(n)(r))}},An=function(n){return en(t.findIndex(n))},bn=function(n){return en(t.findLastIndex(n))},qn=function(n){return function(r){return function(e){return en(t.foldM(n)(r)(e))}}},vn=function(n){return function(r){return function(e){return en(t.foldRecM(n)(r)(e))}}},hn=en(t.index),Bn=en(t.length),En=function(n){return en(t.mapMaybe(n))},In=function(n){return en(t.partition(n))},jn=function(n){return function(r){return en(t.slice(n)(r))}},Dn=function(n){return en(t.span(n))},gn=function(n){return en(t.take(n))},Mn=function(n){return en(t.takeEnd(n))},Nn=function(n){return en(t.takeWhile(n))},Wn=function(n){return en(t.toUnfoldable(n))},zn=function(n){var t=en(n);return function(n){return x(t(n))}},Fn=function(n){return zn(t.cons(n))},kn=function(n){return function(r){return zn(t.insert(n)(r))}},wn=function(n){return function(r){return zn(t.insertBy(n)(r))}},Cn=function(n){return function(r){return function(e){return zn(t.modifyAtIndices(n)(r)(e))}}},Un=function(n){return zn(t.nub(n))},Ln=function(n){return zn(t.nubBy(n))},Jn=function(n){return zn(t.nubByEq(n))},Tn=function(n){return zn(t.nubEq(n))},Rn=zn(t.reverse),On=function(n){return zn(t.sort(n))},Sn=function(n){return zn(t.sortBy(n))},Gn=function(n){return function(r){return zn(t.sortWith(n)(r))}},Hn=function(n){return function(r){return zn(t.updateAtIndices(n)(r))}},Kn=function(n){return en(t.unsafeIndex(n))},Pn=function(n){return function(t){var r=Bn(t);return p.unfoldr1(n)(function(n){return l.Tuple.create(Kn()(t)(n))(n<(r-1|0)?new f.Just(n+1|0):f.Nothing.value)})(0)}};module.exports={fromArray:R,fromNonEmpty:H,toArray:A,toNonEmpty:tn,fromFoldable:O,fromFoldable1:T,toUnfoldable:Wn,toUnfoldable1:Pn,singleton:W,range:F,replicate:z,some:g,length:Bn,cons:Fn,"cons'":G,snoc:N,"snoc'":M,appendArray:Q,insert:kn,insertBy:wn,head:Y,last:$,tail:_,init:Z,uncons:nn,unsnoc:rn,index:hn,elemIndex:pn,elemLastIndex:yn,findIndex:An,findLastIndex:bn,insertAt:J,deleteAt:cn,updateAt:E,updateAtIndices:Hn,modifyAt:k,modifyAtIndices:Cn,alterAt:V,reverse:Rn,concat:P,concatMap:K,filter:mn,partition:In,filterA:xn,mapMaybe:En,catMaybes:un,sort:On,sortBy:Sn,sortWith:Gn,slice:jn,take:gn,takeEnd:Mn,takeWhile:Nn,drop:dn,dropEnd:sn,dropWhile:ln,span:Dn,nub:Un,nubBy:Ln,nubEq:Tn,nubByEq:Jn,union:h,"union'":q,unionBy:v,"unionBy'":b,delete:on,deleteBy:fn,difference:an,"difference'":S,intersect:L,"intersect'":U,intersectBy:C,"intersectBy'":w,zipWith:j,zipWithA:D,zip:I,unzip:B,foldM:qn,foldRecM:vn,unsafeIndex:Kn}; +},{"../Control.Bind/index.js":"7VcT","../Data.Array/index.js":"4t4C","../Data.Array.NonEmpty.Internal/index.js":"PmFL","../Data.Bifunctor/index.js":"e2Wc","../Data.Boolean/index.js":"ObQr","../Data.Eq/index.js":"Pq4F","../Data.Function/index.js":"ImXJ","../Data.Functor/index.js":"+0AE","../Data.Maybe/index.js":"5mN7","../Data.NonEmpty/index.js":"qF8i","../Data.Ord/index.js":"r4Vb","../Data.Semigroup/index.js":"EsAJ","../Data.Tuple/index.js":"II/O","../Data.Unfoldable1/index.js":"S0Nl","../Unsafe.Coerce/index.js":"ETUV"}],"Yzse":[function(require,module,exports) { +"use strict";exports.toCharCode=function(r){return r.charCodeAt(0)},exports.fromCharCode=function(r){return String.fromCharCode(r)}; +},{}],"oOsU":[function(require,module,exports) { +"use strict";var n=require("./foreign.js"),t=require("../Control.Apply/index.js"),e=require("../Control.Bind/index.js"),r=require("../Control.MonadZero/index.js"),u=require("../Data.Boolean/index.js"),o=require("../Data.Bounded/index.js"),i=require("../Data.Either/index.js"),a=require("../Data.Eq/index.js"),c=require("../Data.Function/index.js"),f=require("../Data.Functor/index.js"),l=require("../Data.Maybe/index.js"),d=require("../Data.Newtype/index.js"),m=require("../Data.Ord/index.js"),s=require("../Data.Ordering/index.js"),h=require("../Data.Show/index.js"),w=require("../Data.Tuple/index.js"),E=require("../Data.Unfoldable/index.js"),v=require("../Data.Unfoldable1/index.js"),p=require("../Data.Unit/index.js"),b=function(n){return n},g=function(n,t,e){this.Ord0=n,this.pred=t,this.succ=e},J=function(n,t,e,r,u){this.Bounded0=n,this.Enum1=t,this.cardinality=e,this.fromEnum=r,this.toEnum=u},y=function(n){return n.toEnum},D=function(n){return n.succ},T=function(n){return function(e){return v.unfoldr1(e)(t.apply(t.applyFn)(w.Tuple.create)(D(n)))}},C=new h.Show(function(n){return"(Cardinality "+h.show(h.showInt)(n)+")"}),q=function(n){return n.pred},N=m.ordInt,F=new d.Newtype(function(n){return n},b),j=function(n){return n.fromEnum},x=function(n){return function(t){return function(e){return function(r){var u=y(n)(r);if(u instanceof l.Just)return u.value0;if(u instanceof l.Nothing)return ro.bottom(o.boundedInt)?new l.Just(n-1|0):l.Nothing.value},function(n){return n=o.bottom(o.boundedInt)&&t<=o.top(o.boundedInt)?new l.Just(n.fromCharCode(t)):l.Nothing.value},Y=new g(function(){return m.ordChar},H(X)(n.toCharCode),z(X)(n.toCharCode)),$=function(n){return n.cardinality},_=new J(function(){return o.boundedUnit},function(){return B},1,c.const(0),function(n){return 0===n?new l.Just(p.unit):l.Nothing.value}),nn=new J(function(){return o.boundedOrdering},function(){return I},3,function(n){if(n instanceof s.LT)return 0;if(n instanceof s.EQ)return 1;if(n instanceof s.GT)return 2;throw new Error("Failed pattern match at Data.Enum (line 137, column 1 - line 145, column 18): "+[n.constructor.name])},function(n){return 0===n?new l.Just(s.LT.value):1===n?new l.Just(s.EQ.value):2===n?new l.Just(s.GT.value):l.Nothing.value}),tn=new J(function(){return o.boundedChar},function(){return Y},n.toCharCode(o.top(o.boundedChar))-n.toCharCode(o.bottom(o.boundedChar))|0,n.toCharCode,X),en=new J(function(){return o.boundedBoolean},function(){return S},2,function(n){if(!n)return 0;if(n)return 1;throw new Error("Failed pattern match at Data.Enum (line 118, column 1 - line 124, column 20): "+[n.constructor.name])},function(n){return 0===n?new l.Just(!1):1===n?new l.Just(!0):l.Nothing.value});module.exports={Enum:g,succ:D,pred:q,BoundedEnum:J,cardinality:$,toEnum:y,fromEnum:j,toEnumWithDefaults:x,Cardinality:b,enumFromTo:Q,enumFromThenTo:G,upFrom:W,upFromIncluding:T,downFrom:P,downFromIncluding:Z,defaultSucc:z,defaultPred:H,defaultCardinality:V,defaultToEnum:k,defaultFromEnum:K,enumBoolean:S,enumInt:U,enumChar:Y,enumUnit:B,enumOrdering:I,enumMaybe:L,enumEither:R,enumTuple:M,boundedEnumBoolean:en,boundedEnumChar:tn,boundedEnumUnit:_,boundedEnumOrdering:nn,newtypeCardinality:F,eqCardinality:O,ordCardinality:N,showCardinality:C}; +},{"./foreign.js":"Yzse","../Control.Apply/index.js":"QcLv","../Control.Bind/index.js":"7VcT","../Control.MonadZero/index.js":"lD5R","../Data.Boolean/index.js":"ObQr","../Data.Bounded/index.js":"kcUU","../Data.Either/index.js":"B2JL","../Data.Eq/index.js":"Pq4F","../Data.Function/index.js":"ImXJ","../Data.Functor/index.js":"+0AE","../Data.Maybe/index.js":"5mN7","../Data.Newtype/index.js":"lz8k","../Data.Ord/index.js":"r4Vb","../Data.Ordering/index.js":"5Eun","../Data.Show/index.js":"mFY7","../Data.Tuple/index.js":"II/O","../Data.Unfoldable/index.js":"77+Z","../Data.Unfoldable1/index.js":"S0Nl","../Data.Unit/index.js":"NhVk"}],"EM+K":[function(require,module,exports) { +"use strict";var n=require("../Data.Array.NonEmpty/index.js"),r=require("../Data.Maybe/index.js"),t=require("../Data.Semigroup.Foldable/index.js"),e=require("../Data.String.CodeUnits/index.js"),u=require("../Data.String.NonEmpty.Internal/index.js"),o=require("../Data.String.Unsafe/index.js"),i=require("../Unsafe.Coerce/index.js"),a=i.unsafeCoerce,f=function(n){return function(r){return a(r+e.singleton(n))}},c=function(n){return a(e.singleton(n))},s=i.unsafeCoerce,l=function(n){var r=s(e.takeWhile(n));return function(n){return u.fromString(r(n))}},h=function(n){var r=e["lastIndexOf'"](n);return function(n){return s(r(n))}},g=function(n){return s(e.lastIndexOf(n))},d=function(n){var r=e["indexOf'"](n);return function(n){return s(r(n))}},m=function(n){return s(e.indexOf(n))},v=i.unsafeCoerce,x=function(n){return e.length(v(n))},p=function(n){return function(r){var t=e.splitAt(n)(v(r));return{before:u.fromString(t.before),after:u.fromString(t.after)}}},y=function(n){return function(t){var u=v(t);return n<1?r.Nothing.value:new r.Just(a(e.take(n)(u)))}},A=function(n){return function(t){var u=v(t);return n<1?r.Nothing.value:new r.Just(a(e.takeRight(n)(u)))}},C=function(n){return e.toChar(v(n))},N=function(n){return e.toCharArray(v(n))},S=function(){var t=r.fromJust();return function(r){return t(n.fromArray(N(r)))}}(),O=function(n){var r=v(n);return{head:o.charAt(0)(r),tail:u.fromString(e.drop(1)(r))}},j=function(n){var r=t.fold1(n)(u.semigroupNonEmptyString);return function(n){return r(n)}},q=function(n){return 0===n.length?r.Nothing.value:new r.Just(a(e.fromCharArray(n)))},J=function(){var t=r.fromJust();return function(r){return t(q(n.toArray(r)))}}(),k=function(n){var r=s(e.dropWhile(n));return function(n){return u.fromString(r(n))}},D=function(n){return function(t){var u=v(t);return n>=e.length(u)?r.Nothing.value:new r.Just(a(e.dropRight(n)(u)))}},b=function(n){return function(t){var u=v(t);return n>=e.length(u)?r.Nothing.value:new r.Just(a(e.drop(n)(u)))}},w=function(n){return s(e.countPrefix(n))},E=function(n){return function(r){return a(e.singleton(n)+r)}},I=function(n){return s(e.charAt(n))};module.exports={fromCharArray:q,fromNonEmptyCharArray:J,singleton:c,cons:E,snoc:f,fromFoldable1:j,toCharArray:N,toNonEmptyCharArray:S,charAt:I,toChar:C,indexOf:m,"indexOf'":d,lastIndexOf:g,"lastIndexOf'":h,uncons:O,length:x,take:y,takeRight:A,takeWhile:l,drop:b,dropRight:D,dropWhile:k,countPrefix:w,splitAt:p}; +},{"../Data.Array.NonEmpty/index.js":"eTKN","../Data.Maybe/index.js":"5mN7","../Data.Semigroup.Foldable/index.js":"ht+A","../Data.String.CodeUnits/index.js":"6c6X","../Data.String.NonEmpty.Internal/index.js":"Ph6A","../Data.String.Unsafe/index.js":"5UWM","../Unsafe.Coerce/index.js":"ETUV"}],"nKWe":[function(require,module,exports) { +"use strict";var n=require("../Data.Eq/index.js"),e=require("../Data.Newtype/index.js"),t=require("../Data.Ord/index.js"),r=require("../Data.Show/index.js"),u=function(n){return n},o=function(n){return n},i=new r.Show(function(n){return"(Replacement "+r.show(r.showString)(n)+")"}),c=new r.Show(function(n){return"(Pattern "+r.show(r.showString)(n)+")"}),a=new e.Newtype(function(n){return n},u),w=new e.Newtype(function(n){return n},o),f=new n.Eq(function(n){return function(e){return n===e}}),p=new t.Ord(function(){return f},function(n){return function(e){return t.compare(t.ordString)(n)(e)}}),s=new n.Eq(function(n){return function(e){return n===e}}),d=new t.Ord(function(){return s},function(n){return function(e){return t.compare(t.ordString)(n)(e)}});module.exports={Pattern:o,Replacement:u,eqPattern:s,ordPattern:d,newtypePattern:w,showPattern:c,eqReplacement:f,ordReplacement:p,newtypeReplacement:a,showReplacement:i}; +},{"../Data.Eq/index.js":"Pq4F","../Data.Newtype/index.js":"lz8k","../Data.Ord/index.js":"r4Vb","../Data.Show/index.js":"mFY7"}],"3koD":[function(require,module,exports) { +"use strict";exports.unsafeUnionFn=function(r,n){var a={};for(var o in n)({}).hasOwnProperty.call(n,o)&&(a[o]=n[o]);for(var t in r)({}).hasOwnProperty.call(r,t)&&(a[t]=r[t]);return a}; +},{}],"cB+g":[function(require,module,exports) { +"use strict";exports.mkFn0=function(n){return function(){return n({})}},exports.mkFn2=function(n){return function(r,t){return n(r)(t)}},exports.mkFn3=function(n){return function(r,t,u){return n(r)(t)(u)}},exports.mkFn4=function(n){return function(r,t,u,e){return n(r)(t)(u)(e)}},exports.mkFn5=function(n){return function(r,t,u,e,o){return n(r)(t)(u)(e)(o)}},exports.mkFn6=function(n){return function(r,t,u,e,o,c){return n(r)(t)(u)(e)(o)(c)}},exports.mkFn7=function(n){return function(r,t,u,e,o,c,i){return n(r)(t)(u)(e)(o)(c)(i)}},exports.mkFn8=function(n){return function(r,t,u,e,o,c,i,f){return n(r)(t)(u)(e)(o)(c)(i)(f)}},exports.mkFn9=function(n){return function(r,t,u,e,o,c,i,f,s){return n(r)(t)(u)(e)(o)(c)(i)(f)(s)}},exports.mkFn10=function(n){return function(r,t,u,e,o,c,i,f,s,p){return n(r)(t)(u)(e)(o)(c)(i)(f)(s)(p)}},exports.runFn0=function(n){return n()},exports.runFn2=function(n){return function(r){return function(t){return n(r,t)}}},exports.runFn3=function(n){return function(r){return function(t){return function(u){return n(r,t,u)}}}},exports.runFn4=function(n){return function(r){return function(t){return function(u){return function(e){return n(r,t,u,e)}}}}},exports.runFn5=function(n){return function(r){return function(t){return function(u){return function(e){return function(o){return n(r,t,u,e,o)}}}}}},exports.runFn6=function(n){return function(r){return function(t){return function(u){return function(e){return function(o){return function(c){return n(r,t,u,e,o,c)}}}}}}},exports.runFn7=function(n){return function(r){return function(t){return function(u){return function(e){return function(o){return function(c){return function(i){return n(r,t,u,e,o,c,i)}}}}}}}},exports.runFn8=function(n){return function(r){return function(t){return function(u){return function(e){return function(o){return function(c){return function(i){return function(f){return n(r,t,u,e,o,c,i,f)}}}}}}}}},exports.runFn9=function(n){return function(r){return function(t){return function(u){return function(e){return function(o){return function(c){return function(i){return function(f){return function(s){return n(r,t,u,e,o,c,i,f,s)}}}}}}}}}},exports.runFn10=function(n){return function(r){return function(t){return function(u){return function(e){return function(o){return function(c){return function(i){return function(f){return function(s){return function(p){return n(r,t,u,e,o,c,i,f,s,p)}}}}}}}}}}}; +},{}],"TowT":[function(require,module,exports) { +"use strict";var n=require("./foreign.js"),F=function(n){return n},r=function(n){return n};module.exports={mkFn1:r,runFn1:F,mkFn0:n.mkFn0,mkFn2:n.mkFn2,mkFn3:n.mkFn3,mkFn4:n.mkFn4,mkFn5:n.mkFn5,mkFn6:n.mkFn6,mkFn7:n.mkFn7,mkFn8:n.mkFn8,mkFn9:n.mkFn9,mkFn10:n.mkFn10,runFn0:n.runFn0,runFn2:n.runFn2,runFn3:n.runFn3,runFn4:n.runFn4,runFn5:n.runFn5,runFn6:n.runFn6,runFn7:n.runFn7,runFn8:n.runFn8,runFn9:n.runFn9,runFn10:n.runFn10}; +},{"./foreign.js":"cB+g"}],"WmUk":[function(require,module,exports) { +"use strict";var n=require("./foreign.js"),e=require("../Data.Function.Uncurried/index.js"),i=e.runFn2(n.unsafeUnionFn);module.exports={unsafeUnion:i,unsafeUnionFn:n.unsafeUnionFn}; +},{"./foreign.js":"3koD","../Data.Function.Uncurried/index.js":"TowT"}],"0gG4":[function(require,module,exports) { +"use strict";var n=require("../Data.Eq/index.js"),r=require("../Data.Symbol/index.js"),u=require("../Record.Unsafe/index.js"),t=require("../Record.Unsafe.Union/index.js"),e=require("../Type.Data.RowList/index.js"),i=require("../Unsafe.Coerce/index.js"),o=function(n){this.equalFields=n},f=function(n){return function(n){return function(r){return t.unsafeUnionFn(n,r)}}},c=function(n){return function(t){return function(t){return function(t){return function(e){return function(i){return u.unsafeSet(r.reflectSymbol(n)(t))(e)(i)}}}}}},s=function(n){return i.unsafeCoerce},a=function(n){return function(n){return function(n){return function(r){return t.unsafeUnionFn(n,r)}}}},l=function(n){return function(t){return function(t){return function(t){return function(e){return function(i){return u.unsafeSet(r.reflectSymbol(n)(t))(e)(i)}}}}}},d=function(n){return function(t){return function(t){return function(e){return u.unsafeGet(r.reflectSymbol(n)(t))(e)}}}},q=function(n){return function(r){return function(u){return function(t){return function(e){return function(i){return c(n)(r)(u)(t)(e(d(n)(r)(t)(i)))(i)}}}}}},x=new o(function(n){return function(n){return function(n){return!0}}}),y=function(n){return n.equalFields},m=function(u){return function(t){return function(i){return function(f){return new o(function(o){return function(o){return function(c){var s=d(u)(i)(r.SProxy.value),a=y(f)(e.RLProxy.value);return n.eq(t)(s(o))(s(c))&&a(o)(c)}}})}}}},F=function(n){return function(n){return function(r){return function(u){return y(n)(e.RLProxy.value)(r)(u)}}}},S=function(n){return function(n){return function(n){return function(r){return t.unsafeUnionFn(n,r)}}}},U=function(n){return function(t){return function(t){return function(t){return function(e){return u.unsafeDelete(r.reflectSymbol(n)(t))(e)}}}}},j=function(n){return function(r){return function(u){return function(t){return function(e){return function(i){return function(o){return function(f){return function(c){return l(r)(i)(e)(f)(d(n)(u)(o)(c))(U(n)(t)(u)(o)(c))}}}}}}}}};module.exports={get:d,set:c,modify:q,insert:l,delete:U,rename:j,equal:F,merge:a,union:f,disjointUnion:S,nub:s,EqualFields:o,equalFields:y,equalFieldsCons:m,equalFieldsNil:x}; +},{"../Data.Eq/index.js":"Pq4F","../Data.Symbol/index.js":"4oJQ","../Record.Unsafe/index.js":"KG04","../Record.Unsafe.Union/index.js":"WmUk","../Type.Data.RowList/index.js":"XaXP","../Unsafe.Coerce/index.js":"ETUV"}],"/s47":[function(require,module,exports) { +"use strict";exports.float32ToInt32=function(r){var t=new ArrayBuffer(4),n=new Float32Array(t),e=new Int32Array(t);return n[0]=r,e[0]}; +},{}],"IpNh":[function(require,module,exports) { +"use strict";var t=function(t,n){this.Monad0=t,this.callCC=n},n=function(t){return t.callCC};module.exports={MonadCont:t,callCC:n}; +},{}],"OvLS":[function(require,module,exports) { +"use strict";exports.showErrorImpl=function(r){return r.stack||r.toString()},exports.error=function(r){return new Error(r)},exports.message=function(r){return r.message},exports.name=function(r){return r.name||"Error"},exports.stackImpl=function(r){return function(t){return function(n){return n.stack?r(n.stack):t}}},exports.throwException=function(r){return function(){throw r}},exports.catchException=function(r){return function(t){return function(){try{return t()}catch(n){return n instanceof Error||"[object Error]"===Object.prototype.toString.call(n)?r(n)():r(new Error(n.toString()))()}}}}; +},{}],"0OCW":[function(require,module,exports) { +"use strict";var e=require("./foreign.js"),r=require("../Control.Applicative/index.js"),t=require("../Data.Either/index.js"),i=require("../Data.Functor/index.js"),o=require("../Data.Maybe/index.js"),n=require("../Data.Show/index.js"),a=require("../Effect/index.js"),c=function(o){return e.catchException((n=r.pure(a.applicativeEffect),function(e){return n(t.Left.create(e))}))(i.map(a.functorEffect)(t.Right.create)(o));var n},u=function(r){return e.throwException(e.error(r))},s=e.stackImpl(o.Just.create)(o.Nothing.value),p=new n.Show(e.showErrorImpl);module.exports={stack:s,throw:u,try:c,showError:p,error:e.error,message:e.message,name:e.name,throwException:e.throwException,catchException:e.catchException}; +},{"./foreign.js":"OvLS","../Control.Applicative/index.js":"qYya","../Data.Either/index.js":"B2JL","../Data.Functor/index.js":"+0AE","../Data.Maybe/index.js":"5mN7","../Data.Show/index.js":"mFY7","../Effect/index.js":"oTWB"}],"L8Lk":[function(require,module,exports) { +"use strict";var n=require("../Control.Applicative/index.js"),r=require("../Control.Bind/index.js"),t=require("../Data.Either/index.js"),o=require("../Data.Function/index.js"),e=require("../Data.Functor/index.js"),i=require("../Data.Maybe/index.js"),u=require("../Data.Unit/index.js"),a=require("../Effect/index.js"),c=require("../Effect.Exception/index.js"),f=function(n,r){this.Monad0=n,this.throwError=r},d=function(n,r){this.MonadThrow0=n,this.catchError=r},h=function(n){return n.throwError},s=new f(function(){return i.monadMaybe},o.const(i.Nothing.value)),l=new f(function(){return t.monadEither},t.Left.create),w=new f(function(){return a.monadEffect},c.throwException),E=new d(function(){return s},function(n){return function(r){if(n instanceof i.Nothing)return r(u.unit);if(n instanceof i.Just)return new i.Just(n.value0);throw new Error("Failed pattern match at Control.Monad.Error.Class (line 79, column 1 - line 81, column 33): "+[n.constructor.name,r.constructor.name])}}),m=new d(function(){return l},function(n){return function(r){if(n instanceof t.Left)return r(n.value0);if(n instanceof t.Right)return new t.Right(n.value0);throw new Error("Failed pattern match at Control.Monad.Error.Class (line 72, column 1 - line 74, column 35): "+[n.constructor.name,r.constructor.name])}}),M=new d(function(){return w},o.flip(c.catchException)),p=function(n){return n.catchError},x=function(n){return function(r){return function(t){return function(o){return p(n)(t)(function(t){var e=r(t);if(e instanceof i.Nothing)return h(n.MonadThrow0())(t);if(e instanceof i.Just)return o(e.value0);throw new Error("Failed pattern match at Control.Monad.Error.Class (line 57, column 5 - line 59, column 26): "+[e.constructor.name])})}}}},T=function(r){return function(o){return p(r)(e.map(r.MonadThrow0().Monad0().Bind1().Apply0().Functor0())(t.Right.create)(o))((i=n.pure(r.MonadThrow0().Monad0().Applicative0()),function(n){return i(t.Left.create(n))}));var i}},v=function(o){return function(e){return function(i){return function(u){return r.bind(o.MonadThrow0().Monad0().Bind1())(e)(function(e){return r.bind(o.MonadThrow0().Monad0().Bind1())(T(o)(u(e)))(function(u){return r.discard(r.discardUnit)(o.MonadThrow0().Monad0().Bind1())(i(e))(function(){return t.either(h(o.MonadThrow0()))(n.pure(o.MonadThrow0().Monad0().Applicative0()))(u)})})})}}}};module.exports={catchError:p,throwError:h,MonadThrow:f,MonadError:d,catchJust:x,try:T,withResource:v,monadThrowEither:l,monadErrorEither:m,monadThrowMaybe:s,monadErrorMaybe:E,monadThrowEffect:w,monadErrorEffect:M}; +},{"../Control.Applicative/index.js":"qYya","../Control.Bind/index.js":"7VcT","../Data.Either/index.js":"B2JL","../Data.Function/index.js":"ImXJ","../Data.Functor/index.js":"+0AE","../Data.Maybe/index.js":"5mN7","../Data.Unit/index.js":"NhVk","../Effect/index.js":"oTWB","../Effect.Exception/index.js":"0OCW"}],"c2ZJ":[function(require,module,exports) { +"use strict";var n=require("../Control.Category/index.js"),o=require("../Control.Monad/index.js"),e=require("../Control.Semigroupoid/index.js"),r=require("../Data.Functor/index.js"),t=function(n,o){this.Monad0=n,this.ask=o},i=function(n,o){this.MonadAsk0=n,this.local=o},u=new t(function(){return o.monadFn},n.identity(n.categoryFn)),a=new i(function(){return u},e.composeFlipped(e.semigroupoidFn)),d=function(n){return n.local},s=function(n){return n.ask},c=function(n){return function(o){return r.map(n.Monad0().Bind1().Apply0().Functor0())(o)(s(n))}};module.exports={ask:s,local:d,MonadAsk:t,asks:c,MonadReader:i,monadAskFun:u,monadReaderFun:a}; +},{"../Control.Category/index.js":"IAi2","../Control.Monad/index.js":"U/Ix","../Control.Semigroupoid/index.js":"/riR","../Data.Functor/index.js":"+0AE"}],"5tIR":[function(require,module,exports) { +"use strict";var t=function(t){this.lift=t},i=function(t){return t.lift};module.exports={lift:i,MonadTrans:t}; +},{}],"gxgA":[function(require,module,exports) { +"use strict";var n=require("../Control.Applicative/index.js"),e=require("../Control.Bind/index.js"),t=require("../Data.Tuple/index.js"),i=function(n,e){this.Monad0=n,this.tell=e},r=function(n,e,t){this.MonadTell0=n,this.listen=e,this.pass=t},u=function(n){return n.tell},l=function(n){return n.pass},o=function(n){return n.listen},a=function(i){return function(r){return function(u){return e.bind(i.MonadTell0().Monad0().Bind1())(o(i)(u))(function(e){return n.pure(i.MonadTell0().Monad0().Applicative0())(new t.Tuple(e.value0,r(e.value1)))})}}},s=function(i){return function(r){return function(u){return l(i)(e.bind(i.MonadTell0().Monad0().Bind1())(u)(function(e){return n.pure(i.MonadTell0().Monad0().Applicative0())(new t.Tuple(e,r))}))}}};module.exports={listen:o,pass:l,tell:u,MonadTell:i,MonadWriter:r,listens:a,censor:s}; +},{"../Control.Applicative/index.js":"qYya","../Control.Bind/index.js":"7VcT","../Data.Tuple/index.js":"II/O"}],"dWtH":[function(require,module,exports) { +"use strict";var t=require("../Control.Category/index.js"),e=require("../Effect/index.js"),f=function(t,e){this.Monad0=t,this.liftEffect=e},n=new f(function(){return e.monadEffect},t.identity(t.categoryFn)),i=function(t){return t.liftEffect};module.exports={liftEffect:i,MonadEffect:f,monadEffectEffect:n}; +},{"../Control.Category/index.js":"IAi2","../Effect/index.js":"oTWB"}],"34Kp":[function(require,module,exports) { +"use strict";var n=require("../Control.Alt/index.js"),t=require("../Control.Alternative/index.js"),e=require("../Control.Applicative/index.js"),r=require("../Control.Apply/index.js"),u=require("../Control.Bind/index.js"),o=require("../Control.Lazy/index.js"),i=require("../Control.Monad/index.js"),a=require("../Control.Monad.Cont.Class/index.js"),c=require("../Control.Monad.Error.Class/index.js"),l=require("../Control.Monad.Reader.Class/index.js"),f=require("../Control.Monad.Rec.Class/index.js"),d=require("../Control.Monad.State.Class/index.js"),s=require("../Control.Monad.Trans.Class/index.js"),p=require("../Control.Monad.Writer.Class/index.js"),T=require("../Control.MonadPlus/index.js"),M=require("../Control.MonadZero/index.js"),v=require("../Control.Plus/index.js"),w=require("../Data.Functor/index.js"),S=require("../Data.Newtype/index.js"),C=require("../Data.Tuple/index.js"),m=require("../Data.Unit/index.js"),x=require("../Effect.Class/index.js"),j=function(n){return n},q=function(n){return function(t){return function(e){return t(n(e))}}},A=function(n){return n},y=new S.Newtype(function(n){return n},j),E=new s.MonadTrans(function(n){return function(t){return function(r){return u.bind(n.Bind1())(t)(function(t){return e.pure(n.Applicative0())(new C.Tuple(t,r))})}}}),h=function(n){return function(t){return function(e){return n(t(e))}}},B=new o.Lazy(function(n){return function(t){return n(m.unit)(t)}}),R=function(n){return new w.Functor(function(t){return function(e){return function(r){return w.map(n)(function(n){return new C.Tuple(t(n.value0),n.value1)})(e(r))}}})},b=function(n){return function(t){return function(e){return w.map(n)(C.snd)(t(e))}}},D=function(n){return function(t){return function(e){return w.map(n)(C.fst)(t(e))}}},P=function(n){return new i.Monad(function(){return L(n)},function(){return F(n)})},F=function(n){return new u.Bind(function(){return k(n)},function(t){return function(e){return function(r){return u.bind(n.Bind1())(t(r))(function(n){return e(n.value0)(n.value1)})}}})},k=function(n){return new r.Apply(function(){return R(n.Bind1().Apply0().Functor0())},i.ap(P(n)))},L=function(n){return new e.Applicative(function(){return k(n)},function(t){return function(r){return e.pure(n.Applicative0())(new C.Tuple(t,r))}})},Z=function(n){return new l.MonadAsk(function(){return P(n.Monad0())},s.lift(E)(n.Monad0())(l.ask(n)))},z=function(n){return new l.MonadReader(function(){return Z(n.MonadAsk0())},(t=l.local(n),function(n){return h(t(n))}));var t},W=function(n){return new a.MonadCont(function(){return P(n.Monad0())},function(t){return function(e){return a.callCC(n)(function(n){return t(function(t){return function(e){return n(new C.Tuple(t,e))}})(e)})}})},N=function(n){return new x.MonadEffect(function(){return P(n.Monad0())},(t=s.lift(E)(n.Monad0()),e=x.liftEffect(n),function(n){return t(e(n))}));var t,e},U=function(n){return new f.MonadRec(function(){return P(n.Monad0())},function(t){return function(r){var o=function(r){var o=t(r.value0);return u.bind(n.Monad0().Bind1())(o(r.value1))(function(t){return e.pure(n.Monad0().Applicative0())(function(){if(t.value0 instanceof f.Loop)return new f.Loop(new C.Tuple(t.value0.value0,t.value1));if(t.value0 instanceof f.Done)return new f.Done(new C.Tuple(t.value0.value0,t.value1));throw new Error("Failed pattern match at Control.Monad.State.Trans (line 87, column 16 - line 89, column 40): "+[t.value0.constructor.name])}())})};return function(t){return f.tailRecM(n)(o)(new C.Tuple(r,t))}}})},g=function(n){return new d.MonadState(function(){return P(n)},function(t){return j((r=e.pure(n.Applicative0()),function(n){return r(t(n))}));var r})},G=function(n){return new p.MonadTell(function(){return P(n.Monad0())},(t=s.lift(E)(n.Monad0()),e=p.tell(n),function(n){return t(e(n))}));var t,e},H=function(n){return new p.MonadWriter(function(){return G(n.MonadTell0())},function(t){return function(r){return u.bind(n.MonadTell0().Monad0().Bind1())(p.listen(n)(t(r)))(function(t){return e.pure(n.MonadTell0().Monad0().Applicative0())(new C.Tuple(new C.Tuple(t.value0.value0,t.value1),t.value0.value1))})}},function(t){return function(r){return p.pass(n)(u.bind(n.MonadTell0().Monad0().Bind1())(t(r))(function(t){return e.pure(n.MonadTell0().Monad0().Applicative0())(new C.Tuple(new C.Tuple(t.value0.value0,t.value1),t.value0.value1))}))}})},I=function(n){return new c.MonadThrow(function(){return P(n.Monad0())},function(t){return s.lift(E)(n.Monad0())(c.throwError(n)(t))})},J=function(n){return new c.MonadError(function(){return I(n.MonadThrow0())},function(t){return function(e){return function(r){return c.catchError(n)(t(r))(function(n){return e(n)(r)})}}})},K=function(t){return function(t){return new n.Alt(function(){return R(t.Functor0())},function(e){return function(r){return function(u){return n.alt(t)(e(u))(r(u))}}})}},O=function(n){return function(t){return new v.Plus(function(){return K(n)(t.Alt0())},function(n){return v.empty(t)})}},Q=function(n){return function(e){return new t.Alternative(function(){return L(n)},function(){return O(n)(e.Plus1())})}},V=function(n){return new M.MonadZero(function(){return Q(n.Monad0())(n.Alternative1())},function(){return P(n.Monad0())})},X=function(n){return new T.MonadPlus(function(){return V(n.MonadZero0())})};module.exports={StateT:j,runStateT:A,evalStateT:D,execStateT:b,mapStateT:h,withStateT:q,newtypeStateT:y,functorStateT:R,applyStateT:k,applicativeStateT:L,altStateT:K,plusStateT:O,alternativeStateT:Q,bindStateT:F,monadStateT:P,monadRecStateT:U,monadZeroStateT:V,monadPlusStateT:X,monadTransStateT:E,lazyStateT:B,monadEffectState:N,monadContStateT:W,monadThrowStateT:I,monadErrorStateT:J,monadAskStateT:Z,monadReaderStateT:z,monadStateStateT:g,monadTellStateT:G,monadWriterStateT:H}; +},{"../Control.Alt/index.js":"lN+m","../Control.Alternative/index.js":"aHia","../Control.Applicative/index.js":"qYya","../Control.Apply/index.js":"QcLv","../Control.Bind/index.js":"7VcT","../Control.Lazy/index.js":"y9cE","../Control.Monad/index.js":"U/Ix","../Control.Monad.Cont.Class/index.js":"IpNh","../Control.Monad.Error.Class/index.js":"L8Lk","../Control.Monad.Reader.Class/index.js":"c2ZJ","../Control.Monad.Rec.Class/index.js":"UVIy","../Control.Monad.State.Class/index.js":"u1pL","../Control.Monad.Trans.Class/index.js":"5tIR","../Control.Monad.Writer.Class/index.js":"gxgA","../Control.MonadPlus/index.js":"HkJx","../Control.MonadZero/index.js":"lD5R","../Control.Plus/index.js":"oMBg","../Data.Functor/index.js":"+0AE","../Data.Newtype/index.js":"lz8k","../Data.Tuple/index.js":"II/O","../Data.Unit/index.js":"NhVk","../Effect.Class/index.js":"dWtH"}],"mGZW":[function(require,module,exports) { +"use strict";var t=require("../Control.Monad.State.Trans/index.js"),e=require("../Data.Identity/index.js"),n=require("../Data.Newtype/index.js"),r=t.withStateT,u=function(t){var r=n.unwrap(e.newtypeIdentity);return function(e){return r(t(e))}},a=function(r){return t.mapStateT((u=n.unwrap(e.newtypeIdentity),function(t){return e.Identity(r(u(t)))}));var u},i=function(t){return function(e){return t(e).value1}},o=function(t){return function(e){return t(e).value0}};module.exports={runState:u,evalState:o,execState:i,mapState:a,withState:r}; +},{"../Control.Monad.State.Trans/index.js":"34Kp","../Data.Identity/index.js":"2OKT","../Data.Newtype/index.js":"lz8k"}],"7S1u":[function(require,module,exports) { +"use strict";exports.random=Math.random; +},{}],"V+tx":[function(require,module,exports) { +"use strict";var r=require("./foreign.js"),n=require("../Data.Functor/index.js"),e=require("../Data.Int/index.js"),t=require("../Effect/index.js"),o=function(n){return function(e){return function(){return r.random()*(e-n)+n}}},u=function(n){return function(t){return function(){var o=r.random(),u=(e.toNumber(t)-e.toNumber(n)+1)*o+e.toNumber(n);return e.floor(u)}}},a=n.map(t.functorEffect)(function(r){return r<.5})(r.random);module.exports={randomInt:u,randomRange:o,randomBool:a,random:r.random}; +},{"./foreign.js":"7S1u","../Data.Functor/index.js":"+0AE","../Data.Int/index.js":"xNJb","../Effect/index.js":"oTWB"}],"1RqQ":[function(require,module,exports) { +"use strict";var e=require("../Data.Eq/index.js"),r=require("../Data.EuclideanRing/index.js"),n=require("../Data.Functor/index.js"),t=require("../Data.Int/index.js"),u=require("../Data.Maybe/index.js"),i=require("../Data.Ord/index.js"),o=require("../Data.Show/index.js"),d=require("../Effect/index.js"),a=require("../Effect.Random/index.js"),c=require("../Math/index.js"),f=function(e){return e},s=function(e){return e},m=new o.Show(function(e){return"Seed "+o.show(o.showInt)(e)}),q=1,x=2147483647,j=x-1|0,S=function(e){var n;return(n=q,function(e){return function(t){var u=e-n|0,i=r.mod(r.euclideanRingInt)(t)(u);return in){var f=o.value0.toEnum(n);return f instanceof u.Just?(l=!0,u.Just.create({type:t.value0,value:f.value0})):(l=!0,u.Nothing.value)}if(e.otherwise)return i=n-o.value0.cardinality|0,c=t.value1,void(a=o.value1)}return l=!0,u.Nothing.value}for(;!l;)o=f(i,c,a);return o}}},E=function(n){return function(t){var u,a=!1;function o(u){if(u instanceof r.Cons){if(u.value0===n)return a=!0,!0;if(e.otherwise)return void(t=u.value1)}if(u instanceof r.Nil)return a=!0,!1;throw new Error("Failed pattern match at Data.Variant.Internal (line 94, column 8 - line 98, column 18): "+[u.constructor.name])}for(;!a;)u=o(t);return u}},F=function(){var n;return n=0,function(t){var e,u=n,a=!1;function o(n,e){if(e instanceof r.Cons)return u=n+e.value0.cardinality|0,void(t=e.value1);if(e instanceof r.Nil)return a=!0,n;throw new Error("Failed pattern match at Data.Variant.Internal (line 216, column 12 - line 218, column 16): "+[e.constructor.name])}for(;!a;)e=o(u,t);return e}}(),q=function(n){return c.unsafeCrashWith("Data.Variant: impossible `"+n+"`")},V=function(n){return function(t){return function(u){return function(a){var o,i=u,c=!1;function l(u,o){if(u instanceof r.Cons&&o instanceof r.Cons){if(u.value0===t)return c=!0,o.value0;if(e.otherwise)return i=u.value1,void(a=o.value1)}return c=!0,q(n)}for(;!c;)o=l(i,a);return o}}}},k=function(n){return function(t){return function(r){return function(u){if(r.type===u.type)return V("eq")(r.type)(n)(t)(r.value)(u.value);if(e.otherwise)return!1;throw new Error("Failed pattern match at Data.Variant.Internal (line 100, column 1 - line 105, column 12): "+[n.constructor.name,t.constructor.name,r.constructor.name,u.constructor.name])}}}},j=function(n){return function(t){return function(e){return function(r){var u=a.compare(a.ordString)(e.type)(r.type);return u instanceof o.EQ?V("compare")(e.type)(n)(t)(e.value)(r.value):u}}}},J=function(n){return function(t){return function(e){return function(u){return e instanceof r.Cons&&u instanceof r.Cons?{type:e.value0,value:t(u.value0)}:q(n)}}}},T=function(n){var t;return t=0,function(u){return function(a){var o,i=t,c=u,l=!1;function f(t,u,o){if(u instanceof r.Cons&&o instanceof r.Cons){if(u.value0===n.type)return l=!0,t+o.value0.fromEnum(n.value)|0;if(e.otherwise)return i=t+o.value0.cardinality|0,c=u.value1,void(a=o.value1)}return l=!0,q("fromEnum")}for(;!l;)o=f(i,c,a);return o}}},I=function(n){return function(t){return function(e){return function(u){for(var a,o,i,c=e,l=!1;!l;)i=u,a=(o=c)instanceof r.Cons&&o.value1 instanceof r.Nil&&i instanceof r.Cons&&i.value1 instanceof r.Nil?(l=!0,{type:o.value0,value:t(i.value0)}):o instanceof r.Cons&&i instanceof r.Cons?(c=o.value1,void(u=i.value1)):(l=!0,q(n));return a}}}},P=function(n){return function(t){return function(a){return function(o){if(t instanceof r.Cons&&a instanceof r.Cons&&o instanceof r.Cons){if(t.value0===n.type){var i=o.value0.pred(n.value);if(i instanceof u.Nothing)return u.Nothing.value;if(i instanceof u.Just)return u.Just.create({type:n.type,value:i.value0});throw new Error("Failed pattern match at Data.Variant.Internal (line 175, column 11 - line 177, column 69): "+[i.constructor.name])}if(e.otherwise)return(c=t.value0,function(t){return function(a){return function(a){return function(o){return function(i){var l,f=c,s=t,v=a,p=o,m=!1;function h(t,a,o,c,l,h){if(c instanceof r.Cons&&l instanceof r.Cons&&h instanceof r.Cons){if(c.value0===n.type){var d=h.value0.pred(n.value);if(d instanceof u.Nothing)return m=!0,u.Just.create({type:t,value:a.top});if(d instanceof u.Just)return m=!0,u.Just.create({type:n.type,value:d.value0});throw new Error("Failed pattern match at Data.Variant.Internal (line 184, column 11 - line 186, column 69): "+[d.constructor.name])}if(e.otherwise)return f=c.value0,s=l.value0,h.value0,v=c.value1,p=l.value1,void(i=h.value1)}return m=!0,q("pred")}for(;!m;)l=h(f,s,0,v,p,i);return l}}}}})(a.value0)(o.value0)(t.value1)(a.value1)(o.value1)}var c;return q("pred")}}}},b=function(n){return function(t){return function(a){return function(o){var i,c=t,l=a,f=!1;function s(t,a,i){if(t instanceof r.Cons&&a instanceof r.Cons&&i instanceof r.Cons){if(t.value0===n.type){var s=i.value0.succ(n.value);if(s instanceof u.Just)return f=!0,u.Just.create({type:t.value0,value:s.value0});if(s instanceof u.Nothing)return t.value1 instanceof r.Cons&&a.value1 instanceof r.Cons?(f=!0,u.Just.create({type:t.value1.value0,value:a.value1.value0.bottom})):(f=!0,u.Nothing.value);throw new Error("Failed pattern match at Data.Variant.Internal (line 202, column 11 - line 206, column 29): "+[s.constructor.name])}if(e.otherwise)return c=t.value1,l=a.value1,void(o=i.value1)}return f=!0,q("succ")}for(;!f;)i=s(c,l,o);return i}}}},M=function(r){return function(r){return function(r){return new h(function(u){return function(a){return function(o){return function(i){return function(c){if(E(i)(C(r)(l.RLProxy.value)))return n.pure(u.Applicative0())(c);if(e.otherwise)return t.empty(u.Plus1());throw new Error("Failed pattern match at Data.Variant.Internal (line 254, column 1 - line 263, column 24): "+[a.constructor.name,o.constructor.name,i.constructor.name,c.constructor.name])}}}}})}}},L=function(n){return n.contractWith};module.exports={FProxy:s,VariantRep:f,VariantTags:v,variantTags:C,Contractable:h,contractWith:L,VariantMatchCases:p,VariantFMatchCases:m,lookup:V,lookupTag:E,lookupEq:k,lookupOrd:j,lookupLast:I,lookupFirst:J,lookupPred:P,lookupSucc:b,lookupCardinality:F,lookupFromEnum:T,lookupToEnum:N,impossible:q,variantMatchCons:g,variantMatchNil:w,variantFMatchCons:D,variantFMatchNil:x,variantTagsNil:d,variantTagsCons:y,contractWithInstance:M}; +},{"../Control.Applicative/index.js":"qYya","../Control.Plus/index.js":"oMBg","../Data.Boolean/index.js":"ObQr","../Data.List.Types/index.js":"Xxuc","../Data.Maybe/index.js":"5mN7","../Data.Ord/index.js":"r4Vb","../Data.Ordering/index.js":"5Eun","../Data.Symbol/index.js":"4oJQ","../Partial.Unsafe/index.js":"aoR+","../Type.Data.RowList/index.js":"XaXP"}],"hgdh":[function(require,module,exports) { +"use strict";var n=require("../Control.Applicative/index.js"),r=require("../Control.Plus/index.js"),t=require("../Data.Bounded/index.js"),u=require("../Data.Enum/index.js"),e=require("../Data.Eq/index.js"),o=require("../Data.Function/index.js"),i=require("../Data.List.Types/index.js"),a=require("../Data.Ord/index.js"),c=require("../Data.Show/index.js"),f=require("../Data.Symbol/index.js"),s=require("../Data.Variant.Internal/index.js"),l=require("../Partial.Unsafe/index.js"),v=require("../Record.Unsafe/index.js"),d=require("../Type.Data.Row/index.js"),y=require("../Type.Data.RowList/index.js"),x=require("../Unsafe.Coerce/index.js"),p=function(n){return n},w=function(n){this.variantShows=n},m=function(n){this.variantOrds=n},P=function(n){this.variantEqs=n},R=function(n){this.variantBounded=n},V=function(n,r){this.VariantBounded0=n,this.variantBoundedEnums=r},L=function(n){return n.variantShows},q=function(n){return n.variantOrds},h=function(n){return n.variantEqs},E=function(n){return n.variantBoundedEnums},j=function(n){return n.variantBounded},B=function(n){return function(r){return(t={reflectSymbol:o.const(n.type)},function(n){return r(t)(n)})({})(f.SProxy.value)(n.value);var t}},C=new w(function(n){return i.Nil.value}),S=function(n){return function(r){return new w(function(t){return new i.Cons(c.show(r),L(n)(y.RLProxy.value))})}},T=function(n){return function(n){return function(r){return new c.Show(function(t){var u=s.variantTags(n)(y.RLProxy.value),e=L(r)(y.RLProxy.value),o=s.lookup("show")(t.type)(u)(e)(t.value);return"(inj @"+c.show(c.showString)(t.type)+" "+o+")"})}}},b=new m(function(n){return i.Nil.value}),D=function(n){return function(r){return new m(function(t){return new i.Cons(a.compare(r),q(n)(y.RLProxy.value))})}},g=function(n){return function(n){return function(n){return function(n){return function(r){return function(t){return v.unsafeHas(t.type)(n)?v.unsafeGet(t.type)(n)(t.value):r(t)}}}}}},k=function(n){return function(n){return function(r){return function(t){return function(u){return function(e){return e.type===f.reflectSymbol(n)(r)?t(e.value):u(e)}}}}}},N=function(t){return function(u){return function(e){return function(i){return k(t)(u)(i)(n.pure(e.Applicative0()))(o.const(r.empty(e.Plus1())))}}}},O=function(n){return function(n){return function(r){return function(t){return{type:f.reflectSymbol(n)(r),value:t}}}}},U=function(n){return n(function(n){return function(r){return O(r)(n)}})},F=function(n){return x.unsafeCoerce},A=new P(function(n){return i.Nil.value}),W=function(n){return function(r){return new P(function(t){return new i.Cons(e.eq(r),h(n)(y.RLProxy.value))})}},G=function(n){return function(n){return function(r){return new e.Eq(function(t){return function(u){var e=s.variantTags(n)(y.RLProxy.value),o=h(r)(y.RLProxy.value);return s.lookupEq(e)(o)(t)(u)}})}}},H=function(n){return function(r){return function(t){return function(u){return new a.Ord(function(){return G(n)(r)(t)},function(n){return function(t){var e=s.variantTags(r)(y.RLProxy.value),o=q(u)(y.RLProxy.value);return s.lookupOrd(e)(o)(n)(t)}})}}}},I=function(n){return function(r){return function(t){return function(e){return function(o){return new u.Enum(function(){return H(n)(r)(t)(e)},function(n){var t=s.variantTags(r)(y.RLProxy.value),u=E(o)(y.RLProxy.value),e=j(o.VariantBounded0())(y.RLProxy.value);return s.lookupPred(n)(t)(e)(u)},function(n){var t=s.variantTags(r)(y.RLProxy.value),u=E(o)(y.RLProxy.value),e=j(o.VariantBounded0())(y.RLProxy.value);return s.lookupSucc(n)(t)(e)(u)})}}}}},M=function(n){return function(r){return n}},_=function(n){return function(r){return function(t){return s.contractWith(r)(n)(d.RProxy.value)(d.RProxy.value)(t.type)(t)}}},z=function(n){return l.unsafeCrashWith("Data.Variant: pattern match failure ["+n.type+"]")},J=function(n){return function(r){return function(t){return function(u){return g(n)(r)(t)(u)(z)}}}},K=new R(function(n){return i.Nil.value}),Q=new V(function(){return K},function(n){return i.Nil.value}),X=function(n){return function(r){return new R(function(u){var e={top:t.top(r),bottom:t.bottom(r)};return new i.Cons(e,j(n)(y.RLProxy.value))})}},Y=function(n){return function(r){return new V(function(){return X(n.VariantBounded0())(r.Bounded0())},function(t){var e={pred:u.pred(r.Enum1()),succ:u.succ(r.Enum1()),fromEnum:u.fromEnum(r),toEnum:u.toEnum(r),cardinality:u.cardinality(r)};return new i.Cons(e,E(n)(y.RLProxy.value))})}},Z=function(n){return function(r){return function(u){return function(e){return function(o){return new t.Bounded(function(){return H(n)(r)(u)(e)},(i=s.variantTags(r)(y.RLProxy.value),a=j(o)(y.RLProxy.value),s.VariantRep(s.lookupFirst("bottom")(function(n){return n.bottom})(i)(a))),function(){var n=s.variantTags(r)(y.RLProxy.value),t=j(o)(y.RLProxy.value);return s.VariantRep(s.lookupLast("top")(function(n){return n.top})(n)(t))}());var i,a}}}}},$=function(n){return function(r){return function(t){return function(e){return function(o){return new u.BoundedEnum(function(){return Z(n)(r)(t)(e)(o.VariantBounded0())},function(){return I(n)(r)(t)(e)(o)},u.Cardinality(s.lookupCardinality(E(o)(y.RLProxy.value))),function(n){var t=s.variantTags(r)(y.RLProxy.value),u=E(o)(y.RLProxy.value);return s.lookupFromEnum(n)(t)(u)},function(n){var t=s.variantTags(r)(y.RLProxy.value),u=E(o)(y.RLProxy.value);return s.lookupToEnum(n)(t)(u)})}}}}};module.exports={inj:O,prj:N,on:k,onMatch:g,case_:z,match:J,default:M,expand:F,contract:_,Unvariant:p,unvariant:B,revariant:U,VariantEqs:P,variantEqs:h,VariantOrds:m,variantOrds:q,VariantShows:w,variantShows:L,VariantBounded:R,variantBounded:j,VariantBoundedEnums:V,variantBoundedEnums:E,eqVariantNil:A,eqVariantCons:W,eqVariant:G,boundedVariantNil:K,boundedVariantCons:X,boundedVariant:Z,enumVariantNil:Q,enumVariantCons:Y,enumVariant:I,boundedEnumVariant:$,ordVariantNil:b,ordVariantCons:D,ordVariant:H,showVariantNil:C,showVariantCons:S,showVariant:T}; +},{"../Control.Applicative/index.js":"qYya","../Control.Plus/index.js":"oMBg","../Data.Bounded/index.js":"kcUU","../Data.Enum/index.js":"oOsU","../Data.Eq/index.js":"Pq4F","../Data.Function/index.js":"ImXJ","../Data.List.Types/index.js":"Xxuc","../Data.Ord/index.js":"r4Vb","../Data.Show/index.js":"mFY7","../Data.Symbol/index.js":"4oJQ","../Data.Variant.Internal/index.js":"kYoO","../Partial.Unsafe/index.js":"aoR+","../Record.Unsafe/index.js":"KG04","../Type.Data.Row/index.js":"ukdD","../Type.Data.RowList/index.js":"XaXP","../Unsafe.Coerce/index.js":"ETUV"}],"idq0":[function(require,module,exports) { +"use strict";var n=function(){var n={},r="Pure",e="Throw",t="Catch",u="Sync",i="Async",l="Bind",o="Bracket",f="Fork",c="Sequential",a="Map",s="Apply",_="Alt",h="Cons",w="Resume",p="Release",k="Finalizer",d="Finalized",v="Forked";function m(n,r,e,t){this.tag=n,this._1=r,this._2=e,this._3=t}function b(n){var r=function(r,e,t){return new m(n,r,e,t)};return r.tag=n,r}function g(n){return new m(r,void 0)}function y(n){try{n()}catch(r){setTimeout(function(){throw r},0)}}function A(n,r,e){try{return r(e())}catch(t){return n(t)}}function P(n,r,e){try{return r(e)()}catch(t){return e(n(t))(),g}}var x=function(){var n=1024,r=0,e=0,t=new Array(n),u=!1;function i(){var i;for(u=!0;0!==r;)r--,i=t[e],t[e]=void 0,e=(e+1)%n,i();u=!1}return{isDraining:function(){return u},enqueue:function(l){var o;r===n&&(o=u,i(),u=o),t[(e+r)%n]=l,r++,u||i()}}}();var L=0,S=1,F=2,T=3,R=4,B=5,C=6;function q(n,a,s){var _=0,v=L,b=s,g=null,E=null,M=null,I=null,z=null,D=0,j=0,Y=null,G=!0;function H(s){for(var j,J,K;;)switch(j=null,J=null,K=null,v){case F:v=S,b=M(b),null===I?M=null:(M=I._1,I=I._2);break;case T:n.isLeft(b)?(v=B,g=b,b=null):null===M?v=B:(v=F,b=n.fromRight(b));break;case S:switch(b.tag){case l:M&&(I=new m(h,M,I)),M=b._2,v=S,b=b._1;break;case r:null===M?(v=B,b=n.right(b._1)):(v=F,b=b._1);break;case u:v=T,b=A(n.left,n.right,b._1);break;case i:return v=R,void(b=P(n.left,b._1,function(n){return function(){_===s&&(_++,x.enqueue(function(){_===s+1&&(v=T,b=n,H(_))}))}}));case e:v=B,g=n.left(b._1),b=null;break;case t:z=new m(h,b,null===M?z:new m(h,new m(w,M,I),z,E),E),M=null,I=null,v=S,b=b._1;break;case o:D++,z=new m(h,b,null===M?z:new m(h,new m(w,M,I),z,E),E),M=null,I=null,v=S,b=b._1;break;case f:v=T,j=q(n,a,b._2),a&&a.register(j),b._1&&j.run(),b=n.right(j);break;case c:v=S,b=O(n,a,b._1)}break;case B:if(M=null,I=null,null===z)v=C,b=E||g||b;else switch(j=z._3,K=z._1,z=z._2,K.tag){case t:E&&E!==j&&0===D?v=B:g&&(v=S,b=K._2(n.fromLeft(g)),g=null);break;case w:E&&E!==j&&0===D||g?v=B:(M=K._1,I=K._2,v=F,b=n.fromRight(b));break;case o:D--,null===g&&(J=n.fromRight(b),z=new m(h,new m(p,K._2,J),z,j),(E===j||D>0)&&(v=S,b=K._3(J)));break;case p:z=new m(h,new m(d,b,g),z,E),v=S,b=E&&E!==j&&0===D?K._1.killed(n.fromLeft(E))(K._2):g?K._1.failed(n.fromLeft(g))(K._2):K._1.completed(n.fromRight(b))(K._2),g=null,D++;break;case k:D++,z=new m(h,new m(d,b,g),z,E),v=S,b=K._1;break;case d:D--,v=B,b=K._1,g=K._2}break;case C:for(var N in Y)Y.hasOwnProperty(N)&&(G=G&&Y[N].rethrow,y(Y[N].handler(b)));return Y=null,void(E&&g?setTimeout(function(){throw n.fromLeft(g)},0):n.isLeft(b)&&G&&setTimeout(function(){if(G)throw n.fromLeft(b)},0));case L:v=S;break;case R:return}}function J(n){return function(){if(v===C)return G=G&&n.rethrow,n.handler(b)(),function(){};var r=j++;return(Y=Y||{})[r]=n,function(){null!==Y&&delete Y[r]}}}return{kill:function(r,e){return function(){if(v===C)return e(n.right(void 0))(),function(){};var t=J({rethrow:!1,handler:function(){return e(n.right(void 0))}})();switch(v){case L:E=n.left(r),v=C,b=E,H(_);break;case R:null===E&&(E=n.left(r)),0===D&&(v===R&&(z=new m(h,new m(k,b(r)),z,E)),v=B,b=null,g=null,H(++_));break;default:null===E&&(E=n.left(r)),0===D&&(v=B,b=null,g=null)}return t}},join:function(n){return function(){var r=J({rethrow:!1,handler:n})();return v===L&&H(_),r}},onComplete:J,isSuspended:function(){return v===L},run:function(){v===L&&(x.isDraining()?H(_):x.enqueue(function(){H(_)}))}}}function E(r,e,t,u){var l=0,o={},f=0,c={},w=new Error("[ParAff] Early exit"),p=null,k=n;function d(e,t,u){var i,l,f=t,c=null,w=null,p=0,k={};n:for(;;)switch(i=null,f.tag){case v:if(f._3===n&&(i=o[f._1],k[p++]=i.kill(e,function(n){return function(){0===--p&&u(n)()}})),null===c)break n;f=c._2,null===w?c=null:(c=w._1,w=w._2);break;case a:f=f._2;break;case s:case _:c&&(w=new m(h,c,w)),c=f,f=f._1}if(0===p)u(r.right(void 0))();else for(l=0,i=p;l=f)return o;if(t)for(var c=i[Symbol.iterator](),a=u;;--a){var p=c.next();if(p.done)return o;if(0===a)return r(e(p.value))}return n(u)(i)}}}}}},exports._countPrefix=function(n){return function(r){return t?function(n){return function(t){for(var o=t[Symbol.iterator](),e=0;;++e){var u=o.next();if(u.done)return e;var i=r(u.value);if(!n(i))return e}}}:n}},exports._fromCodePointArray=function(n){return r?function(t){return t.length<1e4?String.fromCodePoint.apply(String,t):t.map(n).join("")}:function(t){return t.map(n).join("")}},exports._singleton=function(n){return r?String.fromCodePoint:n},exports._take=function(n){return function(r){return t?function(n){for(var t="",o=n[Symbol.iterator](),e=0;e1){var t=u.fromEnum(u.boundedEnumChar)(h.charAt(1)(n));return b(t)?g(r)(t):r}return r},j=n._unsafeCodePointAt0(D),A=n._toCodePointArray(P)(j),y=function(n){return r.length(A(n))},J=function(n){return function(r){return a.map(d.functorMaybe)(function(n){return y(s.take(n)(r))})(s.lastIndexOf(n)(r))}},O=function(n){return function(r){return a.map(d.functorMaybe)(function(n){return y(s.take(n)(r))})(s.indexOf(n)(r))}},I=function(){var n=u.toEnumWithDefaults(u.boundedEnumChar)(e.bottom(e.boundedChar))(e.top(e.boundedChar));return function(r){return s.singleton(n(r))}}(),S=function(n){if(n<=65535)return I(n);var r=i.div(i.euclideanRingInt)(n-65536|0)(1024)+55296|0,t=i.mod(i.euclideanRingInt)(n-65536|0)(1024)+56320|0;return I(r)+I(t)},k=n._fromCodePointArray(S),_=n._singleton(S),M=function n(r){return function(t){if(r<1)return"";var e=q(t);return e instanceof d.Just?_(e.value0.head)+n(r-1|0)(e.value0.tail):t}},N=n._take(M),B=function(n){return function(r){return function(t){var e=s.length(N(r)(t));return a.map(d.functorMaybe)(function(n){return y(s.take(n)(t))})(s["lastIndexOf'"](n)(e)(t))}}},U=function(n){return function(r){var t=N(n)(r);return{before:t,after:s.drop(s.length(t))(r)}}},F=new o.Eq(function(n){return function(r){return n===r}}),R=new c.Ord(function(){return F},function(n){return function(r){return c.compare(c.ordInt)(n)(r)}}),W=function(n){return function(r){return s.drop(s.length(N(n)(r)))(r)}},T=function(n){return function(r){return function(t){var e=W(r)(t);return a.map(d.functorMaybe)(function(n){return r+y(s.take(n)(e))|0})(s.indexOf(n)(e))}}},z=function(n){return function(r){return function(t){var e,u,o,i,a=n,f=r,c=!1;for(;!c;)u=a,o=t,i=void 0,e=(i=q(f))instanceof d.Just&&u(i.value0.head)?(a=u,f=i.value0.tail,void(t=o+1|0)):(c=!0,o);return e}}},G=function(n){return function(r){return z(n)(r)(0)}},H=n._countPrefix(G)(j),K=function(n){return function(r){return W(H(n)(r))(r)}},L=function(n){return function(r){return N(H(n)(r))(r)}},Q=function(){var n=u.fromEnum(u.boundedEnumChar);return function(r){return E(n(r))}}(),V=function(n){return function(r){var t,e,u,o=n,i=!1;for(;!i;)e=o,u=void 0,t=(u=q(r))instanceof d.Just?0===e?(i=!0,new d.Just(u.value0.head)):(o=e-1|0,void(r=u.value0.tail)):(i=!0,d.Nothing.value);return t}},X=function(r){return function(t){return r<0?d.Nothing.value:0===r&&""===t?d.Nothing.value:0===r?new d.Just(j(t)):n._codePointAt(V)(d.Just.create)(d.Nothing.value)(j)(r)(t)}},Y=new e.Bounded(function(){return R},0,1114111),Z=new u.BoundedEnum(function(){return Y},function(){return $},1114112,function(n){return n},function(n){if(n>=0&&n<=1114111)return new d.Just(n);if(t.otherwise)return d.Nothing.value;throw new Error("Failed pattern match at Data.String.CodePoints (line 63, column 1 - line 68, column 26): "+[n.constructor.name])}),$=new u.Enum(function(){return R},u.defaultPred(u.toEnum(Z))(u.fromEnum(Z)),u.defaultSucc(u.toEnum(Z))(u.fromEnum(Z)));module.exports={codePointFromChar:Q,singleton:_,fromCodePointArray:k,toCodePointArray:A,codePointAt:X,uncons:q,length:y,countPrefix:H,indexOf:O,"indexOf'":T,lastIndexOf:J,"lastIndexOf'":B,take:N,takeWhile:L,drop:W,dropWhile:K,splitAt:U,eqCodePoint:F,ordCodePoint:R,showCodePoint:C,boundedCodePoint:Y,enumCodePoint:$,boundedEnumCodePoint:Z}; +},{"./foreign.js":"t65A","../Data.Array/index.js":"4t4C","../Data.Boolean/index.js":"ObQr","../Data.Bounded/index.js":"kcUU","../Data.Enum/index.js":"oOsU","../Data.Eq/index.js":"Pq4F","../Data.EuclideanRing/index.js":"2IRB","../Data.Functor/index.js":"+0AE","../Data.Int/index.js":"xNJb","../Data.Maybe/index.js":"5mN7","../Data.Ord/index.js":"r4Vb","../Data.Show/index.js":"mFY7","../Data.String.CodeUnits/index.js":"6c6X","../Data.String.Common/index.js":"OSrc","../Data.String.Unsafe/index.js":"5UWM","../Data.Tuple/index.js":"II/O","../Data.Unfoldable/index.js":"77+Z"}],"rsyP":[function(require,module,exports) { +"use strict";exports["showRegex'"]=function(n){return""+n},exports["regex'"]=function(n){return function(r){return function(t){return function(e){try{return r(new RegExp(t,e))}catch(u){return n(u.message)}}}}},exports.source=function(n){return n.source},exports["flags'"]=function(n){return{multiline:n.multiline,ignoreCase:n.ignoreCase,global:n.global,sticky:!!n.sticky,unicode:!!n.unicode}},exports.test=function(n){return function(r){var t=n.lastIndex,e=n.test(r);return n.lastIndex=t,e}},exports._match=function(n){return function(r){return function(t){return function(e){var u=e.match(t);if(null==u||0===u.length)return r;for(var o=0;o ")(o)+")"}),d=new a.Semigroup(function(e){return function(i){return new l({global:e.value0.global||i.value0.global,ignoreCase:e.value0.ignoreCase||i.value0.ignoreCase,multiline:e.value0.multiline||i.value0.multiline,sticky:e.value0.sticky||i.value0.sticky,unicode:e.value0.unicode||i.value0.unicode})}}),c=new l({global:!1,ignoreCase:!1,multiline:!1,sticky:!1,unicode:!1}),v=new l({global:!1,ignoreCase:!1,multiline:!0,sticky:!1,unicode:!1}),m=new r.Monoid(function(){return d},c),y=new l({global:!1,ignoreCase:!0,multiline:!1,sticky:!1,unicode:!1}),f=new l({global:!0,ignoreCase:!1,multiline:!1,sticky:!1,unicode:!1}),p=new i.Eq(function(e){return function(i){return e.value0.global===i.value0.global&&e.value0.ignoreCase===i.value0.ignoreCase&&e.value0.multiline===i.value0.multiline&&e.value0.sticky===i.value0.sticky&&e.value0.unicode===i.value0.unicode}});module.exports={RegexFlags:l,noFlags:c,global:f,ignoreCase:y,multiline:v,sticky:g,unicode:t,semigroupRegexFlags:d,monoidRegexFlags:m,eqRegexFlags:p,showRegexFlags:s}; +},{"../Control.MonadZero/index.js":"lD5R","../Data.Eq/index.js":"Pq4F","../Data.Functor/index.js":"+0AE","../Data.Monoid/index.js":"TiEB","../Data.Semigroup/index.js":"EsAJ","../Data.Show/index.js":"mFY7","../Data.String.Common/index.js":"OSrc"}],"lBFq":[function(require,module,exports) { +"use strict";var e=require("./foreign.js"),t=require("../Data.Either/index.js"),a=require("../Data.Maybe/index.js"),r=require("../Data.Show/index.js"),n=require("../Data.String.CodeUnits/index.js"),i=require("../Data.String.Regex.Flags/index.js"),s=new r.Show(e["showRegex'"]),u=e._search(a.Just.create)(a.Nothing.value),c=function(e){return(e.value0.global?"g":"")+(e.value0.ignoreCase?"i":"")+(e.value0.multiline?"m":"")+(e.value0.sticky?"y":"")+(e.value0.unicode?"u":"")},l=function(a){return function(r){return e["regex'"](t.Left.create)(t.Right.create)(a)(c(r))}},o=function(e){return new i.RegexFlags({global:n.contains("g")(e),ignoreCase:n.contains("i")(e),multiline:n.contains("m")(e),sticky:n.contains("y")(e),unicode:n.contains("u")(e)})},g=e._match(a.Just.create)(a.Nothing.value),x=function(t){return i.RegexFlags.create(e["flags'"](t))};module.exports={regex:l,flags:x,renderFlags:c,parseFlags:o,match:g,search:u,showRegex:s,source:e.source,test:e.test,replace:e.replace,"replace'":e["replace'"],split:e.split}; +},{"./foreign.js":"rsyP","../Data.Either/index.js":"B2JL","../Data.Maybe/index.js":"5mN7","../Data.Show/index.js":"mFY7","../Data.String.CodeUnits/index.js":"6c6X","../Data.String.Regex.Flags/index.js":"W1/V"}],"f3ma":[function(require,module,exports) { +"use strict";var n=require("../Control.Applicative/index.js"),r=require("../Control.Bind/index.js"),t=require("../Data.Array.NonEmpty/index.js"),e=require("../Data.Boolean/index.js"),u=require("../Data.Either/index.js"),o=require("../Data.Eq/index.js"),i=require("../Data.Foldable/index.js"),a=require("../Data.Function/index.js"),c=require("../Data.Functor/index.js"),f=require("../Data.Int/index.js"),l=require("../Data.Maybe/index.js"),s=require("../Data.Ord/index.js"),v=require("../Data.Show/index.js"),m=require("../Data.String.CodePoints/index.js"),b=require("../Data.String.Regex/index.js"),h=require("../Math/index.js"),d=function(n){return n},w=function(){function n(){}return n.value=new n,n}(),g=function(){function n(){}return n.value=new n,n}(),p=function(){function n(){}return n.value=new n,n}(),x=function(){function n(){}return n.value=new n,n}(),y=function(){function n(n,r,t,e){this.value0=n,this.value1=r,this.value2=t,this.value3=e}return n.create=function(r){return function(t){return function(e){return function(u){return new n(r,t,e,u)}}}},n}(),q=function(n){return function(r){return h.remainder(h.remainder(n)(r)+r)(r)}},j=function(n){return function(r){return function(t){return function(u){var o=s.clamp(s.ordInt)(0)(255)(n),i=f.toNumber(o)/255,a=s.clamp(s.ordInt)(0)(255)(r),c=f.toNumber(a)/255,l=s.clamp(s.ordInt)(0)(255)(t),v=s.max(s.ordInt)(s.max(s.ordInt)(o)(a))(l),m=s.min(s.ordInt)(s.min(s.ordInt)(o)(a))(l),b=v-m|0,d=f.toNumber(b)/255,w=f.toNumber(v+m|0)/510,g=function(){if(0===b)return 0;if(e.otherwise)return d/(1-h.abs(2*w-1));throw new Error("Failed pattern match at Color (line 157, column 5 - line 158, column 75): "+[])}(),p=f.toNumber(l)/255,x=60*function(n){if(0===n)return 0;if(v===o)return q((c-p)/d)(6);if(v===a)return(p-i)/d+2;if(e.otherwise)return(i-c)/d+4;throw new Error("Failed pattern match at Color (line 148, column 5 - line 148, column 17): "+[n.constructor.name])}(b);return new y(x,g,w,u)}}}},C=function(n){return function(r){return function(t){return j(n)(r)(t)(1)}}},I=function(n){return function(r){return function(t){return function(e){return j(f.round(255*n))(f.round(255*r))(f.round(255*t))(e)}}}},M=function(n){return function(r){return function(t){return I(n)(r)(t)(1)}}},N=function(n){return function(r){return function(t){var u=function(n){if(n<=.0031308)return 12.92*n;if(e.otherwise)return 1.055*h.pow(n)(1/2.4)-.055;throw new Error("Failed pattern match at Color (line 224, column 5 - line 225, column 65): "+[n.constructor.name])},o=u(-.9689*n+1.8758*r+.0415*t),i=u(3.2406*n-1.5372*r-.4986*t),a=u(.0557*n-.204*r+1.057*t);return M(i)(o)(a)}}},E=function(n){return function(r){return function(t){return r+n*(t-r)}}},F=function(n){return function(r){return function(t){var e=[{from:r,to:t},{from:r,to:t+360},{from:r+360,to:t}],u=l.fromJust()(i.minimumBy(i.foldableArray)(s.comparing(s.ordNumber)(function(n){return h.abs(n.to-n.from)}))(e));return E(n)(u.from)(u.to)}}},S=function(n){return function(r){return function(t){var e=h.pi/180,u=t.value1-r.value1,o=t.value2-r.value2,i=(r.value0+120)*e,a=(t.value0+120)*e-i;return function(e){var c=h.pow(r.value2+o*e)(n),f=i+a*e,l=(r.value1+u*e)*c*(1-c),s=c+l*(1.97294*h.cos(f)),v=c+l*(-.29227*h.cos(f)-.90649*h.sin(f)),m=c+l*(-.14861*h.cos(f)+1.78277*h.sin(f)),b=E(e)(r.value3)(t.value3);return I(m)(v)(s)(b)}}}},D=function(n){return function(r){return function(t){return function(e){var u=s.clamp(s.ordNumber)(0)(1)(r),o=s.clamp(s.ordNumber)(0)(1)(t),i=s.clamp(s.ordNumber)(0)(1)(e);return new y(n,u,o,i)}}}},A=function(n){return function(r){return function(t){return function(e){var u=r;if(0===t)return D(n)(u/(2-u))(0)(e);if(0===r&&1===t)return D(n)(0)(1)(e);var o=(2-r)*t,i=(u=r*t/(o<1?o:2-o),o/2);return D(n)(u)(i)(e)}}}},L=function(n){return function(r){return function(t){return A(n)(r)(t)(1)}}},B=function(n){return function(r){return D(r.value0)(r.value1)(r.value2+n)(r.value3)}},H=function(n){return function(r){return D(r.value0+n)(r.value1)(r.value2)(r.value3)}},z=function(n){return function(r){return D(r.value0)(r.value1+n)(r.value2)(r.value3)}},R=function(n){return function(r){return function(t){return D(n)(r)(t)(1)}}},G=R(0)(0)(1),k=function(n){return R(0)(0)(n)},J=function(n){var r=s.clamp(s.ordInt)(0)(16777215)(n),t=r>>8&255,e=255&r;return C(r>>16&255)(t)(e)},O=function(e){var o,i,s=(o=l.fromMaybe(0),i=f.fromStringAs(f.hexadecimal),function(n){return o(i(n))}),v=4===m.length(e),h=u.either(a.const(l.Nothing.value))(l.Just.create),d="([0-9a-f][0-9a-f])",w=v?"([0-9a-f])([0-9a-f])([0-9a-f])":d+(d+d),g=b.regex("^#(?:"+w+")$")(b.parseFlags("i"));return r.bind(l.bindMaybe)(h(g))(function(u){return r.bind(l.bindMaybe)(b.match(u)(e))(function(e){return r.bind(l.bindMaybe)(c.map(l.functorMaybe)(s)(r.join(l.bindMaybe)(t.index(e)(1))))(function(u){return r.bind(l.bindMaybe)(c.map(l.functorMaybe)(s)(r.join(l.bindMaybe)(t.index(e)(2))))(function(o){return r.bind(l.bindMaybe)(c.map(l.functorMaybe)(s)(r.join(l.bindMaybe)(t.index(e)(3))))(function(r){return v?n.pure(l.applicativeMaybe)(C((16*u|0)+u|0)((16*o|0)+o|0)((16*r|0)+r|0)):n.pure(l.applicativeMaybe)(C(u)(o)(r))})})})})})},P=function(n){return z(-n)},V=function(n){return B(-n)},X={xn:.95047,yn:1,zn:1.08883},Y=function(n){return function(r){return function(t){var u=(n+16)/116,o=function(n){if(n>6/29)return h.pow(n)(3);if(e.otherwise)return 6/29*3*(6/29)*(n-4/29);throw new Error("Failed pattern match at Color (line 249, column 5 - line 250, column 64): "+[n.constructor.name])},i=X.xn*o(u+r/500),a=X.yn*o(u),c=X.zn*o(u-t/200);return N(i)(a)(c)}}},Z=function(n){return function(r){return function(t){var e=h.pi/180,u=r*h.sin(t*e),o=r*h.cos(t*e);return Y(n)(o)(u)}}},$=function(n){var r=function(n){return v.show(v.showNumber)(f.toNumber(f.round(100*n))/100)},t=r(100*n.value1)+"%",e=r(100*n.value2)+"%",u=r(n.value0),o=v.show(v.showNumber)(n.value3);return 1===n.value3?"hsl("+u+", "+t+", "+e+")":"hsla("+u+", "+t+", "+e+", "+o+")"},K=H(180),Q=function(n){return 360===n?n:q(n)(360)},T=function(n){return{h:Q(n.value0),s:n.value1,l:n.value2,a:n.value3}},U=function(n){var r=n.value1;if(0===n.value2)return{h:Q(n.value0),s:2*r/(1+r),v:0,a:n.value3};if(0===n.value1&&1===n.value2)return{h:Q(n.value0),s:0,v:1,a:n.value3};var t=n.value1*(n.value2<.5?n.value2:1-n.value2),e=n.value2+t;r=2*t/(n.value2+t);return{h:Q(n.value0),s:r,v:e,a:n.value3}},W=function(n){var r=Q(n.value0)/60,t=(1-h.abs(2*n.value2-1))*n.value1,u=n.value2-t/2,o=t*(1-h.abs(h.remainder(r)(2)-1)),i=function(){if(r<1)return{r:t,g:o,b:0};if(1<=r&&r<2)return{r:o,g:t,b:0};if(2<=r&&r<3)return{r:0,g:t,b:o};if(3<=r&&r<4)return{r:0,g:o,b:t};if(4<=r&&r<5)return{r:o,g:0,b:t};if(e.otherwise)return{r:t,g:0,b:o};throw new Error("Failed pattern match at Color (line 342, column 5 - line 347, column 61): "+[])}();return{r:i.r+u,g:i.g+u,b:i.b+u,a:n.value3}},_=function(n){var r=W(n),t=function(n){if(n<=.03928)return n/12.92;if(e.otherwise)return h.pow((n+.055)/1.055)(2.4);throw new Error("Failed pattern match at Color (line 604, column 9 - line 605, column 61): "+[n.constructor.name])},u=t(r.g);return.2126*t(r.r)+.7152*u+.0722*t(r.b)},nn=function(n){return function(r){var t=_(r),e=_(n);return e>t?(e+.05)/(t+.05):(t+.05)/(e+.05)}},rn=function(n){return function(r){return nn(n)(r)>4.5}},tn=function(n){var r=W(n),t=f.round(255*r.g);return{r:f.round(255*r.r),g:t,b:f.round(255*r.b),a:r.a}},en=function(n){var r=tn(n),t=v.show(v.showInt)(r.g),e=v.show(v.showInt)(r.r),u=v.show(v.showInt)(r.b),o=v.show(v.showNumber)(r.a);return 1===r.a?"rgb("+e+", "+t+", "+u+")":"rgba("+e+", "+t+", "+u+", "+o+")"},un=new o.Eq(function(n){return function(r){var t=tn(r),e=tn(n);return e.r===t.r&&e.g===t.g&&e.b===t.b&&e.a===t.a}}),on=new v.Show(function(n){var r=tn(n);return"rgba "+v.show(v.showInt)(r.r)+" "+v.show(v.showInt)(r.g)+" "+v.show(v.showInt)(r.b)+" "+v.show(v.showNumber)(r.a)}),an=function(n){var r=function(n){var r=f.toStringAs(f.hexadecimal)(n);return 1===m.length(r)?"0"+r:r},t=tn(n);return"#"+(r(t.r)+(r(t.g)+r(t.b)))},cn=function(n){var r=W(n),t=function(n){if(n<=.04045)return n/12.92;if(e.otherwise)return h.pow((n+.055)/1.055)(2.4);throw new Error("Failed pattern match at Color (line 366, column 5 - line 367, column 63): "+[n.constructor.name])},u=t(r.g),o=t(r.r),i=t(r.b);return{x:.4124*o+.3576*u+.1805*i,y:.2126*o+.7152*u+.0722*i,z:.0193*o+.1192*u+.9505*i}},fn=function(n){var r=cn(n),t=h.pow(6/29)(3),u=function(n){if(n>t)return h.pow(n)(1/3);if(e.otherwise)return 1/3*h.pow(29/6)(2)*n+4/29;throw new Error("Failed pattern match at Color (line 384, column 5 - line 385, column 76): "+[n.constructor.name])},o=u(r.y/X.yn),i=116*o-16,a=200*(o-u(r.z/X.zn));return{l:i,a:500*(u(r.x/X.xn)-o),b:a}},ln=function(n){return function(r){var t=function(n){return h.pow(n)(2)},e=fn(r),u=fn(n);return h.sqrt(t(u.l-e.l)+t(u.a-e.a)+t(u.b-e.b))}},sn=function(n){var r=fn(n),t=180/h.pi,e=h.sqrt(r.a*r.a+r.b*r.b),u=q(h.atan2(r.b)(r.a)*t)(360);return{l:r.l,c:e,h:u}},vn=function(n){return function(r){return function(t){return function(e){if(n instanceof g){var u=T(t),o=T(r);return D(F(e)(o.h)(u.h))(E(e)(o.s)(u.s))(E(e)(o.l)(u.l))(E(e)(o.a)(u.a))}if(n instanceof w){u=W(t),o=W(r);return I(E(e)(o.r)(u.r))(E(e)(o.g)(u.g))(E(e)(o.b)(u.b))(E(e)(o.a)(u.a))}if(n instanceof p){u=sn(t),o=sn(r);return Z(E(e)(o.l)(u.l))(E(e)(o.c)(u.c))(F(e)(o.h)(u.h))}if(n instanceof x){u=fn(t),o=fn(r);return Y(E(e)(o.l)(u.l))(E(e)(o.a)(u.a))(E(e)(o.b)(u.b))}throw new Error("Failed pattern match at Color (line 520, column 1 - line 520, column 34): "+[n.constructor.name,r.constructor.name,t.constructor.name,e.constructor.name])}}}},mn=function(n){var r=sn(n);return P(1)(Z(r.l)(0)(0))},bn=function(n){var r=W(n);return(299*r.r+587*r.g+114*r.b)/1e3},hn=function(n){return bn(n)>.5},dn=R(0)(0)(0),wn=function(n){if(hn(n))return dn;if(e.otherwise)return G;throw new Error("Failed pattern match at Color (line 643, column 1 - line 643, column 28): "+[n.constructor.name])};module.exports={RGB:w,HSL:g,LCh:p,Lab:x,rgba:j,rgb:C,"rgba'":I,"rgb'":M,hsla:D,hsl:R,hsva:A,hsv:L,xyz:N,lab:Y,lch:Z,fromHexString:O,fromInt:J,toHSLA:T,toHSVA:U,toRGBA:tn,"toRGBA'":W,toXYZ:cn,toLab:fn,toLCh:sn,toHexString:an,cssStringHSLA:$,cssStringRGBA:en,black:dn,white:G,graytone:k,rotateHue:H,complementary:K,lighten:B,darken:V,saturate:z,desaturate:P,toGray:mn,mix:vn,mixCubehelix:S,brightness:bn,luminance:_,contrast:nn,isLight:hn,isReadable:rn,textColor:wn,distance:ln,showColor:on,eqColor:un}; +},{"../Control.Applicative/index.js":"qYya","../Control.Bind/index.js":"7VcT","../Data.Array.NonEmpty/index.js":"eTKN","../Data.Boolean/index.js":"ObQr","../Data.Either/index.js":"B2JL","../Data.Eq/index.js":"Pq4F","../Data.Foldable/index.js":"eVDl","../Data.Function/index.js":"ImXJ","../Data.Functor/index.js":"+0AE","../Data.Int/index.js":"xNJb","../Data.Maybe/index.js":"5mN7","../Data.Ord/index.js":"r4Vb","../Data.Show/index.js":"mFY7","../Data.String.CodePoints/index.js":"mAJY","../Data.String.Regex/index.js":"lBFq","../Math/index.js":"Rpaz"}],"rp+n":[function(require,module,exports) { +"use strict";var r=require("../Color/index.js"),o=r.fromInt(16768e3),n=r.fromInt(3787980),t=r.fromInt(14540253),m=r.fromInt(16728374),e=r.fromInt(11603401),f=r.fromInt(16745755),I=r.fromInt(4036976),l=r.fromInt(7999),a=r.fromInt(8721483),i=r.fromInt(130928),u=r.fromInt(3066944),s=r.fromInt(11184810),v=r.fromInt(15733438),c=r.fromInt(29913),d=r.fromInt(1118481),g=r.fromInt(8379391);module.exports={navy:l,blue:c,aqua:g,teal:n,olive:I,green:u,lime:i,yellow:o,orange:f,red:m,maroon:a,fuchsia:v,purple:e,"black'":d,gray:s,silver:t}; +},{"../Color/index.js":"f3ma"}],"BG0s":[function(require,module,exports) { +function t(t){return function(o){return function(e){return t.apply(e,[o])}}}exports.toPrecisionNative=t(Number.prototype.toPrecision),exports.toFixedNative=t(Number.prototype.toFixed),exports.toExponentialNative=t(Number.prototype.toExponential),exports.toString=function(t){return t.toString()}; +},{}],"VX77":[function(require,module,exports) { +"use strict";var n=require("./foreign.js"),t=require("../Data.Ord/index.js"),e=function(){function n(n){this.value0=n}return n.create=function(t){return new n(t)},n}(),r=function(){function n(n){this.value0=n}return n.create=function(t){return new n(t)},n}(),i=function(){function n(n){this.value0=n}return n.create=function(t){return new n(t)},n}(),u=function(t){if(t instanceof e)return n.toPrecisionNative(t.value0);if(t instanceof r)return n.toFixedNative(t.value0);if(t instanceof i)return n.toExponentialNative(t.value0);throw new Error("Failed pattern match at Data.Number.Format (line 59, column 1 - line 59, column 40): "+[t.constructor.name])},o=function(){var n=t.clamp(t.ordInt)(1)(21);return function(t){return e.create(n(t))}}(),a=function(){var n=t.clamp(t.ordInt)(0)(20);return function(t){return r.create(n(t))}}(),c=function(){var n=t.clamp(t.ordInt)(0)(20);return function(t){return i.create(n(t))}}();module.exports={precision:o,fixed:a,exponential:c,toStringWith:u,toString:n.toString}; +},{"./foreign.js":"BG0s","../Data.Ord/index.js":"r4Vb"}],"KkC9":[function(require,module,exports) { +"use strict";exports.unsafeCreateElementImpl=function(e,t,n){var o=document.createElement(e);return o.id=t,o.className=n,o},exports.initializeCanvasImpl=function(e,t){e.width=t.width,e.height=t.height;var n=e.getContext("2d");!0===n.imageSmoothingEnabled&&(n.imageSmoothingEnabled=!1)},exports.setElementStyleImpl=function(e,t,n){e.style[t]=n},exports.appendElem=function(e){return function(t){return function(){e.appendChild(t)}}},exports.setContainerStyle=function(e){return function(t){return function(){e.style.position="relative",e.style.border="1px solid black",e.style.display="block",e.style.margin="0",e.style.padding="0",e.style.width=t.width-2+"px",e.style.height=t.height+"px"}}},exports.drawCopies=function(e,t,n,o,i){Math.round(t.width),Math.round(t.height);i.forEach(function(i){o(i)&&n.drawImage(e,Math.floor(i.x-t.width/2),Math.floor(i.y-t.height/2))})},exports.setCanvasTranslation=function(e){return function(t){return function(){t.getContext("2d").setTransform(1,0,0,1,e.x,e.y)}}},exports.elementClickImpl=function(e,t){e.addEventListener("mousedown",function(n){var o=e.getBoundingClientRect(),i=n.clientX-o.left+window.scrollX,r=n.clientY-o.top+window.scrollY;t({x:i,y:r})()})},exports.scrollCanvasImpl=function(e,t,n){var o=e.getContext("2d");o.save(),o.globalCompositeOperation="copy",o.drawImage(t,0,0),o.restore();var i=t.getContext("2d");i.save(),i.globalCompositeOperation="copy",i.setTransform(1,0,0,1,0,0),i.drawImage(e,n.x,n.y),i.restore()},exports.zoomCanvasImpl=function(e,t,n){var o=e.getContext("2d");o.save(),o.globalCompositeOperation="copy",o.drawImage(t,0,0),o.restore();var i=t.getContext("2d"),r=t.width,a=t.height,l=n.left*r,s=(n.right-n.left)*r;i.save(),i.globalCompositeOperation="copy",i.setTransform(1,0,0,1,0,0),i.drawImage(e,l,0,s,a,0,0,r,a),i.restore()},exports.canvasDragImpl=function(e){return function(t){return function(){var n=function(e){var n=e.clientX,o=e.clientY,i=e.clientX,r=e.clientY,a=function(e){t({during:{x:i-e.clientX,y:r-e.clientY}})(),i=e.clientX,r=e.clientY};document.addEventListener("mousemove",a),document.addEventListener("mouseup",function(e){document.removeEventListener("mousemove",a),t({total:{x:e.clientX-n,y:e.clientY-o}})()},{once:!0})};return e.addEventListener("mousedown",n),function(){e.removeEventListener("mousedown",n)}}}},exports.canvasWheelCBImpl=function(e){return function(t){return function(){e.addEventListener("wheel",function(n){n.preventDefault();var o=e.getBoundingClientRect(),i=n.clientX-o.left+window.scrollX,r=n.clientY-o.top+window.scrollY;t({x:i,y:r})(Math.sign(n.deltaY))()})}}}; +},{}],"fCig":[function(require,module,exports) { +"use strict";var n=require("../Control.Applicative/index.js"),r=require("../Control.Apply/index.js"),t=require("../Control.Category/index.js"),e=require("../Data.Either/index.js"),u=require("../Data.Eq/index.js"),i=require("../Data.Foldable/index.js"),o=require("../Data.Function/index.js"),f=require("../Data.Functor/index.js"),c=require("../Data.HeytingAlgebra/index.js"),a=require("../Data.Lens.Internal.Forget/index.js"),p=require("../Data.Lens.Internal.Indexed/index.js"),d=require("../Data.List.Types/index.js"),l=require("../Data.Maybe/index.js"),s=require("../Data.Maybe.First/index.js"),y=require("../Data.Maybe.Last/index.js"),w=require("../Data.Monoid/index.js"),v=require("../Data.Monoid.Additive/index.js"),j=require("../Data.Monoid.Conj/index.js"),D=require("../Data.Monoid.Disj/index.js"),q=require("../Data.Monoid.Dual/index.js"),x=require("../Data.Monoid.Endo/index.js"),g=require("../Data.Monoid.Multiplicative/index.js"),O=require("../Data.Newtype/index.js"),m=require("../Data.Ord/index.js"),F=require("../Data.Profunctor/index.js"),h=require("../Data.Profunctor.Choice/index.js"),M=require("../Data.Semigroup/index.js"),A=require("../Data.Tuple/index.js"),E=require("../Data.Unit/index.js"),C=function(n){return function(r){return function(t){var e,u=(e=l.maybe(w.mempty(n))(function(r){return M.append(n.Semigroup0())(O.unwrap(a.newtypeForget)(t)(r.value0))(u(r.value1))}),function(n){return e(r(n))});return u}}},b=function(n){return function(r){return function(t){return function r(t){return function(e){return 0===t?w.mempty(w.monoidFn(n)):M.append(M.semigroupFn(n.Semigroup0()))(e)(r(t-1|0)(e))}}(r)(t)}}},L=function(n){return function(r){return O.unwrap(a.newtypeForget)(n(p.Indexed(A.uncurry(r))))}},J=function(n){return function(r){return function(t){var e=o.flip(O.unwrap(O.newtypeEndo))(t),u=O.unwrap(O.newtypeDual),i=L(n)(function(n){var t=o.flip(r(n));return function(n){return q.Dual(x.Endo(t(n)))}});return function(n){return e(u(i(n)))}}}},N=function(n){return function(r){return function(t){var e=o.flip(O.unwrap(O.newtypeEndo))(t),u=L(n)(function(n){var t=r(n);return function(n){return x.Endo(t(n))}});return function(n){return e(u(n))}}}},S=function(n){return N(n)(function(n){return function(r){return function(t){return new d.Cons(new A.Tuple(n,r),t)}}})(d.Nil.value)},T=function(t){return function(e){return function(u){return N(e)(function(n){return function(e){return function(i){return r.applySecond(t.Apply0())(f.void(t.Apply0().Functor0())(u(n)(e)))(i)}}})(n.pure(t)(E.unit))}}},I=function(n){var r=T(n);return function(n){return o.flip(r(n))}},P=function(n){return function(r){return N(n)(function(n){return function(t){return l.maybe(r(n)(t)?new l.Just(t):l.Nothing.value)(l.Just.create)}})(l.Nothing.value)}},_=function(n){return function(n){return function(r){var t=O.unwrap(O.newtypeDisj),e=L(n)(function(n){var t=r(n);return function(n){return D.Disj(t(n))}});return function(n){return t(e(n))}}}},B=function(n){return function(n){return function(r){var t=O.unwrap(O.newtypeConj),e=L(n)(function(n){var t=r(n);return function(n){return j.Conj(t(n))}});return function(n){return t(e(n))}}}},H=function(n){return function(r){return function(t){return i.foldMap(r)(n)(t)}}},R=O.under(a.newtypeForget)(a.newtypeForget)(a.Forget),U=function(n){return R(n)(t.identity(t.categoryFn))},k=function(n){return function(r){return function(t){var e,u=o.flip(O.unwrap(O.newtypeEndo))(t),i=O.unwrap(O.newtypeDual),f=R(n)((e=o.flip(r),function(n){return q.Dual(x.Endo(e(n)))}));return function(n){return u(i(f(n)))}}}},z=function(n){return function(r){return function(t){var e=o.flip(O.unwrap(O.newtypeEndo))(t),u=R(n)(function(n){return x.Endo(r(n))});return function(n){return e(u(n))}}}},G=function(n){return function(r){return z(r)(function(r){var t=l.maybe(r)(function(r){return function(t){return m.greaterThan(n)(r)(t)?r:t}}(r));return function(n){return l.Just.create(t(n))}})(l.Nothing.value)}},K=function(n){return function(r){return z(r)(function(r){var t=l.maybe(r)(function(r){return function(t){return m.lessThan(n)(r)(t)?r:t}}(r));return function(n){return l.Just.create(t(n))}})(l.Nothing.value)}},Q=function(n){return z(n)(d.Cons.create)(d.Nil.value)},V=function(n){return function(r){return Q(r)(n)}},W=function(t){return function(e){return function(u){return z(e)(function(n){return function(e){return r.applySecond(t.Apply0())(f.void(t.Apply0().Functor0())(u(n)))(e)}})(n.pure(t)(E.unit))}}},X=function(n){return function(r){var t=O.unwrap(O.newtypeDisj),e=R(r)(o.const(c.tt(n)));return function(n){return t(e(n))}}},Y=function(n){return function(r){var t=O.unwrap(O.newtypeConj),e=R(r)(o.const(c.ff(n)));return function(n){return t(e(n))}}},Z=function(n){var r=O.unwrap(y.newtypeLast),t=R(n)(function(n){return y.Last(l.Just.create(n))});return function(n){return r(t(n))}},$=function(n){var r=O.unwrap(O.newtypeAdditive),t=R(n)(o.const(1));return function(n){return r(t(n))}},nn=function(n){var r=O.unwrap(s.newtypeFirst),t=R(n)(function(n){return s.First(l.Just.create(n))});return function(n){return r(t(n))}},rn=function(n){return function(r){return nn(r)(n)}},tn=function(n){return function(n){var r=O.unwrap(O.newtypeMultiplicative),t=R(n)(g.Multiplicative);return function(n){return r(t(n))}}},en=function(t){return function(e){var u=o.flip(O.unwrap(O.newtypeEndo))(n.pure(t)(E.unit)),i=R(e)(function(n){return function(e){return r.applySecond(t.Apply0())(n)(e)}});return function(n){return u(i(n))}}},un=function(n){return function(n){var r=O.unwrap(O.newtypeAdditive),t=R(n)(v.Additive);return function(n){return r(t(n))}}},on=function(n){var r=O.unwrap(s.newtypeFirst),t=R(n)(function(n){return s.First(l.Just.create(n))});return function(n){return r(t(n))}},fn=function(n){return function(r){return z(n)(function(n){return l.maybe(r(n)?new l.Just(n):l.Nothing.value)(l.Just.create)})(l.Nothing.value)}},cn=function(n){return function(r){var u=F.dimap(n.Profunctor0())(function(n){return r(n)?new e.Right(n):new e.Left(n)})(e.either(t.identity(t.categoryFn))(t.identity(t.categoryFn))),i=h.right(n);return function(n){return u(i(n))}}},an=function(n){return function(n){return function(r){var t=O.unwrap(O.newtypeDisj),e=R(n)(function(n){return D.Disj(r(n))});return function(n){return t(e(n))}}}},pn=function(n){return function(r){return function(t){return an(c.heytingAlgebraBoolean)(r)(function(r){return u.eq(n)(r)(t)})}}},dn=function(n){return function(r){return an(n)(r)(t.identity(t.categoryFn))}},ln=function(n){return function(n){return function(r){var t=O.unwrap(O.newtypeConj),e=R(n)(function(n){return j.Conj(r(n))});return function(n){return t(e(n))}}}},sn=function(n){return function(r){return ln(n)(r)(t.identity(t.categoryFn))}},yn=function(n){return function(r){return function(t){return ln(c.heytingAlgebraBoolean)(r)(function(r){return u.notEq(n)(r)(t)})}}};module.exports={previewOn:rn,toListOfOn:V,preview:nn,foldOf:U,foldMapOf:R,foldrOf:z,foldlOf:k,toListOf:Q,firstOf:on,lastOf:Z,maximumOf:G,minimumOf:K,allOf:ln,anyOf:an,andOf:sn,orOf:dn,elemOf:pn,notElemOf:yn,sumOf:un,productOf:tn,lengthOf:$,findOf:fn,sequenceOf_:en,traverseOf_:W,has:X,"hasn't":Y,replicated:b,filtered:cn,folded:H,unfolded:C,ifoldMapOf:L,ifoldrOf:N,ifoldlOf:J,iallOf:B,ianyOf:_,itoListOf:S,itraverseOf_:T}; +},{"../Control.Applicative/index.js":"qYya","../Control.Apply/index.js":"QcLv","../Control.Category/index.js":"IAi2","../Data.Either/index.js":"B2JL","../Data.Eq/index.js":"Pq4F","../Data.Foldable/index.js":"eVDl","../Data.Function/index.js":"ImXJ","../Data.Functor/index.js":"+0AE","../Data.HeytingAlgebra/index.js":"paZe","../Data.Lens.Internal.Forget/index.js":"mj9z","../Data.Lens.Internal.Indexed/index.js":"V4/H","../Data.List.Types/index.js":"Xxuc","../Data.Maybe/index.js":"5mN7","../Data.Maybe.First/index.js":"W/l6","../Data.Maybe.Last/index.js":"aQky","../Data.Monoid/index.js":"TiEB","../Data.Monoid.Additive/index.js":"fHyj","../Data.Monoid.Conj/index.js":"U/G5","../Data.Monoid.Disj/index.js":"9bR7","../Data.Monoid.Dual/index.js":"ULyl","../Data.Monoid.Endo/index.js":"2o47","../Data.Monoid.Multiplicative/index.js":"y5cd","../Data.Newtype/index.js":"lz8k","../Data.Ord/index.js":"r4Vb","../Data.Profunctor/index.js":"0DaD","../Data.Profunctor.Choice/index.js":"nkqb","../Data.Semigroup/index.js":"EsAJ","../Data.Tuple/index.js":"II/O","../Data.Unit/index.js":"NhVk"}],"KFxX":[function(require,module,exports) { +"use strict";var e=require("../Data.Bifunctor/index.js"),r=require("../Data.Either/index.js"),t=require("../Data.Functor/index.js"),n=require("../Data.Profunctor/index.js"),u=require("../Data.Profunctor.Choice/index.js"),i=function(){function e(e,r){this.value0=e,this.value1=r}return e.create=function(r){return function(t){return new e(r,t)}},e}(),c=new n.Profunctor(function(t){return function(n){return function(u){return new i(function(e){return n(u.value0(e))},(c=e.lmap(r.bifunctorEither)(n),function(e){return c(u.value1(t(e)))}));var c}}}),o=new t.Functor(function(t){return function(n){return new i(function(e){return t(n.value0(e))},(u=e.lmap(r.bifunctorEither)(t),function(e){return u(n.value1(e))}));var u}}),a=new u.Choice(function(){return c},function(t){return new i(function(e){return r.Left.create(t.value0(e))},r.either((n=e.lmap(r.bifunctorEither)(r.Left.create),function(e){return n(t.value1(e))}))(function(e){return r.Left.create(r.Right.create(e))}));var n},function(t){return new i(function(e){return r.Right.create(t.value0(e))},r.either(function(e){return r.Left.create(r.Left.create(e))})((n=e.lmap(r.bifunctorEither)(r.Right.create),function(e){return n(t.value1(e))})));var n});module.exports={Market:i,functorMarket:o,profunctorMarket:c,choiceMarket:a}; +},{"../Data.Bifunctor/index.js":"e2Wc","../Data.Either/index.js":"B2JL","../Data.Functor/index.js":"+0AE","../Data.Profunctor/index.js":"0DaD","../Data.Profunctor.Choice/index.js":"nkqb"}],"h1YV":[function(require,module,exports) { +"use strict";var n=require("../Data.Either/index.js"),r=require("../Data.Eq/index.js"),e=require("../Data.Foldable/index.js"),t=require("../Data.Function/index.js"),u=require("../Data.Functor/index.js"),o=require("../Data.Newtype/index.js"),i=require("../Data.Ord/index.js"),c=require("../Data.Profunctor/index.js"),a=require("../Data.Profunctor.Choice/index.js"),f=require("../Data.Profunctor.Closed/index.js"),d=require("../Data.Profunctor.Costrong/index.js"),g=require("../Data.Traversable/index.js"),s=function(n){return n},q=new c.Profunctor(function(n){return function(n){return function(r){return n(r)}}}),l=new d.Costrong(function(){return q},function(n){return n.value0},function(n){return n.value1}),w=new f.Closed(function(){return q},function(n){return t.const(n)}),x=new a.Choice(function(){return q},function(r){return new n.Left(r)},function(r){return new n.Right(r)}),j=new o.Newtype(function(n){return n},s),p=new u.Functor(function(n){return function(r){return n(r)}}),D=new e.Foldable(function(n){return function(n){return function(r){return n(r)}}},function(n){return function(r){return function(e){return n(r)(e)}}},function(n){return function(r){return function(e){return n(e)(r)}}}),T=new g.Traversable(function(){return D},function(){return p},function(n){return function(r){return u.map(n.Apply0().Functor0())(s)(r)}},function(n){return function(r){return function(e){return u.map(n.Apply0().Functor0())(s)(r(e))}}}),C=function(n){return new r.Eq(function(e){return function(t){return r.eq(n)(e)(t)}})},F=function(n){return new i.Ord(function(){return C(n.Eq0())},function(r){return function(e){return i.compare(n)(r)(e)}})},b=new r.Eq1(function(n){return r.eq(C(n))}),v=new i.Ord1(function(){return b},function(n){return i.compare(F(n))});module.exports={Tagged:s,newtypeTagged:j,eqTagged:C,eq1Tagged:b,ordTagged:F,ord1Tagged:v,functorTagged:p,taggedProfunctor:q,taggedChoice:x,taggedCostrong:l,taggedClosed:w,foldableTagged:D,traversableTagged:T}; +},{"../Data.Either/index.js":"B2JL","../Data.Eq/index.js":"Pq4F","../Data.Foldable/index.js":"eVDl","../Data.Function/index.js":"ImXJ","../Data.Functor/index.js":"+0AE","../Data.Newtype/index.js":"lz8k","../Data.Ord/index.js":"r4Vb","../Data.Profunctor/index.js":"0DaD","../Data.Profunctor.Choice/index.js":"nkqb","../Data.Profunctor.Closed/index.js":"af4y","../Data.Profunctor.Costrong/index.js":"NfU6","../Data.Traversable/index.js":"n7EE"}],"4AcV":[function(require,module,exports) { +"use strict";var n=require("../Control.Category/index.js"),r=require("../Control.MonadZero/index.js"),e=require("../Data.Either/index.js"),t=require("../Data.Eq/index.js"),u=require("../Data.Function/index.js"),i=require("../Data.HeytingAlgebra/index.js"),o=require("../Data.Lens.Internal.Market/index.js"),a=require("../Data.Lens.Internal.Tagged/index.js"),c=require("../Data.Maybe/index.js"),f=require("../Data.Newtype/index.js"),s=require("../Data.Profunctor/index.js"),d=require("../Data.Profunctor.Choice/index.js"),g=function(r){return function(t){var u=r(new o.Market(n.identity(n.categoryFn),e.Right.create));return t(u.value0)(u.value1)}},y=f.under(a.newtypeTagged)(a.newtypeTagged)(a.Tagged),q=function(r){return function(t){return function(u){return function(i){return s.dimap(u.Profunctor0())(t)(e.either(n.identity(n.categoryFn))(n.identity(n.categoryFn)))(d.right(u)(s.rmap(u.Profunctor0())(r)(i)))}}}},x=function(n){return function(r){return function(t){return q(n)(function(n){return c.maybe(new e.Left(n))(e.Right.create)(r(n))})(t)}}},j=function(n){return function(e){return function(t){return x(u.const(n))((i=r.guard(c.monadZeroMaybe),function(n){return i(e(n))}))(t);var i}}},l=function(n){return function(r){return function(e){return j(r)(function(e){return t.eq(n)(e)(r)})(e)}}},m=function(n){return g(n)(function(n){return function(n){return n}})},D=function(n){return function(r){var t=e.either(u.const(i.ff(n)))(u.const(i.tt(n))),o=m(r);return function(n){return t(o(n))}}},h=function(n){return function(r){var e=i.not(n),t=D(n)(r);return function(n){return e(t(n))}}},p=function(n){return function(r){return g(n)(function(n){return function(e){return function(t){return q(n)(e)(r)(t)}}})}};module.exports={"prism'":x,prism:q,only:l,nearly:j,review:y,is:D,"isn't":h,matching:m,clonePrism:p,withPrism:g}; +},{"../Control.Category/index.js":"IAi2","../Control.MonadZero/index.js":"lD5R","../Data.Either/index.js":"B2JL","../Data.Eq/index.js":"Pq4F","../Data.Function/index.js":"ImXJ","../Data.HeytingAlgebra/index.js":"paZe","../Data.Lens.Internal.Market/index.js":"KFxX","../Data.Lens.Internal.Tagged/index.js":"h1YV","../Data.Maybe/index.js":"5mN7","../Data.Newtype/index.js":"lz8k","../Data.Profunctor/index.js":"0DaD","../Data.Profunctor.Choice/index.js":"nkqb"}],"kg0W":[function(require,module,exports) { +"use strict";var n=require("../Data.Profunctor/index.js"),u=require("../Data.Profunctor.Strong/index.js"),r=require("../Data.Tuple/index.js"),e=function(){function n(n,u){this.value0=n,this.value1=u}return n.create=function(u){return function(r){return new n(u,r)}},n}(),t=new n.Profunctor(function(n){return function(u){return function(r){return new e(function(u){return r.value0(n(u))},function(e){var t=r.value1(n(e));return function(n){return u(t(n))}})}}}),o=new u.Strong(function(){return t},function(n){return new e(function(u){return n.value0(u.value0)},function(u){return function(e){return new r.Tuple(n.value1(u.value0)(e),u.value1)}})},function(n){return new e(function(u){return n.value0(u.value1)},function(u){return function(e){return new r.Tuple(u.value0,n.value1(u.value1)(e))}})});module.exports={Shop:e,profunctorShop:t,strongShop:o}; +},{"../Data.Profunctor/index.js":"0DaD","../Data.Profunctor.Strong/index.js":"w9p6","../Data.Tuple/index.js":"II/O"}],"hi+g":[function(require,module,exports) { +"use strict";var n=require("../Control.Category/index.js"),e=require("../Data.Lens.Internal.Indexed/index.js"),r=require("../Data.Lens.Internal.Shop/index.js"),t=require("../Data.Newtype/index.js"),u=require("../Data.Profunctor/index.js"),i=require("../Data.Profunctor.Strong/index.js"),o=require("../Data.Tuple/index.js"),c=function(e){return function(t){var u=e(new r.Shop(n.identity(n.categoryFn),function(n){return function(n){return n}}));return t(u.value0)(u.value1)}},f=function(e){return function(t){var u=e(new r.Shop(n.identity(n.categoryFn),function(n){return function(n){return n}}));return t(u.value0)(u.value1)}},a=function(n){return function(e){return function(r){return u.dimap(e.Profunctor0())(n)(function(n){return n.value1(n.value0)})(i.first(e)(r))}}},d=function(n){return function(e){return function(r){return a(function(r){return new o.Tuple(n(r),function(n){return e(r)(n)})})(r)}}},s=function(n){return function(r){return function(o){return u.dimap(r.Profunctor0())(n)(function(n){return n.value1(n.value0)})(i.first(r)(t.un(e.newtypeIndexed)(e.Indexed)(o)))}}},l=function(n){return function(e){return function(r){return s(function(r){return new o.Tuple(n(r),function(n){return e(r)(n)})})(r)}}},x=function(n){return function(e){return c(n)(function(n){return function(r){return function(t){return d(n)(r)(e)(t)}}})}},p=function(n){return function(e){return f(n)(function(n){return function(r){return function(t){return l(n)(r)(e)(t)}}})}};module.exports={lens:d,"lens'":a,withLens:c,cloneLens:x,ilens:l,"ilens'":s,withIndexedLens:f,cloneIndexedLens:p}; +},{"../Control.Category/index.js":"IAi2","../Data.Lens.Internal.Indexed/index.js":"V4/H","../Data.Lens.Internal.Shop/index.js":"kg0W","../Data.Newtype/index.js":"lz8k","../Data.Profunctor/index.js":"0DaD","../Data.Profunctor.Strong/index.js":"w9p6","../Data.Tuple/index.js":"II/O"}],"nwoH":[function(require,module,exports) { +"use strict";var e=require("../Data.Function/index.js"),n=require("../Data.Lens.Lens/index.js"),r=require("../Record/index.js"),t=function(t){return function(u){return function(i){return function(o){return function(s){return n.lens(r.get(t)(u)(o))(e.flip(r.set(t)(u)(i)(o)))(s)}}}}};module.exports={prop:t}; +},{"../Data.Function/index.js":"ImXJ","../Data.Lens.Lens/index.js":"hi+g","../Record/index.js":"0gG4"}],"62zx":[function(require,module,exports) { +"use strict";var r=require("../Data.Functor/index.js"),e=require("../Data.Map.Internal/index.js"),n=function(){var n=r.void(e.functorMap);return function(r){return n(r)}}();module.exports={keys:n}; +},{"../Data.Functor/index.js":"+0AE","../Data.Map.Internal/index.js":"RRDs"}],"10U2":[function(require,module,exports) { +"use strict";exports.null=null,exports.nullable=function(l,n,t){return null==l?n:t(l)},exports.notNull=function(l){return l}; +},{}],"YQ8o":[function(require,module,exports) { +"use strict";var e=require("./foreign.js"),n=require("../Data.Eq/index.js"),r=require("../Data.Function/index.js"),u=require("../Data.Maybe/index.js"),l=require("../Data.Ord/index.js"),t=require("../Data.Show/index.js"),o=u.maybe(e.null)(e.notNull),a=function(n){return e.nullable(n,u.Nothing.value,u.Just.create)},i=function(e){return new t.Show((n=u.maybe("null")(t.show(e)),function(e){return n(a(e))}));var n},q=function(e){return new n.Eq(r.on(n.eq(u.eqMaybe(e)))(a))},c=function(e){return new l.Ord(function(){return q(e.Eq0())},r.on(l.compare(u.ordMaybe(e)))(a))},b=new n.Eq1(function(e){return n.eq(q(e))}),d=new l.Ord1(function(){return b},function(e){return l.compare(c(e))});module.exports={toMaybe:a,toNullable:o,showNullable:i,eqNullable:q,eq1Nullable:b,ordNullable:c,ord1Nullable:d,null:e.null,notNull:e.notNull}; +},{"./foreign.js":"10U2","../Data.Eq/index.js":"Pq4F","../Data.Function/index.js":"ImXJ","../Data.Maybe/index.js":"5mN7","../Data.Ord/index.js":"r4Vb","../Data.Show/index.js":"mFY7"}],"+Eae":[function(require,module,exports) { +"use strict";var n=require("../Control.Applicative/index.js"),r=require("../Control.Bind/index.js"),e=require("../Control.Monad.Rec.Class/index.js"),t=require("../Control.Monad.ST.Internal/index.js"),u=require("../Data.Array/index.js"),i=require("../Data.Array.ST/index.js"),o=require("../Data.Eq/index.js"),f=require("../Data.Foldable/index.js"),c=require("../Data.Function/index.js"),a=require("../Data.Functor/index.js"),d=require("../Data.List/index.js"),l=require("../Data.List.Types/index.js"),s=require("../Data.Map.Internal/index.js"),p=require("../Data.Maybe/index.js"),q=require("../Data.Monoid/index.js"),b=require("../Data.Ord/index.js"),m=require("../Data.Ordering/index.js"),x=require("../Data.Semigroup/index.js"),S=require("../Data.Show/index.js"),j=require("../Data.Unit/index.js"),w=function(n){return n},y=function(n){return function(r){return function(e){return s.union(n)(r)(e)}}},D=function(n){return s.keys(n)},M=function(n){var r=d.toUnfoldable(n);return function(n){return r(D(n))}},h=function(n){return s.size(n)},L=function(n){return s.singleton(n)(j.unit)},v=function(n){return new S.Show(function(r){return"(fromFoldable "+S.show(l.showList(n))(D(r))+")"})},T=function(n){return new x.Semigroup(y(n))},E=function(n){return function(r){return function(e){return s.member(n)(r)(e)}}},F=function(n){return s.isEmpty(n)},g=function(n){return function(r){return function(e){return s.insert(n)(r)(j.unit)(e)}}},k=new f.Foldable(function(n){return function(r){var e=f.foldMap(l.foldableList)(n)(r);return function(n){return e(D(n))}}},function(n){return function(r){var e=f.foldl(l.foldableList)(n)(r);return function(n){return e(D(n))}}},function(n){return function(r){var e=f.foldr(l.foldableList)(n)(r);return function(n){return e(D(n))}}}),C=function(n){return a.map(p.functorMaybe)(function(n){return n.key})(s.findMin(n))},A=function(n){return a.map(p.functorMaybe)(function(n){return n.key})(s.findMax(n))},O=function(n){return function(r){return function(e){return s.filterWithKey(n)(function(n){return function(e){return r(n)}})(e)}}},U=function(n){return new o.Eq(function(r){return function(e){return o.eq(s.eqMap(n)(o.eqUnit))(r)(e)}})},z=function(n){return new b.Ord(function(){return U(n.Eq0())},function(r){return function(e){return b.compare(l.ordList(n))(D(r))(D(e))}})},R=new o.Eq1(function(n){return o.eq(U(n))}),I=new b.Ord1(function(){return R},function(n){return b.compare(z(n))}),V=s.empty,B=function(n){return function(r){return f.foldl(n)(function(n){return function(e){return g(r)(e)(n)}})(V)}},G=function(o){return function(c){return function(a){var d,s=(d=u.fromFoldable(l.foldableList),function(n){return d(D(n))}),p=s(a),q=u.length(p),x=s(c),S=u.length(x);return B(f.foldableArray)(o)(r.bind(t.bindST)(r.bind(t.bindST)(i.empty)(function(r){return e.tailRecM2(t.monadRecST)(function(u){return function(f){if(ue.x&&n.ye.y}},_n={width:15,height:300},An=function(n){return function(i){return t.bind(W.bindAff)(H.liftEffect(W.monadEffectAff)(Z.read(i.tracks)))(function(t){var i=b.lookup(S.ordString)(n)(t);if(i instanceof C.Just)return e.pure(W.applicativeAff)(i.value0);if(i instanceof C.Nothing)return r.throwError(W.monadThrowAff)(V.error("Could not find track '"+n+"'!"));throw new Error("Failed pattern match at Genetics.Browser.Canvas (line 448, column 3 - line 452, column 55): "+[i.constructor.name])})}},On=function(n){return function(e){return H.liftEffect(n)(Z.read(e.layers))}},Gn=function(n){return function(e){return H.liftEffect(n)(Z.read(e.dimensions))}},Pn=l.map(l.functorFn)(Q.getContext2D)(function(){var n=j.unwrap(Nn);return function(e){return n(e).front}}()),zn=function(n){return function(e){return function(r){return t.bind(n.Monad0().Bind1())(H.liftEffect(n)(Z.read(e.tracks)))(function(e){return R.for(n.Monad0().Applicative0())(b.traversableMap)(e)(r)})}}},Un=function(n){return function(e){var t=l.void(n.Monad0().Bind1().Apply0().Functor0()),r=zn(n)(e);return function(n){return t(r(n))}}},Wn=new u.Eq(function(n){return function(e){return n instanceof sn&&e instanceof sn||(n instanceof dn&&e instanceof dn||n instanceof pn&&e instanceof pn)}}),Jn=function(e){return K.runEffectFn2(n.elementClickImpl)(e)},Hn=function(e){return function(t){return function(){var r=l.map(U.functorEffect)(on.unsafeCoerce)(yn({elementType:"canvas",id:t}))();return n.initializeCanvasImpl(r,e),r}}},Vn=function(e){return function(t){return function(r){return function(){var i=yn({elementType:"div",id:r})();n.setContainerStyle(i)(e)();var o=Hn(_n)("glyphBuffer")(),u=Z.new({size:e,padding:t})();return{layers:Z.new(q.mempty(b.monoidMap(S.ordString)))(),dimensions:u,element:i,glyphBuffer:o}}}}},Zn=function(n){return function(e){return l.void(U.functorEffect)(Q.clearRect(n)({x:0,y:0,width:e.width,height:e.height}))}},Kn=function(e){return function(t){return function(r){return function(i){return function(){var o=Q.getContext2D(e)(),u=_n.width/2,a=_n.height/2;Zn(o)(_n)(),$.render(o)($.translate(u)(a)(i.drawing))();return n.drawCopies(e,_n,t,function(n){return n.x>=r.value0&&n.x<=r.value1},i.points)}}}}},Xn=function(e){return function(t){var r;return n.canvasDragImpl(e)((r=t,function(n){var e=D.toMaybe(n.during);if(e instanceof C.Just)return r(new o.Right(e.value0));if(e instanceof C.Nothing)return r(o.Left.create(C.fromMaybe({x:0,y:0})(D.toMaybe(n.total))));throw new Error("Failed pattern match at Genetics.Browser.Canvas (line 311, column 36 - line 313, column 73): "+[e.constructor.name])}))}},Yn=function(n){return function(t){return function(){Z.read(n.tracks)();return Xn(n.element)(function(n){if(n instanceof o.Left)return e.pure(U.applicativeEffect)(G.unit);if(n instanceof o.Right)return t(n.value0);throw new Error("Failed pattern match at Genetics.Browser.Canvas (line 326, column 40 - line 328, column 20): "+[n.constructor.name])})()}}},Qn=function(n){return function(t){return Xn(n.element)(function(n){if(n instanceof o.Left)return e.pure(U.applicativeEffect)(G.unit);if(n instanceof o.Right)return t(n.value0);throw new Error("Failed pattern match at Genetics.Browser.Canvas (line 335, column 40 - line 337, column 20): "+[n.constructor.name])})}},$n=function(n){return function(e){return H.liftEffect(n)(function(){return{tracks:Z.new(q.mempty(b.monoidMap(S.ordString)))(),element:e}})}},ne=function(n){return function(){bn({x:0,y:0})(n)();var e=Q.getCanvasDimensions(n.back)();return f.for_(U.applicativeEffect)(f.foldableArray)([n.back,n.front])(t.composeKleisliFlipped(U.bindEffect)(c.flip(Zn)(e))(Q.getContext2D))()}},ee=function(n){return function(e){return function(){var t={back:Hn(n)(e+"-buffer")(),front:Hn(n)(e)()};return ne(t)(),t}}},te=function(n){return function(e){return function(){Q.setCanvasDimensions(e.back)(n)(),Q.setCanvasDimensions(e.front)(n)();return ne(e)(),G.unit}}},re=function(n){return function(e){return function(t){return H.liftEffect(n)(function(){if(t instanceof vn)return l.void(U.functorEffect)(Q.setCanvasDimensions(t.value0)(e));if(t instanceof wn)return te(e)(t.value0);throw new Error("Failed pattern match at Genetics.Browser.Canvas (line 594, column 3 - line 596, column 45): "+[t.constructor.name])}())}}},ie=function(e){return function(r){return function(i){return H.liftEffect(e)(function(){return Z.modify_(function(n){return{size:r,padding:n.padding}})(i.dimensions)(),n.setContainerStyle(i.element)(r)(),t.bindFlipped(U.bindEffect)(f.traverse_(U.applicativeEffect)(b.foldableMap)(re(H.monadEffectEffect)(r)))(On(H.monadEffectEffect)(i))()})}}},oe=function(e){return function(t){return n.appendElem(e)(t)}},ue=function(n){return function(e){return f.any(x.foldableList)(s.heytingAlgebraBoolean)(function(n){return!u.eq(u.eqRec()(u.eqRowCons(u.eqRowCons(u.eqRowCons(u.eqRowCons(u.eqRowNil)()(new L.IsSymbol(function(){return"y"}))(u.eqNumber))()(new L.IsSymbol(function(){return"x"}))(u.eqNumber))()(new L.IsSymbol(function(){return"width"}))(u.eqNumber))()(new L.IsSymbol(function(){return"height"}))(u.eqNumber)))(e.rect)(n.rect)&&Rn(e.rect)(n.rect)})(n)?n:new x.Cons(e,n)}},ae=function(n){return function(e){return function(t){var r=a.filter(a.filterableArray)(function(e){return e.point.xn.value0})(i.fromFoldable(x.foldableList)(e));return function(){var e=R.for(U.applicativeEffect)(R.traversableArray)(r)(function(e){return l.map(U.functorEffect)(function(n){return{text:e.text,rect:n}})(Tn(n)(t)(e))})(),i=f.foldl(f.foldableArray)(ue)(q.mempty(x.monoidList))(e);return Q.withContext(t)(function(){Q.setFont(t)(Ln)();return f.for_(U.applicativeEffect)(x.foldableList)(i)(function(n){return Q.fillText(t)(n.text)(n.rect.x-n.rect.width/2)(n.rect.y)})()})()}}}},fe=function(e){return function(t){return function(r){return function(i){return H.liftEffect(e)(function(){return Z.modify_(b.insert(S.ordString)(r)(j.wrap(Bn)(i)))(t.tracks)(),n.appendElem(t.element)(i.element)()})}}}},ce=L.SProxy.value,le=L.SProxy.value,se=L.SProxy.value,de=L.SProxy.value,pe=function(n){return E["prism'"](vn.create)(function(n){if(n instanceof vn)return new C.Just(n.value0);if(n instanceof wn)return C.Nothing.value;throw new Error("Failed pattern match at Genetics.Browser.Canvas (line 769, column 27 - line 771, column 23): "+[n.constructor.name])})(n)},me=function(n){var e=w._Newtype(Bn)(Bn)(n.Profunctor0()),t=h.prop(new L.IsSymbol(function(){return"layers"}))()()(L.SProxy.value)(n);return function(n){return e(t(n))}},ve=m.to(function(n){if(n instanceof vn)return n.value0;if(n instanceof wn)return j.unwrap(Nn)(n.value0).front;throw new Error("Failed pattern match at Genetics.Browser.Canvas (line 759, column 19 - line 761, column 31): "+[n.constructor.name])}),we=function(n){return function(r){return function(i){return function(o){return function(u){return function(a){return t.bind(n.MonadEffect0().Monad0().Bind1())(l.map(n.MonadEffect0().Monad0().Bind1().Apply0().Functor0())(function(n){return n.size})(Gn(n.MonadEffect0())(o)))(function(c){return t.bind(n.MonadEffect0().Monad0().Bind1())(Gn(n.MonadEffect0())(o))(function(s){var d={left:0,top:0},p=function(n){return m.viewOn(a.value2)(Y._Component)(new A.Tuple(n,Y.slotSize(s)(Y.asSlot(a.value2))))};return t.bind(n.MonadEffect0().Monad0().Bind1())(H.liftEffect(n.MonadEffect0())(function(){var n=function(){if(a.value0 instanceof Y.Fixed)return l.map(U.functorEffect)(vn.create)(Hn(c)(u))();if(a.value0 instanceof Y.Scrolling)return l.map(U.functorEffect)(wn.create)(ee(c)(u))();throw new Error("Failed pattern match at Genetics.Browser.Canvas (line 812, column 11 - line 814, column 67): "+[a.value0.constructor.name])}();return Sn(d)(m.viewOn(n)(ve))(),n}))(function(c){var s=j.unwrap(Bn)(o).layers;return t.discard(t.discardUnit)(n.MonadEffect0().Monad0().Bind1())(H.liftEffect(n.MonadEffect0())(function(){return Z.modify_(b.insert(S.ordString)(u)(c))(s)(),oe(j.unwrap(Bn)(o).element)(m.viewOn(c)(ve))()}))(function(){return t.bind(n.MonadEffect0().Monad0().Bind1())(J.liftAff(n)(X.new(r)(i)(p)))(function(r){return e.pure(n.MonadEffect0().Monad0().Applicative0())({drawOnCanvas:function(r){return function(i){return t.bind(n.MonadEffect0().Monad0().Bind1())(On(n.MonadEffect0())(o))(function(c){return t.bind(n.MonadEffect0().Monad0().Bind1())(function(){var t=b.lookup(S.ordString)(u)(c);if(t instanceof C.Nothing)return en.unsafeCrashWith("Tried to render layer '"+u+"', but it did not exist!");if(t instanceof C.Just)return e.pure(n.MonadEffect0().Monad0().Applicative0())(m.viewOn(t.value0)(ve));throw new Error("Failed pattern match at Genetics.Browser.Canvas (line 830, column 16 - line 832, column 53): "+[t.constructor.name])}())(function(u){return t.bind(n.MonadEffect0().Monad0().Bind1())(Gn(n.MonadEffect0())(o))(function(c){return t.bind(n.MonadEffect0().Monad0().Bind1())(Y.slotContext(n.MonadEffect0())(a)(c)(u))(function(u){return t.discard(t.discardUnit)(n.MonadEffect0().Monad0().Bind1())(H.liftEffect(n.MonadEffect0())(Q.withContext(u)(function(){return Y.setContextTranslation(N.zero(N.semiringRecord()(N.semiringRecordCons(new L.IsSymbol(function(){return"x"}))()(N.semiringRecordCons(new L.IsSymbol(function(){return"y"}))()(N.semiringRecordNil)(N.semiringNumber))(N.semiringNumber))))(u)(),l.void(U.functorEffect)(Q.clearRect(u)(tn.merge()()({x:0,y:0})(c.size)))()})))(function(){return t.bind(n.MonadEffect0().Monad0().Bind1())(H.liftEffect(n.MonadEffect0())(Q.translate(u)({translateX:-r.value0,translateY:0})))(function(a){var c=function(e){return H.liftEffect(n.MonadEffect0())(ae(new F.Pair(r.value0,r.value1))(e)(u))},l=function(e){return H.liftEffect(n.MonadEffect0())(f.for_(U.applicativeEffect)(f.foldableArray)(e)(Kn(j.unwrap(Bn)(o).glyphBuffer)(u)(new F.Pair(r.value0,r.value1))))},s=function(e){return H.liftEffect(n.MonadEffect0())($.render(u)(e))},d=function(t){return H.liftEffect(n.MonadEffect0())(e.when(U.applicativeEffect)(t.topLeft.x<=r.value1&&t.bottomRight.x>=r.value0)($.render(u)($.translate(t.topLeft.x)(t.topLeft.y)(t.drawing(G.unit)))))},p=O.unfoldr(x.unfoldableList)(function(n){return g.null(n)?C.Nothing.value:new C.Just(new A.Tuple(g.take(250)(n),g.drop(250)(n)))})(i);return f.for_(n.MonadEffect0().Monad0().Applicative0())(x.foldableList)(p)(function(e){return t.discard(t.discardUnit)(n.MonadEffect0().Monad0().Bind1())(f.for_(n.MonadEffect0().Monad0().Applicative0())(x.foldableList)(e)(function(n){return P.onMatch()(z.variantMatchCons(z.variantMatchCons(z.variantMatchCons(z.variantMatchCons(z.variantMatchNil)()(rn.refl))()(rn.refl))()(rn.refl))()(rn.refl))()({drawing:s,bigDrawing:d,drawingBatch:l,labels:c})(P.case_)(n)}))(function(){return J.liftAff(n)(W.delay(j.wrap(T.newtypeMilliseconds)(.01)))})})})})})})})})}},run:r.run,last:r.last})})})})})})}}}}}},Ee=function(n){return function(e){return function(t){return H.liftEffect(n)(function(){var n=Z.read(e.layers)(),r=y.keys(n);f.length(k.foldableSet)(N.semiringInt)(r);return g.null(g.difference(u.eqString)(t)(g.fromFoldable(k.foldableSet)(r)))?l.void(U.functorEffect)(_.forWithIndex(U.applicativeEffect)(x.traversableWithIndexList)(t)(function(e){return function(t){return f.traverse_(U.applicativeEffect)(f.foldableMaybe)(function(n){return Dn(m.viewOn(n)(ve))(e)})(b.lookup(S.ordString)(t)(n))}}))():en.unsafeCrashWith("Called `zIndexLayers` with an order that did not contain all layers")()})}}},he=function(n){return function(e){var t=w._Newtype(n)(n)(e.Profunctor0()),r=h.prop(new L.IsSymbol(function(){return"element"}))()()(L.SProxy.value)(e);return function(n){return t(r(n))}}},ge=function(n){return function(e){return function(t){return function(r){return H.liftEffect(n)(function(){var n=On(H.monadEffectEffect)(e)();Z.modify_(b.insert(S.ordString)(t)(r))(m.viewOn(e)(me(v.strongForget)))();var i=function(n){return m.viewOn(n)(ve)};return l.void(U.functorEffect)(function(){var o=b.lookup(S.ordString)(t)(n);if(o instanceof C.Just)return an.replaceChild(i(r))(i(o.value0))(m.viewOn(e)(he(Bn)(v.strongForget)));if(o instanceof C.Nothing)return an.appendChild(i(r))(m.viewOn(e)(he(Bn)(v.strongForget)));throw new Error("Failed pattern match at Genetics.Browser.Canvas (line 613, column 10 - line 615, column 95): "+[o.constructor.name])}())()})}}}},xe=function(n){return function(e){return function(t){return H.liftEffect(n)(function(){var n=On(H.monadEffectEffect)(e)();return function(){var r,i=b.lookup(S.ordString)(t)(n);if(i instanceof C.Nothing)return G.unit;if(i instanceof C.Just)return l.void(U.functorEffect)(an.removeChild((r=i.value0,m.viewOn(r)(ve)))(m.viewOn(e)(he(Bn)(v.strongForget))))();throw new Error("Failed pattern match at Genetics.Browser.Canvas (line 628, column 3 - line 630, column 83): "+[i.constructor.name])}(),Z.modify_(b.delete(S.ordString)(t))(m.viewOn(e)(me(v.strongForget)))()})}}},ye=function(n){return function(e){return function(t){return H.liftEffect(n)(function(){var n=Gn(H.monadEffectEffect)(e)(),r=m.viewOn(t)(Y._Component);return Jn(m.viewOn(e)(he(Bn)(v.strongForget)))(function(e){return r((i=e,B.sub(B.ringRecord()(B.ringRecordCons(new L.IsSymbol(function(){return"x"}))()(B.ringRecordCons(new L.IsSymbol(function(){return"y"}))()(B.ringRecordNil)(B.ringNumber))(B.ringNumber)))(i)(Y.slotOffset(n)(Y.asSlot(t)))));var i})()})}}},be=function(e){return function(t){return function(){var r=Gn(H.monadEffectEffect)(e)(),i=m.viewOn(t)(Y._Component);return n.canvasWheelCBImpl(m.viewOn(e)(he(Bn)(v.strongForget)))(function(n){return i((e=n,B.sub(B.ringRecord()(B.ringRecordCons(new L.IsSymbol(function(){return"x"}))()(B.ringRecordCons(new L.IsSymbol(function(){return"y"}))()(B.ringRecordNil)(B.ringNumber))(B.ringNumber)))(e)(Y.slotOffset(r)(Y.asSlot(t)))));var e})()}}},Ce=function(n){return function(r){return function(i){var o=un.toNode(m.viewOn(r)(he(Bn)(v.strongForget)));return t.discard(t.discardUnit)(n.Monad0().Bind1())(H.liftEffect(n)(an.setTextContent("loading")(o)))(function(){return t.bind(n.Monad0().Bind1())(i)(function(r){return t.discard(t.discardUnit)(n.Monad0().Bind1())(H.liftEffect(n)(an.setTextContent("")(o)))(function(){return e.pure(n.Monad0().Applicative0())(r)})})})}}},Me=function(n){return E["prism'"](wn.create)(function(n){if(n instanceof vn)return C.Nothing.value;if(n instanceof wn)return new C.Just(n.value0);throw new Error("Failed pattern match at Genetics.Browser.Canvas (line 765, column 9 - line 765, column 34): "+[n.constructor.name])})(n)},qe=function(n){return function(t){return function(){var r=Z.read(n.layers)(),i=a.filterMap(a.filterableMap(S.ordString))(p.preview(Me(v.choiceForget(M.monoidFirst))))(r);return f.for_(U.applicativeEffect)(b.foldableMap)(i)(function(r){if(t instanceof fn)return function(){var e=l.map(U.functorEffect)(function(n){return Y.trackSlots(n).center.size.width})(Gn(H.monadEffectEffect)(j.wrap(Bn)(n)))();return Fn(r)({x:-t.value0*e,y:0})()};if(t instanceof cn)return gn(r)(t.value0);if(t instanceof ln)return e.pure(U.applicativeEffect)(G.unit);throw new Error("Failed pattern match at Genetics.Browser.Canvas (line 284, column 26 - line 293, column 29): "+[t.constructor.name])})()}}},je=function(n){return function(e){return function(){var t=Z.read(n.layers)(),r=a.filterMap(a.filterableMap(S.ordString))(p.preview(Me(v.choiceForget(M.monoidFirst))))(t);return f.for_(U.applicativeEffect)(b.foldableMap)(r)(function(n){return Fn(n)(e)})()}}};module.exports={LLeft:sn,LCenter:dn,LRight:pn,_drawing:se,_bigDrawing:de,_drawingBatch:le,_labels:ce,newLayer:we,getDimensions:Gn,_Container:he,dragScroll:Yn,dragScrollTrack:Qn,wheelZoom:xn,trackWheel:be,trackClickHandler:ye,trackContainer:Vn,withLoadingIndicator:Ce,setTrackContainerSize:ie,setElementStyle:Cn,browserContainer:$n,addTrack:fe,getTrack:An,forTracks:zn,forTracks_:Un,Scrolling:fn,Zooming:cn,Jump:ln,animateTrack:qe,newtypeBrowserContainer:kn,eqLabelPlace:Wn}; +},{"./foreign.js":"KkC9","../Control.Applicative/index.js":"qYya","../Control.Bind/index.js":"7VcT","../Control.Monad.Error.Class/index.js":"L8Lk","../Data.Array/index.js":"4t4C","../Data.Either/index.js":"B2JL","../Data.Eq/index.js":"Pq4F","../Data.Filterable/index.js":"6hfS","../Data.Foldable/index.js":"eVDl","../Data.Function/index.js":"ImXJ","../Data.Functor/index.js":"+0AE","../Data.HeytingAlgebra/index.js":"paZe","../Data.Int/index.js":"xNJb","../Data.Lens.Fold/index.js":"fCig","../Data.Lens.Getter/index.js":"OPOX","../Data.Lens.Internal.Forget/index.js":"mj9z","../Data.Lens.Iso.Newtype/index.js":"CiFJ","../Data.Lens.Prism/index.js":"4AcV","../Data.Lens.Record/index.js":"nwoH","../Data.List/index.js":"ezw6","../Data.List.Types/index.js":"Xxuc","../Data.Map/index.js":"62zx","../Data.Map.Internal/index.js":"RRDs","../Data.Maybe/index.js":"5mN7","../Data.Maybe.First/index.js":"W/l6","../Data.Monoid/index.js":"TiEB","../Data.Newtype/index.js":"lz8k","../Data.Nullable/index.js":"YQ8o","../Data.Ord/index.js":"r4Vb","../Data.Pair/index.js":"PpsX","../Data.Ring/index.js":"E2qH","../Data.Semiring/index.js":"11NF","../Data.Set/index.js":"+Eae","../Data.Show/index.js":"mFY7","../Data.Symbol/index.js":"4oJQ","../Data.Time.Duration/index.js":"AnkF","../Data.Traversable/index.js":"n7EE","../Data.TraversableWithIndex/index.js":"V4EF","../Data.Tuple/index.js":"II/O","../Data.Unfoldable/index.js":"77+Z","../Data.Unit/index.js":"NhVk","../Data.Variant/index.js":"hgdh","../Data.Variant.Internal/index.js":"kYoO","../Effect/index.js":"oTWB","../Effect.Aff/index.js":"I7lu","../Effect.Aff.Class/index.js":"I4H+","../Effect.Class/index.js":"dWtH","../Effect.Exception/index.js":"0OCW","../Effect.Ref/index.js":"/Jaj","../Effect.Uncurried/index.js":"qn3Z","../Genetics.Browser.Cacher/index.js":"61ee","../Genetics.Browser.Layer/index.js":"YWUW","../Graphics.Canvas/index.js":"rm6N","../Graphics.Drawing/index.js":"0WVi","../Graphics.Drawing.Font/index.js":"fMOI","../Partial.Unsafe/index.js":"aoR+","../Record/index.js":"0gG4","../Type.Equality/index.js":"Uq/R","../Unsafe.Coerce/index.js":"ETUV","../Web.DOM.Element/index.js":"S4h2","../Web.DOM.Node/index.js":"P+X4"}],"7rcn":[function(require,module,exports) { +"use strict";exports.unsafeStringify=function(n){return JSON.stringify(n)},exports.unsafeToFixed=function(n){return function(e){return e.toFixed(n)}},exports.unsafeToExponential=function(n){return function(e){return e.toExponential(n)}},exports.unsafeToPrecision=function(n){return function(e){return e.toPrecision(n)}},exports.unsafeDecodeURI=decodeURI,exports.unsafeEncodeURI=encodeURI,exports.unsafeDecodeURIComponent=decodeURIComponent,exports.unsafeEncodeURIComponent=encodeURIComponent; +},{}],"qSZP":[function(require,module,exports) { +"use strict";var e=require("./foreign.js");module.exports={unsafeStringify:e.unsafeStringify,unsafeToFixed:e.unsafeToFixed,unsafeToExponential:e.unsafeToExponential,unsafeToPrecision:e.unsafeToPrecision,unsafeDecodeURI:e.unsafeDecodeURI,unsafeEncodeURI:e.unsafeEncodeURI,unsafeDecodeURIComponent:e.unsafeDecodeURIComponent,unsafeEncodeURIComponent:e.unsafeEncodeURIComponent}; +},{"./foreign.js":"7rcn"}],"7bYH":[function(require,module,exports) { +"use strict";var n=require("../Data.Array/index.js"),r=require("../Data.BigInt/index.js"),e=require("../Data.Boolean/index.js"),t=require("../Data.Eq/index.js"),i=require("../Data.EuclideanRing/index.js"),u=require("../Data.Foldable/index.js"),a=require("../Data.Functor/index.js"),o=require("../Data.Generic.Rep/index.js"),c=require("../Data.Lens.Getter/index.js"),f=require("../Data.Lens.Internal.Forget/index.js"),l=require("../Data.Lens.Iso.Newtype/index.js"),d=require("../Data.Map.Internal/index.js"),s=require("../Data.Maybe/index.js"),m=require("../Data.Monoid.Additive/index.js"),g=require("../Data.Newtype/index.js"),v=require("../Data.Ord/index.js"),p=require("../Data.Pair/index.js"),w=require("../Data.Ring/index.js"),x=require("../Data.Semiring/index.js"),b=require("../Data.Traversable/index.js"),q=require("../Global.Unsafe/index.js"),h=function(n){return n},B=function(n){return n},I=function(n){return n},P=function(n){return n},y=function(n){return r.toNumber(n.coordWidth)/n.pixelWidth},j=q.unsafeStringify,S=function(n){return function(e){return r.toNumber(e)*(n.pixelWidth/r.toNumber(n.coordWidth))}},D=function(n){return function(r){return function(e){var t=new p.Pair(v.min(n)(r.value0)(e.value0),v.min(n)(r.value1)(e.value1)),i=new p.Pair(v.max(n)(r.value0)(e.value0),v.max(n)(r.value1)(e.value1));return v.greaterThanOrEq(n)(t.value1)(i.value0)}}},N=function(n){return function(r){return w.sub(n)(r.value1)(r.value0)}},F=function(n){return function(e){var t=v.max(v.ordNumber)(0)(e),i=a.map(p.functorPair)(r.toNumber)(n),u=(N(w.ringNumber)(i)*t-N(w.ringNumber)(i))/2,o=a.map(p.functorPair)(r.fromNumber)(new p.Pair(i.value0-u,i.value1+u));return a.map(p.functorPair)(s.fromJust())(o)}},z=function(n){return function(e){var t=N(r.ringBigInt)(e),u=i.div(r.euclideanRingBigInt)(w.sub(r.ringBigInt)(n)(t))(r.fromInt(2));return new p.Pair(w.sub(r.ringBigInt)(e.value0)(u),x.add(r.semiringBigInt)(e.value1)(u))}},T=function(n){return function(e){var t=a.map(a.functorFn)(s.fromJust())(r.fromNumber)(e*r.toNumber(N(r.ringBigInt)(n)));return a.map(p.functorPair)(function(n){return x.add(r.semiringBigInt)(n)(t)})(n)}},W=function(n){return function(e){var t=N(r.ringBigInt)(e);return{pixelWidth:n.width,coordWidth:t}}},A=function(n){return function(r){return function(e){return function(t){return i.div(n)(w.sub(n.CommutativeRing0().Ring0())(t)(r))(w.sub(n.CommutativeRing0().Ring0())(e)(r))}}}},C=new g.Newtype(function(n){return n},B),M=new g.Newtype(function(n){return n},P),R=function(n){return function(r){return function(e){return function(t){return x.add(n.Semiring0())(x.mul(n.Semiring0())(w.sub(n)(x.one(n.Semiring0()))(t))(r))(x.mul(n.Semiring0())(t)(e))}}}},E=new o.Generic(function(n){return n},function(n){return n}),G=new a.Functor(function(n){return function(r){return P(a.map(d.functorMap)(a.map(p.functorPair)(n))(r))}}),O=new t.Eq(function(n){return function(e){return t.eq(r.eqBigInt)(n.coordWidth)(e.coordWidth)&&n.pixelWidth===e.pixelWidth}}),L=new g.Newtype(function(n){return n},I),V=function(r){return function(e){return function(t){var i,a,o=n.unzip(t);return P(d.fromFoldable(r)(u.foldableArray)(n.zip(o.value0)((i=o.value1,a=b.scanl(b.traversableArray)(function(n){return function(r){return x.add(e)(n)(r)}})(x.zero(e))(i),n.zipWith(p.Pair.create)(n.cons(x.zero(e))(a))(a)))))}}},_=function(n){return function(r){return function(e){return new p.Pair(w.sub(n)(e.value0)(r),x.add(n.Semiring0())(e.value1)(r))}}},J=function(n){return l._Newtype(M)(M)(n.Profunctor0())},U=function(n){var r=J(f.strongForget),e=c.to(g.alaF(a.functorFn)(a.functorFn)(g.newtypeAdditive)(g.newtypeAdditive)(m.Additive)(u.foldMap(d.foldableMap)(m.monoidAdditive(n.Semiring0())))(N(n)));return function(n){return r(e(n))}},k=function(n){return function(e){return function(t){var i=c.viewOn(n)(U(r.ringBigInt)),u=g.unwrap(L)(t),a=w.sub(r.ringBigInt)(u.value1)(u.value0),o=function(){var n=v.greaterThan(r.ordBigInt)(u.value1)(i),e=v.lessThan(r.ordBigInt)(u.value0)(x.zero(r.semiringBigInt));if(e&&!n)return new p.Pair(x.zero(r.semiringBigInt),a);if(!e&&n)return new p.Pair(w.sub(r.ringBigInt)(i)(a),i);if(e&&n)return new p.Pair(x.zero(r.semiringBigInt),i);if(!e&&!n)return new p.Pair(u.value0,u.value1);throw new Error("Failed pattern match at Genetics.Browser.Coordinates (line 182, column 22 - line 186, column 39): "+[e.constructor.name,n.constructor.name])}();return z(v.min(r.ordBigInt)(i)(v.max(r.ordBigInt)(a)(e)))(new p.Pair(o.value0,o.value1))}}},H=function(n){return function(r){return a.map(d.functorMap)(a.map(p.functorPair)(S(r)))(c.viewOn(n)(J(f.strongForget)))}},K=function(n){return function(r){return function(t){return function(i){return d.filter(n)(function(n){if(v.lessThan(r)(n.value0)(i.value0)&&v.greaterThan(r)(n.value1)(i.value1))return!0;if(v.lessThan(r)(n.value0)(i.value0)&&v.lessThan(r)(n.value1)(i.value0))return!1;if(v.greaterThan(r)(n.value0)(i.value1)&&v.greaterThan(r)(n.value1)(i.value1))return!1;if(e.otherwise)return!0;throw new Error("Failed pattern match at Genetics.Browser.Coordinates (line 142, column 9 - line 146, column 29): "+[n.constructor.name])})(c.viewOn(t)(J(f.strongForget)))}}}},Q=function(n){return function(e){return function(t){return function(i){return a.map(d.functorMap)(a.map(p.functorPair)(S(i)))(K(n)(r.ordBigInt)(e)(g.unwrap(L)(t)))}}}};module.exports={CoordSysView:I,pairSize:N,_TotalSize:U,normalizeView:k,aroundPair:_,normalize:A,scalePairBy:F,scaledSegments:H,"scaledSegments'":Q,translatePairBy:T,viewScale:W,xPerPixel:y,_Segments:J,pairsOverlap:D,coordSys:V,scaleToScreen:S,newtypeNormalized:C,functorCoordSys:G,newtypeCoordSys:M,genericCoordSys:E,eqViewScale:O,coordsysviewNewtype:L}; +},{"../Data.Array/index.js":"4t4C","../Data.BigInt/index.js":"Zx+T","../Data.Boolean/index.js":"ObQr","../Data.Eq/index.js":"Pq4F","../Data.EuclideanRing/index.js":"2IRB","../Data.Foldable/index.js":"eVDl","../Data.Functor/index.js":"+0AE","../Data.Generic.Rep/index.js":"AuzG","../Data.Lens.Getter/index.js":"OPOX","../Data.Lens.Internal.Forget/index.js":"mj9z","../Data.Lens.Iso.Newtype/index.js":"CiFJ","../Data.Map.Internal/index.js":"RRDs","../Data.Maybe/index.js":"5mN7","../Data.Monoid.Additive/index.js":"fHyj","../Data.Newtype/index.js":"lz8k","../Data.Ord/index.js":"r4Vb","../Data.Pair/index.js":"PpsX","../Data.Ring/index.js":"E2qH","../Data.Semiring/index.js":"11NF","../Data.Traversable/index.js":"n7EE","../Global.Unsafe/index.js":"qSZP"}],"71qG":[function(require,module,exports) { +"use strict";var e=require("../Control.Applicative/index.js"),r=require("../Control.Monad.Except.Trans/index.js"),n=require("../Data.Boolean/index.js"),t=require("../Data.Identity/index.js"),i=require("../Foreign/index.js"),a=function(e){return"Object"===i.tagOf(e)},o=function(o){if(a(o))return e.pure(r.applicativeExceptT(t.monadIdentity))(i.unsafeFromForeign(o));if(n.otherwise)return i.fail(new i.TypeMismatch("Object",i.tagOf(o)));throw new Error("Failed pattern match at Foreign.Generic.Internal (line 13, column 1 - line 13, column 44): "+[o.constructor.name])};module.exports={isObject:a,readObject:o}; +},{"../Control.Applicative/index.js":"qYya","../Control.Monad.Except.Trans/index.js":"gr8B","../Data.Boolean/index.js":"ObQr","../Data.Identity/index.js":"2OKT","../Foreign/index.js":"pu1p"}],"eqin":[function(require,module,exports) { +"use strict";exports.unsafeReadPropImpl=function(r,t,e,n){return null==n?r:t(n[e])},exports.unsafeHasOwnProperty=function(r,t){return Object.prototype.hasOwnProperty.call(t,r)},exports.unsafeHasProperty=function(r,t){return r in t}; +},{}],"Ryy1":[function(require,module,exports) { +"use strict";var e=require("./foreign.js"),n=require("../Control.Applicative/index.js"),r=require("../Control.Bind/index.js"),t=require("../Control.Monad.Except.Trans/index.js"),i=require("../Data.Function/index.js"),o=require("../Data.Identity/index.js"),u=require("../Foreign/index.js"),d=function(e){this.ix=e},f=function(e,n,r,t){this.errorAt=e,this.hasOwnProperty=n,this.hasProperty=r,this.index=t},a=function(r){return function(i){return e.unsafeReadPropImpl(u.fail(new u.TypeMismatch("object",u.typeOf(i))),n.pure(t.applicativeExceptT(o.monadIdentity)),r,i)}},c=a,p=a,s=function(e){return e.ix},x=function(e){return e.index},l=new d(function(e){return function(n){return function(u){return r.bindFlipped(t.bindExceptT(o.monadIdentity))(i.flip(x(e))(u))(n)}}}),y=new d(function(e){return x(e)}),h=function(n){return function(r){return!u.isNull(r)&&(!u.isUndefined(r)&&(("object"===u.typeOf(r)||"function"===u.typeOf(r))&&e.unsafeHasProperty(n,r)))}},P=function(e){return e.hasProperty},j=function(n){return function(r){return!u.isNull(r)&&(!u.isUndefined(r)&&(("object"===u.typeOf(r)||"function"===u.typeOf(r))&&e.unsafeHasOwnProperty(n,r)))}},w=new f(u.ErrorAtIndex.create,j,h,i.flip(p)),I=new f(u.ErrorAtProperty.create,j,h,i.flip(c)),O=function(e){return e.hasOwnProperty},b=function(e){return e.errorAt};module.exports={Index:f,Indexable:d,readProp:c,readIndex:p,ix:s,index:x,hasProperty:P,hasOwnProperty:O,errorAt:b,indexString:I,indexInt:w,indexableForeign:y,indexableExceptT:l}; +},{"./foreign.js":"eqin","../Control.Applicative/index.js":"qYya","../Control.Bind/index.js":"7VcT","../Control.Monad.Except.Trans/index.js":"gr8B","../Data.Function/index.js":"ImXJ","../Data.Identity/index.js":"2OKT","../Foreign/index.js":"pu1p"}],"dhzu":[function(require,module,exports) { +exports.null=null,exports[void 0]=void 0; +},{}],"k5yP":[function(require,module,exports) { +"use strict";var e=require("./foreign.js"),n=require("../Control.Applicative/index.js"),r=require("../Control.Monad.Except.Trans/index.js"),i=require("../Data.Functor/index.js"),t=require("../Data.Identity/index.js"),u=require("../Data.Maybe/index.js"),d=require("../Foreign/index.js"),a=function(e){return function(a){return d.isNull(a)||d.isUndefined(a)?n.pure(r.applicativeExceptT(t.monadIdentity))(u.Nothing.value):i.map(r.functorExceptT(t.functorIdentity))(u.Just.create)(e(a))}};module.exports={readNullOrUndefined:a,undefined:e[void 0],null:e.null}; +},{"./foreign.js":"dhzu","../Control.Applicative/index.js":"qYya","../Control.Monad.Except.Trans/index.js":"gr8B","../Data.Functor/index.js":"+0AE","../Data.Identity/index.js":"2OKT","../Data.Maybe/index.js":"5mN7","../Foreign/index.js":"pu1p"}],"cO3i":[function(require,module,exports) { +"use strict";function r(r){return function(n){var t=[];for(var e in n)hasOwnProperty.call(n,e)&&t.push(r(e)(n[e]));return t}}exports._copyST=function(r){return function(){var n={};for(var t in r)hasOwnProperty.call(r,t)&&(n[t]=r[t]);return n}},exports.empty={},exports.runST=function(r){return r()},exports._fmapObject=function(r,n){var t={};for(var e in r)hasOwnProperty.call(r,e)&&(t[e]=n(r[e]));return t},exports._mapWithKey=function(r,n){var t={};for(var e in r)hasOwnProperty.call(r,e)&&(t[e]=n(e)(r[e]));return t},exports._foldM=function(r){return function(n){return function(t){return function(e){var o=t;function u(r){return function(t){return n(t)(r)(e[r])}}for(var i in e)hasOwnProperty.call(e,i)&&(o=r(o)(u(i)));return o}}}},exports._foldSCObject=function(r,n,t,e){var o=n;for(var u in r)if(hasOwnProperty.call(r,u)){var i=t(o)(u)(r[u]),f=e(null)(i);if(null===f)return o;o=f}return o},exports.all=function(r){return function(n){for(var t in n)if(hasOwnProperty.call(n,t)&&!r(t)(n[t]))return!1;return!0}},exports.size=function(r){var n=0;for(var t in r)hasOwnProperty.call(r,t)&&++n;return n},exports._lookup=function(r,n,t,e){return t in e?n(e[t]):r},exports._unsafeDeleteObject=function(r,n){return delete r[n],r},exports._lookupST=function(r,n,t,e){return function(){return t in e?n(e[t]):r}},exports.toArrayWithKey=r,exports.keys=Object.keys||r(function(r){return function(){return r}}); +},{}],"hgKu":[function(require,module,exports) { +"use strict";exports.new=function(){return{}},exports.peekImpl=function(n){return function(t){return function(r){return function(e){return function(){return{}.hasOwnProperty.call(e,r)?n(e[r]):t}}}}},exports.poke=function(n){return function(t){return function(r){return function(){return r[n]=t,r}}}},exports.delete=function(n){return function(t){return function(){return delete t[n],t}}}; +},{}],"fXGJ":[function(require,module,exports) { +"use strict";var e=require("./foreign.js"),r=require("../Data.Maybe/index.js"),t=e.peekImpl(r.Just.create)(r.Nothing.value);module.exports={peek:t,new:e.new,poke:e.poke,delete:e.delete}; +},{"./foreign.js":"hgKu","../Data.Maybe/index.js":"5mN7"}],"jsiz":[function(require,module,exports) { +"use strict";var n=require("./foreign.js"),r=require("../Control.Applicative/index.js"),e=require("../Control.Apply/index.js"),t=require("../Control.Bind/index.js"),u=require("../Control.Category/index.js"),o=require("../Control.Monad.ST.Internal/index.js"),i=require("../Data.Array/index.js"),c=require("../Data.Eq/index.js"),f=require("../Data.Foldable/index.js"),a=require("../Data.FoldableWithIndex/index.js"),l=require("../Data.Function/index.js"),d=require("../Data.Function.Uncurried/index.js"),p=require("../Data.Functor/index.js"),s=require("../Data.FunctorWithIndex/index.js"),b=require("../Data.Maybe/index.js"),y=require("../Data.Monoid/index.js"),j=require("../Data.Ord/index.js"),m=require("../Data.Semigroup/index.js"),h=require("../Data.Show/index.js"),x=require("../Data.Traversable/index.js"),v=require("../Data.TraversableWithIndex/index.js"),q=require("../Data.Tuple/index.js"),T=require("../Data.Unfoldable/index.js"),S=require("../Foreign.Object.ST/index.js"),w=require("../Unsafe.Coerce/index.js"),F=n.toArrayWithKey(function(n){return function(n){return n}}),W=function(r){var e=i.toUnfoldable(r),t=n.toArrayWithKey(q.Tuple.create);return function(n){return e(t(n))}},A=function(r){var e=i.toUnfoldable(r),t=i.sortWith(j.ordString)(q.fst),u=n.toArrayWithKey(q.Tuple.create);return function(n){return e(t(u(n)))}},O=A(T.unfoldableArray),g=n.toArrayWithKey(q.Tuple.create),D=n._copyST,k=function(r){return function(e){return n.runST(t.bindFlipped(o.bindST)(S.poke(r)(e))(S.new))}},_=function(n){return new h.Show(function(r){return"(fromFoldable "+h.show(h.showArray(q.showTuple(h.showString)(n)))(g(r))+")"})},I=function(r){return function(e){return n.runST(function(){var n=D(e)();r(n)();return n})}},K=d.runFn4(n._lookup)(!1)(l.const(!0)),M=function(r){return function(e){return n._mapWithKey(e,r)}},C=d.runFn4(n._lookup)(b.Nothing.value)(b.Just.create),U=function(r){return function(e){return function(t){return n.all(function(e){return function(u){return n._lookup(!1,c.eq(r)(u),e,t)}})(e)}}},E=n.all(function(n){return function(n){return!1}}),z=function(n){return function(r){return I(S.poke(n)(r))}},N=new p.Functor(function(r){return function(e){return n._fmapObject(e,r)}}),B=new s.FunctorWithIndex(function(){return N},M),J=function(n){return w.unsafeCoerce},H=function(r){return function(e){return function(t){return n.runST(function(){var u=S.new();return f.for_(o.applicativeST)(r)(t)(function(r){return function(){var t=n._lookupST(r.value1,e(r.value1),r.value0,u)();return S.poke(r.value0)(t)(u)()}})(),u})}}},G=function(r){return function(e){return n.runST(function(){var n=S.new();return o.foreach(i.fromFoldable(r)(e))(function(r){return p.void(o.functorST)(S.poke(r.value0)(r.value1)(n))})(),n})}},L=n._copyST,P=function(r){return function(e){return function(t){return n._foldSCObject(t,e,r,b.fromMaybe)}}},Q=function(e){return function(u){return function(o){return n._foldM(t.bind(e.Bind1()))(u)(r.pure(e.Applicative0())(o))}}},R=function(r){return new m.Semigroup(function(e){return function(t){return I(function(u){return Q(o.monadST)(function(e){return function(u){return function(o){return S.poke(u)(n._lookup(o,function(n){return m.append(r)(n)(o)},u,t))(e)}}})(u)(e)})(t)}})},V=function(r){return new y.Monoid(function(){return R(r)},n.empty)},X=function(n){return I(function(r){return Q(o.monadST)(function(n){return function(r){return function(e){return S.poke(r)(e)(n)}}})(r)(n)})},Y=function(r){return f.foldl(r)(X)(n.empty)},Z=n._foldM(l.applyFlipped),$=function(n){return function(r){return Z(function(e){return function(t){return function(u){return m.append(n.Semigroup0())(e)(r(t)(u))}}})(y.mempty(n))}},nn=new f.Foldable(function(n){return function(r){return $(n)(l.const(r))}},function(n){return Z(function(r){return function(e){return n(r)}})},function(n){return function(r){return function(e){return f.foldr(f.foldableArray)(n)(r)(F(e))}}}),rn=new a.FoldableWithIndex(function(){return nn},function(n){return $(n)},function(n){return Z(l.flip(n))},function(r){return function(e){return function(t){return f.foldr(f.foldableArray)(q.uncurry(r))(e)(n.toArrayWithKey(q.Tuple.create)(t))}}}),en=new v.TraversableWithIndex(function(){return rn},function(){return B},function(){return tn},function(t){return function(u){return function(o){return Z(function(n){return function(r){return function(o){return e.apply(t.Apply0())(p.map(t.Apply0().Functor0())(l.flip(z(r)))(n))(u(r)(o))}}})(r.pure(t)(n.empty))(o)}}}),tn=new x.Traversable(function(){return nn},function(){return N},function(n){return x.traverse(tn)(n)(u.identity(u.categoryFn))},function(n){var r=v.traverseWithIndex(en)(n);return function(n){return r(l.const(n))}}),un=function(e){return function(t){var u,i=(u=function(n){return function(t){return function(u){return e(t)(u)?S.poke(t)(u)(n):r.pure(o.applicativeST)(n)}}},function(){var n=S.new();return Q(o.monadST)(u)(n)(t)()});return n.runST(i)}},on=function(n){return un(function(r){return l.const(n(r))})},cn=function(n){return un(l.const(n))},fn=function(n){return new c.Eq(function(r){return function(e){return U(n)(r)(e)&&U(n)(e)(r)}})},an=function(n){return new j.Ord(function(){return fn(n.Eq0())},function(r){return function(e){return j.compare(j.ordArray(q.ordTuple(j.ordString)(n)))(O(r))(O(e))}})},ln=new c.Eq1(function(n){return c.eq(fn(n))}),dn=function(n){return I(S.delete(n))},pn=function(n){return function(r){return p.mapFlipped(b.functorMaybe)(C(n)(r))(function(e){return new q.Tuple(e,dn(n)(r))})}},sn=function(n){return function(r){return function(e){var t=n(C(r)(e));if(t instanceof b.Nothing)return dn(r)(e);if(t instanceof b.Just)return z(r)(t.value0)(e);throw new Error("Failed pattern match at Foreign.Object (line 208, column 15 - line 210, column 25): "+[t.constructor.name])}}},bn=function(n){return function(r){return function(e){return sn(b.maybe(b.Nothing.value)(n))(r)(e)}}};module.exports={isEmpty:E,singleton:k,insert:z,lookup:C,toUnfoldable:W,toAscUnfoldable:A,fromFoldable:G,fromFoldableWith:H,fromHomogeneous:J,delete:dn,pop:pn,member:K,alter:sn,update:bn,mapWithKey:M,filterWithKey:un,filterKeys:on,filter:cn,values:F,union:X,unions:Y,isSubmap:U,fold:Z,foldMap:$,foldM:Q,foldMaybe:P,thawST:D,freezeST:L,functorObject:N,functorWithIndexObject:B,foldableObject:nn,foldableWithIndexObject:rn,traversableObject:tn,traversableWithIndexObject:en,eqObject:fn,eq1Object:ln,ordObject:an,showObject:_,semigroupObject:R,monoidObject:V,empty:n.empty,size:n.size,keys:n.keys,all:n.all,runST:n.runST,toArrayWithKey:n.toArrayWithKey}; +},{"./foreign.js":"cO3i","../Control.Applicative/index.js":"qYya","../Control.Apply/index.js":"QcLv","../Control.Bind/index.js":"7VcT","../Control.Category/index.js":"IAi2","../Control.Monad.ST.Internal/index.js":"Sedc","../Data.Array/index.js":"4t4C","../Data.Eq/index.js":"Pq4F","../Data.Foldable/index.js":"eVDl","../Data.FoldableWithIndex/index.js":"9Efi","../Data.Function/index.js":"ImXJ","../Data.Function.Uncurried/index.js":"TowT","../Data.Functor/index.js":"+0AE","../Data.FunctorWithIndex/index.js":"OHRN","../Data.Maybe/index.js":"5mN7","../Data.Monoid/index.js":"TiEB","../Data.Ord/index.js":"r4Vb","../Data.Semigroup/index.js":"EsAJ","../Data.Show/index.js":"mFY7","../Data.Traversable/index.js":"n7EE","../Data.TraversableWithIndex/index.js":"V4EF","../Data.Tuple/index.js":"II/O","../Data.Unfoldable/index.js":"77+Z","../Foreign.Object.ST/index.js":"fXGJ","../Unsafe.Coerce/index.js":"ETUV"}],"hJ/N":[function(require,module,exports) { +"use strict";exports.copyRecord=function(n){var r={};for(var e in n)({}).hasOwnProperty.call(n,e)&&(r[e]=n[e]);return r},exports.unsafeInsert=function(n){return function(r){return function(e){return e[n]=r,e}}},exports.unsafeModify=function(n){return function(r){return function(e){return e[n]=r(e[n]),e}}},exports.unsafeDelete=function(n){return function(r){return delete r[n],r}},exports.unsafeRename=function(n){return function(r){return function(e){return e[r]=e[n],delete e[n],e}}}; +},{}],"VeY4":[function(require,module,exports) { +"use strict";var n=require("./foreign.js"),r=require("../Control.Category/index.js"),e=require("../Control.Semigroupoid/index.js"),u=require("../Data.Symbol/index.js"),t=require("../Record.Unsafe.Union/index.js"),o=require("../Unsafe.Coerce/index.js"),i=function(n){return n},f=function(n){return function(n){return function(r){return t.unsafeUnionFn(r,n)}}},c=e.semigroupoidFn,s=function(r){return function(e){return function(t){return function(t){return function(t){return function(t){return function(t){return function(o){return function(i){return n.unsafeRename(u.reflectSymbol(r)(t))(u.reflectSymbol(e)(o))(i)}}}}}}}}},l=function(n){return o.unsafeCoerce},a=function(r){return function(r){return function(r){return function(e){return function(t){return function(o){return n.unsafeModify(u.reflectSymbol(r)(e))(t)(o)}}}}}},d=function(n){return function(n){return function(n){return function(r){return t.unsafeUnionFn(r,n)}}}},m=function(r){return function(r){return function(r){return function(e){return function(t){return function(o){return n.unsafeInsert(u.reflectSymbol(r)(e))(t)(o)}}}}}},y=function(n){return function(n){return function(n){return function(r){return t.unsafeUnionFn(n,r)}}}},b=function(r){return function(e){return function(e){return function(e){return function(t){return n.unsafeDelete(u.reflectSymbol(r)(e))(t)}}}}},g=r.categoryFn,j=function(r){return function(e){return r(n.copyRecord(e))}};module.exports={build:j,insert:m,modify:a,delete:b,rename:s,merge:d,union:f,disjointUnion:y,nub:l,semigroupoidBuilder:c,categoryBuilder:g}; +},{"./foreign.js":"hJ/N","../Control.Category/index.js":"IAi2","../Control.Semigroupoid/index.js":"/riR","../Data.Symbol/index.js":"4oJQ","../Record.Unsafe.Union/index.js":"WmUk","../Unsafe.Coerce/index.js":"ETUV"}],"ZOFT":[function(require,module,exports) { +"use strict";var n=require("../Control.Applicative/index.js"),r=require("../Control.Apply/index.js"),e=require("../Control.Bind/index.js"),u=require("../Control.Monad/index.js"),t=require("../Data.BooleanAlgebra/index.js"),o=require("../Data.Bounded/index.js"),i=require("../Data.CommutativeRing/index.js"),a=require("../Data.Eq/index.js"),c=require("../Data.Functor/index.js"),f=require("../Data.HeytingAlgebra/index.js"),l=require("../Data.Ord/index.js"),v=require("../Data.Ordering/index.js"),x=require("../Data.Ring/index.js"),d=require("../Data.Semigroup/index.js"),y=require("../Data.Semiring/index.js"),g=require("../Data.Show/index.js"),w=function(){function n(){}return n.value=new n,n}(),P=function(){function n(){}return n.value=new n,n}(),s=function(){function n(){}return n.value=new n,n}(),m=new g.Show(function(n){return"Proxy3"}),b=new g.Show(function(n){return"Proxy2"}),q=new g.Show(function(n){return"Proxy"}),p=new y.Semiring(function(n){return function(n){return w.value}},function(n){return function(n){return w.value}},w.value,w.value),A=new y.Semiring(function(n){return function(n){return P.value}},function(n){return function(n){return P.value}},P.value,P.value),j=new y.Semiring(function(n){return function(n){return s.value}},function(n){return function(n){return s.value}},s.value,s.value),D=new d.Semigroup(function(n){return function(n){return w.value}}),S=new d.Semigroup(function(n){return function(n){return P.value}}),R=new d.Semigroup(function(n){return function(n){return s.value}}),h=new x.Ring(function(){return p},function(n){return function(n){return w.value}}),B=new x.Ring(function(){return A},function(n){return function(n){return P.value}}),C=new x.Ring(function(){return j},function(n){return function(n){return s.value}}),E=new f.HeytingAlgebra(function(n){return function(n){return w.value}},function(n){return function(n){return w.value}},w.value,function(n){return function(n){return w.value}},function(n){return w.value},w.value),O=new f.HeytingAlgebra(function(n){return function(n){return P.value}},function(n){return function(n){return P.value}},P.value,function(n){return function(n){return P.value}},function(n){return P.value},P.value),H=new f.HeytingAlgebra(function(n){return function(n){return s.value}},function(n){return function(n){return s.value}},s.value,function(n){return function(n){return s.value}},function(n){return s.value},s.value),Q=new c.Functor(function(n){return function(n){return s.value}}),F=new a.Eq(function(n){return function(n){return!0}}),M=new l.Ord(function(){return F},function(n){return function(n){return v.EQ.value}}),k=new a.Eq(function(n){return function(n){return!0}}),z=new l.Ord(function(){return k},function(n){return function(n){return v.EQ.value}}),G=new a.Eq(function(n){return function(n){return!0}}),I=new l.Ord(function(){return G},function(n){return function(n){return v.EQ.value}}),J=new e.Discard(function(n){return e.bind(n)}),K=new e.Discard(function(n){return e.bind(n)}),L=new e.Discard(function(n){return e.bind(n)}),N=new i.CommutativeRing(function(){return h}),T=new i.CommutativeRing(function(){return B}),U=new i.CommutativeRing(function(){return C}),V=new o.Bounded(function(){return M},w.value,w.value),W=new o.Bounded(function(){return z},P.value,P.value),X=new o.Bounded(function(){return I},s.value,s.value),Y=new t.BooleanAlgebra(function(){return E}),Z=new t.BooleanAlgebra(function(){return O}),$=new t.BooleanAlgebra(function(){return H}),_=new r.Apply(function(){return Q},function(n){return function(n){return s.value}}),nn=new e.Bind(function(){return _},function(n){return function(n){return s.value}}),rn=new n.Applicative(function(){return _},function(n){return s.value}),en=new u.Monad(function(){return rn},function(){return nn});module.exports={Proxy:s,Proxy2:P,Proxy3:w,eqProxy:G,functorProxy:Q,ordProxy:I,applicativeProxy:rn,applyProxy:_,bindProxy:nn,booleanAlgebraProxy:$,boundedProxy:X,commutativeRingProxy:U,discardProxy:L,heytingAlgebraProxy:H,monadProxy:en,ringProxy:C,semigroupProxy:R,semiringProxy:j,showProxy:q,eqProxy2:k,ordProxy2:z,booleanAlgebraProxy2:Z,boundedProxy2:W,commutativeRingProxy2:T,discardProxy2:K,heytingAlgebraProxy2:O,ringProxy2:B,semigroupProxy2:S,semiringProxy2:A,showProxy2:b,eqProxy3:F,ordProxy3:M,booleanAlgebraProxy3:Y,boundedProxy3:V,commutativeRingProxy3:N,discardProxy3:J,heytingAlgebraProxy3:E,ringProxy3:h,semigroupProxy3:D,semiringProxy3:p,showProxy3:m}; +},{"../Control.Applicative/index.js":"qYya","../Control.Apply/index.js":"QcLv","../Control.Bind/index.js":"7VcT","../Control.Monad/index.js":"U/Ix","../Data.BooleanAlgebra/index.js":"e7y+","../Data.Bounded/index.js":"kcUU","../Data.CommutativeRing/index.js":"60TQ","../Data.Eq/index.js":"Pq4F","../Data.Functor/index.js":"+0AE","../Data.HeytingAlgebra/index.js":"paZe","../Data.Ord/index.js":"r4Vb","../Data.Ordering/index.js":"5Eun","../Data.Ring/index.js":"E2qH","../Data.Semigroup/index.js":"EsAJ","../Data.Semiring/index.js":"11NF","../Data.Show/index.js":"mFY7"}],"aDiV":[function(require,module,exports) { +"use strict";var n=require("../Control.Alt/index.js"),e=require("../Control.Applicative/index.js"),t=require("../Control.Bind/index.js"),r=require("../Control.Category/index.js"),i=require("../Control.Monad.Except/index.js"),o=require("../Control.Monad.Except.Trans/index.js"),u=require("../Control.Semigroupoid/index.js"),c=require("../Data.Array/index.js"),d=require("../Data.Bifunctor/index.js"),a=require("../Data.Either/index.js"),s=require("../Data.Foldable/index.js"),f=require("../Data.Function/index.js"),p=require("../Data.Functor/index.js"),l=require("../Data.Generic.Rep/index.js"),m=require("../Data.Identity/index.js"),g=require("../Data.List/index.js"),E=require("../Data.List.Types/index.js"),x=require("../Data.Maybe/index.js"),y=require("../Data.Monoid/index.js"),w=require("../Data.Newtype/index.js"),v=require("../Data.Semigroup/index.js"),T=require("../Data.Show/index.js"),b=require("../Data.Symbol/index.js"),h=require("../Data.Traversable/index.js"),I=require("../Data.Unfoldable/index.js"),A=require("../Data.Unit/index.js"),F=require("../Data.Void/index.js"),D=require("../Foreign/index.js"),j=require("../Foreign.Generic.Internal/index.js"),q=require("../Foreign.Index/index.js"),S=require("../Foreign.NullOrUndefined/index.js"),N=require("../Foreign.Object/index.js"),O=require("../Record/index.js"),R=require("../Record.Builder/index.js"),C=require("../Type.Data.RowList/index.js"),L=require("../Type.Proxy/index.js"),P=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),W=function(n){this.encodeArgs=n},G=function(n){this.encodeOpts=n},U=function(n){this.decodeArgs=n},B=function(n){this.decodeOpts=n},K=function(n){this.countArgs=n},M=function(n){this.encodeWithOptions=n},J=function(n){this.encodeRecordWithOptions=n},z=function(n){this.encode=n},V=function(n){this.decodeWithOptions=n},k=function(n){this.decodeRecordWithOptions=n},H=function(n){this.decode=n},Q=new z(F.absurd),X=new H(function(n){return o.except(m.applicativeIdentity)(new a.Left(e.pure(E.applicativeNonEmptyList)(new D.ForeignError("Decode: void"))))}),Y=new z(function(n){return D.unsafeToForeign({})}),Z=new H(function(n){return e.pure(o.applicativeExceptT(m.monadIdentity))(A.unit)}),$=new z(D.unsafeToForeign),_=new H(D.readString),nn=new z(D.unsafeToForeign),en=new H(D.readNumber),tn=new z(D.unsafeToForeign),rn=new H(D.readInt),on=new W(function(n){return y.mempty(y.monoidFn(E.monoidList))}),un=new B(function(n){return function(n){return D.fail(new D.ForeignError("No constructors"))}}),cn=new U(function(n){return function(n){return function(t){return t instanceof E.Nil?e.pure(o.applicativeExceptT(m.monadIdentity))({result:l.NoArguments.value,rest:E.Nil.value,next:n}):D.fail(new D.ForeignError("Too many constructor arguments"))}}}),dn=new K(function(n){return new a.Left(l.NoArguments.value)}),an=new K(function(n){return new a.Right(1)}),sn=new z(r.identity(r.categoryFn)),fn=new H(e.pure(o.applicativeExceptT(m.monadIdentity))),pn=function(n){return n.encodeWithOptions},ln=function(n){return new W(function(e){return function(t){return g.singleton(pn(n)(e)(t))}})},mn=function(n){return n.encodeRecordWithOptions},gn=function(n){return function(n){return new M(function(e){var t=mn(n)(C.RLProxy.value)(e);return function(n){return D.unsafeToForeign(t(n))}})}},En=new J(function(n){return function(n){return function(n){return N.empty}}}),xn=function(n){return function(e){return function(t){return function(r){return new J(function(i){return function(i){return function(o){var u=mn(e)(C.RLProxy.value)(i)(o),c=b.reflectSymbol(t)(b.SProxy.value);return N.insert(i.fieldTransform(c))(pn(r)(i)(O.get(t)(n)(b.SProxy.value)(o)))(u)}}})}}}},yn=function(n){return n.encodeOpts},wn=new G(function(n){return function(e){return yn(wn)(n)(e)}}),vn=function(n){return function(e){return new G(function(t){return function(r){if(r instanceof l.Inl)return yn(n)({sumEncoding:t.sumEncoding,unwrapSingleConstructors:!1,unwrapSingleArguments:t.unwrapSingleArguments,fieldTransform:t.fieldTransform})(r.value0);if(r instanceof l.Inr)return yn(e)({sumEncoding:t.sumEncoding,unwrapSingleConstructors:!1,unwrapSingleArguments:t.unwrapSingleArguments,fieldTransform:t.fieldTransform})(r.value0);throw new Error("Failed pattern match at Foreign.Generic.Class (line 351, column 1 - line 355, column 85): "+[t.constructor.name,r.constructor.name])}})}},Tn=function(n){return n.encodeArgs},bn=function(n){return function(e){return new W(function(t){return function(r){return v.append(E.semigroupList)(Tn(n)(t)(r.value0))(Tn(e)(t)(r.value1))}})}},hn=function(n){return function(e){return new G(function(t){return function(r){var i,o,u=(i=g.toUnfoldable(I.unfoldableArray),o=Tn(e)(t),function(n){return 0===(e=i(o(n))).length?x.Nothing.value:1===e.length&&t.unwrapSingleArguments?new x.Just(e[0]):new x.Just(D.unsafeToForeign(e));var e}),c=b.reflectSymbol(n)(b.SProxy.value);return t.unwrapSingleConstructors?x.maybe(D.unsafeToForeign({}))(D.unsafeToForeign)(u(r)):D.unsafeToForeign(N.union(N.singleton(t.sumEncoding.value0.tagFieldName)(D.unsafeToForeign(t.sumEncoding.value0.constructorTagTransform(c))))(x.maybe(N.empty)(N.singleton(t.sumEncoding.value0.contentsFieldName))(u(r))))}})}},In=function(n){return n.encode},An=function(n){return new M(function(e){return In(n)})},Fn=function(n){return new z((e=In(n),t=w.unwrap(m.newtypeIdentity),function(n){return e(t(n))}));var e,t},Dn=function(n){return new z(x.maybe(S.null)(In(n)))},jn=function(n){return new z((e=N.mapWithKey(function(e){return In(n)}),function(n){return D.unsafeToForeign(e(n))}));var e},qn={sumEncoding:new P({tagFieldName:"tag",contentsFieldName:"contents",constructorTagTransform:r.identity(r.categoryFn)}),unwrapSingleConstructors:!1,unwrapSingleArguments:!0,fieldTransform:r.identity(r.categoryFn)},Sn=function(n){return function(e){return new z(pn(gn(n)(e))(qn))}},Nn=function(n){return n.decodeWithOptions},On=function(n){return new U(function(r){return function(u){return function(c){return c instanceof E.Cons?t.bind(o.bindExceptT(m.monadIdentity))(i.mapExcept(d.lmap(a.bifunctorEither)(p.map(E.functorNonEmptyList)(D.ErrorAtIndex.create(u))))(Nn(n)(r)(c.value0)))(function(n){return e.pure(o.applicativeExceptT(m.monadIdentity))({result:n,rest:c.value1,next:u+1|0})}):D.fail(new D.ForeignError("Not enough constructor arguments"))}}})},Rn=function(n){return n.decodeRecordWithOptions},Cn=function(n){return function(n){return new V(function(e){return p.map(p.functorFn)(p.map(o.functorExceptT(m.functorIdentity))(f.flip(R.build)({})))(Rn(n)(C.RLProxy.value)(e))})}},Ln=function(n){return function(e){return new H(Nn(Cn(n)(e))(qn))}},Pn=new k(function(n){return function(n){return function(n){return e.pure(o.applicativeExceptT(m.monadIdentity))(r.identity(R.categoryBuilder))}}}),Wn=function(n){return function(r){return function(c){return function(s){return function(f){return new k(function(l){return function(l){return function(g){return t.bind(o.bindExceptT(m.monadIdentity))(Rn(r)(C.RLProxy.value)(l)(g))(function(r){var x=b.reflectSymbol(c)(b.SProxy.value),y=l.fieldTransform(x);return t.bind(o.bindExceptT(m.monadIdentity))(q.index(q.indexString)(g)(y))(function(g){return t.bind(o.bindExceptT(m.monadIdentity))(i.mapExcept(d.lmap(a.bifunctorEither)(p.map(E.functorNonEmptyList)(D.ErrorAtProperty.create(y))))(Nn(s)(l)(g)))(function(t){return e.pure(o.applicativeExceptT(m.monadIdentity))(u.composeFlipped(R.semigroupoidBuilder)(r)(R.insert(n)(f)(c)(b.SProxy.value)(t)))})})})}}})}}}}},Gn=function(n){return n.decodeOpts},Un=function(e){return function(t){return new B(function(r){return function(i){var u={unwrapSingleConstructors:!1,fieldTransform:r.fieldTransform,sumEncoding:r.sumEncoding,unwrapSingleArguments:r.unwrapSingleArguments};return n.alt(o.altExceptT(E.semigroupNonEmptyList)(m.monadIdentity))(p.map(o.functorExceptT(m.functorIdentity))(l.Inl.create)(Gn(e)(u)(i)))(p.map(o.functorExceptT(m.functorIdentity))(l.Inr.create)(Gn(t)(u)(i)))}})}},Bn=function(n){return n.decodeArgs},Kn=function(n){return function(r){return new U(function(i){return function(u){return function(c){return t.bind(o.bindExceptT(m.monadIdentity))(Bn(n)(i)(u)(c))(function(n){return t.bind(o.bindExceptT(m.monadIdentity))(Bn(r)(i)(n.next)(n.rest))(function(t){return e.pure(o.applicativeExceptT(m.monadIdentity))({result:new l.Product(n.result,t.result),rest:t.rest,next:t.next})})})}}})}},Mn=function(n){return n.decode},Jn=function(n){return new V(function(e){return Mn(n)})},zn=function(n){return new H((e=p.map(o.functorExceptT(m.functorIdentity))(m.Identity),t=Mn(n),function(n){return e(t(n))}));var e,t},Vn=function(n){return new H(S.readNullOrUndefined(Mn(n)))},kn=function(n){return new H(t.composeKleisliFlipped(o.bindExceptT(m.monadIdentity))((e=h.sequence(N.traversableObject)(o.applicativeExceptT(m.monadIdentity)),r=N.mapWithKey(function(e){return Mn(n)}),function(n){return e(r(n))}))(j.readObject));var e,r},Hn=function(n){return n.countArgs},Qn=function(n){return function(e){return new K(function(t){var r=Hn(e)(L.Proxy.value),i=Hn(n)(L.Proxy.value);if(i instanceof a.Left&&r instanceof a.Left)return new a.Left(new l.Product(i.value0,r.value0));if(i instanceof a.Left&&r instanceof a.Right)return new a.Right(r.value0);if(i instanceof a.Right&&r instanceof a.Left)return new a.Right(i.value0);if(i instanceof a.Right&&r instanceof a.Right)return new a.Right(i.value0+r.value0|0);throw new Error("Failed pattern match at Foreign.Generic.Class (line 400, column 5 - line 404, column 40): "+[i.constructor.name,r.constructor.name])})}},Xn=function(n){return function(r){return function(u){return new B(function(c){return function(f){var x=Hn(u)(L.Proxy.value),y=function(n){if(x instanceof a.Left)return e.pure(o.applicativeExceptT(m.monadIdentity))(x.value0);if(x instanceof a.Right&&1===x.value0&&c.unwrapSingleArguments)return t.bind(o.bindExceptT(m.monadIdentity))(Bn(r)(c)(0)(g.singleton(n)))(function(n){return t.discard(t.discardUnit)(o.bindExceptT(m.monadIdentity))(e.unless(o.applicativeExceptT(m.monadIdentity))(g.null(n.rest))(D.fail(new D.ForeignError("Expected a single argument"))))(function(){return e.pure(o.applicativeExceptT(m.monadIdentity))(n.result)})});if(x instanceof a.Right)return t.bind(o.bindExceptT(m.monadIdentity))(D.readArray(n))(function(n){return t.bind(o.bindExceptT(m.monadIdentity))(Bn(r)(c)(0)(g.fromFoldable(s.foldableArray)(n)))(function(n){return t.discard(t.discardUnit)(o.bindExceptT(m.monadIdentity))(e.unless(o.applicativeExceptT(m.monadIdentity))(g.null(n.rest))(D.fail(new D.ForeignError("Expected "+T.show(T.showInt)(x.value0)+" constructor arguments"))))(function(){return e.pure(o.applicativeExceptT(m.monadIdentity))(n.result)})})});throw new Error("Failed pattern match at Foreign.Generic.Class (line 307, column 9 - line 319, column 24): "+[x.constructor.name])},w=b.reflectSymbol(n)(b.SProxy.value);return c.unwrapSingleConstructors?p.map(o.functorExceptT(m.functorIdentity))(l.Constructor)(y(f)):t.bind(o.bindExceptT(m.monadIdentity))(i.mapExcept(d.lmap(a.bifunctorEither)(p.map(E.functorNonEmptyList)(D.ErrorAtProperty.create(c.sumEncoding.value0.tagFieldName))))(t.bind(o.bindExceptT(m.monadIdentity))(t.bind(o.bindExceptT(m.monadIdentity))(q.index(q.indexString)(f)(c.sumEncoding.value0.tagFieldName))(D.readString))(function(n){var r=c.sumEncoding.value0.constructorTagTransform(w);return t.discard(t.discardUnit)(o.bindExceptT(m.monadIdentity))(e.unless(o.applicativeExceptT(m.monadIdentity))(n===r)(D.fail(new D.ForeignError("Expected "+T.show(T.showString)(r)+" tag"))))(function(){return e.pure(o.applicativeExceptT(m.monadIdentity))(n)})})))(function(n){return t.bind(o.bindExceptT(m.monadIdentity))(i.mapExcept(d.lmap(a.bifunctorEither)(p.map(E.functorNonEmptyList)(D.ErrorAtProperty.create(c.sumEncoding.value0.contentsFieldName))))(t.bind(o.bindExceptT(m.monadIdentity))(q.index(q.indexString)(f)(c.sumEncoding.value0.contentsFieldName))(y)))(function(n){return e.pure(o.applicativeExceptT(m.monadIdentity))(n)})})}})}}},Yn=new z(D.unsafeToForeign),Zn=new H(D.readChar),$n=new z(D.unsafeToForeign),_n=new H(D.readBoolean),ne=function(n){return new z((e=p.map(p.functorArray)(In(n)),function(n){return D.unsafeToForeign(e(n))}));var e},ee=function(n){return new H((e=function(e){return function(t){return i.mapExcept(d.lmap(a.bifunctorEither)(p.map(E.functorNonEmptyList)(D.ErrorAtIndex.create(e))))(Mn(n)(t))}},t.composeKleisli(o.bindExceptT(m.monadIdentity))(D.readArray)(function(n){return h.sequence(h.traversableArray)(o.applicativeExceptT(m.monadIdentity))(c.zipWith(e)(c.range(0)(c.length(n)))(n))})));var e};module.exports={countArgs:Hn,decode:Mn,decodeArgs:Bn,decodeOpts:Gn,decodeRecordWithOptions:Rn,decodeWithOptions:Nn,encode:In,encodeArgs:Tn,encodeOpts:yn,encodeRecordWithOptions:mn,encodeWithOptions:pn,TaggedObject:P,defaultOptions:qn,Decode:H,Encode:z,DecodeWithOptions:V,EncodeWithOptions:M,DecodeRecord:k,EncodeRecord:J,GenericDecode:B,GenericEncode:G,GenericDecodeArgs:U,GenericEncodeArgs:W,GenericCountArgs:K,voidDecode:X,unitDecode:Z,foreignDecode:fn,stringDecode:_,charDecode:Zn,booleanDecode:_n,numberDecode:en,intDecode:rn,identityDecode:zn,arrayDecode:ee,maybeDecode:Vn,objectDecode:kn,recordDecode:Ln,voidEncode:Q,unitEncode:Y,foreignEncode:sn,stringEncode:$,charEncode:Yn,booleanEncode:$n,numberEncode:nn,intEncode:tn,identityEncode:Fn,arrayEncode:ne,maybeEncode:Dn,objectEncode:jn,recordEncode:Sn,decodeWithOptionsRecord:Cn,decodeWithOptionsOther:Jn,encodeWithOptionsRecord:gn,encodeWithOptionsOther:An,decodeRecordNil:Pn,encodeRecordNil:En,decodeRecordCons:Wn,encodeRecordCons:xn,genericDecodeNoConstructors:un,genericEncodeNoConstructors:wn,genericDecodeConstructor:Xn,genericEncodeConstructor:hn,genericDecodeSum:Un,genericEncodeSum:vn,genericDecodeArgsNoArguments:cn,genericEncodeArgsNoArguments:on,genericDecodeArgsArgument:On,genericEncodeArgsArgument:ln,genericDecodeArgsProduct:Kn,genericEncodeArgsProduct:bn,genericCountArgsNoArguments:dn,genericCountArgsArgument:an,genericCountArgsProduct:Qn}; +},{"../Control.Alt/index.js":"lN+m","../Control.Applicative/index.js":"qYya","../Control.Bind/index.js":"7VcT","../Control.Category/index.js":"IAi2","../Control.Monad.Except/index.js":"Fye2","../Control.Monad.Except.Trans/index.js":"gr8B","../Control.Semigroupoid/index.js":"/riR","../Data.Array/index.js":"4t4C","../Data.Bifunctor/index.js":"e2Wc","../Data.Either/index.js":"B2JL","../Data.Foldable/index.js":"eVDl","../Data.Function/index.js":"ImXJ","../Data.Functor/index.js":"+0AE","../Data.Generic.Rep/index.js":"AuzG","../Data.Identity/index.js":"2OKT","../Data.List/index.js":"ezw6","../Data.List.Types/index.js":"Xxuc","../Data.Maybe/index.js":"5mN7","../Data.Monoid/index.js":"TiEB","../Data.Newtype/index.js":"lz8k","../Data.Semigroup/index.js":"EsAJ","../Data.Show/index.js":"mFY7","../Data.Symbol/index.js":"4oJQ","../Data.Traversable/index.js":"n7EE","../Data.Unfoldable/index.js":"77+Z","../Data.Unit/index.js":"NhVk","../Data.Void/index.js":"bncE","../Foreign/index.js":"pu1p","../Foreign.Generic.Internal/index.js":"71qG","../Foreign.Index/index.js":"Ryy1","../Foreign.NullOrUndefined/index.js":"k5yP","../Foreign.Object/index.js":"jsiz","../Record/index.js":"0gG4","../Record.Builder/index.js":"VeY4","../Type.Data.RowList/index.js":"XaXP","../Type.Proxy/index.js":"ZOFT"}],"HhmG":[function(require,module,exports) { +"use strict";var e=require("../Data.CommutativeRing/index.js"),n=require("../Data.DivisionRing/index.js"),r=require("../Data.Eq/index.js"),t=require("../Data.EuclideanRing/index.js"),i=require("../Data.Lens.Getter/index.js"),u=require("../Data.Lens.Iso/index.js"),o=require("../Data.Lens.Iso.Newtype/index.js"),a=require("../Data.Maybe/index.js"),c=require("../Data.Newtype/index.js"),d=require("../Data.Number.Format/index.js"),s=require("../Data.Ord/index.js"),p=require("../Data.Ring/index.js"),w=require("../Data.Semiring/index.js"),f=require("../Data.Show/index.js"),g=require("../Data.String.CodeUnits/index.js"),m=require("../Data.String.Common/index.js"),h=require("../Data.String.Pattern/index.js"),x=require("../Foreign.Generic.Class/index.js"),q=require("../Math/index.js"),l=function(e){return e},D=function(e){return e},N=function(e){return e},j=new f.Show(function(e){return e}),B=new f.Show(function(e){return d.toStringWith(d.fixed(0))(e)+" Bp"}),y=w.semiringNumber,v=p.ringNumber,C=s.ordNumber,I=new c.Newtype(function(e){return e},l),S=new c.Newtype(function(e){return e},D),b=function(e){var n=m.toLower(c.unwrap(S)(e)),r=g.stripPrefix(c.wrap(h.newtypePattern)("chr"))(n);if(r instanceof a.Nothing)return c.wrap(S)("chr"+n);if(r instanceof a.Just)return c.wrap(S)(r.value0);throw new Error("Failed pattern match at Genetics.Browser.Types (line 54, column 6 - line 56, column 27): "+[r.constructor.name])},R=new c.Newtype(function(e){return e},N),L=t.euclideanRingNumber,_=new r.Eq(function(e){return function(n){return b(e)===b(n)}}),E=new s.Ord(function(){return _},function(e){return function(n){var r=b(e),t=b(n);return s.compare(s.ordString)(r)(t)}}),P=r.eqNumber,F=x.stringEncode,G=x.numberEncode,W=n.divisionringNumber,J=x.stringDecode,M=x.numberDecode,O=e.commutativeRingNumber,T=function(e){var n=m.toLower(e),r=g.stripPrefix(c.wrap(h.newtypePattern)("chr"))(n);if(r instanceof a.Nothing)return c.wrap(S)("chr"+n);if(r instanceof a.Just)return c.wrap(S)(r.value0);throw new Error("Failed pattern match at Genetics.Browser.Types (line 47, column 6 - line 49, column 28): "+[r.constructor.name])},U=function(e){return i.to(d.toStringWith(d.precision(e)))},k=function(e){return i.to(d.toStringWith(d.fixed(e)))},z=function(e){return i.to(d.toStringWith(d.exponential(e)))},A=function(e){return u.iso(function(e){return c.wrap(I)(-q.log(e)/q.ln10)})(function(e){return q.pow(10)(-e)})(e)},H=function(e){return o._Newtype(S)(S)(e)},K=function(e){return o._Newtype(R)(R)(e)};module.exports={Bp:N,_Bp:K,ChrId:D,chrId:T,validChrId:b,_ChrId:H,NegLog10:l,_NegLog10:A,_prec:U,_fixed:k,_exp:z,newtypeBp:R,eqBp:P,ordBp:C,semiringBp:y,ringBp:v,divisionRingBp:W,euclideanRingBp:L,commutativeRingBp:O,encodeBp:G,decodeBp:M,showBp:B,newtypeChrId:S,eqChrId:_,ordChrId:E,encodeChrId:F,decodeChrId:J,showChrId:j,newtypeNegLog10:I}; +},{"../Data.CommutativeRing/index.js":"60TQ","../Data.DivisionRing/index.js":"xYq2","../Data.Eq/index.js":"Pq4F","../Data.EuclideanRing/index.js":"2IRB","../Data.Lens.Getter/index.js":"OPOX","../Data.Lens.Iso/index.js":"fFCp","../Data.Lens.Iso.Newtype/index.js":"CiFJ","../Data.Maybe/index.js":"5mN7","../Data.Newtype/index.js":"lz8k","../Data.Number.Format/index.js":"VX77","../Data.Ord/index.js":"r4Vb","../Data.Ring/index.js":"E2qH","../Data.Semiring/index.js":"11NF","../Data.Show/index.js":"mFY7","../Data.String.CodeUnits/index.js":"6c6X","../Data.String.Common/index.js":"OSrc","../Data.String.Pattern/index.js":"nKWe","../Foreign.Generic.Class/index.js":"aDiV","../Math/index.js":"Rpaz"}],"BQGe":[function(require,module,exports) { +exports._parseJSON=JSON.parse,exports._undefined=void 0; +},{}],"DqNI":[function(require,module,exports) { +"use strict";var e=require("./foreign.js"),n=require("../Control.Alt/index.js"),r=require("../Control.Applicative/index.js"),t=require("../Control.Apply/index.js"),i=require("../Control.Bind/index.js"),u=require("../Control.Category/index.js"),o=require("../Control.Monad.Except/index.js"),a=require("../Control.Monad.Except.Trans/index.js"),c=require("../Control.Semigroupoid/index.js"),f=require("../Data.Bifunctor/index.js"),d=require("../Data.Boolean/index.js"),l=require("../Data.Either/index.js"),p=require("../Data.Function/index.js"),s=require("../Data.Functor/index.js"),m=require("../Data.Identity/index.js"),y=require("../Data.List.Types/index.js"),x=require("../Data.Maybe/index.js"),w=require("../Data.Nullable/index.js"),g=require("../Data.Semigroup/index.js"),F=require("../Data.Symbol/index.js"),v=require("../Data.Traversable/index.js"),b=require("../Data.TraversableWithIndex/index.js"),E=require("../Data.Variant/index.js"),I=require("../Effect.Exception/index.js"),T=require("../Effect.Uncurried/index.js"),h=require("../Effect.Unsafe/index.js"),j=require("../Foreign/index.js"),q=require("../Foreign.Index/index.js"),S=require("../Foreign.Object/index.js"),N=require("../Global.Unsafe/index.js"),L=require("../Partial.Unsafe/index.js"),P=require("../Record/index.js"),R=require("../Record.Builder/index.js"),D=require("../Type.Data.RowList/index.js"),O=function(e){this.writeVariantImpl=e},V=function(e){this.writeImplFields=e},C=function(e){this.writeImpl=e},W=function(e){this.readVariantImpl=e},A=function(e){this.getFields=e},B=function(e){this.readImpl=e},M=function(e){return e.writeVariantImpl},J=function(e){return e.writeImplFields},K=function(e){return e.writeImpl},U=function(e){var n=K(e);return function(e){return N.unsafeStringify(n(e))}},_=function(e){return function(e){return new C(function(n){return M(e)(D.RLProxy.value)(n)})}},G=new C(j.unsafeToForeign),k=function(e){return new C((n=S.mapWithKey(p.const(K(e))),function(e){return j.unsafeToForeign(n(e))}));var n},z=new C(j.unsafeToForeign),H=function(e){return new C((n=x.maybe(j.unsafeToForeign(w.toNullable(x.Nothing.value)))(K(e)),function(e){return n(w.toMaybe(e))}));var n},Q=new C(j.unsafeToForeign),X=new C(u.identity(u.categoryFn)),Y=new C(j.unsafeToForeign),Z=new C(j.unsafeToForeign),$=function(e){return new C(function(n){return j.unsafeToForeign(s.map(s.functorArray)(K(e))(n))})},ee=function(e){return K(e)},ne=e._undefined,re=function(e){return new C(x.maybe(ne)(K(e)))},te=function(e){return function(e){return new C(function(n){var r=J(e)(D.RLProxy.value)(n);return j.unsafeToForeign(R.build(r)({}))})}},ie=new W(function(e){return function(e){return j.fail(new j.ForeignError("Unable to match any variant member."))}}),ue=function(e){return e.readVariantImpl},oe=new B(j.readString),ae=new B(j.readNumber),ce=new B(j.readInt),fe=function(e){return e.readImpl},de=function(e){return new B((n=fe(e),function(e){return j.isNull(e)||j.isUndefined(e)?r.pure(a.applicativeExceptT(m.monadIdentity))(x.Nothing.value):s.map(a.functorExceptT(m.functorIdentity))(x.Just.create)(n(e))}));var n},le=function(e){return new B(function(n){return o.withExcept(s.map(y.functorNonEmptyList)(function(e){return e instanceof j.TypeMismatch?new j.TypeMismatch("Nullable "+e.value0,e.value1):e}))(i.bindFlipped(a.bindExceptT(m.monadIdentity))(s.map(s.functorFn)(s.map(a.functorExceptT(m.functorIdentity))(w.toNullable))(v.traverse(v.traversableMaybe)(a.applicativeExceptT(m.monadIdentity))(fe(e))))(j.readNull(n)))})},pe=function(e){return new B(i.composeKleisliFlipped(a.bindExceptT(m.monadIdentity))((n=v.sequence(S.traversableObject)(a.applicativeExceptT(m.monadIdentity)),t=S.mapWithKey(p.const(fe(e))),function(e){return n(t(e))}))(function(e){if("Object"===j.tagOf(e))return r.pure(a.applicativeExceptT(m.monadIdentity))(j.unsafeFromForeign(e));if(d.otherwise)return j.fail(new j.TypeMismatch("Object",j.tagOf(e)));throw new Error("Failed pattern match at Simple.JSON (line 188, column 7 - line 188, column 51): "+[e.constructor.name])}));var n,t},se=function(e){return function(e){return new B(function(n){return ue(e)(D.RLProxy.value)(n)})}},me=new B(r.pure(a.applicativeExceptT(m.monadIdentity))),ye=new A(function(e){return function(e){return r.pure(a.applicativeExceptT(m.monadIdentity))(u.identity(R.categoryBuilder))}}),xe=new B(j.readChar),we=new B(j.readBoolean),ge=function(e){return new B(i.composeKleisliFlipped(a.bindExceptT(m.monadIdentity))(b.traverseWithIndex(b.traversableWithIndexArray)(a.applicativeExceptT(m.monadIdentity))(function(n){return function(r){return o.withExcept(s.map(y.functorNonEmptyList)(j.ErrorAtIndex.create(n)))(fe(e)(r))}}))(j.readArray))},Fe=function(e){return fe(e)},ve=function(e){var n=fe(e);return function(e){return o.runExcept(n(e))}},be=function(e){var n=ve(e);return function(e){return n(j.unsafeToForeign(e))}},Ee=function(e){var n=ve(e);return function(e){return l.hush(n(e))}},Ie=function(){var n,t=f.lmap(l.bifunctorEither)((n=r.pure(y.applicativeNonEmptyList),function(e){return n(j.ForeignError.create(I.message(e)))})),i=T.runEffectFn1(e._parseJSON);return function(e){return a.ExceptT(m.Identity(t(h.unsafePerformEffect(I.try(i(e))))))}}(),Te=function(e){var n=i.composeKleisliFlipped(a.bindExceptT(m.monadIdentity))(fe(e))(Ie);return function(e){return o.runExcept(n(e))}},he=function(e){var n=Te(e);return function(e){return l.hush(n(e))}},je=function(e){return i.composeKleisliFlipped(a.bindExceptT(m.monadIdentity))(fe(e))(Ie)},qe=new O(function(e){return function(e){return L.unsafeCrashWith("Variant was not able to be writen row WriteForeign.")}}),Se=new V(function(e){return function(e){return u.identity(R.categoryBuilder)}}),Ne=function(e){return e.getFields},Le=function(e){return function(e){return new B(function(n){return s.map(a.functorExceptT(m.functorIdentity))(p.flip(R.build)({}))(Ne(e)(D.RLProxy.value)(n))})}},Pe=function(e){return function(n){return function(r){return function(t){return new O(function(i){return function(i){return E.on(r)(e)(F.SProxy.value)(function(r){return j.unsafeToForeign({type:F.reflectSymbol(e)(F.SProxy.value),value:K(n)(r)})})(M(t)(D.RLProxy.value))(i)}})}}}},Re=function(e){return function(n){return function(r){return function(t){return function(i){return function(u){return new V(function(o){return function(o){var a=J(r)(D.RLProxy.value)(o),f=K(n)(P.get(e)(t)(F.SProxy.value)(o));return c.compose(R.semigroupoidBuilder)(R.insert(u)(i)(e)(F.SProxy.value)(f))(a)}})}}}}}},De=function(e){return function(n){return function(r){if(n instanceof l.Left&&r instanceof l.Right)return new l.Left(n.value0);if(n instanceof l.Left&&r instanceof l.Left)return new l.Left(g.append(e)(n.value0)(r.value0));if(n instanceof l.Right&&r instanceof l.Left)return new l.Left(r.value0);if(n instanceof l.Right&&r instanceof l.Right)return new l.Right(n.value0(r.value0));throw new Error("Failed pattern match at Simple.JSON (line 232, column 1 - line 232, column 90): "+[n.constructor.name,r.constructor.name])}}},Oe=function(e){return function(n){return function(r){return function(i){return a.ExceptT(t.apply(n.Apply0())(s.map(n.Apply0().Functor0())(De(e))(a.runExceptT(r)))(a.runExceptT(i)))}}}},Ve=function(e){return function(n){return function(t){return function(u){return function(f){return new A(function(d){return function(d){var l=Ne(t)(D.RLProxy.value)(d),p=F.reflectSymbol(e)(F.SProxy.value),x=o.withExcept(s.map(y.functorNonEmptyList)(j.ErrorAtProperty.create(p))),w=i.bind(a.bindExceptT(m.monadIdentity))(x(i.bindFlipped(a.bindExceptT(m.monadIdentity))(fe(n))(q.readProp(p)(d))))(function(n){return r.pure(a.applicativeExceptT(m.monadIdentity))(R.insert(f)(u)(e)(F.SProxy.value)(n))});return Oe(y.semigroupNonEmptyList)(m.applicativeIdentity)(s.map(a.functorExceptT(m.functorIdentity))(c.compose(R.semigroupoidBuilder))(w))(l)}})}}}}},Ce=function(e){return function(t){return function(u){return function(o){return new W(function(c){return function(c){var f=F.reflectSymbol(e)(F.SProxy.value);return n.alt(a.altExceptT(y.semigroupNonEmptyList)(m.monadIdentity))(i.bind(a.bindExceptT(m.monadIdentity))(fe(Le()(Ve(new F.IsSymbol(function(){return"type"}))(oe)(Ve(new F.IsSymbol(function(){return"value"}))(me)(ye)()())()()))(c))(function(n){return n.type===f?i.bind(a.bindExceptT(m.monadIdentity))(fe(t)(n.value))(function(n){return r.pure(a.applicativeExceptT(m.monadIdentity))(E.inj(u)(e)(F.SProxy.value)(n))}):j.fail(j.ForeignError.create("Did not match variant tag "+f))}))(ue(o)(D.RLProxy.value)(c))}})}}}};module.exports={readJSON:Te,"readJSON'":je,readJSON_:he,writeJSON:U,write:ee,read:ve,"read'":Fe,read_:Ee,parseJSON:Ie,undefined:ne,ReadForeign:B,readImpl:fe,ReadForeignFields:A,getFields:Ne,ReadForeignVariant:W,readVariantImpl:ue,WriteForeign:C,writeImpl:K,WriteForeignFields:V,writeImplFields:J,WriteForeignVariant:O,writeVariantImpl:M,readForeign:me,readChar:xe,readNumber:ae,readInt:ce,readString:oe,readBoolean:we,readArray:ge,readMaybe:de,readNullable:le,readObject:pe,readRecord:Le,readFieldsCons:Ve,readFieldsNil:ye,readForeignVariant:se,readVariantNil:ie,readVariantCons:Ce,writeForeignForeign:X,writeForeignString:G,writeForeignInt:Q,writeForeignChar:Y,writeForeignNumber:z,writeForeignBoolean:Z,writeForeignArray:$,writeForeignMaybe:re,writeForeignNullable:H,writeForeignObject:k,recordWriteForeign:te,consWriteForeignFields:Re,nilWriteForeignFields:Se,writeForeignVariant:_,nilWriteForeignVariant:qe,consWriteForeignVariant:Pe}; +},{"./foreign.js":"BQGe","../Control.Alt/index.js":"lN+m","../Control.Applicative/index.js":"qYya","../Control.Apply/index.js":"QcLv","../Control.Bind/index.js":"7VcT","../Control.Category/index.js":"IAi2","../Control.Monad.Except/index.js":"Fye2","../Control.Monad.Except.Trans/index.js":"gr8B","../Control.Semigroupoid/index.js":"/riR","../Data.Bifunctor/index.js":"e2Wc","../Data.Boolean/index.js":"ObQr","../Data.Either/index.js":"B2JL","../Data.Function/index.js":"ImXJ","../Data.Functor/index.js":"+0AE","../Data.Identity/index.js":"2OKT","../Data.List.Types/index.js":"Xxuc","../Data.Maybe/index.js":"5mN7","../Data.Nullable/index.js":"YQ8o","../Data.Semigroup/index.js":"EsAJ","../Data.Symbol/index.js":"4oJQ","../Data.Traversable/index.js":"n7EE","../Data.TraversableWithIndex/index.js":"V4EF","../Data.Variant/index.js":"hgdh","../Effect.Exception/index.js":"0OCW","../Effect.Uncurried/index.js":"qn3Z","../Effect.Unsafe/index.js":"tPW2","../Foreign/index.js":"pu1p","../Foreign.Index/index.js":"Ryy1","../Foreign.Object/index.js":"jsiz","../Global.Unsafe/index.js":"qSZP","../Partial.Unsafe/index.js":"aoR+","../Record/index.js":"0gG4","../Record.Builder/index.js":"VeY4","../Type.Data.RowList/index.js":"XaXP"}],"X0te":[function(require,module,exports) { +"use strict";var e=require("../Color/index.js"),n=require("../Color.Scheme.Clrs/index.js"),r=require("../Control.Applicative/index.js"),t=require("../Control.Bind/index.js"),i=require("../Control.Monad.Except.Trans/index.js"),a=require("../Control.Monad.State/index.js"),o=require("../Control.Monad.State.Class/index.js"),u=require("../Control.Monad.State.Trans/index.js"),d=require("../Data.Array/index.js"),l=require("../Data.BigInt/index.js"),s=require("../Data.Either/index.js"),c=require("../Data.EuclideanRing/index.js"),f=require("../Data.Foldable/index.js"),p=require("../Data.Function/index.js"),m=require("../Data.Functor/index.js"),g=require("../Data.FunctorWithIndex/index.js"),x=require("../Data.HeytingAlgebra/index.js"),v=require("../Data.Identity/index.js"),w=require("../Data.Int/index.js"),h=require("../Data.Lens.Getter/index.js"),y=require("../Data.List/index.js"),S=require("../Data.List.Types/index.js"),b=require("../Data.Map.Internal/index.js"),j=require("../Data.Maybe/index.js"),q=require("../Data.Monoid/index.js"),D=require("../Data.Newtype/index.js"),C=require("../Data.Number.Format/index.js"),I=require("../Data.Ord/index.js"),L=require("../Data.Pair/index.js"),N=require("../Data.Ring/index.js"),F=require("../Data.Semigroup/index.js"),P=require("../Data.Semiring/index.js"),M=require("../Data.Show/index.js"),T=require("../Data.String.CodePoints/index.js"),A=require("../Data.Symbol/index.js"),B=require("../Data.Traversable/index.js"),k=require("../Data.Tuple/index.js"),O=require("../Data.Variant/index.js"),z=require("../Foreign/index.js"),G=require("../Genetics.Browser.Canvas/index.js"),E=require("../Genetics.Browser.Coordinates/index.js"),R=require("../Genetics.Browser.Layer/index.js"),_=require("../Genetics.Browser.Types/index.js"),W=require("../Graphics.Drawing/index.js"),H=require("../Graphics.Drawing.Font/index.js"),U=require("../Math/index.js"),V=require("../Record/index.js"),J=require("../Simple.JSON/index.js"),K=function(e){return e},X=function(e){return function(n){return function(r){return function(t){return d.nubBy(p.on(I.compare(I.ordString))(function(e){return e.text}))(d.fromFoldable(e)(m.map(n)(r)(t)))}}}},Q=function(e){return function(n){return function(r){return function(t){return function(i){return m.map(b.functorMap)(E.aroundPair(N.ringNumber)(-n.segmentPadding))(E["scaledSegments'"](e)(r)(i)(E.viewScale(t)(i)))}}}}},Y=function(e){return function(n){return function(r){return function(t){return m.map(b.functorMap)(E.aroundPair(N.ringNumber)(-e.segmentPadding))(E.scaledSegments(n)(E.viewScale(r)(t)))}}}},Z=function(e){return function(n){return function(r){return function(t){return function(i){var a=Y(r)(r.coordinateSystem),o=m.map(R.functorComponent)(function(r){return function(i){return r(V.get(e)(n)(t)(i.value0))(a(i.value1)(i.value0.view))(i.value1)}})(i);return new R.Layer(R.Scrolling.value,new R.Masked(5),o)}}}}},$=t.composeKleisliFlipped(i.bindExceptT(v.monadIdentity))(function(n){return i.except(v.applicativeIdentity)(s.note(r.pure(S.applicativeNonEmptyList)(new z.ForeignError("Could not parse color: expected hex string")))(e.fromHexString(n)))})(z.readString),ee=new D.Newtype(function(e){return e},K),ne=new J.ReadForeign(m.map(m.functorFn)(m.map(i.functorExceptT(v.functorIdentity))(D.wrap(ee)))($)),re=function(e){var n=e.value1.height-E.normalize(c.euclideanRingNumber)(e.value0.threshold.min)(e.value0.threshold.max)(e.value0.threshold.sig)*e.value1.height,r="P = "+h.viewOn(U.pow(10)(-e.value0.threshold.sig))(_._exp(1)),t=F.append(W.semigroupOutlineStyle)(W.outlineColor(D.unwrap(ee)(e.value0.rulerColor)))(W.lineWidth(2)),i=W.outlined(t)(W.path(f.foldableArray)([{x:-5,y:n},{x:e.value1.width+5,y:n}])),a=H.font(H.sansSerif)(16)(q.mempty(H.monoidFontOptions)),o=W.text(a)(e.value1.width+10)(n-6)(W.fillColor(D.unwrap(ee)(e.value0.rulerColor)))(r);return{renderables:y.fromFoldable(f.foldableArray)([O.inj()(new A.IsSymbol(function(){return"drawing"}))(G._drawing)(i),O.inj()(new A.IsSymbol(function(){return"drawing"}))(G._drawing)(o)])}},te=function(e){return function(n){return function(t){return function(i){return function(a){return f.foldl(t)(function(t){return function(o){return b.alter(n)((u=o,function(n){return F.append(j.semigroupMaybe(e.Semigroup0()))(r.pure(j.applicativeMaybe)(r.pure(i)(u)))(n)}))(a(o))(t);var u}})(q.mempty(b.monoidMap(n)))}}}}},ie=function(e){return R.Layer.create(R.Fixed.value)(R.NoMask.value)(m.map(R.functorComponent)(function(e){return function(n){return{renderables:r.pure(S.applicativeList)(O.inj()(new A.IsSymbol(function(){return"drawing"}))(G._drawing)(e(n.value1)))}}})(e))},ae=function(e){return D.wrap(E.newtypeNormalized)(D.unwrap(_.newtypeBp)(c.div(_.euclideanRingBp)(e.position.value0)(e.frameSize)))},oe=function(n){return function(r){var t=m.map(m.functorArray)(function(e){return w.toNumber(e)/w.toNumber(n.numSteps)})(d.range(0)(n.numSteps)),i=r.width*n.hPad,a=f.foldMap(f.foldableArray)(W.monoidDrawing)(function(t){return W.text(H.font(H.sansSerif)(n.fonts.scaleSize)(q.mempty(H.monoidFontOptions)))(.6*r.width-i)(t*r.height+5)(W.fillColor(e.black))(C.toStringWith(C.fixed(0))((a=n.min+(1-t)*(n.max-n.min),I.min(I.ordNumber)(n.max)(a))));var a})(t),o=W.translate(.4*r.width-i)(.72*r.height)(W.rotate(-U.pi/2)(W.text(H.font(H.sansSerif)(n.fonts.labelSize)(q.mempty(H.monoidFontOptions)))(0)(0)(W.fillColor(e.black))("-log10 (P value)"))),u=7*i,l=W.path(f.foldableArray)([{x:u,y:0},{x:u,y:r.height}]),s=F.append(W.semigroupShape)(l)(f.foldMap(f.foldableArray)(W.monoidShape)(function(e){return(n=8,function(e){return W.path(f.foldableArray)([{x:u-n,y:e},{x:u,y:e}])})(e*r.height);var n})(t)),c=F.append(W.semigroupOutlineStyle)(W.outlineColor(D.unwrap(ee)(n.color)))(W.lineWidth(2));return F.append(W.semigroupDrawing)(W.outlined(c)(s))(F.append(W.semigroupDrawing)(a)(o))}},ue=function(n){var r=H.font(H.sansSerif)(12)(q.mempty(H.monoidFontOptions)),t=W.text(r)(12)(0)(W.fillColor(e.black))(n.text);return F.append(W.semigroupDrawing)(n.icon)(t)},de=function(n){return function(r){var t=r.height*n.vPad,i=r.width*n.hPad,a=H.font(H.sansSerif)(n.fontSize)(q.mempty(H.monoidFontOptions)),o=g.mapWithIndex(g.functorWithIndexArray)(function(n){return function(r){return(o=t*w.toNumber(n+1|0),function(n){return W.translate(i)(o)(F.append(W.semigroupDrawing)(n.icon)(W.text(a)(12)(0)(W.fillColor(e.black))(n.text)))})(r);var o}})(n.entries);r.height,f.length(f.foldableArray)(P.semiringNumber)(n.entries);return f.fold(f.foldableArray)(W.monoidDrawing)(o)}},le={color:D.wrap(ee)(e.black),hPad:.125,numSteps:3,fonts:{labelSize:18,scaleSize:14}},se={hPad:.2,vPad:.2,fontSize:12},ce=function(n){return function(r){var t=function(n){return function(t){return function(i){return W.text(H.font(H.sansSerif)(r.fontSize)(q.mempty(H.monoidFontOptions)))(function(e){return function(n){var r=I.min(I.ordNumber)(e.value1)(n.value1),t=I.max(I.ordNumber)(e.value0)(n.value0);return t+(r-t)/2}}(function(e){return function(n){var r=m.map(L.functorPair)(l.toNumber)(D.unwrap(E.coordsysviewNewtype)(n)),t=E.viewScale(e)(n);return m.map(L.functorPair)(function(e){return e/E.xPerPixel(t)})(r)}}(n)(t))(i.value1)-(a=i.value0,.3*w.toNumber(r.fontSize*T.length(M.show(_.showChrId)(a))|0)))(.7*n.height)(W.fillColor(e.black))(M.show(_.showChrId)(i.value0));var a}}};return R.Layer.create(R.Scrolling.value)(new R.Masked(5))(new R.CBottom(function(e){return{renderables:m.map(S.functorList)((r=O.inj()(new A.IsSymbol(function(){return"drawing"}))(G._drawing),i=t(e.value1)(e.value0.view),function(e){return r(i(e))}))(b.toUnfoldable(S.unfoldableList)(Y(n)(n.coordinateSystem)(e.value1)(e.value0.view)))};var r,i}))}},fe=function(e){return function(n){return function(i){var d,l;return{renderables:m.map(S.functorList)((d=O.inj()(new A.IsSymbol(function(){return"drawing"}))(G._drawing),l=k.uncurry(function(e){return function(n){return W.filled(W.fillColor(e))(n)}}),function(e){return d(l(e))}))(a.evalState(B.traverse(S.traversableList)(u.applicativeStateT(v.monadIdentity))(function(n){return t.bind(u.bindStateT(v.monadIdentity))(o.get(u.monadStateStateT(v.monadIdentity)))(function(a){return t.discard(t.discardUnit)(u.bindStateT(v.monadIdentity))(o.modify_(u.monadStateStateT(v.monadIdentity))(x.not(x.heytingAlgebraBoolean)))(function(){return r.pure(u.applicativeStateT(v.monadIdentity))(new k.Tuple(D.unwrap(ee)(a?e.chrBG1:e.chrBG2),W.rectangle(n.value0-e.segmentPadding)(-5)(n.value1-n.value0+2*e.segmentPadding)(i.height+10)))})})})(b.values(n)))(!1))}}}};module.exports={featureNormX:ae,groupToMap:te,pixelSegments:Y,pixelSegmentsOpt:Q,trackLikeLayer:Z,fixedUILayer:ie,thresholdRuler:re,chrLabelsLayer:ce,chrBackgroundLayer:fe,HexColor:K,parseColor:$,defaultVScaleConfig:le,drawVScaleInSlot:oe,drawLegendItem:ue,defaultLegendConfig:se,drawLegendInSlot:de,trackLegend:X,newtypeHexColor:ee,readforeignHexColor:ne}; +},{"../Color/index.js":"f3ma","../Color.Scheme.Clrs/index.js":"rp+n","../Control.Applicative/index.js":"qYya","../Control.Bind/index.js":"7VcT","../Control.Monad.Except.Trans/index.js":"gr8B","../Control.Monad.State/index.js":"mGZW","../Control.Monad.State.Class/index.js":"u1pL","../Control.Monad.State.Trans/index.js":"34Kp","../Data.Array/index.js":"4t4C","../Data.BigInt/index.js":"Zx+T","../Data.Either/index.js":"B2JL","../Data.EuclideanRing/index.js":"2IRB","../Data.Foldable/index.js":"eVDl","../Data.Function/index.js":"ImXJ","../Data.Functor/index.js":"+0AE","../Data.FunctorWithIndex/index.js":"OHRN","../Data.HeytingAlgebra/index.js":"paZe","../Data.Identity/index.js":"2OKT","../Data.Int/index.js":"xNJb","../Data.Lens.Getter/index.js":"OPOX","../Data.List/index.js":"ezw6","../Data.List.Types/index.js":"Xxuc","../Data.Map.Internal/index.js":"RRDs","../Data.Maybe/index.js":"5mN7","../Data.Monoid/index.js":"TiEB","../Data.Newtype/index.js":"lz8k","../Data.Number.Format/index.js":"VX77","../Data.Ord/index.js":"r4Vb","../Data.Pair/index.js":"PpsX","../Data.Ring/index.js":"E2qH","../Data.Semigroup/index.js":"EsAJ","../Data.Semiring/index.js":"11NF","../Data.Show/index.js":"mFY7","../Data.String.CodePoints/index.js":"mAJY","../Data.Symbol/index.js":"4oJQ","../Data.Traversable/index.js":"n7EE","../Data.Tuple/index.js":"II/O","../Data.Variant/index.js":"hgdh","../Foreign/index.js":"pu1p","../Genetics.Browser.Canvas/index.js":"VVkU","../Genetics.Browser.Coordinates/index.js":"7bYH","../Genetics.Browser.Layer/index.js":"YWUW","../Genetics.Browser.Types/index.js":"HhmG","../Graphics.Drawing/index.js":"0WVi","../Graphics.Drawing.Font/index.js":"fMOI","../Math/index.js":"Rpaz","../Record/index.js":"0gG4","../Simple.JSON/index.js":"DqNI"}],"GTi5":[function(require,module,exports) { + +var t,e,n=module.exports={};function r(){throw new Error("setTimeout has not been defined")}function o(){throw new Error("clearTimeout has not been defined")}function i(e){if(t===setTimeout)return setTimeout(e,0);if((t===r||!t)&&setTimeout)return t=setTimeout,setTimeout(e,0);try{return t(e,0)}catch(n){try{return t.call(null,e,0)}catch(n){return t.call(this,e,0)}}}function u(t){if(e===clearTimeout)return clearTimeout(t);if((e===o||!e)&&clearTimeout)return e=clearTimeout,clearTimeout(t);try{return e(t)}catch(n){try{return e.call(null,t)}catch(n){return e.call(this,t)}}}!function(){try{t="function"==typeof setTimeout?setTimeout:r}catch(n){t=r}try{e="function"==typeof clearTimeout?clearTimeout:o}catch(n){e=o}}();var c,s=[],l=!1,a=-1;function f(){l&&c&&(l=!1,c.length?s=c.concat(s):a=-1,s.length&&h())}function h(){if(!l){var t=i(f);l=!0;for(var e=s.length;e;){for(c=s,s=[];++a1)for(var n=1;n0}).map(function(r){var t=r.indexOf(":");return e(r.substring(0,t))(r.substring(t+2))}),body:r.getResponse(u)})},u.responseType=t.responseType,u.withCredentials=t.withCredentials,u.send(t.content),function(e,r,t){try{u.abort()}catch(f){return r(f)}return t()}}}}(); +},{"process":"GTi5"}],"PJcd":[function(require,module,exports) { +"use strict";var t="text/xml",a="text/plain",i="text/html",p="text/csv",e="multipart/form-data",o="image/png",l="image/jpeg",c="image/gif",m="application/xml",n="application/octet-stream",r="application/javascript",x="application/json",g="application/x-www-form-urlencoded";module.exports={applicationFormURLEncoded:g,applicationJSON:x,applicationJavascript:r,applicationOctetStream:n,applicationXML:m,imageGIF:c,imageJPEG:l,imagePNG:o,multipartFormData:e,textCSV:p,textHTML:i,textPlain:a,textXML:t}; +},{}],"TX3z":[function(require,module,exports) { +"use strict";var n=require("../Data.Maybe/index.js"),e=require("../Data.MediaType.Common/index.js"),t=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),r=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),u=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),i=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),o=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),c=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),a=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),f=function(t){return t instanceof c?new n.Just(e.applicationFormURLEncoded):t instanceof a?new n.Just(e.applicationJSON):n.Nothing.value},s=i.create,l=a.create,d=c.create,w=o.create,m=u.create,v=r.create,h=function(n){return new t(function(e){return e(n)})};module.exports={ArrayView:t,Blob:r,Document:u,String:i,FormData:o,FormURLEncoded:c,Json:a,arrayView:h,blob:v,document:m,string:s,formData:w,formURLEncoded:d,json:l,toMediaType:f}; +},{"../Data.Maybe/index.js":"5mN7","../Data.MediaType.Common/index.js":"PJcd"}],"cjQ0":[function(require,module,exports) { +"use strict";var e=require("../Data.Eq/index.js"),n=require("../Data.Newtype/index.js"),r=require("../Data.Ord/index.js"),t=require("../Data.Show/index.js"),i=function(e){return e},u=new t.Show(function(e){return"(MediaType "+t.show(t.showString)(e)+")"}),o=new n.Newtype(function(e){return e},i),a=new e.Eq(function(e){return function(n){return e===n}}),d=new r.Ord(function(){return a},function(e){return function(n){return r.compare(r.ordString)(e)(n)}});module.exports={MediaType:i,newtypeMediaType:o,eqMediaType:a,ordMediaType:d,showMediaType:u}; +},{"../Data.Eq/index.js":"Pq4F","../Data.Newtype/index.js":"lz8k","../Data.Ord/index.js":"r4Vb","../Data.Show/index.js":"mFY7"}],"QBMh":[function(require,module,exports) { +"use strict";var e=require("../Data.Eq/index.js"),n=require("../Data.MediaType/index.js"),t=require("../Data.Newtype/index.js"),r=require("../Data.Ord/index.js"),a=require("../Data.Ordering/index.js"),u=require("../Data.Show/index.js"),i=function(){function e(e){this.value0=e}return e.create=function(n){return new e(n)},e}(),o=function(){function e(e){this.value0=e}return e.create=function(n){return new e(n)},e}(),c=function(){function e(e,n){this.value0=e,this.value1=n}return e.create=function(n){return function(t){return new e(n,t)}},e}(),f=function(e){if(e instanceof i)return t.unwrap(n.newtypeMediaType)(e.value0);if(e instanceof o)return t.unwrap(n.newtypeMediaType)(e.value0);if(e instanceof c)return e.value1;throw new Error("Failed pattern match at Affjax.RequestHeader (line 26, column 1 - line 26, column 33): "+[e.constructor.name])},s=new u.Show(function(e){if(e instanceof i)return"(Accept "+u.show(n.showMediaType)(e.value0)+")";if(e instanceof o)return"(ContentType "+u.show(n.showMediaType)(e.value0)+")";if(e instanceof c)return"(RequestHeader "+u.show(u.showString)(e.value0)+" "+u.show(u.showString)(e.value1)+")";throw new Error("Failed pattern match at Affjax.RequestHeader (line 16, column 1 - line 19, column 81): "+[e.constructor.name])}),l=function(e){if(e instanceof i)return"Accept";if(e instanceof o)return"Content-Type";if(e instanceof c)return e.value0;throw new Error("Failed pattern match at Affjax.RequestHeader (line 21, column 1 - line 21, column 32): "+[e.constructor.name])},d=new e.Eq(function(t){return function(r){return t instanceof i&&r instanceof i?e.eq(n.eqMediaType)(t.value0)(r.value0):t instanceof o&&r instanceof o?e.eq(n.eqMediaType)(t.value0)(r.value0):t instanceof c&&r instanceof c&&(t.value0===r.value0&&t.value1===r.value1)}}),v=new r.Ord(function(){return d},function(e){return function(t){if(e instanceof i&&t instanceof i)return r.compare(n.ordMediaType)(e.value0)(t.value0);if(e instanceof i)return a.LT.value;if(t instanceof i)return a.GT.value;if(e instanceof o&&t instanceof o)return r.compare(n.ordMediaType)(e.value0)(t.value0);if(e instanceof o)return a.LT.value;if(t instanceof o)return a.GT.value;if(e instanceof c&&t instanceof c){var u=r.compare(r.ordString)(e.value0)(t.value0);return u instanceof a.LT?a.LT.value:u instanceof a.GT?a.GT.value:r.compare(r.ordString)(e.value1)(t.value1)}throw new Error("Failed pattern match at Affjax.RequestHeader (line 14, column 1 - line 14, column 54): "+[e.constructor.name,t.constructor.name])}});module.exports={Accept:i,ContentType:o,RequestHeader:c,name:l,value:f,eqRequestHeader:d,ordRequestHeader:v,showRequestHeader:s}; +},{"../Data.Eq/index.js":"Pq4F","../Data.MediaType/index.js":"cjQ0","../Data.Newtype/index.js":"lz8k","../Data.Ord/index.js":"r4Vb","../Data.Ordering/index.js":"5Eun","../Data.Show/index.js":"mFY7"}],"QSsR":[function(require,module,exports) { +"use strict";var n=require("../Control.Category/index.js"),e=require("../Data.Maybe/index.js"),t=require("../Data.MediaType.Common/index.js"),r=require("../Foreign/index.js"),i=function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}(),o=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),u=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),a=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),c=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),f=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),s=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),l=function(n){if(n instanceof o)return"arraybuffer";if(n instanceof u)return"blob";if(n instanceof a)return"document";if(n instanceof c)return"text";if(n instanceof f)return"text";if(n instanceof s)return"";throw new Error("Failed pattern match at Affjax.ResponseFormat (line 46, column 3 - line 52, column 19): "+[n.constructor.name])},y=function(n){return n instanceof c?new e.Just(t.applicationJSON):e.Nothing.value},d=new f(n.identity(n.categoryFn)),w=function(n){return r.renderForeignError(n.value0)},g=new c(n.identity(n.categoryFn)),m=new s(n.identity(n.categoryFn)),p=new a(n.identity(n.categoryFn)),F=new u(n.identity(n.categoryFn)),h=new o(n.identity(n.categoryFn));module.exports={ArrayBuffer:o,Blob:u,Document:a,Json:c,String:f,Ignore:s,arrayBuffer:h,blob:F,document:p,json:g,string:d,ignore:m,toResponseType:l,toMediaType:y,ResponseFormatError:i,printResponseFormatError:w}; +},{"../Control.Category/index.js":"IAi2","../Data.Maybe/index.js":"5mN7","../Data.MediaType.Common/index.js":"PJcd","../Foreign/index.js":"pu1p"}],"ev5/":[function(require,module,exports) { +"use strict";var e=require("../Data.Eq/index.js"),n=require("../Data.Ord/index.js"),r=require("../Data.Ordering/index.js"),u=require("../Data.Show/index.js"),t=function(){function e(e,n){this.value0=e,this.value1=n}return e.create=function(n){return function(r){return new e(n,r)}},e}(),a=function(e){return e.value1},o=new u.Show(function(e){return"(ResponseHeader "+u.show(u.showString)(e.value0)+" "+u.show(u.showString)(e.value1)+")"}),i=function(e){return e.value0},s=new e.Eq(function(e){return function(n){return e.value0===n.value0&&e.value1===n.value1}}),v=new n.Ord(function(){return s},function(e){return function(u){var t=n.compare(n.ordString)(e.value0)(u.value0);return t instanceof r.LT?r.LT.value:t instanceof r.GT?r.GT.value:n.compare(n.ordString)(e.value1)(u.value1)}});module.exports={ResponseHeader:t,name:i,value:a,eqResponseHeader:s,ordResponseHeader:v,showResponseHeader:o}; +},{"../Data.Eq/index.js":"Pq4F","../Data.Ord/index.js":"r4Vb","../Data.Ordering/index.js":"5Eun","../Data.Show/index.js":"mFY7"}],"fv/y":[function(require,module,exports) { +"use strict";function r(r){return r}exports.fromBoolean=r,exports.fromNumber=r,exports.fromString=r,exports.fromArray=r,exports.fromObject=r,exports.jsonNull=null,exports.stringify=function(r){return JSON.stringify(r)};var t=Object.prototype.toString,e=Object.keys;function n(r){return"[object Array]"===t.call(r)}exports._caseJson=function(r,e,n,o,f,u,l){return null==l?r():"boolean"==typeof l?e(l):"number"==typeof l?n(l):"string"==typeof l?o(l):"[object Array]"===t.call(l)?f(l):u(l)},exports._compare=function r(t,o,f,u,l){if(null==u)return null==l?t:f;if("boolean"==typeof u)return"boolean"==typeof l?u===l?t:!1===u?f:o:null==l?o:f;if("number"==typeof u)return"number"==typeof l?u===l?t:ua.length)return o;for(var s=y.concat(a).sort(),g=0;g1})(t.feature.blocks));return O.append(de.semigroupDrawing)(de.outlined(O.append(de.semigroupOutlineStyle)(de.outlineColor(i.darkgrey))(de.lineWidth(1)))(n))(de.filled(de.fillColor(i.lightgrey))(n))};if(f<1)return M.Nothing.value;var l={x:n.value0+ue.pairSize(R.ringNumber)(n)*T.unwrap(ue.newtypeNormalized)(ie.featureNormX(t)),y:.5*e.height},s={x:l.x+f,y:l.y+15};return o.pure(M.applicativeMaybe)({bigDrawing:{drawing:function(e){return O.append(de.semigroupDrawing)((J.unit,n=de.rectangle(1.5)(14)(f-1.5)(2),O.append(de.semigroupDrawing)(de.outlined(O.append(de.semigroupOutlineStyle)(de.outlineColor(r.black))(de.lineWidth(3)))(n))(de.filled(de.fillColor(r.black))(n))))(d(J.unit));var n},topLeft:l,bottomRight:s},label:{text:t.feature.geneName,point:l,gravity:ae.LCenter.value}})}}},Le=function(e){return function(n){return function(n){return function(r){var t,i=F.toUnfoldable(D.unfoldableList)(A.map(F.functorMap)(B.fromFoldable(h.foldableArray))(e)),u=B.concatMap(function(e){return M.fromMaybe(N.mempty(D.monoidList))(a.bind(M.bindMaybe)(F.lookup(ce.ordChrId)(e.value0)(n))(function(n){return o.pure(M.applicativeMaybe)(g.filterMap(g.filterableList)(qe(r)(n))(e.value1))}))})(i),f=X.inj()(new U.IsSymbol(function(){return"labels"}))(ae._labels)(A.map(D.functorList)(function(e){return e.label})(u)),c=A.map(D.functorList)((t=X.inj()(new U.IsSymbol(function(){return"bigDrawing"}))(ae._bigDrawing),function(e){return t(e.bigDrawing)}))(u);return{renderables:new D.Cons(f,c)}}}}},Ee=function(e){return function(n){var r=e.y-n.y,t=e.x-n.x;return le.sqrt(le.pow(t)(2)+le.pow(r)(2))}},Be=function(e){return function(n){var r,t,i,a=A.map(F.functorMap)(B.fromFoldable(h.foldableArray))(e),f=function(e){return v.foldMapWithIndex(F.foldableWithIndexMap)(D.monoidList)(function(r){return function(t){return h.foldMap(h.foldableMaybe)(D.monoidList)(A.map(D.functorList)(G.fanout(u.categoryFn)(G.strongFn)(u.identity(u.categoryFn))((i=t,function(r){return{x:i.value0+ue.pairSize(R.ringNumber)(i)*T.unwrap(ue.newtypeNormalized)(ie.featureNormX(r)),y:e.height*(1-Ie(n.threshold)(r.feature.score))}}))))(F.lookup(ce.ordChrId)(r)(a));var i}})},c=function(e){return function(r){return function(t){return s.fromFoldable(D.foldableList)(g.filterMap(g.filterableList)(function(e){if(Ee(e.value1)(t)<=n.render.radius+r)return new M.Just(e.value0);if(m.otherwise)return M.Nothing.value;throw new Error("Failed pattern match at Genetics.Browser.Demo (line 500, column 15 - line 500, column 63): "+[e.constructor.name])})(e))}}},d=(r=de.circle(n.render.pixelOffset.x)(n.render.pixelOffset.y)(n.render.radius),t=de.filled(de.fillColor(T.unwrap(ie.newtypeHexColor)(n.render.color.fill)))(r),i=de.outlined(O.append(de.semigroupOutlineStyle)(de.outlineColor(T.unwrap(ie.newtypeHexColor)(n.render.color.outline)))(de.lineWidth(n.render.lineWidth)))(r),O.append(de.semigroupDrawing)(i)(t)),l=function(e){return o.pure(o.applicativeArray)({drawing:d,points:A.map(A.functorArray)(C.view(E._2(j.strongForget)))(s.fromFoldable(D.foldableList)(e))})};return function(e){return function(n){var r=f(n)(e);return{renderables:o.pure(D.applicativeList)(X.inj()(new U.IsSymbol(function(){return"drawingBatch"}))(ae._drawingBatch)(l(r))),hotspots:c(r)}}}}},De={radius:3.75,lineWidth:1,color:{outline:T.wrap(ie.newtypeHexColor)(i.darkblue),fill:T.wrap(ie.newtypeHexColor)(i.darkblue)},pixelOffset:{x:0,y:0}},Fe={radius:5.5,outline:T.wrap(ie.newtypeHexColor)(r.black),snpColor:T.wrap(ie.newtypeHexColor)(t.blue),geneColor:T.wrap(ie.newtypeHexColor)(t.red)},Me=function(e){return ie.fixedUILayer(fe.CRight.create(ie.drawLegendInSlot(e)))},Ne=function(e){return function(e){return function(n){return S.mapWithIndex(F.functorWithIndexMap)(function(r){return function(t){return M.fromMaybe([])(a.bind(M.bindMaybe)(F.lookup(ce.ordChrId)(r)(e))(function(e){return a.bind(M.bindMaybe)(F.lookup(ce.ordChrId)(r)(n))(function(n){return a.bind(M.bindMaybe)(A.map(M.functorMaybe)(function(e){return e.frameSize})(s.head(e)))(function(r){var i=w.div(ce.euclideanRingBp)(_.mul(ce.semiringBp)(T.wrap(ce.newtypeBp)(3.75))(r))(T.wrap(ce.newtypeBp)(ue.pairSize(R.ringNumber)(t)));return o.pure(M.applicativeMaybe)(A.map(A.functorArray)(function(e){return{elements:g.filter(g.filterableArray)((r=ue.pairsOverlap(ce.ordBp)(e.covers),function(e){return r(e.position)}))(n),covers:e.covers,y:e.y};var r})(Ae(i)(e)))})})}))}})}}},Te=function(e){return function(n){var r=function(n){return O.append(O.semigroupFn(de.semigroupDrawing))(de.outlined(O.append(de.semigroupOutlineStyle)(de.outlineColor(T.unwrap(ie.newtypeHexColor)(e.outline)))(de.lineWidth(2))))(de.filled(de.fillColor(T.unwrap(ie.newtypeHexColor)(n))))(de.circle(0)(0)(e.radius))};if(n.feature.gene instanceof M.Nothing)return{text:"SNP name",icon:r(e.snpColor)};if(n.feature.gene instanceof M.Just)return{text:"Gene name",icon:r(e.geneColor)};throw new Error("Failed pattern match at Genetics.Browser.Demo (line 389, column 6 - line 391, column 69): "+[n.feature.gene.constructor.name])}},ke=function(e){return function(n){return function(n){return function(r){var t=s.concat(s.fromFoldable(D.foldableList)(A.map(D.functorList)(s.fromFoldable(e))(F.values(r))));return ie.trackLegend(h.foldableArray)(A.functorArray)(Te(n))(t)}}}},Pe=function(e){return function(n){return function(t){return function(i){return function(u){var f=.06*u.height,c=function(e){var n=e.covers.value0+.5*(e.covers.value1-e.covers.value0),i=s.null(e.elements)?N.mempty(de.monoidDrawing):de.outlined(O.append(de.semigroupOutlineStyle)(de.lineWidth(1.3))(de.outlineColor(r.black)))(de.path(h.foldableArray)([{x:0,y:0},{x:0,y:-f}])),o=de.translate(0)(-f)(h.foldr(h.foldableArray)(function(e){return function(n){return de.translate(0)(-6.5)(O.append(de.semigroupDrawing)(Te(t)(e).icon)(n))}})(N.mempty(de.monoidDrawing))(e.elements)),a=14*h.length(h.foldableArray)(_.semiringNumber)(e.elements),u={drawing:O.append(de.semigroupDrawing)(i)(o),points:[{x:n,y:e.y}]},c=function(e){var n=f+4.5*h.length(h.foldableArray)(_.semiringNumber)(e.elements),r=e.y-n;return{x:e.covers.value0,y:r,width:14,height:n}}(e),d=c.y>a?{g:ae.LCenter.value,y0:c.y}:{g:ae.LLeft.value,y0:e.y},l=K.snd(h.foldr(h.foldableArray)(function(e){return function(r){return K.Tuple.create(r.value0-8)(new D.Cons({text:M.fromMaybe(e.feature.name)(e.feature.gene),point:{x:n,y:r.value0},gravity:d.g},r.value1))}})(new K.Tuple(d.y0,N.mempty(D.monoidList)))(e.elements));return new K.Tuple([u],l)};return function(r){var t,f=(t=function(r){return S.mapWithIndex(F.functorWithIndexMap)(function(t){return function(i){return M.fromMaybe([])(a.bind(M.bindMaybe)(A.map(M.functorMaybe)((f=T.wrap(ce.newtypeBp),c=ue.pairSize(p.ringBigInt),function(e){return f(p.toNumber(c(e)))}))(F.lookup(ce.ordChrId)(t)(C.viewOn(e)(ue._Segments(j.strongForget)))))(function(e){return a.bind(M.bindMaybe)(F.lookup(ce.ordChrId)(t)(r))(function(r){return o.pure(M.applicativeMaybe)(A.map(A.functorArray)(function(t){return{covers:A.map(P.functorPair)(function(n){return r.value0+ue.pairSize(R.ringNumber)(r)*T.unwrap(ce.newtypeBp)(w.div(ce.euclideanRingBp)(n)(e))})(t.covers),y:u.height*(1-Ie(n)(t.y)),elements:t.elements}})(i))})}));var f,c}})(i)}(r),h.foldMap(F.foldableMap)(K.monoidTuple(N.monoidArray)(D.monoidList))(h.foldMap(h.foldableArray)(K.monoidTuple(N.monoidArray)(D.monoidList))(c))(t));return{drawingBatch:f.value0,labels:f.value1}}}}}}},Ge=function(e){return function(n){return function(r){return function(t){var i=Ne(e)(n)(r);return function(n){return function(r){var o=Pe(e)(t.threshold)(t.render)(i(n))(r)(n);return{renderables:B.fromFoldable(h.foldableArray)([X.inj()(new U.IsSymbol(function(){return"drawingBatch"}))(ae._drawingBatch)(o.drawingBatch),X.inj()(new U.IsSymbol(function(){return"labels"}))(ae._labels)(o.labels)])}}}}}}},Re=function(e){return function(e){return me.keys()(me.consKeys(new U.IsSymbol(function(){return"chr"}))(me.consKeys(new U.IsSymbol(function(){return"gene"}))(me.consKeys(new U.IsSymbol(function(){return"name"}))(me.consKeys(new U.IsSymbol(function(){return"pos"}))(me.consKeys(new U.IsSymbol(function(){return"url"}))(me.nilKeys))))))(J.unit)}},Oe=function(e){return a.bind(d.bindExceptT(I.monadIdentity))(A.map(d.functorExceptT(I.functorIdentity))(B.fromFoldable(h.foldableArray))(te.keys(e)))(function(n){var r=B.difference(b.eqString)(n)(Re(me.consKeys(new U.IsSymbol(function(){return"chr"}))(me.consKeys(new U.IsSymbol(function(){return"gene"}))(me.consKeys(new U.IsSymbol(function(){return"name"}))(me.consKeys(new U.IsSymbol(function(){return"pos"}))(me.consKeys(new U.IsSymbol(function(){return"url"}))(me.nilKeys))))))());return W.for(d.applicativeExceptT(I.monadIdentity))(D.traversableList)(r)(function(n){return A.map(d.functorExceptT(I.functorIdentity))(function(e){return{field:n,value:e}})(re.readProp(n)(e))})})},_e=function(e){return function(n){return a.bind(d.bindExceptT(I.monadIdentity))(ye["read'"](ye.readRecord()(ye.readFieldsCons(new U.IsSymbol(function(){return"chr"}))(ye.readString)(ye.readFieldsCons(new U.IsSymbol(function(){return"gene"}))(ye.readMaybe(ye.readString))(ye.readFieldsCons(new U.IsSymbol(function(){return"name"}))(ye.readString)(ye.readFieldsCons(new U.IsSymbol(function(){return"pos"}))(ye.readNumber)(ye.readFieldsCons(new U.IsSymbol(function(){return"url"}))(ye.readMaybe(ye.readString))(ye.readFieldsNil)()())()())()())()())()()))(n))(function(r){return a.bind(d.bindExceptT(I.monadIdentity))(Oe(n))(function(n){var t,i=pe.build(l.composeFlipped(pe.semigroupoidBuilder)(pe.insert()()(new U.IsSymbol(function(){return"rest"}))(U.SProxy.value)(n))(l.composeFlipped(pe.semigroupoidBuilder)(pe.modify()()(new U.IsSymbol(function(){return"chr"}))(U.SProxy.value)(ce.ChrId))(pe.modify()()(new U.IsSymbol(function(){return"pos"}))(U.SProxy.value)(ce.Bp))))(r),u=(t=i.pos,new P.Pair(t,t));return a.bind(d.bindExceptT(I.monadIdentity))(function(){var n=F.lookup(ce.ordChrId)(i.chr)(C.view(ue._Segments(j.strongForget))(e));if(n instanceof M.Nothing)return f.throwError(d.monadThrowExceptT(I.monadIdentity))(o.pure(D.applicativeNonEmptyList)(new ne.ForeignError("Annotation chr not found in coordinate system!")));if(n instanceof M.Just)return o.pure(d.applicativeExceptT(I.monadIdentity))(ce.Bp(p.toNumber(ue.pairSize(p.ringBigInt)(n.value0))));throw new Error("Failed pattern match at Genetics.Browser.Demo (line 221, column 16 - line 228, column 49): "+[n.constructor.name])}())(function(e){return o.pure(d.applicativeExceptT(I.monadIdentity))({position:u,frameSize:e,feature:i})})})})}},ze=function(r){return function(t){return a.bind(Y.bindAff)(e.get(n.json)(t))(function(e){return a.bind(Y.bindAff)(y.either((t=f.throwError(Y.monadThrowAff),function(e){return t(ee.error(n.printResponseFormatError(e)))}))(o.pure(Y.applicativeAff))(e.body))(function(e){return a.bind(Y.bindAff)(function(){var n=c.runExcept(ne.readArray(e));if(n instanceof y.Left)return f.throwError(Y.monadThrowAff)(ee.error("Annotations data is not an array"));if(n instanceof y.Right)return o.pure(Y.applicativeAff)(n.value0);throw new Error("Failed pattern match at Genetics.Browser.Demo (line 303, column 16 - line 307, column 37): "+[n.constructor.name])}())(function(e){var n,t=g.partitionMap(g.filterableArray)((n=_e(r),function(e){return c.runExcept(n(e))}))(e);return a.discard(a.discardUnit)(Y.bindAff)(Z.liftEffect(Y.monadEffectAff)(function(){return $.log(Z.monadEffectEffect)("Raw annotations array length: "+z.show(z.showInt)(s.length(e)))(),$.log(Z.monadEffectEffect)("Could not parse "+z.show(z.showInt)(h.length(h.foldableArray)(_.semiringInt)(t.left))+" annotations.")(),$.log(Z.monadEffectEffect)("Successfully parsed "+z.show(z.showInt)(h.length(h.foldableArray)(_.semiringInt)(t.right))+" annotations.")(),$.log(Z.monadEffectEffect)(t.right)()}))(function(){return a.discard(a.discardUnit)(Y.bindAff)(function(){var e=s.head(t.right);if(e instanceof M.Nothing)return o.pure(Y.applicativeAff)(J.unit);if(e instanceof M.Just)return Z.liftEffect(Y.monadEffectAff)(function(){return $.log(Z.monadEffectEffect)("first annotation: ")(),h.sequence_(V.applicativeEffect)(D.foldableList)(A.map(D.functorList)($.log(Z.monadEffectEffect))(A.map(D.functorList)(function(e){return"> "+e})(ve(e.value0))))()});throw new Error("Failed pattern match at Genetics.Browser.Demo (line 325, column 3 - line 329, column 62): "+[e.constructor.name])}())(function(){return o.pure(Y.applicativeAff)(ie.groupToMap(N.monoidArray)(ce.ordChrId)(h.foldableArray)(o.applicativeArray)(function(e){return e.feature.chr})(t.right))})})})});var t})}},Ue=function(e){return function(n){return function(n){return function(r){var t={segmentPadding:12,coordinateSystem:e},i=ie.trackLikeLayer(new U.IsSymbol(function(){return"genes"}))()(t)(U.SProxy.value)(fe.Center.create(Le(n.genes)));return a.bind(Y.bindAff)(ae.newLayer(Q.monadAffAff)()(oe.cacherAffCons(new U.IsSymbol(function(){return"renderables"}))()()()()(oe.cacherAffNil(be.refl)))(r)("genes")(i))(function(e){return o.pure(Y.applicativeAff)({genes:function(n){return function(r){return a.discard(a.discardUnit)(Y.bindAff)(e.run({genes:{},view:r}))(function(){return a.bind(Y.bindAff)(e.last.renderables)(e.drawOnCanvas(n))})}}})})}}}},We=function(e){return function(n){return function(r){return a.bind(Y.bindAff)(ae.newLayer(Q.monadAffAff)()(oe.cacherAffCons(new U.IsSymbol(function(){return"renderables"}))()()()()(oe.cacherAffNil(be.refl)))(r)("chrBackground")(ie.trackLikeLayer(new U.IsSymbol(function(){return"background"}))()(e)(U.SProxy.value)(new fe.Center(ie.chrBackgroundLayer))))(function(t){return a.bind(Y.bindAff)(ae.newLayer(Q.monadAffAff)()(oe.cacherAffCons(new U.IsSymbol(function(){return"renderables"}))()()()()(oe.cacherAffNil(be.refl)))(r)("chrLabels")(ie.chrLabelsLayer(e)({fontSize:n.chrLabels.fontSize})))(function(r){return o.pure(Y.applicativeAff)(function(i){return function(o){var u={background:{chrBG1:n.chrBG1,chrBG2:n.chrBG2,segmentPadding:e.segmentPadding},view:o};return h.traverse_(Y.applicativeAff)(h.foldableArray)(function(e){return a.discard(a.discardUnit)(Y.bindAff)(e.run(u))(function(){return a.bind(Y.bindAff)(e.last.renderables)(e.drawOnCanvas(i))})})([t,r])}})})})}}},Ke=U.SProxy.value,He=U.SProxy.value,Je=function(e){return function(n){return function(r){var i=pe.build(pe.merge()()(n.vscale))(n.score),u=je(n.score)(r.snps),f=se.insert(new U.IsSymbol(function(){return"entries"}))()()(U.SProxy.value)(ke(h.foldableArray)(A.functorArray)(n.annotations)(r.annotations))(n.legend),c={segmentPadding:12,coordinateSystem:e},d=ie.trackLikeLayer(new U.IsSymbol(function(){return"snps"}))()(c)(Ke)(fe.Center.create(Be(r.snps))),l=ie.trackLikeLayer(new U.IsSymbol(function(){return"annotations"}))()(c)(He)(fe.Center.create(Ge(e)(u)(r.annotations)));return function(e){return a.bind(Y.bindAff)(ae.newLayer(Q.monadAffAff)()(oe.cacherAffCons(new U.IsSymbol(function(){return"renderables"}))()()()()(oe.cacherAffNil(be.refl)))(e)("ruler")(new fe.Layer(fe.Fixed.value,fe.NoMask.value,new fe.Center(ie.thresholdRuler))))(function(r){return a.bind(Y.bindAff)(ae.newLayer(Q.monadAffAff)()(oe.cacherAffCons(new U.IsSymbol(function(){return"hotspots"}))()()()()(oe.cacherAffCons(new U.IsSymbol(function(){return"renderables"}))()()()()(oe.cacherAffNil(be.refl))))(e)("snps")(d))(function(u){return a.bind(Y.bindAff)(ae.newLayer(Q.monadAffAff)()(oe.cacherAffCons(new U.IsSymbol(function(){return"renderables"}))()()()()(oe.cacherAffNil(be.refl)))(e)("annotations")(l))(function(c){return a.bind(Y.bindAff)(ae.newLayer(Q.monadAffAff)()(oe.cacherAffCons(new U.IsSymbol(function(){return"renderables"}))()()()()(oe.cacherAffNil(be.refl)))(e)("vscale")(we(i)))(function(i){return a.bind(Y.bindAff)(ae.newLayer(Q.monadAffAff)()(oe.cacherAffCons(new U.IsSymbol(function(){return"renderables"}))()()()()(oe.cacherAffNil(be.refl)))(e)("legend")(Me(f)))(function(e){var f,d=(f={rulerColor:T.wrap(ie.newtypeHexColor)(t.red),threshold:n.score},h.traverse_(Y.applicativeAff)(h.foldableArray)(function(e){return a.discard(a.discardUnit)(Y.bindAff)(e.run(f))(function(){return a.bind(Y.bindAff)(e.last.renderables)(e.drawOnCanvas(new P.Pair(0,0)))})})([e,i,r]));return o.pure(Y.applicativeAff)({snps:function(e){return function(r){return a.discard(a.discardUnit)(Y.bindAff)(u.run({snps:{threshold:n.score,render:n.snps},view:r}))(function(){return a.bind(Y.bindAff)(u.last.renderables)(u.drawOnCanvas(e))})}},annotations:function(e){return function(r){return a.discard(a.discardUnit)(Y.bindAff)(c.run({annotations:{threshold:n.score,render:n.annotations},view:r}))(function(){return a.bind(Y.bindAff)(c.last.renderables)(c.drawOnCanvas(e))})}},hotspots:u.last.hotspots,fixedUI:d})})})})})})}}}};module.exports={renderGenes:Le,drawGene:qe,parseSNP:Se,annotationFields:Re,parseAnnotation:_e,parseAnnotationRest:Oe,showAnnotationField:he,showAnnotation:ve,getSNPs:Ce,getAnnotations:ze,snpPeak:ge,peak1:xe,peaks:Ae,defaultAnnotationsConfig:Fe,annotationLegendEntry:Te,annotationLegendTest:ke,normYLogScore:Ie,dist:Ee,filterSig:je,snpsUI:we,annotationsUI:Me,defaultSNPConfig:De,renderSNPs:Be,annotationsForScale:Ne,renderAnnotationPeaks:Pe,renderAnnotations:Ge,_snps:Ke,_annotations:He,addChrLayers:We,addGWASLayers:Je,addGeneLayers:Ue}; +},{"../Affjax/index.js":"IjAr","../Affjax.ResponseFormat/index.js":"QSsR","../Color/index.js":"f3ma","../Color.Scheme.Clrs/index.js":"rp+n","../Color.Scheme.X11/index.js":"bDzA","../Control.Applicative/index.js":"qYya","../Control.Bind/index.js":"7VcT","../Control.Category/index.js":"IAi2","../Control.Monad.Error.Class/index.js":"L8Lk","../Control.Monad.Except/index.js":"Fye2","../Control.Monad.Except.Trans/index.js":"gr8B","../Control.Semigroupoid/index.js":"/riR","../Data.Array/index.js":"4t4C","../Data.BigInt/index.js":"Zx+T","../Data.Boolean/index.js":"ObQr","../Data.Either/index.js":"B2JL","../Data.Eq/index.js":"Pq4F","../Data.EuclideanRing/index.js":"2IRB","../Data.Filterable/index.js":"6hfS","../Data.Foldable/index.js":"eVDl","../Data.FoldableWithIndex/index.js":"9Efi","../Data.Function/index.js":"ImXJ","../Data.Functor/index.js":"+0AE","../Data.FunctorWithIndex/index.js":"OHRN","../Data.Identity/index.js":"2OKT","../Data.Lens.Getter/index.js":"OPOX","../Data.Lens.Internal.Forget/index.js":"mj9z","../Data.Lens.Internal.Re/index.js":"IZDD","../Data.Lens.Iso/index.js":"fFCp","../Data.Lens.Lens.Tuple/index.js":"RTVM","../Data.List/index.js":"ezw6","../Data.List.Types/index.js":"Xxuc","../Data.Map.Internal/index.js":"RRDs","../Data.Maybe/index.js":"5mN7","../Data.Monoid/index.js":"TiEB","../Data.Newtype/index.js":"lz8k","../Data.Ord/index.js":"r4Vb","../Data.Pair/index.js":"PpsX","../Data.Profunctor.Strong/index.js":"w9p6","../Data.Ring/index.js":"E2qH","../Data.Semigroup/index.js":"EsAJ","../Data.Semiring/index.js":"11NF","../Data.Show/index.js":"mFY7","../Data.Symbol/index.js":"4oJQ","../Data.Traversable/index.js":"n7EE","../Data.Tuple/index.js":"II/O","../Data.Unfoldable/index.js":"77+Z","../Data.Unit/index.js":"NhVk","../Data.Variant/index.js":"hgdh","../Effect/index.js":"oTWB","../Effect.Aff/index.js":"I7lu","../Effect.Aff.Class/index.js":"I4H+","../Effect.Class/index.js":"dWtH","../Effect.Class.Console/index.js":"3Dts","../Effect.Exception/index.js":"0OCW","../Foreign/index.js":"pu1p","../Foreign.Index/index.js":"Ryy1","../Foreign.Keys/index.js":"hcOM","../Genetics.Browser/index.js":"X0te","../Genetics.Browser.Cacher/index.js":"61ee","../Genetics.Browser.Canvas/index.js":"VVkU","../Genetics.Browser.Coordinates/index.js":"7bYH","../Genetics.Browser.Layer/index.js":"YWUW","../Genetics.Browser.Types/index.js":"HhmG","../Graphics.Drawing/index.js":"0WVi","../Math/index.js":"Rpaz","../Record/index.js":"0gG4","../Record.Builder/index.js":"VeY4","../Record.Extra/index.js":"KzZr","../Simple.JSON/index.js":"DqNI","../Type.Equality/index.js":"Uq/R"}],"HH6s":[function(require,module,exports) { +"use strict";var n=require("../Control.Applicative/index.js"),r=require("../Control.Apply/index.js"),t=require("../Control.Bind/index.js"),u=require("../Data.Foldable/index.js"),e=require("../Data.Functor/index.js"),o=require("../Data.Monoid/index.js"),i=require("../Data.Semigroup/index.js"),f=require("../Data.Symbol/index.js"),c=require("../Effect/index.js"),a=require("../Effect.Aff/index.js"),l=require("../Genetics.Browser.Canvas/index.js"),s=require("../Record/index.js"),d=require("../Type.Data.RowList/index.js"),p=require("../Type.Equality/index.js"),m=function(n){return n},y={},v=function(n){this.buildTrack=n},x=function(n){this.fetchDataImpl=n},g=function(n){this.makeContainersImpl=n},C={},P=function(n){this.getTrackConfigImpl=n},S=function(n){this.getLayerConfigImpl=n},h=function(n){this.getBrowserConfigImpl=n},b={},k={},A=function(n){this.combineFunsImpl=n},w={},R=function(n){this.applyLayerDefImpl=n},I=y,L=function(n){return y},F=function(n){return new v(function(n){return function(n){return function(n){return o.mempty(a.monoidAff(o.monoidRecord()(o.monoidRecordCons(new f.IsSymbol(function(){return"hotspots"}))(a.monoidAff(o.monoidFn(o.monoidFn(o.monoidArray))))()(o.monoidRecordCons(new f.IsSymbol(function(){return"render"}))(o.monoidFn(o.monoidFn(a.monoidAff(o.monoidUnit))))()(o.monoidRecordNil)))))}}})},D=function(r){return new x(function(t){return function(t){return function(t){return n.pure(a.applicativeAff)(p.from(r)({}))}}})},q=function(r){return new g(function(t){return function(t){return function(t){return n.pure(c.applicativeEffect)(p.from(r)({}))}}})},j=function(n){return function(n){return function(n){return function(n){return function(n){return C}}}}},T=function(n){return n.makeContainersImpl},N=function(n){return function(r){return function(t){return function(u){return function(e){return function(o){return function(i){return new g(function(c){return function(c){return function(a){var m=p.from(i)(s.get(n)(t)(f.SProxy.value)(a));return function(){var i=l.trackContainer({width:c,height:m.trackHeight})(m.padding)(f.reflectSymbol(n)(f.SProxy.value))(),y=T(r)(d.RLProxy.value)(c)(s.delete(n)(u)(t)(f.SProxy.value)(p.from(p.refl)(a)))();return s.insert(n)(o)(e)(f.SProxy.value)(i)(y)}}}})}}}}}}},U=function(n){return function(n){return T(n)(d.RLProxy.value)}},E=function(n){return n.getTrackConfigImpl},W=function(n){return function(r){return function(t){return function(u){return function(e){return function(o){return function(i){return function(i){return function(c){return function(c){return function(a){return new P(function(l){return function(d){var m=s.get(n)(o)(p.from(r)(f.SProxy.value))(l),y=s.get(e)(i)(p.from(p.refl)(f.SProxy.value))(m);return s.delete(t)(a)(c)(p.from(u)(f.SProxy.value))(y)}})}}}}}}}}}}},B=function(n){return n.getLayerConfigImpl},M=function(n){return function(r){return function(t){return function(u){return function(e){return function(o){return function(i){return function(c){return function(c){return function(a){return function(a){return function(l){return function(l){return function(d){return new S(function(d){return function(m){return function(m){var y=s.get(n)(i)(p.from(r)(f.SProxy.value))(d),v=s.get(e)(c)(p.from(p.refl)(f.SProxy.value))(y),x=s.get(t)(a)(p.from(u)(f.SProxy.value))(v);return s.get(o)(l)(p.from(p.refl)(f.SProxy.value))(x)}}})}}}}}}}}}}}}}},H=function(n){return n.getBrowserConfigImpl},G=function(n){return function(r){return function(t){return function(u){return function(e){return function(o){return function(o){return function(i){return new h(function(c){var a=s.get(n)(e)(p.from(r)(f.SProxy.value))(c);return s.delete(t)(i)(o)(p.from(u)(f.SProxy.value))(a)})}}}}}}}},z=function(n){return n.fetchDataImpl},J=function(r){return function(e){return function(o){return function(i){return function(c){return function(l){return function(p){return function(m){return new x(function(y){return function(y){return function(v){return t.bind(a.bindAff)(z(m)(d.RLProxy.value)(s.delete(r)(e)(o)(f.SProxy.value)(y))(v))(function(e){return t.bind(a.bindAff)(u.foldMap(u.foldableMaybe)(a.monoidAff(i))(s.get(r)(o)(f.SProxy.value)(y))(s.get(r)(c)(f.SProxy.value)(v)))(function(t){return n.pure(a.applicativeAff)(s.insert(r)(l)(p)(f.SProxy.value)(t)(e))})})}}})}}}}}}}},K=function(n){return function(n){return function(n){return function(r){return function(t){return function(u){return l.withLoadingIndicator(a.monadEffectAff)(r)(z(n)(d.RLProxy.value)(t)(u))}}}}}},O=b,Q=b,V=function(n){return b},X=function(n){return b},Y=k,Z=function(n){return function(n){return function(n){return k}}},$=function(n){return n.combineFunsImpl},_=function(n){return function(n){return function(r){return function(t){return $(n)(d.RLProxy.value)(r)(t)}}}},nn=function(n){return new A(function(r){return function(r){return function(r){return p.from(n)({})}}})},rn=function(n){return function(r){return function(t){return function(u){return function(u){return function(e){return function(o){return new A(function(i){return function(i){return function(c){var a=$(o)(d.RLProxy.value)(s.delete(n)(r)(t)(f.SProxy.value)(i))(c),l=s.get(n)(t)(f.SProxy.value)(i);return s.insert(n)(u)(e)(f.SProxy.value)(l(c))(a)}}})}}}}}}},tn=function(n){return n.buildTrack},un=function(n){return function(n){return function(r){return function(t){return tn(n)(d.RLProxy.value)(r)(t)}}}},en=function(u){return function(o){return function(c){return function(l){return function(m){return new v(function(y){return function(y){return function(v){return t.bind(a.bindAff)(tn(m)(d.RLProxy.value)(s.delete(u)(o)(c)(f.SProxy.value)(y))(v))(function(t){var o=r.apply(a.applyAff)(e.map(a.functorAff)(function(n){return function(r){return function(t){return function(u){return i.append(i.semigroupArray)(n(t)(p.from(l)(u)))(r(t)(u))}}}})(s.get(u)(c)(f.SProxy.value)(y)))(t.hotspots);return n.pure(a.applicativeAff)({render:t.render,hotspots:o})})}}})}}}}},on=function(r){return function(u){return function(e){return function(o){return new v(function(c){return function(c){return function(l){return t.bind(a.bindAff)(tn(o)(d.RLProxy.value)(s.delete(r)(u)(e)(f.SProxy.value)(c))(l))(function(t){return n.pure(a.applicativeAff)({render:i.append(i.semigroupFn(i.semigroupFn(a.semigroupAff(i.semigroupUnit))))(function(n){return function(t){return s.get(r)(e)(f.SProxy.value)(c)(n)(t)}})(t.render),hotspots:t.hotspots})})}}})}}}},fn=function(r){return function(u){return function(e){return function(o){return new v(function(c){return function(c){return function(l){return t.bind(a.bindAff)(tn(o)(d.RLProxy.value)(s.delete(r)(u)(e)(f.SProxy.value)(c))(l))(function(t){return n.pure(a.applicativeAff)({render:i.append(i.semigroupFn(i.semigroupFn(a.semigroupAff(i.semigroupUnit))))(function(n){return function(n){return s.get(r)(e)(f.SProxy.value)(c)}})(t.render),hotspots:t.hotspots})})}}})}}}},cn=function(n){return function(n){return function(n){return function(r){return function(t){return new R(function(u){return function(e){return function(o){return function(i){var f=E(r)(i)(e),c=B(t)(i)(e)(o),a=H(n)(i);return u({browserConfig:a,trackConfig:f,layerConfig:c})}}}})}}}}},an=function(n){return n.applyLayerDefImpl},ln=function(n){return function(n){return function(n){return an(n)}}};module.exports={TrackRecord:v,buildTrack:tn,makeTrack:un,TrackConfig:g,makeContainersImpl:T,makeContainers:U,TrackData:x,fetchDataImpl:z,fetchData:K,CombineFuns:A,combineFunsImpl:$,combineFuns:_,SafeUnion:C,UnionConflict:y,ConflictingList:k,ConflictsWith:b,LayerDef:m,trackRecordRender:on,trackRecordUI:fn,trackRecordHotspots:en,trackRecordNil:F,trackConfigNil:q,trackConfigCons:N,trackDataCons:J,trackDataNil:D,combineFunCons:rn,combineFunNil:nn,conflictsWithNil:O,conflictsWithCons1:X,conflictsWithCons3:Q,conflictsWithCons2:V,conflictingListNil:Y,conflictingListCons:Z,unionConflictFail:L,unionConflictSuccess:I,safeUnion:j}; +},{"../Control.Applicative/index.js":"qYya","../Control.Apply/index.js":"QcLv","../Control.Bind/index.js":"7VcT","../Data.Foldable/index.js":"eVDl","../Data.Functor/index.js":"+0AE","../Data.Monoid/index.js":"TiEB","../Data.Semigroup/index.js":"EsAJ","../Data.Symbol/index.js":"4oJQ","../Effect/index.js":"oTWB","../Effect.Aff/index.js":"I7lu","../Genetics.Browser.Canvas/index.js":"VVkU","../Record/index.js":"0gG4","../Type.Data.RowList/index.js":"XaXP","../Type.Equality/index.js":"Uq/R"}],"nvf7":[function(require,module,exports) { +"use strict";exports.onTimeout=function(n){return function(t){return function(){var u=null;return{run:function(){u&&clearTimeout(u),u=setTimeout(function(){u=null,t()},n)},cancel:function(){clearTimeout(u)}}}}},exports.onFrame=function(n){return function(){var t=null;return{run:function(){t&&window.cancelAnimationFrame(t),t=window.requestAnimationFrame(function(u){n(),t=null})},cancel:function(){t&&(window.cancelAnimationFrame(t),t=null)}}}}; +},{}],"Tmz+":[function(require,module,exports) { +"use strict";var e=require("./foreign.js"),n=require("../Control.Bind/index.js"),r=require("../Control.Category/index.js"),t=require("../Data.BigInt/index.js"),i=require("../Data.Either/index.js"),o=require("../Data.Foldable/index.js"),u=require("../Data.Function/index.js"),a=require("../Data.Lens.Getter/index.js"),c=require("../Data.List.Types/index.js"),s=require("../Data.Monoid/index.js"),f=require("../Data.Newtype/index.js"),l=require("../Data.Ord/index.js"),d=require("../Data.Pair/index.js"),w=require("../Data.Semigroup/index.js"),m=require("../Data.Semiring/index.js"),v=require("../Data.Show/index.js"),p=require("../Effect/index.js"),g=require("../Effect.Class/index.js"),q=require("../Effect.Ref/index.js"),h=require("../Genetics.Browser.Canvas/index.js"),y=require("../Genetics.Browser.Coordinates/index.js"),j=function(){function e(e){this.value0=e}return e.create=function(n){return new e(n)},e}(),x=function(){function e(e){this.value0=e}return e.create=function(n){return new e(n)},e}(),B=function(){function e(e){this.value0=e}return e.create=function(n){return new e(n)},e}(),V=function(e){return f.over(y.coordsysviewNewtype)(y.coordsysviewNewtype)(y.CoordSysView)(function(){if(e instanceof x)return function(n){return y.scalePairBy(n)(e.value0)};if(e instanceof j)return function(n){return y.translatePairBy(n)(e.value0)};if(e instanceof B)return e.value0;throw new Error("Failed pattern match at Genetics.Browser.UI.View (line 58, column 39 - line 61, column 20): "+[e.constructor.name])}())},E=new v.Show(function(e){return e instanceof j?"(Scroll by "+v.show(v.showNumber)(e.value0)+")":e instanceof x?"(Zoom by "+v.show(v.showNumber)(e.value0)+")":"(ModView)"}),D=new w.Semigroup(function(e){return function(n){return e instanceof j&&n instanceof j?new j(e.value0+n.value0):e instanceof x&&n instanceof x?new x(e.value0*n.value0):n}}),I=new s.Monoid(function(){return D},new B(r.identity(r.categoryFn))),S=function(n){return function(r){return function(t){return function(o){return function(u){return function(){var a=q.new(o.position)(),c=q.new(o.velocity)(),f=e.onTimeout(u)(function(){var e=q.read(a)();return t(new i.Left(e))()})(),l=e.onFrame(function(){var e=q.read(c)();q.write(s.mempty(n))(c)();var o=q.read(a)();return q.write(r.step(e)(o))(a)(),t(i.Right.create(r.animate(e)(o)))(),f.run()})(),d=q.read(c);return{update:function(e){return function(){return q.modify_(function(r){return w.append(n.Semigroup0())(r)(e)})(c)(),l.run()}},position:q.read(a),velocity:d}}}}}}},T=function(e){return function(r){return function(f){return function(w){return function(){var v=q.new(s.mempty(c.monoidList))(),E={position:f.initialView,velocity:s.mempty(I)},D=S(I)({step:function(n){var r=y.normalizeView(e)(t.fromInt(2e5)),i=V(n);return function(e){return r(i(e))}},animate:function(n){return function(r){if(n instanceof j)return new h.Scrolling((i=r,function(n){return n<0?l.lessThanOrEq(t.ordBigInt)(i.value0)(m.zero(t.semiringBigInt))?0:n:l.greaterThanOrEq(t.ordBigInt)(i.value1)(a.viewOn(e)(y._TotalSize(t.ringBigInt)))?0:n})(n.value0));var i;if(n instanceof x)return new h.Zooming(function(n){return function(r){var i=(r-1)/2,o=l.lessThanOrEq(t.ordBigInt)(n.value0)(m.zero(t.semiringBigInt))?0:-i,u=l.greaterThanOrEq(t.ordBigInt)(n.value1)(a.viewOn(e)(y._TotalSize(t.ringBigInt)))?1:1+i;return new d.Pair(o,u)}}(r)(n.value0));if(n instanceof B)return h.Jump.value;throw new Error("Failed pattern match at Genetics.Browser.UI.View (line 130, column 24 - line 133, column 29): "+[n.constructor.name])}}})(function(e){if(e instanceof i.Right)return h.forTracks_(g.monadEffectEffect)(w)(u.flip(h.animateTrack)(e.value0));if(e instanceof i.Left)return n.bind(p.bindEffect)(q.read(v))(o.traverse_(p.applicativeEffect)(c.foldableList)(function(n){return n(e.value0)}));throw new Error("Failed pattern match at Genetics.Browser.UI.View (line 151, column 18 - line 153, column 54): "+[e.constructor.name])})(E)(r)();return{updateView:D.update,browserView:D.position,addCallback:function(e){return q.modify_(c.Cons.create(e))(v)}}}}}}};module.exports={ScrollView:j,ZoomView:x,ModView:B,updateViewFold:V,animateDelta:S,browserViewManager:T,showUpdateView:E,semigroupUpdateView:D,monoidUpdateView:I,onTimeout:e.onTimeout,onFrame:e.onFrame}; +},{"./foreign.js":"nvf7","../Control.Bind/index.js":"7VcT","../Control.Category/index.js":"IAi2","../Data.BigInt/index.js":"Zx+T","../Data.Either/index.js":"B2JL","../Data.Foldable/index.js":"eVDl","../Data.Function/index.js":"ImXJ","../Data.Lens.Getter/index.js":"OPOX","../Data.List.Types/index.js":"Xxuc","../Data.Monoid/index.js":"TiEB","../Data.Newtype/index.js":"lz8k","../Data.Ord/index.js":"r4Vb","../Data.Pair/index.js":"PpsX","../Data.Semigroup/index.js":"EsAJ","../Data.Semiring/index.js":"11NF","../Data.Show/index.js":"mFY7","../Effect/index.js":"oTWB","../Effect.Class/index.js":"dWtH","../Effect.Ref/index.js":"/Jaj","../Genetics.Browser.Canvas/index.js":"VVkU","../Genetics.Browser.Coordinates/index.js":"7bYH"}],"CI3f":[function(require,module,exports) { +"use strict";var t=function(t){return function(e){return function(){return e[t]}}};exports.url=t("URL"),exports.documentURI=t("documentURI"),exports.origin=t("origin"),exports.compatMode=t("compatMode"),exports.characterSet=t("characterSet"),exports.contentType=t("contentType"),exports._doctype=t("doctype"),exports._documentElement=t("documentElement"),exports.getElementsByTagName=function(t){return function(e){return function(){return e.getElementsByTagName(t)}}},exports._getElementsByTagNameNS=function(t){return function(e){return function(n){return function(){return n.getElementsByTagNameNS(t,e)}}}},exports.getElementsByClassName=function(t){return function(e){return function(){return e.getElementsByClassName(t)}}},exports.createElement=function(t){return function(e){return function(){return e.createElement(t)}}},exports._createElementNS=function(t){return function(e){return function(n){return function(){return n.createElementNS(t,e)}}}},exports.createDocumentFragment=function(t){return function(){return t.createDocumentFragment()}},exports.createTextNode=function(t){return function(e){return function(){return e.createTextNode(t)}}},exports.createComment=function(t){return function(e){return function(){return e.createComment(t)}}},exports.createProcessingInstruction=function(t){return function(e){return function(n){return function(){return n.createProcessingInstruction(t,e)}}}},exports.importNode=function(t){return function(e){return function(n){return function(){return n.importNode(t,e)}}}},exports.adoptNode=function(t){return function(e){return function(){return e.adoptNode(t)}}}; +},{}],"0hiR":[function(require,module,exports) { +"use strict";var e=require("./foreign.js"),t=require("../Data.Functor/index.js"),n=require("../Data.Nullable/index.js"),o=require("../Effect/index.js"),r=require("../Unsafe.Coerce/index.js"),a=require("../Web.Internal.FFI/index.js"),c=r.unsafeCoerce,u=r.unsafeCoerce,m=r.unsafeCoerce,d=r.unsafeCoerce,s=function(t){return e._getElementsByTagNameNS(n.toNullable(t))},i=a.unsafeReadProtoTagged("Document"),l=a.unsafeReadProtoTagged("Document"),f=a.unsafeReadProtoTagged("Document"),g=a.unsafeReadProtoTagged("Document"),N=function(){var r=t.map(o.functorEffect)(n.toMaybe);return function(t){return r(e._documentElement(t))}}(),E=function(){var r=t.map(o.functorEffect)(n.toMaybe);return function(t){return r(e._doctype(t))}}(),T=function(t){return e._createElementNS(n.toNullable(t))};module.exports={fromNode:f,fromParentNode:i,fromNonElementParentNode:l,fromEventTarget:g,toNode:m,toParentNode:c,toNonElementParentNode:u,toEventTarget:d,doctype:E,documentElement:N,getElementsByTagNameNS:s,createElementNS:T,url:e.url,documentURI:e.documentURI,origin:e.origin,compatMode:e.compatMode,characterSet:e.characterSet,contentType:e.contentType,getElementsByTagName:e.getElementsByTagName,getElementsByClassName:e.getElementsByClassName,createElement:e.createElement,createDocumentFragment:e.createDocumentFragment,createTextNode:e.createTextNode,createComment:e.createComment,createProcessingInstruction:e.createProcessingInstruction,importNode:e.importNode,adoptNode:e.adoptNode}; +},{"./foreign.js":"CI3f","../Data.Functor/index.js":"+0AE","../Data.Nullable/index.js":"YQ8o","../Effect/index.js":"oTWB","../Unsafe.Coerce/index.js":"ETUV","../Web.Internal.FFI/index.js":"fdUh"}],"9SEv":[function(require,module,exports) { +"use strict";var e=function(e){return function(t){return function(){return t[e]}}};exports.children=e("children"),exports._firstElementChild=e("firstElementChild"),exports._lastElementChild=e("lastElementChild"),exports.childElementCount=e("childElementCount"),exports._querySelector=function(e){return function(t){return function(){return t.querySelector(e)}}},exports.querySelectorAll=function(e){return function(t){return function(){return t.querySelectorAll(e)}}}; +},{}],"lU5U":[function(require,module,exports) { +"use strict";var e=require("./foreign.js"),r=require("../Data.Eq/index.js"),t=require("../Data.Functor/index.js"),n=require("../Data.Newtype/index.js"),u=require("../Data.Nullable/index.js"),i=require("../Data.Ord/index.js"),l=require("../Effect/index.js"),o=function(e){return e},c=function(r){var n=t.map(l.functorEffect)(u.toMaybe),i=e._querySelector(r);return function(e){return n(i(e))}},a=i.ordString,f=new n.Newtype(function(e){return e},o),d=function(){var r=t.map(l.functorEffect)(u.toMaybe);return function(t){return r(e._lastElementChild(t))}}(),q=function(){var r=t.map(l.functorEffect)(u.toMaybe);return function(t){return r(e._firstElementChild(t))}}(),s=r.eqString;module.exports={firstElementChild:q,lastElementChild:d,QuerySelector:o,querySelector:c,eqQuerySelector:s,ordQuerySelector:a,newtypeQuerySelector:f,children:e.children,childElementCount:e.childElementCount,querySelectorAll:e.querySelectorAll}; +},{"./foreign.js":"9SEv","../Data.Eq/index.js":"Pq4F","../Data.Functor/index.js":"+0AE","../Data.Newtype/index.js":"lz8k","../Data.Nullable/index.js":"YQ8o","../Data.Ord/index.js":"r4Vb","../Effect/index.js":"oTWB"}],"UOgE":[function(require,module,exports) { +"use strict";exports.window=function(){return window}; +},{}],"UQRJ":[function(require,module,exports) { +"use strict";var e=require("./foreign.js");module.exports={window:e.window}; +},{"./foreign.js":"UOgE"}],"dln3":[function(require,module,exports) { +"use strict";exports._body=function(t){return function(){return t.body}},exports._readyState=function(t){return function(){return t.readyState}},exports._activeElement=function(t){return function(){return t.activeElement}},exports._currentScript=function(t){return function(){return t.currentScript}},exports.referrer=function(t){return function(){return t.referrer}},exports.title=function(t){return function(){return t.title}},exports.setTitle=function(t){return function(r){return function(){return r.title=t,{}}}}; +},{}],"v4VO":[function(require,module,exports) { +"use strict";var n=require("../Data.Eq/index.js"),e=require("../Data.Maybe/index.js"),t=require("../Data.Ord/index.js"),r=require("../Data.Ordering/index.js"),a=require("../Data.Show/index.js"),i=function(){function n(){}return n.value=new n,n}(),o=function(){function n(){}return n.value=new n,n}(),u=function(){function n(){}return n.value=new n,n}(),c=new a.Show(function(n){if(n instanceof i)return"Loading";if(n instanceof o)return"Interactive";if(n instanceof u)return"Complete";throw new Error("Failed pattern match at Web.HTML.HTMLDocument.ReadyState (line 15, column 10 - line 18, column 27): "+[n.constructor.name])}),f=function(n){if(n instanceof i)return"loading";if(n instanceof o)return"interactive";if(n instanceof u)return"complete";throw new Error("Failed pattern match at Web.HTML.HTMLDocument.ReadyState (line 21, column 9 - line 24, column 25): "+[n.constructor.name])},s=function(n){return"loading"===n?new e.Just(i.value):"interactive"===n?new e.Just(o.value):"complete"===n?new e.Just(u.value):e.Nothing.value},l=new n.Eq(function(n){return function(e){return n instanceof i&&e instanceof i||(n instanceof o&&e instanceof o||n instanceof u&&e instanceof u)}}),d=new t.Ord(function(){return l},function(n){return function(e){if(n instanceof i&&e instanceof i)return r.EQ.value;if(n instanceof i)return r.LT.value;if(e instanceof i)return r.GT.value;if(n instanceof o&&e instanceof o)return r.EQ.value;if(n instanceof o)return r.LT.value;if(e instanceof o)return r.GT.value;if(n instanceof u&&e instanceof u)return r.EQ.value;throw new Error("Failed pattern match at Web.HTML.HTMLDocument.ReadyState (line 12, column 1 - line 12, column 48): "+[n.constructor.name,e.constructor.name])}});module.exports={Loading:i,Interactive:o,Complete:u,print:f,parse:s,eqReadyState:l,ordReadyState:d,showReadyState:c}; +},{"../Data.Eq/index.js":"Pq4F","../Data.Maybe/index.js":"5mN7","../Data.Ord/index.js":"r4Vb","../Data.Ordering/index.js":"5Eun","../Data.Show/index.js":"mFY7"}],"EU5r":[function(require,module,exports) { +"use strict";var e=require("./foreign.js"),r=require("../Data.Functor/index.js"),t=require("../Data.Maybe/index.js"),n=require("../Data.Nullable/index.js"),o=require("../Effect/index.js"),a=require("../Unsafe.Coerce/index.js"),u=require("../Web.HTML.HTMLDocument.ReadyState/index.js"),f=require("../Web.Internal.FFI/index.js"),c=a.unsafeCoerce,i=a.unsafeCoerce,d=a.unsafeCoerce,s=a.unsafeCoerce,m=a.unsafeCoerce,T=function(){var n,a=r.map(o.functorEffect)((n=t.fromMaybe(u.Loading.value),function(e){return n(u.parse(e))}));return function(r){return a(e._readyState(r))}}(),g=f.unsafeReadProtoTagged("HTMLDocument"),l=f.unsafeReadProtoTagged("HTMLDocument"),M=f.unsafeReadProtoTagged("HTMLDocument"),D=f.unsafeReadProtoTagged("HTMLDocument"),E=f.unsafeReadProtoTagged("HTMLDocument"),b=function(){var t=r.map(o.functorEffect)(n.toMaybe);return function(r){return t(e._currentScript(r))}}(),v=function(){var t=r.map(o.functorEffect)(n.toMaybe);return function(r){return t(e._body(r))}}(),y=function(){var t=r.map(o.functorEffect)(n.toMaybe);return function(r){return t(e._activeElement(r))}}();module.exports={fromDocument:E,fromNode:M,fromParentNode:g,fromNonElementParentNode:l,fromEventTarget:D,toDocument:m,toNode:d,toParentNode:c,toNonElementParentNode:i,toEventTarget:s,body:v,readyState:T,activeElement:y,currentScript:b,referrer:e.referrer,title:e.title,setTitle:e.setTitle}; +},{"./foreign.js":"dln3","../Data.Functor/index.js":"+0AE","../Data.Maybe/index.js":"5mN7","../Data.Nullable/index.js":"YQ8o","../Effect/index.js":"oTWB","../Unsafe.Coerce/index.js":"ETUV","../Web.HTML.HTMLDocument.ReadyState/index.js":"v4VO","../Web.Internal.FFI/index.js":"fdUh"}],"qu+f":[function(require,module,exports) { +"use strict";exports.document=function(n){return function(){return n.document}},exports.navigator=function(n){return function(){return n.navigator}},exports.location=function(n){return function(){return n.location}},exports.history=function(n){return function(){return n.history}},exports.innerWidth=function(n){return function(){return n.innerWidth}},exports.innerHeight=function(n){return function(){return n.innerHeight}},exports.alert=function(n){return function(r){return function(){return r.alert(n),{}}}},exports.confirm=function(n){return function(r){return function(){return r.confirm(n)}}},exports.moveBy=function(n){return function(r){return function(t){return function(){return t.moveBy(n,r),{}}}}},exports.moveTo=function(n){return function(r){return function(t){return function(){return t.moveTo(n,r),{}}}}},exports._open=function(n){return function(r){return function(t){return function(e){return function(){return e.open(n,r,t)}}}}},exports.outerHeight=function(n){return function(){return n.outerHeight}},exports.outerWidth=function(n){return function(){return n.outerWidth}},exports.print=function(n){return function(){return n.print(),{}}},exports._prompt=function(n){return function(r){return function(t){return function(){return t.prompt(n,r)}}}},exports.resizeBy=function(n){return function(r){return function(t){return function(){return t.resizeBy(n,r),{}}}}},exports.resizeTo=function(n){return function(r){return function(t){return function(){return t.resizeTo(n,r),{}}}}},exports.screenX=function(n){return function(){return n.screenX}},exports.screenY=function(n){return function(){return n.screenY}},exports.scroll=function(n){return function(r){return function(t){return function(){return t.scroll(n,r),{}}}}},exports.scrollBy=function(n){return function(r){return function(t){return function(){return t.scrollBy(n,r),{}}}}},exports.scrollX=function(n){return function(){return n.scrollX}},exports.scrollY=function(n){return function(){return n.scrollY}},exports.localStorage=function(n){return function(){return n.localStorage}},exports.sessionStorage=function(n){return function(){return n.sessionStorage}},exports._requestAnimationFrame=function(n){return function(r){return function(){return r.requestAnimationFrame(n)}}},exports._cancelAnimationFrame=function(n){return function(r){return function(){return r.cancelAnimationFrame(n)}}},exports._requestIdleCallback=function(n){return function(r){return function(t){return function(){return t.requestIdleCallback(r,n)}}}},exports._cancelIdleCallback=function(n){return function(r){return function(){return r.cancelIdleCallback(n)}}},exports.parent=function(n){return function(){return n.parent}},exports._opener=function(n){return function(){return n.opener}}; +},{}],"o+50":[function(require,module,exports) { +"use strict";var e=require("./foreign.js"),n=require("../Data.Eq/index.js"),r=require("../Data.Functor/index.js"),t=require("../Data.Newtype/index.js"),o=require("../Data.Nullable/index.js"),u=require("../Data.Ord/index.js"),i=require("../Effect/index.js"),c=require("../Unsafe.Coerce/index.js"),a=function(e){return e},f=function(e){return e},l=c.unsafeCoerce,s=function(n){return function(t){var o=r.map(i.functorEffect)(a),u=e._requestIdleCallback(n)(t);return function(e){return o(u(e))}}},m=function(n){var t=r.map(i.functorEffect)(f),o=e._requestAnimationFrame(n);return function(e){return t(o(e))}},d=function(n){return function(t){return function(u){return r.map(i.functorEffect)(o.toMaybe)(e._prompt(n)(t)(u))}}},p=function(n){return function(t){return r.map(i.functorEffect)(o.toMaybe)(e._prompt(n)("")(t))}},q=function(n){return r.map(i.functorEffect)(o.toMaybe)(e._opener(n))},y=function(n){return function(t){return function(u){return function(c){return r.map(i.functorEffect)(o.toMaybe)(e._open(n)(t)(u)(c))}}}},I=new t.Newtype(function(e){return e},a),w=new t.Newtype(function(e){return e},f),b=new n.Eq(function(e){return function(n){return e===n}}),g=new u.Ord(function(){return b},function(e){return function(n){return u.compare(u.ordInt)(e)(n)}}),E=new n.Eq(function(e){return function(n){return e===n}}),h=new u.Ord(function(){return E},function(e){return function(n){return u.compare(u.ordInt)(e)(n)}}),v=function(n){return e._cancelIdleCallback(t.unwrap(I)(n))},C=function(n){return e._cancelAnimationFrame(t.unwrap(w)(n))};module.exports={toEventTarget:l,open:y,prompt:p,promptDefault:d,requestAnimationFrame:m,cancelAnimationFrame:C,requestIdleCallback:s,cancelIdleCallback:v,opener:q,newtypeRequestAnimationFrameId:w,eqRequestAnimationFrameId:E,ordRequestAnimationFrameId:h,newtypeRequestIdleCallbackId:I,eqRequestIdleCallbackId:b,ordRequestIdleCallbackId:g,document:e.document,navigator:e.navigator,location:e.location,history:e.history,innerWidth:e.innerWidth,innerHeight:e.innerHeight,alert:e.alert,confirm:e.confirm,moveBy:e.moveBy,moveTo:e.moveTo,outerHeight:e.outerHeight,outerWidth:e.outerWidth,print:e.print,resizeBy:e.resizeBy,resizeTo:e.resizeTo,screenX:e.screenX,screenY:e.screenY,scroll:e.scroll,scrollBy:e.scrollBy,scrollX:e.scrollX,scrollY:e.scrollY,localStorage:e.localStorage,sessionStorage:e.sessionStorage,parent:e.parent}; +},{"./foreign.js":"qu+f","../Data.Eq/index.js":"Pq4F","../Data.Functor/index.js":"+0AE","../Data.Newtype/index.js":"lz8k","../Data.Nullable/index.js":"YQ8o","../Data.Ord/index.js":"r4Vb","../Effect/index.js":"oTWB","../Unsafe.Coerce/index.js":"ETUV"}],"MKE0":[function(require,module,exports) { +"use strict";exports.key=function(t){return t.key},exports.code=function(t){return t.code},exports.locationIndex=function(t){return t.location},exports.ctrlKey=function(t){return t.ctrlKey},exports.shiftKey=function(t){return t.shiftKey},exports.altKey=function(t){return t.altKey},exports.metaKey=function(t){return t.metaKey},exports.repeat=function(t){return t.repeat},exports.isComposing=function(t){return t.isComposing},exports.getModifierState=function(t){return function(e){return function(){return e.getModifierState(t)}}}; +},{}],"o/+T":[function(require,module,exports) { +"use strict";var e=require("./foreign.js"),n=require("../Data.Bounded/index.js"),t=require("../Data.Enum/index.js"),r=require("../Data.Eq/index.js"),o=require("../Data.Maybe/index.js"),u=require("../Data.Ord/index.js"),a=require("../Data.Ordering/index.js"),i=require("../Unsafe.Coerce/index.js"),c=require("../Web.Internal.FFI/index.js"),f=function(){function e(){}return e.value=new e,e}(),s=function(){function e(){}return e.value=new e,e}(),d=function(){function e(){}return e.value=new e,e}(),l=function(){function e(){}return e.value=new e,e}(),v=i.unsafeCoerce,m=i.unsafeCoerce,E=function(e){return 0===e?new o.Just(f.value):1===e?new o.Just(s.value):2===e?new o.Just(d.value):3===e?new o.Just(l.value):o.Nothing.value},y=c.unsafeReadProtoTagged("KeyboardEvent"),K=c.unsafeReadProtoTagged("KeyboardEvent"),w=function(e){if(e instanceof f)return 0;if(e instanceof s)return 1;if(e instanceof d)return 2;if(e instanceof l)return 3;throw new Error("Failed pattern match at Web.UIEvent.KeyboardEvent (line 107, column 3 - line 111, column 16): "+[e.constructor.name])},g=new r.Eq(function(e){return function(n){return e instanceof f&&n instanceof f||(e instanceof s&&n instanceof s||(e instanceof d&&n instanceof d||e instanceof l&&n instanceof l))}}),q=new u.Ord(function(){return g},function(e){return function(n){if(e instanceof f&&n instanceof f)return a.EQ.value;if(e instanceof f)return a.LT.value;if(n instanceof f)return a.GT.value;if(e instanceof s&&n instanceof s)return a.EQ.value;if(e instanceof s)return a.LT.value;if(n instanceof s)return a.GT.value;if(e instanceof d&&n instanceof d)return a.EQ.value;if(e instanceof d)return a.LT.value;if(n instanceof d)return a.GT.value;if(e instanceof l&&n instanceof l)return a.EQ.value;throw new Error("Failed pattern match at Web.UIEvent.KeyboardEvent (line 81, column 1 - line 81, column 50): "+[e.constructor.name,n.constructor.name])}}),x=new t.Enum(function(){return q},t.defaultPred(E)(w),t.defaultSucc(E)(w)),L=new n.Bounded(function(){return q},f.value,l.value),b=new t.BoundedEnum(function(){return L},function(){return x},4,w,E),j=function(n){var r=o.fromJust(n),u=t.toEnum(b);return function(n){return r(u(e.locationIndex(n)))}};module.exports={fromUIEvent:y,fromEvent:K,toUIEvent:v,toEvent:m,location:j,Standard:f,Left:s,Right:d,Numpad:l,toEnumKeyLocation:E,fromEnumKeyLocation:w,eqKeyLocation:g,ordKeyLocation:q,boundedKeyLocation:L,enumKeyLocation:x,boundedEnumKeyLocation:b,key:e.key,code:e.code,locationIndex:e.locationIndex,ctrlKey:e.ctrlKey,shiftKey:e.shiftKey,altKey:e.altKey,metaKey:e.metaKey,repeat:e.repeat,isComposing:e.isComposing,getModifierState:e.getModifierState}; +},{"./foreign.js":"MKE0","../Data.Bounded/index.js":"kcUU","../Data.Enum/index.js":"oOsU","../Data.Eq/index.js":"Pq4F","../Data.Maybe/index.js":"5mN7","../Data.Ord/index.js":"r4Vb","../Data.Ordering/index.js":"5Eun","../Unsafe.Coerce/index.js":"ETUV","../Web.Internal.FFI/index.js":"fdUh"}],"JuOH":[function(require,module,exports) { +"use strict";var e=require("./foreign.js"),n=require("../Control.Applicative/index.js"),r=require("../Control.Apply/index.js"),t=require("../Control.Bind/index.js"),i=require("../Data.Array/index.js"),o=require("../Data.Bifunctor/index.js"),a=require("../Data.BigInt/index.js"),u=require("../Data.Either/index.js"),f=require("../Data.Filterable/index.js"),s=require("../Data.Foldable/index.js"),d=require("../Data.Function/index.js"),c=require("../Data.Functor/index.js"),l=require("../Data.Generic.Rep/index.js"),w=require("../Data.Generic.Rep.Show/index.js"),m=require("../Data.Int/index.js"),b=require("../Data.Lens.Getter/index.js"),p=require("../Data.Lens.Internal.Forget/index.js"),y=require("../Data.Lens.Iso.Newtype/index.js"),I=require("../Data.List.Types/index.js"),S=require("../Data.Map.Internal/index.js"),g=require("../Data.Maybe/index.js"),v=require("../Data.Monoid/index.js"),h=require("../Data.Newtype/index.js"),C=require("../Data.Pair/index.js"),A=require("../Data.Semigroup/index.js"),E=require("../Data.Semiring/index.js"),x=require("../Data.Show/index.js"),F=require("../Data.Symbol/index.js"),N=require("../Data.Time.Duration/index.js"),M=require("../Data.Tuple/index.js"),j=require("../Data.Unit/index.js"),q=require("../Data.Variant/index.js"),D=require("../Data.Variant.Internal/index.js"),k=require("../Effect/index.js"),B=require("../Effect.Aff/index.js"),T=require("../Effect.Aff.AVar/index.js"),R=require("../Effect.Class/index.js"),G=require("../Effect.Class.Console/index.js"),L=require("../Effect.Exception/index.js"),U=require("../Effect.Ref/index.js"),z=require("../Foreign/index.js"),H=require("../Genetics.Browser/index.js"),V=require("../Genetics.Browser.Bed/index.js"),P=require("../Genetics.Browser.Canvas/index.js"),_=require("../Genetics.Browser.Coordinates/index.js"),O=require("../Genetics.Browser.Demo/index.js"),W=require("../Genetics.Browser.Layer/index.js"),J=require("../Genetics.Browser.Track/index.js"),Z=require("../Genetics.Browser.Types/index.js"),X=require("../Genetics.Browser.UI.View/index.js"),Y=require("../Global.Unsafe/index.js"),K=require("../Math/index.js"),Q=require("../Record/index.js"),$=require("../Simple.JSON/index.js"),ee=require("../Type.Equality/index.js"),ne=require("../Web.DOM.Document/index.js"),re=require("../Web.DOM.Element/index.js"),te=require("../Web.DOM.Node/index.js"),ie=require("../Web.DOM.ParentNode/index.js"),oe=require("../Web.HTML/index.js"),ae=require("../Web.HTML.HTMLDocument/index.js"),ue=require("../Web.HTML.Window/index.js"),fe=require("../Web.UIEvent.KeyboardEvent/index.js"),se=function(){function e(){}return e.value=new e,e}(),de=function(){function e(){}return e.value=new e,e}(),ce=function(){function e(e){this.value0=e}return e.create=function(n){return new e(n)},e}(),le=function(){function e(e){this.value0=e}return e.create=function(n){return new e(n)},e}(),we=function(){function e(e){this.value0=e}return e.create=function(n){return new e(n)},e}(),me=function(e){return function(n){return"<"+e+">"+n+""}},be=function(n){return function(r){if(r instanceof se)return P.setElementStyle(n)("visibility")("visible");if(r instanceof de)return P.setElementStyle(n)("visibility")("hidden");if(r instanceof le)return P.setElementStyle(n)("left")(x.show(x.showInt)(r.value0)+"px");if(r instanceof ce)return P.setElementStyle(n)("top")(x.show(x.showInt)(r.value0)+"px");if(r instanceof we)return e.setElementContents(n)(r.value0);throw new Error("Failed pattern match at Genetics.Browser.UI (line 335, column 3 - line 345, column 33): "+[r.constructor.name])}},pe=function(e){var n,r,t,i=s.foldMap(s.foldableArray)(v.monoidString)(me("p"))(["SNP: "+e.feature.name,"Chr: "+x.show(Z.showChrId)(e.feature.chrId),"Pos: "+x.show(Z.showBp)(C.fst(e.position)),"-log10: "+b.viewOn(e.feature.score)((n=Z._NegLog10(p.profunctorForget),r=y._Newtype(Z.newtypeNegLog10)(Z.newtypeNegLog10)(p.profunctorForget),t=Z._prec(4),function(e){return n(r(t(e)))}))]);return me("div")(i)},ye=function(e){var n=s.length(s.foldableArray)(E.semiringInt)(e);return function(){return G.log(R.monadEffectEffect)("showing "+x.show(x.showInt)(5)+" out of "+x.show(x.showInt)(n)+" clicked glyphs")(),s.for_(k.applicativeEffect)(s.foldableArray)(i.take(5)(e))((r=G.log(R.monadEffectEffect),function(e){return r(e)}))();var r}},Ie=function(e){return function(n){var r=i.uncons(n.elements);if(r instanceof g.Nothing)return"";if(r instanceof g.Just&&0===r.value0.tail.length)return e(r.value0.head);if(r instanceof g.Just)return me("div")(me("p")(x.show(x.showInt)(s.length(s.foldableArray)(E.semiringInt)(r.value0.tail)+1|0)+" annotations"));throw new Error("Failed pattern match at Genetics.Browser.UI (line 244, column 3 - line 249, column 51): "+[r.constructor.name])}},Se=c.map(c.functorArray)(o.bimap(M.bifunctorTuple)(Z.ChrId)(function(){var e=g.fromJust();return function(n){return e(a.fromString(n))}}()))([new M.Tuple("1","195471971"),new M.Tuple("2","182113224"),new M.Tuple("3","160039680"),new M.Tuple("4","156508116"),new M.Tuple("5","151834684"),new M.Tuple("6","149736546"),new M.Tuple("7","145441459"),new M.Tuple("8","129401213"),new M.Tuple("9","124595110"),new M.Tuple("10","130694993"),new M.Tuple("11","122082543"),new M.Tuple("12","120129022"),new M.Tuple("13","120421639"),new M.Tuple("14","124902244"),new M.Tuple("15","104043685"),new M.Tuple("16","98207768"),new M.Tuple("17","94987271"),new M.Tuple("18","90702639"),new M.Tuple("19","61431566")]),ge=function(r){return function(t){return function(i){return e.keydownEvent(r)(function(e){var r=fe.key(e);return"ArrowLeft"===r?i(new X.ScrollView(-t.scrollMod)):"ArrowRight"===r?i(new X.ScrollView(t.scrollMod)):n.pure(k.applicativeEffect)(j.unit)})}}},ve="infoBox",he=function(){var e=c.map(k.functorEffect)(ae.toDocument)(t.bindFlipped(k.bindEffect)(ue.document)(oe.window))(),n=ne.createElement("div")(e)();return re.setId(ve)(n)(),function(){var r=ne.documentElement(e)();if(r instanceof g.Nothing)return L.throw("Couldn't find document body!")();if(r instanceof g.Just)return c.void(k.functorEffect)(te.appendChild(re.toNode(n))(re.toNode(r.value0)))();throw new Error("Failed pattern match at Genetics.Browser.UI (line 358, column 31 - line 360, column 84): "+[r.constructor.name])}(),be(n)},Ce=new l.Generic(function(e){if(e instanceof se)return new l.Inl(l.NoArguments.value);if(e instanceof de)return new l.Inr(new l.Inl(l.NoArguments.value));if(e instanceof ce)return new l.Inr(new l.Inr(new l.Inl(e.value0)));if(e instanceof le)return new l.Inr(new l.Inr(new l.Inr(new l.Inl(e.value0))));if(e instanceof we)return new l.Inr(new l.Inr(new l.Inr(new l.Inr(e.value0))));throw new Error("Failed pattern match at Genetics.Browser.UI (line 328, column 1 - line 328, column 54): "+[e.constructor.name])},function(e){if(e instanceof l.Inl)return se.value;if(e instanceof l.Inr&&e.value0 instanceof l.Inl)return de.value;if(e instanceof l.Inr&&e.value0 instanceof l.Inr&&e.value0.value0 instanceof l.Inl)return new ce(e.value0.value0.value0);if(e instanceof l.Inr&&e.value0 instanceof l.Inr&&e.value0.value0 instanceof l.Inr&&e.value0.value0.value0 instanceof l.Inl)return new le(e.value0.value0.value0.value0);if(e instanceof l.Inr&&e.value0 instanceof l.Inr&&e.value0.value0 instanceof l.Inr&&e.value0.value0.value0 instanceof l.Inr)return new we(e.value0.value0.value0.value0);throw new Error("Failed pattern match at Genetics.Browser.UI (line 328, column 1 - line 328, column 54): "+[e.constructor.name])}),Ae=new x.Show(w.genericShow(Ce)(w.genericShowSum(w.genericShowConstructor(w.genericShowArgsNoArguments)(new F.IsSymbol(function(){return"IBoxShow"})))(w.genericShowSum(w.genericShowConstructor(w.genericShowArgsNoArguments)(new F.IsSymbol(function(){return"IBoxHide"})))(w.genericShowSum(w.genericShowConstructor(w.genericShowArgsArgument(x.showInt))(new F.IsSymbol(function(){return"IBoxSetY"})))(w.genericShowSum(w.genericShowConstructor(w.genericShowArgsArgument(x.showInt))(new F.IsSymbol(function(){return"IBoxSetX"})))(w.genericShowConstructor(w.genericShowArgsArgument(x.showString))(new F.IsSymbol(function(){return"IBoxSetContents"})))))))),Ee=function(n){return function(r){return function(){return e.buttonEvent("scrollLeft")(r(new X.ScrollView(-n.scrollMod)))(),e.buttonEvent("scrollRight")(r(new X.ScrollView(n.scrollMod)))(),e.buttonEvent("zoomOut")(r(X.ZoomView.create(1+n.zoomMod)))(),e.buttonEvent("zoomIn")(r(X.ZoomView.create(1-n.zoomMod)))()}}},xe=Ee({scrollMod:.5,zoomMod:1}),Fe=function(e){var n=g.fromMaybe(e.feature.name)(e.feature.gene),r=function(){if(e.feature.url instanceof g.Nothing)return n;if(e.feature.url instanceof g.Just)return""+n+"";throw new Error("Failed pattern match at Genetics.Browser.UI (line 308, column 18 - line 310, column 84): "+[e.feature.url.constructor.name])}();return me("p")(r)},Ne=function(e){return function(n){var r=g.fromMaybe("No URL")(c.map(g.functorMaybe)(function(e){return"URL: "+e+""})(n.feature.url)),t=g.fromMaybe("Annotated SNP: "+n.feature.name)(c.map(g.functorMaybe)(function(e){return"Gene: "+e})(n.feature.gene)),o=s.foldMap(s.foldableArray)(v.monoidString)(me("p"))(A.append(A.semigroupArray)([t,r])(f.filterMap(f.filterableArray)(e)(i.fromFoldable(I.foldableList)(n.feature.rest))));return me("div")(o)}},Me=Ne(function(){var e=n.pure(g.applicativeMaybe);return function(n){return e(O.showAnnotationField(n))}}()),je=Ne(function(e){return n.pure(g.applicativeMaybe)("p_lrt"===e.field?"p_lrt: "+b.viewOn(e.value)((r=Z._NegLog10(p.profunctorForget),t=y._Newtype(Z.newtypeNegLog10)(Z.newtypeNegLog10)(p.profunctorForget),i=Z._prec(4),function(e){return r(t(i(e)))})):O.showAnnotationField(e));var r,t,i}),qe=function(e){var n=i.uncons(e.elements);if(n instanceof g.Nothing)return"";if(n instanceof g.Just&&0===n.value0.tail.length)return Me(n.value0.head);if(n instanceof g.Just)return me("div")(me("p")("Annotations:")+s.foldMap(s.foldableArray)(v.monoidString)(Fe)(e.elements));throw new Error("Failed pattern match at Genetics.Browser.UI (line 256, column 3 - line 261, column 75): "+[n.constructor.name])},De=F.SProxy.value,ke=function(e){return function(r){return function(i){return function(i){return function(o){return function(a){return t.bind(B.bindAff)(T.empty)(function(u){return t.bind(B.bindAff)(T.empty)(function(f){return t.bind(B.bindAff)(J.makeTrack(e)(r)(i)(a))(function(e){var r=d.flip(T.put)(f),i=t.bind(B.bindAff)(T.take(f))(function(f){return t.discard(t.discardUnit)(B.bindAff)(q.match()(D.variantMatchCons(D.variantMatchCons(D.variantMatchNil)()(ee.refl))()(ee.refl))()({render:function(e){return n.pure(B.applicativeAff)(j.unit)},docResize:function(e){return t.bind(B.bindAff)(c.map(B.functorAff)(function(e){return e.size})(P.getDimensions(B.monadEffectAff)(a)))(function(n){return t.discard(t.discardUnit)(B.bindAff)(P.setTrackContainerSize(B.monadEffectAff)({width:e.width,height:n.height})(a))(function(){return t.discard(t.discardUnit)(B.bindAff)(r(q.inj()(new F.IsSymbol(function(){return"render"}))(De)(j.unit)))(function(){return i})})})}})(f))(function(){return t.discard(t.discardUnit)(B.bindAff)(t.bindFlipped(B.bindAff)(s.traverse_(B.applicativeAff)(s.foldableMaybe)(B.killFiber(L.error("Resetting renderer"))))(T.tryTake(u)))(function(){return t.bind(B.bindAff)(R.liftEffect(B.monadEffectAff)(o))(function(n){return t.bind(B.bindAff)(P.getDimensions(B.monadEffectAff)(a))(function(r){var o=W.trackSlots(r).center,a=_.viewScale(o.size)(n),f=c.map(C.functorPair)(_.scaleToScreen(a))(h.unwrap(_.coordsysviewNewtype)(n));return t.bind(B.bindAff)(B.forkAff(e.render(f)(n)))(function(e){return t.discard(t.discardUnit)(B.bindAff)(T.put(e)(u))(function(){return i})})})})})})});return t.bind(B.bindAff)(B.forkAff(i))(function(i){return t.discard(t.discardUnit)(B.bindAff)(r(q.inj()(new F.IsSymbol(function(){return"render"}))(De)(j.unit)))(function(){return n.pure(B.applicativeAff)({lastHotspots:e.hotspots,queueCommand:r})})})})})})}}}}}},Be=F.SProxy.value,Te=function(r){return function(t){return function(i){return R.liftEffect(B.monadEffectAff)(function(){return e.resizeEvent(function(e){return B.launchAff_(i.queueCommand(q.inj()(new F.IsSymbol(function(){return"docResize"}))(Be)(e)))})(),P.dragScrollTrack(t)(function(e){return n.when(k.applicativeEffect)(K.abs(e.x)>=1)(function(){var n=c.map(k.functorEffect)(function(e){return W.trackSlots(e).center})(P.getDimensions(R.monadEffectEffect)(t))(),i=X.ScrollView.create(e.x/n.size.width);return r.updateView(i)()})})()})}}},Re=function(e){return function(r){return t.bind(B.bindAff)(R.liftEffect(B.monadEffectAff)(U.read(e)))(function(e){return t.bind(B.bindAff)(P.getTrack("gene")(e.container))(function(i){return t.bind(B.bindAff)(J.fetchData()()(J.trackDataCons(new F.IsSymbol(function(){return"genes"}))()()(S.monoidMap(Z.ordChrId))()()()(J.trackDataNil(ee.refl)))(i)({genes:V.getGenes(e.coordSys)})(r.urls))(function(o){return t.bind(B.bindAff)(t.bind(B.bindAff)(O.addChrLayers({coordinateSystem:e.coordSys,segmentPadding:12})(r.chrs)(i))(function(a){return t.bind(B.bindAff)(O.addGeneLayers(e.coordSys)(r.tracks.gene)(o)(i))(function(e){return n.pure(B.applicativeAff)(Q.merge()()({chrs:a})(e))})}))(function(n){return t.bind(B.bindAff)(ke()(J.trackRecordRender(new F.IsSymbol(function(){return"chrs"}))()()(J.trackRecordRender(new F.IsSymbol(function(){return"genes"}))()()(J.trackRecordNil(ee.refl))))(e.coordSys)(n)(e.viewManager.browserView)(i))(function(n){return t.discard(t.discardUnit)(B.bindAff)(Te(e.viewManager)(i)(n))(function(){return R.liftEffect(B.monadEffectAff)(e.viewManager.addCallback(function(e){return B.launchAff_(n.queueCommand(q.inj()(new F.IsSymbol(function(){return"render"}))(De)(j.unit)))}))})})})})})})}},Ge=function(e){return function(r){return t.bind(B.bindAff)(R.liftEffect(B.monadEffectAff)(U.read(e)))(function(e){return t.bind(B.bindAff)(P.getTrack("gwas")(e.container))(function(o){return t.bind(B.bindAff)(J.fetchData()()(J.trackDataCons(new F.IsSymbol(function(){return"annotations"}))()()(S.monoidMap(Z.ordChrId))()()()(J.trackDataCons(new F.IsSymbol(function(){return"snps"}))()()(S.monoidMap(Z.ordChrId))()()()(J.trackDataNil(ee.refl))))(o)({snps:O.getSNPs(e.coordSys),annotations:O.getAnnotations(e.coordSys)})(r.urls))(function(a){return t.bind(B.bindAff)(t.bind(B.bindAff)(O.addChrLayers({coordinateSystem:e.coordSys,segmentPadding:12})(r.chrs)(o))(function(i){return t.bind(B.bindAff)(O.addGWASLayers(e.coordSys)(r.tracks.gwas)(a)(o))(function(e){return n.pure(B.applicativeAff)(Q.merge()()({chrs:i})(e))})}))(function(n){return t.bind(B.bindAff)(ke()(J.trackRecordRender(new F.IsSymbol(function(){return"annotations"}))()()(J.trackRecordRender(new F.IsSymbol(function(){return"chrs"}))()()(J.trackRecordUI(new F.IsSymbol(function(){return"fixedUI"}))()()(J.trackRecordHotspots(new F.IsSymbol(function(){return"hotspots"}))()()(ee.refl)(J.trackRecordRender(new F.IsSymbol(function(){return"snps"}))()()(J.trackRecordNil(ee.refl)))))))(e.coordSys)(n)(e.viewManager.browserView)(o))(function(n){return t.discard(t.discardUnit)(B.bindAff)(Te(e.viewManager)(o)(n))(function(){return t.discard(t.discardUnit)(B.bindAff)(R.liftEffect(B.monadEffectAff)(e.viewManager.addCallback(function(e){return B.launchAff_(n.queueCommand(q.inj()(new F.IsSymbol(function(){return"render"}))(De)(j.unit)))})))(function(){return R.liftEffect(B.monadEffectAff)((u=O.filterSig(r.score)(a.snps),P.trackClickHandler(R.monadEffectEffect)(o)(new W.Center(function(r){return B.launchAff_(t.bind(B.bindAff)(R.liftEffect(B.monadEffectAff)(e.viewManager.browserView))(function(f){return t.bind(B.bindAff)(c.map(B.functorAff)(function(e){return W.trackSlots(e).center})(P.getDimensions(B.monadEffectAff)(o)))(function(o){var d=H.pixelSegments({segmentPadding:12})(e.coordSys)(o.size)(f),c=O.annotationsForScale(e.coordSys)(u)(a.annotations)(d);return t.bind(B.bindAff)(n.lastHotspots)(function(n){var o=n(1)(r);return R.liftEffect(B.monadEffectAff)(function(){var n=i.head(o);if(n instanceof g.Nothing)return e.cmdInfoBox(de.value);if(n instanceof g.Just)return function(){return e.cmdInfoBox(se.value)(),e.cmdInfoBox(le.create(m.round(r.x)))(),e.cmdInfoBox(ce.create(m.round(r.y)))(),e.cmdInfoBox(we.create(pe(n.value0)+s.foldMap(s.foldableMaybe)(v.monoidString)(qe)((i=c,function(e){return t.bindFlipped(g.bindMaybe)(s.find(s.foldableArray)(function(n){return _.pairsOverlap(Z.ordBp)(n.covers)(e.position)}))(S.lookup(Z.ordChrId)(e.feature.chrId)(i))})(n.value0))))();var i};throw new Error("Failed pattern match at Genetics.Browser.UI (line 436, column 15 - line 444, column 70): "+[n.constructor.name])}())})})}))}))));var u})})})})})})})}},Le=function(i){return function(o){return B.launchAff((u=_.coordSys(Z.ordChrId)(a.semiringBigInt)(Se),f=g.fromMaybe(h.wrap(_.coordsysviewNewtype)(new C.Pair(E.zero(a.semiringBigInt),b.viewOn(u)(_._TotalSize(a.ringBigInt)))))(t.bind(g.bindMaybe)(i.initialChrs)(function(e){return t.bind(g.bindMaybe)(S.lookup(Z.ordChrId)(h.wrap(Z.newtypeChrId)(e.left))(b.viewOn(u)(_._Segments(p.strongForget))))(function(r){return t.bind(g.bindMaybe)(S.lookup(Z.ordChrId)(h.wrap(Z.newtypeChrId)(e.right))(b.viewOn(u)(_._Segments(p.strongForget))))(function(e){return n.pure(g.applicativeMaybe)(h.wrap(_.coordsysviewNewtype)(new C.Pair(r.value0,e.value1)))})})})),t.discard(t.discardUnit)(B.bindAff)(R.liftEffect(B.monadEffectAff)(e.initDebugDiv(1)))(function(){return t.bind(B.bindAff)(R.liftEffect(B.monadEffectAff)(he))(function(a){return t.bind(B.bindAff)(R.liftEffect(B.monadEffectAff)(X.browserViewManager(u)(h.wrap(N.newtypeMilliseconds)(200))({initialView:f})(o)))(function(s){return t.bind(B.bindAff)(R.liftEffect(B.monadEffectAff)(U.new({viewManager:s,cmdInfoBox:a,container:o,coordSys:u})))(function(a){return t.discard(t.discardUnit)(B.bindAff)(R.liftEffect(B.monadEffectAff)((u={scrollMod:.1,zoomMod:.15},function(){var n;return Ee(u)(function(e){return s.updateView(e)})(),e.buttonEvent("reset")((n=new X.ModView(d.const(h.unwrap(_.coordsysviewNewtype)(f))),s.updateView(n)))(),ge(b.viewOn(o)(P._Container(P.newtypeBrowserContainer)(p.strongForget)))({scrollMod:.075})(function(e){return s.updateView(e)})(),P.wheelZoom(P.newtypeBrowserContainer)(o)(function(e){var n=X.ZoomView.create(1+.06*e);return s.updateView(n)})()})))(function(){if(i.urls.snps instanceof g.Just)return r.applySecond(B.applyAff)(Ge(a)(i))(n.pure(B.applicativeAff)(j.unit));if(i.urls.snps instanceof g.Nothing)return n.pure(B.applicativeAff)(j.unit);throw new Error("Failed pattern match at Genetics.Browser.UI (line 527, column 3 - line 529, column 25): "+[i.urls.snps.constructor.name])});var u})})})})));var u,f}},Ue=function(i){return function(){var o,a=function(){var e=c.map(k.functorEffect)(ae.toDocument)(t.bindFlipped(k.bindEffect)(ue.document)(oe.window))();return ie.querySelector(h.wrap(ie.newtypeQuerySelector)("#browser"))(ne.toParentNode(e))()}();if(a instanceof g.Nothing)return G.log(R.monadEffectEffect)("Could not find element '#browser'")();if(a instanceof g.Just){var f=$.read($.readRecord()($.readFieldsCons(new F.IsSymbol(function(){return"chrs"}))($.readRecord()($.readFieldsCons(new F.IsSymbol(function(){return"chrBG1"}))(H.readforeignHexColor)($.readFieldsCons(new F.IsSymbol(function(){return"chrBG2"}))(H.readforeignHexColor)($.readFieldsCons(new F.IsSymbol(function(){return"chrLabels"}))($.readRecord()($.readFieldsCons(new F.IsSymbol(function(){return"fontSize"}))($.readInt)($.readFieldsNil)()()))($.readFieldsNil)()())()())()()))($.readFieldsCons(new F.IsSymbol(function(){return"initialChrs"}))($.readMaybe($.readRecord()($.readFieldsCons(new F.IsSymbol(function(){return"left"}))($.readString)($.readFieldsCons(new F.IsSymbol(function(){return"right"}))($.readString)($.readFieldsNil)()())()())))($.readFieldsCons(new F.IsSymbol(function(){return"score"}))($.readRecord()($.readFieldsCons(new F.IsSymbol(function(){return"max"}))($.readNumber)($.readFieldsCons(new F.IsSymbol(function(){return"min"}))($.readNumber)($.readFieldsCons(new F.IsSymbol(function(){return"sig"}))($.readNumber)($.readFieldsNil)()())()())()()))($.readFieldsCons(new F.IsSymbol(function(){return"tracks"}))($.readRecord()($.readFieldsCons(new F.IsSymbol(function(){return"gwas"}))($.readRecord()($.readFieldsCons(new F.IsSymbol(function(){return"annotations"}))($.readRecord()($.readFieldsCons(new F.IsSymbol(function(){return"geneColor"}))(H.readforeignHexColor)($.readFieldsCons(new F.IsSymbol(function(){return"outline"}))(H.readforeignHexColor)($.readFieldsCons(new F.IsSymbol(function(){return"radius"}))($.readNumber)($.readFieldsCons(new F.IsSymbol(function(){return"snpColor"}))(H.readforeignHexColor)($.readFieldsNil)()())()())()())()()))($.readFieldsCons(new F.IsSymbol(function(){return"legend"}))($.readRecord()($.readFieldsCons(new F.IsSymbol(function(){return"fontSize"}))($.readInt)($.readFieldsCons(new F.IsSymbol(function(){return"hPad"}))($.readNumber)($.readFieldsCons(new F.IsSymbol(function(){return"vPad"}))($.readNumber)($.readFieldsNil)()())()())()()))($.readFieldsCons(new F.IsSymbol(function(){return"padding"}))($.readRecord()($.readFieldsCons(new F.IsSymbol(function(){return"bottom"}))($.readNumber)($.readFieldsCons(new F.IsSymbol(function(){return"left"}))($.readNumber)($.readFieldsCons(new F.IsSymbol(function(){return"right"}))($.readNumber)($.readFieldsCons(new F.IsSymbol(function(){return"top"}))($.readNumber)($.readFieldsNil)()())()())()())()()))($.readFieldsCons(new F.IsSymbol(function(){return"score"}))($.readRecord()($.readFieldsCons(new F.IsSymbol(function(){return"max"}))($.readNumber)($.readFieldsCons(new F.IsSymbol(function(){return"min"}))($.readNumber)($.readFieldsCons(new F.IsSymbol(function(){return"sig"}))($.readNumber)($.readFieldsNil)()())()())()()))($.readFieldsCons(new F.IsSymbol(function(){return"snps"}))($.readRecord()($.readFieldsCons(new F.IsSymbol(function(){return"color"}))($.readRecord()($.readFieldsCons(new F.IsSymbol(function(){return"fill"}))(H.readforeignHexColor)($.readFieldsCons(new F.IsSymbol(function(){return"outline"}))(H.readforeignHexColor)($.readFieldsNil)()())()()))($.readFieldsCons(new F.IsSymbol(function(){return"lineWidth"}))($.readNumber)($.readFieldsCons(new F.IsSymbol(function(){return"pixelOffset"}))($.readRecord()($.readFieldsCons(new F.IsSymbol(function(){return"x"}))($.readNumber)($.readFieldsCons(new F.IsSymbol(function(){return"y"}))($.readNumber)($.readFieldsNil)()())()()))($.readFieldsCons(new F.IsSymbol(function(){return"radius"}))($.readNumber)($.readFieldsNil)()())()())()())()()))($.readFieldsCons(new F.IsSymbol(function(){return"trackHeight"}))($.readNumber)($.readFieldsCons(new F.IsSymbol(function(){return"vscale"}))($.readRecord()($.readFieldsCons(new F.IsSymbol(function(){return"color"}))(H.readforeignHexColor)($.readFieldsCons(new F.IsSymbol(function(){return"fonts"}))($.readRecord()($.readFieldsCons(new F.IsSymbol(function(){return"labelSize"}))($.readInt)($.readFieldsCons(new F.IsSymbol(function(){return"scaleSize"}))($.readInt)($.readFieldsNil)()())()()))($.readFieldsCons(new F.IsSymbol(function(){return"hPad"}))($.readNumber)($.readFieldsCons(new F.IsSymbol(function(){return"numSteps"}))($.readInt)($.readFieldsNil)()())()())()())()()))($.readFieldsNil)()())()())()())()())()())()())()()))($.readFieldsNil)()()))($.readFieldsCons(new F.IsSymbol(function(){return"urls"}))($.readRecord()($.readFieldsCons(new F.IsSymbol(function(){return"annotations"}))($.readMaybe($.readString))($.readFieldsCons(new F.IsSymbol(function(){return"genes"}))($.readMaybe($.readString))($.readFieldsCons(new F.IsSymbol(function(){return"snps"}))($.readMaybe($.readString))($.readFieldsNil)()())()())()()))($.readFieldsNil)()())()())()())()())()()))(i);if(f instanceof u.Left)return e.setElementContents(a.value0)("

    Error when parsing provided config object:

    "+s.foldMap(I.foldableNonEmptyList)(v.monoidString)((o=me("p"),function(e){return o(z.renderForeignError(e))}))(f.value0))();if(f instanceof u.Right){var d=e.windowInnerSize(),l=J.makeContainers()(J.trackConfigCons(new F.IsSymbol(function(){return"gwas"}))(J.trackConfigNil(ee.refl))()()()()(ee.refl))(d.width)(f.value0.tracks)(),w=P.browserContainer(R.monadEffectEffect)(a.value0)();return function(){if(f.value0.urls.snps instanceof g.Just)return r.applySecond(k.applyEffect)(P.addTrack(R.monadEffectEffect)(w)("gwas")(l.gwas))(n.pure(k.applicativeEffect)(j.unit))();if(f.value0.urls.snps instanceof g.Nothing)return j.unit;throw new Error("Failed pattern match at Genetics.Browser.UI (line 586, column 11 - line 588, column 33): "+[f.value0.urls.snps.constructor.name])}(),G.log(R.monadEffectEffect)(Y.unsafeStringify(f.value0))(),c.void(k.functorEffect)(Le(f.value0)(w))()}throw new Error("Failed pattern match at Genetics.Browser.UI (line 572, column 7 - line 595, column 33): "+[f.constructor.name])}throw new Error("Failed pattern match at Genetics.Browser.UI (line 568, column 3 - line 595, column 33): "+[a.constructor.name])}};module.exports={_render:De,_docResize:Be,initializeTrack:ke,btnUI:Ee,btnUIFixed:xe,keyUI:ge,printSNPInfo:ye,wrapWith:me,snpHTML:pe,peakHTML:Ie,annoPeakHTML:qe,annotationHTML:Ne,annotationHTMLAll:Me,annotationHTMLDefault:je,annotationHTMLShort:Fe,IBoxShow:se,IBoxHide:de,IBoxSetY:ce,IBoxSetX:le,IBoxSetContents:we,updateInfoBox:be,infoBoxId:ve,initInfoBox:he,setHandlers:Te,mkGwas:Ge,mkGene:Re,runBrowser:Le,main:Ue,mouseChrSizes:Se,genericInfoBoxF:Ce,showInfoBoxF:Ae,windowInnerSize:e.windowInnerSize,buttonEvent:e.buttonEvent,keydownEvent:e.keydownEvent,resizeEvent:e.resizeEvent,initDebugDiv:e.initDebugDiv,setDebugDivVisibility:e.setDebugDivVisibility,setDebugDivPoint:e.setDebugDivPoint,setElementContents:e.setElementContents,setWindow:e.setWindow}; +},{"./foreign.js":"DuPX","../Control.Applicative/index.js":"qYya","../Control.Apply/index.js":"QcLv","../Control.Bind/index.js":"7VcT","../Data.Array/index.js":"4t4C","../Data.Bifunctor/index.js":"e2Wc","../Data.BigInt/index.js":"Zx+T","../Data.Either/index.js":"B2JL","../Data.Filterable/index.js":"6hfS","../Data.Foldable/index.js":"eVDl","../Data.Function/index.js":"ImXJ","../Data.Functor/index.js":"+0AE","../Data.Generic.Rep/index.js":"AuzG","../Data.Generic.Rep.Show/index.js":"lpst","../Data.Int/index.js":"xNJb","../Data.Lens.Getter/index.js":"OPOX","../Data.Lens.Internal.Forget/index.js":"mj9z","../Data.Lens.Iso.Newtype/index.js":"CiFJ","../Data.List.Types/index.js":"Xxuc","../Data.Map.Internal/index.js":"RRDs","../Data.Maybe/index.js":"5mN7","../Data.Monoid/index.js":"TiEB","../Data.Newtype/index.js":"lz8k","../Data.Pair/index.js":"PpsX","../Data.Semigroup/index.js":"EsAJ","../Data.Semiring/index.js":"11NF","../Data.Show/index.js":"mFY7","../Data.Symbol/index.js":"4oJQ","../Data.Time.Duration/index.js":"AnkF","../Data.Tuple/index.js":"II/O","../Data.Unit/index.js":"NhVk","../Data.Variant/index.js":"hgdh","../Data.Variant.Internal/index.js":"kYoO","../Effect/index.js":"oTWB","../Effect.Aff/index.js":"I7lu","../Effect.Aff.AVar/index.js":"hACG","../Effect.Class/index.js":"dWtH","../Effect.Class.Console/index.js":"3Dts","../Effect.Exception/index.js":"0OCW","../Effect.Ref/index.js":"/Jaj","../Foreign/index.js":"pu1p","../Genetics.Browser/index.js":"X0te","../Genetics.Browser.Bed/index.js":"UuEA","../Genetics.Browser.Canvas/index.js":"VVkU","../Genetics.Browser.Coordinates/index.js":"7bYH","../Genetics.Browser.Demo/index.js":"mKwt","../Genetics.Browser.Layer/index.js":"YWUW","../Genetics.Browser.Track/index.js":"HH6s","../Genetics.Browser.Types/index.js":"HhmG","../Genetics.Browser.UI.View/index.js":"Tmz+","../Global.Unsafe/index.js":"qSZP","../Math/index.js":"Rpaz","../Record/index.js":"0gG4","../Simple.JSON/index.js":"DqNI","../Type.Equality/index.js":"Uq/R","../Web.DOM.Document/index.js":"0hiR","../Web.DOM.Element/index.js":"S4h2","../Web.DOM.Node/index.js":"P+X4","../Web.DOM.ParentNode/index.js":"lU5U","../Web.HTML/index.js":"UQRJ","../Web.HTML.HTMLDocument/index.js":"EU5r","../Web.HTML.Window/index.js":"o+50","../Web.UIEvent.KeyboardEvent/index.js":"o/+T"}],"Focm":[function(require,module,exports) { +var e=require("./output/Genetics.Browser.UI");window.GenomeBrowser=e; +},{"./output/Genetics.Browser.UI":"JuOH"}]},{},["Focm"], null) \ No newline at end of file -- cgit v1.2.3 From 4e6c8eba35a5ecd9e6b5b1c5faa98021656acb9d Mon Sep 17 00:00:00 2001 From: zsloan Date: Mon, 12 Aug 2019 16:34:05 -0500 Subject: Fixed some things to update the genome browser and get it running correctly Fixed issue where trait page for genotype traits didn't work Removed bad y axis title on probability plot --- .../marker_regression/display_mapping_results.py | 9 + wqflask/wqflask/marker_regression/run_mapping.py | 49 +- wqflask/wqflask/show_trait/show_trait.py | 4 +- .../static/new/javascript/init_genome_browser.js | 168 +- .../new/javascript/plotly_probability_plot.js | 1 - .../css/purescript-genetics-browser.css | 1 + .../css/purescript_genetics_browser_v01.css | 1 - .../js/purescript-genetics-browser.js | 63016 +++++++++++++++++++ .../js/purescript-genetics-browser_v01.js | 659 - wqflask/wqflask/templates/mapping_results.html | 10 +- wqflask/wqflask/views.py | 4 +- 11 files changed, 63166 insertions(+), 756 deletions(-) create mode 100644 wqflask/wqflask/static/packages/purescript_genome_browser/css/purescript-genetics-browser.css delete mode 100644 wqflask/wqflask/static/packages/purescript_genome_browser/css/purescript_genetics_browser_v01.css create mode 100644 wqflask/wqflask/static/packages/purescript_genome_browser/js/purescript-genetics-browser.js delete mode 100644 wqflask/wqflask/static/packages/purescript_genome_browser/js/purescript-genetics-browser_v01.js diff --git a/wqflask/wqflask/marker_regression/display_mapping_results.py b/wqflask/wqflask/marker_regression/display_mapping_results.py index ea1ca5ed..b1e9dad4 100644 --- a/wqflask/wqflask/marker_regression/display_mapping_results.py +++ b/wqflask/wqflask/marker_regression/display_mapping_results.py @@ -31,6 +31,7 @@ import piddle as pid import sys,os import cPickle import httplib +import json from flask import Flask, g @@ -1696,6 +1697,14 @@ class DisplayMappingResults(object): else: LRS_LOD_Max = self.lrsMax + #ZS: Needed to pass to genome browser + js_data = json.loads(self.js_data) + if self.LRS_LOD == "LRS": + js_data['max_score'] = LRS_LOD_Max/4.16 + else: + js_data['max_score'] = LRS_LOD_Max + self.js_data = json.dumps(js_data) + if LRS_LOD_Max > 100: LRSScale = 20.0 elif LRS_LOD_Max > 20: diff --git a/wqflask/wqflask/marker_regression/run_mapping.py b/wqflask/wqflask/marker_regression/run_mapping.py index 7f6bb0a5..11ad7aa4 100644 --- a/wqflask/wqflask/marker_regression/run_mapping.py +++ b/wqflask/wqflask/marker_regression/run_mapping.py @@ -7,6 +7,7 @@ from pprint import pformat as pf import string import math +from decimal import Decimal import random import sys import datetime @@ -314,30 +315,41 @@ class RunMapping(object): else: self.qtl_results = [] self.qtl_results_for_browser = [] + self.annotations_for_browser = [] highest_chr = 1 #This is needed in order to convert the highest chr to X/Y for marker in results: browser_marker = dict( chr = str(marker['chr']), rs = marker['name'], - ps = marker['Mb']*1000000 + ps = marker['Mb']*1000000, + url = "/show_trait?trait_id=" + marker['name'] + "&dataset=" + self.dataset.group.name + "Geno" ) - if 'p_value' in marker: - browser_marker['p_wald'] = marker['p_value'] + annot_marker = dict( + name = str(marker['name']), + chr = str(marker['chr']), + rs = marker['name'], + pos = marker['Mb']*1000000, + url = "/show_trait?trait_id=" + marker['name'] + "&dataset=" + self.dataset.group.name + "Geno" + ) + #if 'p_value' in marker: + # logger.debug("P EXISTS:", marker['p_value']) + #else: + if 'lrs_value' in marker and marker['lrs_value'] > 0: + browser_marker['p_wald'] = 10**-(marker['lrs_value']/4.61) + elif 'lod_score' in marker and marker['lod_score'] > 0: + browser_marker['p_wald'] = 10**-(marker['lod_score']) else: - if 'lrs_value' in marker and marker['lrs_value'] > 0: - browser_marker['p_wald'] = -math.log10(marker['lrs_value']/4.16) - elif 'lod_score' in marker and marker['lod_score'] > 0: - browser_marker['p_wald'] = -math.log10(marker['lod_score']) - else: - browser_marker['p_wald'] = 0 + browser_marker['p_wald'] = 0 + self.qtl_results_for_browser.append(browser_marker) + self.annotations_for_browser.append(annot_marker) if marker['chr'] > 0 or marker['chr'] == "X" or marker['chr'] == "X/Y": if marker['chr'] > highest_chr or marker['chr'] == "X" or marker['chr'] == "X/Y": highest_chr = marker['chr'] if ('lod_score' in marker.keys()) or ('lrs_value' in marker.keys()): self.qtl_results.append(marker) - browser_files = write_input_for_browser(self.dataset, self.qtl_results_for_browser) + browser_files = write_input_for_browser(self.dataset, self.qtl_results_for_browser, self.annotations_for_browser) with Bench("Exporting Results"): export_mapping_results(self.dataset, self.this_trait, self.qtl_results, self.mapping_results_path, self.mapping_scale, self.score_type) @@ -350,6 +362,11 @@ class RunMapping(object): self.trimmed_markers = trim_markers_for_table(results) if self.mapping_method != "gemma": + if self.score_type == "LRS": + significant_for_browser = self.significant / 4.16 + else: + significant_for_browser = self.significant + self.js_data = dict( #result_score_type = self.score_type, #this_trait = self.this_trait.name, @@ -361,7 +378,8 @@ class RunMapping(object): #qtl_results = self.qtl_results, num_perm = self.num_perm, perm_results = self.perm_output, - browser_files = browser_files + browser_files = browser_files, + significant = significant_for_browser ) else: self.js_data = dict( @@ -406,6 +424,7 @@ class RunMapping(object): def export_mapping_results(dataset, trait, markers, results_path, mapping_scale, score_type): with open(results_path, "w+") as output_file: + output_file.write("Time/Date: " + datetime.datetime.now().strftime("%x / %X") + "\n") output_file.write("Population: " + dataset.group.species.title() + " " + dataset.group.name + "\n") output_file.write("Data Set: " + dataset.fullname + "\n") if dataset.type == "ProbeSet": @@ -413,6 +432,8 @@ def export_mapping_results(dataset, trait, markers, results_path, mapping_scale, output_file.write("Location: " + str(trait.chr) + " @ " + str(trait.mb) + " Mb\n") output_file.write("\n") output_file.write("Name,Chr,") + if score_type.lower() == "-log(p)": + score_type = "'-log(p)" if mapping_scale == "physic": output_file.write("Mb," + score_type) else: @@ -491,7 +512,7 @@ def trim_markers_for_table(markers): else: return sorted_markers -def write_input_for_browser(this_dataset, markers): +def write_input_for_browser(this_dataset, gwas_results, annotations): file_base = this_dataset.group.name + "_" + ''.join(random.choice(string.ascii_uppercase + string.digits) for _ in range(6)) gwas_filename = file_base + "_GWAS" annot_filename = file_base + "_ANNOT" @@ -499,8 +520,8 @@ def write_input_for_browser(this_dataset, markers): annot_path = "{}/gn2/".format(TEMPDIR) + annot_filename with open(gwas_path + ".json", "w") as gwas_file, open(annot_path + ".json", "w") as annot_file: - gwas_file.write(json.dumps(markers)) - annot_file.write(json.dumps([])) + gwas_file.write(json.dumps(gwas_results)) + annot_file.write(json.dumps(annotations)) return [gwas_filename, annot_filename] #return [gwas_filename, annot_filename] \ No newline at end of file diff --git a/wqflask/wqflask/show_trait/show_trait.py b/wqflask/wqflask/show_trait/show_trait.py index b0a46b32..02c65d47 100644 --- a/wqflask/wqflask/show_trait/show_trait.py +++ b/wqflask/wqflask/show_trait/show_trait.py @@ -194,10 +194,10 @@ class ShowTrait(object): trait_symbol = self.this_trait.symbol short_description = trait_symbol - elif self.this_trait.post_publication_abbreviation: + elif hasattr(self.this_trait, 'post_publication_abbreviation'): short_description = self.this_trait.post_publication_abbreviation - elif self.this_trait.pre_publication_abbreviation: + elif hasattr(self.this_trait, 'pre_publication_abbreviation'): short_description = self.this_trait.pre_publication_abbreviation # Todo: Add back in the ones we actually need from below, as we discover we need them diff --git a/wqflask/wqflask/static/new/javascript/init_genome_browser.js b/wqflask/wqflask/static/new/javascript/init_genome_browser.js index 64a300bc..7dfd6712 100644 --- a/wqflask/wqflask/static/new/javascript/init_genome_browser.js +++ b/wqflask/wqflask/static/new/javascript/init_genome_browser.js @@ -1,73 +1,97 @@ -console.log("THE FILES:", js_data.browser_files) - -snps_filename = "/browser_input?filename=" + js_data.browser_files[0] -annot_filename = "/browser_input?filename=" + js_data.browser_files[1] - -localUrls = -{ - snps: snps_filename, - annotations: null -}; - -var vscaleWidth = 90.0; -var legendWidth = 140.0; -var score = { min: 0.0, max: 30.0, sig: 4 }; -var gwasPadding = { top: 35.0, - bottom: 35.0, - left: vscaleWidth, - right: legendWidth }; -var gwasHeight = 420.0; -var genePadding = { top: 10.0, - bottom: 35.0, - left: vscaleWidth, - right: legendWidth }; -var geneHeight = 140.0; - - -var config = -{ trackHeight: 400.0, - padding: gwasPadding, - score: score, - urls: localUrls, - tracks: { - gwas: { - trackHeight: gwasHeight, - padding: gwasPadding, - snps: { - radius: 3.75, - lineWidth: 1.0, - color: { outline: "#FFFFFF", - fill: "#00008B" }, - pixelOffset: {x: 0.0, y: 0.0} - }, - annotations: { - radius: 5.5, - outline: "#000000", - snpColor: "#0074D9", - geneColor: "#FF4136" - }, - score: score, - legend: { - fontSize: 14, - hPad: 0.2, - vPad: 0.2 - }, - vscale: { - color: "#000000", - hPad: 0.125, - numSteps: 3, - fonts: { labelSize: 18, scaleSize: 16 } - }, - } - }, - chrs: { - chrBG1: "#FFFFFF", - chrBG2: "#DDDDDD", - chrLabels: { fontSize: 16 }, - }, - initialChrs: { left: "1", right: "19" } -}; - -GenomeBrowser.main(config)(); - +console.log("THE FILES:", js_data.browser_files) + +snps_filename = "/browser_input?filename=" + js_data.browser_files[0] +annot_filename = "/browser_input?filename=" + js_data.browser_files[1] + +localUrls = +{ + snps: snps_filename, + annotations: annot_filename +}; + +var coordinateSystem = + [ + { chr: "1", size: "195471971" }, + { chr: "2", size: "182113224" }, + { chr: "3", size: "160039680" }, + { chr: "4", size: "156508116" }, + { chr: "5", size: "151834684" }, + { chr: "6", size: "149736546" }, + { chr: "7", size: "145441459" }, + { chr: "8", size: "129401213" }, + { chr: "9", size: "124595110" }, + { chr: "10", size: "130694993" }, + { chr: "11", size: "122082543" }, + { chr: "12", size: "120129022" }, + { chr: "13", size: "120421639" }, + { chr: "14", size: "124902244" }, + { chr: "15", size: "104043685" }, + { chr: "16", size: "98207768" }, + { chr: "17", size: "94987271" }, + { chr: "18", size: "90702639" }, + { chr: "19", size: "61431566" }, + ]; + +var vscaleWidth = 90.0; +var legendWidth = 140.0; + +if ('significant' in js_data) { + var significant_score = parseFloat(js_data.significant) +} else { + var significant_score = 4 +} +var score = { min: 0.0, max: js_data.max_score, sig: significant_score }; +var gwasPadding = { top: 35.0, + bottom: 35.0, + left: vscaleWidth, + right: legendWidth }; +var gwasHeight = 320.0; +var config = +{ score: score, + urls: localUrls, + tracks: { + gwas: { + trackHeight: gwasHeight, + padding: gwasPadding, + snps: { + radius: 3.75, + lineWidth: 1.0, + color: { outline: "#FFFFFF", + fill: "#00008B" }, + pixelOffset: {x: 0.0, y: 0.0} + }, + annotations: { + urls: { + url: "GeneNetwork" + }, + radius: 5.5, + outline: "#000000", + snpColor: "#0074D9", + geneColor: "#FF4136" + }, + score: score, + legend: { + fontSize: 14, + hPad: 0.2, + vPad: 0.2 + }, + vscale: { + color: "#000000", + hPad: 0.125, + numSteps: 3, + fonts: { labelSize: 18, scaleSize: 16 } + }, + }, + }, + chrs: { + chrBG1: "#FFFFFF", + chrBG2: "#EEEEEE", + chrLabels: { fontSize: 16 }, + }, + // initialChrs: { left: "1", right: "5" } + coordinateSystem: coordinateSystem, + }; + +GenomeBrowser.main(config)(); + document.getElementById("controls").style.visibility = "visible"; \ No newline at end of file diff --git a/wqflask/wqflask/static/new/javascript/plotly_probability_plot.js b/wqflask/wqflask/static/new/javascript/plotly_probability_plot.js index cc4195e4..e8b7ab83 100644 --- a/wqflask/wqflask/static/new/javascript/plotly_probability_plot.js +++ b/wqflask/wqflask/static/new/javascript/plotly_probability_plot.js @@ -195,7 +195,6 @@ } }, yaxis: { - title: "Data Quantiles", zeroline: false, visible: true, linecolor: 'black', diff --git a/wqflask/wqflask/static/packages/purescript_genome_browser/css/purescript-genetics-browser.css b/wqflask/wqflask/static/packages/purescript_genome_browser/css/purescript-genetics-browser.css new file mode 100644 index 00000000..135292ac --- /dev/null +++ b/wqflask/wqflask/static/packages/purescript_genome_browser/css/purescript-genetics-browser.css @@ -0,0 +1 @@ +body,html{max-width:100%;overflow-x:hidden}#browser{position:absolute;margin:0}#info-line{border:1px solid #aaa;padding:2px;position:absolute;right:0;top:1px;min-width:14%;font-size:9pt}#controls{visibility:hidden;position:absolute;top:4px;left:100px;z-index:1000}#controls>button{border:1px solid #aaa;border-radius:2px;padding-left:6px;padding-right:6px;height:23px;min-width:20px}button#scrollRight,button#zoomIn{margin-left:-2px;margin-right:4px}#infoBox{position:absolute;display:inline-block;z-index:10000;visibility:hidden;padding:5px;border:2px solid grey;border-radius:5%;background-color:#fff;min-height:100px;min-width:10px;max-width:80%;margin-top:9.7em;font-family:sans-serif}#infoBox>div{float:left;margin:1em 1.2em}#infoBox>div>p{margin:.1em} \ No newline at end of file diff --git a/wqflask/wqflask/static/packages/purescript_genome_browser/css/purescript_genetics_browser_v01.css b/wqflask/wqflask/static/packages/purescript_genome_browser/css/purescript_genetics_browser_v01.css deleted file mode 100644 index 135292ac..00000000 --- a/wqflask/wqflask/static/packages/purescript_genome_browser/css/purescript_genetics_browser_v01.css +++ /dev/null @@ -1 +0,0 @@ -body,html{max-width:100%;overflow-x:hidden}#browser{position:absolute;margin:0}#info-line{border:1px solid #aaa;padding:2px;position:absolute;right:0;top:1px;min-width:14%;font-size:9pt}#controls{visibility:hidden;position:absolute;top:4px;left:100px;z-index:1000}#controls>button{border:1px solid #aaa;border-radius:2px;padding-left:6px;padding-right:6px;height:23px;min-width:20px}button#scrollRight,button#zoomIn{margin-left:-2px;margin-right:4px}#infoBox{position:absolute;display:inline-block;z-index:10000;visibility:hidden;padding:5px;border:2px solid grey;border-radius:5%;background-color:#fff;min-height:100px;min-width:10px;max-width:80%;margin-top:9.7em;font-family:sans-serif}#infoBox>div{float:left;margin:1em 1.2em}#infoBox>div>p{margin:.1em} \ No newline at end of file diff --git a/wqflask/wqflask/static/packages/purescript_genome_browser/js/purescript-genetics-browser.js b/wqflask/wqflask/static/packages/purescript_genome_browser/js/purescript-genetics-browser.js new file mode 100644 index 00000000..27bb4b2f --- /dev/null +++ b/wqflask/wqflask/static/packages/purescript_genome_browser/js/purescript-genetics-browser.js @@ -0,0 +1,63016 @@ +// modules are defined as an array +// [ module function, map of requires ] +// +// map of requires is short require name -> numeric require +// +// anything defined in a previous bundle is accessed via the +// orig method which is the require for previous bundles +parcelRequire = (function (modules, cache, entry, globalName) { + // Save the require from previous bundle to this closure if any + var previousRequire = typeof parcelRequire === 'function' && parcelRequire; + var nodeRequire = typeof require === 'function' && require; + + function newRequire(name, jumped) { + if (!cache[name]) { + if (!modules[name]) { + // if we cannot find the module within our internal map or + // cache jump to the current global require ie. the last bundle + // that was added to the page. + var currentRequire = typeof parcelRequire === 'function' && parcelRequire; + if (!jumped && currentRequire) { + return currentRequire(name, true); + } + + // If there are other bundles on this page the require from the + // previous one is saved to 'previousRequire'. Repeat this as + // many times as there are bundles until the module is found or + // we exhaust the require chain. + if (previousRequire) { + return previousRequire(name, true); + } + + // Try the node require function if it exists. + if (nodeRequire && typeof name === 'string') { + return nodeRequire(name); + } + + var err = new Error('Cannot find module \'' + name + '\''); + err.code = 'MODULE_NOT_FOUND'; + throw err; + } + + localRequire.resolve = resolve; + localRequire.cache = {}; + + var module = cache[name] = new newRequire.Module(name); + + modules[name][0].call(module.exports, localRequire, module, module.exports, this); + } + + return cache[name].exports; + + function localRequire(x){ + return newRequire(localRequire.resolve(x)); + } + + function resolve(x){ + return modules[name][1][x] || x; + } + } + + function Module(moduleName) { + this.id = moduleName; + this.bundle = newRequire; + this.exports = {}; + } + + newRequire.isParcelRequire = true; + newRequire.Module = Module; + newRequire.modules = modules; + newRequire.cache = cache; + newRequire.parent = previousRequire; + newRequire.register = function (id, exports) { + modules[id] = [function (require, module) { + module.exports = exports; + }, {}]; + }; + + var error; + for (var i = 0; i < entry.length; i++) { + try { + newRequire(entry[i]); + } catch (e) { + // Save first error but execute all entries + if (!error) { + error = e; + } + } + } + + if (entry.length) { + // Expose entry point to Node, AMD or browser globals + // Based on https://github.com/ForbesLindesay/umd/blob/master/template.js + var mainExports = newRequire(entry[entry.length - 1]); + + // CommonJS + if (typeof exports === "object" && typeof module !== "undefined") { + module.exports = mainExports; + + // RequireJS + } else if (typeof define === "function" && define.amd) { + define(function () { + return mainExports; + }); + + // - + {% endblock %} diff --git a/wqflask/wqflask/templates/mapping_results.html b/wqflask/wqflask/templates/mapping_results.html index becb139a..189f8abc 100644 --- a/wqflask/wqflask/templates/mapping_results.html +++ b/wqflask/wqflask/templates/mapping_results.html @@ -19,8 +19,8 @@ - {% if gwa_filename is defined %} - + {% if output_files is defined %} + {% endif %} {% if reaper_version is defined %} @@ -171,7 +171,7 @@ {% endif %} -

    +
    {{header}}Max LRS{{header}}{{header}}{{header}}Additive Effect{{header}}{{header}}{{header}}Sample rNSample p(r)Lit rTissue rTissue p(r)Sample rhoNSample p(rho)Lit rTissue rhoTissue p(rho)Sample r  NSample p(r)Sample rho  NSample p(rho)Sample rNSample p(r)Sample rhoNSample p(rho)
    {{ trait.description_display }} {{ trait.location_repr }} {{ '%0.3f' % trait.mean|float }}{% if trait.LRS_score_repr != "N/A" %}{{ '%0.1f' % trait.LRS_score_repr|float }}{% else %}N/A{% endif %}{{ trait.LRS_location_repr }}{% if trait.additive != "" %}{{ '%0.3f' % trait.additive|float }}{% else %}N/A{% endif %} {{'%0.3f'|format(trait.sample_r)}} {{ trait.num_overlap }} {{'%0.3e'|format(trait.sample_p)}}{{'%0.3f'|format(trait.tissue_corr)}} {{'%0.3e'|format(trait.tissue_pvalue)}}{% if trait.LRS_score_repr != "N/A" %}{{ '%0.1f' % trait.LRS_score_repr|float }}{% else %}N/A{% endif %}{{ trait.LRS_location_repr }}{% if trait.additive != "" %}{{ '%0.3f' % trait.additive|float }}{% else %}N/A{% endif %}{{ trait.description_display }} {{ trait.authors }} {{ trait.LRS_score_repr }}{{ trait.LRS_location_repr }}{% if trait.additive != "" %}{{ '%0.3f' % trait.additive|float }}{% else %}N/A{% endif %} {{'%0.3f'|format(trait.sample_r)}} {{ trait.num_overlap }} {{'%0.3e'|format(trait.sample_p)}}{{ trait.LRS_score_repr }}{{ trait.LRS_location_repr }}{% if trait.additive != "" %}{{ '%0.3f' % trait.additive|float }}{% else %}N/A{% endif %}{{ trait.location_repr }} {{'%0.3f'|format(trait.sample_r)}}{{ '%0.2f' | format(marker.lod_score|float) }}{{ '%0.2f' | format(marker.lrs_value|float / 4.16) }}{{ '%0.2f' | format(marker.lrs_value|float / 4.61) }}{{ '%0.2f' | format(marker.lod_score|float * 4.16) }}{{ '%0.2f' | format(marker.lod_score|float * 4.61) }}{{ '%0.2f' | format(marker.lrs_value|float) }}