mscore 25.0.4__tar.gz → 25.3.1__tar.gz

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 (74) hide show
  1. {mscore-25.0.4 → mscore-25.3.1}/PKG-INFO +21 -12
  2. mscore-25.3.1/README.md +135 -0
  3. {mscore-25.0.4 → mscore-25.3.1}/mscore/__init__.pye +5 -3
  4. {mscore-25.0.4 → mscore-25.3.1}/mscore/activate.pye +46 -46
  5. mscore-25.3.1/mscore/data_variables/__init__.pye +7 -0
  6. {mscore-25.0.4 → mscore-25.3.1}/mscore/data_variables/hcc_descriptors.pye +4 -2
  7. {mscore-25.0.4 → mscore-25.3.1}/mscore/data_variables/hierarchies.pye +4 -3
  8. mscore-25.3.1/mscore/data_variables/variable_dict.pye +1858 -0
  9. {mscore-25.0.4 → mscore-25.3.1}/mscore/demography_builder.pye +4 -3
  10. {mscore-25.0.4 → mscore-25.3.1}/mscore/demography_vars_applicator.pye +4 -3
  11. {mscore-25.0.4 → mscore-25.3.1}/mscore/file_handler.pye +74 -73
  12. {mscore-25.0.4 → mscore-25.3.1}/mscore/hcc_handler.pye +4 -2
  13. mscore-25.3.1/mscore/ram_models.pye +560 -0
  14. {mscore-25.0.4 → mscore-25.3.1}/mscore/reference_data/Crosswalks/F2225CW.TXT +84 -10
  15. {mscore-25.0.4 → mscore-25.3.1}/mscore/reference_data/Crosswalks/F2425CW.TXT +84 -10
  16. {mscore-25.0.4 → mscore-25.3.1}/mscore/reference_data/Crosswalks/F2825CW.TXT +97 -4
  17. {mscore-25.0.4 → mscore-25.3.1}/mscore/reference_data/application_tables/application_format_fact.parquet +0 -0
  18. {mscore-25.0.4 → mscore-25.3.1}/mscore/reference_data/application_tables/application_model_coefficient.parquet +0 -0
  19. mscore-25.3.1/mscore/reference_data/application_tables/application_model_dimension.parquet +0 -0
  20. mscore-25.3.1/mscore/scoring_handler.pye +757 -0
  21. {mscore-25.0.4 → mscore-25.3.1}/mscore/utilities/__init__.pye +4 -3
  22. mscore-25.3.1/mscore/utilities/authentication.pye +523 -0
  23. {mscore-25.0.4 → mscore-25.3.1}/mscore/utilities/cli.pye +60 -69
  24. {mscore-25.0.4 → mscore-25.3.1}/mscore/utilities/context.pye +4 -3
  25. mscore-25.3.1/mscore/utilities/data_models.pye +97 -0
  26. {mscore-25.0.4 → mscore-25.3.1}/mscore/utilities/data_validation.pye +4 -3
  27. {mscore-25.0.4 → mscore-25.3.1}/mscore/utilities/file_organizer.pye +4 -3
  28. {mscore-25.0.4 → mscore-25.3.1}/mscore/utilities/licensing.pye +4 -3
  29. {mscore-25.0.4 → mscore-25.3.1}/mscore/utilities/log_handler.pye +4 -3
  30. {mscore-25.0.4 → mscore-25.3.1}/mscore/utilities/user_models.pye +4 -3
  31. {mscore-25.0.4 → mscore-25.3.1}/mscore.egg-info/PKG-INFO +21 -12
  32. {mscore-25.0.4 → mscore-25.3.1}/mscore.egg-info/SOURCES.txt +1 -0
  33. {mscore-25.0.4 → mscore-25.3.1}/pyproject.toml +1 -1
  34. mscore-25.0.4/mscore/data_variables/__init__.pye +0 -6
  35. mscore-25.0.4/mscore/data_variables/variable_dict.pye +0 -1066
  36. mscore-25.0.4/mscore/ram_models.pye +0 -473
  37. mscore-25.0.4/mscore/reference_data/application_tables/application_model_dimension.parquet +0 -0
  38. mscore-25.0.4/mscore/scoring_handler.pye +0 -769
  39. mscore-25.0.4/mscore/utilities/authentication.pye +0 -521
  40. mscore-25.0.4/mscore/utilities/data_models.pye +0 -98
  41. {mscore-25.0.4 → mscore-25.3.1}/mscore/__main__.py +0 -0
  42. {mscore-25.0.4 → mscore-25.3.1}/mscore/reference_data/Crosswalks/F2221CW.TXT +0 -0
  43. {mscore-25.0.4 → mscore-25.3.1}/mscore/reference_data/Crosswalks/F2222CW.TXT +0 -0
  44. {mscore-25.0.4 → mscore-25.3.1}/mscore/reference_data/Crosswalks/F2223CW.TXT +0 -0
  45. {mscore-25.0.4 → mscore-25.3.1}/mscore/reference_data/Crosswalks/F2224CW.TXT +0 -0
  46. {mscore-25.0.4 → mscore-25.3.1}/mscore/reference_data/Crosswalks/F2421CW.TXT +0 -0
  47. {mscore-25.0.4 → mscore-25.3.1}/mscore/reference_data/Crosswalks/F2422CW.TXT +0 -0
  48. {mscore-25.0.4 → mscore-25.3.1}/mscore/reference_data/Crosswalks/F2423CW.TXT +0 -0
  49. {mscore-25.0.4 → mscore-25.3.1}/mscore/reference_data/Crosswalks/F2424CW.TXT +0 -0
  50. {mscore-25.0.4 → mscore-25.3.1}/mscore/reference_data/Crosswalks/F2824CW.TXT +0 -0
  51. {mscore-25.0.4 → mscore-25.3.1}/mscore/reference_data/Model_Coefficients/2021_CMS-HCC_V22.csv +0 -0
  52. {mscore-25.0.4 → mscore-25.3.1}/mscore/reference_data/Model_Coefficients/2021_CMS-HCC_V222179O1.csv +0 -0
  53. {mscore-25.0.4 → mscore-25.3.1}/mscore/reference_data/Model_Coefficients/2021_CMS-HCC_V24.csv +0 -0
  54. {mscore-25.0.4 → mscore-25.3.1}/mscore/reference_data/Model_Coefficients/2021_CMS-HCC_V242186P1.csv +0 -0
  55. {mscore-25.0.4 → mscore-25.3.1}/mscore/reference_data/Model_Coefficients/2022_CMS-HCC_V22.csv +0 -0
  56. {mscore-25.0.4 → mscore-25.3.1}/mscore/reference_data/Model_Coefficients/2022_CMS-HCC_V222279O1.csv +0 -0
  57. {mscore-25.0.4 → mscore-25.3.1}/mscore/reference_data/Model_Coefficients/2022_CMS-HCC_V24.csv +0 -0
  58. {mscore-25.0.4 → mscore-25.3.1}/mscore/reference_data/Model_Coefficients/2022_CMS-HCC_V242286P1.csv +0 -0
  59. {mscore-25.0.4 → mscore-25.3.1}/mscore/reference_data/Model_Coefficients/2023_CMS-HCC_V22.csv +0 -0
  60. {mscore-25.0.4 → mscore-25.3.1}/mscore/reference_data/Model_Coefficients/2023_CMS-HCC_V24.csv +0 -0
  61. {mscore-25.0.4 → mscore-25.3.1}/mscore/reference_data/Model_Coefficients/2024_CMS-HCC_V22.csv +0 -0
  62. {mscore-25.0.4 → mscore-25.3.1}/mscore/reference_data/Model_Coefficients/2024_CMS-HCC_V24.csv +0 -0
  63. {mscore-25.0.4 → mscore-25.3.1}/mscore/reference_data/Model_Coefficients/2024_CMS-HCC_V28.csv +0 -0
  64. {mscore-25.0.4 → mscore-25.3.1}/mscore/reference_data/Model_Coefficients/2025_CMS-HCC_V22.csv +0 -0
  65. {mscore-25.0.4 → mscore-25.3.1}/mscore/reference_data/Model_Coefficients/2025_CMS-HCC_V24.csv +0 -0
  66. {mscore-25.0.4 → mscore-25.3.1}/mscore/reference_data/Model_Coefficients/2025_CMS-HCC_V28.csv +0 -0
  67. {mscore-25.0.4 → mscore-25.3.1}/mscore/reference_data/model_formats_all_columns/2023_CMS-HCC_V222379O1_format.csv +0 -0
  68. {mscore-25.0.4 → mscore-25.3.1}/mscore/reference_data/model_formats_all_columns/2023_CMS-HCC_V242386P1_format.csv +0 -0
  69. {mscore-25.0.4 → mscore-25.3.1}/mscore/reference_data/model_formats_all_columns/2024_CMS-HCC_V28_format.csv +0 -0
  70. {mscore-25.0.4 → mscore-25.3.1}/mscore.egg-info/dependency_links.txt +0 -0
  71. {mscore-25.0.4 → mscore-25.3.1}/mscore.egg-info/entry_points.txt +0 -0
  72. {mscore-25.0.4 → mscore-25.3.1}/mscore.egg-info/requires.txt +0 -0
  73. {mscore-25.0.4 → mscore-25.3.1}/mscore.egg-info/top_level.txt +0 -0
  74. {mscore-25.0.4 → mscore-25.3.1}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.4
