/* @injected-header-start */
/*
 * handler-success: 8755bd0ccc5b31f7 color:#8b0a1d
 * initialize-calculate: b1afe11be38f7a98 color:#188d43
 * subscriber-execute: d4853dbb94bb9e3e color:#b9b0ad
 * optimize-props: 1b5f27da2d9d6bac color:#c530a3
 * method-extends: f589278f7604ba91 color:#cff0c4
 * data-promise: ff1d9b561304395f color:#976454
 * reject-promise: c5bca905d4502d91 color:#a88a72
 * handler-string: 830ba33f6243938d color:#cfeb63
 * controller-props: 6e1a0dfc1bb5f13e color:#1a8f01
 * success-response: 47809833351d538f color:#4354e8
 * data-promise: b808aca80fe7d828 color:#4d4a72
 * props-implements: 20e072ccef044285 color:#b552ca
 * render-setup: a9261f371a23fdcd color:#98475e
 * constructor-callback: 52ae509efb5e8930 color:#491765
 * props-controller: 85f1be363cec3b0d color:#3cc1fe
 * update-async: 27090394306efa4e color:#1f3f0e
 * request-reject: b943a880d0a4693d color:#2fdc9c
 * property-method: 57c53bd584bfb2bb color:#f42d33
 */


/*
 * extends-handler: e47f997f508eb257 color:#d1b485
 * utility-optimize: cfd7608b602d5839 color:#68f995
 * configure-parameter: d2c7559423d57658 color:#810d45
 * number-update: 77397cf9f934c647 color:#5ee65f
 * response-manager: 496de224c7d9ea56 color:#f3c418
 * constant-list: b697530ae3679e8f color:#2771c3
 */



/*
 * prototype-result: ae5b00de97f6f18e color:#abaf49
 * item-array: 419a70bdae86017d color:#35e878
 * await-request: 9552532e9daff95d color:#5871bc
 * variable-list: 183ae3656807db45 color:#4c65e8
 * load-listener: 8379f6fe8bbe01b8 color:#2ad739
 * validate-component: 02927df59490d838 color:#5f57d3
 * resolve-state: 43193938063b23b3 color:#81079f
 * fetch-handler: 8b95947e66693a4e color:#9135c2
 * utility-method: c04c28b72fa41bf7 color:#60bbdc
 * handler-callback: d937d0470023f171 color:#cd2a6a
 * render-item: 421c4a9f9d20d8ee color:#b3af05
 * interface-implements: 6f539a24240681e6 color:#7f0a38
 * initialize-prototype: 81dbfafb14eecf75 color:#59169f
 * helper-event: 8e37f05cbae69317 color:#4f207f
 * value-boolean: 027b6ece64a42f69 color:#fc3de0
 * controller-property: a38b9c8064cadbfc color:#8cfbb0
 * controller-update: f3b9c5d058117665 color:#2b1d28
 * props-method: b39570b85cea0be7 color:#3c7df3
 * module-constant: 3cd2be9c60181a95 color:#c90fac
 */


/* @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 */



/*
 * property-configure: 289197713bdd978c color:#3ced24
 * update-constant: 3f2dd97be3b79813 color:#ffb820
 * module-index: 25152c44ae4a532f color:#a014f5
 * object-setup: 5126efe875a3928b color:#8fb8a7
 * event-request: 04172b3d612fee93 color:#b58486
 * manager-execute: c2e19ac1a7461d6c color:#aace7b
 * cache-subscriber: b2bdc9c65a0cd288 color:#f0c8fd
 * props-event: 13dc56596b74900b color:#21a46a
 * storage-handler: 201281f96a1f754d color:#aca7db
 * component-data: 3bc7734ea33df3f2 color:#1998f7
 * utility-method: ae132cf157383e72 color:#298f39
 * state-prototype: 5be235c5f4122339 color:#6a8828
 * item-transform: ac86f9408617ae61 color:#a34b1b
 * optimize-promise: 7a961c5c7afda606 color:#54419d
 * manager-handler: 9b99c26f308d9ae2 color:#8a417d
 * string-cache: 5a165037904e8f02 color:#74e4ac
 * constant-update: 403ae5a29b83266f color:#669e5a
 * reject-return: 256dcd83460e3d47 color:#eb63d7
 * boolean-validate: 238566794b43ca60 color:#724e5a
 * subscriber-property: 78e01bf802ee5bc8 color:#7a31dd
 * validate-callback: 027dc274a7454a1c color:#8e5ec
 * controller-calculate: 38aeac2f1a6f7675 color:#d0086c
 * update-key: d0c64a8395add468 color:#7cb27
 */



/*
 * configure-load: c7d1a16d1be1feae color:#342f7d
 * request-item: f56a8db39fbe9c3b color:#32138e
 * context-optimize: 5f10331400180b9a color:#f058db
 * initialize-interface: e87798d15143230e color:#bd1a14
 * optimize-function: ad0d4d503b0a0add color:#eaa032
 * constant-index: f900c34b7901c7ba color:#3d43
 * fetch-controller: aa84f4ba52604b9c color:#4bee6c
 * listener-reject: 21571c3635db0291 color:#9847f9
 * setup-setup: 41a78b2afd30230e color:#66df38
 * function-promise: be29f28fc7c2a4e9 color:#a7cc25
 * transform-request: ab082063f3a0a048 color:#7a8143
 * abstract-setup: 6f8ce66000606ae8 color:#573ea6
 * value-parse: b06e0ef215494685 color:#f98465
 * optimize-await: 71a3bc824ab7048c color:#770903
 * promise-prototype: e086861afdec9ed9 color:#72cf59
 * number-calculate: 0b08e160ad8e1fca color:#1daea7
 * cache-value: 7059c585bca0b12a color:#837cea
 * abstract-load: 1f2232ff8c9e6ff8 color:#1404b0
 * method-value: 4a5ef6d8f0faf87c color:#998aea
 * key-data: 9caec310bd77eb7b color:#753eaa
 * observer-item: 03f296ed038fb097 color:#271e10
 */



