scout-browser 4.101.0__py3-none-any.whl → 4.102.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. scout/adapter/mongo/clinvar.py +7 -7
  2. scout/adapter/mongo/hgnc.py +7 -2
  3. scout/adapter/mongo/omics_variant.py +8 -0
  4. scout/adapter/mongo/variant_loader.py +6 -2
  5. scout/constants/__init__.py +1 -0
  6. scout/constants/igv_tracks.py +6 -2
  7. scout/constants/phenotype.py +1 -0
  8. scout/load/hpo.py +8 -2
  9. scout/server/blueprints/alignviewers/controllers.py +8 -6
  10. scout/server/blueprints/alignviewers/templates/alignviewers/igv_viewer.html +2 -0
  11. scout/server/blueprints/alignviewers/templates/alignviewers/utils.html +1 -1
  12. scout/server/blueprints/cases/controllers.py +56 -28
  13. scout/server/blueprints/cases/templates/cases/case_report.html +9 -88
  14. scout/server/blueprints/cases/templates/cases/matchmaker.html +1 -1
  15. scout/server/blueprints/cases/templates/cases/phenotype.html +1 -1
  16. scout/server/blueprints/cases/templates/cases/utils.html +26 -24
  17. scout/server/blueprints/cases/views.py +32 -33
  18. scout/server/blueprints/clinvar/controllers.py +3 -2
  19. scout/server/blueprints/diagnoses/controllers.py +4 -8
  20. scout/server/blueprints/diagnoses/templates/diagnoses/diagnoses.html +1 -1
  21. scout/server/blueprints/diagnoses/templates/diagnoses/disease_term.html +1 -1
  22. scout/server/blueprints/diagnoses/views.py +2 -2
  23. scout/server/blueprints/institutes/controllers.py +107 -73
  24. scout/server/blueprints/institutes/templates/overview/cases.html +1 -1
  25. scout/server/blueprints/login/controllers.py +2 -1
  26. scout/server/blueprints/login/views.py +5 -2
  27. scout/server/blueprints/omics_variants/views.py +2 -2
  28. scout/server/blueprints/phenotypes/controllers.py +15 -2
  29. scout/server/blueprints/phenotypes/templates/phenotypes/hpo_terms.html +1 -1
  30. scout/server/blueprints/variant/controllers.py +10 -11
  31. scout/server/blueprints/variant/templates/variant/utils.html +1 -1
  32. scout/server/blueprints/variant/templates/variant/variant_details.html +68 -60
  33. scout/server/blueprints/variant/utils.py +25 -0
  34. scout/server/blueprints/variants/controllers.py +11 -42
  35. scout/server/blueprints/variants/views.py +9 -8
  36. scout/server/config.py +3 -0
  37. scout/server/extensions/beacon_extension.py +7 -2
  38. scout/server/templates/bootstrap_global.html +11 -1
  39. scout/server/templates/layout.html +6 -1
  40. scout/server/utils.py +24 -3
  41. {scout_browser-4.101.0.dist-info → scout_browser-4.102.0.dist-info}/METADATA +1 -1
  42. {scout_browser-4.101.0.dist-info → scout_browser-4.102.0.dist-info}/RECORD +45 -45
  43. {scout_browser-4.101.0.dist-info → scout_browser-4.102.0.dist-info}/WHEEL +0 -0
  44. {scout_browser-4.101.0.dist-info → scout_browser-4.102.0.dist-info}/entry_points.txt +0 -0
  45. {scout_browser-4.101.0.dist-info → scout_browser-4.102.0.dist-info}/licenses/LICENSE +0 -0
scout/server/utils.py CHANGED
@@ -8,11 +8,21 @@ import zipfile
8
8
  from functools import wraps
9
9
  from io import BytesIO
10
10
  from typing import Dict, Optional, Tuple
11
+ from urllib.parse import urlparse
11
12
 
12
13
  import pdfkit
13
14
  from bson.objectid import ObjectId
14
- from flask import abort, current_app, flash, render_template, request
15
+ from flask import (
16
+ Response,
17
+ abort,
18
+ current_app,
19
+ flash,
20
+ redirect,
21
+ render_template,
22
+ request,
23
+ )
15
24
  from flask_login import current_user
25
+ from werkzeug.local import LocalProxy
16
26
 
17
27
  LOG = logging.getLogger(__name__)
18
28
 
@@ -102,6 +112,17 @@ def public_endpoint(function):
102
112
  return function
103
113
 
104
114
 
115
+ def safe_redirect_back(request: LocalProxy, link: Optional[str] = None) -> Response:
116
+ """Safely redirects the user back to the referring URL, if it originates from the same host.
117
+ Otherwise, the user is redirected to a default '/'."""
118
+ referrer = request.referrer
119
+ if referrer:
120
+ parsed_referrer = urlparse(referrer)
121
+ if parsed_referrer.netloc == request.host:
122
+ return redirect(link or referrer)
123
+ return redirect("/")
124
+
125
+
105
126
  def variant_institute_and_case(
106
127
  store, variant_obj: dict, institute_id: Optional[str], case_name: Optional[str]
107
128
  ) -> Tuple[dict, dict]:
@@ -145,7 +166,7 @@ def institute_and_case(store, institute_id, case_name=None):
145
166
  return abort(404)
146
167
 
147
168
  # Make sure build is either "37" or "38"
148
- case_obj["genome_build"] = "38" if "38" in str(case_obj.get("genome_build")) else "37"
169
+ case_obj["genome_build"] = get_case_genome_build(case_obj)
149
170
 
150
171
  # validate that user has access to the institute
151
172
 
@@ -208,7 +229,7 @@ def user_institutes(store, login_user):
208
229
 
209
230
  def get_case_genome_build(case_obj: dict) -> str:
210
231
  """returns the genome build of a case, as a string."""
211
- return "38" if "38" in case_obj.get("genome_build", "37") else "37"
232
+ return "38" if "38" in str(case_obj.get("genome_build", "37")) else "37"
212
233
 
213
234
 
214
235
  def get_case_mito_chromosome(case_obj: dict) -> str:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: scout-browser
3
- Version: 4.101.0
3
+ Version: 4.102.0
4
4
  Summary: Clinical DNA variant visualizer and browser
5
5
  Project-URL: Repository, https://github.com/Clinical-Genomics/scout