2
2
  Name: mscore
3
- Version: 25.0.4
3
+ Version: 25.3.1
4
4
  Summary: MScore: Risk Scores Made Easy
5
5
  Home-page: https://github.com/elevendatacorp/mscore.git
6
6
  Author: RAM Development Team
@@ -11,6 +11,17 @@ Classifier: Programming Language :: Python :: 3
11
11
  Classifier: Operating System :: OS Independent
12
12
  Requires-Python: >=3.10
13
13
  Description-Content-Type: text/markdown
14
+ Requires-Dist: pandas
15
+ Requires-Dist: pyarrow
16
+ Requires-Dist: numpy
17
+ Requires-Dist: requests
18
+ Requires-Dist: getmac
19
+ Requires-Dist: cython
20
+ Requires-Dist: pydantic
21
+ Requires-Dist: cryptography
22
+ Requires-Dist: sourcedefender
23
+ Dynamic: author
24
+ Dynamic: home-page
14
25
 
15
26
  <p align="center">
16
27
  <a href="https://www.riskadjustmentmodel.com/" target="_blank">
@@ -81,7 +92,6 @@ The <code>mscore</code> class requires 7 arguments in order to run with 2 option
81
92
  * <code>columns</code>
82
93
 
83
94
  ### Optional
84
- * <code>rf-output</code> (boolean) - Generates a file of your scores Relative Factors
85
95
  * <code>dev</code> (boolean) - Runs the application in 'Development' mode
