Reinhard Pointner
|
54cec6f9f8
|
Added GroovyRenameAction and ProcessRenameAction
|
2017-04-05 16:15:34 +08:00 |
|
Reinhard Pointner
|
47f7ea45a2
|
Refactor NamingStandard
|
2017-04-02 15:56:19 +08:00 |
|
Reinhard Pointner
|
f826d42449
|
[WARNING] {sdhd} is deprecated and will be removed in the next release. Use {hd} instead.
|
2017-04-02 05:35:26 +08:00 |
|
Reinhard Pointner
|
cc4f00d17c
|
Optimize Getting Started dialog for Windows
|
2017-04-02 03:45:02 +08:00 |
|
Reinhard Pointner
|
2ded72ad68
|
Optimize Getting Started dialog for Windows
|
2017-04-02 03:16:17 +08:00 |
|
Reinhard Pointner
|
972c698380
|
FileSystemException:/path/to/file: Unable to get size of extended attribute 'net.filebot.metadata': No data available
|
2017-04-02 02:29:15 +08:00 |
|
Reinhard Pointner
|
761a700db0
|
Simplify logging output
|
2017-04-02 01:59:30 +08:00 |
|
Reinhard Pointner
|
83c1796cf9
|
Simplify logging output
|
2017-04-02 01:46:25 +08:00 |
|
Reinhard Pointner
|
eb7e393ddb
|
false: true: true
|
2017-04-02 01:14:55 +08:00 |
|
Reinhard Pointner
|
daef4da23b
|
make file writable if necessary
|
2017-04-02 00:54:34 +08:00 |
|
Reinhard Pointner
|
2e221d98dc
|
Refactor MetaAttributeView
|
2017-04-02 00:33:40 +08:00 |
|
Reinhard Pointner
|
d61400ed96
|
Refactor MetaAttributeView
|
2017-04-01 23:56:35 +08:00 |
|
Reinhard Pointner
|
ef70619447
|
Simplify logging output
|
2017-04-01 22:39:56 +08:00 |
|
Reinhard Pointner
|
5392ec3225
|
[WARNING] {sdhd} is deprecated and will be removed in the next release. Use {hd} instead.
|
2017-04-01 21:51:03 +08:00 |
|
Reinhard Pointner
|
758bd7f817
|
ISO-8859-8-I is not supported, but ISO-8859-8 uses the same code points so we can use that instead
|
2017-03-31 18:09:04 +08:00 |
|
Reinhard Pointner
|
6145508272
|
Support for searching for Hebrew subtitles
https://www.filebot.net/forums/viewtopic.php?f=6&t=4898
|
2017-03-31 17:21:07 +08:00 |
|
Reinhard Pointner
|
82f34a0043
|
range patterns without season are more prone to false positives, so we need to do some extra sanity checks (e.g. Episode 01-50 is probably not a multi-episode but some sort of season pack)
|
2017-03-31 03:25:43 +08:00 |
|
Reinhard Pointner
|
1467003565
|
Improved logging for when xattr is not supported
|
2017-03-31 01:25:53 +08:00 |
|
Reinhard Pointner
|
3db5e7f7f5
|
Added missing @2x icon
|
2017-03-29 13:48:10 +08:00 |
|
Reinhard Pointner
|
b496882c05
|
treat empty list as null
|
2017-03-27 21:24:01 +08:00 |
|
Reinhard Pointner
|
3511f08344
|
Improved support for custom Duration formats
|
2017-03-27 19:39:30 +08:00 |
|
Reinhard Pointner
|
fb81a895b8
|
treat empty list as null
|
2017-03-27 18:07:41 +08:00 |
|
Reinhard Pointner
|
52ef8e5b5b
|
Improved duration, seconds, minutes and hours bindings
|
2017-03-27 02:39:38 +08:00 |
|
Reinhard Pointner
|
20c85970e2
|
sum size of all files
|
2017-03-27 01:55:56 +08:00 |
|
Reinhard Pointner
|
7663977c9a
|
Support context bindings when testing with sample data
|
2017-03-26 21:17:26 +08:00 |
|
Reinhard Pointner
|
38410c1676
|
MediaBindingBean bindings, boolean locked
|
2017-03-26 11:34:55 +08:00 |
|
Reinhard Pointner
|
7ae7e745bd
|
Refine logging conflict/delete log level
|
2017-03-25 16:57:08 +08:00 |
|
Reinhard Pointner
|
cc34001f0f
|
Improved support for resolution/width/height bindings (and support for image files)
|
2017-03-25 15:32:07 +08:00 |
|
Reinhard Pointner
|
a7c39e81dd
|
Improved support for resolution/width/height bindings (and support for image files)
|
2017-03-25 15:18:00 +08:00 |
|
Reinhard Pointner
|
ff2617e6e4
|
Support --conflict override for disk folders
@see https://www.filebot.net/forums/viewtopic.php?f=8&t=4863&p=27193#p27190
|
2017-03-25 01:30:01 +08:00 |
|
Reinhard Pointner
|
1a91e379a0
|
Fix BindingDialog usability issues
|
2017-03-24 22:09:42 +08:00 |
|
Reinhard Pointner
|
ae1e3e640a
|
Allow -clear-prefs
|
2017-03-24 21:57:00 +08:00 |
|
Reinhard Pointner
|
f32b98480c
|
Refactor ImageMetadata
|
2017-03-24 02:32:49 +08:00 |
|
Reinhard Pointner
|
d1927cd52d
|
Better output for GVFS sysinfo
|
2017-03-23 23:23:20 +08:00 |
|
Reinhard Pointner
|
ec44c7c38d
|
Refactor CmdlineOperations
|
2017-03-23 16:53:20 +08:00 |
|
Reinhard Pointner
|
2f7ee58707
|
Support for renaming episode files in linear order (without matching)
|
2017-03-23 09:46:41 +08:00 |
|
Reinhard Pointner
|
8224aac61a
|
application.version: 4.7.9
|
2017-03-19 19:16:03 +08:00 |
|
Reinhard Pointner
|
5e03553371
|
info.certifications.AU
|
2017-03-19 17:03:38 +08:00 |
|
Reinhard Pointner
|
415349ab71
|
Remove unnecessary memoize() calls
|
2017-03-14 18:20:50 +08:00 |
|
Reinhard Pointner
|
458c3630de
|
Fix Chinese language support
|
2017-03-13 16:29:45 +08:00 |
|
Reinhard Pointner
|
45941aa9ae
|
Make sure not to annoy users have purchased FileBot
|
2017-03-11 08:21:09 +08:00 |
|
Reinhard Pointner
|
ccd8830525
|
Make sure not to annoy users have purchased FileBot
|
2017-03-11 04:37:52 +08:00 |
|
Reinhard Pointner
|
e5778ee3cb
|
Make sure not to annoy users have purchased FileBot
|
2017-03-11 03:39:08 +08:00 |
|
Reinhard Pointner
|
3ef7cc141e
|
Make sure not to annoy users have purchased FileBot
|
2017-03-11 03:37:46 +08:00 |
|
Reinhard Pointner
|
0f63e83549
|
// ask for reviews only when a significant number of files have been processed
|
2017-03-08 02:09:08 +08:00 |
|
Reinhard Pointner
|
e2105771c0
|
Move platform-specific utilities into net.filebot.platform.* package
|
2017-03-06 20:52:04 +08:00 |
|
Reinhard Pointner
|
4f5479363f
|
Improved Preset Selection dialog
|
2017-03-04 01:14:53 +08:00 |
|
Reinhard Pointner
|
76838cb1ba
|
Use database icon for custom Presets instead of the generic "Run Script" icon
|
2017-03-03 22:20:24 +08:00 |
|
Reinhard Pointner
|
c960fd85a7
|
Use database icon for custom Presets instead of the generic "Run Script" icon
|
2017-03-03 21:27:13 +08:00 |
|
Reinhard Pointner
|
7b7a75e694
|
Explicitly add "Exif Metadata" to the Preset Editor
|
2017-03-03 21:19:52 +08:00 |
|
Reinhard Pointner
|
b302ebe5de
|
Refactor {sdhd} to support UHD/HD/SD and rename to {hd}
|
2017-03-03 17:51:54 +08:00 |
|
Reinhard Pointner
|
498b175fe9
|
Allow rename(action) parameter to override the --action command-line option
See https://www.filebot.net/forums/viewtopic.php?f=4&t=4801
|
2017-03-03 17:36:22 +08:00 |
|
Reinhard Pointner
|
342762427f
|
Remove unnecessary toString()
|
2017-03-01 01:35:09 +08:00 |
|
Reinhard Pointner
|
45bcfbe3f6
|
Use CachedResource API
|
2017-02-28 16:48:02 +08:00 |
|
Reinhard Pointner
|
6996e4bf72
|
Refactor ExpressionFormat into generic ExpressionFormat (used by -mediainfo and -list calls) and ExpressionFileFormat (used when generating output paths) that performs all the file path validation logic (strip spaces, don't allow /\ in binding values, etc)
|
2017-02-28 00:59:20 +08:00 |
|
Reinhard Pointner
|
7eb59a9c62
|
Deprecate url.exclude-blacklist # clutter file exclude pattern
|
2017-02-27 23:08:50 +08:00 |
|
Reinhard Pointner
|
f28e41626f
|
Refactor ExpressionFormat into generic ExpressionFormat (used by -mediainfo and -list calls) and ExpressionFileFormat (used when generating output paths) that performs all the file path validation logic (strip spaces, don't allow /\ in binding values, etc)
|
2017-02-27 22:11:59 +08:00 |
|
Reinhard Pointner
|
1d91160521
|
Cache OMDb resources for up to a month
|
2017-02-27 22:08:52 +08:00 |
|
Reinhard Pointner
|
9b7a6041cd
|
Fix sample file issues
@see https://www.filebot.net/forums/viewtopic.php?f=8&t=4785
|
2017-02-27 21:58:46 +08:00 |
|
Reinhard Pointner
|
3415e31a2c
|
Quotes work different in bash and PowerShell and there is no way of quoting strings that work for both
|
2017-02-27 20:07:28 +08:00 |
|
Reinhard Pointner
|
e902d999cd
|
Add unit tests
|
2017-02-27 13:46:27 +08:00 |
|
Reinhard Pointner
|
d6a8dfc00e
|
Added {dt} timestamp binding
|
2017-02-27 04:48:39 +08:00 |
|
Reinhard Pointner
|
40bab4a1fb
|
Refactor ImageMetadata API
|
2017-02-26 22:55:44 +08:00 |
|
Reinhard Pointner
|
c16dbc3741
|
Refactor ImageMetadata API
|
2017-02-26 22:22:04 +08:00 |
|
Reinhard Pointner
|
8b79c595f3
|
Throw exception and unwind expression if ASO property is undefined
|
2017-02-26 21:25:11 +08:00 |
|
Reinhard Pointner
|
d6b33e5f0f
|
Added {camera} bindings and allow associative lookup for enum properties for {camera} and {location} bindings
|
2017-02-26 21:00:35 +08:00 |
|
Reinhard Pointner
|
2a5ebbc7f1
|
Added {location} binding for dynamically resolving GPS -> Address via maps.googleapis.com
|
2017-02-26 04:28:06 +08:00 |
|
Reinhard Pointner
|
2c7c32472e
|
Refactor ImageMetadata API
|
2017-02-26 04:26:15 +08:00 |
|
Reinhard Pointner
|
3d923da419
|
Improved GVFS error logging: GVFS: %s => %s
|
2017-02-25 22:47:17 +08:00 |
|
Reinhard Pointner
|
9f5867f295
|
Improved GVFS error logging: GVFS: %s => %s
|
2017-02-25 22:43:31 +08:00 |
|
Reinhard Pointner
|
b1ade214bc
|
Simplify GVFS support
|
2017-02-25 21:20:40 +08:00 |
|
Reinhard Pointner
|
e3f46c56b5
|
Improved GVFS error logging: GVFS: %s => %s
|
2017-02-25 20:07:47 +08:00 |
|
Reinhard Pointner
|
16a36757a7
|
MediaInfo does not support EXIF image metadata natively so we use the metadata-extractor library and implicitly merge that information in
|
2017-02-25 19:24:47 +08:00 |
|
Reinhard Pointner
|
bd826cb297
|
{d} and {y} now evaluate to Exif Date-Taken if possible when dealing with generic files
|
2017-02-25 19:13:33 +08:00 |
|
Reinhard Pointner
|
86b7c4e4fd
|
Added {exif} binding
|
2017-02-25 17:31:49 +08:00 |
|
Reinhard Pointner
|
c97057b197
|
Improved GVFS error logging: GVFS: %s => %s
|
2017-02-25 16:03:05 +08:00 |
|
Reinhard Pointner
|
d2df8d8923
|
MediaInfo does not support EXIF image metadata natively so we use the metadata-extractor library and implicitly merge that information in
|
2017-02-25 04:38:16 +08:00 |
|
Reinhard Pointner
|
f2b29f108c
|
MediaInfo does not support EXIF image metadata natively so we use the metadata-extractor library and implicitly merge that information in
|
2017-02-25 04:05:07 +08:00 |
|
Reinhard Pointner
|
0a92f100ae
|
Refactor
|
2017-02-24 16:44:30 +08:00 |
|
Reinhard Pointner
|
102ce41728
|
Support lookup by id, e.g. filebot -list --q 70327
|
2017-02-24 00:13:43 +08:00 |
|
Reinhard Pointner
|
df2a5f9269
|
Remove debug logging
|
2017-02-23 20:50:00 +08:00 |
|
Reinhard Pointner
|
f95689b5a1
|
Streamify -mediainfo and -list commands to make them more responsive when used on the command-line on large datasets
|
2017-02-23 20:49:51 +08:00 |
|
Reinhard Pointner
|
9e13e1928e
|
Streamify -mediainfo and -list commands to make them more responsive when used on the command-line on large datasets
|
2017-02-23 20:10:12 +08:00 |
|
Reinhard Pointner
|
bc910571ac
|
Remove debug logging
|
2017-02-23 20:07:17 +08:00 |
|
Reinhard Pointner
|
8177d30c96
|
Add File.isImage()
|
2017-02-22 22:16:42 +08:00 |
|
Reinhard Pointner
|
a10beebe68
|
Update feelingLucky
|
2017-02-21 18:19:11 +08:00 |
|
Reinhard Pointner
|
f595e7247b
|
Update feelingLucky
|
2017-02-21 16:43:55 +08:00 |
|
Reinhard Pointner
|
1370e494fa
|
createIfNotExists
|
2017-02-21 15:50:17 +08:00 |
|
Reinhard Pointner
|
a926a71d19
|
+ Push FileBot 4.7.8
|
2017-02-20 17:43:40 +08:00 |
|
Reinhard Pointner
|
9aeb854024
|
Use "inferred media file" logic when retrieving MediaInfo for image files linked to video files (i.e. the same as with subtitle files)
|
2017-02-19 22:27:25 +08:00 |
|
Reinhard Pointner
|
700239934f
|
Refactor EpisodeMetrics
|
2017-02-19 00:41:36 +08:00 |
|
Reinhard Pointner
|
b64bff0c3e
|
Update built-in binding sample data
|
2017-02-17 23:06:19 +08:00 |
|
Reinhard Pointner
|
5cc6ec0bb0
|
Refactor CmdlineOperations console output (i.e. don't say "rename" when using other actions like copy or hardlink)
|
2017-02-17 22:09:51 +08:00 |
|
Reinhard Pointner
|
4897adf913
|
Refactor Enum.forName error messages
|
2017-02-17 22:02:20 +08:00 |
|
Reinhard Pointner
|
21d562eadd
|
Introduce "Absolute Airdate Order" to improve support for "Match by Airdate Number (e.g. 20161231)" and "Match by Episode Title" kind of use case
|
2017-02-17 21:28:50 +08:00 |
|
Reinhard Pointner
|
a513cf556a
|
Introduce "Absolute Airdate Order" to improve support for "Match by Airdate Number (e.g. 20161231)" and "Match by Episode Title" kind of use case
|
2017-02-17 21:09:35 +08:00 |
|
Reinhard Pointner
|
223a82deb5
|
Introduce "Absolute Airdate Order" to improve support for "Match by Airdate Number (e.g. 20161231)" and "Match by Episode Title" kind of use case
|
2017-02-17 20:28:21 +08:00 |
|
Reinhard Pointner
|
04e8691553
|
SxE sets for Episode objects cannot be cached because the same Episode (by ID) may have different episode numbers depending on the order (e.g. Airdate VS DVD order)
|
2017-02-17 19:51:28 +08:00 |
|
Reinhard Pointner
|
2329104bad
|
SxE sets for Episode objects cannot be cached because the same Episode (by ID) may have different episode numbers depending on the order (e.g. Airdate VS DVD order)
|
2017-02-17 19:49:53 +08:00 |
|
Reinhard Pointner
|
4c5776f9fa
|
Fix JFrame icon for KDE
|
2017-02-16 03:07:27 +08:00 |
|
Reinhard Pointner
|
bdb1f96710
|
Experiment with Ubuntu Unity integration
|
2017-02-16 02:38:51 +08:00 |
|
Reinhard Pointner
|
176c7618da
|
Experiment with Ubuntu Unity integration
|
2017-02-16 02:22:52 +08:00 |
|
Reinhard Pointner
|
7ff425df83
|
StartupWMClass=net-filebot-Main
|
2017-02-16 01:35:04 +08:00 |
|
Reinhard Pointner
|
9a784d40d2
|
Experiment with Ubuntu Unity integration
|
2017-02-16 00:58:43 +08:00 |
|
Reinhard Pointner
|
085b4b6b9e
|
ms-windows-store://review/?ProductId=9NBLGGH52T9X
|
2017-02-15 16:59:03 +08:00 |
|
Reinhard Pointner
|
e15e69213b
|
Fix Locking <file> log message
|
2017-02-15 01:36:59 +08:00 |
|
Reinhard Pointner
|
133572f196
|
Hide constructor in utility classes
|
2017-02-14 21:26:04 +08:00 |
|
Reinhard Pointner
|
c423f00c8a
|
Refactor SubtitleFormat and add SAMI support (read-only)
|
2017-02-14 02:48:37 +08:00 |
|
Reinhard Pointner
|
ae96a2a55c
|
Refactor SubtitleFormat and add SAMI support (read-only)
|
2017-02-14 02:33:21 +08:00 |
|
Reinhard Pointner
|
3ac78751b6
|
Experiment with SAMI subtitles
|
2017-02-14 01:34:24 +08:00 |
|
Reinhard Pointner
|
c5e126a642
|
Throttle OMDb usage to 2 requests per 1 second
|
2017-02-13 06:42:24 +08:00 |
|
Reinhard Pointner
|
74ead4e36c
|
Make sure to debug log network errors
|
2017-02-12 21:54:00 +08:00 |
|
Reinhard Pointner
|
2946dae8c6
|
Throttle OMDb usage to 1 request per 1 second
|
2017-02-12 21:45:01 +08:00 |
|
Reinhard Pointner
|
8a9a6c62bb
|
groupingBy() does NOT preserve order by default (but we used to assume that it does)
|
2017-02-12 20:08:54 +08:00 |
|
Reinhard Pointner
|
b28e81ca1e
|
Support -non-strict in -list --q mode to fetch episodes for multiple results at once
|
2017-02-12 19:56:39 +08:00 |
|
Reinhard Pointner
|
2608cd7860
|
Make sure to preserve the original sort order (as returned by TheTVDB)
|
2017-02-12 19:09:31 +08:00 |
|
Reinhard Pointner
|
f8da07a171
|
Refactor Datasource.getName() / Datasource.getIdentifier()
|
2017-02-12 01:54:40 +08:00 |
|
Reinhard Pointner
|
c0b0c1c8a6
|
Show version in frame title when auto-update is not supported (e.g. MSI package)
|
2017-02-11 01:05:41 +08:00 |
|
Reinhard Pointner
|
699795e1d8
|
Lookup by ID only (to avoid TheMovieDB movie/tv mode conflicts)
|
2017-02-10 18:08:10 +08:00 |
|
Reinhard Pointner
|
e8cf185961
|
Remove unused code
|
2017-02-10 15:45:25 +08:00 |
|
Reinhard Pointner
|
3f24dc4c42
|
Use the com.sun.jna.platform additions that have been merged now
|
2017-02-09 18:41:01 +08:00 |
|
Reinhard Pointner
|
1391a2ffcb
|
Use normalizePathSeparators
|
2017-02-09 16:21:32 +08:00 |
|
Reinhard Pointner
|
35f975e29f
|
Added khz binding
|
2017-02-09 00:42:02 +08:00 |
|
Reinhard Pointner
|
1bcca0683a
|
Auto-generate FileBot API docs
|
2017-02-08 23:18:27 +08:00 |
|
Reinhard Pointner
|
b1557c7788
|
Refactor MovieInfo
|
2017-02-08 23:17:05 +08:00 |
|
Reinhard Pointner
|
6b6e9d3f6b
|
check for errors (e.g. <error>Banned</error>)
|
2017-02-08 13:38:10 +08:00 |
|
Reinhard Pointner
|
c0f7dc742e
|
Lock the format editor to movie/episode/music/file mode depending on your selected datasource
|
2017-02-07 19:23:00 +08:00 |
|
Reinhard Pointner
|
c701a20bbf
|
Run powershell -Command instead of cmd /c
|
2017-02-06 01:09:19 +08:00 |
|
Reinhard Pointner
|
ddf40be144
|
Improved behavior for -rename --q commands
|
2017-02-06 00:26:24 +08:00 |
|
Reinhard Pointner
|
2efc3c17fa
|
Run powershell -Command instead of cmd /c
|
2017-02-05 16:12:31 +08:00 |
|
Reinhard Pointner
|
407a7074e6
|
Run --def exec commands via powershell -Command instead of cmd /c (in order to support '...' and simple curl calls and gain a small amount of cross-platform compatibility)
|
2017-02-05 16:04:10 +08:00 |
|
Reinhard Pointner
|
55e211b3bd
|
Improved behavior for -rename --q commands
|
2017-02-05 02:07:35 +08:00 |
|
Reinhard Pointner
|
97bdf1c910
|
Improved error messages
|
2017-02-04 23:21:55 +08:00 |
|
Reinhard Pointner
|
97174d18bd
|
Fix NPE issues
|
2017-02-04 22:41:01 +08:00 |
|
Reinhard Pointner
|
b0a8a0bc48
|
{kbps} binding
|
2017-02-04 02:56:58 +08:00 |
|
Reinhard Pointner
|
ac67a9b1af
|
plex.derive{...} most not allow / injection into the file path
|
2017-02-04 02:56:00 +08:00 |
|
Reinhard Pointner
|
cc97f05a9e
|
~22% chance
|
2017-02-04 01:55:36 +08:00 |
|
Reinhard Pointner
|
1c66200aa3
|
// don't ask again for this version regardless of user choice
|
2017-02-04 01:41:13 +08:00 |
|
Reinhard Pointner
|
d6567cf119
|
// sometimes lucky if many files have been processed over time
|
2017-02-04 01:37:30 +08:00 |
|
Reinhard Pointner
|
f414f2519c
|
Refactor warning messages
|
2017-02-01 16:17:33 +08:00 |
|
Reinhard Pointner
|
343f6de4db
|
Refactor warning messages
|
2017-02-01 16:10:01 +08:00 |
|
Reinhard Pointner
|
ae8f7e0846
|
Refactor InvalidResponseException
|
2017-01-31 19:29:00 +08:00 |
|
Reinhard Pointner
|
df1c2ca7fd
|
Better error message when internal function calls fail
|
2017-01-31 00:23:17 +08:00 |
|
Reinhard Pointner
|
b44df59d55
|
Use internal logging for --log-file instead of copying stdio/stderr to file (which doesn't work for native code or sub-process console output anyway)
|
2017-01-28 19:07:12 +08:00 |
|
Reinhard Pointner
|
3fee8bed74
|
Improve error logging when renaming fails due to permission issues
|
2017-01-28 04:27:21 +08:00 |
|
Reinhard Pointner
|
ee96df22f5
|
Use internal logging for --log-file instead of copying stdio/stderr to file (which doesn't work for native code or sub-process console output anyway)
|
2017-01-28 01:22:46 +08:00 |
|
Reinhard Pointner
|
892e0d70fb
|
Added File.getTail()
e.g. {plex.tail}
|
2017-01-27 17:45:17 +08:00 |
|
Reinhard Pointner
|
ec0b0038e6
|
Improved errror messages for when TheTVDB is down and sends back invalid xml.
e.g.
```
<?xml version="1.0" encoding="UTF-8" ?>
Could not connect: Too many connections
```
|
2017-01-25 21:09:51 +08:00 |
|
Reinhard Pointner
|
86ce5e7e8c
|
More general grepTheTvdbId()
|
2017-01-25 20:14:54 +08:00 |
|
Reinhard Pointner
|
a9cf202540
|
More general grepTheTvdbId()
|
2017-01-25 05:22:07 +08:00 |
|