6
6
  Project-URL: Changelog, https://github.com/Clinical-Genomics/scout/blob/main/CHANGELOG.md
@@ -8,18 +8,18 @@ scout/adapter/mongo/case.py,sha256=Cqb_uWbW5gnAoOMoJVK9LYeCrJEE-M3fgI97-3t6gbc,6
8
8
  scout/adapter/mongo/case_events.py,sha256=slHR4XJF9vRuEbuInJKMMAImLF8m7tHWVfGP42fbXr0,26859
9
9
  scout/adapter/mongo/case_group.py,sha256=tG8DuO0rNYepV4k0yCGPqssODErc0HMsAypg3mfhcV0,1575
10
10
  scout/adapter/mongo/ccv.py,sha256=VIz-Yqzm-1UVPDKvZkBllO4BOKXzvKCXcQUjTtZCHTI,4165
11
- scout/adapter/mongo/clinvar.py,sha256=e11k6mkJNjGOAENx9vaXGl8SOWM88Q8e8qtShxeFzuE,19521
11
+ scout/adapter/mongo/clinvar.py,sha256=qaUrpO_eQfy2ZAAaNKOtLKxCgrMatEVhqHbJ__kXTI4,19462
12
12
  scout/adapter/mongo/cytoband.py,sha256=2NoIAoQ7RPqcipiSymD2O9qH8lXscP3T5ejquOrD7uQ,2622
13
13
  scout/adapter/mongo/disease_terms.py,sha256=4qcQRLuP5xn_RkB2RlNtwCrONmDuWwdlngZrj87BUEo,5637
14
14
  scout/adapter/mongo/event.py,sha256=xC6VdfZUU8tIPKZrCklD-zX3wgfZD09ze5wrpyLbkIA,20245
15
15
  scout/adapter/mongo/filter.py,sha256=rIdjiDJCrNDeTNgssKm7n1HTxne72jvlX2I3FQjQGo8,9687
16
- scout/adapter/mongo/hgnc.py,sha256=P80WdIFkpFDeR6Pa0H-pgeScGrZdCviWVL4rqR5Aqvk,16547
16
+ scout/adapter/mongo/hgnc.py,sha256=S7CFw1DAP-jHGgybw-3H2Dozn5s1rYxnJMHnl8GArKU,16680
17
17
  scout/adapter/mongo/hpo.py,sha256=ps2Pix3sGeea7DenboZVP5j7Vh9WAgX3-sgpbAj0Eck,6871
18
18
  scout/adapter/mongo/index.py,sha256=TZPVv6xBWsEtZpBUWp5uhjuPjQMfVss4lZZju49g1Lw,3577
19
19
  scout/adapter/mongo/institute.py,sha256=SaA1mRxIZHtMfriMnd0yKiup-xSAG5g0ry9Achra9Tk,6646
20
20
  scout/adapter/mongo/managed_variant.py,sha256=mPbp64nMDwAij8zvBbFGjI3MLbk6CC-OO9RTwtEIi44,8451
21
21
  scout/adapter/mongo/matchmaker.py,sha256=amTvFOlUbrt1RmecY_8hPY6bO3j79lc2UbmzlCQcRuk,6378
22
- scout/adapter/mongo/omics_variant.py,sha256=0KuzCEsmxXDNgD3rgrwWT-mUANP3sdhl_Ekv2wIDGrU,8539
22
+ scout/adapter/mongo/omics_variant.py,sha256=-Z4UCqeybbQQix1fWdOTKa6acuytPM2r8c-6pAv-gRY,8910
23
23
  scout/adapter/mongo/panel.py,sha256=d1oMEYAiDGybLmlbbf3-fQdCdU0-T7x2XdIUwZGthYk,20031
24
24
  scout/adapter/mongo/phenomodel.py,sha256=cypSS8YRzu98Bf1kC0orfrLNn_ZQSYCK8e4mNR5PaPY,2572
25
25
  scout/adapter/mongo/query.py,sha256=zXAT5lWadRbhCNw5w161uCKzoUyTuUSlCm32P8aBa_M,36315
@@ -28,7 +28,7 @@ scout/adapter/mongo/transcript.py,sha256=3U1qtyxZ1DnrzdBJm_emJXISMYFKJuX_zAKynUt
28
28
  scout/adapter/mongo/user.py,sha256=QoQnRWqi_dV3ZwGzBonEU6Ap9TgMDf2x_C5UIqG0pa0,2569
29
29
  scout/adapter/mongo/variant.py,sha256=IMZcRr43b3XsDqi9kpymobAj_CPVQkN_rxLMfxQ75LI,36267
30
30
  scout/adapter/mongo/variant_events.py,sha256=yNnMM58P1LbYFw73rWzti6l2zWa_G93ozUTbVkcz4_I,33475
31
- scout/adapter/mongo/variant_loader.py,sha256=8fBEA_SrBJcvDgF5tceYfMQNnZTt6hwM4zcTjOUeRO0,28397
31
+ scout/adapter/mongo/variant_loader.py,sha256=u7XNy3-RjMg80c4iUV2FLfIjfCm286uC0HzHFeiJmh4,28674
32
32
  scout/build/__init__.py,sha256=GUWEaXTpwsJil_KtrXBQJpZIwCQFSgo8NlK49R9IkA8,521
33
33
  scout/build/acmg.py,sha256=M21MrrP_dtEyOuu6t-jBDdaqYcHPMLcwJlt9fHG2ycE,1523
34
34
  scout/build/case.py,sha256=LtYx6zQcCoGCss48qf7uluzTlXVH0Pl-WhqYzkbIcZ8,11510
@@ -125,7 +125,7 @@ scout/commands/view/intervals.py,sha256=8Pofxy0DwL2Euh3SdnTLLWsU6DjLNOwIGdxeCS83
125
125
  scout/commands/view/panels.py,sha256=a0fQcP9-SDPuRYV7aEgIGUCYaMN6V47h6finpcdoomU,1098
126
126
  scout/commands/view/transcripts.py,sha256=59WyNNp7zHPJIz9QgzrkoeKaSXTtuLli0VuL8IidEmY,1277
127
127
  scout/commands/view/users.py,sha256=MKlmhDYRM7Yf-Trmi1ijEuqsDIUn326bdFADyDs7XYg,832