86
96
 
87
97
  **_NOTE:_** The example below assumes you already have a [Pandas](https://pandas.pydata.org/) DataFrame generated for your person and diagnosis datasets.
@@ -103,23 +113,22 @@ auth = AuthorizeLicense(staging_key).validate()
103
113
 
104
114
  model = MScore(
105
115
  authorizer = auth,
106
- year = '2024',
107
- version = 'V24',
116
+ year = '2025',
117
+ version = 'V28',
108
118
  model = 'CMS-HCC',
109
119
  person_data = person_df,
110
120
  diag_data = diag_df,
111
121
  columns = 'all-fields',
112
- rf_output = True,
113
122
  )
114
123
 
115
- v24_2024_scores = model.score_mscore()
124
+ scores = model.score_mscore()
116
125
 
117
- print(v24_2024_scores.risk_scores)
118
- print(v24_2024_scores.relative_factors)
126
+ print(scores.risk_scores)
127
+ print(scores.relative_factors)
119
128
  ```
120
- The resulting 'v24_2024_scores' output is a data model object of pandas.DataFrames. You can access your risk scores or relative factors data sets by calling the respective model name from the grouped data model.
121
- - <span style="font-family:courier-new">v24_2024_scores.risk_scores</span>
122
- - <span style="font-family:courier-new">v24_2024_scores.relative_factors</span>
129
+ The resulting 'scores' output is a data model object of pandas.DataFrames. You can access your risk scores or relative factors data sets by calling the respective model name from the grouped data model.
130
+ - <span style="font-family:courier-new">scores.risk_scores</span>
131
+ - <span style="font-family:courier-new">scores.relative_factors</span>
123
132
 
124
133
  From here you can proceed to use the risk score or relative factor DataFrames for further downstream processing or utilize the [Pandas](https://pandas.pydata.org/docs/user_guide/index.html) built-in methods to save to a file type of your choosing.
125
134
 
@@ -0,0 +1,135 @@
1
+ <p align="center">
2
+ <a href="https://www.riskadjustmentmodel.com/" target="_blank">
3
+ <img src="https://ram-site-assets-pub.s3.us-east-1.amazonaws.com/images/mscore_registered_logo_updated_subtitle.png">
4
+ </a>
5
+ </p>
6
+
7
+ ---
8
+
9
+ M<span style="font-size:.8em;">SCORE<sup>®</sup></span> is a python package designed to streamline the CMS-HCC model risk score calculation process for health plans and providers participating in Medicare Advantage and value-based care. It provides a SAS®-free alternative to produce HCCs and risk scores. It streamlines your data processing for enhanced accessibility and allows you to keep your data secure in-house, so you can focus on execution of your risk adjustment strategy.
10
+
11
+ ## Features
12
+ - **Implement Anywhere**: M<span style="font-size:.8em;">SCORE<sup>®</sup></span> unlocks multiple integration opportunities including real-time scoring, embedding in EHR or enterprise data warehouse, incorporating into cloud applications, and traditional batch scoring.
13
+ - **SAS<sup><span style="font-size:.8em;">&reg;</span></sup>-Free**: Create HCC and risk scores without SAS<sup><span style="font-size:.8em;">&reg;</span></sup> software, reduce software license costs and the headache of recoding and maintaining the software in another programming language.
14
+ - **Enhanced Output**: M<span style="font-size:.8em;">SCORE<sup>®</sup></span> provides the numeric relative factor value for each HCC assigned to a person allowing for a deeper understanding of how each factor contributes to an individual's overall risk score.
15
+ - **Reliable**: Validated on over 1 million plus enrollees. M<span style="font-size:.8em;">SCORE<sup>®</sup></span> is rigorously tested and updated with each HCC model release.
16
+ - **CMS-HCC Model Support**: Supports HCC models V22, V24, and V28, covering payment years 2021-2025 with upgrades for each release from CMS (Initial, Mid-Year, Final).
17
+ - **Easy to Set Up & Maintain**: Easily installed and upgraded using pip, Python's standard package manager.
18
+ - **Platform Compatibility**: Compatible with Windows, Mac, and Linux operating systems.
19
+ - **Optimized Performance**: Efficient processing with fast runtimes, ensuring quick and accurate risk score calculations.
20
+ - **Improved Data Security**: Securely process personal health information within your organization's IT infrastructure.
21
+
22
+
23
+ ## Installation
24
+
25
+ pip install mscore
26
+
27
+ ## Registration
28
+
29
+ Registration is required to use the <code>mscore</code> package. Please visit https://riskadjustmentmodel.com/registration to create user account and obtain a license key.
30
+
31
+ ## Trial License
32
+
33
+ After you've installed <code>mscore</code>, run the following command to activate your free 30-day trial. An internet connection is required to activate & run the package.
34
+
35
+ mscore -a <license key>
36
+
37
+ ## Subscribe
38
+
39
+ To use M<span style="font-size:.8em;">SCORE<sup>®</sup></span> for internal business operations beyond the 30-day trial period, a pay-as-you-go subscription and payment method is needed. Please set up your payment method in our [customer portal](https://riskadjustmentmodel.com/account/login/) on the billing tab. To license M<span style="font-size:.8em;">SCORE<sup>®</sup></span> for commercial purposes other than internal business operations, please [contact us](https://riskadjustmentmodel.com/contact-us) directly for alternative licensing.
40
+
41
+ For more information on pricing, please see our product page. If you do not see a price you like, then please email us so we can discuss your requirements.
42
+
43
+ Academic users are eligible for a free license of our software. Please [contact us](https://riskadjustmentmodel.com/contact-us) to obtain your complimentary academic license.
44
+
45
+
46
+ ## Basic Use
47
+
48
+ Before you can run your scores, you will need to generate an authorization token object.
49
+
50
+ ```python
51
+ import sourcedefender #This package is required at the top
52
+ from mscore import AuthorizeLicense, MScore
53
+
54
+ auth = AuthorizeLicense(staging_key).validate()
55
+ ```
56
+ > **<span style="color:orange">_NOTE:_</span>** You must import sourcedefender at the top of every package that imports MScore.
57
+
58
+ The <code>mscore</code> class requires 7 arguments in order to run with 2 optional arguments.
59
+
60
+ ### Required
61
+ * <code>authorizer</code> - The authorization token obtained when <span style="font-family:courier-new">AuthroizeLicense</span> is ran
62
+ * <code>year</code>
63
+ * <code>version</code>
64
+ * <code>model</code>
65
+ * <code>person_data</code> (Pandas DataFrame, csv, or parquet file)
66
+ * <code>diag_data</code> (Pandas DataFrame, csv, or parquet file)
67
+ * <code>columns</code>
68
+
69
+ ### Optional
70
+ * <code>dev</code> (boolean) - Runs the application in 'Development' mode
71
+
72
+ **_NOTE:_** The example below assumes you already have a [Pandas](https://pandas.pydata.org/) DataFrame generated for your person and diagnosis datasets.
73
+ If you don't have this data yet and want to test <code>mscore</code>, download our synthetic data files here:
74
+ * [Person File](https://mph-static-site.s3.amazonaws.com/static/tutorial-files/person.csv)
75
+ * [Diagnosis File](https://mph-static-site.s3.amazonaws.com/static/tutorial-files/diag.csv)
76
+
77
+
78
+ ```python
79
+ import sourcedefender
80
+ import pandas as pd
81
+ from mscore import AuthorizeLicense, MScore
82
+
83
+ # Generate DataFrames if using our test files
84
+ person_df = pd.read_csv('person.csv')
85
+ diag_df = pd.read_csv('diag.csv')
86
+
87
+ auth = AuthorizeLicense(staging_key).validate()
88
+
89
+ model = MScore(
90
+ authorizer = auth,
91
+ year = '2025',
92
+ version = 'V28',
93
+ model = 'CMS-HCC',
94
+ person_data = person_df,
95
+ diag_data = diag_df,
96
+ columns = 'all-fields',
97
+ )
98
+
99
+ scores = model.score_mscore()
100
+
101
+ print(scores.risk_scores)
102
+ print(scores.relative_factors)
103
+ ```
104
+ The resulting 'scores' output is a data model object of pandas.DataFrames. You can access your risk scores or relative factors data sets by calling the respective model name from the grouped data model.
105
+ - <span style="font-family:courier-new">scores.risk_scores</span>
106
+ - <span style="font-family:courier-new">scores.relative_factors</span>
107
+
108
+ From here you can proceed to use the risk score or relative factor DataFrames for further downstream processing or utilize the [Pandas](https://pandas.pydata.org/docs/user_guide/index.html) built-in methods to save to a file type of your choosing.
109
+
110
+ ### Supported Data
111
+ The <code>mscore</code> class attributes, <code>person_data</code> and <code>diag_data</code>, will accept a Pandas.DataFrame object, CSV or Parquet filepath directly without the need to load your input data to DataFrame first. The resulting outputs will be a Pandas DataFrame object.
112
+
113
+ ### Supported Environments
114
+
115
+ M<span style="font-size:.8em;">SCORE<sup>®</sup></span> is designed to be universally compatible, ensuring seamless integration across various platforms.
116
+
117
+ • Operating Systems: Windows, macOS, Linux
118
+ • Python Versions: 3.10 or greater (both 32-bit and 64-bit architectures)
119
+
120
+ If your required environment is not listed, please contact us as support@riskadjustmentmodel.com for an alternate solution.
121
+
122
+ ## User Resources
123
+ For a more in-depth dive into all available model options, arguments, and reference documents, visit our [User Guides](https://riskadjustmentmodel.com/resources/user-guides).
124
+
125
+ ## Support
126
+
127
+ We are experts in Risk Adjustment and we're here to help. Whether it's general questions, billing, or integration support, please [contact us](https://riskadjustmentmodel.com/contact-us)📧. We are here to make risk scoring easy.
128
+
129
+ ## Stay Connected
130
+
131
+ Please [subscribe](https://riskadjustmentmodel.com/articles#userEmail) to our newsletter, to receive updates on new M<span style="font-size:.8em;">SCORE<sup>®</sup></span> features, model releases, tutorials, and to stay up-to-date on the latest news in risk adjustment.
132
+
133
+ ## Legal
134
+
135
+ To review the M<span style="font-size:.8em;">SCORE<sup>®</sup></span> license agreement, please visit [EULA](https://riskadjustmentmodel.com/legal/eula) webpage.
@@ -1,6 +1,6 @@
1
1
  ---BEGIN PYE FILE---
2
2
  ?xs8yw=-%~arI6N8WsJJ
3
- j&Hn`vPyJHQk8a?X3EQ5
3
+ h;O`=vPyJHQk8a?X3EQ5
4
4
  ?*TsJz2(cM58Ovcu^x+j
5
5
  N%H~=8sc4*N=1_DDgAJB
6
6
  M3B(hFT|1vA^WQWmdr^c
@@ -8,7 +8,7 @@ f^K9E%rAIgb`1~P6SebA
8
8
  ?EsgI=d&bZI6;L|5MvhI
9
9
  0j=ES&;x+;&%JCepm!Tf
10
10
  DIAv;pvFo2aL)H&7B;q}
