cnhkmcp 1.8.7__tar.gz → 1.8.10__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.
- {cnhkmcp-1.8.7/cnhkmcp.egg-info → cnhkmcp-1.8.10}/PKG-INFO +1 -1
- cnhkmcp-1.8.10/cnhkmcp/untracked/APP/hkSimulator/autosim_20251215_030103.log +0 -0
- {cnhkmcp-1.8.7 → cnhkmcp-1.8.10}/cnhkmcp/untracked/platform_functions.py +41 -9
- {cnhkmcp-1.8.7 → cnhkmcp-1.8.10/cnhkmcp.egg-info}/PKG-INFO +1 -1
- {cnhkmcp-1.8.7 → cnhkmcp-1.8.10}/cnhkmcp.egg-info/SOURCES.txt +1 -0
- {cnhkmcp-1.8.7 → cnhkmcp-1.8.10}/setup.py +1 -1
- {cnhkmcp-1.8.7 → cnhkmcp-1.8.10}/LICENSE +0 -0
- {cnhkmcp-1.8.7 → cnhkmcp-1.8.10}/MANIFEST.in +0 -0
- {cnhkmcp-1.8.7 → cnhkmcp-1.8.10}/README.md +0 -0
- {cnhkmcp-1.8.7 → cnhkmcp-1.8.10}/cnhkmcp/__init__.py +0 -0
- {cnhkmcp-1.8.7 → cnhkmcp-1.8.10}/cnhkmcp/untracked/APP/.gitignore +0 -0
- {cnhkmcp-1.8.7 → cnhkmcp-1.8.10}/cnhkmcp/untracked/APP/MODULAR_STRUCTURE.md +0 -0
- {cnhkmcp-1.8.7 → cnhkmcp-1.8.10}/cnhkmcp/untracked/APP/README.md +0 -0
- {cnhkmcp-1.8.7 → cnhkmcp-1.8.10}/cnhkmcp/untracked/APP/Tranformer/Transformer.py +0 -0
- {cnhkmcp-1.8.7 → cnhkmcp-1.8.10}/cnhkmcp/untracked/APP/Tranformer/ace.log +0 -0
- {cnhkmcp-1.8.7 → cnhkmcp-1.8.10}/cnhkmcp/untracked/APP/Tranformer/ace_lib.py +0 -0
- {cnhkmcp-1.8.7 → cnhkmcp-1.8.10}/cnhkmcp/untracked/APP/Tranformer/helpful_functions.py +0 -0
- {cnhkmcp-1.8.7 → cnhkmcp-1.8.10}/cnhkmcp/untracked/APP/Tranformer/output/Alpha_candidates.json +0 -0
- {cnhkmcp-1.8.7 → cnhkmcp-1.8.10}/cnhkmcp/untracked/APP/Tranformer/output/Alpha_candidates_/347/244/272/344/276/213.json" +0 -0
- {cnhkmcp-1.8.7 → cnhkmcp-1.8.10}/cnhkmcp/untracked/APP/Tranformer/output/Alpha_generated_expressions_error.json +0 -0
- {cnhkmcp-1.8.7 → cnhkmcp-1.8.10}/cnhkmcp/untracked/APP/Tranformer/output/Alpha_generated_expressions_success.json +0 -0
- {cnhkmcp-1.8.7 → cnhkmcp-1.8.10}/cnhkmcp/untracked/APP/Tranformer/output/Alpha_generated_expressions_/347/244/272/344/276/213/345/217/257/347/233/264/346/216/245/350/275/275/345/205/245Machine_lib.json" +0 -0
- {cnhkmcp-1.8.7 → cnhkmcp-1.8.10}/cnhkmcp/untracked/APP/Tranformer/parsetab.py +0 -0
- {cnhkmcp-1.8.7 → cnhkmcp-1.8.10}/cnhkmcp/untracked/APP/Tranformer/template_summary.txt +0 -0
- {cnhkmcp-1.8.7 → cnhkmcp-1.8.10}/cnhkmcp/untracked/APP/Tranformer/transformer_config.json +0 -0
- {cnhkmcp-1.8.7 → cnhkmcp-1.8.10}/cnhkmcp/untracked/APP/Tranformer/validator.py +0 -0
- {cnhkmcp-1.8.7 → cnhkmcp-1.8.10}/cnhkmcp/untracked/APP/ace.log +0 -0
- {cnhkmcp-1.8.7 → cnhkmcp-1.8.10}/cnhkmcp/untracked/APP/ace_lib.py +0 -0
- {cnhkmcp-1.8.7 → cnhkmcp-1.8.10}/cnhkmcp/untracked/APP/blueprints/__init__.py +0 -0
- {cnhkmcp-1.8.7 → cnhkmcp-1.8.10}/cnhkmcp/untracked/APP/blueprints/feature_engineering.py +0 -0
- {cnhkmcp-1.8.7 → cnhkmcp-1.8.10}/cnhkmcp/untracked/APP/blueprints/idea_house.py +0 -0
- {cnhkmcp-1.8.7 → cnhkmcp-1.8.10}/cnhkmcp/untracked/APP/blueprints/inspiration_house.py +0 -0
- {cnhkmcp-1.8.7 → cnhkmcp-1.8.10}/cnhkmcp/untracked/APP/blueprints/paper_analysis.py +0 -0
- {cnhkmcp-1.8.7 → cnhkmcp-1.8.10}/cnhkmcp/untracked/APP/custom_templates/templates.json +0 -0
- {cnhkmcp-1.8.7 → cnhkmcp-1.8.10}/cnhkmcp/untracked/APP/helpful_functions.py +0 -0
- {cnhkmcp-1.8.7 → cnhkmcp-1.8.10}/cnhkmcp/untracked/APP/hkSimulator/ace.log +0 -0
- {cnhkmcp-1.8.7 → cnhkmcp-1.8.10}/cnhkmcp/untracked/APP/hkSimulator/ace_lib.py +0 -0
- {cnhkmcp-1.8.7 → cnhkmcp-1.8.10}/cnhkmcp/untracked/APP/hkSimulator/autosim_20251205_145240.log +0 -0
- {cnhkmcp-1.8.7 → cnhkmcp-1.8.10}/cnhkmcp/untracked/APP/hkSimulator/autosimulator.py +0 -0
- {cnhkmcp-1.8.7 → cnhkmcp-1.8.10}/cnhkmcp/untracked/APP/hkSimulator/helpful_functions.py +0 -0
- {cnhkmcp-1.8.7 → cnhkmcp-1.8.10}/cnhkmcp/untracked/APP/mirror_config.txt +0 -0
- {cnhkmcp-1.8.7 → cnhkmcp-1.8.10}/cnhkmcp/untracked/APP/operaters.csv +0 -0
- {cnhkmcp-1.8.7 → cnhkmcp-1.8.10}/cnhkmcp/untracked/APP/requirements.txt +0 -0
- {cnhkmcp-1.8.7 → cnhkmcp-1.8.10}/cnhkmcp/untracked/APP/run_app.bat +0 -0
- {cnhkmcp-1.8.7 → cnhkmcp-1.8.10}/cnhkmcp/untracked/APP/run_app.sh +0 -0
- {cnhkmcp-1.8.7 → cnhkmcp-1.8.10}/cnhkmcp/untracked/APP/setup_tsinghua.bat +0 -0
- {cnhkmcp-1.8.7 → cnhkmcp-1.8.10}/cnhkmcp/untracked/APP/setup_tsinghua.sh +0 -0
- {cnhkmcp-1.8.7 → cnhkmcp-1.8.10}/cnhkmcp/untracked/APP/simulator/alpha_submitter.py +0 -0
- {cnhkmcp-1.8.7 → cnhkmcp-1.8.10}/cnhkmcp/untracked/APP/simulator/simulator_wqb.py +0 -0
- {cnhkmcp-1.8.7 → cnhkmcp-1.8.10}/cnhkmcp/untracked/APP/ssrn-3332513.pdf +0 -0
- {cnhkmcp-1.8.7 → cnhkmcp-1.8.10}/cnhkmcp/untracked/APP/static/brain.js +0 -0
- {cnhkmcp-1.8.7 → cnhkmcp-1.8.10}/cnhkmcp/untracked/APP/static/decoder.js +0 -0
- {cnhkmcp-1.8.7 → cnhkmcp-1.8.10}/cnhkmcp/untracked/APP/static/feature_engineering.js +0 -0
- {cnhkmcp-1.8.7 → cnhkmcp-1.8.10}/cnhkmcp/untracked/APP/static/idea_house.js +0 -0
- {cnhkmcp-1.8.7 → cnhkmcp-1.8.10}/cnhkmcp/untracked/APP/static/inspiration_house.js +0 -0
- {cnhkmcp-1.8.7 → cnhkmcp-1.8.10}/cnhkmcp/untracked/APP/static/paper_analysis.js +0 -0
- {cnhkmcp-1.8.7 → cnhkmcp-1.8.10}/cnhkmcp/untracked/APP/static/script.js +0 -0
- {cnhkmcp-1.8.7 → cnhkmcp-1.8.10}/cnhkmcp/untracked/APP/static/simulator.js +0 -0
- {cnhkmcp-1.8.7 → cnhkmcp-1.8.10}/cnhkmcp/untracked/APP/static/styles.css +0 -0
- {cnhkmcp-1.8.7 → cnhkmcp-1.8.10}/cnhkmcp/untracked/APP/static/usage_widget.js +0 -0
- {cnhkmcp-1.8.7 → cnhkmcp-1.8.10}/cnhkmcp/untracked/APP/templates/alpha_inspector.html +0 -0
- {cnhkmcp-1.8.7 → cnhkmcp-1.8.10}/cnhkmcp/untracked/APP/templates/feature_engineering.html +0 -0
- {cnhkmcp-1.8.7 → cnhkmcp-1.8.10}/cnhkmcp/untracked/APP/templates/idea_house.html +0 -0
- {cnhkmcp-1.8.7 → cnhkmcp-1.8.10}/cnhkmcp/untracked/APP/templates/index.html +0 -0
- {cnhkmcp-1.8.7 → cnhkmcp-1.8.10}/cnhkmcp/untracked/APP/templates/inspiration_house.html +0 -0
- {cnhkmcp-1.8.7 → cnhkmcp-1.8.10}/cnhkmcp/untracked/APP/templates/paper_analysis.html +0 -0
- {cnhkmcp-1.8.7 → cnhkmcp-1.8.10}/cnhkmcp/untracked/APP/templates/simulator.html +0 -0
- {cnhkmcp-1.8.7 → cnhkmcp-1.8.10}/cnhkmcp/untracked/APP/templates/transformer_web.html +0 -0
- {cnhkmcp-1.8.7 → cnhkmcp-1.8.10}/cnhkmcp/untracked/APP/usage.md +0 -0
- {cnhkmcp-1.8.7 → cnhkmcp-1.8.10}/cnhkmcp/untracked/APP//347/274/230/345/210/206/344/270/200/351/201/223/346/241/245/ace_lib.py" +0 -0
- {cnhkmcp-1.8.7 → cnhkmcp-1.8.10}/cnhkmcp/untracked/APP//347/274/230/345/210/206/344/270/200/351/201/223/346/241/245/brain_alpha_inspector.py" +0 -0
- {cnhkmcp-1.8.7 → cnhkmcp-1.8.10}/cnhkmcp/untracked/APP//347/274/230/345/210/206/344/270/200/351/201/223/346/241/245/helpful_functions.py" +0 -0
- {cnhkmcp-1.8.7 → cnhkmcp-1.8.10}/cnhkmcp/untracked/APP//350/277/220/350/241/214/346/211/223/345/274/200/346/210/221.py" +0 -0
- {cnhkmcp-1.8.7 → cnhkmcp-1.8.10}/cnhkmcp/untracked/arXiv_API_Tool_Manual.md +0 -0
- {cnhkmcp-1.8.7 → cnhkmcp-1.8.10}/cnhkmcp/untracked/arxiv_api.py +0 -0
- {cnhkmcp-1.8.7 → cnhkmcp-1.8.10}/cnhkmcp/untracked/forum_functions.py +0 -0
- {cnhkmcp-1.8.7 → cnhkmcp-1.8.10}/cnhkmcp/untracked/mcp/346/226/207/344/273/266/350/256/272/345/235/233/347/211/2102_/345/246/202/346/236/234/345/216/237/347/211/210/345/220/257/345/212/250/344/270/215/344/272/206/346/265/217/350/247/210/345/231/250/345/260/261/350/257/225/350/277/231/344/270/252/forum_functions.py" +0 -0
- {cnhkmcp-1.8.7 → cnhkmcp-1.8.10}/cnhkmcp/untracked/mcp/346/226/207/344/273/266/350/256/272/345/235/233/347/211/2102_/345/246/202/346/236/234/345/216/237/347/211/210/345/220/257/345/212/250/344/270/215/344/272/206/346/265/217/350/247/210/345/231/250/345/260/261/350/257/225/350/277/231/344/270/252/platform_functions.py" +0 -0
- {cnhkmcp-1.8.7 → cnhkmcp-1.8.10}/cnhkmcp/untracked/mcp/346/226/207/344/273/266/350/256/272/345/235/233/347/211/2102_/345/246/202/346/236/234/345/216/237/347/211/210/345/220/257/345/212/250/344/270/215/344/272/206/346/265/217/350/247/210/345/231/250/345/260/261/350/257/225/350/277/231/344/270/252/user_config.json" +0 -0
- {cnhkmcp-1.8.7 → cnhkmcp-1.8.10}/cnhkmcp/untracked/mcp/346/226/207/344/273/266/350/256/272/345/235/233/347/211/2102_/345/246/202/346/236/234/345/216/237/347/211/210/345/220/257/345/212/250/344/270/215/344/272/206/346/265/217/350/247/210/345/231/250/345/260/261/350/257/225/350/277/231/344/270/252//350/256/251AI/350/257/273/350/277/231/344/270/252/346/226/207/346/241/243/346/235/245/345/255/246/344/274/232/344/270/213/350/275/275/346/265/217/350/247/210/345/231/250.md" +0 -0
- {cnhkmcp-1.8.7 → cnhkmcp-1.8.10}/cnhkmcp/untracked/mcp/346/226/207/344/273/266/350/256/272/345/235/233/347/211/2102_/345/246/202/346/236/234/345/216/237/347/211/210/345/220/257/345/212/250/344/270/215/344/272/206/346/265/217/350/247/210/345/231/250/345/260/261/350/257/225/350/277/231/344/270/252//351/205/215/347/275/256/345/211/215/350/277/220/350/241/214/346/210/221_/345/256/211/350/243/205/345/277/205/350/246/201/344/276/235/350/265/226/345/214/205.py" +0 -0
- {cnhkmcp-1.8.7 → cnhkmcp-1.8.10}/cnhkmcp/untracked/sample_mcp_config.json +0 -0
- {cnhkmcp-1.8.7 → cnhkmcp-1.8.10}/cnhkmcp/untracked/user_config.json +0 -0
- {cnhkmcp-1.8.7 → cnhkmcp-1.8.10}/cnhkmcp/untracked//347/244/272/344/276/213/345/217/202/350/200/203/346/226/207/346/241/243_BRAIN_Alpha_Test_Requirements_and_Tips.md" +0 -0
- {cnhkmcp-1.8.7 → cnhkmcp-1.8.10}/cnhkmcp/untracked//347/244/272/344/276/213/345/267/245/344/275/234/346/265/201_Alpha_explaination_workflow.md" +0 -0
- {cnhkmcp-1.8.7 → cnhkmcp-1.8.10}/cnhkmcp/untracked//347/244/272/344/276/213/345/267/245/344/275/234/346/265/201_BRAIN_6_Tips_Datafield_Exploration_Guide.md" +0 -0
- {cnhkmcp-1.8.7 → cnhkmcp-1.8.10}/cnhkmcp/untracked//347/244/272/344/276/213/345/267/245/344/275/234/346/265/201_BRAIN_Alpha_Improvement_Workflow.md" +0 -0
- {cnhkmcp-1.8.7 → cnhkmcp-1.8.10}/cnhkmcp/untracked//347/244/272/344/276/213/345/267/245/344/275/234/346/265/201_Dataset_Exploration_Expert_Manual.md" +0 -0
- {cnhkmcp-1.8.7 → cnhkmcp-1.8.10}/cnhkmcp/untracked//347/244/272/344/276/213/345/267/245/344/275/234/346/265/201_daily_report_workflow.md" +0 -0
- {cnhkmcp-1.8.7 → cnhkmcp-1.8.10}/cnhkmcp/untracked//351/205/215/347/275/256/345/211/215/350/277/220/350/241/214/346/210/221_/345/256/211/350/243/205/345/277/205/350/246/201/344/276/235/350/265/226/345/214/205.py" +0 -0
- {cnhkmcp-1.8.7 → cnhkmcp-1.8.10}/cnhkmcp.egg-info/dependency_links.txt +0 -0
- {cnhkmcp-1.8.7 → cnhkmcp-1.8.10}/cnhkmcp.egg-info/entry_points.txt +0 -0
- {cnhkmcp-1.8.7 → cnhkmcp-1.8.10}/cnhkmcp.egg-info/not-zip-safe +0 -0
- {cnhkmcp-1.8.7 → cnhkmcp-1.8.10}/cnhkmcp.egg-info/requires.txt +0 -0
- {cnhkmcp-1.8.7 → cnhkmcp-1.8.10}/cnhkmcp.egg-info/top_level.txt +0 -0
- {cnhkmcp-1.8.7 → cnhkmcp-1.8.10}/requirements.txt +0 -0
- {cnhkmcp-1.8.7 → cnhkmcp-1.8.10}/setup.cfg +0 -0
|
File without changes
|
|
@@ -598,7 +598,7 @@ class BrainApiClient:
|
|
|
598
598
|
response.raise_for_status()
|
|
599
599
|
|
|
600
600
|
self.log(f"Alpha {alpha_id} submitted successfully", "SUCCESS")
|
|
601
|
-
return
|
|
601
|
+
return response.__dict__
|
|
602
602
|
|
|
603
603
|
except Exception as e:
|
|
604
604
|
self.log(f"❌ Failed to submit alpha: {str(e)}", "ERROR")
|
|
@@ -1101,14 +1101,46 @@ class BrainApiClient:
|
|
|
1101
1101
|
else:
|
|
1102
1102
|
continue
|
|
1103
1103
|
|
|
1104
|
-
# Analyze correlation data
|
|
1105
|
-
if correlation_data
|
|
1106
|
-
|
|
1107
|
-
|
|
1108
|
-
|
|
1104
|
+
# Analyze correlation data (robust to schema/records format)
|
|
1105
|
+
if isinstance(correlation_data, dict):
|
|
1106
|
+
# Prefer strict access to schema.max or top-level max; otherwise error
|
|
1107
|
+
schema = correlation_data.get('schema') or {}
|
|
1108
|
+
if isinstance(schema, dict) and 'max' in schema:
|
|
1109
|
+
max_correlation = float(schema['max'])
|
|
1110
|
+
elif 'max' in correlation_data:
|
|
1111
|
+
# Some endpoints place max at top-level
|
|
1112
|
+
max_correlation = float(correlation_data['max'])
|
|
1113
|
+
else:
|
|
1114
|
+
# Attempt to derive from records; if none found, raise error instead of defaulting
|
|
1115
|
+
records = correlation_data.get('records') or []
|
|
1116
|
+
if isinstance(records, list) and records:
|
|
1117
|
+
candidate_max = None
|
|
1118
|
+
for row in records:
|
|
1119
|
+
if isinstance(row, (list, tuple)):
|
|
1120
|
+
for v in row:
|
|
1121
|
+
try:
|
|
1122
|
+
vf = float(v)
|
|
1123
|
+
if -1.0 <= vf <= 1.0:
|
|
1124
|
+
candidate_max = vf if candidate_max is None else max(candidate_max, vf)
|
|
1125
|
+
except Exception:
|
|
1126
|
+
continue
|
|
1127
|
+
elif isinstance(row, dict):
|
|
1128
|
+
for key in ('correlation', 'prodCorrelation', 'selfCorrelation', 'max'):
|
|
1129
|
+
try:
|
|
1130
|
+
vf = float(row.get(key))
|
|
1131
|
+
if -1.0 <= vf <= 1.0:
|
|
1132
|
+
candidate_max = vf if candidate_max is None else max(candidate_max, vf)
|
|
1133
|
+
except Exception:
|
|
1134
|
+
continue
|
|
1135
|
+
if candidate_max is None:
|
|
1136
|
+
raise ValueError("Unable to derive max correlation from records")
|
|
1137
|
+
max_correlation = float(candidate_max)
|
|
1138
|
+
else:
|
|
1139
|
+
raise KeyError("Correlation response missing 'schema.max' or top-level 'max' and no 'records' to derive from")
|
|
1109
1140
|
else:
|
|
1110
|
-
|
|
1111
|
-
|
|
1141
|
+
raise TypeError("Correlation data is not a dictionary")
|
|
1142
|
+
|
|
1143
|
+
passes_check = max_correlation < threshold
|
|
1112
1144
|
|
|
1113
1145
|
results['checks'][check_type] = {
|
|
1114
1146
|
'max_correlation': max_correlation,
|
|
@@ -2009,7 +2041,7 @@ async def submit_alpha(alpha_id: str) -> Dict[str, Any]:
|
|
|
2009
2041
|
"""
|
|
2010
2042
|
try:
|
|
2011
2043
|
success = await brain_client.submit_alpha(alpha_id)
|
|
2012
|
-
return {"
|
|
2044
|
+
return {"submit_result": success, "alpha_id": alpha_id}
|
|
2013
2045
|
except Exception as e:
|
|
2014
2046
|
return {"error": str(e)}
|
|
2015
2047
|
|
|
@@ -62,6 +62,7 @@ cnhkmcp/untracked/APP/custom_templates/templates.json
|
|
|
62
62
|
cnhkmcp/untracked/APP/hkSimulator/ace.log
|
|
63
63
|
cnhkmcp/untracked/APP/hkSimulator/ace_lib.py
|
|
64
64
|
cnhkmcp/untracked/APP/hkSimulator/autosim_20251205_145240.log
|
|
65
|
+
cnhkmcp/untracked/APP/hkSimulator/autosim_20251215_030103.log
|
|
65
66
|
cnhkmcp/untracked/APP/hkSimulator/autosimulator.py
|
|
66
67
|
cnhkmcp/untracked/APP/hkSimulator/helpful_functions.py
|
|
67
68
|
cnhkmcp/untracked/APP/simulator/alpha_submitter.py
|
|
@@ -13,7 +13,7 @@ def read_requirements():
|
|
|
13
13
|
|
|
14
14
|
setup(
|
|
15
15
|
name="cnhkmcp",
|
|
16
|
-
version="1.8.
|
|
16
|
+
version="1.8.10",
|
|
17
17
|
author="CNHK",
|
|
18
18
|
author_email="cnhk@example.com",
|
|
19
19
|
description="A comprehensive Model Context Protocol (MCP) server for quantitative trading platform integration",
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cnhkmcp-1.8.7 → cnhkmcp-1.8.10}/cnhkmcp/untracked/APP/Tranformer/output/Alpha_candidates.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cnhkmcp-1.8.7 → cnhkmcp-1.8.10}/cnhkmcp/untracked/APP/hkSimulator/autosim_20251205_145240.log
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|