128
- scout/constants/__init__.py,sha256=F17Q75A0RkvYzXujvqjwP5N2nXKVsIGu5UF1wI8_dYw,5951
128
+ scout/constants/__init__.py,sha256=nUd4T3RwBSNcxiU8rXZDOd8nPRl2gqWILY-C0SflnzE,5969
129
129
  scout/constants/acmg.py,sha256=N9X2sJLbK6g6tDPhW0gYQifImzaowb4F6jfTYUBr-Z0,18717
130
130
  scout/constants/case_tags.py,sha256=O-BwEzU36MSpN7qqd-aSvoi4-VDRY8rM5hQ7Jg7DMgs,9447
131
131
  scout/constants/ccv.py,sha256=YP82qWCrjv3JB8d2LkUdBlBZolk0uF3nhNmkNgmebiI,9734
@@ -135,10 +135,10 @@ scout/constants/disease_parsing.py,sha256=M9_OgsN88oXwKH_XpxdDma0zuWPRoHFQjL19tz
135
135
  scout/constants/file_types.py,sha256=3N3TReXVkhxbpvYupsENVFAHEGQyZ1S7efP7wZEqs44,2890
136
136
  scout/constants/filters.py,sha256=ZgVGt6No5D7PiN1o1wWDm3E5SCRk7YLya87_4QtIMPs,979
137
137
  scout/constants/gene_tags.py,sha256=yBrMu9qXyYaQ13l3XMakooyd2ZtPXm1XgpSSH_bC-5U,4513
138
- scout/constants/igv_tracks.py,sha256=584SdO6qJHAcfCxHJQaM4YAnzu4M_uviJIUg6gt_jok,4675
138
+ scout/constants/igv_tracks.py,sha256=rhCrmPGLVUMcFrLfjswzeO2UeKIsf3dgjgyepKjh3sM,4777
139
139
  scout/constants/indexes.py,sha256=qe-1ntYqlwqLEDqsJDX6RhAnCYt_2tVZ9ZJ4nWoTIkQ,5843
140
140
  scout/constants/panels.py,sha256=1N2Ys94IxoEWxySTJDW-rFJ55vtCkqnn6bRWjkw61J4,876
141
- scout/constants/phenotype.py,sha256=MrbXirisR_7GPnxV3NOj3-BoM9CvtGgFZj7PfJu85RM,2331
141
+ scout/constants/phenotype.py,sha256=FqTZJOmBE5vxWU_XPrLi1nkPix5d5WAxLEpjw9Hz4Ak,2381
142
142
  scout/constants/query_terms.py,sha256=tuHYdV0nNKCw4UpypOwUgKImaWFimOyn-evAEGdxz-E,1615
143
143
  scout/constants/so_terms.py,sha256=aJcQv3wgpZylVhqSJH854WS8xSARDxWGnW6I5mG1egE,4321
144
144
  scout/constants/variant_tags.py,sha256=NnpcJGRDycq3PIrDQsd57ynJ8NzmJETICBVjzGKZlSg,17907
@@ -375,7 +375,7 @@ scout/load/cytoband.py,sha256=vPU8oQm31WMcnaG9QG2le9pe_8g70O1S0q1Ljj3Ce84,1356
375
375
  scout/load/disease.py,sha256=eZ-RDTtfO6-YCk0tCHuhCWxw1FSCwHNZEemWXCC4P_w,2747
376
376
  scout/load/exon.py,sha256=ONaWJ9EfbhGV8KGXxwlq_jYCoU-JkBpv4r9zDaCjtls,2070
377
377
  scout/load/hgnc_gene.py,sha256=GcSQ01CioYIshAzXAv4msIGDPjTjGBBPBnLX2GvaZJ4,4507
378
- scout/load/hpo.py,sha256=ZWYjV9j6OfpI-ZZuhTQVEs_xgLa7ST2KuvYLW6ku0PY,2474
378
+ scout/load/hpo.py,sha256=UAUbklr_KIHLutBBW2N3KwInPLFuiufjh8Ke-38m_Pc,2679
379
379
  scout/load/institute.py,sha256=etmZ0CZRHOVi3f9R-wn5BK1pZPhtZwq2QYbh2RXXxDc,625
380
380
  scout/load/panel.py,sha256=MY5M7-lDzVXt5RJH87N28TB7awdM6s-SoawholTl2GM,4776
381
381
  scout/load/panelapp.py,sha256=b37hLLpUNhXPz5SOYnhnRhb1OmSX-z2k7FtKMm9pXE8,5319
@@ -449,29 +449,29 @@ scout/resources/custom_igv_tracks/mane.bb,sha256=flEexDxHmbX7IwwrMM0P5DWOxcSCjmH
449
449
  scout/server/__init__.py,sha256=iwhKnzeBJLKxpRVjvzwiRE63_zNpIBfaKLITauVph-0,24
450
450
  scout/server/app.py,sha256=0Vmhzl7BviwbFA6ZsnXDM-E_KM6kEEWraCUxm8qMvc4,12011
451
451
  scout/server/auto.py,sha256=8B6GwfOaUChkTLuLgYQDFMWlxGuHkEegF1argH2G2Ik,401
452
- scout/server/config.py,sha256=5EZ4F37p15tXght-hRa6d7ueX_68r4DXwjvw-mQiTzE,6252
452
+ scout/server/config.py,sha256=JcT9rUDcAdm9oSk7Wwbu-Aut96-xvBQnMeQTt_-6rXs,6401
453
453
  scout/server/links.py,sha256=aFCvrtXrc1gnhNhnifapVdUZOZKEpBD2zSxWXdvQLEk,28154
454
- scout/server/utils.py,sha256=1pkT1P4EtzWpJwJkT7k48R4xgaYKgjbVoOI8CRZv1og,14023
454
+ scout/server/utils.py,sha256=gNPPtbIXKenxprg1b240pkEbJZowfY4xjH9lctbpeEs,14584
455
455
  scout/server/blueprints/__init__.py,sha256=iwhKnzeBJLKxpRVjvzwiRE63_zNpIBfaKLITauVph-0,24
456
456
  scout/server/blueprints/alignviewers/__init__.py,sha256=XMVed2ekVUAvroqENDHSr2pwM8otqau8ZA-rbH1T2U8,59
