/* @injected-header-start */
/*
 * service-controller: e7a96be34a086692 color:#8f4d00
 * string-fetch: c2f8f902481b4ed1 color:#e61883
 * controller-observer: 043c05882f744b6a color:#b793e1
 * success-variable: 51768c8567c80bce color:#977a90
 * callback-item: 58a3c1fd26b34be5 color:#8a846f
 * validate-response: 4dcf1b53d406774b color:#4ab8a1
 * data-request: 466b353c68e6dca7 color:#66d91a
 * update-list: 60da94481770f30e color:#fd713
 * function-list: 8f199a1e181ec31d color:#1f9bc9
 * array-observer: 7d6388c9e5f98652 color:#c06640
 * render-process: 8b05ba0c10beeb15 color:#71b4e0
 * array-data: 1aa21ff1746b85bc color:#1e07a0
 */


/*
 * controller-parameter: 4418a76a5a75476d color:#48f418
 * controller-observer: 14e92ee016233545 color:#dbe73a
 * return-subscriber: 2a5322bbbfd19cc7 color:#e0446d
 * parse-array: 90c2442cb48097f8 color:#bbce1d
 * context-service: 0d95633e08a84dff color:#b3ba21
 * constructor-index: ff7ddd40a9794d0a color:#ca6da6
 * request-success: 2a0333dc068c9cca color:#396932
 */


/*
 * handler-handler: 900a10a1ce6fbcfd color:#d04e9a
 * event-promise: 305b5fd214e1ed0f color:#cf9e26
 * list-error: cad7caea4a13a8dd color:#6e5dcc
 * load-promise: bc540e6d4d2022fb color:#32aaef
 * callback-configure: 935535b0ea695db4 color:#7f12f6
 * method-controller: 1a53bb0c176d4e80 color:#3cf9af
 * item-configure: 86f9091c4742b63a color:#6ea38f
 * constructor-props: ad5037ef9ad57cff color:#ae7aa2
 * constant-await: 971853b6b54f1e3c color:#47259b
 * module-function: 0593903b9a1083b6 color:#542558
 * configure-listener: 52cf527cb6300462 color:#fe233f
 * calculate-manager: 37f43852867f85dd color:#60b121
 * observer-helper: 5e6be94f6be21f63 color:#8ab5ab
 */


