shinestacker 1.8.0__py3-none-any.whl → 1.9.3__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.
Potentially problematic release.
This version of shinestacker might be problematic. Click here for more details.
- shinestacker/_version.py +1 -1
- shinestacker/algorithms/align.py +202 -81
- shinestacker/algorithms/align_auto.py +13 -11
- shinestacker/algorithms/align_parallel.py +50 -21
- shinestacker/algorithms/balance.py +1 -1
- shinestacker/algorithms/base_stack_algo.py +1 -1
- shinestacker/algorithms/exif.py +848 -127
- shinestacker/algorithms/multilayer.py +6 -4
- shinestacker/algorithms/noise_detection.py +10 -8
- shinestacker/algorithms/pyramid_tiles.py +1 -1
- shinestacker/algorithms/stack.py +33 -17
- shinestacker/algorithms/stack_framework.py +16 -11
- shinestacker/algorithms/utils.py +18 -2
- shinestacker/algorithms/vignetting.py +16 -3
- shinestacker/app/main.py +1 -1
- shinestacker/app/settings_dialog.py +297 -173
- shinestacker/config/constants.py +10 -6
- shinestacker/config/settings.py +25 -7
- shinestacker/core/exceptions.py +1 -1
- shinestacker/core/framework.py +2 -2
- shinestacker/gui/action_config.py +23 -20
- shinestacker/gui/action_config_dialog.py +38 -25
- shinestacker/gui/config_dialog.py +6 -5
- shinestacker/gui/folder_file_selection.py +3 -2
- shinestacker/gui/gui_images.py +27 -3
- shinestacker/gui/gui_run.py +2 -2
- shinestacker/gui/main_window.py +6 -0
- shinestacker/gui/menu_manager.py +8 -2
- shinestacker/gui/new_project.py +23 -12
- shinestacker/gui/project_controller.py +14 -6
- shinestacker/gui/project_editor.py +12 -2
- shinestacker/gui/project_model.py +4 -4
- shinestacker/retouch/brush_tool.py +20 -0
- shinestacker/retouch/exif_data.py +106 -38
- shinestacker/retouch/file_loader.py +3 -3
- shinestacker/retouch/image_editor_ui.py +79 -3
- shinestacker/retouch/image_viewer.py +6 -1
- shinestacker/retouch/io_gui_handler.py +13 -16
- shinestacker/retouch/shortcuts_help.py +15 -8
- shinestacker/retouch/view_strategy.py +12 -2
- {shinestacker-1.8.0.dist-info → shinestacker-1.9.3.dist-info}/METADATA +37 -39
- {shinestacker-1.8.0.dist-info → shinestacker-1.9.3.dist-info}/RECORD +46 -46
- {shinestacker-1.8.0.dist-info → shinestacker-1.9.3.dist-info}/WHEEL +0 -0
- {shinestacker-1.8.0.dist-info → shinestacker-1.9.3.dist-info}/entry_points.txt +0 -0
- {shinestacker-1.8.0.dist-info → shinestacker-1.9.3.dist-info}/licenses/LICENSE +0 -0
- {shinestacker-1.8.0.dist-info → shinestacker-1.9.3.dist-info}/top_level.txt +0 -0
|
@@ -1,66 +1,66 @@
|
|
|
1
1
|
shinestacker/__init__.py,sha256=uq2fjAw2z_6TpH3mOcWFZ98GoEPRsNhTAK8N0MMm_e8,448
|
|
2
|
-
shinestacker/_version.py,sha256=
|
|
2
|
+
shinestacker/_version.py,sha256=4DpAu5D3128MDKPMWUy6pytWYJewAWMYY3nQrnHx_9k,21
|
|
3
3
|
shinestacker/algorithms/__init__.py,sha256=1FwVJ3w9GGbFFkjYJRUedTvcdE4j0ieSgaH9RC9iCY4,877
|
|
4
|
-
shinestacker/algorithms/align.py,sha256=
|
|
5
|
-
shinestacker/algorithms/align_auto.py,sha256=
|
|
6
|
-
shinestacker/algorithms/align_parallel.py,sha256=
|
|
7
|
-
shinestacker/algorithms/balance.py,sha256=
|
|
8
|
-
shinestacker/algorithms/base_stack_algo.py,sha256=
|
|
4
|
+
shinestacker/algorithms/align.py,sha256=_eBU7TZ_xitZI0HwyWw4cgeVW48AEiYRR1Fyg8K7-iw,38424
|
|
5
|
+
shinestacker/algorithms/align_auto.py,sha256=DsHuAkFXSHbtFwp6XRaV3Sy1LGcUZWYAFijJXWrd1Bo,3833
|
|
6
|
+
shinestacker/algorithms/align_parallel.py,sha256=X1mawwK3I-NUoKJ2evMH0DJag3_ObegQ9MJ78fxkGAU,19496
|
|
7
|
+
shinestacker/algorithms/balance.py,sha256=HZ0TPfzqvUV3SydDsjgLJMHn6jC1MAYVTY2nLEj6vLg,24051
|
|
8
|
+
shinestacker/algorithms/base_stack_algo.py,sha256=mqCCRufLc9k5fZV5Su41AsN1ecHrZJzp1xtpmbJ7wb0,2669
|
|
9
9
|
shinestacker/algorithms/corrections.py,sha256=DrfLM33D20l4svuuBtoOiH-KGUH_BL1mAV7mHCA_nGA,1094
|
|
10
10
|
shinestacker/algorithms/denoise.py,sha256=GL3Z4_6MHxSa7Wo4ZzQECZS87tHBFqO0sIVF_jPuYQU,426
|
|
11
11
|
shinestacker/algorithms/depth_map.py,sha256=nRBrZQWbdUqFOtYMEQx9UNdnybrBTeAOr1eV91FlN8U,5611
|
|
12
|
-
shinestacker/algorithms/exif.py,sha256=
|
|
13
|
-
shinestacker/algorithms/multilayer.py,sha256=
|
|
14
|
-
shinestacker/algorithms/noise_detection.py,sha256=
|
|
12
|
+
shinestacker/algorithms/exif.py,sha256=QG6d2Xhw2S24UHXtfaWSHZhFY279kYw5ms0DQcg7qYg,37058
|
|
13
|
+
shinestacker/algorithms/multilayer.py,sha256=SX4digCMvPxvm9KRrwroUwoAc83ScbmjIjN8s5au3wg,10053
|
|
14
|
+
shinestacker/algorithms/noise_detection.py,sha256=SbWcxSPZIxnThXITAe7koPLKhQZ_gciQby50u3QfkGs,9464
|
|
15
15
|
shinestacker/algorithms/pyramid.py,sha256=Z7tlp8Hh3ploAXJCr0VNe33d8H9GNrlqHXq_LapgRwo,8205
|
|
16
16
|
shinestacker/algorithms/pyramid_auto.py,sha256=fl_jXNYLWsBiX0M0UghzCLqai0SGXlmKYHU7Z9SUYSo,6173
|
|
17
|
-
shinestacker/algorithms/pyramid_tiles.py,sha256=
|
|
17
|
+
shinestacker/algorithms/pyramid_tiles.py,sha256=t04_06oYF6QkSSyFQEivHh-GDTska2dQEmfCYoscy-c,12216
|
|
18
18
|
shinestacker/algorithms/sharpen.py,sha256=h7PMJBYxucg194Usp_6pvItPUMFYbT-ebAc_-7XBFUw,949
|
|
19
|
-
shinestacker/algorithms/stack.py,sha256=
|
|
20
|
-
shinestacker/algorithms/stack_framework.py,sha256=
|
|
21
|
-
shinestacker/algorithms/utils.py,sha256=
|
|
22
|
-
shinestacker/algorithms/vignetting.py,sha256=
|
|
19
|
+
shinestacker/algorithms/stack.py,sha256=mIynzHv9iqvF-VomBiwjQ0RSLLqwhBndGKqRxYJ5SjE,6693
|
|
20
|
+
shinestacker/algorithms/stack_framework.py,sha256=HwB0gDncjJEKHdaR9fFcc2XoRrgxFNrrFDfVyeO4NRM,14616
|
|
21
|
+
shinestacker/algorithms/utils.py,sha256=1RCsOSQ5TSM8y10Wg5JBDWCAEf-vEQReN_5VMtrLW7o,13127
|
|
22
|
+
shinestacker/algorithms/vignetting.py,sha256=Y-K_CTjtNpl0YX86PaM0te-HFxuEcWozhWoB7-g_S7Y,10849
|
|
23
23
|
shinestacker/algorithms/white_balance.py,sha256=PMKsBtxOSn5aRr_Gkx1StHS4eN6kBN2EhNnhg4UG24g,501
|
|
24
24
|
shinestacker/app/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
25
25
|
shinestacker/app/about_dialog.py,sha256=pkH7nnxUP8yc0D3vRGd1jRb5cwi1nDVbQRk_OC9yLk8,4144
|
|
26
26
|
shinestacker/app/args_parser_opts.py,sha256=G3jQjxBYk87ycmyf8Idk40c5H90O1l0owz0asTodm88,2183
|
|
27
27
|
shinestacker/app/gui_utils.py,sha256=rNDtC6vQ1hAJ5F3Vd-VKglCE06mhleu5eiw-oitgnxU,3656
|
|
28
28
|
shinestacker/app/help_menu.py,sha256=g8lKG_xZmXtNQaC3SIRzyROKVWva_PLEgZsQWh6zUcQ,499
|
|
29
|
-
shinestacker/app/main.py,sha256=
|
|
29
|
+
shinestacker/app/main.py,sha256=0dEtkLsshD5xEjK107EyYaM8fJhqFm88taTbf6BMPrk,10671
|
|
30
30
|
shinestacker/app/open_frames.py,sha256=bsu32iJSYJQLe_tQQbvAU5DuMDVX6MRuNdE7B5lojZc,1488
|
|
31
31
|
shinestacker/app/project.py,sha256=nwvXllD2FBLQ4ChePQdIGVug46Wh2ubjrJ0sC7klops,2596
|
|
32
32
|
shinestacker/app/retouch.py,sha256=8XcYMv7-feG6yxNCpvlijZQRPlhmRK0OfZO5MuBju-0,2552
|
|
33
|
-
shinestacker/app/settings_dialog.py,sha256=
|
|
33
|
+
shinestacker/app/settings_dialog.py,sha256=x4-mYEUcB1I9SoQmzDpxFzfLI5JU0hbeqmIydbUWylQ,13670
|
|
34
34
|
shinestacker/config/__init__.py,sha256=aXxi-LmAvXd0daIFrVnTHE5OCaYeK1uf1BKMr7oaXQs,197
|
|
35
35
|
shinestacker/config/app_config.py,sha256=rM1Rndk1GDa5c0AhcVNEN9zSAzxPZixzQYfjODbJUwE,771
|
|
36
36
|
shinestacker/config/config.py,sha256=eBko2D3ADhLTIm9X6hB_a_WsIjwgfE-qmBVkhP1XSvc,1636
|
|
37
|
-
shinestacker/config/constants.py,sha256=
|
|
37
|
+
shinestacker/config/constants.py,sha256=qpQ7uuf7qnFesiq4zvt6A7ASjLbyADbbeMzkW-GCbe4,8470
|
|
38
38
|
shinestacker/config/gui_constants.py,sha256=PNxzwmVEppJ2mV_vwp68NhWzJOEitVy1Pk9SwSmRsho,2882
|
|
39
|
-
shinestacker/config/settings.py,sha256=
|
|
39
|
+
shinestacker/config/settings.py,sha256=jdRMJRT6AzO-dnvmOCwEGURsGBt36ILH-xszNIvE0ew,4845
|
|
40
40
|
shinestacker/core/__init__.py,sha256=IUEIx6SQ3DygDEHN3_E6uKpHjHtUa4a_U_1dLd_8yEU,484
|
|
41
41
|
shinestacker/core/colors.py,sha256=kr_tJA1iRsdck2JaYDb2lS-codZ4Ty9gdu3kHfiWvuM,1340
|
|
42
42
|
shinestacker/core/core_utils.py,sha256=PYrV5asW-_L_AavPlk6p63UqzuQGrm55hwkRzmaaCd0,1424
|
|
43
|
-
shinestacker/core/exceptions.py,sha256=
|
|
44
|
-
shinestacker/core/framework.py,sha256=
|
|
43
|
+
shinestacker/core/exceptions.py,sha256=67XFH0zqaqHihVdvrmcBLTRudzVbxSkqYe7lbXdHWB8,1618
|
|
44
|
+
shinestacker/core/framework.py,sha256=i-_4v--ZtimmlPUs2DmkEVvbsvEDZmbCmOtMVfCxwwU,11109
|
|
45
45
|
shinestacker/core/logging.py,sha256=pN4FGcHwI5ouJKwCVoDWQx_Tg3t84mmPh0xhqszDDkw,3111
|
|
46
46
|
shinestacker/gui/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
47
|
-
shinestacker/gui/action_config.py,sha256=
|
|
48
|
-
shinestacker/gui/action_config_dialog.py,sha256=
|
|
47
|
+
shinestacker/gui/action_config.py,sha256=OWW32h55OTvM6lbfJc3ZhPoa0vVEvsH63iCbTWo6r6E,25843
|
|
48
|
+
shinestacker/gui/action_config_dialog.py,sha256=YdVtDKehjIxBYKi7AsFcS8RR-cJT_Xmm6VP8LIlTQ1s,40582
|
|
49
49
|
shinestacker/gui/base_form_dialog.py,sha256=KAUQNtmJazttmOIe4E4pFifbtvcByTAhtCmcIYeA4UE,766
|
|
50
50
|
shinestacker/gui/colors.py,sha256=-HaFprDuzRSKjXoZfX1rdOuvawQAkazqdgLBEiZcFII,1476
|
|
51
|
-
shinestacker/gui/config_dialog.py,sha256=
|
|
51
|
+
shinestacker/gui/config_dialog.py,sha256=vJao8UH8YeE5AuSbYE5Aj9atqo-38DdceHLGsuGvnlw,3544
|
|
52
52
|
shinestacker/gui/flow_layout.py,sha256=3yBU_z7VtvHKpx1H97CHVd81eq9pe1Dcja2EZBGGKcI,3791
|
|
53
|
-
shinestacker/gui/folder_file_selection.py,sha256=
|
|
54
|
-
shinestacker/gui/gui_images.py,sha256=
|
|
53
|
+
shinestacker/gui/folder_file_selection.py,sha256=CwussPYMguMk8WuyuUKk28VneafwGR-5yiqPo0bp_XE,4158
|
|
54
|
+
shinestacker/gui/gui_images.py,sha256=KxGBFLL2ztfNmvL4pconi3z5HJCoD2HXxpYZP70aUfM,6803
|
|
55
55
|
shinestacker/gui/gui_logging.py,sha256=kiZcrC2AFYCWgPZo0O5SKw-E5cFrezwf4anS3HjPuNw,8168
|
|
56
|
-
shinestacker/gui/gui_run.py,sha256=
|
|
57
|
-
shinestacker/gui/main_window.py,sha256=
|
|
58
|
-
shinestacker/gui/menu_manager.py,sha256=
|
|
59
|
-
shinestacker/gui/new_project.py,sha256=
|
|
60
|
-
shinestacker/gui/project_controller.py,sha256=
|
|
56
|
+
shinestacker/gui/gui_run.py,sha256=Tp3BQTbASdfyELQonJPM10dX9mWb7TdecsIjzCnVQsA,15680
|
|
57
|
+
shinestacker/gui/main_window.py,sha256=5DiSho2SALtRNlF_ZnWQIORzKJFK1rcXdTHx4YlPMpg,26114
|
|
58
|
+
shinestacker/gui/menu_manager.py,sha256=_qIxDgydb9BXeKA-bBEdYRTaBZR7cPGHii_whBP-a_U,12686
|
|
59
|
+
shinestacker/gui/new_project.py,sha256=fnTWxT0YS390T4CTu6Cdl7pWrjsCiphnKZJvDLzXGlE,16728
|
|
60
|
+
shinestacker/gui/project_controller.py,sha256=vIGPZOJQAKzypXlSxqm_hBRh7ECNDfoMmE0xSAReu8g,17033
|
|
61
61
|
shinestacker/gui/project_converter.py,sha256=Gmna0HwbvACcXiX74TaQYumif8ZV8sZ2APLTMM-L1mU,7436
|
|
62
|
-
shinestacker/gui/project_editor.py,sha256=
|
|
63
|
-
shinestacker/gui/project_model.py,sha256=
|
|
62
|
+
shinestacker/gui/project_editor.py,sha256=9KEH-CkIbK_yLKRo184C08uYXQ9_aqepEGQrKRqhfUg,25991
|
|
63
|
+
shinestacker/gui/project_model.py,sha256=9Mr3Y87Pj8J-mSkgn9NexaxzZkB39zkIGG5zzeUojB0,4869
|
|
64
64
|
shinestacker/gui/recent_file_manager.py,sha256=010bciuirKLiVCfOAKs0uFlB3iUjHNBlPX_9K2vH5j0,2916
|
|
65
65
|
shinestacker/gui/select_path_widget.py,sha256=HSwgSr702w5Et4c-6nkRXnIpm1KFqKJetAF5xQNa5zI,1017
|
|
66
66
|
shinestacker/gui/sys_mon.py,sha256=zU41YYVeqQ1-v6oGIh2_BFzQWq87keN-398Wdm59-Nk,3526
|
|
@@ -86,32 +86,32 @@ shinestacker/retouch/base_filter.py,sha256=o_OkJbdD3jOGY--_sGL1_WqAMQI-QHGw-EEYx
|
|
|
86
86
|
shinestacker/retouch/brush.py,sha256=dzD2FzSpBIPdJRmTZobcrQ1FrVd3tF__ZPnUplNE72s,357
|
|
87
87
|
shinestacker/retouch/brush_gradient.py,sha256=F5SFhyzl8YTMqjJU3jK8BrIlLCYLUvITd5wz3cQE4xk,1453
|
|
88
88
|
shinestacker/retouch/brush_preview.py,sha256=cOFVMCbEsgR_alzmr_-LLghtGU_unrE-hAjLHcvrZAY,5484
|
|
89
|
-
shinestacker/retouch/brush_tool.py,sha256=
|
|
89
|
+
shinestacker/retouch/brush_tool.py,sha256=OoAs_9TYbgDhBiixspwSND3c41LpSwcWylQsSK7Cprk,9552
|
|
90
90
|
shinestacker/retouch/denoise_filter.py,sha256=QVXFU54MDcylNWtiIcdQSZ3eClW_xNWZhCMIeoEQ8zk,576
|
|
91
91
|
shinestacker/retouch/display_manager.py,sha256=fTZTGbvmX5DXagexuvbNgOF5GiH2Vv-stLUQQwoglp8,10181
|
|
92
|
-
shinestacker/retouch/exif_data.py,sha256=
|
|
93
|
-
shinestacker/retouch/file_loader.py,sha256=
|
|
92
|
+
shinestacker/retouch/exif_data.py,sha256=Xffb0QMwRZJegizsx0npj7kEhAR84bi4J82qh885Dlc,5204
|
|
93
|
+
shinestacker/retouch/file_loader.py,sha256=FTOGOuQRHekofESFDsCvnUU5XnZH_GbLfxXwKnoxZ4s,4832
|
|
94
94
|
shinestacker/retouch/filter_manager.py,sha256=tOGIWj5HjViL1-iXHkd91X-sZ1c1G531pDmLO0x6zx0,866
|
|
95
95
|
shinestacker/retouch/icon_container.py,sha256=6gw1HO1bC2FrdB4dc_iH81DQuLjzuvRGksZ2hKLT9yA,585
|
|
96
|
-
shinestacker/retouch/image_editor_ui.py,sha256=
|
|
96
|
+
shinestacker/retouch/image_editor_ui.py,sha256=5S31vG6kdQow127QYHprBWu-LgdWQ8-AWM_wIxyx0WU,37315
|
|
97
97
|
shinestacker/retouch/image_view_status.py,sha256=2rWi2ugdyjMhWCtRJkwOnb7-tCtVfnGfCY_54qpZhwM,1970
|
|
98
|
-
shinestacker/retouch/image_viewer.py,sha256=
|
|
99
|
-
shinestacker/retouch/io_gui_handler.py,sha256=
|
|
98
|
+
shinestacker/retouch/image_viewer.py,sha256=jj6xHEfIJ9x-bf38DxOdeTtwWW2hdXoa3lCJHdzZJmU,5048
|
|
99
|
+
shinestacker/retouch/io_gui_handler.py,sha256=DPS01f3eBhh3iPNzINShghHH0vdWCf8K4hQPxJi6wJU,14450
|
|
100
100
|
shinestacker/retouch/io_threads.py,sha256=r0X4it2PfwnmiAU7eStniIfcHhPvuaqdqf5VlnvjZ-4,2832
|
|
101
101
|
shinestacker/retouch/layer_collection.py,sha256=xx8INSLCXIeTQn_nxfCo4QljAmQK1qukSYO1Zk4rqqo,6183
|
|
102
102
|
shinestacker/retouch/overlaid_view.py,sha256=QTTdegUWs99YBZZPlIRdPI5O80U3t_c3HnyegbRqNbA,7029
|
|
103
103
|
shinestacker/retouch/paint_area_manager.py,sha256=ilK6uQT7lzNyvdc8uNv4xTHHHAbk5hGEClJRNmiA4P8,894
|
|
104
|
-
shinestacker/retouch/shortcuts_help.py,sha256=
|
|
104
|
+
shinestacker/retouch/shortcuts_help.py,sha256=sjhLYows2OmUsI_ldQwqkzwviP8oQ65upOeWKdZO1wo,4612
|
|
105
105
|
shinestacker/retouch/sidebyside_view.py,sha256=4sNa_IUMbNH18iECO7eDO9S_ls3v2ENwP1AWrBFhofI,18907
|
|
106
106
|
shinestacker/retouch/transformation_manager.py,sha256=QFYCL-l9V6qlhw3y7tcs0saWWClNPsh7F9pTBkfPbRU,1711
|
|
107
107
|
shinestacker/retouch/undo_manager.py,sha256=J4hEAnv9bKLQ0N1wllWswjJBhgRgasCnBoMT5LEw-dM,4453
|
|
108
108
|
shinestacker/retouch/unsharp_mask_filter.py,sha256=SO-6ZgPPDAO9em_MMefVvvSvt01-2gm1HF6OBsShmL4,2795
|
|
109
|
-
shinestacker/retouch/view_strategy.py,sha256=
|
|
109
|
+
shinestacker/retouch/view_strategy.py,sha256=pgLQZdxrQQpr6TM4RRP3dxLU6bvt2V1LzNuLz7aHZfE,30908
|
|
110
110
|
shinestacker/retouch/vignetting_filter.py,sha256=M7PZGPdVSq4bqo6wkEznrILMIG3-mTT7iwpgK4Hieyg,3794
|
|
111
111
|
shinestacker/retouch/white_balance_filter.py,sha256=UaH4yxG3fU4vPutBAkV5oTXIQyUTN09x0uTywAzv3sY,8286
|
|
112
|
-
shinestacker-1.
|
|
113
|
-
shinestacker-1.
|
|
114
|
-
shinestacker-1.
|
|
115
|
-
shinestacker-1.
|
|
116
|
-
shinestacker-1.
|
|
117
|
-
shinestacker-1.
|
|
112
|
+
shinestacker-1.9.3.dist-info/licenses/LICENSE,sha256=pWgb-bBdsU2Gd2kwAXxketnm5W_2u8_fIeWEgojfrxs,7651
|
|
113
|
+
shinestacker-1.9.3.dist-info/METADATA,sha256=ulZ3X2yOUd2Qa5ZCHZb90GeFgIHiaIkQ5y7SgiA9zPg,6883
|
|
114
|
+
shinestacker-1.9.3.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
115
|
+
shinestacker-1.9.3.dist-info/entry_points.txt,sha256=SY6g1LqtMmp23q1DGwLUDT_dhLX9iss8DvWkiWLyo_4,166
|
|
116
|
+
shinestacker-1.9.3.dist-info/top_level.txt,sha256=MhijwnBVX5psfsyX8JZjqp3SYiWPsKe69f3Gnyze4Fw,13
|
|
117
|
+
shinestacker-1.9.3.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|