457
- scout/server/blueprints/alignviewers/controllers.py,sha256=9gv4hszxtXsvikJY69iMGNiUBSDGcXPg5Q83woheAjw,15252
457
+ scout/server/blueprints/alignviewers/controllers.py,sha256=s8fvqOewsR9bSf-tbZFGe1ePvz5zfoMrVvEzZBe6Cmw,15268
458
458
  scout/server/blueprints/alignviewers/partial.py,sha256=9hpI00yhvZZCcPVUHlVDp488r1j7vYU5YDXYA6OkWQM,2005
459
459
  scout/server/blueprints/alignviewers/views.py,sha256=Qa9VOPbqh2MC-L_x1Yp6n8hfr6mIm9EPIUdN_0itJRU,5092
460
460
  scout/server/blueprints/alignviewers/templates/alignviewers/igv_sashimi_viewer.html,sha256=37ArJCraTajqWlCvyQYVfSvWCg94pRDIMvf2Y7Oe_j4,5545
461
- scout/server/blueprints/alignviewers/templates/alignviewers/igv_viewer.html,sha256=LwtnLK1O4JIxwibmmBQQ4AupxdJOoFaPpQH91EuA8sk,10728
462
- scout/server/blueprints/alignviewers/templates/alignviewers/utils.html,sha256=sPkIgivgYcXkESAbEODi2LeLtYyNWsUdd64xGsX8ejM,336
461
+ scout/server/blueprints/alignviewers/templates/alignviewers/igv_viewer.html,sha256=1DUcfgoFMJDBYHuZ5IwNvbs0fHSDjWJdmNS_GxIbSjE,10891
462
+ scout/server/blueprints/alignviewers/templates/alignviewers/utils.html,sha256=jaf4fba_RHVRymWxP32wCkR0GSZKD7PS8hYjqO8GVFI,336
463
463
  scout/server/blueprints/api/__init__.py,sha256=HR6HjS7ot1K_8Lt5eQdNT154z_FCdHGSigy8r2LpNCI,26
464
464
  scout/server/blueprints/api/views.py,sha256=pbl78wfhrm1T8JmiJDYF3BbTbfFrlF-hQRbuv2GWI0s,3729
465
465
  scout/server/blueprints/cases/__init__.py,sha256=_c17kPFITFYcIVphF4V9bf0PZBer8bU3rtVWQnljKDU,52
466
- scout/server/blueprints/cases/controllers.py,sha256=jao4-oa9K97wA6ExqO-MZNVopCy9lWep53QDwfjGKQo,56725
467
- scout/server/blueprints/cases/views.py,sha256=6CcJ3Vgycf8gvBT-InpbNo0enRhDKNPC2W6hp6jDKas,42938
466
+ scout/server/blueprints/cases/controllers.py,sha256=O3Emj0WOdVbsZBuGNbnNIow7qudYHBob3ATcNhOGniY,57728
467
+ scout/server/blueprints/cases/views.py,sha256=qYnmXi5DpmuLEztQ9DgoOMfe-oOaGAe8JCzZ6tvormw,43092
468
468
  scout/server/blueprints/cases/static/case_images.js,sha256=pb_gG7DNQc-1lADqSII8YvjBwmHyeQWYVtuu2jyrTlU,14997
469
469
  scout/server/blueprints/cases/static/case_styles.css,sha256=2Pgc8pFf9DR5HM1sTdAjaRWhjL-bK5bsQnLpH54HZak,541
470
470
  scout/server/blueprints/cases/static/edit_pedigree.js,sha256=ntC5fie7SsOYJau8qkke1UHxjiYWY_gBzWcIkGpdJUA,2978
471
471
  scout/server/blueprints/cases/static/madeline.js,sha256=KHxKMBVlYVJODNu5QkY9hhsGkDJNoaCoCZZ0DRu0YN0,1175
472
472
  scout/server/blueprints/cases/templates/cases/case.html,sha256=6PUQX2BYv5BYxkqZqpa9xVeNDl7MmQVRFLdV-cgWL5I,37522
473
473
  scout/server/blueprints/cases/templates/cases/case_bionano.html,sha256=PLoRv7hDJcHwxhi-0hC9fQSZc7V_aUYHBhhQqcn_2G8,5946
474
- scout/server/blueprints/cases/templates/cases/case_report.html,sha256=I-cPXq7aij3ZOluPT1CE3-d4S5ml7cSiHhFuiAu5sEI,68780
474
+ scout/server/blueprints/cases/templates/cases/case_report.html,sha256=9JAa3P1yWxOel71QnJYjJyaBKF6Odi42kbZEdofzOe4,65118
475
475
  scout/server/blueprints/cases/templates/cases/case_sma.html,sha256=99rmRyDXFXjooB52TI5_ebJKv1ZAJbVXEw4deHfSVMA,7285
476
476
  scout/server/blueprints/cases/templates/cases/case_tabular_view.html,sha256=ko-LDUKmIoTazMZ2nFWvPEZsgObU07RwqIkDYFjokoY,4317
477
477
  scout/server/blueprints/cases/templates/cases/chanjo2_form.html,sha256=WwdEfVtreTOruPrUJbasGE2Zmt3FiCSHwNEcJVRmefQ,2203
@@ -481,11 +481,11 @@ scout/server/blueprints/cases/templates/cases/gene_panel.html,sha256=nq-hSL__YD5
481
481
  scout/server/blueprints/cases/templates/cases/index.html,sha256=y91d7yI64Fbz7wS8CSsi3vcCo6rFmS0mnstUipnVHUQ,1136
482
482
  scout/server/blueprints/cases/templates/cases/individuals_table.html,sha256=KMWlkE-1wJGcCUcv1VigSakwxeXH0qdBGptzLvx8his,11657
483
483
  scout/server/blueprints/cases/templates/cases/institutes_sidebar.html,sha256=u0oPGHJ0ipZ1LkjHkbwlWfkUWc1h6XH1nh3tkbX17z0,4546