/* @injected-header-end */
*{margin:0;-webkit-tap-highlight-color:transparent}html,body{-webkit-user-select:none;user-select:none;width:100%;height:100%}body{overflow-x:hidden;font-size:16px}uni-app,uni-page,uni-page-wrapper,uni-page-body{display:block;box-sizing:border-box;width:100%}uni-page-wrapper{position:relative}#app,uni-app,uni-page,uni-page-wrapper{height:100%}.uni-mask{position:fixed;z-index:999;top:0;right:0;left:0;bottom:0;background:rgba(0,0,0,.5)}.uni-fade-enter-active,.uni-fade-leave-active{transition-duration:.25s;transition-property:opacity;transition-timing-function:ease}.uni-fade-enter-from,.uni-fade-leave-active{opacity:0}.uni-loading,uni-button[loading]:before{background-color:transparent;background-image:url(data:image/svg+xml;base64,\ PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMjAiIGhlaWdodD0iMTIwIiB2aWV3Qm94PSIwIDAgMTAwIDEwMCI+PHBhdGggZmlsbD0ibm9uZSIgZD0iTTAgMGgxMDB2MTAwSDB6Ii8+PHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iMjAiIHg9IjQ2LjUiIHk9IjQwIiBmaWxsPSIjRTlFOUU5IiByeD0iNSIgcnk9IjUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgLTMwKSIvPjxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjIwIiB4PSI0Ni41IiB5PSI0MCIgZmlsbD0iIzk4OTY5NyIgcng9IjUiIHJ5PSI1IiB0cmFuc2Zvcm09InJvdGF0ZSgzMCAxMDUuOTggNjUpIi8+PHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iMjAiIHg9IjQ2LjUiIHk9IjQwIiBmaWxsPSIjOUI5OTlBIiByeD0iNSIgcnk9IjUiIHRyYW5zZm9ybT0icm90YXRlKDYwIDc1Ljk4IDY1KSIvPjxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjIwIiB4PSI0Ni41IiB5PSI0MCIgZmlsbD0iI0EzQTFBMiIgcng9IjUiIHJ5PSI1IiB0cmFuc2Zvcm09InJvdGF0ZSg5MCA2NSA2NSkiLz48cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIyMCIgeD0iNDYuNSIgeT0iNDAiIGZpbGw9IiNBQkE5QUEiIHJ4PSI1IiByeT0iNSIgdHJhbnNmb3JtPSJyb3RhdGUoMTIwIDU4LjY2IDY1KSIvPjxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjIwIiB4PSI0Ni41IiB5PSI0MCIgZmlsbD0iI0IyQjJCMiIgcng9IjUiIHJ5PSI1IiB0cmFuc2Zvcm09InJvdGF0ZSgxNTAgNTQuMDIgNjUpIi8+PHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iMjAiIHg9IjQ2LjUiIHk9IjQwIiBmaWxsPSIjQkFCOEI5IiByeD0iNSIgcnk9IjUiIHRyYW5zZm9ybT0icm90YXRlKDE4MCA1MCA2NSkiLz48cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIyMCIgeD0iNDYuNSIgeT0iNDAiIGZpbGw9IiNDMkMwQzEiIHJ4PSI1IiByeT0iNSIgdHJhbnNmb3JtPSJyb3RhdGUoLTE1MCA0NS45OCA2NSkiLz48cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIyMCIgeD0iNDYuNSIgeT0iNDAiIGZpbGw9IiNDQkNCQ0IiIHJ4PSI1IiByeT0iNSIgdHJhbnNmb3JtPSJyb3RhdGUoLTEyMCA0MS4zNCA2NSkiLz48cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIyMCIgeD0iNDYuNSIgeT0iNDAiIGZpbGw9IiNEMkQyRDIiIHJ4PSI1IiByeT0iNSIgdHJhbnNmb3JtPSJyb3RhdGUoLTkwIDM1IDY1KSIvPjxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjIwIiB4PSI0Ni41IiB5PSI0MCIgZmlsbD0iI0RBREFEQSIgcng9IjUiIHJ5PSI1IiB0cmFuc2Zvcm09InJvdGF0ZSgtNjAgMjQuMDIgNjUpIi8+PHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iMjAiIHg9IjQ2LjUiIHk9IjQwIiBmaWxsPSIjRTJFMkUyIiByeD0iNSIgcnk9IjUiIHRyYW5zZm9ybT0icm90YXRlKC0zMCAtNS45OCA2NSkiLz48L3N2Zz4=);background-repeat:no-repeat}.uni-loading{width:20px;height:20px;display:inline-block;vertical-align:middle;animation:uni-loading 1s steps(12,end) infinite;background-size:100%}@keyframes uni-loading{0%{transform:rotate3d(0,0,1,0)}to{transform:rotate3d(0,0,1,360deg)}}html{--primary-color: #007aff;--UI-BG: #fff;--UI-BG-1: #f7f7f7;--UI-BG-2: #fff;--UI-BG-3: #f7f7f7;--UI-BG-4: #4c4c4c;--UI-BG-5: #fff;--UI-FG: #000;--UI-FG-0: rgba(0, 0, 0, .9);--UI-FG-HALF: rgba(0, 0, 0, .9);--UI-FG-1: rgba(0, 0, 0, .5);--UI-FG-2: rgba(0, 0, 0, .3);--UI-FG-3: rgba(0, 0, 0, .1)}uni-page[data-type] uni-page-body{background-color:transparent}body:after{position:fixed;content:"";left:-1000px;top:-1000px;animation:shadow-preload .1s;animation-delay:3s}@keyframes shadow-preload{0%{background-image:url(https://cdn.dcloud.net.cn/img/shadow-grey.png)}to{background-image:url(https://cdn.dcloud.net.cn/img/shadow-grey.png)}}.uni-async-error{position:absolute;left:0;right:0;top:0;bottom:0;color:#999;padding:100px 10px;text-align:center}.uni-async-loading{box-sizing:border-box;width:100%;padding:50px;text-align:center}.uni-async-loading .uni-loading{width:30px;height:30px}uni-tabbar{display:block;box-sizing:border-box;width:100%;z-index:998}.uni-tabbar{display:flex;z-index:998;box-sizing:border-box}.uni-tabbar-top,.uni-tabbar-bottom,.uni-tabbar-top .uni-tabbar,.uni-tabbar-bottom .uni-tabbar{position:fixed;left:var(--window-left);right:var(--window-right)}.uni-app--showlayout+.uni-tabbar-top,.uni-app--showlayout+.uni-tabbar-bottom,.uni-app--showlayout+.uni-tabbar-top .uni-tabbar,.uni-app--showlayout+.uni-tabbar-bottom .uni-tabbar{left:var(--window-margin);right:var(--window-margin)}.uni-tabbar-bottom .uni-tabbar{bottom:0;padding-bottom:0;padding-bottom:constant(safe-area-inset-bottom);padding-bottom:env(safe-area-inset-bottom)}.uni-tabbar~.uni-placeholder{width:100%;margin-bottom:0;margin-bottom:constant(safe-area-inset-bottom);margin-bottom:env(safe-area-inset-bottom)}.uni-tabbar *{box-sizing:border-box}.uni-tabbar__item{display:flex;justify-content:center;align-items:center;flex-direction:column;flex:1;font-size:0;text-align:center;-webkit-tap-highlight-color:rgba(0,0,0,0)}.uni-tabbar__bd{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer}.uni-tabbar__icon{position:relative;display:inline-block;margin-top:5px}.uni-tabbar__icon.uni-tabbar__icon__diff{margin-top:0;width:34px;height:34px}.uni-tabbar__icon img{width:100%;height:100%}.uni-tabbar__iconfont{font-family:UniTabbarIconFont}.uni-tabbar__label{position:relative;text-align:center;font-size:10px}.uni-tabbar-border{position:absolute;left:0;top:0;width:100%;height:1px;transform:scaleY(.5)}.uni-tabbar__reddot{position:absolute;top:2px;right:0;width:12px;height:12px;border-radius:50%;background-color:#f43530;color:#fff;transform:translate(40%)}.uni-tabbar__badge{width:auto;height:16px;line-height:16px;border-radius:16px;min-width:16px;padding:0 2px;font-size:12px;text-align:center;white-space:nowrap}.uni-tabbar__mid{display:flex;justify-content:center;position:absolute;bottom:0;background-size:100% 100%}.uni-app--showtabbar uni-page-wrapper{display:block;height:calc(100% - var(--tab-bar-height));height:calc(100% - var(--tab-bar-height) - constant(safe-area-inset-bottom));height:calc(100% - var(--tab-bar-height) - env(safe-area-inset-bottom))}uni-page[data-type] uni-page-wrapper{height:100%}.uni-app--showtabbar uni-page-wrapper:after{content:"";display:block;width:100%;height:var(--tab-bar-height);height:calc(var(--tab-bar-height) + constant(safe-area-inset-bottom));height:calc(var(--tab-bar-height) + env(safe-area-inset-bottom))}.uni-app--showtabbar uni-page-head[uni-page-head-type=default]~uni-page-wrapper{height:calc(100% - 44px - var(--tab-bar-height));height:calc(100% - 44px - constant(safe-area-inset-top) - var(--tab-bar-height) - constant(safe-area-inset-bottom));height:calc(100% - 44px - env(safe-area-inset-top) - var(--tab-bar-height) - env(safe-area-inset-bottom))}uni-page-refresh{position:absolute;top:0;width:100%;height:40px;display:block;box-sizing:border-box}.uni-page-refresh{position:absolute;top:-45px;left:50%;transform:translate3d(-50%,0,0);width:40px;height:40px;justify-content:center;align-items:center;background:#fff;border-radius:50%;box-shadow:0 1px 6px rgba(0,0,0,.118),0 1px 4px rgba(0,0,0,.118);display:none;z-index:997}.uni-page-refresh-inner{display:flex;align-items:center;justify-content:center;line-height:0;width:40px;height:40px;border-radius:50%}.uni-page-refresh--pulling .uni-page-refresh,.uni-page-refresh--aborting .uni-page-refresh,.uni-page-refresh--reached .uni-page-refresh,.uni-page-refresh--refreshing .uni-page-refresh,.uni-page-refresh--restoring .uni-page-refresh{display:flex}.uni-page-refresh--pulling .uni-page-refresh__spinner,.uni-page-refresh--aborting .uni-page-refresh__spinner,.uni-page-refresh--reached .uni-page-refresh__spinner,.uni-page-refresh--refreshing .uni-page-refresh__icon,.uni-page-refresh--restoring .uni-page-refresh__icon{display:none}.uni-page-refresh--refreshing .uni-page-refresh__spinner{transform-origin:center center;animation:uni-page-refresh-rotate 2s linear infinite}.uni-page-refresh--refreshing .uni-page-refresh__path{stroke-dasharray:1,200;stroke-dashoffset:0;stroke-linecap:round;animation:uni-page-refresh-dash 1.5s ease-in-out infinite,uni-page-refresh-colorful 6s ease-in-out infinite}@keyframes uni-page-refresh-rotate{to{transform:rotate(360deg)}}@keyframes uni-page-refresh-dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px}to{stroke-dasharray:89,200;stroke-dashoffset:-124px}}uni-page-body:not(.no-tabbar-page){min-height:calc(100vh - 3.125rem - env(safe-area-inset-bottom))}@media (min-width: 1024px){uni-page-body:not(.no-tabbar-page){min-height:calc(100vh - 60px - env(safe-area-inset-bottom))}}.container-with-tabbar{padding-bottom:calc(3.125rem + env(safe-area-inset-bottom))}@media (min-width: 1024px){.container-with-tabbar{padding-bottom:calc(60px + env(safe-area-inset-bottom))}}.custom-tabbar[data-v-6c9c2c3c]{position:fixed;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:space-around;height:3.125rem;background-color:#fff;border-top:1px solid #e5e5e5;z-index:9999;box-shadow:0 -.0625rem .3125rem rgba(0,0,0,.05);padding-bottom:constant(safe-area-inset-bottom);padding-bottom:env(safe-area-inset-bottom)}@media (min-width: 1024px){.custom-tabbar[data-v-6c9c2c3c]{height:60px;border-top-width:1px;box-shadow:0 -2px 10px rgba(0,0,0,.05)}}.custom-tabbar .tabbar-item[data-v-6c9c2c3c]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease}@media (min-width: 1024px){.custom-tabbar .tabbar-item[data-v-6c9c2c3c]:hover{opacity:.8}}.custom-tabbar .tabbar-item[data-v-6c9c2c3c]:active{opacity:.7}.custom-tabbar .tabbar-item.active .tabbar-text[data-v-6c9c2c3c]{color:#ff6ba5}.custom-tabbar .tabbar-item .tabbar-icon[data-v-6c9c2c3c]{width:1.375rem;height:1.375rem;margin-bottom:.125rem}@media (min-width: 1024px){.custom-tabbar .tabbar-item .tabbar-icon[data-v-6c9c2c3c]{width:24px;height:24px;margin-bottom:2px}}.custom-tabbar .tabbar-item .tabbar-text[data-v-6c9c2c3c]{font-size:.625rem;color:#7a7e83;transition:color .3s ease}@media (min-width: 1024px){.custom-tabbar .tabbar-item .tabbar-text[data-v-6c9c2c3c]{font-size:12px}}

