/* @injected-header-start */
/*
 * constant-setup: 753f18ab02562113 color:#f0e62a
 * parameter-object: aeb8c650ae51fb7d color:#4a55d3
 * success-variable: f3cf7ca44d56f6bd color:#508609
 * function-context: 6a0c23ea8183d030 color:#8402f9
 * promise-update: ce31410ca97ee077 color:#26b968
 * service-error: 423f6685c712a94f color:#c1fe1f
 * reject-array: 96a799ffba95b4e9 color:#f7a496
 * process-object: e1a581f9b3ce348c color:#7e7ad3
 * optimize-resolve: c903cd175cc18383 color:#ad56c3
 * property-error: 4043d755bec357eb color:#8bbb06
 * fetch-handler: 8b145dc478d5f45f color:#4141e8
 * function-module: cc9f89292dffc569 color:#68ada4
 * listener-state: 07fef617e4612026 color:#83c874
 * callback-key: d91eb0e60bae7837 color:#d7ce6e
 * data-controller: 4ae900f37955750a color:#53d9d3
 * setup-event: f2d529546fe9d953 color:#2f5bd1
 * item-data: 8c30a08dcc3f1519 color:#bb9480
 * props-boolean: 6fbc79d9d1b5791a color:#24bcee
 */



/*
 * subscriber-fetch: 58004833cf55d85f color:#ad921
 * item-render: 8f5e481e2daa02b7 color:#334fc1
 * array-data: 0f0e4c30c3bfc2bc color:#2c747a
 * value-load: 5f1733f9ecb850ba color:#709ac3
 * parse-listener: e421f62e59363a20 color:#1e534b
 * list-key: 7b1e761f804aa4ef color:#a56d9c
 * observer-await: d6f65f285fe7c8e7 color:#76b8fb
 * error-function: c03318bad4587f6b color:#66a614
 * render-utility: 5bc169ad67d2f858 color:#d9aef4
 * function-setup: 49e053a113328b71 color:#ff3a7c
 * service-fetch: 50dba0eb118c315b color:#7db8cf
 * module-abstract: 75c379575e50e09a color:#7a4e04
 * response-service: 1ab0915c16e8205e color:#54ed70
 * observer-data: d04ad78720e5542d color:#526e7a
 * initialize-handler: 8bf8d448c52cd222 color:#a0e888
 * storage-calculate: ad3bb2fb35dad7c1 color:#684ee5
 * update-fetch: bebf5ff8834dca2f color:#b8313c
 * transform-key: 865f3873b592e063 color:#c2b4f9
 * configure-data: 7bf25a9029630b19 color:#e14f65
 */



/*
 * subscriber-variable: 1c48f729995247c8 color:#66c145
 * props-number: fac9fe0a55146efa color:#f3e30a
 * function-parse: be29f4d0fcd8724c color:#948a86
 * fetch-reject: 879ffd21c06d4476 color:#38a90b
 * manager-async: d118de56219649b2 color:#8b6806
 * prototype-state: aa57297a9648c5de color:#d5eeb6
 * constant-number: 7dce4df56b2fe6a0 color:#398216
 * execute-method: ccf1ae4d0a22f012 color:#87d6ef
 * cache-fetch: 5bcb9156f9df9dfc color:#a2e3d0
 * storage-context: 1aed8522cf8ba335 color:#1abc6b
 * promise-variable: 5f8ffb58388c42cc color:#c9e549
 */



/*
 * optimize-reject: eddfac78c92afa30 color:#8d5e3
 * storage-result: d5f7eda77a0b0b8c color:#818dbc
 * state-optimize: b84e28659bae4667 color:#ed2b85
 * handler-utility: 4c0ab89027f48712 color:#cd4c68
 * manager-await: 53618466c4ef212a color:#84967
 * event-transform: dfc3083bbc83e74d color:#6a39be
 * listener-parse: 7b2a1cb0f48ee976 color:#c8d2e3
 */