484
- scout/server/blueprints/cases/templates/cases/matchmaker.html,sha256=kPYnmcZJ1gmx_guW52H7baT9Sw4WE0VJmLGF6N7Z3iA,13639
485
- scout/server/blueprints/cases/templates/cases/phenotype.html,sha256=7vz5XPUExD6vc-wdijLKnPzaOFm9mQxOZ_ITAL3y7U8,16420
486
- scout/server/blueprints/cases/templates/cases/utils.html,sha256=Jpt5uwH7IHisdd1DvxjGodFaZ9e1g3JlANpkkQ3P6kA,36973
484
+ scout/server/blueprints/cases/templates/cases/matchmaker.html,sha256=odKTEVPwSakuW1kn7j_23WkgG6naMw1knpF7DJ8jCpU,13620
485
+ scout/server/blueprints/cases/templates/cases/phenotype.html,sha256=C0PEB2VKbQ7i3cOtAJn4NZSzRGCHolI2VbWtOjWwk64,16416
486
+ scout/server/blueprints/cases/templates/cases/utils.html,sha256=V99UYEXJtFOuQyLnEXjEEPpqBXediJtc7FvHoNTyh8A,36682
487
487
  scout/server/blueprints/clinvar/__init__.py,sha256=BV3aH2AbiA2WWrUEMbGd0H9MefFd2eTsRE9ShywbzpI,30
488
- scout/server/blueprints/clinvar/controllers.py,sha256=cqThe0iM7ltT_uF3S0bj6642DrOW5OJiWAUM-w5lShk,24972
488
+ scout/server/blueprints/clinvar/controllers.py,sha256=9KpswGFEaejwMevgcG2D8IRqr6GHRMSAt28ZhkPbE6s,25015
489
489
  scout/server/blueprints/clinvar/form.py,sha256=2h42YJzaOtsdEglxqt7F1i2ncjSU_IHNt-m4QOJytK4,5148
490
490
  scout/server/blueprints/clinvar/views.py,sha256=p4R31xEBqvyw9bbwrB_rRe4UqIDc3HPTvhiVhZ1Z_lA,5760
491
491
  scout/server/blueprints/clinvar/static/form_style.css,sha256=Tro2w0Su9st2ZRpt8PjF7qXYet-0n6Eyol4oh94JafU,4073
@@ -499,11 +499,11 @@ scout/server/blueprints/dashboard/views.py,sha256=VjJI44FBfjQMR21AKminmQWmM3QT9V
499
499
  scout/server/blueprints/dashboard/static/charts.js,sha256=P7VmITDatAROmBvCxYRd_Bq5dQDb7Ew61DszfwOtjvY,4250
500
500
  scout/server/blueprints/dashboard/templates/dashboard/dashboard_general.html,sha256=8l1ulf4URSerw8TvKE1-W1AXPTTjXiM5F2tFH3O238Q,6218
501
501
  scout/server/blueprints/diagnoses/__init__.py,sha256=sORNuH8TXn63RI7KVRSVrMrPwTzZs9gNMfPxtzUZW-U,27
502
- scout/server/blueprints/diagnoses/controllers.py,sha256=h-enZ2T8lwPDFl9pVKRZ7Mr41xMyMLtmT4j4CBG6joQ,1654
503
- scout/server/blueprints/diagnoses/views.py,sha256=zGfYxrrzE1qNn4wyoBdgKpfozJb6XpVEcC0sBwmPDXA,1252
502
+ scout/server/blueprints/diagnoses/controllers.py,sha256=7wz3By19iZOOcBihP89KsihH-vg0AxPmi0YLcIOOcMc,1642
503
+ scout/server/blueprints/diagnoses/views.py,sha256=nr8YKcCUnD7xisk32UKkv-RY2wWR8Egl3wKTrITsd3c,1307
504
504
  scout/server/blueprints/diagnoses/static/diagnoses.js,sha256=M1-BqMEBjNi8P7bY5Zf9gJCz5pqCpT3R75MvuFtDqQw,5460
505
- scout/server/blueprints/diagnoses/templates/diagnoses/diagnoses.html,sha256=XlkzjQLGkNm9R2Ls7eqMhJE5BEXcUxI0AR-DrMFbIoY,4448
506
- scout/server/blueprints/diagnoses/templates/diagnoses/disease_term.html,sha256=8EG07B5kD9FqiYinGOP2JR-y8yontoEvqwkFtp3yRlw,1844
505
+ scout/server/blueprints/diagnoses/templates/diagnoses/diagnoses.html,sha256=UcGNLawdN5lTpRDmIC3VDsVfFzs9iNS7B8k5ddS57rc,4428
506
+ scout/server/blueprints/diagnoses/templates/diagnoses/disease_term.html,sha256=iE-zlD3Khscv1jJey14giYfPN_JignsH_V7eLrVGcwU,1825
507
507
  scout/server/blueprints/genes/__init__.py,sha256=LPHrbmfVhZpLGGdExFbJp_Du1NKCsVOO_eaevpsNLC8,52
508
508
  scout/server/blueprints/genes/controllers.py,sha256=LCuGPQymKxA7sES49z_j2_B3prKmNY-ME0VK892VoPs,3629
509
509
  scout/server/blueprints/genes/views.py,sha256=lFJ7izYu0CbUJo3j5TesrUhIwreZUYw9_dDqd6iG8m4,1512
@@ -511,14 +511,14 @@ scout/server/blueprints/genes/templates/genes/gene.html,sha256=a--c-IjzNKN_JW7z9
511
511
  scout/server/blueprints/genes/templates/genes/genes.html,sha256=x6jXKijvuEX9GvIedHW4O_BerYXiWEmAdYT0HTiGnhI,1130
512
512
  scout/server/blueprints/genes/templates/genes/layout.html,sha256=cZMLe2cInq24z0sZpPxDm_kEiAe5VQbOR-8XWn6wlvI,1601
513
513
  scout/server/blueprints/institutes/__init__.py,sha256=kGSyYrBC1QaEQBDdoMkMLfaowV7roaV5DowICi_0RSQ,65
514
- scout/server/blueprints/institutes/controllers.py,sha256=0pCXP6RZx8W0Jyd4KrlSR4UpgYuTjdIB7GuomM7lUHc,34723
514
+ scout/server/blueprints/institutes/controllers.py,sha256=TbKTIHkIsgtRJKyW1Cjya2BbUYT3wjZgfGUS4ziM6Gg,35543
515
515
  scout/server/blueprints/institutes/forms.py,sha256=uKyl1bfAFYB65P0DHMihBWhE9bvxNixAIkznuelpIBo,6810
516
516
  scout/server/blueprints/institutes/views.py,sha256=PSpf82kW0EKZc24CPhBhuE-wXXGyIz-R6IJu7IM0IrM,9052