11
- ^Jaq2ce#S+;fPEz9U<))
11
+ ^Jap~cf5k<;fPEz9U<))
12
12
  xzH|Ol_YNteO{TTau!4K
13
13
  n|dgn8xRAB0r38HO6o^9
14
14
  Q^8=FsiiX{7suX;fkaKb
@@ -56,5 +56,7 @@ SDs$d1KPE8Iw)m;nCn(e
56
56
  DGb~bqM&BFLfy-A^!~`^
57
57
  GQ$zf9NYf$O6%*(1!HI0
58
58
  Pq40ro_|52vi6ZL{dl7S
59
- v75ta)0RV&DzRk;j!}L
59
+ wVlLa?}>GnJF?TmheRB)
60
+ W8<_d7wPN0jk^dv4}qr8
61
+ js
60
62
  ----END PYE FILE----
@@ -1,7 +1,7 @@
1
1
  ---BEGIN PYE FILE---
2
2
  t#zYF!{gsj#j-v7Bh`z?
3
- hA9;St4e$<RGyg%tK^1t
4
- >L41xFjqJu&r#g5w?y`9
3
+ fGHIMt4e$<RGyg%tK^1t
4
+ >J}QnFjqJu&r#g5w?y`9
5
5
  wg14PfY;vL>`9+Y0x8Ai
6
6
  VH@rgn)QFly2w<;4eoXU
7
7
  HFX!t*Og*!5U}2n#{|Ue
@@ -64,49 +64,49 @@ SZ+&H5qe4#K{<qB<zl>!
64
64
  gG5Qx?l?s|WN*YrTf+*j
65
65
  $3PV@=_ME3nj{;KXec}K
66
66
  n?JHRVK$u1iEl$Vj0ZS#
67
- U(*igl$vd7qhsD%+a;>7
68
- WPMcGiaeqgk&~r3$mj?c
69
- Q|n^1MtI(UXB?XdJ`pC4
70
- mLDj=yD=1^;$MT;G#_Mv
71
- +nmYAZMiUKSLuTT#OT!+
72
- wn(B|a0tDqN@GfPPhHRt
73
- Zv7sC%f~KkM9GTc%4A#=
74
- 5^;g!D99?KkGs=cwurk&
75
- `2bTlHI{*{Nj@9oi68x>
76
- m`JbEZzG+->Q=JHo)efM
77
- sHTFiXinDmX|$@974RBT
78
- Q_3D^%)bI)>@WH*qJV%L
79
- YtZ%33iH^U-xqAOx<yJ}
80
- 6_k7EW+;&Vh$aVA-1+M!
81
- C7DC@6pbzh@)^NsvC5~P
82
- )|rHo8+CpgU6kW<+`p)k
83
- !9a1^`?gI9!1w-1<K|^r
84
- fo{Z-AF*m%NBd3t%w!;*
85
- o1@);JlNiQv$JG*!iCxT
86
- w0duuLr6uIMIQ>~5O$Cs
87
- ujaQsy-g>AIXM+~yiN?z
88
- K{Y(CcCMd+mWX`$CPttf
89
- B`EOdPEbqa%)pf`R&fNA
90
- 9(?eu81}ygb*ugoxe>Hv
91
- 8FL_9P<k;eQHVevZFweo
92
- H%GRjw`<*}%LGNl^rb01
93
- fzgDZ%hmdwHvsSQg@fUS
94
- m;r_V%U1=%FxlV_uFxS|
95
- RdA<gqb|xJrP$uylpi@8
96
- =oyjM2HaYd=P7$|tlTD5
97
- qkk<Rn1mC}wu&(Ze9S|B
98
- 5qd;GB24G(6%4YgiyKN^
99
- #-1|45I?eZ9-$<Cm$oLd
100
- AK(s=Sv~x_H2$+~H)Gus
101
- 4jxCsu;&T$*Ri<v0}0J9
102
- WiFTDG1b361z7gaA?VK@
103
- +|BByyPWPvirBBhuA-^c
104
- p|2t!S*!=ce=}#Q>3M)N
105
- 7!cM%xPGGE<AfQOICMCA
106
- Rm&U-%>}E0H@wfS!{qSJ
107
- XMUDt0V*e4oYI*E4|{TH
108
- {NX7k4&2uF7b>id&cTBB
109
- CnB>wYIc@nyR9@07&o_{
110
- Au4c$u*8ehi{K>f_2S=c
67
+ U(*igl$vd7qhsD%+a;&E
68
+ b8$?|n+l{BsF?08%JmHr
69
+ 7}ag5Ol#GwZV03Ua%f}I
70
+ >QO4|yD=1^;$MT;G#?^^
71
+ r^uy_X#N6VexS4;+Wv|d
72
+ nO(bGFGjVjc79D}K?l_d
73
+ W5*Pi+W9kiM}nKz$0ImL
74
+ R}R&>c#U`8!MXWdwurj{
75
+ `+NshcEZT`2x?O8#beEc
76
+ k6HYLbvvES;TVO(wI9r9
77
+ yy<|rby30Mbh4|YF7XdX
78
+ U)xVZjr>+Ax^Av#?au#L
79
+ Bd)NG2-(=2-xn$P=>Sl4
80
+ 6_j$qW+;&Vh$aVA$>;Gc
81
+ YrARn6pbzh@)^NsvC8+&
82
+ pV!csO(6$V2$Qik-1P0r
83
+ !3iSTy7*%l`26xt@Zd36
84
+ l6H`u2)|cZ7qTY5m1JSv
85
+ &+3c8Xq}pM&;4dI>iLb9
86
+ {W&Vv5Di8521`S;RVtD=
87
+ x5K?Vwooy+a2613`&kN}
88
+ 2skyEd7_e+ouqK;97n8o
89
+ W_-E63oi$)kA>TQ6D)Y$
90
+ T2zeqbie#VJNUa2%}C@S
91
+ 19LqRWo;NML5Oh$W<MP*
92
+ D@*U^qIA)l+7m{^){rTA
93
+ <lo5Yh>*0-a(}z4)yBN~
94
+ )<vy@pEgF9d5@u6=bvv}
95
+ F){OGyHdprug}uPh7J!M
96
+ =wG^+6WSEr>Lg}*rrZit
97
+ onj_C)u2+2;=^Z0D1{6#
98
+ Zaxe?XA$MbP*m~m+fPb3
99
+ p51qmO<esr9^f)1k?CCK
100
+ AB9%Z9Brt(J+Ss7B{APx
101
+ Uk*Chn&%1g*ZBVSMhA?2
102
+ A}PM8R^^pH1z7gaA?VK@
103
+ +|BCp>BXc!!<PHX>#XR9
104
+ =KNVOB-a3jeKTRU!aSCG
105
+ UO$*S!*1WD<iShCcP2+S
106
+ L)2I@lzXwOH@wfS!{qSJ
107
+ XMWQ?LT`5n)~e7;TXQ#O
108
+ y|Zq0b<C^&Jpj3c&fDJh
109
+ Vl47+rE$49x$RJ467P42
110
+ VP-SW&x%*jJt-gI`SI5e
111
111
  E|sRw8T`!o-c<M#&EoU
112
112
  ----END PYE FILE----
@@ -0,0 +1,7 @@
1
+ ---BEGIN PYE FILE---
2
+ S{1Ws^W#b^PPF`=H8his
3
+ G}iZPtj81O3Dvxu2NMzJ
4
+ >-X_7z^LC|`1dQS8^oIJ
5
+ c;+J(MoRt}3%SvUgO`Fo
6
+ &h?w~IN4dzh$KV
7
+ ----END PYE FILE----
@@ -1,6 +1,6 @@
1
1
  ---BEGIN PYE FILE---