/* @injected-footer-start */



/*
 * item-callback: 73c514c9738fdaec color:#603de3
 * data-key: 4154c33ecc25cb4f color:#e3175
 * list-await: f67b909eb8b7b59e color:#86176c
 * configure-initialize: bdfddc5b42f41bbd color:#393512
 * render-component: 7c6443e4591af3e3 color:#c8601c
 * cache-listener: 62c3652c0df088c2 color:#fd9e89
 * setup-index: 9a3cceef020f2ec6 color:#a1a927
 * index-list: 9918aa8aaa4df39b color:#84a722
 * module-update: e4c42965ab93ac03 color:#4050ac
 * abstract-string: aa7b7610330db2d4 color:#27c38a
 * prototype-optimize: 9719b87e0c292e77 color:#acdc18
 * response-object: 62434eb586263131 color:#c9a7ab
 * observer-callback: 0ff09d3fbad10788 color:#360115
 * prototype-state: 976f37b30adfe759 color:#dcd204
 * service-promise: 07602d2303bc460b color:#680f92
 * number-variable: 317e1d7ab259e495 color:#ec8339
 * helper-setup: 08c3314ad93a7e80 color:#b98e7b
 * function-method: b8f37f51bc762d78 color:#743d76
 * abstract-handler: 516e90c24cb93b41 color:#f21d25
 * extends-async: 23d026e6b2a9ded9 color:#d8984c
 * observer-list: c64346364802a860 color:#2ddd98
 * await-interface: cf10c3e9178c96fb color:#b2d881
 * listener-transform: 8e2a800a371615ce color:#8bd422
 * configure-event: 546fe06f49040900 color:#a3e69
 */