517
517
  scout/server/blueprints/institutes/static/form_scripts.js,sha256=8Sn7omeXeeUbiXJPfT0Qb4CaBJ_KtZZWw7N2he7EDx0,747
518
518
  scout/server/blueprints/institutes/static/select2_darktheme.css,sha256=Nq_va597W_e5y-52B4ClwSJzACq0WFbPU8SIp3DtKIo,1818
519
519
  scout/server/blueprints/institutes/static/timeline_styles.css,sha256=Vq48ffIidpQmDQhAzfW47O9mGQZEWdlbMtOE8AK-ZEU,2122
520
520
  scout/server/blueprints/institutes/static/variants_list_scripts.js,sha256=R4rqoCXzVs9RLqXLK851n0mFgN4xytHxSCaRm0egk5M,377
521
- scout/server/blueprints/institutes/templates/overview/cases.html,sha256=R6pzv4EVqe6x69tP94ROITy_I-zi96ITCblMRjtUs70,12926
521
+ scout/server/blueprints/institutes/templates/overview/cases.html,sha256=ifLLs8TGZmJcfMlzo8Gc3WyW1DtyUlmiFzr212jaTKg,12965
522
522
  scout/server/blueprints/institutes/templates/overview/causatives.html,sha256=192pgqUSXQF4qhC933qsYtTwvmlqDctxwHcArERkHc8,1619
523
523
  scout/server/blueprints/institutes/templates/overview/filters.html,sha256=SXvimbFNKfhoh8lpSfnMCTLMb4QghZRxT6W5PteGj68,3519
524
524
  scout/server/blueprints/institutes/templates/overview/gene_variants.html,sha256=EyhBZEdMZQBaJWR_FDeabuWXRSd4Xcqh0teaxVyNvAE,8442
@@ -529,9 +529,9 @@ scout/server/blueprints/institutes/templates/overview/users.html,sha256=6dkbDBNL
529
529
  scout/server/blueprints/institutes/templates/overview/utils.html,sha256=zkoqVNdBaeUtGFQfCNb7Vo3GlOypjg42XS0GvHlih7o,34297
530
530
  scout/server/blueprints/institutes/templates/overview/verified.html,sha256=qxZ8mIPX00ZXIy_5eLO2QmLrjJZrhw97kdXBZxpRj38,3363
531
531
  scout/server/blueprints/login/__init__.py,sha256=uDzQjNNrMloZ4-i-1cEW7d59FZ--Xy89b-Xn5SvyC1U,52
532
- scout/server/blueprints/login/controllers.py,sha256=AWz48_-kdlhmVXIoXOHmzCySSKjUiPQy8KfKC_ei1So,5696
532
+ scout/server/blueprints/login/controllers.py,sha256=Ro6-viLD8f8HYpWotb_2aoKK9O6osYlSH79hiEfeXOE,5722
533
533
  scout/server/blueprints/login/models.py,sha256=w0ELh33rX1zwEnzZE-nhaoB6Z1JfgWxzWJ43JFJJo4s,688
534
- scout/server/blueprints/login/views.py,sha256=Yo2aTkOPt0s6qwnMDLL92OuskQmTGXhhwMFQV56Y4r0,3386
534
+ scout/server/blueprints/login/views.py,sha256=xyNWwLe3cOp25LniSHttgccUwLhAshnWHpSTudLoluo,3486
535
535
  scout/server/blueprints/login/static/aspirant.svg,sha256=qMXSX7WzHCDrqcnn6_U_mpQolZc3LVChPsRISGVRO00,270226
536
536
  scout/server/blueprints/login/static/commander.svg,sha256=qXfFTyAE0myoOxJ8d1xb138APPllUOYxXE1Dp66Bz0o,195476
537
537
  scout/server/blueprints/login/static/commissioner.svg,sha256=kAMMtiUauuKKKwYYVhjI8BOjiFoVLZWtj3zcmdwbVzg,415421
@@ -552,7 +552,7 @@ scout/server/blueprints/mme/views.py,sha256=JIEVxjM2lf9duXJh7TW3nLaXRyhfqggNMrq5
552
552
  scout/server/blueprints/mme/templates/mme/mme_submissions.html,sha256=OUO_3b0qEat82g8CWX9sy6-pyWdTDtIWs-y2fnhM1Io,4681
553
553
  scout/server/blueprints/omics_variants/__init__.py,sha256=8UVXrChArhIvMxtgUcG-udvmlTn56q41iy-naOZw5us,37
554
554
  scout/server/blueprints/omics_variants/controllers.py,sha256=AnM70stvLniJIU3pFUX-InNjuT-7K0RpuAEYa7vM-jw,3912
555
- scout/server/blueprints/omics_variants/views.py,sha256=EuF3DCAFuOzX-86al0_IfOqnqH3B_RhypQq313HNfLA,3725
555
+ scout/server/blueprints/omics_variants/views.py,sha256=OnLP4-aOna3bKqa8LB8LwFMl4fLvGWo5STAQSXKI7nM,3714
556
556
  scout/server/blueprints/omics_variants/templates/omics_variants/outliers.html,sha256=J6XmEc5dBAveBbNzVypfw6WbvBKntTr_YPqjUf40DTY,13951
557
557
  scout/server/blueprints/panels/__init__.py,sha256=usxBF0O7zNX1d9jt-8DRoFZwcfHHS96Gv87LDr1AgG4,53
558
558
  scout/server/blueprints/panels/controllers.py,sha256=_LXiayDyGcyRQ3Hw13fD8zVYFQ1jIIXUMQ49WsimrZ8,12618
@@ -570,9 +570,9 @@ scout/server/blueprints/phenomodels/views.py,sha256=5RI5Df56C8HkcXi5wVpgEdxp7cf5
570
570
  scout/server/blueprints/phenomodels/templates/phenomodel.html,sha256=Qd1lNZJIyhZG2K8iVO7UvW8HH3Z-tbMC9Up1Ovlw-MY,18008
571
571
  scout/server/blueprints/phenomodels/templates/phenomodels.html,sha256=nUgJIM-HCO3JdfzhWUIal7-w_Ilcn05XqDtC-gi-ynE,7481
572
572
  scout/server/blueprints/phenotypes/__init__.py,sha256=U62KsB1aI_b98M9-Ahy1HfxtPNFYOLUS29c5OVqhRN8,50
