fiddler-client 3.3.2__tar.gz → 3.4.0__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.
- {fiddler_client-3.3.2/fiddler_client.egg-info → fiddler_client-3.4.0}/PKG-INFO +1 -1
- fiddler_client-3.4.0/fiddler/VERSION +1 -0
- {fiddler_client-3.3.2 → fiddler_client-3.4.0}/fiddler/entities/xai.py +0 -38
- {fiddler_client-3.3.2 → fiddler_client-3.4.0}/fiddler/tests/apis/test_xai.py +0 -122
- {fiddler_client-3.3.2 → fiddler_client-3.4.0/fiddler_client.egg-info}/PKG-INFO +1 -1
- fiddler_client-3.3.2/fiddler/VERSION +0 -1
- {fiddler_client-3.3.2 → fiddler_client-3.4.0}/LICENSE.txt +0 -0
- {fiddler_client-3.3.2 → fiddler_client-3.4.0}/MANIFEST.in +0 -0
- {fiddler_client-3.3.2 → fiddler_client-3.4.0}/PUBLIC.md +0 -0
- {fiddler_client-3.3.2 → fiddler_client-3.4.0}/README.md +0 -0
- {fiddler_client-3.3.2 → fiddler_client-3.4.0}/fiddler/__init__.py +0 -0
- {fiddler_client-3.3.2 → fiddler_client-3.4.0}/fiddler/configs.py +0 -0
- {fiddler_client-3.3.2 → fiddler_client-3.4.0}/fiddler/connection.py +0 -0
- {fiddler_client-3.3.2 → fiddler_client-3.4.0}/fiddler/constants/__init__.py +0 -0
- {fiddler_client-3.3.2 → fiddler_client-3.4.0}/fiddler/constants/alert_rule.py +0 -0
- {fiddler_client-3.3.2 → fiddler_client-3.4.0}/fiddler/constants/baseline.py +0 -0
- {fiddler_client-3.3.2 → fiddler_client-3.4.0}/fiddler/constants/common.py +0 -0
- {fiddler_client-3.3.2 → fiddler_client-3.4.0}/fiddler/constants/dataset.py +0 -0
- {fiddler_client-3.3.2 → fiddler_client-3.4.0}/fiddler/constants/events.py +0 -0
- {fiddler_client-3.3.2 → fiddler_client-3.4.0}/fiddler/constants/job.py +0 -0
- {fiddler_client-3.3.2 → fiddler_client-3.4.0}/fiddler/constants/model.py +0 -0
- {fiddler_client-3.3.2 → fiddler_client-3.4.0}/fiddler/constants/model_deployment.py +0 -0
- {fiddler_client-3.3.2 → fiddler_client-3.4.0}/fiddler/constants/xai.py +0 -0
- {fiddler_client-3.3.2 → fiddler_client-3.4.0}/fiddler/decorators.py +0 -0
- {fiddler_client-3.3.2 → fiddler_client-3.4.0}/fiddler/entities/__init__.py +0 -0
- {fiddler_client-3.3.2 → fiddler_client-3.4.0}/fiddler/entities/alert_record.py +0 -0
- {fiddler_client-3.3.2 → fiddler_client-3.4.0}/fiddler/entities/alert_rule.py +0 -0
- {fiddler_client-3.3.2 → fiddler_client-3.4.0}/fiddler/entities/base.py +0 -0
- {fiddler_client-3.3.2 → fiddler_client-3.4.0}/fiddler/entities/baseline.py +0 -0
- {fiddler_client-3.3.2 → fiddler_client-3.4.0}/fiddler/entities/custom_expression.py +0 -0
- {fiddler_client-3.3.2 → fiddler_client-3.4.0}/fiddler/entities/dataset.py +0 -0
- {fiddler_client-3.3.2 → fiddler_client-3.4.0}/fiddler/entities/events.py +0 -0
- {fiddler_client-3.3.2 → fiddler_client-3.4.0}/fiddler/entities/file.py +0 -0
- {fiddler_client-3.3.2 → fiddler_client-3.4.0}/fiddler/entities/job.py +0 -0
- {fiddler_client-3.3.2 → fiddler_client-3.4.0}/fiddler/entities/model.py +0 -0
- {fiddler_client-3.3.2 → fiddler_client-3.4.0}/fiddler/entities/model_artifact.py +0 -0
- {fiddler_client-3.3.2 → fiddler_client-3.4.0}/fiddler/entities/model_deployment.py +0 -0
- {fiddler_client-3.3.2 → fiddler_client-3.4.0}/fiddler/entities/organization.py +0 -0
- {fiddler_client-3.3.2 → fiddler_client-3.4.0}/fiddler/entities/project.py +0 -0
- {fiddler_client-3.3.2 → fiddler_client-3.4.0}/fiddler/entities/surrogate.py +0 -0
- {fiddler_client-3.3.2 → fiddler_client-3.4.0}/fiddler/entities/user.py +0 -0
- {fiddler_client-3.3.2 → fiddler_client-3.4.0}/fiddler/entities/webhook.py +0 -0
- {fiddler_client-3.3.2 → fiddler_client-3.4.0}/fiddler/exceptions.py +0 -0
- {fiddler_client-3.3.2 → fiddler_client-3.4.0}/fiddler/libs/__init__.py +0 -0
- {fiddler_client-3.3.2 → fiddler_client-3.4.0}/fiddler/libs/http_client.py +0 -0
- {fiddler_client-3.3.2 → fiddler_client-3.4.0}/fiddler/libs/json_encoder.py +0 -0
- {fiddler_client-3.3.2 → fiddler_client-3.4.0}/fiddler/libs/semver.py +0 -0
- {fiddler_client-3.3.2 → fiddler_client-3.4.0}/fiddler/packtools/__init__.py +0 -0
- {fiddler_client-3.3.2 → fiddler_client-3.4.0}/fiddler/packtools/gem.py +0 -0
- {fiddler_client-3.3.2 → fiddler_client-3.4.0}/fiddler/packtools/keras_ig_helpers.py +0 -0
- {fiddler_client-3.3.2 → fiddler_client-3.4.0}/fiddler/packtools/project_attributions_helpers.py +0 -0
- {fiddler_client-3.3.2 → fiddler_client-3.4.0}/fiddler/packtools/template_model.py +0 -0
- {fiddler_client-3.3.2 → fiddler_client-3.4.0}/fiddler/schemas/__init__.py +0 -0
- {fiddler_client-3.3.2 → fiddler_client-3.4.0}/fiddler/schemas/alert_record.py +0 -0
- {fiddler_client-3.3.2 → fiddler_client-3.4.0}/fiddler/schemas/alert_rule.py +0 -0
- {fiddler_client-3.3.2 → fiddler_client-3.4.0}/fiddler/schemas/base.py +0 -0
- {fiddler_client-3.3.2 → fiddler_client-3.4.0}/fiddler/schemas/baseline.py +0 -0
- {fiddler_client-3.3.2 → fiddler_client-3.4.0}/fiddler/schemas/custom_expression.py +0 -0
- {fiddler_client-3.3.2 → fiddler_client-3.4.0}/fiddler/schemas/custom_features.py +0 -0
- {fiddler_client-3.3.2 → fiddler_client-3.4.0}/fiddler/schemas/dataset.py +0 -0
- {fiddler_client-3.3.2 → fiddler_client-3.4.0}/fiddler/schemas/events.py +0 -0
- {fiddler_client-3.3.2 → fiddler_client-3.4.0}/fiddler/schemas/file.py +0 -0
- {fiddler_client-3.3.2 → fiddler_client-3.4.0}/fiddler/schemas/filter_query.py +0 -0
- {fiddler_client-3.3.2 → fiddler_client-3.4.0}/fiddler/schemas/job.py +0 -0
- {fiddler_client-3.3.2 → fiddler_client-3.4.0}/fiddler/schemas/model.py +0 -0
- {fiddler_client-3.3.2 → fiddler_client-3.4.0}/fiddler/schemas/model_deployment.py +0 -0
- {fiddler_client-3.3.2 → fiddler_client-3.4.0}/fiddler/schemas/model_schema.py +0 -0
- {fiddler_client-3.3.2 → fiddler_client-3.4.0}/fiddler/schemas/model_spec.py +0 -0
- {fiddler_client-3.3.2 → fiddler_client-3.4.0}/fiddler/schemas/model_task_params.py +0 -0
- {fiddler_client-3.3.2 → fiddler_client-3.4.0}/fiddler/schemas/organization.py +0 -0
- {fiddler_client-3.3.2 → fiddler_client-3.4.0}/fiddler/schemas/project.py +0 -0
- {fiddler_client-3.3.2 → fiddler_client-3.4.0}/fiddler/schemas/response.py +0 -0
- {fiddler_client-3.3.2 → fiddler_client-3.4.0}/fiddler/schemas/server_info.py +0 -0
- {fiddler_client-3.3.2 → fiddler_client-3.4.0}/fiddler/schemas/user.py +0 -0
- {fiddler_client-3.3.2 → fiddler_client-3.4.0}/fiddler/schemas/webhook.py +0 -0
- {fiddler_client-3.3.2 → fiddler_client-3.4.0}/fiddler/schemas/xai.py +0 -0
- {fiddler_client-3.3.2 → fiddler_client-3.4.0}/fiddler/schemas/xai_params.py +0 -0
- {fiddler_client-3.3.2 → fiddler_client-3.4.0}/fiddler/tests/__init__.py +0 -0
- {fiddler_client-3.3.2 → fiddler_client-3.4.0}/fiddler/tests/apis/__init__.py +0 -0
- {fiddler_client-3.3.2 → fiddler_client-3.4.0}/fiddler/tests/apis/test_alert_record.py +0 -0
- {fiddler_client-3.3.2 → fiddler_client-3.4.0}/fiddler/tests/apis/test_alert_rule.py +0 -0
- {fiddler_client-3.3.2 → fiddler_client-3.4.0}/fiddler/tests/apis/test_baseline.py +0 -0
- {fiddler_client-3.3.2 → fiddler_client-3.4.0}/fiddler/tests/apis/test_custom_metric.py +0 -0
- {fiddler_client-3.3.2 → fiddler_client-3.4.0}/fiddler/tests/apis/test_dataset.py +0 -0
- {fiddler_client-3.3.2 → fiddler_client-3.4.0}/fiddler/tests/apis/test_events.py +0 -0
- {fiddler_client-3.3.2 → fiddler_client-3.4.0}/fiddler/tests/apis/test_files.py +0 -0
- {fiddler_client-3.3.2 → fiddler_client-3.4.0}/fiddler/tests/apis/test_generate_model.py +0 -0
- {fiddler_client-3.3.2 → fiddler_client-3.4.0}/fiddler/tests/apis/test_job.py +0 -0
- {fiddler_client-3.3.2 → fiddler_client-3.4.0}/fiddler/tests/apis/test_mixin.py +0 -0
- {fiddler_client-3.3.2 → fiddler_client-3.4.0}/fiddler/tests/apis/test_model.py +0 -0
- {fiddler_client-3.3.2 → fiddler_client-3.4.0}/fiddler/tests/apis/test_model_artifact.py +0 -0
- {fiddler_client-3.3.2 → fiddler_client-3.4.0}/fiddler/tests/apis/test_model_deployment.py +0 -0
- {fiddler_client-3.3.2 → fiddler_client-3.4.0}/fiddler/tests/apis/test_model_surrogate.py +0 -0
- {fiddler_client-3.3.2 → fiddler_client-3.4.0}/fiddler/tests/apis/test_project.py +0 -0
- {fiddler_client-3.3.2 → fiddler_client-3.4.0}/fiddler/tests/apis/test_segment.py +0 -0
- {fiddler_client-3.3.2 → fiddler_client-3.4.0}/fiddler/tests/apis/test_webhook.py +0 -0
- {fiddler_client-3.3.2 → fiddler_client-3.4.0}/fiddler/tests/conftest.py +0 -0
- {fiddler_client-3.3.2 → fiddler_client-3.4.0}/fiddler/tests/constants.py +0 -0
- {fiddler_client-3.3.2 → fiddler_client-3.4.0}/fiddler/tests/test_connection.py +0 -0
- {fiddler_client-3.3.2 → fiddler_client-3.4.0}/fiddler/tests/test_json_encoder.py +0 -0
- {fiddler_client-3.3.2 → fiddler_client-3.4.0}/fiddler/tests/test_logger.py +0 -0
- {fiddler_client-3.3.2 → fiddler_client-3.4.0}/fiddler/tests/test_utils.py +0 -0
- {fiddler_client-3.3.2 → fiddler_client-3.4.0}/fiddler/tests/utils.py +0 -0
- {fiddler_client-3.3.2 → fiddler_client-3.4.0}/fiddler/utils/__init__.py +0 -0
- {fiddler_client-3.3.2 → fiddler_client-3.4.0}/fiddler/utils/helpers.py +0 -0
- {fiddler_client-3.3.2 → fiddler_client-3.4.0}/fiddler/utils/logger.py +0 -0
- {fiddler_client-3.3.2 → fiddler_client-3.4.0}/fiddler/utils/model_generator.py +0 -0
- {fiddler_client-3.3.2 → fiddler_client-3.4.0}/fiddler/utils/validations.py +0 -0
- {fiddler_client-3.3.2 → fiddler_client-3.4.0}/fiddler/utils/version.py +0 -0
- {fiddler_client-3.3.2 → fiddler_client-3.4.0}/fiddler/version.py +0 -0
- {fiddler_client-3.3.2 → fiddler_client-3.4.0}/fiddler_client.egg-info/SOURCES.txt +0 -0
- {fiddler_client-3.3.2 → fiddler_client-3.4.0}/fiddler_client.egg-info/dependency_links.txt +0 -0
- {fiddler_client-3.3.2 → fiddler_client-3.4.0}/fiddler_client.egg-info/requires.txt +0 -0
- {fiddler_client-3.3.2 → fiddler_client-3.4.0}/fiddler_client.egg-info/top_level.txt +0 -0
- {fiddler_client-3.3.2 → fiddler_client-3.4.0}/setup.cfg +0 -0
- {fiddler_client-3.3.2 → fiddler_client-3.4.0}/setup.py +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
3.4.0
|
|
@@ -89,44 +89,6 @@ class XaiMixin:
|
|
|
89
89
|
|
|
90
90
|
return namedtuple('Explain', response.json()['data'])(**response.json()['data'])
|
|
91
91
|
|
|
92
|
-
@handle_api_error
|
|
93
|
-
def get_fairness(
|
|
94
|
-
self,
|
|
95
|
-
data_source: DatasetDataSource | SqlSliceQueryDataSource,
|
|
96
|
-
protected_features: list[str],
|
|
97
|
-
positive_outcome: str | int | float | bool,
|
|
98
|
-
score_threshold: float | None = None,
|
|
99
|
-
) -> tuple:
|
|
100
|
-
"""
|
|
101
|
-
Get fairness analysis on a dataset or a slice.
|
|
102
|
-
|
|
103
|
-
:param data_source: DataSource for the input dataset to compute
|
|
104
|
-
fairness on (DatasetDataSource or SqlSliceQueryDataSource)
|
|
105
|
-
:param protected_features: list of protected attribute names to compute
|
|
106
|
-
Fairness analysis on
|
|
107
|
-
:param positive_outcome: name of the positive outcome to compute
|
|
108
|
-
Fairness analysis on
|
|
109
|
-
:param score_threshold: Binary threshold value (between 0 and 1). Default to 0.5
|
|
110
|
-
|
|
111
|
-
:return: A named tuple with the fairness results.
|
|
112
|
-
"""
|
|
113
|
-
self._check_id_attributes()
|
|
114
|
-
|
|
115
|
-
payload: dict[str, Any] = {
|
|
116
|
-
'model_id': self.id,
|
|
117
|
-
'data_source': data_source.dict(exclude_none=True),
|
|
118
|
-
'protected_features': protected_features,
|
|
119
|
-
'positive_outcome': positive_outcome,
|
|
120
|
-
}
|
|
121
|
-
if score_threshold:
|
|
122
|
-
payload['score_threshold'] = score_threshold
|
|
123
|
-
|
|
124
|
-
response = self._client().post(url='/v3/analytics/fairness', data=payload)
|
|
125
|
-
|
|
126
|
-
return namedtuple('Fairness', response.json()['data'])(
|
|
127
|
-
**response.json()['data']
|
|
128
|
-
)
|
|
129
|
-
|
|
130
92
|
@handle_api_error
|
|
131
93
|
def get_slice(
|
|
132
94
|
self,
|
|
@@ -219,104 +219,6 @@ EXPLAIN_RESPONSE_200 = {
|
|
|
219
219
|
'kind': 'NORMAL',
|
|
220
220
|
}
|
|
221
221
|
|
|
222
|
-
FAIRNESS_RESPONSE_200 = {
|
|
223
|
-
'data': {
|
|
224
|
-
'protected_attributes': ['Gender'],
|
|
225
|
-
'label_distribution': {
|
|
226
|
-
'columns': ['Gender', 'data_label', 'count'],
|
|
227
|
-
'labels': [
|
|
228
|
-
['Female', 'Churned', 79],
|
|
229
|
-
['Female', 'Not Churned', 377],
|
|
230
|
-
['Male', 'Churned', 39],
|
|
231
|
-
['Male', 'Not Churned', 505],
|
|
232
|
-
],
|
|
233
|
-
},
|
|
234
|
-
'model_outcomes': {
|
|
235
|
-
'columns': ['Gender', 'model_outcome', 'count'],
|
|
236
|
-
'outcomes': [
|
|
237
|
-
['Female', 'Churned', 51],
|
|
238
|
-
['Female', 'Not Churned', 405],
|
|
239
|
-
['Male', 'Churned', 28],
|
|
240
|
-
['Male', 'Not Churned', 516],
|
|
241
|
-
],
|
|
242
|
-
},
|
|
243
|
-
'technical_metrics': {
|
|
244
|
-
'columns': [
|
|
245
|
-
'Gender',
|
|
246
|
-
'true_positive_rate',
|
|
247
|
-
'false_positive_rate',
|
|
248
|
-
'true_negative_rate',
|
|
249
|
-
'false_negative_rate',
|
|
250
|
-
'false_omission_rate',
|
|
251
|
-
'false_discovery_rate',
|
|
252
|
-
],
|
|
253
|
-
'values': [
|
|
254
|
-
[
|
|
255
|
-
'Female',
|
|
256
|
-
0.569620253164557,
|
|
257
|
-
0.015915119363395226,
|
|
258
|
-
0.9840848806366048,
|
|
259
|
-
0.43037974683544306,
|
|
260
|
-
0.08395061728395062,
|
|
261
|
-
0.11764705882352941,
|
|
262
|
-
],
|
|
263
|
-
[
|
|
264
|
-
'Male',
|
|
265
|
-
0.5897435897435898,
|
|
266
|
-
0.009900990099009901,
|
|
267
|
-
0.9900990099009901,
|
|
268
|
-
0.41025641025641024,
|
|
269
|
-
0.031007751937984496,
|
|
270
|
-
0.17857142857142858,
|
|
271
|
-
],
|
|
272
|
-
],
|
|
273
|
-
},
|
|
274
|
-
'fairness_metrics': {
|
|
275
|
-
'demographic_parity': {
|
|
276
|
-
'index': ['dp'],
|
|
277
|
-
'columns': ['Female', 'Male'],
|
|
278
|
-
'data': [[0.1118421052631579, 0.051470588235294115]],
|
|
279
|
-
'ratio': 0.4602076124567474,
|
|
280
|
-
},
|
|
281
|
-
'equal_opportunity': {
|
|
282
|
-
'index': ['tpr'],
|
|
283
|
-
'columns': ['Female', 'Male'],
|
|
284
|
-
'data': [[0.569620253164557, 0.5897435897435898]],
|
|
285
|
-
'ratio': 0.9658778205833792,
|
|
286
|
-
},
|
|
287
|
-
'group_benefit_equality': {
|
|
288
|
-
'index': ['group_benefit'],
|
|
289
|
-
'columns': ['Female', 'Male'],
|
|
290
|
-
'data': [[0.6455696202531646, 0.717948717948718]],
|
|
291
|
-
'ratio': 0.8991862567811935,
|
|
292
|
-
},
|
|
293
|
-
'disparate_impact': {
|
|
294
|
-
'pairs': [
|
|
295
|
-
{
|
|
296
|
-
'reference': ['Female'],
|
|
297
|
-
'groups': [['Male']],
|
|
298
|
-
'values': [0.4602076124567474],
|
|
299
|
-
},
|
|
300
|
-
{
|
|
301
|
-
'reference': ['Male'],
|
|
302
|
-
'groups': [['Female']],
|
|
303
|
-
'values': [0.4602076124567474],
|
|
304
|
-
},
|
|
305
|
-
],
|
|
306
|
-
'absolute_min': {
|
|
307
|
-
'groups': [['Female'], ['Male']],
|
|
308
|
-
'value': 0.4602076124567474,
|
|
309
|
-
},
|
|
310
|
-
},
|
|
311
|
-
},
|
|
312
|
-
'model_task': 'BINARY_CLASSIFICATION',
|
|
313
|
-
'total_samples': 1000,
|
|
314
|
-
'valid_samples': 1000,
|
|
315
|
-
},
|
|
316
|
-
'api_version': '3.0',
|
|
317
|
-
'kind': 'NORMAL',
|
|
318
|
-
}
|
|
319
|
-
|
|
320
222
|
FETCH_SLICE_RESPONSE_200 = {
|
|
321
223
|
'data': {
|
|
322
224
|
'metadata': {
|
|
@@ -653,30 +555,6 @@ def test_explain() -> None:
|
|
|
653
555
|
)
|
|
654
556
|
|
|
655
557
|
|
|
656
|
-
@responses.activate
|
|
657
|
-
def test_fairness() -> None:
|
|
658
|
-
responses.get(
|
|
659
|
-
url=f'{URL}/v3/models/{MODEL_ID}',
|
|
660
|
-
json=MODEL_API_RESPONSE_200,
|
|
661
|
-
)
|
|
662
|
-
model = Model.get(id_=MODEL_ID)
|
|
663
|
-
|
|
664
|
-
responses.post(
|
|
665
|
-
url=f'{URL}/v3/analytics/fairness',
|
|
666
|
-
json=FAIRNESS_RESPONSE_200,
|
|
667
|
-
)
|
|
668
|
-
fairness = model.get_fairness(
|
|
669
|
-
data_source=DatasetDataSource(
|
|
670
|
-
env_type='PRODUCTION',
|
|
671
|
-
),
|
|
672
|
-
protected_features=['Gender'],
|
|
673
|
-
positive_outcome='Churned',
|
|
674
|
-
)
|
|
675
|
-
assert fairness == namedtuple('Fairness', FAIRNESS_RESPONSE_200['data'])(
|
|
676
|
-
**FAIRNESS_RESPONSE_200['data']
|
|
677
|
-
)
|
|
678
|
-
|
|
679
|
-
|
|
680
558
|
@responses.activate
|
|
681
559
|
def test_get_slice() -> None:
|
|
682
560
|
responses.get(
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
3.3.2
|
|
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
|
{fiddler_client-3.3.2 → fiddler_client-3.4.0}/fiddler/packtools/project_attributions_helpers.py
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
|
|
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
|