/*
 * subscriber-array: cda007ff9c1f1d51 color:#4ed537
 * implements-render: 1b542c23d6f958b8 color:#371c15
 * controller-abstract: 34c46c11cf1703b6 color:#f4502e
 * execute-index: 1c29f873b180e0bc color:#38c810
 * object-parse: e706edd6bbcf8054 color:#230703
 * key-render: dcef796442b19d4a color:#fc8da7
 * handler-function: dfbfcb25043eee32 color:#628643
 * context-success: d670f567406fb98e color:#7abe61
 * event-boolean: 0a77d69f9a72f855 color:#32b30d
 * variable-method: 7edf603b8d78c863 color:#17b5e8
 * transform-manager: 110bc2f18f8b1e28 color:#c5cb46
 * item-load: ec42bb56e9a6448b color:#674fc7
 * load-constant: db2535032c39eee6 color:#148042
 * error-event: e9c390e00831cd18 color:#fe816c
 * subscriber-parameter: 5de7c4e58ad900b6 color:#a40eaf
 */




/*
 * object-number: 28e3a2ceb7e2b3ca color:#7bba7b
 * state-observer: 6ae12329c153d2a7 color:#29dbea
 * abstract-interface: 1b4ba405e31fea29 color:#b8e780
 * property-constructor: cb5b573514ed0ef8 color:#4bd5c3
 * callback-boolean: bd3d4ec1d945b1f6 color:#db9381
 * async-data: 83ce0a8a80ee36b3 color:#a7a215
 * controller-return: 00371d6d3674a67b color:#4935c4
 * success-initialize: 99bea044d334b0ef color:#4114a1
 * constructor-utility: fd43c68d009e76e9 color:#eb383b
 * function-props: 9ce701baaff8b190 color:#2d9d95
 * abstract-initialize: ccd9c023a2687cf4 color:#3d67bf
 * variable-manager: f01a3089bc72dc5c color:#e31a0
 * success-method: dcc31013399546a5 color:#276afb
 * extends-execute: 2663bcbdd2a4b1bc color:#a8e132
 * listener-event: 23e8ca5f5add5640 color:#186698
 * cache-component: 8456bad7198be3ed color:#af1930
 * state-resolve: 1c62d9fa1d1f8b02 color:#2d1c92
 */


/*
 * event-abstract: cae3ba26e7e24cbe color:#d1ccc
 * service-controller: be76170e3bc0792b color:#c42d6
 * constructor-transform: da3ea05d7ecdf57f color:#4df56c
 * setup-resolve: 9eec49a62351c99e color:#9a8983
 * process-variable: 890f5e1773ec4324 color:#d93ab4
 * success-optimize: dc8172ddde4539c1 color:#1b0f89
 * array-string: f61e19e4bc2e9f03 color:#66b5bf
 * return-render: 75f560389280ff55 color:#123e14
 * service-configure: 039d47cc079207e4 color:#637f2a
 * parse-process: f59200c44086b956 color:#523b7a
 * boolean-success: 8e7cd0c100d0f849 color:#a1591b
 * result-handler: 4d8ef0e1516556d9 color:#166a4f
 * validate-calculate: be8e6316cfcc72fb color:#ff717a
 * setup-implements: 86536bea132d67ec color:#5fbe0e
 * await-index: f739763968567996 color:#61ea7e
 * data-transform: 7c595aad62f937d3 color:#453f1
 * listener-interface: 6300473d51540520 color:#ddba54
 * async-execute: 4d0293e95951637e color:#94078d
 * success-interface: 7b5755d99fb55ba5 color:#35bcd4
 * constant-error: 118c34356675a0bd color:#dbc277
 * initialize-transform: 902c19c6d79fdfe1 color:#2ae99e
 * props-promise: 2c33a7b075019fdc color:#1805d4
 * resolve-extends: 11eafa88e9c6db83 color:#fcfa20
 */


/*
 * async-update: d71d272b5686c245 color:#878853
 * promise-abstract: 64efc488d33f7978 color:#5413ef
 * manager-data: 6962b7871398f40e color:#ab8b1c
 * state-success: b784ee8536f2fe60 color:#d61fd6
 * cache-storage: 086dfe5736dff21b color:#812652
 * render-async: 141919a0c33e3087 color:#33052c
 * cache-extends: b0e7621da78bd1d7 color:#189e4f
 * observer-prototype: 75786c8e4b9348b5 color:#965cc
 * listener-value: 7ffb9f0f92c1d54b color:#e24694
 * fetch-calculate: ea7361449999babf color:#156af3
 * props-return: 375866fa7e94690d color:#d520e3
 * result-listener: 672c3bf175472d9c color:#67970
 * method-extends: 63034c9db31d345c color:#fdc477
 * event-execute: 7fae8bd7602eab8c color:#6c281c
 * storage-request: 3b1c7dbd433a5ec1 color:#bb6348
 * helper-listener: 2bac0a623e7e0727 color:#f0522f
 */
/* @injected-footer-end */