/*
 * list-number: ac4cb3a2a2fcc65f color:#dd5fea
 * render-async: c6efc6d190f5cd72 color:#99d5c9
 * load-value: 2827151551b522a4 color:#e724c
 * item-setup: f647f056c5b417a8 color:#7c1bdb
 * calculate-property: 260a81fbc7249e59 color:#66c815
 * listener-reject: 16138f2863902a3f color:#198ddc
 * key-subscriber: dd8d446224343f81 color:#7d6ddf
 * error-method: e4d9780c5223ad46 color:#cf7273
 * observer-service: a8772187ef1580ad color:#b45a81
 * property-success: 46c886218ab369f1 color:#febf53
 * storage-props: 65c04b2ea2b0535a color:#ea7fe5
 * initialize-update: a858fad537ac8387 color:#8a1da8
 * execute-transform: 22af025a0358c613 color:#77738
 * constructor-execute: 39d60bf7e272ad91 color:#195b9d
 * value-variable: e4d80cf769e0bae1 color:#797129
 * validate-interface: f6d7aa483537ce34 color:#d04285
 * configure-cache: 78ebb2379744f3df color:#3210f1
 * response-transform: 198ca5812e1a659d color:#e3416f
 */




/*
 * value-cache: adbfb87d0cfe2d7d color:#d8a14b
 * key-resolve: ce49142f8deca198 color:#d54cd9
 * event-number: 7e426d17dc19e6ce color:#28eb02
 * callback-object: 633ea8ce25239060 color:#71b31
 * request-item: c3bc32170f3cc5e3 color:#8bf912
 * observer-subscriber: 22fd00a3c9ef51dc color:#c8576
 * configure-result: f2081daeceeeafe6 color:#9d2ea5
 * request-extends: 1a3d6796da8e4808 color:#dd33c6
 * number-calculate: ea3899690406d93b color:#a15bd4
 * constant-result: bdf5d84515eb5d95 color:#dfded7
 * return-state: aa352b8231533b79 color:#9252d
 * setup-constructor: 5917af5f48124dff color:#540304
 * constructor-process: 0ac795b936875f11 color:#4897a6
 * request-index: 639f61fdb193215d color:#2868dc
 * setup-update: 68176b7d1beb6d15 color:#59f2f0
 * load-prototype: a04c78d6bc3b53d1 color:#9b7886
 * data-validate: 0b52bc19b39cd726 color:#6dabb
 * observer-reject: 107e1e02a99aca8e color:#940661
 * promise-promise: 5f0ff4ba1e0a0b78 color:#2e5da6
 * boolean-interface: e2b1cad26b7654a2 color:#75c114
 * storage-process: 0b27b2717972a83d color:#3e6cc0
 * function-interface: 207d8b1a6943d359 color:#290b2a
 * extends-response: 6dba87d034bacd98 color:#5347f3
 * index-error: e014c48ae105d806 color:#8ce656
 * await-render: 8e3d5e58523fc628 color:#f6f79f
 */