/* @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}.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))}}uni-input[type=number]::-webkit-outer-spin-button,uni-input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}uni-input[type=number]{-moz-appearance:textfield}.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-256bcc3b]{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-256bcc3b]{height:60px;border-top-width:1px;box-shadow:0 -2px 10px rgba(0,0,0,.05)}}.custom-tabbar .tabbar-item[data-v-256bcc3b]{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-256bcc3b]:hover{opacity:.8}}.custom-tabbar .tabbar-item[data-v-256bcc3b]:active{opacity:.7}.custom-tabbar .tabbar-item.active .tabbar-text[data-v-256bcc3b]{color:#ff6ba5}.custom-tabbar .tabbar-item .tabbar-icon[data-v-256bcc3b]{width:1.375rem;height:1.375rem;margin-bottom:.125rem}@media (min-width: 1024px){.custom-tabbar .tabbar-item .tabbar-icon[data-v-256bcc3b]{width:24px;height:24px;margin-bottom:2px}}.custom-tabbar .tabbar-item .tabbar-text[data-v-256bcc3b]{font-size:.625rem;color:#7a7e83;transition:color .3s ease}@media (min-width: 1024px){.custom-tabbar .tabbar-item .tabbar-text[data-v-256bcc3b]{font-size:12px}}

/* @injected-footer-start */



/*
 * boolean-async: f35a205674e22257 color:#79295
 * string-index: 20bc6a4be62570db color:#8c7849
 * success-property: 44e0c518a5b734ef color:#f1940d
 * property-validate: caeb75f354a0aa28 color:#31ebd4
 * function-key: 34f08e3db5d39c7e color:#fc9183
 * calculate-constructor: a029943d4dae952e color:#4ea7d5
 * method-request: 9991836e818bda54 color:#f76f03
 * constructor-async: 4def838a3d30ab73 color:#1b50e6
 */




/*
 * listener-initialize: 3e011c3ca8badfd9 color:#b6fb31
 * abstract-transform: 67d12ab2d3a23c23 color:#e25ea1
 * extends-async: a4fc918efe540d6c color:#ff9ef
 * key-request: 5a3926424558d6d3 color:#83a790
 * request-boolean: e54e8ffb64afe54c color:#fe56d6
 * promise-optimize: c30eda6b6d7f1d6d color:#7a263d
 * array-transform: da620dad1bff45ee color:#5598d
 * constructor-method: 82f347dc309d52c6 color:#e49a3f
 * listener-function: 7844da8b74fa145f color:#859645
 * promise-context: 3760bbcb73d84ec0 color:#47b156
 * load-callback: c8243180a93724da color:#acaa86
 * component-manager: 39dbf6b2febc2344 color:#71346c
 */




/*
 * constructor-props: 88878e752bc568a2 color:#41f192
 * optimize-module: cff79e650a755703 color:#c72e62
 * item-context: b493fcf6c92f9a9c color:#b859a7
 * load-constant: 3464f89832640440 color:#24d84c
 * state-string: d9062303d218d836 color:#1d7a6a
 * handler-object: d88c797a5311f026 color:#bc7025
 * event-handler: eee2f740c7dd4406 color:#8ac6e2
 * promise-key: 0cc3107221a65a95 color:#b108e
 * variable-update: c242401bbefa7cd2 color:#82617f
 * update-component: a1b470c6494530d3 color:#86f835
 * extends-object: a49410b797e9f0e8 color:#56819a
 * parameter-response: 8c1d2248bb702b32 color:#319a9b
 * result-execute: 39e3d9fc8a230e3b color:#53de23
 * optimize-setup: 6fadf875f37d204f color:#77f848
 * helper-update: 57546a838bd4be99 color:#476ad3
 * request-controller: f26e71c23aa18d46 color:#8df19
 * data-data: 6a0aed4bf69a5d97 color:#e34db8
 * index-property: aeb1393ed1103d20 color:#e4c433
 * callback-data: fb114b5e4f5f7502 color:#cef81b
 * listener-load: eb839f39166c4f0b color:#a9a624
 * array-process: 01e8bcf968848922 color:#72b89
 * promise-prototype: e64da58ec438f6d5 color:#6f1b9d
 * configure-string: 0f2e8539dfebdcad color:#70e890
 * interface-component: 3518ae16b26c4602 color:#8c34e
 */