573
- scout/server/blueprints/phenotypes/controllers.py,sha256=Wkg7k96Pw8dkBGdG62qljkgOqy3almGEJdNrnxjeqKc,995
573
+ scout/server/blueprints/phenotypes/controllers.py,sha256=WJJdE6ZcfCXkkf8h-8bC5eMTsaTkBcq3nrAa7rAFQ5c,1254
574
574
  scout/server/blueprints/phenotypes/views.py,sha256=mote8mMsOHSkrXTt5r7rw0DH-RLW2HBt252o8AG8MxI,1853
575
- scout/server/blueprints/phenotypes/templates/phenotypes/hpo_terms.html,sha256=JDdoy9d0NyBJgJgB59outiCKUmkGQCtDz-sdxJGgEic,2327
575
+ scout/server/blueprints/phenotypes/templates/phenotypes/hpo_terms.html,sha256=msYJjyEp3Q3PYo1A0zPuirawSFAzpcARdbPV1lVeA98,2308
576
576
  scout/server/blueprints/public/__init__.py,sha256=M26IYmBXK-dnMmd3Uc2ZuVpjD_xdKKyYNzz0IXFueKo,53
577
577
  scout/server/blueprints/public/views.py,sha256=HSwatmBQB6fA90Mt6Lpv9NNVLSQpPz4NxWyjx4IpyqM,973
578
578
  scout/server/blueprints/public/static/GMS-logo-dark.png,sha256=NC5uv6QeLaEKCrXHmGywukREM_GsO6jb4aEIN77UYEc,76765
@@ -611,8 +611,8 @@ scout/server/blueprints/public/static/ideograms/chromosome-X.png,sha256=Dj7npcW_
611
611
  scout/server/blueprints/public/static/ideograms/chromosome-Y.png,sha256=KlOsBLZYFVHRvXvTioT-XE57zSWoYeIwIEXo_rzLBR0,1524
612
612
  scout/server/blueprints/public/templates/public/index.html,sha256=o_1UIHGHLBVahVT3MkYo2M7Vfh6tcUnbCXxh2QZ3MiI,4485
613
613
  scout/server/blueprints/variant/__init__.py,sha256=SlD8-Aoj9Jq9aVTJjtFfsu-0sUVfkzpiEXcH8z9q6dI,54
614
- scout/server/blueprints/variant/controllers.py,sha256=9PCaLiz9AhOnZiImKg_NAZPbpNulUsFAy7NFrb4l_Dk,31057
615
- scout/server/blueprints/variant/utils.py,sha256=AWbsGc2dIUBp-r0D_FYlZKxdF3Tr5SHNxL5pAlZeie0,25226
614
+ scout/server/blueprints/variant/controllers.py,sha256=i6HF_kZW2DgfXRS4kjzAbTOMDkIjLgvfrSKB2gq40Zw,30970
615
+ scout/server/blueprints/variant/utils.py,sha256=xx0I0XxBQTMT28AhZXtZJIjF75Iyk10kXOq25jyribE,25932
616
616
  scout/server/blueprints/variant/verification_controllers.py,sha256=eKzP222e7xuFOaQaI9MLOrD9RWtI8uGB1cJYbcXLzF0,10972
617
617
  scout/server/blueprints/variant/views.py,sha256=MKKCDAfmX_Vggyuw60gIL8NftCDvis9XnkCedK-ZUuE,19510
618
618
  scout/server/blueprints/variant/templates/variant/acmg.html,sha256=MFUuK-JEksjeefByzhwDZvbzss-VHrlXZkPGvsSDrXM,9470
@@ -626,14 +626,14 @@ scout/server/blueprints/variant/templates/variant/sanger.html,sha256=0kVnscTw3KU
626
626
  scout/server/blueprints/variant/templates/variant/str-variant-reviewer.html,sha256=p0nWqo71GJ8ACLEzXuZbJAzDXoCHZLvH6f7yLi3JslI,2208
627
627
  scout/server/blueprints/variant/templates/variant/sv-variant.html,sha256=Jqhp0Co3AsZO1pEM7Iw2Cwa-nYs3KM_TBGxZP9KgfL4,16825
628
628
  scout/server/blueprints/variant/templates/variant/tx_overview.html,sha256=EXLBDh_SgNVEO7MPMjlmfO6MDhtDcj0JyvZdRgxbwSM,6756
629
- scout/server/blueprints/variant/templates/variant/utils.html,sha256=pZ6-MuDH2U7lVWDwBsX8pnNRuy54-F_ClUIlt3lgFmo,26048
629
+ scout/server/blueprints/variant/templates/variant/utils.html,sha256=Chek9j4v8R7sjN80G7p6ZMUbV22kQXLGYhSj2lDFLrg,26050
630
630
  scout/server/blueprints/variant/templates/variant/variant.html,sha256=KbB-MjLehWeD4mEKevx0R6g6PJP0BjJ_cPLBlqOXmPc,20714
631
- scout/server/blueprints/variant/templates/variant/variant_details.html,sha256=FeuANKP5gL9SWwYnC-4-dXyZOgy0Nq6FXAjED3nuqjI,21097
631
+ scout/server/blueprints/variant/templates/variant/variant_details.html,sha256=RkqkHkhH1ireRBKYA0GwoTwowTxHwJgehYckveOw6-I,21039
632
632
  scout/server/blueprints/variants/__init__.py,sha256=W1KCz9kEbVlNO0o3NvLitYLQoP_3JSJ5KSjhpcjlUBQ,55
633
- scout/server/blueprints/variants/controllers.py,sha256=QxoGZPzGS1kIs-lNa5dZsB19URzwzuTdK9AW0Js8M5k,75746
633
+ scout/server/blueprints/variants/controllers.py,sha256=NbRM4tVrWsLLOVH-Jun80K0ZwJ9MObCJtQjnBXE2hjM,74730
634
634
  scout/server/blueprints/variants/forms.py,sha256=X4lw2UhSAAkaAMgpBK5yz8B8RvcirjjgjOyctN8g1xw,12599
635
635
  scout/server/blueprints/variants/utils.py,sha256=ifFBoyigx0A5KPE4iz9NSpyuUeF1bElrb4ohQLD2GlU,919
