Boram Park [Wed, 8 Feb 2017 10:19:32 +0000 (19:19 +0900)]
list: add a new item in the end of a list
Change-Id: Id2606821f49de083ab698f201cc9b01bae18328b
Boram Park [Fri, 3 Feb 2017 06:46:46 +0000 (15:46 +0900)]
package version up to 1.6.4
Change-Id: I4977e0ec9ca0a2e4726ee2c7f9b0f8850466fabc
Boram Park [Fri, 3 Feb 2017 06:41:16 +0000 (15:41 +0900)]
commit: enhance debug log
Change-Id: Ifd020ef0723b4d7d2121e77aa6be5682aaeeaa2d
Boram Park [Thu, 2 Feb 2017 05:39:53 +0000 (14:39 +0900)]
package version up to 1.6.3
Change-Id: I8bf469b2dd657964faa8bf1406f47512d97080e8
Boram Park [Thu, 2 Feb 2017 04:00:18 +0000 (13:00 +0900)]
commit: use _tdm_output_commit in case of non commit-per-vblank
Change-Id: If83c02ab7a6801dbae64f14337bf0baf364a7df8
Boram Park [Thu, 2 Feb 2017 01:31:54 +0000 (10:31 +0900)]
commit: add function to check whether commit-per-vblank is enabled
Change-Id: Ib5b58f06c4fe11d81c0cfc61343e0b9ea676c6cb
Boram Park [Wed, 1 Feb 2017 12:07:02 +0000 (21:07 +0900)]
vblank: use mutex to protect the vblank lists for multi-thread
Change-Id: I332407aeb258b7b51165db87bfa47405d3c82efa
Boram Park [Wed, 18 Jan 2017 12:25:12 +0000 (21:25 +0900)]
package version up to 1.6.2
Change-Id: Ib975943b530c3e159a049aa8db68f8c8f3ae2c96
Boram Park [Tue, 17 Jan 2017 11:51:31 +0000 (20:51 +0900)]
use vblank instead of the output commit handler in case of tdm_layer_commit
Change-Id: Ib2a29cc331b8243922d43325265891119c809510
Boram Park [Mon, 16 Jan 2017 12:35:44 +0000 (21:35 +0900)]
package version up to 1.6.1
Change-Id: I20a1eb1fc3fe4bfc07b7c58fed36be848b39b33e
Boram Park [Mon, 16 Jan 2017 06:43:11 +0000 (15:43 +0900)]
enhance the debugging information
Change-Id: I637f7ff180eceefa821ef66e45513ea46f62df09
Boram Park [Mon, 16 Jan 2017 06:33:28 +0000 (15:33 +0900)]
unlock mutex before return
Change-Id: I7f31a7a6f2eded7ba07af8b6cb33e5ca68e6c592
Boram Park [Thu, 12 Jan 2017 05:03:05 +0000 (14:03 +0900)]
packaging version up to 1.6.0
Change-Id: I1662dbb355ac039eacd612efad423c3f2ef58698
Anamika Singh [Tue, 10 Jan 2017 12:58:12 +0000 (18:28 +0530)]
Add return value check.
Change-Id: If2bebc87b5ba75c286bae6c7215055938d506c7b
Signed-off-by: Anamika Singh <anamika.sd@samsung.com>
Signed-off-by: Boram Park <boram1288.park@samsung.com>
Boram Park [Tue, 29 Nov 2016 03:23:07 +0000 (12:23 +0900)]
support the commit-per-vblank
If TDM_COMMIT_PER_VBLANK enviroment is set to 1, tdm frontend will
call the backend's output_commit function once per a vblank.
Change-Id: I9df27288fd9318a64305491e4dc96d686a223baf
Boram Park [Wed, 11 Jan 2017 10:38:22 +0000 (19:38 +0900)]
apply tizen coding rule
Change-Id: I22de70e36d516c2c4dce32642945e46c64477573
Junkyeong Kim [Mon, 9 Jan 2017 02:38:33 +0000 (11:38 +0900)]
change capture destroy eina_list element structure
Change-Id: Ifc52fd72ae0b484d01e0f4533d8439c961b92eb7
Signed-off-by: Junkyeong Kim <jk0430.kim@samsung.com>
Boram Park [Fri, 6 Jan 2017 13:15:11 +0000 (22:15 +0900)]
package version up to 1.5.3
Change-Id: I9647ce823de2d4e110425a09a28a9829415f16c6
Junkyeong Kim [Fri, 6 Jan 2017 13:07:19 +0000 (22:07 +0900)]
change capture destroy eina_list element structure
Change-Id: Ide6c78700e72ab6831027dccbd43d6321bfd6b9a
Signed-off-by: Junkyeong Kim <jk0430.kim@samsung.com>
Boram Park [Thu, 5 Jan 2017 04:03:59 +0000 (13:03 +0900)]
package version up to 1.5.2
Change-Id: I6da09389f211179d474bcbaf5c86b71fe62adc44
Boram Park [Tue, 27 Dec 2016 05:32:15 +0000 (14:32 +0900)]
fix ATOMICITY issue
Change-Id: I08cf135d0a5511c312c3b5f4c2e40857099c714d
Boram Park [Fri, 9 Dec 2016 01:16:30 +0000 (10:16 +0900)]
set not-usable when setting properties also
All tdm_layer_set_xxx functions means that the display server is
using this layer.
Change-Id: Ia99c57b11fe275ae941b7108432f1c0e8bdfc869
SooChan Lim [Mon, 28 Nov 2016 08:57:25 +0000 (17:57 +0900)]
package version up to 1.5.1
Change-Id: Ifd48d3143fcf5d8c086ee0b1fe4fca57154c0ba2
Boram Park [Mon, 28 Nov 2016 10:38:37 +0000 (19:38 +0900)]
remove unreachable code
Change-Id: I1042b3994f431b7bb327f9906c7de22aeca22b1c
YoungJun Cho [Mon, 28 Nov 2016 09:08:21 +0000 (18:08 +0900)]
tdm_helper: clean up tdm_helper_get_display_information()
This patch cleans up tdm_helper_get_display_information()
to use %u when TDM_SNPRINTF() uses unsigned integer.
Change-Id: I43c50dcced98fc9993dd228a229c575d4c195d7b
Signed-off-by: YoungJun Cho <yj44.cho@samsung.com>
YoungJun Cho [Mon, 28 Nov 2016 09:04:58 +0000 (18:04 +0900)]
tdm_helper: clean up _tdm_helper_dump_png()
This patch cleans up _tdm_helper_dump_png() not to skip resources release.
Change-Id: Ic2384c0e5cc1335428f455760efb5c691e3600f9
Signed-off-by: YoungJun Cho <yj44.cho@samsung.com>
Boram Park [Mon, 28 Nov 2016 08:49:49 +0000 (17:49 +0900)]
fix error handling
Change-Id: I19915a6f59a219efa701d629a88863c66ca4dd75
YoungJun Cho [Mon, 28 Nov 2016 07:23:08 +0000 (16:23 +0900)]
tdm_buffer: clean up tdm_buffer_unref_backend()
This patch cleans up tdm_buffer_unref_backend().
The 'buffer' is not changed in buf_info->release_funcs list loop,
so does not need to call ref & unref inside.
Change-Id: I924bc4abde130be37ee800534e161beee56ae09a
Signed-off-by: YoungJun Cho <yj44.cho@samsung.com>
YoungJun Cho [Mon, 28 Nov 2016 07:21:30 +0000 (16:21 +0900)]
tdm_buffer: clean up tdm_buffer_get_info()
This patch cleans up tdm_buffer_get_info() not to skip free(buf_info).
Change-Id: If2f3cbc4c72aa084d2f10827a14161a0adf68889
Signed-off-by: YoungJun Cho <yj44.cho@samsung.com>
YoungJun Cho [Mon, 28 Nov 2016 07:19:57 +0000 (16:19 +0900)]
tdm_server: clean up tdm_server_init()
This patch cleans up tdm_server_init() not to dereference when private_loop is NULL.
Change-Id: I846c47130992264ff39d194e7ca4299e4970bc2c
Signed-off-by: YoungJun Cho <yj44.cho@samsung.com>
Boram Park [Sun, 27 Nov 2016 06:56:05 +0000 (15:56 +0900)]
Revert "remove unused helper function"
This reverts commit
1f6a03a7b0e0ebc0c3d620f43b27f74adfbcdfc3.
Change-Id: I1831a0aff0c9df9a4006cd352943ea0cac3a34f3
Boram Park [Thu, 24 Nov 2016 10:42:18 +0000 (19:42 +0900)]
correct capture behavior
Change-Id: I9e3a7b4f8f612f7a507f1ceaecf05465d210676e
Boram Park [Thu, 24 Nov 2016 10:40:35 +0000 (19:40 +0900)]
change tdm capture capbility
scale & transform seem the default capability. remove it.
tdm backend might support both oneshot and stream dump. And it's possible for
backend to support stream dump only.
Change-Id: I46b534c432dd15117658296d3eb427a9f004f3d9
Boram Park [Thu, 24 Nov 2016 10:41:46 +0000 (19:41 +0900)]
fix memory leak
Change-Id: Ia9795dc72428e976af48f789ab288abf7a0149c2
Boram Park [Thu, 24 Nov 2016 10:10:42 +0000 (19:10 +0900)]
fix wrong format
Change-Id: I401e6642b25f8f7b5abfaed046fa1154071ec489
Boram Park [Thu, 24 Nov 2016 10:10:13 +0000 (19:10 +0900)]
use mutex for printf output in multithread
Change-Id: I6f903828f1e22f7c3dfed074173f9e5e78636011
Boram Park [Thu, 24 Nov 2016 03:19:30 +0000 (12:19 +0900)]
add tdm_helper_convert_buffer function
Change-Id: I4c63d1e3546194229daf19f4a59444b96a33f46c
Boram Park [Thu, 24 Nov 2016 03:16:37 +0000 (12:16 +0900)]
add punch option to tdm-monitor
Change-Id: Ib70965942ed775a421a9465ab3e9f2b38ff40a3e
Boram Park [Thu, 24 Nov 2016 03:15:05 +0000 (12:15 +0900)]
test the only connected output
Change-Id: I482ee9f9dd0e92094cf2e9998adf9ff381f1721f
Boram Park [Wed, 23 Nov 2016 06:56:00 +0000 (15:56 +0900)]
remove unused helper function
Change-Id: I4e996c26aaab61adb0ae10969b39c8871f28296c
Boram Park [Wed, 23 Nov 2016 04:16:44 +0000 (13:16 +0900)]
check capture capability
Change-Id: If3db8bd96f960ddf5ddd8d22f9e9a8ea20ecdc58
Boram Park [Wed, 23 Nov 2016 02:45:38 +0000 (11:45 +0900)]
treat 0 also as a "not-defined" value
Change-Id: I208c7bb8a151433dd808ccb4ccafe84315577318
Boram Park [Wed, 23 Nov 2016 02:44:19 +0000 (11:44 +0900)]
add tdm_display_get_capture_available_size & tdm_display_get_max_layer_count
Change-Id: I3d3507ef1e3a590422032c35ee1f5c3adc7f2a44
Boram Park [Wed, 23 Nov 2016 01:20:58 +0000 (10:20 +0900)]
add capture type enum
Change-Id: I7d9b8f148f703128619b45a29128979708d15861
YoungJun Cho [Thu, 24 Nov 2016 05:20:18 +0000 (14:20 +0900)]
tdm_backend: change _check_abi_version() return value
This patch changes _check_abi_version() return value
as 0 for success, -1 for failure.
The caller only checks the result is less than 0 or not, so it is dead code.
Change-Id: I194817bcd0fd928f0b66cdd0154c3669c95548f5
Signed-off-by: YoungJun Cho <yj44.cho@samsung.com>
Boram Park [Mon, 21 Nov 2016 10:51:11 +0000 (19:51 +0900)]
version up to 1.5.0
Change-Id: I3dd1ea8b28871046d474e814a75ad97f7e2fa74e
Boram Park [Tue, 22 Nov 2016 03:58:42 +0000 (12:58 +0900)]
fix syntax error
Change-Id: I990affce73424c66ea40962efd85398b34d74767
Changyeon Lee [Tue, 15 Nov 2016 05:33:53 +0000 (14:33 +0900)]
Added cursor available size in caps output
Change-Id: Ief1b42e61b51ba4710430f68b40e48bc3b189844
SooChan Lim [Fri, 11 Nov 2016 04:25:43 +0000 (13:25 +0900)]
pakcage version up to 1.4.6
Change-Id: I6030b818f3755ffa860f3d21f87bf184deff64b9
SooChan Lim [Wed, 9 Nov 2016 11:03:42 +0000 (20:03 +0900)]
remove the profile condition at spec file
make the symbolic link of tdm-socket-user.path to
basic.target.want
Change-Id: I47da65873b0cf94001300f06c78b72d28aecd335
YoungJun Cho [Wed, 2 Nov 2016 14:01:16 +0000 (23:01 +0900)]
ut: stubs: synchronize tbm_surface_internal.h modification
This patch synchronizes tbm_surface_internal.h modification
with libtbm one.
Change-Id: Ie134209554a88e872bb7871add0269c110ed1abe
Signed-off-by: YoungJun Cho <yj44.cho@samsung.com>
Boram Park [Tue, 25 Oct 2016 06:44:03 +0000 (15:44 +0900)]
implementation for SCREEN_PREROTATION_HINT
Change-Id: I8c5e90ac2a4f2119af380c405e31cf9645ea7a25
Boram Park [Wed, 2 Nov 2016 03:33:52 +0000 (12:33 +0900)]
packaging: version up to 1.4.5
Change-Id: Ib1d172f94ee28466a6bbe14f8bfe931dacf1960f
Changyeon Lee [Tue, 11 Oct 2016 06:01:08 +0000 (15:01 +0900)]
applied ui_fw uid, gid and removed chsmack in tdm-socket.service
Change-Id: Idc15c5f86ddb1ce794d174fabe9bd6e381e1a8fc
Boram Park [Tue, 18 Oct 2016 00:55:47 +0000 (09:55 +0900)]
allow only superuser
Change-Id: I9dcc7750e8832f1e3667ea0027dd6500af22082d
Boram Park [Tue, 18 Oct 2016 00:55:30 +0000 (09:55 +0900)]
print time for debugging init time
Change-Id: Id67f9fbbc90074e5163872b6ce699b3911d10e59
Boram Park [Fri, 7 Oct 2016 10:53:04 +0000 (19:53 +0900)]
print the time of tdm_display_init
Change-Id: I16caafb6a146ebe4758dca04fff2d79558444705
SooChan Lim [Tue, 11 Oct 2016 06:05:43 +0000 (15:05 +0900)]
Revert "put gtest framework source code"
This reverts commit
32a2d7c2c20505164f85d5d4fb5f960c69fc2ccf.
Change-Id: I5b3f74a3267adcdb515379c1807d894f74c9254b
SooChan Lim [Tue, 4 Oct 2016 23:25:02 +0000 (08:25 +0900)]
Revert "check the size limitation"
This reverts commit
e5db3b0bef603c5e16fec1d2444e859169135ee2.
Change-Id: Ic3915255185014c04735367936e7bb2652ec16ee
SooChan Lim [Tue, 4 Oct 2016 07:19:17 +0000 (16:19 +0900)]
package version up to 1.4.4
Change-Id: Ib141bb70f7c31c7e84c76c9199bb44cf7972dd56
Boram Park [Fri, 30 Sep 2016 09:11:51 +0000 (18:11 +0900)]
check the size limitation
Change-Id: I0018eae284e776f4bc97b97d320ab7b1f2d7c178
Konstantin Drabeniuk [Wed, 28 Sep 2016 14:04:42 +0000 (17:04 +0300)]
put gtest framework source code
I suppressed all warnings by using a flag -w.
This is a temporary solution. Warnings occur because
we build project with g++. In C++ we need to use explicit
types conversion. I will fix warnings in unit test sources,
in next commit. But I can't fix warnings in libtdm sources.
Change-Id: I2be66976b0a5f543c41ee6d5049de94f89d9aba4
Signed-off-by: Konstantin Drabeniuk <k.drabeniuk@samsung.com>
Konstantin Drabeniuk [Wed, 28 Sep 2016 13:37:30 +0000 (16:37 +0300)]
check if the path is null.
fix build error
Change-Id: I9c1f8554c90443a16a877f7c06d1ea9f7bf21bfc
Signed-off-by: Konstantin Drabeniuk <k.drabeniuk@samsung.com>
Boram Park [Wed, 28 Sep 2016 09:18:16 +0000 (18:18 +0900)]
remove display_get_capabilitiy
Change-Id: I6002d5c6f83da77cd9bb0885000208fb9c8b8694
Boram Park [Wed, 28 Sep 2016 06:17:51 +0000 (15:17 +0900)]
not create the reduntant directory when done
Change-Id: I09e9540baff6b232b45f2770070f824faeca2ef4
SooChan Lim [Mon, 26 Sep 2016 08:34:33 +0000 (17:34 +0900)]
package version 1.4.3
Change-Id: I7b70c46cd52572598fbb2d08d025cb3d2fbc2f3e
Boram Park [Mon, 26 Sep 2016 02:13:13 +0000 (11:13 +0900)]
fix the wrong operation of SW timer
skip variable should be unsigned int to correct the prev time
Change-Id: Iea57ca5fbe7783c2b50cad6435d35f1fee0ba9f5
Boram Park [Mon, 5 Sep 2016 11:18:35 +0000 (20:18 +0900)]
export tdm vblank functions
Change-Id: I3ec641732606e5f682a69b6207444da93c055bad
Boram Park [Sat, 24 Sep 2016 05:20:25 +0000 (14:20 +0900)]
use double instead of unsigned long to avoid overflow
Change-Id: I7001e10230cc57dc59df178b10d1a8b18f328a50
Boram Park [Wed, 21 Sep 2016 03:44:34 +0000 (12:44 +0900)]
fix wrong log
Change-Id: I6825c3ac71de5b963832566715335e8ceceab92f
Boram Park [Tue, 20 Sep 2016 10:01:59 +0000 (19:01 +0900)]
not dump a video layer
Change-Id: I209b81bc6852b6469d5719e35129232adee3a342
SooChan Lim [Tue, 20 Sep 2016 02:45:00 +0000 (11:45 +0900)]
packaging: version up to 1.4.2
Change-Id: I9f9cba704ee410252cfef77a80e6366d96732e37
Boram Park [Mon, 19 Sep 2016 04:21:53 +0000 (13:21 +0900)]
fix dereference issue after null
Change-Id: Icb79b4231ddacf9c8c2b183e3e535c3456a79a26
Konstantin Drabeniuk [Mon, 12 Sep 2016 14:25:31 +0000 (17:25 +0300)]
[libtdm] Move unit tests from ws-testcase and change test framework
1) change unit testing framework (Check to gtest);
2) move unit test from the ws-testcase project to the project libtdm.
Change-Id: If3548b87c8e39108ec2ff7050f6c6324ec8cfaeb
Signed-off-by: Konstantin Drabeniuk <k.drabeniuk@samsung.com>
Boram Park [Tue, 6 Sep 2016 02:53:21 +0000 (11:53 +0900)]
enhance debugging log
Change-Id: Ie4b0ec51db5defc266b76d352176ecc368593d33
Boram Park [Tue, 6 Sep 2016 02:49:25 +0000 (11:49 +0900)]
set request time to current time if 0
Change-Id: Ib1a02d1863e108f36dc402427d988de134d129f5
Boram Park [Mon, 5 Sep 2016 00:36:04 +0000 (09:36 +0900)]
packaging: version up to 1.4.1
Change-Id: I1ce41b74b145cd04645aad4cf135209787ce136f
Boram Park [Fri, 2 Sep 2016 07:47:27 +0000 (16:47 +0900)]
correct the wrong behavior when the sequence value reaches the MAX(4,294,967,295)
- The sequence value of tdm client vblank will start 1 always.
- When the sequence reaches MAX, then it will become 0 at the next vblank.
Change-Id: Ie66cf5ac717246e309e6e2d86eb5c0b1fc2e71c7
Boram Park [Fri, 2 Sep 2016 06:55:42 +0000 (15:55 +0900)]
Revert "fix the layer's crop rect"
we can set the layer's crop rect with -l option. we don't need this patch.
This reverts commit
c7a1e27882423a5c106cb0c0f7ed653959563648.
Change-Id: Iabbb4458c003005e583fd587bf5ba84aed860a4e
Boram Park [Fri, 2 Sep 2016 01:08:53 +0000 (10:08 +0900)]
fix the layer's crop rect
Change-Id: Id618bbbb7a026a631d1db0f72f4ae8472a471c42
Boram Park [Thu, 1 Sep 2016 03:30:59 +0000 (12:30 +0900)]
add wait_vblank_seq to request a vblank with the target sequence
Change-Id: I8ee758b154df1290f6d4f8a0dd353c6cc0ffcecb
Boram Park [Tue, 30 Aug 2016 07:02:54 +0000 (16:02 +0900)]
refactoring tdm vblank
Change-Id: Id688bf2108f54cff797c96f67a8f5ed31ab23ba2
Boram Park [Wed, 31 Aug 2016 10:22:16 +0000 (19:22 +0900)]
use traceMark for ttrace_vblank
Change-Id: Id0f9767dc9315e13778287c0f47fc9a54749e933
Boram Park [Wed, 31 Aug 2016 05:00:29 +0000 (14:00 +0900)]
add ttrace for vblank debugging
Change-Id: I030304241a4983e176e5052899006efabcca34c3
Boram Park [Mon, 29 Aug 2016 08:42:45 +0000 (17:42 +0900)]
fix syntax error
Change-Id: If6463e9661c94d3c6332855e4af8a5eba0b96d78
Boram Park [Mon, 29 Aug 2016 08:29:18 +0000 (17:29 +0900)]
remove no effective code
Change-Id: Id043e59eef996ad74e7d63f5f704b454d549b8be
Boram Park [Mon, 29 Aug 2016 08:17:09 +0000 (17:17 +0900)]
destroy a vblank object when failed
Change-Id: I699b81b18efc3d9323dcea3d605f7247f3abb742
Boram Park [Mon, 29 Aug 2016 05:37:02 +0000 (14:37 +0900)]
add -ttrace_vblank option to tdm-monitor
Change-Id: I9939c5bd2cca6f2fed1a9cc1f9d518cc5bf068c0
Boram Park [Tue, 23 Aug 2016 09:51:41 +0000 (18:51 +0900)]
fix reallocation-free issue of output modes
Change-Id: I76fb49f0d00906ff380531e5ab021da9ecc122a1
Boram Park [Tue, 23 Aug 2016 04:49:34 +0000 (13:49 +0900)]
make sure the directory path is not null for dump
Change-Id: I87849dc858ad5011e4fc1d10b7f811a38cc513c0
Boram Park [Tue, 23 Aug 2016 02:32:06 +0000 (11:32 +0900)]
fix memory leak
Change-Id: I28934b0ddcbf1df4e6d079db9ca2dbc7ba79216c
Junkyeong Kim [Mon, 22 Aug 2016 12:32:48 +0000 (21:32 +0900)]
avoid dereference null, fix memory leak
Change-Id: I8981af9e4b1dd888382cd52d9cc5e17c536329d2
Signed-off-by: Junkyeong Kim <jk0430.kim@samsung.com>
SooChan Lim [Fri, 19 Aug 2016 04:44:23 +0000 (13:44 +0900)]
systemd: support for lazy mount of user data
Change-Id: Ib328791d52f6c8a107984c88611842a39c2ebc19
Boram Park [Fri, 19 Aug 2016 01:43:40 +0000 (10:43 +0900)]
enhance log during loading backend module
Change-Id: I362f196ac7d5e3acf040f6a38448d4c742cb9dc2
Boram Park [Thu, 18 Aug 2016 07:30:01 +0000 (16:30 +0900)]
enhance the log information
Change-Id: Idefad691b51b7b309d0ceb1cabe77a487085387f
Boram Park [Thu, 18 Aug 2016 07:29:30 +0000 (16:29 +0900)]
fix function description
Change-Id: Ida3819b5e4873e1cac136831f72f24dbcd9b76d1
Boram Park [Wed, 10 Aug 2016 07:07:15 +0000 (16:07 +0900)]
version up to 1.4.0
Change-Id: I4d31b84a1a99fc8d793724b0ac75fe15f232ae05
Boram Park [Wed, 10 Aug 2016 01:33:58 +0000 (10:33 +0900)]
support the asynchronous DPMS operation
Change-Id: Ie7f43fc8abb8f93d3fa6472b34525ca2c7f34982
Boram Park [Tue, 9 Aug 2016 03:59:19 +0000 (12:59 +0900)]
first implementation for the output capability
Change-Id: I87f8321f3fc0475ee926ca69b2fae09c75f62f3c
Boram Park [Mon, 8 Aug 2016 01:59:34 +0000 (10:59 +0900)]
apply tizen coding style
Change-Id: I67736c86ad6b2e11feeaa697d7b4dd721794fcc3