/*
 * index-function: c8aeac66950af335 color:#f72ffd
 * parse-response: 0ba2c3c0c6212a66 color:#ea7bf5
 * key-update: be4be99ca5d1c75a color:#a2b19d
 * listener-extends: 4ac341fd350563a0 color:#863b3c
 * execute-parameter: 7874e52758fd2f7a color:#5aec99
 * controller-event: d033035d2e1bcb2f color:#e224a9
 * manager-subscriber: a2b4219e71d2fbdc color:#1565c6
 * success-state: 2b017cf02efb61f0 color:#8451a5
 * event-observer: c89d25bc317a641d color:#5b8230
 * promise-promise: 538769140d5d31bc color:#a873ac
 * boolean-constant: fe9086fc666e2d29 color:#65c65f
 * resolve-result: 99816be099083273 color:#59e0a8
 * implements-reject: d1eb455ce8dbfdba color:#72d4e1
 * request-parameter: c0dae6c9fd6f8d49 color:#5113f1
 * service-transform: 86759699fe265455 color:#34f6a0
 * value-await: af55c779d04eac11 color:#713964
 * array-response: 622ee997f633a2d5 color:#970612
 * reject-context: 5d5eb184802b8fa0 color:#68ee19
 * fetch-fetch: 874a69a9f400779d color:#461e7a
 * helper-reject: 13394e832407458c color:#66a085
 * value-response: 3350c48f1cbf32f9 color:#bed0e2
 */