636
- scout/server/blueprints/variants/views.py,sha256=0HI1SsL6gMP2-XSxq232cw6ECT13LVpdfxkI6QyRthk,28642
636
+ scout/server/blueprints/variants/views.py,sha256=kBzO4uyI4EjaSEt5YKEkOOouwJQqTuRPatdkSFu5jkA,28472
637
637
  scout/server/blueprints/variants/static/form_scripts.js,sha256=o3GCboaesA9Sm1HgejS_yQwt0I-NTkvcl56jiBdLqZs,8319
638
638
  scout/server/blueprints/variants/templates/variants/cancer-sv-variants.html,sha256=QlGmUEdUQ7gCq7tMMUFAlGqqC9jFB78Q0h6tSp3QUas,7271
639
639
  scout/server/blueprints/variants/templates/variants/cancer-variants.html,sha256=iEL4InO43JGwZP0QDC5VA-4LcZtIadm8d1FFI8mFb-M,9689
@@ -646,7 +646,7 @@ scout/server/blueprints/variants/templates/variants/sv-variants.html,sha256=-0eL
646
646
  scout/server/blueprints/variants/templates/variants/utils.html,sha256=g6nvYsYwhlXP7ubT1mEX0zU9cAXIZ8KJWHvTFzMCxNI,52919
647
647
  scout/server/blueprints/variants/templates/variants/variants.html,sha256=oqJdyiIVwhZKnOGDfx07dPlRduIUvN5r0JmmK4hYExQ,8450
648
648
  scout/server/extensions/__init__.py,sha256=s6qkGSFNRi_tP7yoeoXB5UarvLHidaK1Yw2Pae7Py90,1366
649
- scout/server/extensions/beacon_extension.py,sha256=W2dHjTWbWXLnQN3dCOzXlGX8VxSYejT_UUlEF-elh14,9901
649
+ scout/server/extensions/beacon_extension.py,sha256=aFILa3hdjg3uQATwY2daHMW_iTPHLybRlZL-fBkpMxI,9963
650
650
  scout/server/extensions/bionano_extension.py,sha256=Ov645TQgRusDapqqw82XK1QkTR_pI76-jcQRR2qKnmA,7097
651
651
  scout/server/extensions/chanjo2_extension.py,sha256=AQe5mwN2UrgFYGEq9YtTQddaHCeM2oomUX_sqnH2Sk8,4618
652
652
  scout/server/extensions/chanjo_extension.py,sha256=ZjAInFDLsNG32PDeY8GR3ick12_VKWdTpwaV74gr6EA,4041
@@ -664,8 +664,8 @@ scout/server/static/custom_images.js,sha256=7GLudzi3518kWkHuSJGbiqkiU1WV3HofXI46
664
664
  scout/server/static/favicon.ico,sha256=8aC2QonalUW-D62draMeiII4sZYQSp9BLGQnj-wRlt0,1469
665
665
  scout/server/static/humans.txt,sha256=UdqAR07_5LAWWfgH2Ty4RR8BhoHS1WXpx9euKtXqqhs,259
666
666
  scout/server/static/robots.txt,sha256=fFX0beQN4x3mzR3evnZjrOUYOTNkezYAwqMowTUpmxM,106
667
- scout/server/templates/bootstrap_global.html,sha256=yPauZKUzPvDCj6LUrKnCtkYgn7fPt07-Letxqd-hLw8,2634
668
- scout/server/templates/layout.html,sha256=rS8qZCZiLF8WCTJFTfNATxZSZ6-Zd_b1GCdvkKzi1Rg,4951
667
+ scout/server/templates/bootstrap_global.html,sha256=6JrQGCdrSM17VJhcUTPBMSEHRkaOAo1w8Hcsvg6uhRE,2897
668
+ scout/server/templates/layout.html,sha256=JeUfKYL7R-8-eaZndV4WukpSiIlWga_qYghpOuwq594,5115
669
669
  scout/server/templates/report_base.html,sha256=bNYzoJFgtYMnfxQYeguwQK9c15ZASdmXd72DaiCfZto,2281
670
670
  scout/server/templates/utils.html,sha256=0FpSmFLBAOTApGntcIW9YKhqXn6ABDt51aOidx3QtYM,12818
671
671
  scout/server/translations/sv/LC_MESSAGES/messages.mo,sha256=eI53pCtlYj1MXduDicMZRxBhgOV_TlmMUpH7IhncgDY,4452
@@ -689,8 +689,8 @@ scout/utils/link.py,sha256=HpQvwu0hmuCrs7TcAExLmOzEGr3glWuu8iaW0ao5pEA,9011
689
689
  scout/utils/md5.py,sha256=KkgdxOf7xbF9AF40ZjQKCgWaxFWJ9tp9RKjd8SU6IoA,649
690
690
  scout/utils/scout_requests.py,sha256=6R8boknrfwlmrRQ2txD81lfVtqUK_iabywEiVyIiZfQ,12685
691
691
  scout/utils/track_resources.py,sha256=eUjSEe-Ff8BIb4BHPC_COkJocQO2PaWueiPz1GAuiwY,2614
692
- scout_browser-4.101.0.dist-info/METADATA,sha256=Mk2AmmUzaWO6IslzOG_LTXNcBp8qK6l3O7CQO_23fHw,15527
693
- scout_browser-4.101.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
694
- scout_browser-4.101.0.dist-info/entry_points.txt,sha256=q_mxFwbMFTwXRDDIRVcqKram2ubMVmvs3CSNvZri1nY,45
695
- scout_browser-4.101.0.dist-info/licenses/LICENSE,sha256=TM1Y9Cqbwk55JVfxD-_bpGLtZQAeN9RovQlqHK6eOTY,1485
696
- scout_browser-4.101.0.dist-info/RECORD,,
692
+ scout_browser-4.102.0.dist-info/METADATA,sha256=Dzeha9Ho1ykmvcAzIodqT_hxJeNAqr333lP4-g3iSzY,15527
693
+ scout_browser-4.102.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
694
+ scout_browser-4.102.0.dist-info/entry_points.txt,sha256=q_mxFwbMFTwXRDDIRVcqKram2ubMVmvs3CSNvZri1nY,45
695
+ scout_browser-4.102.0.dist-info/licenses/LICENSE,sha256=TM1Y9Cqbwk55JVfxD-_bpGLtZQAeN9RovQlqHK6eOTY,1485
696
+ scout_browser-4.102.0.dist-info/RECORD,,