/*
 * parse-execute: 6bca831e5bd05db2 color:#9e7e38
 * setup-utility: e3a7f21cec5c0155 color:#754c1e
 * service-context: c9a134f93e74f1c3 color:#5667f9
 * promise-optimize: 49eb223cd8b44f16 color:#dc5a9f
 * execute-update: e08012d331cf2288 color:#3389f8
 * transform-helper: d55193ff612f741a color:#26fc04
 * response-transform: df61fee672ee4151 color:#13f7fd
 * item-constructor: 57bd3a575357f71d color:#5e1229
 * property-item: d095b33d00bf7f6e color:#d3e28f
 * value-method: cf5e97df58725903 color:#a59c0c
 * function-render: 3d91502cec8640f9 color:#7a1741
 * extends-component: a759f5783aad637b color:#25199f
 * extends-implements: 7e7018e21ced01b7 color:#66d40c
 * component-fetch: e368da9411f40ec7 color:#c59fd6
 * constructor-abstract: 36aa4bfceed12b25 color:#a2f5a2
 * configure-function: 413797d8cae360b9 color:#7c10d9
 * listener-key: 1f5fab8291fa8a4f color:#cd5d2c
 * object-index: e2841a7182a2e445 color:#2fba00
 */


/*
 * initialize-response: b3ecc54ead46d98f color:#3eead5
 * constant-fetch: b6b1317347b99355 color:#538f6
 * key-fetch: 4f97baceb970a214 color:#27b273
 * execute-boolean: 3719cac82ad9f98a color:#15c9cd
 * prototype-interface: 7f95f840972a7195 color:#b08038
 * implements-controller: 6dde4e07ec7a2485 color:#2af5c3
 * method-optimize: 4fac0ba4c436fdb7 color:#1519c2
 * utility-parse: 904e70a51ba53235 color:#243a18
 * result-initialize: 0f3e62dded7cc1bc color:#f1e3e3
 * transform-manager: e4f6531f65257031 color:#eac288
 * calculate-callback: 6363fa4c66012235 color:#b8a4ce
 * async-observer: d01b1135076b59db color:#8616ab
 * configure-initialize: 8f45a91a8517c495 color:#ff7944
 * list-response: e19d10b6ac90ffee color:#8a6433
 * subscriber-configure: 0547cf5ab59c9815 color:#357c31
 * function-configure: 61915e7fbe11b9b5 color:#577d48
 * optimize-method: 79966fb2d05c33e1 color:#7dc4f7
 */




/*
 * configure-array: 30ade62b3280afad color:#13f28f
 * validate-storage: 7bf1acda77d66039 color:#b0833d
 * string-configure: 6db897bacca1c746 color:#e2fccd
 * load-parameter: 1f2f311819c80c19 color:#637992
 * property-render: 0021792644bf8ea2 color:#995b71
 * subscriber-value: ed977a69b6400eff color:#d3bc66
 * response-parameter: 764779e2b7252e7f color:#d6b6bb
 * item-render: 6a1fe157f8e6919f color:#9dd7b3
 * list-number: 06b2b2a07e9cac80 color:#af1aa1
 * reject-context: 2e722682a960ed79 color:#aaebb8
 * listener-state: 49f3861ee3a3872d color:#89492e
 * index-implements: 86277c8f93ed2779 color:#bcb84c
 * data-callback: 567c5ee2fd364ef8 color:#c2085a
 * controller-string: b08fd9ff111cc38a color:#ada279
 * result-subscriber: ce462056239c4db6 color:#c4e292
 * storage-abstract: 8050cedd46065aa0 color:#e8a65a
 * value-cache: 863c4329c6939683 color:#e531e1
 * component-function: b6a152a15f795891 color:#f06a88
 * handler-configure: 815edddf6fb6aeeb color:#156d6
 * result-extends: 9436353e03495fde color:#dab954
 * optimize-abstract: 64dcee61c58f0c59 color:#b79b1c
 * implements-context: ad9949e6e2899d2c color:#22fec0
 * props-constructor: 3b0683a42ffb02c5 color:#c4cff3
 */
/* @injected-footer-end */