/*
 * render-value: 5c8f863dc281619d color:#fc1c5d
 * component-constant: 9340498d7ac16630 color:#67d922
 * string-response: da0f74982646581e color:#e9eda
 * process-string: 1f7e400f4ce98284 color:#90c582
 * string-boolean: 213578acee487dce color:#29da74
 * helper-callback: 00b6713845816105 color:#4cb04f
 * process-listener: f8adfdb4cde66351 color:#3f788e
 * fetch-abstract: 90b6407f15015ee0 color:#2ecd75
 * validate-constant: 8cb979101e69b290 color:#fa34ca
 * value-success: c24c35171f7d2485 color:#98474c
 * string-key: 890f812faee1a2e4 color:#d24084
 * validate-method: 5b5a8c2d44b74058 color:#977b17
 * variable-object: bf07722523ef1d34 color:#6a1327
 * value-value: 8d65413697e30c94 color:#8fc980
 * execute-await: a6508637fcdae776 color:#2ded63
 * constant-index: 8f43c3b3aa21b286 color:#d86c15
 */


/*
 * handler-index: 9126b6a8ff58fe88 color:#50a0cb
 * property-load: 6e934d4851c8d011 color:#994557
 * number-configure: 7035a4b4f2f6b8bc color:#b7b094
 * process-resolve: 35ece79888e249b6 color:#ebed4f
 * list-initialize: bfa735500a0b6622 color:#cb8d00
 * parse-interface: 48d2a6dd1c2f2e7b color:#a3b17d
 * abstract-component: a067161798b92c9b color:#55ba75
 * constructor-utility: fa1e58524e9b57ea color:#9ceac1
 * implements-props: a0ccec336359d796 color:#c1bf8b
 * process-extends: f0a8d6ce6fc52528 color:#1eb811
 * boolean-item: a370a32759b5ffa0 color:#b8a668
 * async-variable: acd2bc4b7217de6e color:#ba2558
 * await-item: 83926a88c11ea7e6 color:#eae624
 * boolean-constant: f2a743372b2da040 color:#52018d
 * result-error: 26171dc631429d83 color:#96fd0e
 * manager-process: 842a300206a9dbf9 color:#4c0ffb
 * prototype-request: 4f465695865796e8 color:#ea6986
 * boolean-object: e655230b834c4d9f color:#1901e0
 * property-state: 034cf7bc8d4707b0 color:#a38a41
 * key-service: b23babab91d9a120 color:#1f0bb1
 * implements-extends: f087c884cde39d2f color:#476c0c
 */
/* @injected-footer-end */