2
2
  2&-mmphj(rr7yv(zTi|c
3
- mKh}2@3c5DS5<d*(yX50
3
+ kQpS{@3c5DS5<d*(yX50
4
4
  uV)`@#Q_cN&gFEPt6awl
5
5
  Q8~o9tz0{2@ODki@N!rk
6
6
  R)etp8qKH$-BFrO2Qqw!
@@ -992,5 +992,7 @@ sD4Chx41c7R?qNys{oC{
992
992
  HToC7rCYc2hpZm2Am~xv
993
993
  A|44C!j#2VyAKSs>oWX8
994
994
  35}p?ipUp^4*PD^r{-tb
995
- b(A@*xtw~vx9dl#@m*)X
995
+ b&x-+u%Km&wE9FJHB@rl
996
+ #!2PU820?GGf#c<;zEr!
997
+ l~w
996
998
  ----END PYE FILE----
@@ -1,6 +1,6 @@
1
1
  ---BEGIN PYE FILE---
2
2
  f*k4g01cQo#au&Hk}?Bo
3
- ;29+LOTDy#($I=O1h5~j
3
+ <{2dROTDy#($I=O1h5~j
4
4
  I47tojU6C|K^0)w41f8F
5
5
  0l8&g_}s4e{z2F%9^65B
6
6
  #sxnPa5gd%#YF9AbMcgc
@@ -404,6 +404,7 @@ XZ4qWq=roBbeDQhlPoHI
404
404
  4XR2a&z`2WThnLumHBKD
405
405
  C}l#;F^89N_Zc<z6A@S)
406
406
  Q#W(og{((T>24$5b0#I0
407
- =QxN{i||3KdQ}9rb<|F}
408
- @}4!I
407
+ =QxN{i}XjVb7>oZcEwE$
408
+ HkTm6GLcg{AT8pU2$;mV
409
+ w+P&qH#Y
409
410
  ----END PYE FILE----